Documentation inthe Waterfall and Spiral methods
Steven BoyerUAH - CPE658 – Spring 2012
1
Overview of Processes
2
What’s what?
• Waterfall– Early model– Invites failure – all
testing at the end of the project
– All requirements realized up front
– No room for error– Requirements
developed, everything works to that
3
4
5
What’s what? – cont.
• Spiral– Envisioned by Barry Boehm (1986)– Waterfall-like, over iterations– “Documents [are] produced when they are required… All
documents will not be created at the beginning of the process, nor all at the end (hopefully). Like the product they define, the documents are works in progress. The idea is to have a continuous stream of products produced and available for user review.” - NASA Software Safety Guidebook.
• NASA-GB-8719.13, March 31, 2004
– Based around risk assessments6
7
What’s what? – cont.
• Agile– Small builds over the course of a small period of time– Implement small number of features at a time– Examples
• Zombies• iAds• WiFi
– Working software over big documents– Less documents produced vs. other methods
• Customer involved more closely• Doesn’t need to have a formal document as they’re with the team
every meeting
8
What’s what? – cont.
9
Everyone’s favorite topic:Documents!
10
Why?
• Show that you have some kind of process• That you’re developing it to spec.• Every requirement has a place and is tested• It’s required (internal purpose, deliverable, for
CPE658 grade, etc.)
11
Which Ones Will This Presentation Highlight?
• SRS –Requirements – what the project is built to
• SDP – Design Plan – How it’s going to be built• SDD – Design Document – How it’s been built• STP – Test Plan – How it’s going to be tested• STD – Test Description – How to test it
12
Quick Note About Information Regarding Agile Process
• I e-mailed back and forth with Alex Mabry (Software Engineer with Adtran)– “Nope. We aren't required to produce any of
those.”• E-mailed with Jay Olive (works on project
using Agile at the Software Engineering Directorate and has document requirements)
• Questions went un-answered– E-mails ignored
13
Requirements SpecificationsWaterfall
• Built early into the project• All future work is tied to this document• If a feature is implemented that isn’t directly
tied to this, can be seen as a waste of time that can be spent elsewhere
• Requirements Phase
14
15
Requirements SpecificationsSpiral
• In the Development & Test quadrant,• In the Next Iteration Quadrant• In the Requirements Quadrant
• Repeats over every arc
16
17
Development PlanWaterfall
• Document on how you plan to develop the project
• Activities outlined and detailed• Changes are going to happen and document is
expected to be revised over the course of the project
• Design Phase
18
19
Development PlanSpiral
• Updated in the Next Iteration Quadrant after an arc finishes
• Incremental and repeats every arc
20
21
Design DocumentWaterfall
• Detailing HOW the project is designed• Classes, algorithms, data structures, etc.
• Spans over the Design and Implementation Phases
22
23
Design DocumentSpiral
• Development & Test Quadrant– Drafted after several arcs
• Again, iterative
– Each arc is a prototype• Iterating towards the final goal of a well-designed
system that’s well documented
– Completed in the final stages of the last arc
24
25
https://uah-course-scheduler.googlecode.com/svn/trunk
Test PlanWaterfall
• How you are going to test• Describes the plans for the Formal
Qualification Test
• Verification Phase
26
27
28
Test PlanSpiral
• Development & Test Quadrant– Over all arcs
• Next iteration Quadrant before the last arc starts
29
30
Test DescriptionWaterfall
• Describes the test preparations, test cases, and test procedures to do a formal test
• Verification Phase
31
32
33
Test DescriptionSpiral
• Development & Test Quadrant on the last arc• Developed over each arc
34
35
Summary
36
SRS
Waterfall• First step: the requirement
phase
Spiral• Development & Test
quadrant• Next Iteration Quadrant• Requirements Quadrant
• OVER EVERY ARC
37
SDP
WaterfallSecond Step: Design phase
SpiralNext Iteration Quadrant after
an arc
38
SDD
Waterfall• Third Step: Design and
Implementation phases
Spiral• Development & Test
Quadrant drafted after several arcs, finished up along the last arc
39
STP
WaterfallFourth Step: Verification phase
SpiralDevelopment & Test Quadrant
across arcsNext Iteration Quadrant before
the last arc starts
40
STD
WaterfallFourth Step: Verification phase
SpiralDevelopment & Test Quadrant
on the last arc
41
Questions?
42