Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.

Similar presentations


Presentation on theme: "1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission."— Presentation transcript:

1

2 1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Chapter 1 The Product

3 2 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener What is Software? Software is a set of items or objects that form a “configuration” that includes programs documents data...

4 3 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener What is Software?  software is engineered  software doesn’t wear out  software is complex  software is a ‘differentiator’  software is like an ‘aging factory’

5 4 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Wear vs. Deterioration

6 5 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener The statistics

7 6 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener The Cost of Change

8 7 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Why does software fail (Charette 1989)  Terminated for convenience/ non-performance of contract.  Completed but the system is not deployed as users cannot or will not use it.  Completed but the system does not meet the originally promised cost.  Completed but the system does not meet the originally promised schedule.  Completed but the system does not meet the originally promised quality.  Completed but the system does not meet the originally promised capability.  Completed but the system could not be evolved in a cost- effective manner

9 8 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Software Applications  system software  real-time software  business software  engineering/scientific software  embedded software  PC software  AI software  WebApps (Web applications)

10 9 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Variety of Software Products Examples Real time: air traffic control Embedded systems: digital camera, GPS Data processing: telephone billing, pensions Information systems: web sites, digital libraries Sensors: weather data System software: operating systems, compilers Communications: routers, mobile telephones Offices: word processing, video conferences Scientific: simulations, weather forecasting Graphical: film making, design etc., etc., etc.,....

11 10 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Software Poses Challenges

12 11 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener What makes software special? The main differences in software engineering compared to other engineering disciplines are listed [BSI, 1995].  It is difficult for a customer to specify requirements completely.  It is difficult for the supplier to understand fully the customer needs.  In defining and understanding requirements, especially changing requirements, large quantities of information need to be communicated and assimilated continuously.  Software is seemingly easy to change.  Software is primarily intangible; much of the process of creating software is also intangible, involving experience, thought and imagination.  It is difficult to test software exhaustively

13 12 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener A Solution - Software Engineering:  Greater emphasis on systematic development.  Computer assistance for software development (CASE)  A concentration on finding out the user’s requirements  Formal/Semi Formal specification of the requirements of a system  Demonstration of early version of a system (prototyping)  Greater emphases on trying to ensure error free code

14 13 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Software Engineering  Definitions:  Simple Definition: Designing, building and maintaining large software systems  Others:  ‘Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products’ I. Sommerville  ‘The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate and maintain them’ B.W.Boehm  ‘The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines’ F.L.Bauer

15 14 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Software Engineering cont.  Definitions cont.  ‘The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software’ IEEE Standard 610.12  ‘The technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost constraints’ R. Fairley

16 15 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Observations Most software development is by teams Effectiveness of team determines success Most large software projects are built on older ones It is rare to start a new suite of programs from scratch Building on the work of others is a fundamental skill of software development

17 16 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Observations about Big Projects A big project is 1,000+ person years. Every important program is written by many people, who are constantly changing. Before a big project is completed the requirements have changed many times. No large system is ever complete.

18 17 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Course Themes: Risk Risk (as Seen by a Manager) Problems Over budget Late delivery Does not work as expected Never used Does the wrong thing Needs change Users dislike to use it etc. Failures of software development projects can bankrupt companies!

19 18 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Course Themes: Visibility Visibility (as Seen by a Manager) Problem Must rely on others for reports of progress or difficulties Software Developers Have difficulty evaluating progress Optimistic Consider reporting a waste time etc. The people who take the responsibility must know what is happening!

20 19 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Course Themes: Process Process in Large Software Projects Software as a product Clients and their needs Quality Requirements and specification Usability Evolution Project management Personnel management Economic, legal, and social factors Nobody comprehends more than a fraction of the project!

21 20 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Course Themes: Scale Techniques for large and very large systems Software design Software architecture Object-oriented design Dependable systems Reliability Verification Legacy systems

22 21 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Software as a Product Software is expensive! The major cost is your salary! Every software project has a trade-off between: Functionality Resources (cost) Timeliness

23 22 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener What is Good Software? General characteristics Usability Maintainability Dependability Efficiency Good software products require good programming, but... Programming quality is the means to the end, not the end itself.

24 23 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener What is Good Software? Client (a.k.a. Customer) The client provides resources and expects some product in return. Client satisfaction is the primary measurement of success. Question: Who is the client for Microsoft Excel?

25 24 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Categories of Product Categories of client and software product: Generic (e.g., Microsoft Excel) Bespoke (customized) (e.g., BU registration) Many systems are customized versions of generic packages (e.g., a payroll system)

26 25 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener The Craft of Software Development Software products are very varied --> Client requirements are very different --> There is no standard process for software engineering --> There is no best language, operating system, platform, database system, development environment, etc. A skilled software developer knows about a wide variety of approaches, methods, tools. The craft of software engineering is to select appropriate methods for each project and apply them effectively.

27 26 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 and revised by Ayşe Bener Professional Responsibility Organizations put trust in software developers: Competence: Software that does not work effectively can destroy an organization. Confidentiality: Software developers and systems administrators may have access to highly confidential information (e.g., trade secrets, personal data). Legal environment: Software exists in a complex legal environment (e.g., intellectual property, obscenity). Acceptable use and misuse: Computer abuse can paralyze an organization (e.g., the Internet worm).


Download ppt "1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission."

Similar presentations


Ads by Google