ISO/IEC 12207

The ISO/IEC 12207 Systems and software engineering – Software life cycle processes[1] is an international standard for software lifecycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.

The ISO/IEC 12207 standard establishes a process of lifecycle for software, including processes and activities applied during the acquisition and configuration of the services of the system. Each Process has a set of outcomes associated with it. There are 23 Processes, 95 Activities, 325 Tasks and 224 Outcomes (the new "ISO/IEC 12207:2008 Systems and software engineering – Software life cycle processes" defines 43 system and software processes).

The standard has the main objective of supplying a common structure so that the buyers, suppliers, developers, maintainers, operators, managers and technicians involved with the software development use a common language. This common language is established in the form of well defined processes. The structure of the standard was intended to be conceived in a flexible, modular way so as to be adaptable to the necessities of whoever uses it. The standard is based on two basic principles: modularity and responsibility. Modularity means processes with minimum coupling and maximum cohesion. Responsibility means to establish a responsibility for each process, facilitating the application of the standard in projects where many people can be legally involved.

The set of processes, activities and tasks can be adapted according to the software project. These processes are classified in three types: basic, for support and organizational. The support and organizational processes must exist independently of the organization and the project being executed. The basic processes are instantiated according to the situation.

History

Primary lifecycle processes

The primary lifecycle processes contain the core of processes involved in creating a software product. These processes are divided into six different main processes:

Because the primary lifecycle processes cover a very large area a scope was defined. This entry explains all the primary lifecycle processes but will explain the Acquisition and Development processes more extensively.

Activities

Each phase within the primary lifecycle processes can be divided into different activities. This chapter explains the different activities for each primary lifecycle process..

Acquisition

Acquisition covers all the activities involved in initiating a project. The acquisition phase can be divided into different activities and deliverables that are completed chronologically.

Supply

During the supply phase a project management plan is developed. This plan contains information about the project such as different milestones that need to be reached. This project management plan is needed during the next phase which is the development phase.

Development

During the development phase the software product is designed, created and tested and will result in a software product ready to be released to the customer. Throughout time many people have developed means of developing a software application. The choice of developing method often depends on the present situation. The development method which is used in many projects is the V-model. Techniques that can be used during the development are UML for designing and TMap for testing. This entry contains the most important steps of the V-model.

Operation

The operation and maintenance phases occur simultaneously, the operation-phase consists of activities like assisting users in working with the created software product.

Maintenance

The maintenance-phase consists of maintenance-tasks to keep the product up and running. The maintenance includes any general enhancements, changes and additions, which might be required by the end-users.These defects and deficiencies are usually documented by the developing organisation to enable future solutions and known issues addressing in any future maintenance releases. There is no disposal phase

Deliverables

The different deliverables that are developed per activity are explained in this chapter.

Acquisition

Acquisition covers the activities involved in initiating a project. The acquisition phase can be divided into different activities and deliverables that are completed chronologically.

Development

During the development phase the software product is designed, created and tested and will result in a software product ready to be sold to the customer.

Example

The method presented in this entry can be used in a company that is responsible for creating and maintaining a software product for a customer. Especially when this company decides to build an application from scratch and that maintenance and assisting in the operation is also done by the company developer.

See also

References

This article is issued from Wikipedia - version of the Sunday, February 28, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.