1 / 44

Latest trends in Global Software Industry

Latest trends in Global Software Industry. Dr. Jeyakesavan Veerasamy jeyak7@gmail.com jeyv@utdallas.edu. Agenda. Introduce myself Software: Then & Now SW development environment options SW Efficiency – does it matter? Latest buzz Trends in CS education Open Q&A.

shiro
Télécharger la présentation

Latest trends in Global Software Industry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy jeyak7@gmail.com jeyv@utdallas.edu

  2. Agenda • Introduce myself • Software: Then & Now • SW development environment options • SW Efficiency – does it matter? • Latest buzz • Trends in CS education • Open Q&A

  3. Dr. V. Jeyakesavan: Academia, Industry & Personal • Dad was a school teacher • B.E. (ECE) in CEG Guindy, Anna University – 1986-90 • UNIX System Software Engineer, HCL Limited, Chennai, 1990-91 • MS Computer Science, University of Texas at Dallas (UTD), 1991-94

  4. Dr. V. Jeyakesavan: Academia, Industry & Personal … • Telecom Software Engineer, Northern Telecom, Dallas, 1994-97 • Ph.D. Computer Science (part-time), University of Texas at Dallas (UTD), 1994-99 • Technical Lead, Samsung Telecom, 1997-2010 • Got married in 1998 • Adjunct Faculty, UTD CS department, 1999-2002 • Online Adjunct Faculty in several online universities from 2000

  5. Dr. V. Jeyakesavan: Academia, Industry & Personal … • Adjunct Faculty, Southern Methodist University, 2010 • Sr. Lecturer (full-time), UTD Computer Science, 2010-present • 2 daughters: Nila (8) and Chinmayee (4) • Passionate about teaching – happy to share ideas to improve teaching quality in colleges

  6. Dr. V. Jeyakesavan: Summary • 18 years experience as Software Engineer • 12 years of teaching experience

  7. Fun way to learn programming & OOP • Alice, a visual programming language • Download from www.alice.org • Whole world can be characterized by OOP • How many meaningful objects in this room? • What is a class? • Alice program demo • Great stepping stone to serious programming • Share it with your friends & family

  8. Software: Then & Now Note: Almost all the content is based on observations & experience only.

  9. Complexity of software projects: historical snippets • Ad-hoc development model • Waterfall model • slow & unpredictable • heavy documentation effort • cost overruns & missed deadlines

  10. My experience with huge SW projects(Waterfall model) • Period of instability • collisons during merge • product delays • Is it good enough to release?

  11. Agile process

  12. Agile methods • Limited documentation • Better tracking of current status • Frequent releases • Continuous interaction with the customer • Several refinements: PP, SCRUM, …

  13. A typical industry project in 1990 New code C standard library Home-grown library

  14. Same industry project NOW New code Home-grown library Commercial libraries for industry segment IDE modules Open source components C++/Java standard library Follow-up Q: Any disadvantages?

  15. Questions • Expert programmer: what does it mean? • Future projects: No code? Just integration? • Knowledge of Java/C++/… down the drain?

  16. Application Specific Programming script script script … Intrepreter M1 M2 M3 Mn …

  17. Example: Casio FX100 calculator in PC

  18. Cloud Computing • SW bundles inefficient for small companies • Too much IT equipment & staff overhead • Cloud resource provider provides the SW over the web and stores data too – SaaS model • Each client needs only web browser and internet access.

  19. Analogy: making food • Make Sambar from scratch • Make Sambar using powder • Make Maggie Noodles • Microwave frozen sambar / Tetrapack • Inefficient for singles – make food in one place & get it delivered?

  20. Data Exchange A2 A1 A4 A3

  21. Data Exchange • Binary or text data  XML or JSON … • Independent data checkers tools available. A2 A1 A4 A3

  22. Software Outsourcing • Goal: reduce cost • Projects need to fit certain criteria • Bit formal & clear requirements • Interfaces well defined/understood • should be of reasonable size • Not a good idea for small/poorly defined/time-critical/security-sensitive projects • Opinion: may stay at current level or go down • Industry not conducive for more outsourcing • With increased cost, Indian SW companies under pressure

  23. Design decisons • Purchase modules or use open-source? • .NET or Java?

  24. Running time of a program? • size of input (n) • CPU speed • memory size & speed • actual processing, time complexity of algorithm • compiler optimization, dev execution environment • …

  25. Compare these algorithms

  26. Time complexity – our goal

  27. Running time improvements If a program takes 1 week to complete, how will you approach to reduce running time?

  28. Software efficiency: Do we really care? • Goal is to make software work & meet deadline for most industry projects. Let us consider a few examples: • Game console: Algorithm takes longer to run  requires higher-end CPU to keep realism  higher price  product fails amid competition

  29. Software Efficiency: Web server • Consider 2 algorithms A1 and A2 that take 5 seconds & 20 seconds per transaction. • web-user experience? • web server capacity? A1 A2 Internet Internet User1 User2

  30. Daily data crunching: What if it takes >1 day? • Equation for running time = c1. n + d1 • Time complexity is O(n) • initial setup • loop • read one tuple • open db connection • send request to db • get response from db • close db • post-processing

  31. Data crunching pseudocode • Equation for running time = c2. n + d2 • Time complexity is still O(n), but the constants are different. • c2 < c1 • d2> d1 • initial setup • open db connection • loop • read one tuple • send request to db • get response from db • close db • post-processing

  32. Wireless node capacity • BHCA capacity: 10 lakhs calls per hour • Each call requires (1 hour * 70%/(10 lakhs)) • = 2.5 milliseconds. • If that 2.5 msec becomes 3.0 msec due to additional processing, new capacity will be • 10 * 2.5 = x * 3.0  x = 8.3 lakhs BHCA • 17% capacity reduction

  33. Data download & processing open web browser loop click & download next file process file done! • Let us say both steps take 5 minutes each & we have 10 files to process. • What is the total processing time? • How can we optimize? • Hint: download uses I/O and processing uses CPU.

  34. Data download & processing open web browser loop click & download next file process file until all files are processed • Let us say both steps take 5 minutes each & we have 10 files to process. • What is the total processing time? • > 10 * 10 = 100 minutes • How can we optimize? • Hint: download uses I/O and processing uses CPU. • Real-world example? • Making chappathis?

  35. Data download & processing open web browser click & download next file loop click & start to download next file process previous file until all files are processed • Download & processing in parallel. • What is the total processing time now? • > 5 * 10 = 50 minutes • More complex algorithm 

  36. A few more points … • Standalone applications  Enterprise bundles • Local SW installation  intranet based • Build in-house  Buy & customize • Heavy text based coding  visual programming (GUI builders & debuggers …) • Desktops  Laptops + Smartphones

  37. SW projects: Multi-dimensional problem Companies want to complete Software Projects with • Smaller team • Limited resources • Higher quality • Reduced cost • On-time delivery This is what each project manager tries to do 

  38. Smart-phone development • My kids know/play games in Android phone • For me, email, calendar and contacts are in sync with company data • Question: can we do more with them? • Industry trend is to port several meaningful business applications to smartphones. • Example for cross-platform development

  39. Game development • Lot of interest in real-time action games • Most games done in C/C++ in Los Angeles area • Algorithm optimization at work!

  40. Latest trends in CS education in USA • Difficulty in attracting US students to CS • Introduction to Programming : going visual • Alice, Scratch, GUI games, … • Java dominates in CS1 & CS2 courses • Industry projects in the final year • Online courses becoming popular, augmenting education landscape • Lots of online multimedia lectures in the web • Game design programs & Smart-phone applications • Augmenting open-source applications

  41. Dallas-Ft. Worth metroplex

  42. Advertisement:University of Texas at Dallas • Erik Jonsson School of Engineering and Computer Science • Computer Science: ~500 MS students and ~150 PhD students • Surrounded by 100s of companies in Dallas-Fort Worth metroplex • Students can get internships right after 2 semesters and continue studies in parallel • Flyers available – see me after the lecture

  43. Questions & Answers

  44. Thanks for attending! Dr. Jeyakesavan Veerasamy jeyak7@gmail.com jeyv@utdallas.edu

More Related