SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… ·...

Post on 10-Jun-2020

3 views 0 download

Transcript of SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… ·...

SOFTWARE ENGINEERING

SOFTWARE-LIFE CYCLE AND ITS

MODELS

Saulius Ragaišis

saulius.ragaisis@mif.vu.lt

SOFTWARE LIFE CYCLE

Definitions from Google

• The phases a software product goes through between when it is conceived and when it is no longer available for use.

The Free On-line Dictionary of Computing, Denis Howe 2010

• A series of stages in the development of an application and is often used in Software Engineering.David Bolton, About.com

Standards of Life cycle processes

• ISO/IEC 12207:2008. Systems and software engineering — Software life cycle processes

• ISO/IEC 15288:2008. Systems and software engineering — System life cycle processes

Definitions in standards

• Life cycle - evolution of a system, product, service, project or other human-made entity from conception through retirement.

• Life cycle model - framework of processes and activities concerned with the life cycle that may be organized into stages, which also acts as a common reference for communication and understanding.

[ISO/IEC 12207:2008]

Software life cycle processes (ISO/IEC 12207-2008)

LIFE CYCLE MODELS

Life cycle models and stages

The life of a system/software can be modeled by a life cycle model consisting of stages. Models may be used to represent the entire life from concept to disposal or to represent the portion of the life corresponding to the current project. The life cycle model is comprised of a sequence of stages that may overlap and/or iterate, as appropriate for the project's scope, magnitude, complexity, changing needs and opportunities. [ISO/IEC 12207:2008]

1970

Development according W. W. Royce

1968... “Iterative development”

“Rocket science!”

Generic process framework activities*

• Communication

• Planning

• Modeling

• Construction

• Deployment

* They will be used to present different life cycle models.

Waterfall model

Incremental model

Spiral model

RAD model

Prototyping

Unified Process

• An extensible framework which should be customized for specific organizations or projects.

• Proposed by Ivar Jacobson, Grady Booch and James Rumbaugh. The first book “The Unified Software Development Process” (ISBN 0-201-57169-2) published in 1999.

UP refinements and variations

• Rational Unified Process (RUP), the IBM / Rational Software development process

• Oracle Unified Method (OUM), the Oracle development and implementation process

• Agile Unified Process (AUP), a lightweight variation developed by Scott W. Ambler

• Essential Unified Process (EssUP), a lightweight variation developed by Ivar Jacobson

• Enterprise Unified Process (EUP), an extension of the Rational Unified Process

UP characteristics

• Iterative and Incremental

• Use Case Driven

• Architecture Centric

• Risk Focused

UP project life-cycle

UP major work products: Inception

• Vision document

• Initial use-case model

• Initial project glossary

• Initial business case

• Initial risk assessment

• Project plan (phases and iterations)

• Business model (if necessary)

• One or more prototypes

UP major work products: Elaboration

• Use-case model

• Supplementary requirements including non-functional

• Analysis model

• Software architecture description

• Executable architectural prototype

• Preliminary design model

• Revised risk list

• Project plan including iteration plan, adapted workflows, milestones, technical work products

• Preliminary user manual

UP major work products: Construction

• Design model

• Software components

• Integrated software increment

• Test plan and procedure

• Test cases

• Support documentation (user manuals, installation

manuals, description of current increment)

UP major work products: Transition

• Delivered software increment

• Beta test reports

• General user feedback

What we have learned?

• Concept of software life cycle

• Understanding of software life cycle processes

• Software life cycle models

QUESTIONS?

APPENDIX

Life cycle process groups (ISO/IEC 12207-2008)

System Life Cycle Processes

• Agreement Processes (2 processes)

• Organizational Project-Enabling Processes (5 p.)

• Project Processes (7 p.)

• Technical Processes (11 p.)

Software Life Cycle Processes

• Software Implementation Processes (7 p.)

• Software Support Processes (8 p.)

• Software Reuse Processes (3 p.)

Agreement Processes

• Acquisition Process

• Supply Process

Organizational Project-Enabling Processes

• Life Cycle Model Management Process

• Infrastructure Management Process

• Project Portfolio Management Process

• Human Resource Management Process

• Quality Management Process

Project Processes

• Project Planning Process

• Project Assessment and Control Process

• Decision Management Process

• Risk Management Process

• Configuration Management Process

• Information Management Process

• Measurement Process

Technical Processes

• Stakeholder Requirements Definition Process

• System Requirements Analysis

• System Architectural Design

• Implementation Process

• System Integration Process

• System Qualification Testing Process

• Software Installation

• Software Acceptance Support

• Software Operation Process

• Software Maintenance Process

• Software Disposal Process

Software Implementation Processes

• Software Implementation Process

• Software Requirements Analysis Process

• Software Architectural Design Process

• Software Detailed Design Process

• Software Construction Process

• Software Integration Process

• Software Qualification Testing Process

Software Support Processes

• Software Documentation Management Process

• Software Configuration Management Process

• Software Quality Assurance Process

• Software Verification Process

• Software Validation Process

• Software Review Process

• Software Audit Process

• Software Problem Resolution Process

Software Reuse Processes

• Domain Engineering Process

• Reuse Asset Management Process

• Reuse Program Management Process