Methodology:: Life Cycle

There is a collection of life-cycle related slides on this page. Brief description of each slide is provided. You may download slides in Visio 5 format as zip file: compress life_cycle_visio.zip (187 KB).

Simplified Life Cycle Diagram

Simplified Life Cycle

Fig. 1. Simplified Life Cycle Diagram

A simplified Lifecycle is shown on the Fig. 1. There are 4 main Phases:

  • Analysis,
  • Design,
  • Construction, and
  • Implementation.

Each Phase is divided on a Tasks.

Main ideas of this figure are quite simple:

  1. We need to understand that every product (and the Software as well) have phases and steps which it passes during its development and life cycle. Each step takes time, and for example, if Business users will change their requirements at the Product Delivery stage, this may fail the whole project because, we may need to change the Software Package (and therefore redo the whole project from scratch). This may cause infinitive time of the product implementation.
  2. Another idea is that is we developing new product to replace previous one we need to start work on a Data Conversion (as a separate sub-task) at the requirements definition step to make sure our requirements will fully describe compatibility issues.

IT Hierarchy

IT Hierarchy

Fig. 2. IT Hierarchy Diagram

It is important keep in mind Information Technology Hierarchy (Fig. 2) for the period of the planning of new system. During the process of the System Development it is necessary to bear in mind that hardware platform should be decided on the later Stage, when all higher level planning is done. Time axis on the Fig. 2 goes from top to bottom (e.g. before Application Software Stage will be decided it is necessary to have well understanding of the Business Transactions it should serve).

Width of the pyramid at the given Stage level is proportional to the amount of the people involved in the Stage (e.g. to make proper Strategic Planning team should be not more than 3-5 people, and on the later stages more people should be involved).

Life Cycle Processes Structure

Life Cycle Processes Structure

Fig. 3. Life Cycle Processes Structure Diagram

Processes structure of the Software Life Cycle is shown on the Fig.3. Processes are grouped into three Groups: Main, Support, and Organizational Processes.

The picture is a graphical interpretation of Russian Life Cycle related Standard (GOST) which corresponds to ISO/IEC 12207 Standard.

Life Cycle Processes, Roles, Views (ISO/IEC Standard 12207)

Life Cycle Processes, Roles, Views

Fig. 4. Life Cycle Processes, Roles, Views Diagram

Description of the Life Cycle Processes is given in ISO/IEC 12207 (Software Lifecycle Process). Fig.4 shows not only list and groups of the Processes, but also relations between them and views of the Processes from different standing points (e.g. Developer, Purchaser, Supplier, User etc.).

On the diagram Fig. 4 Employment relationships between Processes are shown as well.

Software Life Cycle Processes Classification (ISO/IEC 12207)

Software Life Cycle Processes Classification

Fig. 5. Software Life Cycle Processes Classification Diagram

Software Life Cycle Processes Classification is described in the ISO/IEC 12207 (Software Lifecycle Process). Simplified Classification is shown on the Fig.5. This is another variant of ISO/IEC 12207 representation.

Requirements Definition During Software Development

Requirements Definition

Fig. 6. Requirements Definition Diagram

Requirements Definition During Software Development steps are shown in more details on the Fig.6.

Design and Execution during Software Development

Design and Execution

Fig. 7. Design and Execution Diagram

Design and Execution Processes, their relationship and component tasks during the Software Development are shown on the Fig.7.

As you can see from the diagram, it is possible to speedup the design by doing User Interface development and Functionality development in parallel. As a side effect such approach will deliver better stability of the code and better documenting of the internal interfaces in the Software.

Life Cycle: Prototypes, Activities, and Outputs Matrix

Prototypes, Activities, and Outputs Matrix

Fig. 8. Prototypes, Activities, and Outputs Matrix Diagram

Detailed Life Cycle is shown on the Fig.8. See US Military MIL-STD-498 standard for further details.

For better illustration there is a matrix of Prototypes, Activities, and Outputs shown over the diagram.

Life Cycle: Hardware and Software Lifecycle

Hardware and Software Lifecycle

Fig. 9. Hardware and Software Lifecycle Diagram

For the complex development, mutual Hardware and Software lifecycle is shown on Fig.9. See US MIL-STD-498 and US MIL-STD-499 for further details.

The Role of Data Item descriptions and Software Products

Role of Data Item descriptions and Software Products

Fig. 10. Role of Data Item descriptions and Software Products Diagram

The Role of Data Item descriptions and Software Products is shown on the Fig.10. In case of complex Hardware and Software development all the Data Items are required. If the Project does not include development of the Hardware Components last list element (Firmware Support Manual, FSM) should be excluded.

Project assume Data Processing Center implementation (for relatively big projects, include servers and/or mainframes). If your Project does not assume Data Processing Center exclude CIOM, SCOM, COM, and CPM Data Items.

See US Military MIL-STD-498 standard for further details.

V-Model Software Development Process

V-Model Software Development Process

Fig. 11. V-Model Software Development Process Diagram

Another Life Cycle view (actually, there are a lot of them!) is shown on the Fig.11. This view also called V-Model Software Development Process. This view is used to show Test Cases, Test Data, Build Files, and Integration Plan flows as well as cross-verification (dotted lines) between phases of the software development.

Another meaning of the diagram Fig.11 is relationship between three activities of Software Development: System Engineering, Software System Engineering, and Software Engineering.

Very similar (but simplified to be easier) view in Methodology:: Project Risk Management section of the page is used to describe Development Risk Management methodology issues.

See US Military MIL-STD-498 and ISO/IEC or IEEEE 12207 standards for further details. Brief overview of ISO 12207 and related standards can be found here: http://www.acm.org/tsc/lifecycle.html.