Architecture Design and
Detailed Design
Bread Crumbs: Home - SW_Dev_Proc - Arch & Det Des
Architecture
design and detailed design are two fundamental facets of system design.
Architecture design is more abstract than detailed design and it
specifies the fundamental structure and patterns of the system under
development. Detailed design focuses on all of the implementation
details necessary to implement the architecture that is specified.
The ultimate purpose of
Architectural Design and Detailed Design is to create a system
that fulfills a set of valid requirements. Part of this process
involves creation of the interface design which is very important to
establish as early as possible. This allows detailed test plans to be
completed and for test code implementation to begin. One caveat
associated with an early specification of the interface design is that
it is very painful to change the interface once it has been agreed upon
by the development team. Changing the interface design downstream will
have a huge impact on the project by forcing test plans, test code,
prototype code, detailed designs, and perhaps even product code to be
reworked. The further downstream in the software development process an
interface change takes place, the more severe the effect of the change.
Earlier in this software
development process, the system models were created to obtain a better
understanding of the problem space. At this point in the development
process, the activities are focused entirely on the solution space. The
transition from "what is wanted" to "how it will be accomplished" has
now taken place. This means that the artifacts generated during this
phase of the software development process will require much detail and
precision. The artifacts produced must trace to the requirements
specified earlier in the process so that accuracy can be assured. We
must now build the correct thing correctly.