iterative software development - techniontomera/publications... · • usdp-based iterative...

21
Iterative Software Development Iterative Software Development - - from Theory to Practice from Theory to Practice Amir Amir Tomer, Tomer, Boaz Boaz Shani Shani , , Ely Bonne Ely Bonne Implementing the Unified Software Implementing the Unified Software Development Process in RAFAEL Development Process in RAFAEL

Upload: others

Post on 17-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

Iterative Software Development Iterative Software Development --from Theory to Practicefrom Theory to Practice

AmirAmir Tomer, Tomer, Boaz Boaz ShaniShani, ,

Ely BonneEly Bonne

Implementing the Unified Software Implementing the Unified Software Development Process in RAFAELDevelopment Process in RAFAEL

Page 2: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 2

RAFAEL at a Glance

Page 3: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 3

The Waterfall Model

Maintenance

Retirement

VerificationRequirements

VerificationSpecification

VerificationDesign

TestingImplementation

TestingIntegration

VerificationReq. Change

Royce, 1970

DevelopmentMaintenance

Page 4: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 4

What’s wrong with the Waterfall model?

•• DocumentDocument--based verification until late stagesbased verification until late stages•• Attempt to stipulate unstable requirements too earlyAttempt to stipulate unstable requirements too early•• Risk mitigation postponedRisk mitigation postponed•• Operational problems discovered too lateOperational problems discovered too late•• Lengthy modification cycles and much reworkLengthy modification cycles and much rework

TheTheinevitableinevitable

result...result...

Page 5: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 5

The Unified Software Development Processaka RUP

BusinessModeling

Requirements

Analysisand Design

Test

Implementation

Deployment

Config. & ChangeManagement

ProjectManagement

Environment

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransitionPhasesPhases

preliminaryiteration

iter.#1

iter.#2

iter.#n

iter.#n+1

iter.#n+2

iter.#m

iter.#m+1

Organization along Time

Org

aniz

atio

n al

ong

Con

tent

Core WorkflowsCore Workflows

Proc

ess

Proc

ess

Supp

ortin

gSu

ppor

ting

Page 6: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 6

Iterative Development Overview

InceptionInceptionInceptionElaborationElaborationElaborationConstructionConstructionConstructionTransitionTransitionTransition

• System scope & concept• Solution alternatives• SW/HW breakdown• System architecture

• Operational skeletalsystem

• Operational systembuilds

Page 7: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 7

SDP + STPSDP + STPS/W Development PlanS/W Development Plan

S/W Test PlanS/W Test Plan

SSSSSSSystem / SubsystemSystem / Subsystem

SpecificationSpecification

System Level Stages & Products

11System BoundarySystem Boundary

22System RequirementsSystem Requirements

33System DesignSystem Design

44Software PlanningSoftware Planning

CSCICSCIAA

CSCICSCIBB ... CSCICSCI

NN

99System IntegrationSystem Integration

System Charter / System Charter / Vision DocumentVision Document

SSDDSSDDSystem / SubsystemSystem / SubsystemDesign DescriptionDesign Description

Operational system buildsOperational system builds

Ince

ptio

nEl

abor

atio

nC

onst

ruct

ion

Page 8: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 8

CSCI Level Stages

5Software Requirements

6Software Design

7Coding & Unit Testing

8CSCI Validation

Elab

orat

ion

Con

stru

ctio

n

SAD/SDDSAD/SDDSoftware Architecture/Software Architecture/

Design DescriptionDesign Description

SRSSRSS/W S/W Req'rmntsReq'rmnts Spec.Spec.

Source codeSource codemodulesmodules

Operational Operational CSCIsCSCIs

Page 9: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 9

Stage 1: System Boundary•• PurposePurpose

– Provide a common understanding about the system

• client• developers• other stakeholders

•• ActivitiesActivities– Scope– Relationship with external systems– Main requirements

•• ProductsProducts– System charter / Vision document

Level: SystemPhase: Inception

Page 10: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 10

Stage 2: System Requirements•• PurposePurpose

– Define system requirements• at the best level of knowledge

•• ActivitiesActivities– Requirements elicitation from contract, proposal

and other documents– Requirements classification and prioritization– QFD may be utilized

•• ProductsProducts– SSS = System/Subsystem Specification

• Use Case modeling recommended– Requirements base

Level: SystemPhase: Inception

Page 11: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 11

Stage 3: System Design•• PurposePurpose

– Provide a stable proposed solution and architecture

•• ActivitiesActivities– System architectural design– Hardware/software breakdown

• including requirements allocation– Feasibility tests to select alternatives

•• ProductsProducts– SSDD = System/Subsystem Design Description– ICD = Interface Control Description

• External / internal interfaces• Either separate or included in SSDD

Level: SystemPhase: Inception

Page 12: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 12

Stage 4: Software Planning•• PurposePurpose

– Generating a general plan for the software development

•• ActivitiesActivities– Risk Analysis– Iteration planning

• Detailed plan for 1st iteration• General plan for following iterations• Risk allocation to iterations

– Resource allocation– Testing concept and general planning

•• ProductsProducts– SDP = Software Development Plan

• Risk table and mitigation plan• Appendix: 1st iteration detailed plan

– STP = Software Test Plan

Level: SystemPhase: Inception

Page 13: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 13

Stage 5: Software Requirements•• PurposePurpose

– Provide a clear and detailed definition of the software requirements allocated to the appropriate CSCI

• At the current iteration level

•• ActivitiesActivities– Deriving software requirements from system requirements– Building/updating the Use Case model

•• ProductsProducts– Use Case model

• Using CASE tools– SRS = Software Requirements Specification

• Functional requirements (Use Cases)• Non-functional requirements

– Software requirements base• Preferably as part of the system requirements base

Level: CSCIPhase: Elab./Cons.

Page 14: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 14

Stage 6: Software Analysis & Design

•• PurposePurpose– Provide an architecture and design, in various aspects, of the

current iteration• based on previous iterations + current requirements

•• ActivitiesActivities– Analysis and design modeling

• Using UML models

•• ProductsProducts– UML models

• Class model• State charts• Sequence diagrams

– SAD = Software Architecture Description– STD = Software Test Description

Level: CSCIPhase: Elab./Cons.

Top level design

Detailed design

Page 15: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 15

Stage 7: Coding and Unit Testing

•• PurposePurpose– Implementation of software modules

•• ActivitiesActivities– Coding

• Programming, compilation, link– Individual module testing

• Informal documentation• Test coverage and completion approved by STL

•• ProductsProducts– Approved code modules

Level: CSCIPhase: Elab./Cons.

Page 16: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 16

Stage 8: CSCI Validation and Approval

•• PurposePurpose– Approve the CSCI’s readiness for system

integration•• ActivitiesActivities

– Integrating the modules comprising the CSCI– Performing the tests specified in the STD

•• ProductsProducts– Approved CSCI version, ready for system

integration– STR = Software Test Report

• Detailed results of STD tests

Level: CSCIPhase: Elab./Cons.

Page 17: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 17

Stage 9: System Integration and Testing

•• PurposePurpose– Accomplish the iteration with an operational

approved version of the system•• ActivitiesActivities

– Integration– System testing, according to system test

specifications•• ProductsProducts

– Approved version of the system, ready for delivery

Level: SystemPhase: Elab./Cons.

Page 18: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 18

11System BoundarySystem Boundary

22System RequirementsSystem RequirementsIn

cept

ion

Elab

orat

ion

Con

stru

ctio

n

33System DesignSystem Design

44Software PlanningSoftware Planning

System Requirements ReviewSystem Requirements Review

System Design ReviewSystem Design ReviewCSCICSCIAA

CSCICSCIBB ... CSCICSCI

NN

Test Readiness ReviewTest Readiness Review99

System IntegrationSystem Integration

CSCICSCIAA

CSCICSCIBB ... CSCICSCI

NN

99System IntegrationSystem Integration

external reviewexternal review

peer reviewpeer review

Critical Design Review (S/W)Critical Design Review (S/W)

Test Readiness ReviewTest Readiness Review

Iteration Completion ReviewIteration Completion ReviewSystem Level Reviews

Page 19: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 19

CSCI Level Review

external reviewexternal review

peer reviewpeer review

Iteration Plan ReviewIteration Plan Review5

Software Requirements

Elab

orat

ion

Con

stru

ctio

n

Software Specification ReviewSoftware Specification Review

Software Design ReviewSoftware Design Review

6Software Design

7Coding & Unit Testing

8CSCI Validation

selectedselectediterationsiterations

Page 20: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 20

Conclusions•• USDPUSDP--based iterative software development has based iterative software development has

many advantages over the waterfall modelmany advantages over the waterfall model•• The process may be adapted and tailored to host The process may be adapted and tailored to host

most of MILmost of MIL--STDSTD--498 terminology498 terminology– Tailoring requires modified templates

•• The iterative process complies with RAFAEL The iterative process complies with RAFAEL software development proceduressoftware development procedures

•• The tailored process is well accepted by engineers, The tailored process is well accepted by engineers, managers and clientsmanagers and clients

Page 21: Iterative Software Development - Techniontomera/publications... · • USDP-based iterative software development has many advantages over the waterfall model • The process may be

unclassified USDP in Rafael - 21

Contacts

Dr. Amir TomerDirector of Systems & Software

Engineering ProcessesRAFAEL

P.O.Box 2250/1PHaifa, 31021

ISRAEL(+972)-4-879-5989

[email protected]