cse 436—software development models ron k. cytron cytron/cse436/ 16 october 2006

21
CSE 436—Software Development Models Ron K. Cytron http://www.cs.wustl.edu/~cytron/cse436/ 16 October 2006

Upload: adelia-norman

Post on 13-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

CSE 436—Software Development Models

Ron K. Cytron

http://www.cs.wustl.edu/~cytron/cse436/

16 October 2006

CSE 436 Software Engineering Workshop

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 Construction

Design Construction

Deployment

CSE 436 Software Engineering Workshop

RAD drawbacks

• Discussion– Advantages– Disadvantages

CSE 436 Software Engineering Workshop

Prototyping Model

Communication

Quick plan

Quick design

Construction of prototype

Deployment, delivery, feedback

Explain the diagram below

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

credit

What’s missing from this slide?

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