Software Architectural and Detailed Design Options

codeling 1264 - 5397
@2019-07-12 23:14:39

The Software Architectural and Detailed Design activity transforms the software requirements to the system software architecture and software detailed design.

  • The elements of a software architecture are the main building blocks of a software project, typically subsystems, major components, modules, etc.
  • Detailed design refines the elements of the software architecture and provides a detailed specifications to the programmers responsible for the implementation of the software application.

codeling 1264 - 5397
@2019-07-12 23:49:17

Software Architectural Design – Describes the overall Software structure and behaviour:

  • Identifies architectural design stakeholders and their concerns
  • Identifies relevant architectural mechanisms (patterns, tactics, heuristics, rules of thumb, ...)
  • Identifies the types of views that are relevant to convey the software architecture, taking into consideration the stakeholders concerns and the various requirements (functional and non-functional)
  • Provides relevant software architectural views in various forms (diagrams, models, tables, plain text, ...)
  • Identifies and describes the main elements of the software architecture (subsystems, layers, modules) and their relationships
  • Identifies and describes the required software Components, their interfaces and the relationships among them
  • Describes rationale, provides any analysis used to produce the solution, identifies known risks and inconsistencies.


Detailed Software Design – includes details of the Components to facilitate their construction and testing within the programming environment:

  • Provides detailed design (could be represented as a prototype, flow chart, entity relationship diagram, pseudo code, etc.)
  • Provides format of input / output data
  • Provides specification of data storage needs
  • Establishes required naming conventions
  • Defines the format of required data structures
  • Defines the data fields and purpose of each required data element
  • Provides the specifications of the program structure

codeling 1264 - 5397
@2019-11-07 09:06:36

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.

codeling 1264 - 5397
@2019-11-09 16:57:43

4+1 architectural view model

4+1 architectural view model

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.

Users browsing this topic