Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Beit 381 se lec 2 - 27 - 12 feb08


Published on

Software Engineering, Lectures

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

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