Your SlideShare is downloading. ×
0
SE-381
Software Engineering
BEIT-V
Lecture no. 2
What it includes!
• Definitions of Software
• What is Software Engineering?
• Students‟ and Industrial Strength Sw
• Probl...
Definitions - Computer Software
Software is
“Computer programs, procedures, rules and any
associated documentation pertain...
Software Engineering
• Term was
– coined in two of the NATO‟s conferences held in late
1960s, it referred to the approach ...
1960 1970 1980 1990 2000
Major Shifts & Eras of SD
Programming
Any-which-way
Programming
In-the-Small
Programming
In-the-L...
Major Shifts & Eras of SD
1960  5 years
Programming
Any-which-way
• Small Programs
• Intuition or BFAs
• No Management
re...
Major Shifts & Eras of SD
1990  5 years
Beyond Programming
In-the-Large
• Software is ONE
component of
heterogeneous syst...
2010  5 years
Programming
Through Mass Collaboration
• Fusion of Disciplines IT, Telecom,
Internet and Technologies
• Ini...
Categorization of Sw
• Author Dependent
• Complexity wise
– System Software – That acts as tools to help
construct or supp...
• Marketing wise
– Shrink Wrapped, Commercially Off-the-Shelf
(COTS) Software
• Made for Gen Public, Users Unknown but man...
• Application wise
– Games
– Information Systems – That store and access large
amounts of data, Eg Airline seat Reservatio...
Students‟ Projects versus Industrial
Strength Software
• Students‟ Projects • Industrial Strength Sw
Students‟ Projects versus Industrial
Strength Software
• Students’ Projects
– Novice developers
– Classroom or Small proje...
Students‟ Versus Ind Strength Sw
– Two very different entities
– Key differences are Quality (with different
attributes li...
– Due to increased size the productivity of
developer for Industrial Strength Sw drops to
1/5th of the Student Sw
– Brooks...
Software – Problems and
Prospects
Software is Open ended, complex and key
mechanism in providing the requisite
functionali...
• Meeting Users‟ Needs
• Low Cost of Production
• High Performance
• Portability – it works at various envisaged
platforms...
Effectiveness of Typical Large Sw
Projects – [Bel05]
Satisfaction of Users‟
Requirements [Sac07]
• Hayes 2004 states that the outcome of
over 9000 development projects
complet...
– 78% of IT organizations have been involved in disputes
that ended in litigation
– In 67% of those cases, the functionali...
Reading Assignment
1. Ch-1 Problems and Prospects, pp 3-22
From Douglas Bell (2005); Software Engineering for
Students; Pe...
Answers to Mini Test
From Google Earth
North Tweaked
Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08
Upcoming SlideShare
Loading in...5
×

Beit 381 se lec 2 - 27 - 12 feb08

78

Published on

Software Engineering, Lectures

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
78
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Beit 381 se lec 2 - 27 - 12 feb08"

  1. 1. SE-381 Software Engineering BEIT-V Lecture no. 2
  2. 2. What it includes! • Definitions of Software • What is Software Engineering? • Students‟ and Industrial Strength Sw • Problem and Solution Domains • Problem Domain – Sw is Expensive, Late and Unreliable, Difficult to Maintain and Change • Solution Domain – Software Engineering – SE Challenges – Scale, Quality & Productivity, Consistency and Repeatability, Accommodation of Change • Software Engineering Approach – Phased Development Process, Managing the Process to get quality software, Metrics and Measurement
  3. 3. Definitions - Computer Software Software is “Computer programs, procedures, rules and any associated documentation pertaining to the operation of a computer system”. ISO-1984 “Collection of computer programs, procedures, rules and associated documentation and data” IEEE Software Engineering Standards Tech Report 1987 & Jalote 2005
  4. 4. Software Engineering • Term was – coined in two of the NATO‟s conferences held in late 1960s, it referred to the approach to resolve „the Software Crisis‟ • Is defined as – The systematic approach to the development, operation, maintenance, and retirement of software – IEEE Software Engineering Standards Tech Report 1987 & Jalote 2005 • In this course – Our focus will be on Software Development
  5. 5. 1960 1970 1980 1990 2000 Major Shifts & Eras of SD Programming Any-which-way Programming In-the-Small Programming In-the-Large Beyond Programming In-the-large Programming Through Assembly Functional Era Schedule Era Cost Era Quality Era Reuse Era M.Shaw 1990 Shaw 1989 Basili & Musa 1991 1950 2010 Progmng Through Mass Collaboratn
  6. 6. Major Shifts & Eras of SD 1960  5 years Programming Any-which-way • Small Programs • Intuition or BFAs • No Management required • Assembler and Core dumps • Adhocism 1970  5 years Programming In-the-small • Algorithms & Data structures separated • Programs execute & terminate • Individual management effort • Modularity/portability realized • SE term coined • Waterfall SDLC • PLs, Compilers, Linkers & Loaders • Structured Techniques 1980  5 years Programming In-the-Large • Interfaces • Management system structures • Long life Dbs • Program execute cont…. • Complex Specs • Team effort • Life time maintenance • Standards realized • SE used • IPSEs tools for documentatin • Structured Analysis & Design
  7. 7. Major Shifts & Eras of SD 1990  5 years Beyond Programming In-the-Large • Software is ONE component of heterogeneous system • Software controls • Very complex specs • Multi-team effort • Standards formulated • Globalization • IPSEs, Object libraries • OO techniques & standards, RAD 2000  5 years Programming Through Assembly • Integration with application domains • Multi media revolution • Every effective system/technology software controlled • Digitization • Safety critical systems • Standards-MIMOSA, CORBA etc implemented • Wars on standards • Application frameworks, component libraries • Component technologies, RAD & JAD 1980  5 years Programming In-the-Large • Interfaces • Management system structures • Long life Dbs • Program execute continuously • Complex Specs • Team effort • Life time maintenance • Standards realized • SE used • IPSEs tools for documentatin • Structured Analysis & Design
  8. 8. 2010  5 years Programming Through Mass Collaboration • Fusion of Disciplines IT, Telecom, Internet and Technologies • Initiation of New Computing Areas – Social Networking • Open Source and Free Software, exploiting the limits of various Domains • Masses enabled to collaborate • GNU licensing era • Sw Quality standards ISO, CMMI • Linux, Wikipedia, Gnome, Andriod Projects – paradigm shift - apps driving Hw manufacturing • Almost Free Sw – YouTube, Flickr, FaceBook, MySpace, Skype minting from your profiles • Component Based SE, incremental improvement and addition of functionality, Adverts in Apps Major Shifts & Eras of SD
  9. 9. Categorization of Sw • Author Dependent • Complexity wise – System Software – That acts as tools to help construct or support application software Eg OSs, DBMSs, Networking Software, Compilers – Application Software – That helps perform some directly useful or enjoyable tasks; Eg Games, Sw for ATMs, Control Sw for Aircraft, an Email System, Word Processors, Spreadsheets etc • Marketing Wise
  10. 10. • Marketing wise – Shrink Wrapped, Commercially Off-the-Shelf (COTS) Software • Made for Gen Public, Users Unknown but many, Huge investment by builder, Costs recovered thru mass sales at a very nominal/affordable rate, Revisions / Releases planned by the builder, Bugs fixed as reported, Initially Buggy Sw released – Bespoke or Application Software • Known well defined user, User dictates the Requirements, User pays for the development covering the costs and profits of builder, Limited no of users; if contract permits then same Sw can be customized for other clients, Client recovers the cost thru efficiency, increased productivity of users, and high quality of product, Reliable, verified Software bug-free clearing acceptance test, Improved and enhanced as per clients requirements
  11. 11. • Application wise – Games – Information Systems – That store and access large amounts of data, Eg Airline seat Reservation system – Real-Time Systems – fast response required Eg Control Sw for Power station or Fly-by-wire aeroplane – Embedded Systems – in which computer plays smallish but controlling role, Eg Mobiles, AC Unit, Sw in Telephone Exchanges, SoC (System on Chip) – Office Software – Word Processors, Spreadsheets, Schedulers, Project/Time Management Tools – Scientific/Engineering Software – Carrying out calculations, modeling, predictions Eg weather forecasting, Geophysical prospecting, CFD, MHD, CAD/CAM, Process Analysis Sw
  12. 12. Students‟ Projects versus Industrial Strength Software • Students‟ Projects • Industrial Strength Sw
  13. 13. Students‟ Projects versus Industrial Strength Software • Students’ Projects – Novice developers – Classroom or Small project – User Interface is not important, as it is to be used by him/herself – Documentation and testing not cared – contains bugs – … – Productivity of 2.5 to 5 KLOC/month per developer • Industrial Strength Sw – Users and developers are separate entities – Business is dependent on it – Bugs CANNOT be tolerated – User friendly User Interface – Documentation (for usage, maintenance, and further upgrading etc) – … – Productivity of 30-100 LOC / month per developer
  14. 14. Students‟ Versus Ind Strength Sw – Two very different entities – Key differences are Quality (with different attributes like Usability, Functionality, Reliability, Maintainability, Portability, and efficiency etc), Cost, Development Time – High Quality requires excessive Testing 30% - 50% of the Development time – For increased quality, documentation and testing, the size of Industrial Strength Sw is twice as large as Student Sw for the same problem
  15. 15. – Due to increased size the productivity of developer for Industrial Strength Sw drops to 1/5th of the Student Sw – Brooks 1975, indicated that the ISS may cost about 10 times more than SS for the same problem – For High Quality Sw, the development should be broken into phases, for efficient management, bug control and effective use of manpower In this SE course our focus will the development of Industrial Strength Software
  16. 16. Software – Problems and Prospects Software is Open ended, complex and key mechanism in providing the requisite functionality of the system. It is of huge size, needs 000s of people and millions of $s of investment to develop. The perceived problems in Sw development and goals the Sw Development needs to achieve are:
  17. 17. • Meeting Users‟ Needs • Low Cost of Production • High Performance • Portability – it works at various envisaged platforms • Low Cost of Maintenance • High Reliability • Scalability • Delivery on Time (Short M S, P H D, H L L) – Till to-date each of the above goals is partially achieved, so it stays as a Sw dev problem. SE seeks to provide the techniques to resolve these problems i.e. to achieve these goals.
  18. 18. Effectiveness of Typical Large Sw Projects – [Bel05]
  19. 19. Satisfaction of Users‟ Requirements [Sac07] • Hayes 2004 states that the outcome of over 9000 development projects completed in 2004 is: – 29% were successful – 18% of them Cancelled – 53% of them Completed late, over budget, and / or with features missing • On Financial Crisis of Sw Crisis a survey conducted by Cutter Consortium 2002 summarized:
  20. 20. – 78% of IT organizations have been involved in disputes that ended in litigation – In 67% of those cases, the functionality or performance of the Sw products as delivered did not meet up to the claims of Sw Developers – In 56% of those cases, the promised delivery date slipped several times – In 45% of these cases, the faults were so severe that the Sw product was UNUSABLE • Too little Sw is delivered on time, within budget, fault free and meeting the client‟s needs. Hence to meet these goals Sw Engrs have to acquire a broad range of skills, both technical and managerial and these skills have to be applied from requirements to the post-delivery maintenance/
  21. 21. Reading Assignment 1. Ch-1 Problems and Prospects, pp 3-22 From Douglas Bell (2005); Software Engineering for Students; Pearson Education Limited 2. Ch-1 Introduction, pp 1-20 From Pankaj Jalote (2005); An Integrated Approach to Software Engineering; 3rd Edition, Narosa Publishing House, New Delhi, (Please read through these chapters, try to understand the theme behind the text, and note down the terminology) Ref: Brooks (1975), The Mythical Man Months Brooks (198_) , No Silver Bullets
  22. 22. Answers to Mini Test
  23. 23. From Google Earth
  24. 24. North Tweaked
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×