lesson2 software process_contd2

84
1

Upload: nongkonlek-los-blancos

Post on 13-Jul-2015

199 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lesson2 software process_contd2

1

Page 2: Lesson2 software process_contd2

SDLC (Software Development Life Cycle)

Logical Process)

Phase )

Planning Phase) Analysis Phase) Design Phase)

Implementation Phase )Steps )

2

Page 3: Lesson2 software process_contd2

SDLC

Waterfall

V-Shaped

Spiral

Increment

Agile

3

Page 4: Lesson2 software process_contd2

Waterfall model• SDLC Waterfall

4

Page 5: Lesson2 software process_contd2

Waterfall model

Waterfall Model

Waterfall Model

Product Product

5

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

Page 6: Lesson2 software process_contd2

Waterfall

,

Milestones

Sets requirements stability

(plan, staff, track)

Page 7: Lesson2 software process_contd2

Waterfall

Module

Page 8: Lesson2 software process_contd2

Waterfall Model

User

User

platformplatform

Page 9: Lesson2 software process_contd2

Adapted Waterfall model

SDLC Adapted Wayerfall

waterfall

9

Page 10: Lesson2 software process_contd2

V-Shaped model

Model (verification)

(validation)

Software10

Page 11: Lesson2 software process_contd2

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

Page 12: Lesson2 software process_contd2

V-Shaped model

Verification Validation

12

Page 13: Lesson2 software process_contd2

V-Shaped Model

Requirement

(Risk Management)

13

Page 14: Lesson2 software process_contd2

V-shaped Model (high

reliability) hospital patient control

applications

Requirement

14

Page 15: Lesson2 software process_contd2

Spiral model

15

Page 16: Lesson2 software process_contd2

Spiral model

spiral

16

Page 17: Lesson2 software process_contd2

Spiral model

17

Page 18: Lesson2 software process_contd2

Spiral model

18

Page 19: Lesson2 software process_contd2

Spiral model

19

Page 20: Lesson2 software process_contd2

Spiral model model

risk-driven

Prototype

product

product

20

Page 21: Lesson2 software process_contd2

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

Page 22: Lesson2 software process_contd2

Iterative and Incremental Model

SDLC

()

()

22

Page 23: Lesson2 software process_contd2

Agile ProcessAgile

Agile Process

Agile

RAD

. . 1970

. . 1990 23

Page 24: Lesson2 software process_contd2

Agile ProcessAgile 4

[Agile Alliance 2001]

1.

2.

3.

4.

24

Page 25: Lesson2 software process_contd2

Agile ProcessAgile XP

ASD

Scrum

DSDM

Crystal

FDD

AM25

Page 26: Lesson2 software process_contd2

Extreme Programming (XP) Kent Beck

. . 1999

Iteration and Incremental

4 26

Page 27: Lesson2 software process_contd2

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

Page 28: Lesson2 software process_contd2

Adaptive Software Development (ASD)

-Jim Highsmith

28

Page 29: Lesson2 software process_contd2

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

Page 30: Lesson2 software process_contd2

Adaptive Software Development (ASD)

Speculation

Collaboration

30

Page 31: Lesson2 software process_contd2

Adaptive Software Development (ASD)

Collaboration

31

Page 32: Lesson2 software process_contd2

Adaptive Software Development (ASD)

Learning

3

Focus Groups /

Formal Technical Review)

Postmortems32

Page 33: Lesson2 software process_contd2

Scrum

Scrum Jeff Sutherland

1990

SchwaberBeedle

33

Page 34: Lesson2 software process_contd2

Scrum Scrum

34

Page 35: Lesson2 software process_contd2

Scrum Scrum

Sprint)

35

Page 36: Lesson2 software process_contd2

Dynamic System Development Method (DSDM)

DSDM

DSDM => 80% 20%

DSDM 80%

36

Page 37: Lesson2 software process_contd2

Dynamic System Development Method (DSDM)

DSDM

Feasibility Study

Business Study

Functional Model Iteration 37

Page 38: Lesson2 software process_contd2

Dynamic System Development Method (DSDM)

DSDM

Design and Build Iteration

Implementation)

38

Page 39: Lesson2 software process_contd2

Crystal Alistair Cockburn Jim

Highsmith

Crystal

Cockburn Highsmith39

Page 40: Lesson2 software process_contd2

Crystal

Crystal

Crystal Yellow, Crystal Orange

Crystal Family

40

Page 41: Lesson2 software process_contd2

Crystal

Crystal

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

41

Page 42: Lesson2 software process_contd2

Feature Driven Development (FDD)

Peter Coad

Stephen Palmer John FelsingCoad

42

Page 43: Lesson2 software process_contd2

Feature Driven Development (FDD)

FDD

43

Page 44: Lesson2 software process_contd2

Agile Modeling (AM)

Scott Amble Agile

Agile

Agile 44

Page 45: Lesson2 software process_contd2

Agile Modeling (AM)

AM

Model with a purpose

Use multiple models

Travel light

Content is more important than representation

45

Page 46: Lesson2 software process_contd2

CMM ()

Process Improvement

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

46

Page 47: Lesson2 software process_contd2

CMM()

Capability

Maturity Model : CMM

SW-CMM (Software Capability Maturity

Model)

Software Engineering Institute : SEI

47

Page 48: Lesson2 software process_contd2

Capability

Maturity Model : CMM

48

5

Optimizing4

Managed3

Defined2

Repeatable

1

Initial

Page 49: Lesson2 software process_contd2

Capability

Maturity Model : CMM

1 The initial

Level

49

Page 50: Lesson2 software process_contd2

Capability

Maturity Model : CMM

2 The

Repeatable Level

50

Page 51: Lesson2 software process_contd2

Capability

Maturity Model : CMM

3 The

Defined Level

2

Documented and

Integrated Process

51

Page 52: Lesson2 software process_contd2

Capability

Maturity Model : CMM

4 The

Managed Level

Standard

52

Page 53: Lesson2 software process_contd2

Capability

Maturity Model : CMM

5 The

Optimizing Level

Learning

Organization

Technology

Knowledge Based53

Page 54: Lesson2 software process_contd2

Capability Maturity Model :

CMM

Key

Process Area (KPA)

KPA

54

Page 55: Lesson2 software process_contd2

CMM

55

CMMKPA

1 (Initial)

2 (Repeatable)

3 (Defined)

Page 56: Lesson2 software process_contd2

CMM

56

CMMKPA

4 (Managed)

5 (Optimizing)

Page 57: Lesson2 software process_contd2

Capability

Maturity Model : CMM

KPA CMM

57

Page 58: Lesson2 software process_contd2

Tool

Project Management Application ( Microsoft

Project)

Word Processor/Text Editor

Integrated Development Environment (IDE)

Drawing/Graphics Application ( Rational

Rose, Visible Analyst, Visual 58

Page 59: Lesson2 software process_contd2

CASE Tools

CASE (Computer-Aided Software

Engineering)

CASE Tool

Design Editor

Data Dictionary

Compiler

Debugger) 59

Page 60: Lesson2 software process_contd2

CASE Tools

CASE

CASE Repository

CASE

CASE

CASE 60

Page 61: Lesson2 software process_contd2

CASE

CASE Tool

CASE Tools

(Functional Perspective)

Process Perspective

CASE

Tools Integration 61

Page 62: Lesson2 software process_contd2

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

Page 63: Lesson2 software process_contd2

CASE

1.

Software Requirement Tool

2

-

Requirement Modeling Tools

-

Requirement Traceability Tools

63

Page 64: Lesson2 software process_contd2

CASE

2. Software Design Tools

-

-

Rational Rose, EA

3. Software Construction

Tools

-

- Program Editor

- Compiler

- Interpreter

- Debugger

64

Page 65: Lesson2 software process_contd2

CASE

4. Software Testing

Tools

- Testing Generation

- Test Execution

Framework

- Test Evaluation

Tools

- Test Management

Tools65

Page 66: Lesson2 software process_contd2

CASE

5. Software

Maintenance Tools

2

1. Comprehension

Tools

2. Reengineering

Tools

6. Software 66

Page 67: Lesson2 software process_contd2

CASE

7. Software

Engineering Management Tools

- Project Planning

and Tracking

- Risk Management

- Measurement

8. Software Quality Tools)

- Inspection Tools

67

Page 68: Lesson2 software process_contd2

CASE Tools

Integrated CASE Environment

- CASE Tool

- CASE Tool

Meta Tools

- Editor

68

Page 69: Lesson2 software process_contd2

Methodologies

-

-

1. Structured Approach

2. Object – oriented

Approach

3. Heuristic Methodology

4. Formal Methodology69

Page 70: Lesson2 software process_contd2

1. Structured Approach)

Sub-System)

Structured System Analysis and Design: SSAD)” Yourdan

70

Page 71: Lesson2 software process_contd2

1. Structured Approach)

71

Page 72: Lesson2 software process_contd2

72

-

Page 73: Lesson2 software process_contd2

2. Object – Oriented Approach)

Grady Booch, James Rumbaugh Ivar Jacobson

Object-Oriented System

Analysis and Design)

Object)73

Page 74: Lesson2 software process_contd2

2. Object – Oriented Approach)

74

Page 75: Lesson2 software process_contd2

75

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

objectAttributes

Methods

Page 76: Lesson2 software process_contd2

3. Heuristic Methodology

- Informal Method

-

- Methodology

- Structured Methodology/Approach

- Object-oriented Methodology 76

Page 77: Lesson2 software process_contd2

4. Formal Methodology

-2

1. Formal Specification

2. Formal Verification

77

Page 78: Lesson2 software process_contd2

- Agile

- Extreme Programming (XP)

Agile

4

-

-78

Page 79: Lesson2 software process_contd2

-Adaptive Software Development (ASD)

-

-

- ASD

-

79

Page 80: Lesson2 software process_contd2

- Dynamic Systems Development Method

(DSDM)

-

-

-

- DSDM 80

Page 81: Lesson2 software process_contd2

- Scrum (

-

- Crystal (

-

Agile

-81

Page 82: Lesson2 software process_contd2

- Feature Driven Development (FDD)

- Agile

-

-

- FDD

- Agile Modeling (AM)

-

- 82

Page 83: Lesson2 software process_contd2

-

Process

-

Software Process Software

Development Process

-

- (Software

Engineering Process) 83

Page 84: Lesson2 software process_contd2

-

Process

Improvement

- SEI

Capability Maturity Model : CMM

84