Lesson2 software process_contd2

Preview:

Citation preview

1

SDLC (Software Development Life Cycle)

Logical Process)

Phase )

Planning Phase) Analysis Phase) Design Phase)

Implementation Phase )Steps )

2

SDLC

Waterfall

V-Shaped

Spiral

Increment

Agile

3

Waterfall model• SDLC Waterfall

4

Waterfall model

Waterfall Model

Waterfall Model

Product Product

5

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

Waterfall

,

Milestones

Sets requirements stability

(plan, staff, track)

Waterfall

Module

Waterfall Model

User

User

platformplatform

Adapted Waterfall model

SDLC Adapted Wayerfall

waterfall

9

V-Shaped model

Model (verification)

(validation)

Software10

V-Shaped model

11

Project and Requirements Planning –

Product Requirements and Specification Analysis –

specSoftware

Architecture or High-Level Design –

Software

Detailed Design –

Production, operation and maintenance –

System and acceptance testing –

Software

Integration and Testing –

Module

Unit testing –module

Coding –Algorithm Software

V-Shaped model

Verification Validation

12

V-Shaped Model

Requirement

(Risk Management)

13

V-shaped Model (high

reliability) hospital patient control

applications

Requirement

14

Spiral model

15

Spiral model

spiral

16

Spiral model

17

Spiral model

18

Spiral model

19

Spiral model model

risk-driven

Prototype

product

product

20

Iterative and Incremental Model

Requirement1

SA

SD

Imp

Op

Iteration1

Built1

Requirement2

SA

SD

Imp

Op

Iteration2

Built1 Built2

Requirement3

SA

SD

Imp

Op

Iteration3

Built1 Built2 Built3

21

Iterative and Incremental Model

SDLC

()

()

22

Agile ProcessAgile

Agile Process

Agile

RAD

. . 1970

. . 1990 23

Agile ProcessAgile 4

[Agile Alliance 2001]

1.

2.

3.

4.

24

Agile ProcessAgile XP

ASD

Scrum

DSDM

Crystal

FDD

AM25

Extreme Programming (XP) Kent Beck

. . 1999

Iteration and Incremental

4 26

Extreme Programming (XP)

27

Planning)

Design)

Coding)Testing

)

ReleaseSoftware

Increment

User StoryIteration Plan

Simple DesignSpike Solution : Prototype

Unit TestContinuous integrationAcceptance Test

Pair ProgrammingUnit TestContinuous Integrations

Adaptive Software Development (ASD)

-Jim Highsmith

28

Adaptive Software Development (ASD)

29

Speculation

Collaboration

LearningRelease

Adaptive cycle planningMission

statementProject

constraintsBasic

requirementsTime-boxed release plan

Requirements gathering

JADMini-specs

Components implemented/tested

Focus groups for feedback

Formal technical reviews postmortems

Software increment adjustments for subsequent

cycles

Adaptive Software Development (ASD)

Speculation

Collaboration

30

Adaptive Software Development (ASD)

Collaboration

31

Adaptive Software Development (ASD)

Learning

3

Focus Groups /

Formal Technical Review)

Postmortems32

Scrum

Scrum Jeff Sutherland

1990

SchwaberBeedle

33

Scrum Scrum

34

Scrum Scrum

Sprint)

35

Dynamic System Development Method (DSDM)

DSDM

DSDM => 80% 20%

DSDM 80%

36

Dynamic System Development Method (DSDM)

DSDM

Feasibility Study

Business Study

Functional Model Iteration 37

Dynamic System Development Method (DSDM)

DSDM

Design and Build Iteration

Implementation)

38

Crystal Alistair Cockburn Jim

Highsmith

Crystal

Cockburn Highsmith39

Crystal

Crystal

Crystal Yellow, Crystal Orange

Crystal Family

40

Crystal

Crystal

o “Human-powered”o “Ultralight”o “Stretch-to-fit”

41

Feature Driven Development (FDD)

Peter Coad

Stephen Palmer John FelsingCoad

42

Feature Driven Development (FDD)

FDD

43

Agile Modeling (AM)

Scott Amble Agile

Agile

Agile 44

Agile Modeling (AM)

AM

Model with a purpose

Use multiple models

Travel light

Content is more important than representation

45

CMM ()

Process Improvement

Total Quality Management (TQM) Business Process Redesign (BPR) Continuous Process Improvement (CPI) Six Sigma CMM

46

CMM()

Capability

Maturity Model : CMM

SW-CMM (Software Capability Maturity

Model)

Software Engineering Institute : SEI

47

Capability

Maturity Model : CMM

48

5

Optimizing4

Managed3

Defined2

Repeatable

1

Initial

Capability

Maturity Model : CMM

1 The initial

Level

49

Capability

Maturity Model : CMM

2 The

Repeatable Level

50

Capability

Maturity Model : CMM

3 The

Defined Level

2

Documented and

Integrated Process

51

Capability

Maturity Model : CMM

4 The

Managed Level

Standard

52

Capability

Maturity Model : CMM

5 The

Optimizing Level

Learning

Organization

Technology

Knowledge Based53

Capability Maturity Model :

CMM

Key

Process Area (KPA)

KPA

54

CMM

55

CMMKPA

1 (Initial)

2 (Repeatable)

3 (Defined)

CMM

56

CMMKPA

4 (Managed)

5 (Optimizing)

Capability

Maturity Model : CMM

KPA CMM

57

Tool

Project Management Application ( Microsoft

Project)

Word Processor/Text Editor

Integrated Development Environment (IDE)

Drawing/Graphics Application ( Rational

Rose, Visible Analyst, Visual 58

CASE Tools

CASE (Computer-Aided Software

Engineering)

CASE Tool

Design Editor

Data Dictionary

Compiler

Debugger) 59

CASE Tools

CASE

CASE Repository

CASE

CASE

CASE 60

CASE

CASE Tool

CASE Tools

(Functional Perspective)

Process Perspective

CASE

Tools Integration 61

CASE

CASE Tools 8

1. Software

Requirement Tool

2. Software Design Tools

3. Software Construction

Tools

4. Software Testing Tools

5. Software Maintenance

Tools

6. Software Configuration

Management Tools

Software

62

CASE

1.

Software Requirement Tool

2

-

Requirement Modeling Tools

-

Requirement Traceability Tools

63

CASE

2. Software Design Tools

-

-

Rational Rose, EA

3. Software Construction

Tools

-

- Program Editor

- Compiler

- Interpreter

- Debugger

64

CASE

4. Software Testing

Tools

- Testing Generation

- Test Execution

Framework

- Test Evaluation

Tools

- Test Management

Tools65

CASE

5. Software

Maintenance Tools

2

1. Comprehension

Tools

2. Reengineering

Tools

6. Software 66

CASE

7. Software

Engineering Management Tools

- Project Planning

and Tracking

- Risk Management

- Measurement

8. Software Quality Tools)

- Inspection Tools

67

CASE Tools

Integrated CASE Environment

- CASE Tool

- CASE Tool

Meta Tools

- Editor

68

Methodologies

-

-

1. Structured Approach

2. Object – oriented

Approach

3. Heuristic Methodology

4. Formal Methodology69

1. Structured Approach)

Sub-System)

Structured System Analysis and Design: SSAD)” Yourdan

70

1. Structured Approach)

71

72

-

2. Object – Oriented Approach)

Grady Booch, James Rumbaugh Ivar Jacobson

Object-Oriented System

Analysis and Design)

Object)73

2. Object – Oriented Approach)

74

75

InvoiceIDNo.AddressA/C No.AmountComputer value of goodsComputer discountComputer Ad.ChargeComputer Invoice Amount

objectAttributes

Methods

3. Heuristic Methodology

- Informal Method

-

- Methodology

- Structured Methodology/Approach

- Object-oriented Methodology 76

4. Formal Methodology

-2

1. Formal Specification

2. Formal Verification

77

- Agile

- Extreme Programming (XP)

Agile

4

-

-78

-Adaptive Software Development (ASD)

-

-

- ASD

-

79

- Dynamic Systems Development Method

(DSDM)

-

-

-

- DSDM 80

- Scrum (

-

- Crystal (

-

Agile

-81

- Feature Driven Development (FDD)

- Agile

-

-

- FDD

- Agile Modeling (AM)

-

- 82

-

Process

-

Software Process Software

Development Process

-

- (Software

Engineering Process) 83

-

Process

Improvement

- SEI

Capability Maturity Model : CMM

84

Recommended