Chapter 2 The Process 1 Software Engineering Defined

  • Slides: 18
Download presentation
Chapter 2 The Process 1

Chapter 2 The Process 1

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

Software Engineering 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). 2

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 3

Types of Software Maintenance Corrective Adaptive Perfective Preventive 4

Types of Software Maintenance Corrective Adaptive Perfective Preventive 4

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 5

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

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

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

The Process Model: Adaptability the framework activities will always be applied on every project. . . BUT 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; concurrence of the project team 7

SEI CMM Levels 8

SEI CMM Levels 8

Process as Problem Solving 9

Process as Problem Solving 9

The Linear Model 10

The Linear Model 10

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 11

Prototyping 12

Prototyping 12

RA D 13

RA D 13

The Incremental Model 14

The Incremental Model 14

15

15

An Evolutionary (Spiral) Model 16

An Evolutionary (Spiral) Model 16

17

17

Still Other Process Models WINWIN spiral model - defines negotiating activities and adds anchor

Still Other Process Models 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 18