Introduction to PSPa – PSPa Design
Introduction to PSPa
Personal Software Process Alternate
PSPa Design
A. Winsor Brown
Presentation Objectives and Outline
PSP Design RepresentationQuality Management Processes: PSP2s
· PSP2s' code and design reviews
· PSP's design templates
· PSP2s' focus on yield management:defect removal and prevention strategies
Cyclic Personal Process – PSP3 & Personal Process Definition & Development
· Development strategies to support cycle selection
· Design verification approaches
· PSP's approach for defining & evolving processes
Outline
PSP2
· Personal PSP Reviews
- Code Reviews
- Design Reviews
· Design Templates: Four views; used as needed
· Yield management
- Defect removal strategies
- Prevention strategies
· Design verification approaches
PSP3
· Design and development strategies
PSPa Methods, Techniques and Technologies
PSP levels
PPMP+PSP Methods, Techniques and Technologies
PSP2 Process – Personal Quality Management
Design Review
Principles
· Produce designs that can be reviewed.
· Follow an explicit review strategy.
· Review the design in stages.
· Verify logic correctly implements the requirements.
Designs that can be Reviewed A reviewable design has
· a defined context
· a precise representation
· a consistent and clear structure
This suggests that
· Design’s purpose and function be explicitly stated
· Criteria for design completeness
· Design is structured in logical elements
Design
The Design Framework
Requirements-Specification-Design Cycle Fig. 10.4, pg. 320
System Development Framework
WH Lect 10 page 10: The PSP Design Process PSP & Design (cont.)
PSP focus: design content/representationwhen completed because
· Provides criteria for determining when a given design phase is completed
· Provides a basis for reviewing the design
· Capable of supporting multiple methods:since there is no single best design method; must support all
Levels of design
· Obvious design concepts may not be obvious during implementation
· Reconstructing design context during implementation is time consuming and error prone
· To save time and prevent defects, the design should be precisely recorded when it is conceived
PSP & Design (cont.) WH Lect 10 page 13
Design Representation – Requirements The design representation must
· precisely define all significant design aspects
· include all important details
· communicate the designers’ intent
· help identify design problems and omissions
Design Representation – Requirements Also
· the design should be compact and easy to use
· the design topics must be readily located
· redundancy must be avoided
PSP & Design (cont.)
The Design Dimensions
PSP DesignCritical Information for Implementation
The critical materials that must be Provided by the designers before implementation
· a clear statement of the program’s logic
· a specification of all external calls and references
· a list of all external variables, parameters, and constants
· a specification for all related objects and classes
· a picture of where and how the program fits into the system
· a structural view of the product
Design (cont.)
Design Templates: WH Lect 10 page 20 Four design templates are used in PSP
· Logic specification template - static, internal
· State specification template - dynamic, internal
· Functional specification template - dynamic and static, external
· Operational scenario template - dynamic, external
Examples shown later
PSP & Design (cont.)
Template Dimensions
The Design Hierarchy
Design: The Implementation Hierarchy
Original PSP Design Notation
Class & Set Properties: Logical Operators – Mathematical Notation
Original PSP Design Notation (cont.)
Other Useful Basic Mathematical Symbols
Functional Specification Example
[Note: Original PSP Notation]Template WH Lect 10 page 27
Example State Machine WH Lect 10 page 30
Partial State Specification WH Lect 10 page 31
[Note: Original PSP Notation]
Design Verification (cont.)
Watt's Class Exercise – State Diagram WH Lect 12 page 28
PSP Original Design Verification (cont.)
Exercise – State Template: WH Lect 12 page 29
The "Personal Software Process" PSPPSP3 – Cyclic Development Lect 11 Page 36
PSP3: The cyclic PSP provides
· A framework for using a cyclic development strategy
· Used to develop modest sized programs.
· A larger process
· Contains multiple PSP2.1-like cyclic elements
High-overhead PSP phases done once for total program
· Requirements
· Planning
· Postmortem
PSP3 – Cyclic Development: Process Flow
PSP3 – Cyclic Development: Process Flow with Details
PSP3 Design & Development WH Lect 11 page 28 & 29
Development Strategies
· Required when system is too large to be built in one piece
- it must then be partitioned into elements
- these elements must then be developed
- the developed elements are then integrated into the finished system
· The strategy Provides
- definition of the smaller elements
- establishes the order in which they are developed
- establishes the way in which they are integrated
With appropriate strategy & properly developed elements
- the development process will scale up
- the total development is the sum of the parts plus system design and integration
PSP3 Design & Development (cont.)
Some Development Strategies WH Lect 11 page 29
Many development strategies are possible.
The objective is to incrementally build the system so as to identify key problems at the earliest point in the process.
Some example strategies are
· the progressive strategy
· the functional enhancement strategy
· the fast path enhancement strategy
· the dummy strategy
PSP3 Design & Development (cont.)
The Progressive Strategy WH Lect 11 page 29
PSP3 Design & Development (cont.)
The Functional Enhancement Strategy WH L11 p29
PSP3 Design & Development (cont.)
The Fast Path Enhancement Strategy WH L11 p29
PSP3 Design & Development (cont.)
The Dummy Strategy WH Lect 11 page 29
© 1903 A. Winsor Brown BES/MSEE PSPa--DesignV3.DOC–5 v1.0 - 04/09/03