Lecture 2
Software Process
Software Process
- Life cycle: the process involves the building of a product.
- For a software, its life cycle terminates when the provider stops support.
Software Process Model (Development Patter)
Waterfall Model
-
A stepwise refinement of requirement.
-
Suitable when the requirement is well-determined and understood.
-
Drawback:
- inflexible partitioning of project
- difficult to update
- It describes a process of stepwise refinement of the requirement
Evolutionary Development
- Develop software form a initial implementation, then refine (add new features) it based on user's response.
-
Evolutionary development involves Exploratory development. (Exploratory \(\in\) Evolutionary)
- Exploratory development starts with a well-understood requirement
- The system evolves by adding new features
-
Drawbacks:
- Lack of process visibility
- Sometimes poorly structured
- Not suitable in safety critical projects
Agile and Scrum
- Lightweight approach to software development
- Test driven development
- Pair programming
- Scrum: Incremental Development
- Development and delivery is broken down into increments (sprints) that gives part of the functionality
- High priority requirement are included in early increments
- once the development of an increment is started, the requirements are frozen through requirements, so that later increment can continue to evolve.
Advantage
- Customers' value can be delivered with each increment, so system functionality is avaiable earlier.
- early increments act as a prototype to help elicit requirements for later increment.
- lower risk of overall project failure
- the highest priority functions tend to receive more testing.
Summary
- iterative process models describe the software process as a cycle of activities
- generic process models describe the organisation of software processes
- general activities are: specific specification design and implementation, validation and evolution
- software process at the activities involved in producing and evolving a software system there were represented in a software process model