1 / 17

CSC-3325: Chapter II

CSC-3325: Chapter II. Chap1: Software Engineering Models ( Review ) Mandatory reading: chapter 3 of the reference book. Defining software engineering. Analyzing, Designing, Implementing and maintaining large software systems in a formal, transparent, predictable and cost effective way …

allredc
Télécharger la présentation

CSC-3325: Chapter II

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. CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter 3 of the reference book Dr Driss Kettani, from I. Sommerville

  2. Defining software engineering • Analyzing, Designing, Implementing and maintaining large software systems in a formal, transparent, predictable and cost effective way… • It is concerned with the final product and the development process… Dr Driss Kettani, from I. Sommerville

  3. Software product attributes • Maintainability • It should be possible for the software to evolve to meet changing requirements • Dependability • The software should not cause physical or economic damage in the event of failure (Reliability, Security and Safety) • Efficiency • The software should not make wasteful use of system resources • Usability • Software should have an appropriate user interface and documentation Dr Driss Kettani, from I. Sommerville

  4. The software process • Structured set of activities (steps) required to develop a software system... • Activities vary depending on the organizationand the type of system being developed Dr Driss Kettani, from I. Sommerville

  5. Process attributes • Understandability: Is the process defined and understandable... • Visibility: Is the process progress externally visible • Supportability: Can the process be supported by CASE tools... • Acceptability: Is the process acceptable to those involved in it... Dr Driss Kettani, from I. Sommerville

  6. Process attributes (cont.) • Reliability:Are process errors discovered before they result in product errors • Robustness: Can the process continue in spite of unexpected problems • Maintainability: Can the process evolve to meet changing organizational needs • Rapidity: How fast can the system be produced Dr Driss Kettani, from I. Sommerville

  7. Generic software process models • The waterfall model • Separate and distinct phases of specification and development • Prototyping development • Specification and development are interleaved • Also called some times (wrongly) Iterative/Evolutionary model... • Component-based development • The system is assembled from existing components Dr Driss Kettani, from I. Sommerville

  8. Typical SE process steps... • Specification • Analysis • Design • Implementation • Test • Deployment • Maintenance Dr Driss Kettani, from I. Sommerville

  9. A typical waterfall model schema Dr Driss Kettani, from I. Sommerville

  10. A typical Waterfall model phases • Requirements analysis and definition • System and software design • Implementation and unit testing • Integration and system testing • Operation and maintenance The drawback of the waterfall model is the difficulty of accommodating change after the process is underway Dr Driss Kettani, from I. Sommerville

  11. Prototyping Model Dr Driss Kettani, from I. Sommerville

  12. Prototyping Categorization Prototyping Models Throw away model Evolutionary Models Iterative Models Incremental Dr Driss Kettani, from I. Sommerville

  13. Evolutionary models • The objective is to work with customers and to evolve, from an initial prototype based on an initial outline, to a final system, via several intermediary prototype version… Two sub models: • Iterative: A relatively poor requirements understanding... • Incremental: A relatively good understood requirements … Must set an initial architecture before developing increments... Dr Driss Kettani, from I. Sommerville

  14. Throw-away prototyping • Objective is tounderstand the system requirements. • Should start with poorly understood requirements Dr Driss Kettani, from I. Sommerville

  15. Reuse-oriented development • Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems • Process stages • Component analysis • Requirements modification • System design with reuse • Development and integration • This approach is becoming more important but still limited experience with it Dr Driss Kettani, from I. Sommerville

  16. Reuse-oriented development Dr Driss Kettani, from I. Sommerville

  17. Conclusion • This chapter presents an overview of: • What is Software Engineering; • The software life cycle; • Software products attributes; • Software Process attributes; • A Software Engineering processes taxonomy. • Student must carefully read I. Sommerville,Chapter 3, in order to complement these slides…They must note the differences and ask for clarifications if need be. Dr Driss Kettani, from I. Sommerville

More Related