1 / 14

11425 Software Engineering

11425 Software Engineering. Coping With Change February 23, 2012. Sommerville , I., Software Engineering, Pearson, 9 th Ed., 2010. Overview. Change avoidance Change tolerance Prototyping Incremental delivery. Coping With Change. Change is inevitable in all large software projects

deiter
Download Presentation

11425 Software Engineering

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. 11425 Software Engineering Coping With Change February 23, 2012 Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.

  2. Overview • Change avoidance • Change tolerance • Prototyping • Incremental delivery

  3. Coping With Change • Change is inevitable in all large software projects • Business changes lead to new and changed system requirements • New technologies open up new possibilities for improving implementations • Changing platforms require application changes • Work that has been completed has to be redone. This is called rework. • There are two related approaches that may be used to reduce the costs of rework: • Change avoidance • Change tolerance

  4. Change Avoidance • The software process includes activities that can anticipate possible changes before significant rework is required • For example, users experiment with a prototype before committing to high software production costs

  5. Change Tolerance • The software process is designed so that changes can be accommodated at relatively low cost • This normally involves some form of incremental development

  6. Coping with Change • There are two ways of coping with change and changing system requirements: • System prototyping • Incremental delivery

  7. System Prototyping • A prototype is an initial version of a software system that is used to: • demonstrate concepts, • try out design options, • and find out more about the problem and its possible solutions • A prototype can be help with the elicitation and validation of system requirements • Prototypes do not have to be executable to be useful

  8. System Prototyping • A prototype can be used to explore particular software solutions and to support user interface design • Prototyping supports change avoidance. • May involve leaving out functionality • Prototype should focus on areas of the product that are not well-understood; • Error checking and recovery may not be included in the prototype; • Focus on functional rather than non-functional requirements such as reliability and security

  9. Process of Prototype Development

  10. Throw-away Prototypes • Prototypes should be discarded after development as they are not a good basis for a production system: • It may be impossible to tune the system to meet non-functional requirements • Prototypes are normally undocumented • The prototype structure is usually degraded through rapid change • The prototype probably will not meet normal organizational quality standards

  11. Incremental Delivery • Incremental delivery is an approach to software development where some of the developed increments are delivered to the customer and deployed for use in an operational environment. • Advantages: • Customers can use the early increments as prototypes and gain experience. • Customers do not have to wait until the entire system is delivered before they can gain value from it. • Supports coping with changes • The most important system services receive the most testing

  12. Incremental Delivery • Problems: • Most systems require a set of basic facilities that are used by different parts of the system • Iterative development can also be difficult when a replacement system is being developed • There is no complete system specification until the final increment is specified

  13. Incremental Delivery

  14. Homework Assignment #1 • From the Textbook, page 54: • 2.1 • 2.4 • 2.7 • Due: Thursday March 1, 2012 by email (PDF) to: m.muhanna@psut.edu.jo

More Related