CS 451 Software Engineering Yuanfang Cai Room 104, University - - PowerPoint PPT Presentation

cs 451 software engineering
SMART_READER_LITE
LIVE PREVIEW

CS 451 Software Engineering Yuanfang Cai Room 104, University - - PowerPoint PPT Presentation

CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Drexel University Are you able to complete your class project on time? 2 Drexel University Agenda Risks Prototype 3


slide-1
SLIDE 1

Drexel University

1

CS 451 Software Engineering

Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu

slide-2
SLIDE 2

Drexel University

Are you able to complete your class project on time?

2

slide-3
SLIDE 3

Drexel University

Agenda

 Risks  Prototype

3

slide-4
SLIDE 4

Drexel University

4

Risk

 Most Problems In Software Development Arise

Because Of Risk

 Things Happen During Development That May

Cause Project Failure

slide-5
SLIDE 5

Drexel University

5

Risk

 Problems That Arise Are Things Like:

 Insufficient Computer Time  Inadequate Software Tools  Critical Staff Leave The Project  Wrong Requirements  Incorrect Design  Expected New Equipment (Hardware Or Software) Fails To

Arrive

 Ambiguous Documents  Projected Schedule Unachievable  Project Cost Estimates Incorrect

 Goal - Risk Reduction  Other Engineering Disciplines Use Predictive Models

slide-6
SLIDE 6

Drexel University

6

Techniques For Risk Reduction

 Prototyping:

 Build A Piece Of The Application In The Risk Area

 Simulation:

 Simulate The Situation

 Benchmarking:

 Try Out Things That Might Be Bottlenecks

slide-7
SLIDE 7

Drexel University

7

Techniques For Risk Reduction

 References:

 See If Others Have Done It Before

 User Questionnaires:

 Ask Users About Their Requirements

 Analytic Modeling:

 Queueing Model, Etc.

slide-8
SLIDE 8

Drexel University

8

Prototyping

 Very Important Risk Reduction Technique  A Software Prototype:

 Actually Executes - It Is A Program  It Has A Lifetime That Depends On Its Purpose(s)  Might Serve Many Purposes  A Key Part Of The Iterative (Spiral) Process

slide-9
SLIDE 9

Drexel University

9

Prototyping

 Throw-Away Prototype

 Build, Use, And Discard  A Throw-Away Prototype Ignores:

 Structure, Efficiency, Reliability,  Documentation, Maintainability, Etc.

 An Evolutionary Prototype:

 Is A Partial Implementation - Implements The Major Risk Areas

First

 Must Follow Good Engineering Principles - Becomes The

Product

slide-10
SLIDE 10

Drexel University

10

Multiple Roles Of Prototyping

 Requirements Analysis:

 Show User Important Parts Of The System  Obtain Users’ Reactions

 Requirements Specification:

 Prototype Defines System Specifications

 Design Feasibility Study:

 Evaluate High Risk Design Decisions

slide-11
SLIDE 11

Drexel University

11

Multiple Roles Of Prototyping

 Human Factors Analysis:

 Optimize System Interface  Mouse vs. Keyboard vs. Voice, Etc.

 User Training:

 Once Specified, Let User Learn About System

 Critical Part Of Modern Software Development

Method - Risk Reduction

slide-12
SLIDE 12

Drexel University

12

Plan a Throw Away Prototype

 Plan multiple prototyping using

Subversion:

 Subversion: http://subversion.apache.org/  An excellent book: “Version Control with Subversion.”

The latest copy can be found at http://svnbook.red- bean.com/ though a paper copy can be bought from O’Reilly.