Presentation is loading. Please wait.

Presentation is loading. Please wait.

 © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.

Similar presentations


Presentation on theme: " © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective."— Presentation transcript:

1

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

4

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

7

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.


Download ppt " © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective."

Similar presentations


Ads by Google