Title: PROCESS Pass 1
1PROCESS(Pass 1)
- GA Tech CS 3300 AY 2002
- Spring 2002
2Software Engineering Roadmap Chapter 1 Focus
Plan configuration management - how to manage
documents code - document SCMP
Plan quality assurance - how to ensure
quality - document SQAP
Identify corpor- ate practices - assess
capability - specify standards - e.g. CMM level
Plan verification validation - verify the
product satisfies requirements - validate each
phase by showing it succeeded document SVVP
next chapter Plan development process
Plan project
Analyze requirements
Maintain
Development phases
Integrate test system
Design
Test units
Implement
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
3Chapter Learning Goals
- Distinguish among development processes
- Indicate benefits and disadvantages
- Define software quality quantitatively
- Institute collection
- Understand documentation needed
- Approximately one for each waterfall phase
- Plan for configuration management
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
4Some Application Types
- Stand-alone
- residing on a single computer
- not connected to other software or hardware
- e.g., word processor
- Embedded
- part of unique application involving hardware
- e.g., automobile controller
- Realtime
- functions must execute within small time limit
- typically microseconds
- e.g., radar software
- Network
- consist of parts interacting across a network
- e.g., Web-based video game
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
5Typical Project Roadmap
1. Understand nature scope of proposed product
2. Select the development process, and create a
plan -- section 4 and chapter 2
3. Gather requirements -- chapters 3 and 4
4. Design and build the product -- chapters 5,
6, and 7
5. Test the product -- chapters 8 and 9
6. Deliver and maintain the product -- chapter 10
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
6Structured Programming
Function definition handleAccount() getDetailsFr
omUser() getAccount() doTransaction() Fun
ction definition getDetailsFromUser
() getName() ... Function definition
getAccount() getFirstName() ... ...
TOP
DOWN
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
7Object Orientation
Real world concepts
Skljkvjkvjfkavjafkk saovjsdvjfvkfjvkfjk Skljkvjkv
jfkavjafkk saovjsdvjfvkfjvkfjk Skljkvjkvjfkavjafkk
saovjsdvjfvkfjvkfjk Skljkvjkvjfkavjafkk saovjsdvj
fvkfjvkfjk
Direct correspondence
Account getDetails()
Transaction execute()
Customer getFirstName()
Software design entities
Graphics reproduced with permission from Corel.
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
8The COM Idea
Computation interface
Identification interface getName() setName() getSS
N() setSSN()
account COM object
Asset interface
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
9Five Key Expectations (Humphrey)
1. Predetermine quantitative quality goals
Used for process development
Part of the project
2. Accumulate data for subsequent use
3. Keep all work visible
4. A. Design only against requirements B.
Program only against designs C. Test only against
requirements and designs
Aspect of the product
Influenced by people
5. Measure quality
10Artifacts and Roles
USDP term
Symbol examples
Artifacts the entities that software engineering
deals with.
Document
Component -- physical (source code etc.)
Model -- a view of the application (design etc.)
Workers responsibilities allocated to people
(roles).
Worker
Worker instance (e.g., Joe Smith)
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
11The Waterfall Model
Requirements analysis
Produces specification (text)
Design
... diagrams text
Implementation
... code comments
Integration
... entire code
Test
... test report, including defect descriptions
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
12More Detailed Waterfall Version
Concept analysis
Analysis
Design
Implementation unit testing
Integration
System testing
Maintenance
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
13Spiral Development
Product requirements specifications
Productclass models
Step n Analyze requirements
Step n1 Design
complete targeted requirements
Step n3 Test
Step n2 Implement
Product code
Product test results
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
14Incremental Development
Iteration No.
1
2
3
867
868
Update SPMP1
Test whole
Integrate
Update Test documentation
Test units
Update source code
Implement
Design
Update SDD2
Analyze requirements
Update SRS3
1 Software Project Mangement Plan (chapter 2)
2 Software Design Document (chapter 5) 3
Software Requirements Specification (chapter 3)
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
15The Unified Software Development Process
Classification of Iterations
- Inception iterations preliminary interaction
with stakeholders - primarily customer
- users
- financial backers etc.
- Elaboration iterations finalization of whats
wanted and needed set architecture baseline - Construction iterations results in initial
operational capability - Transition iterations completes product release
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
16USDP vs. Standard Terminology ½ (Booch, Jacobson
Rumbaugh)
Classification of iterations
Individual iteration
Elaboration
Inception
Construction
Transition
Iter. k
Iter. 1
Iter. n
Iter. n1
Iter. m
Iter. m1
Prelim. iterations
..
..
Requirements Analysis
USDP calls these core workflows (Classically
called phases)
Design Implemen- tation Test
17USDP vs. Standard Terminology 2 of 2
USDP Terminology
Classical Terminology
Requirements Analysis
Requirements analysis
Design Implementation Test
Design
Implementation
Integration
Test
Adapted from Software Engineering An
Object-Oriented Perspective by Eric J. Braude
(Wiley 2001), with permission.
18Unified Process Matrix
Jacobson et al USDP
Elaboration
Inception
Construction
Transition
Prelim. iterations
Iter. 1
Iter. n
Iter. n1
Iter. m
Iter. m1
Iter. k
..
..
..
Requirements Analysis
Amount of effort expended on the requirements
phase during the first Construction iteration
Design Implemen- tation Test
19The Six USDP Models (Views of the Application)
Use-case model
Test model
Analysis model
Implementation model
Design model
Deployment model
Graphics reproduced with permission from Corel.