0% found this document useful (0 votes)
85 views20 pages

Design Process

The document discusses the software design process, which involves transforming requirements into a solution. It describes design as a creative process that produces a workable solution. The ideal design process starts with requirements and produces a software design document, grouping the design into conceptual/architectural and technical aspects. It is an iterative process involving architectural, detailed, logical, and physical design phases. Factors like complexity, changeability, and invisibility influence design. Models are used to simulate system behavior and explore design limitations. The characteristics of a good designer and software design methods are also summarized.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views20 pages

Design Process

The document discusses the software design process, which involves transforming requirements into a solution. It describes design as a creative process that produces a workable solution. The ideal design process starts with requirements and produces a software design document, grouping the design into conceptual/architectural and technical aspects. It is an iterative process involving architectural, detailed, logical, and physical design phases. Factors like complexity, changeability, and invisibility influence design. Models are used to simulate system behavior and explore design limitations. The characteristics of a good designer and software design methods are also summarized.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Software Design Process

SWE2004 - Software Architecture & Design 1


Design Process
• "The Design (Process) is the creative process
of transforming the problem into a solution"
[Pfleeger]
• • "Design produces a workable solution to a
given problem" [Budgen]
• • "Design is the description of a solution"
[Pfleeger]

SWE2004 - Software Architecture & Design 2


The Ideal design process
•Starts from the requirements specification (SRS) and
documents
• Produces the Software Design document SD
• Groups into
– conceptual design/architecture: “WHAT”
– technical design: “ HOW”
• Groups into
– Architectural design (coarse grain design)
– Detailed design (module design, low level design)
• Is incremental and iterative
SWE2004 - Software Architecture & Design 3
Factors affecting development

• Complexity
• Conformity
– Expected to conform to standards by other
components(h/w, s/w, external bodies)
• Changeability
– Software suffers constant need for change, partly because
of the apparent ease of making changes
• Invisibility
– software is ‘invisible’, any forms of representation that are
used to describe it will lack any form of visual link
SWE2004 - Software Architecture & Design 4
Model
A three dimensional representation usually in miniature
of a thing to be constructed (Larousse)
• Provide some form of abstract
• Provide representation of designer’s intention
• Used to predict the behaviour of the system

• Constructing a model allows a designer to explore


the potential limitations of the solution as well as its
behaviour and structure

SWE2004 - Software Architecture & Design 5


General model of software design
process

SWE2004 - Software Architecture & Design 6


Phases in design process
• Two phases are in design process
– First phase
• designer develops highly abstract model of a solution
• architectural or logical design
• This is an initial black box partitioning

– Second phase
• Abstract chunks identified in first phase is mapped to
technologically based units
• Black box to white box

SWE2004 - Software Architecture & Design 7


Major phases in software design process
Requirements
specification

Architectural design
decisions

Logical design details

Detailed design
decisions

Physical design details

SWE2004 - Software Architecture & Design 8


Types of problem
• A familiar problem
• An unfamiliar problem but taken from familiar
domain
• A problem that is totally unfamiliar

Adelson and Soloway

SWE2004 - Software Architecture & Design 9


Key points in designing...
• Use of abstract models to simulate dynamic behaviour of
the system
• Expanding the detail of a model in a systematic manner
• Reuse of previous design plans
• Making notes about future intentions for expansions of
design

SWE2004 - Software Architecture & Design 10


Characteristics of a designer
• Familiarity with the application domain

Skills in communicating Identification with


technical vision to others project performance

SWE2004 - Software Architecture & Design 11


Software design method
• Software Design Method
– Used When a Designer Lacks Experience or is
Unfamiliar With the Problem to be Solved
– Limited to Forms of Design Practice That Can be
Prescribed in a Procedural Manner
• These Methods Provide…
– A Representation Part
– A Process Part
A Set of Heuristics

SWE2004 - Software Architecture & Design 12


contd..

– Representation part
• Provide set of descriptive forms that the designer can
use for building both black box and white box models
• How to describe designer’s ideas
– Process part
• describing how the necessary transformations between
the representation forms are to be organized
• What to do in order to produce a design
• Tasks INvolved

SWE2004 - Software Architecture & Design 13


– Process part
contd..
• describing how the necessary transformations between
the representation forms are to be organized
• What to do in order to produce a design
• Tasks Involved
– Identification of design actions to be performed
– Use of representation forms
– Procedures for transformations between representations
– Quality measures in making choices
– Identification of constraints
– Verification & validation operations

– Heuristics
• provide guidelines on the ways in which the activities
defined in the process part can be organized
SWE2004 - Software Architecture & Design 14
Transformation model of design
activity

SWE2004 - Software Architecture & Design 15


contd..
• Transformation model of a design activity
– Input model
» described by using a suitable ‘representation’
– Output model
» representaion
– Design inputs
» the designer’s information to the model
– Refinement
» elaboration
– Transformation of a viewpoint
» change of representation form or introduce a different
interpretation of the representation form

SWE2004 - Software Architecture & Design 16


Constraints upon design process

Constraints
– Choice of programming language
– Designer skills & knowledge
– Organization of file structures ( look & feel)
– Conventions required by a chosen architectural style
– Form of implementation

Types of Constraints
Problem specific constraints
– the level of user skills that should be assumed for a new
application
Solution specific Constraints
– architectural style

SWE2004 - Software Architecture & Design 17


Recording Design decisions

• Record the actual decisions


• Record the rationale that forms the basis for the final
choice
• Recoding helps maintenance designer to recapture
the existing design and further improvement
• Recording design decisions
• New members of a design team should be able to
absorb knowledge about the project much more
easily

SWE2004 - Software Architecture & Design 18


Designing with others..

• Designing a system through the use of a team


brings two major additional issues
– how to split the design task among the team
– how to integrate the individual contributions to the
design
• psychological factors that influence team behaviour
in designing
– the size of a team
– Giving importance to superior application domain
knowledge people
– the influence of organizational issues within a company
SWE2004 - Software Architecture & Design 19
Thank you

SWE2004 - Software Architecture & Design 20

You might also like