Wash U DARPA PCES PI Meeting Report

Download Report

Transcript Wash U DARPA PCES PI Meeting Report

CSE 436—Software Development Models
Ron K. Cytron
http://www.cs.wustl.edu/~cytron/cse436/
16 October 2006
Today
•
•
•
•
•
Review of software development models
More software development models
Discussion of architecture for today and for SRRD
Break
Groups present block diagram of architecture, turn in
requirements
– These requirements will be graded. If you’re not ready, get them
to me by Friday.
– For architecture
• What are the pieces?
• How do you anticipate assigning them to people?
• What are the resulting interactions
• What is a reasonable schedule for integration and deliverables?
• Plan
CSE 436 Software Engineering Workshop
Waterfall Model
• What is it?
• Describe the 5 steps (next slide)
CSE 436 Software Engineering Workshop
Waterfall Model
•
•
•
•
•
Communication
Planning
Modeling
Construction
Deployment
CSE 436 Software Engineering Workshop
Waterfall Model
• Discussion
– Advantages
– Disadvantages
CSE 436 Software Engineering Workshop
RAD–Rapid Application Deployment
• Explain the diagram below
• For what kinds of projects is it useful?
Communication
Planning
Design
Construction
Design
Design
Construction
Construction
Deployment
CSE 436 Software Engineering Workshop
RAD drawbacks
• Discussion
– Advantages
– Disadvantages
CSE 436 Software Engineering Workshop
Prototyping Model
Explain the diagram below
Communication
Quick plan
Quick design
Deployment, delivery, feedback
Construction of prototype
CSE 436 Software Engineering Workshop
Prototyping Model
• Discussion
– Advantages
– Disadvantages
CSE 436 Software Engineering Workshop
Architecture
• What are the pieces?
– Block diagram
– Interconnection of parts
• What’s a likely development schedule for the
parts?
– Partial order
– Integration schedule
• Which parts will be assigned to the same
person?
– How did you decide who would do what?
• What are the resulting interactions?
– How will they be facilitated?
– How will they be managed?
CSE 436 Software Engineering Workshop
Exodus Simulation
• User input (census data), population distribution, mode
• Big box
– Build initial representation of the graph (initialize)
– Manipuliation of centralized data structures
• Where every car is
• How quickly each road is moving
– Visualizing output (state dump) (reporting)
– Event modeling system (simulate reality)
• Takes in central structures, outputs central structures
– Communication piece w/ algorithm group (get directions)
– Comm piece produces state information back to the algorithms
group
• Visitor
• Car ID
• Need interaction diagram
CSE 436 Software Engineering Workshop
Exodus Algorithm
• Interface from sim
– Mode (slow or quick)
• Control script
– Slow algorithm
– Fast algorithm
• Database for recording results
– For memoization
• Output interface to sim, provides directions
CSE 436 Software Engineering Workshop
VDF
•
•
•
•
•
API
Box of Shapes and Geometry tools
Internal Board Model (Javga 2D?)
Board update box
VDF server
– Drives simulator
– Drives the actual dance floor
• Shape collisions?
CSE 436 Software Engineering Workshop
ElecTech
• Web
– Admin
• Set up election
• Run election when ready
– Voter
• Database
– Aggregates preferences
– Offers standard interface like JDBC
• Authenticate – outside agent
• Evaluator
– Pulls ballots from DB
– Evaluator computes a vote
– Pushes logging information on socket
• Visualizer—outside agent
• Interface between yourself and evaluator
CSE 436 Software Engineering Workshop
Architecture
• SRDD
– Go over parts
– Write up for Friday meetings
CSE 436 Software Engineering Workshop
Spiral Model
What’s missing from this slide?
credit
CSE 436 Software Engineering Workshop
Spiral Model
• Like Prototype model
– Acknowledges need for iteration
• But
– Heavier use of the 5 steps
– Concrete products spun out in each cycle
• Specification
• Prototype
• Beta
• Final
CSE 436 Software Engineering Workshop
Unified Process (UP) Model
• Spiral
• Defined work products
• Phases
– Inception
• Communication and Planning
– Elaboration
• Planning and Modeling (design)
– Construction
• As before
– Transition
• Construction and deployment
– Production
• Is the increment of software produced
CSE 436 Software Engineering Workshop
UP
• Inception
– Vision document
– Project plan
– Business model
• Elaboration
–
–
–
–
Use cases
Preliminary design
Risk identification
Project planning
CSE 436 Software Engineering Workshop
UP
• Construction
– Architecture
– Test plan
– Documentation
• Transition
– Delivered software
– Beta test reports
– User feedback
CSE 436 Software Engineering Workshop
Summary so far
• Models limited or focus on static work products
• Don’t adapt well to changing circumstances or
requirements that evolve
• Next week: Agile Development Models
CSE 436 Software Engineering Workshop