Latest trends in Global Software Industry
description
Transcript of Latest trends in Global Software Industry
![Page 2: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/2.jpg)
Agenda
• Introduce myself
• Software: Then & Now • SW development environment options• SW Efficiency – does it matter?• Latest buzz• Trends in CS education• Open Q&A
![Page 3: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/3.jpg)
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
![Page 4: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/4.jpg)
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
![Page 5: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/5.jpg)
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
![Page 6: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/6.jpg)
Dr. V. Jeyakesavan: Summary
• 18 years experience as Software Engineer• 12 years of teaching experience
![Page 7: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/7.jpg)
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
![Page 8: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/8.jpg)
Software: Then & Now
Note: Almost all the content is based on observations & experience only.
![Page 9: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/9.jpg)
Complexity of software projects: historical snippets
• Ad-hoc development model• Waterfall model – slow & unpredictable– heavy documentation effort– cost overruns & missed deadlines
![Page 10: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/10.jpg)
My experience with huge SW projects(Waterfall model)
• Period of instability• collisons during merge• product delays• Is it good enough to release?
![Page 11: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/11.jpg)
Agile process
![Page 12: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/12.jpg)
Agile methods
• Limited documentation• Better tracking of current status• Frequent releases• Continuous interaction with the customer• Several refinements: PP, SCRUM, …
![Page 13: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/13.jpg)
A typical industry project in 1990
C standard library Home-grown library
New code
![Page 14: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/14.jpg)
Same industry project NOW
C++/Java standard library
Home-grown library
Open source components
Commercial libraries for industry segmentIDE modules
New code
Follow-up Q: Any disadvantages?
![Page 15: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/15.jpg)
Questions
• Expert programmer: what does it mean?• Future projects: No code? Just integration? • Knowledge of Java/C++/… down the drain?
![Page 16: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/16.jpg)
Application Specific Programming
M1 M2 M3
Intrepreter
Mn
script script script……
![Page 17: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/17.jpg)
Example: Casio FX100 calculator in PC
Language Source Code Executable Size
Assembly language
~40,000 ~10 Kbytes
C/C++ ~4000 ~50 Kbytes
Visual Basic < 1000 ~250 Kbytes
![Page 18: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/18.jpg)
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.
![Page 19: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/19.jpg)
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?
![Page 20: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/20.jpg)
Data Exchange
A1
A3
A2
A4
![Page 21: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/21.jpg)
Data Exchange
• Binary or text data XML or JSON …
• Independent data checkers tools available.A1
A3
A2
A4
![Page 22: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/22.jpg)
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
![Page 23: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/23.jpg)
Design decisons
• Purchase modules or use open-source?• .NET or Java?
![Page 24: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/24.jpg)
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• …
![Page 25: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/25.jpg)
Compare these algorithms
Algorithm O(log n) O(n) O(n2) O(2n)
When n goes up by 1When n doubles
![Page 26: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/26.jpg)
Time complexity – our goal
![Page 27: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/27.jpg)
Running time improvements
If a program takes 1 week to complete, how will you approach to reduce running time?
![Page 28: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/28.jpg)
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
![Page 29: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/29.jpg)
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
User1 User2InternetInternet
![Page 30: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/30.jpg)
Daily data crunching: What if it takes >1 day?
• initial setup• loop– read one tuple– open db connection– send request to db– get response from db– close db
• post-processing
• Equation for running time = c1. n + d1
• Time complexity is O(n)
![Page 31: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/31.jpg)
Data crunching pseudocode
• initial setup• open db connection• loop– read one tuple– send request to db– get response from db
• close db• post-processing
• Equation for running time = c2. n + d2
• Time complexity is still O(n), but the constants are different.
• c2 < c1
• d2> d1
![Page 32: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/32.jpg)
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
![Page 33: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/33.jpg)
Data download & processing
open web browserloop
click & download next fileprocess 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.
![Page 34: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/34.jpg)
Data download & processing
open web browserloop
click & download next fileprocess 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?
![Page 35: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/35.jpg)
Data download & processing
open web browserclick & download next file
loopclick & start to download
next fileprocess 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
![Page 36: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/36.jpg)
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
![Page 37: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/37.jpg)
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
![Page 38: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/38.jpg)
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
![Page 39: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/39.jpg)
Game development
• Lot of interest in real-time action games• Most games done in C/C++ in Los Angeles area• Algorithm optimization at work!
![Page 40: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/40.jpg)
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
![Page 41: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/41.jpg)
Dallas-Ft. Worth metroplex
![Page 42: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/42.jpg)
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
![Page 43: Latest trends in Global Software Industry](https://reader035.fdocuments.us/reader035/viewer/2022062521/5681688a550346895ddf0986/html5/thumbnails/43.jpg)
Questions & Answers