Design Concepts
S/w Design Levels Design Process Design Concepts Design within the D
context of SE
1. Architectural Design 1. Abstraction
1. Data Design Elements
2. High Level Design a. Procedural Abstraction
S/W
2. Architectural “ “ Quality
3. Detailed Design Quality Attributes b. Data Abstraction
3. Interface “ ”
Guidelines (FURPS)
2. Architecture
4. Component Level “ “
a. Structural Properties
5. Deployment “ “
b. Extra Functional Properties
c. Families of related systems
i. Structural Models
ii. Framework Models
iii. Dynamic Models
iv. Process Models
v. Functional Models
3. Patterns
4. Separation of Concerns
5. Modularity
6. Information Hiding
7. Functional Independence
a. Cohesion
i. Co-incidental
ii. Logical
iii. Temporal
iv. Procedural Types
v. Communicational
vi. Sequential
vii. Functional
b. Coupling
i. Content Coupling
ii. Common “
iii. Control “
iv. Stamp Data “
8. Refinement
9. Refactoring
10. Design Classes
a. User interface classes
b. Business Domain
c. Process Classes
d. Persistence Classes
Architectural Design
Architectural Considerations Assessing Alternative Architectura
Architectural Styles
Architectural design
1. Data Centered Architecture 1. Economy 1. Collect Scenarios
2. Data Flow “ 2. Visibility 2. Elicit Requirements,
constraints and Environment description
3. Call and Return “ 3. Spacing 3. Describe the Architectural
styles and patterns that have chosen to
4. Object Oriented “ 4. Symmetry the scenarios and
requirements
5. Layered “ 5. Emergence a. Module
b. Process
c. Dataflow
4. Evaluate quality attributes by
considering each attribute in isolation
5. Identify the sensitivity of
quality attributes to
various architectural
attributes for a specific
architectural style
6. Critique candidate
architectures
Requirem
S/W Process Models Engineeri
Nature of S/w S/W Process
1. Defining the s/w 1. Process Framework 1. Prescriptive Models /
a. Inception
2. S/W Applications and a. Communication Traditional Models
b. Elicitation
Domains (SEA PEWA) b. Planning a. Waterfall
i. Problem of Scope
3. Legacy S/W c. modeling b. ‘V’ shape Model
ii. Problems of Understanding d. Construction
c. Incremental Model iii. Problems of Volatility
e. Deployment d. Evolutionary
c. Elaboration
2. Umbrella Activities i. Prototyping
d. Negotiation
a. Software project tracking and control ii. Spiral
b. Risk management e. Concurrent development
Model e. Specification
c. Software quality assurance
f. Validation
d. A technical review
i. Complete Checks
e. Measurement
ii. Consistency Checks
f. Software configuration management
iii. Validity Checks
g. Reusability management
iv. Realism Check
h. Work product preparation and production
v. Ambiguity Checks
vi. Verifiability Checks
g. Management
Building the Requirements Model Agile Models
/ Requirements Analysis
1. SCRUM
1. Scenario Based Model 2. DSDM
2. Class Based Model 3.Crystal
3. Behavioral Model 4. ASD
4. Flow Oriented Model