SDA-Software Design Process
SDA-Software Design Process
Spring-2023
Outline
• Design Phase
• Design Process
• Software Architecture
Design Phase
4
Design Process
• Software design is an iterative process through which
requirements are translated into a design for
constructing the software.
Design Process
• The software design process can be divided into the
following three levels of phases of design:
1.Architectural Design
2.Detailed Design
3.Construction Design
Design Process –Architectural Design
• is the specification of the major components of a
system, their responsibilities, properties, the
relationships and interactions between them.
• In architectural design,
– the overall structure of the system is chosen, but
the internal details of major components are
ignored.
Design Process –Architectural Design
• It includes
– Gross decomposition of the systems into major
components.
– Allocation of functional responsibilities to
components.
– Component Interfaces
– Communication and interaction between
components.
Design Process –Architectural Design
• Design of the internals of the major components is
ignored until the last phase of the design
Bank Management System
Design Process-Architectural Design
– is represented at a high level of abstraction
• a level that can be directly traced to the specific system
objective and more detailed data, functional, and
behavioral requirements.
Design Process –Architectural Design
• Architecture Design Examples
• From the systems engineering perspective
– architectural designs can provide
• information about the physical deployment of the system,
including subsystems located at different locations, the artifacts
executing in the subsystems, and how the system as a whole
communicates.
• From the configuration management perspective
– architectural designs can provide
• information about the hierarchy of files in the file system and how
these files are interconnected to build and deploy the software
system.
Design Process –Architectural Design
• Architecture Design Examples
• From the software engineering perspective
– different architectural designs can help
• decompose the software and define the major structural components of the system, identify
interfaces between the components, map the requirements to them, and provide overall insight
into the design solution.
Configuration management’s
perspective
change management processes
(design created, modified, and
improved)
Software Design Management
Ways to assess Quality of Design