37
SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND ITS MODELS Saulius Ragaišis [email protected]

SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

SOFTWARE ENGINEERING

SOFTWARE-LIFE CYCLE AND ITS

MODELS

Saulius Ragaišis

[email protected]

Page 2: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

SOFTWARE LIFE CYCLE

Page 3: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 4: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 5: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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]

Page 6: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 7: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

LIFE CYCLE MODELS

Page 8: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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]

Page 9: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

1970

Page 10: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Development according W. W. Royce

Page 11: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

1968... “Iterative development”

“Rocket science!”

Page 12: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Generic process framework activities*

• Communication

• Planning

• Modeling

• Construction

• Deployment

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

Page 13: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Waterfall model

Page 14: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Incremental model

Page 15: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Spiral model

Page 16: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

RAD model

Page 17: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Prototyping

Page 18: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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.

Page 19: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 20: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

UP characteristics

• Iterative and Incremental

• Use Case Driven

• Architecture Centric

• Risk Focused

Page 21: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

UP project life-cycle

Page 22: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 23: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 24: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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)

Page 25: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

UP major work products: Transition

• Delivered software increment

• Beta test reports

• General user feedback

Page 26: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

What we have learned?

• Concept of software life cycle

• Understanding of software life cycle processes

• Software life cycle models

Page 27: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

QUESTIONS?

Page 28: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

APPENDIX

Page 29: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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.)

Page 30: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Agreement Processes

• Acquisition Process

• Supply Process

Page 31: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Organizational Project-Enabling Processes

• Life Cycle Model Management Process

• Infrastructure Management Process

• Project Portfolio Management Process

• Human Resource Management Process

• Quality Management Process

Page 32: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Project Processes

• Project Planning Process

• Project Assessment and Control Process

• Decision Management Process

• Risk Management Process

• Configuration Management Process

• Information Management Process

• Measurement Process

Page 33: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 34: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 35: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

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

Page 36: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile

Software Reuse Processes

• Domain Engineering Process

• Reuse Asset Management Process

• Reuse Program Management Process

Page 37: SOFTWARE ENGINEERING - Vilniaus universitetasragaisis/PSI_inf2019/SE-02-Life_cycle_2019.… · •Oracle Unified Method (OUM), the Oracle development and implementation process •Agile