software process and problem statements csse 371, software requirements and specification mark...

14
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004

Post on 19-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Software Process and Problem Statements

CSSE 371, Software Requirements and Specification

Mark Ardis, Rose-Hulman Institute

September 3, 2004

Outline

• Cost of errors

• Software lifecycle

• Problem Statements

3

Cost to Fix Errors

RequirementsDesignCodingUnit TestAcceptance TestMaintenance

1 5 25 50125500

Waterfall Model

• Manufacturing life cycle model

• Assumes– multi-stage development cycle– completely separate stages– output of one stage is input for next– each stage complete before next is begun

Waterfall StagesRequirements

Design

Coding

Testing

Maintenance

Advantages

• Much better than chaos!

• Staged deliverables are possible

• Can modify model to allow for feedback

• Clearly defined stages help with – planning, scheduling– management, organization– accountability, control

Disadvantages

• Not very practical (do not know requirements in the beginning)

• No feedback, provision for modification

• Customer sees nothing until last step

8

Spiral Model

• Incremental– more feedback

from customer

• Risk analysis– more rigorous

analysis of risk at each stage

Spiral Model

Synchronize-and-Stabilize

• A version of incremental model used by Microsoft– Interview customers– Prioritize features to be added– Divide work into several builds (parallel)– Synchronize builds daily (!)– Stabilize after builds complete

11

Management

Environment

Business Modeling

Implementation

Test

Analysis & Design

Preliminary Iteration(s)

Iter.#1

Phases

Iterations

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Workflows group activities logically

In an iteration, you walk through all workflows

Process Workflow

Support Workflow

Rational Unified Process Model

12

Cartoon of the Day

13

Agile Manifesto

• We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and tools– Working software over comprehensive documentation– Customer collaboration over contract negotiation– Responding to change over following a plan

• That is, while there is value in the items on the right, we value the items on the left more.

14

Problem Statements

• Function: What the solution must do and how it will be used

• Form: The form the system must take in providing the functional features

• Economy: The expected value and cost of the solution to customers and to your own organization

• Time: The relationship of the solution to past, present, and future