Download presentation
Presentation is loading. Please wait.
Published byJazlyn Denslow Modified over 9 years ago
2
© Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
3
The waterfall model The Spiral model The Evolutionary model There are many variants of these models e.g. formal development where a waterfall-like process is used but the specification is a formal specification that is refined through several stages to an implementable design. © Ian Sommerville
5
Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. One phase has to be complete before moving onto the next phase. © Ian Sommerville
6
Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. Few business systems have stable requirements. © Ian Sommerville
8
Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. Risks are explicitly assessed and resolved throughout the process. © Ian Sommerville
9
Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. User requirements are prioritised and the highest priority requirements are included in early increments. Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve. © Ian Sommerville
10
Customer value can be delivered with each increment so system functionality is available earlier. Early increments act as a prototype to help elicit requirements for later increments. Lower risk of overall project failure. The highest priority system services tend to receive the most testing. © Ian Sommerville
11
Focus on agile methods and how they differ from ordinary. In 1980’s and early 1990s the best way to achieve better software was through project planning and case tools – complex big systems. NOW – agile methods increment development and delivery (used in small and medium- sized projects).
12
The best known agile methods All requirements are expressed as scenarios (planning game) which are implemented directly as a series of tasks. Have 10/12 principels/best pracctices. - test first development - test-first - unittest of each task - user involvement - use of automated test - pairprogramming
13
When a programmer builds the system to create a new version, he or she must run all existing automated tests as well as the test for new functionality. Only accepted if all test execute succesfully. Refactoring – look for possible improvements to the software and implements them immediately. Code should be rewitten to improve their clarity or structure.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.