Unit Iii
Unit Iii
Unit Iii
Software Design
• Software design is a process to transform user requirements into some
suitable form, which helps the programmer in software coding and
implementation.
• For assessing user requirements, an SRS (Software Requirement
Specification) document is created whereas for coding and
implementation, there is a need of more specific and detailed
requirements in software terms. The output of this process can directly be
used into implementation in programming languages.
• Software design 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
• Design is the specification of the internal elements of all major system components, their
properties, relationships, processing, and often their algorithms and the data structures.
• The detailed design may include:
• Decomposition of major system components into program units.
• Allocation of functional responsibilities to units.
• User interfaces
• Unit states and state changes
• Data and control interaction between units
• Data packaging and implementation, including issues of scope and visibility of program
elements
• Algorithms and data structures
Coupling and Cohesion