Spanish Colonization
Spanish Colonization
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.
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.
Detailed Design- Detailed design deals with the implementation part of what is seen as a
system and its sub-systems in the previous two designs. It is more detailed towards
modules and their implementations. It defines logical structure of each module and their
interfaces to communicate with other modules.
SOFTWARE DESIGN
Modularization
Modularization is a technique to divide a
software system into multiple discrete and
independent modules, which are expected to be
capable of carrying out task(s) independently.
These modules may work as basic constructs for
the entire software. Designers tend to design
modules such that they can be executed and/or
compiled separately and independently.
SOFTWARE DESIGN
Modularization
Advantage of modularization:
• Smaller components are easier to maintain
• Program can be divided based on functional aspects
• Desired level of abstraction can be brought in the
program
• Components with high cohesion can be re-used again.
• Concurrent execution can be made possible
• Desired from security aspect
SOFTWARE DESIGN
Concurrency
Implemented by splitting the software into multiple
independent units of execution, like modules and
executing them in parallel. In other words,
concurrency provides capability to the software to
execute more than one part of code in parallel to each
other.
SOFTWARE DESIGN
• Content coupling
• Common coupling
• Control coupling
• Stamp coupling
• Data coupling
SOFTWARE DESIGN
Design Verification