Software Design
Software Design
DESIGN
DEFINITION
A process to transform user requirements into
some suitable form, which helps the programmer
in software coding and implementation.
It is the first step in SDLC (Software Design Life
Cycle), which moves the concentration from
problem domain to solution domain. It tries to
specify how to fulfill the requirements mentioned
in SRS.
SOFTWARE DESIGN LEVELS
Architectural Design - The architectural
design is the highest abstract version of the
system. It identifies the software as a system
with many components interacting with each
other. At this level, the designers get the idea of
proposed solution domain.
EXAMPLE: AutoCAD, 3DEXPERIENCE CATIA, Chief
Architect, SketchUp Pro, & TurboCAD
High-level Design- The high-level design
breaks the ‘single entity-multiple component’
concept of architectural design into less-
abstracted view of sub-systems and modules
and depicts their interaction with each other.
High-level design focuses on how the system
along with all of its components can be
implemented in forms of modules. It recognizes
modular structure of each sub-system and their
relation and interaction among each other.
Example: Complete flowchart of the system and
navigation, blueprints
High-level Design- The high-level design breaks the
‘single entity-multiple component’ concept of
architectural design into less-abstracted view of sub-
systems and modules and depicts their interaction
with each other. High-level design focuses on how the
system along with all of its components can be
implemented in forms of modules. It recognizes
modular structure of each sub-system and their
relation and interaction among each other.
Example: software performance requirements, software
external interface requirements, software design
constraints, and software quality attributes
DESIGN TOOLS
Data Flow Diagram
Data flow diagram is graphical representation of flow of data in an
information system. It is capable of depicting incoming data flow, outgoing data
flow and stored data. The DFD does not mention anything about how data flows
through the system.
TYPES OF DFD
Data Flow Diagrams are either Logical or Physical.
Logical DFD - This type of DFD concentrates on the system process, and flow
of data in the system.For example in a Banking software system, how data is
moved between different entities.
Physical DFD - This type of DFD shows how the data flow is actually
implemented in the system. It is more specific and close to the implementation.
COMPONENTS