Professional Documents
Culture Documents
Design Process
DESIGN
DESIGN DESIGN.
Todays Lecture
1. Intro to Software Engineering
2. Inexact quantities
3. Error propagation
4. Floating-point numbers
5. Design process
6. Teamwork
7. Project planning
8. Decision making
9. Professional Engineering
10. Software quality
11. Software safety
12. Intellectual property
Fall 2004 SE 101 Introduction to Software Engineering 2
Design Models and Processes
An engineering design is a model of the product or
structure to be engineered. The model is used to
Evaluate suitability of proposed product/system
Communicate proposed product to others
2. Definition of the
Design Problem
Analysis
Decision-Making
5. Optimization
6. Evaluation
7. Communication
(Drawings, reports)
2. Definition of the
Design Problem
Analysis
9. Quality Control
Decision-Making
6. Evaluation
7. Communication
(Drawings, reports)
2. Specification
3. Architectural Design
4. Detailed Design
5. Implementation
6. Testing
7. Maintenance
2. Specification
3. Architectural Design
4. Detailed Design
5. Implementation
6. Testing
7. Maintenance
2. Definition of the
Design Problem
1. Requirements
Decision-Making
?
4. Detailed Design
5. Optimization
6. Evaluation ? 5. Implementation
7. Communication
(Drawings, reports) 6. Testing
8. Manufacturing
7. Maintenance
9. Quality Control
Requirements
Specification
Design
Implementation
Testing
time
Testing
Design
Coding
Fall 2004 SE 101 Introduction to Software Engineering 12
4. Agile Methods
3. Spiral Model 4. Agile methods
(e.g., Extreme Programming)
Design
Refactor
Testing
Testing
Design
Design
Refactor
Testing
Pair Programming
Fall 2004 SE 101 Introduction to Software Engineering 14
Brief Comparisons
Attributes Agile Methods Plan-driven Methods
Primary Objective
Project Size
Developers
Project Requirements
Product Architecture
Boehm, Get Ready for Agile Methods, with Care, IEEE Computer, January 2002.
Project Size
Developers
Project Requirements
Product Architecture
Boehm, Get Ready for Agile Methods, with Care, IEEE Computer, January 2002.
Project Requirements
Product Architecture
Boehm, Get Ready for Agile Methods, with Care, IEEE Computer, January 2002.
Product Architecture
Boehm, Get Ready for Agile Methods, with Care, IEEE Computer, January 2002.
Boehm, Get Ready for Agile Methods, with Care, IEEE Computer, January 2002.
Boehm, Get Ready for Agile Methods, with Care, IEEE Computer, January 2002.
5. Implementation time
6. Testing
7. Maintenance
Design
Testing
Design
Refactor
Coding Pair Programming