Information System Project


IEEE 12207: Software Life Cycle


Software Life Cycle Model

A software life cycle model (SLCM) graphically describes how development activities will be performed by depicting the "sequence" of the activities. - generic process framework showing that the overall process consists of major phases, which consist of activities that produce deliverables.


IEEE 12207: Software Life Cycle


Waterfall Model

The waterfall model is a sequential (non-iterative) design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.


Waterfall: Requrements

Every project starts with the requirement phase, during which all the requirements are collected, documented, and discussed with all the stakeholder.


Waterfall: Design

During this phase the team creates a detailed design for the complete system as well as for each of the individual components. This is done at a level that developers can directly translate into code in the next phase. - Result: - Use Cases - UML - Flowcharts - other design documents


Waterfall: Implementation

Translation of design documentation into code: - component by component or object by object - integration is done at the end of the coding phase or at the beginning of the test phase

Risks can be reduced by introducing different milestones. - Milestones should ideally be followed by a set of tests to verify that the functionality works correctly.


Waterfall: Testing

The goalis to identify bugs in the software before it is released.

Based on this list of features and functions, an overall test plan needs to be developed for the overall project. It should should contain all the different test phases for the project.


Waterfall: Support

The support phase starts as soon as the solution is handed over to the customers or made available as a purchasable product.


Resource Constraints

The Project Management Triangle is a nice representation of the three main constraints in which a project usually finds itself.

A change in one of the three constraints has a direct impact on the other two. - The challenge for the project manager is to manage these three constraints without impacting the quality of the deliverable.


IEEE 1074: Developing Software Life Cycle Processes

This standard provides a process for creating a software life cycle process (SLCP). - It is primarily directed at the process architect for a given software project.


IEEE 1074: SLCM Selection

Steps for evaluation and selection an SLCM: 1. Identify all the SLCMs that are available to the development project. 2. Identify the attributes that apply to the desired end system and the development environment. 3. Identify any constraints that might be imposed on the selection. 4. Evaluate the various SLCMs based on past experience and organizational capabilities. 5. Select the SLCM that will best satisfy the project attributes and constraints.


IEEE 1074: SLC creation & SLCP Definition

Result: Established SLCP.


IEEE 1058: Software project management plan