Software Design PDF
Software Design PDF
What is design?
The role of design activity
Design as a problem solving activity
Design as a wicked problem
What is design
Design is a set of activities that need to be
performed by the designer in deriving and
specifying a solution to a problem
Design is a set of activities that need to be
performed by the designer to produce a
workable solution
There is an order or sequence to these actions
There may be more than one possible solution
for a given problem
The fitness of the solution is measured by the
correctness or appropriateness of that solution
Req
Specific
ation
External
Require
ments
Postullate
White box
Design
solution
Functional
specification
List of
mismatches
White box
model
Validate
Solution
By
prototype
Implementation
Of design plan
Using a s/w
Postulate a solution
Build a model of the solution
Evaluate the model against original requirements
Elaborate the model to produce to produce a detailed
specification of the solution
Plan
Initial model
Strategies
Constraints
Modularity
Quality
Reuse
Plans for
Realization of the
design
Constraints
Domain knowledge
Logical design
details
Detailed
design
decisions
Physical design
details
Identification with
Project performance
Design methods
Design patterns
The process part
The representation part
Heuristics
Verification and validation operations
Quality measures
Identification of certain constraints
Design Constraints
Designing Software is Rarely an Unconstrained
Process
Examples of Constraints
Programming Language to be Used
Execution Environment or Operating System
Performance Expectations
User Interface Needs
Answer
To produce a workable (implementable) solution
to a given problem.
Design Constraints
Designing Software is Rarely an Unconstrained
Process
Examples of Constraints
Programming Language to be Used
Execution Environment or Operating System
Performance Expectations
User Interface Needs
Design Qualities
Fitness of Purpose Doesnt Provide an
Absolute Measure of Quality
Correct and Within Constraints May Not be
Enough to Achieve Fitness of Purpose
How Often?
Viewpoints
Viewpoint is defined as a projection of the design model
Different viewpoints encompass design model
A representation ca be used to represent the attributes
or characteristics of the viewpoints
Basically 4 viewpoints are available
Constructional forms
Behavioral forms
Functional forms
Data modeling forms
Constructional forms
Concerned with static aspects of the system ,Files of data,
header files, data in the form of HTML&XML threads, and
packaging constructs.
Concerned with relationships and dependencies among
elements
Behavioral forms
Concerned with the causal links between events and
system responses during execution
Example is finite state machine
Functional forms
Concerned with description of functionality
Behavior of program elements i.e. subprograms
Describing Designs
Recording the Design Model: Design
Viewpoints
Design Representation Forms
Some Examples of Design Representations
Design Viewpoints
Behavior
Describing the Causal Links Between External Events and
System Activities During Execution
Functional
Describing What the System Does
Structural
Describing the Interdependencies of the Constructional
Components
Data Modelling
Describing the Relationships that Exist Between the Data
Objects Used
Design Representation
Forms of Design Representation
Textual
Diagrammatical
Mathematical
Examples
State Charts
Data Flow Diagram (DFD)
Entity Relationship Diagram (ERD)
Design Strategies
Top-down
Separate a Large Problem into Smaller Ones
Compositional
Identifies a Set of Entities That Can be Modeled and
Then Assembled to Create a Model for the Complete
Solution
Organizational
Use Where Development Organization and Management
Structures Impose Constraints Upon the Design Process
Template
Used Where Some General Paradigm Describes a
Reasonably Large Domain of Problems