Chapter 2 The Process Software Engineering u Defined

  • Slides: 18
Download presentation
Chapter 2 The Process

Chapter 2 The Process

Software Engineering u Defined by IEEE 610. 12 -1990 as: – (1) The application

Software Engineering u Defined by IEEE 610. 12 -1990 as: – (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches in (1).

A Layered Technology Software Engineering - provide support for methods tools and processes methods

A Layered Technology Software Engineering - provide support for methods tools and processes methods - technical how tos -glue that holds layers process model together a “quality” focus - bedrock

Types of Software Maintenance u Corrective u Adaptive u Perfective u Preventive

Types of Software Maintenance u Corrective u Adaptive u Perfective u Preventive

A Common Process Framework Common process framework Framework activities Task Sets tasks milestones, deliverables

A Common Process Framework Common process framework Framework activities Task Sets tasks milestones, deliverables SQA checkpoints Umbrella Activities

Umbrella Activities u Software project management (tracking and control) u Formal technical reviews u

Umbrella Activities u Software project management (tracking and control) u Formal technical reviews u Software quality assurance u Software configuration management u Document preparation and production u Reusability management u Measurement

u the The Process Model: Adaptability framework activities will always be applied on every

u the The Process Model: Adaptability framework activities will always be applied on every project. . . BUT u the tasks (and degree of rigor) for each activity will vary based on: – the type of project (an “entry point” to the model) – characteristics of the project – common sense judgment;

SEI CMM Levels

SEI CMM Levels

Process as Problem Solving

Process as Problem Solving

The Linear Model

The Linear Model

Waterfall Model Software Reqmts Analysis Software Item 1 System Reqmts System Analysis Architectural Design

Waterfall Model Software Reqmts Analysis Software Item 1 System Reqmts System Analysis Architectural Design Software Detailed Design Software Architectural Design Software Integration Software Coding & Testing Software Item n. . . Software Qualification Testing System Integration, Qualification & Release Activities Hardware Items Note: 1) Software Lifecycle Activities are bolded / shaded 2) This model is consistent with IEEE/EIA 12207. 2 - 1997

Prototyping

Prototyping

RA D

RA D

The Incremental Model

The Incremental Model

An Evolutionary (Spiral) Model

An Evolutionary (Spiral) Model

Still Other Process Models u u u WINWIN spiral model - defines negotiating activities

Still Other Process Models u u u WINWIN spiral model - defines negotiating activities and adds anchor points to spiral model Concurrent process model—recognizes that different part of the project will be at different places in the process Component-based development model—the process to apply when reuse is a development objective Formal methods—the process to apply when a mathematical specification is to be developed Cleanroom software engineering—emphasizes error detection before testing