Object-Oriented Analysis and Design
Software Architectural and Detailed Design
The Software Architectural and Detailed Design activity transforms the software requirements to the system software architecture and software detailed design.
Software Architectural Design – Describes the overall Software structure and behaviour:
Detailed Software Design – includes details of the Components to facilitate their construction and testing within the programming environment:
Why software architectural and detailed design is Important?
Investing effort in the architectural and detailed design activity ensures that the proposed solution (e.g. software to be built) will have been given some thought prior to implementation (e.g., coding). Building something without designing it typically yields a solution that doesn't meet the requirements, is delivered late, exceeds the budget or is of poor quality.
The Software Architectural and Detailed Design activity produces a document termed the Software Design that enables stakeholders to understand the interactions in the software, and the tracing of design elements to the requirements. This provides a way to verify that each requirement has been addressed (e.g., design completeness). The Software Design is also used when maintaining software because it describes the components and their interfaces.
The logical view addresses the conceptual structure of the system. It is an abstraction of the design model, identifying major layers, design packages, subsystems and classes.
The process view addresses the concurrent aspect of the system at run-time: tasks/workflows, threads and processes, and their interactions.
The implementation view describes the organization of static software modules/assemblies in the developerment environment, in terms of packaging, layering, and configuration management.
The deployment view shows hows the various executables and other run-time conponents are mapped onto the underlying platforms or computing nodes.
The user-case view contains a few key scenarios or use cases that are used to drive the architecture and to validate it.
© 2019 Digcode.com. All rights reserved.