zoukankan      html  css  js  c++  java
  • Architecture Design Process

    Architecture Design Process

    The architecture design process focuses on the decomposition of a system into different components and their interactions to satisfy functional and nonfunctional requirements. The key inputs to software architecture design are −

    • The requirements produced by the analysis tasks.

    • The hardware architecture (the software architect in turn provides requirements to the system architect, who configures the hardware architecture).

    The result or output of the architecture design process is an architectural description. The basic architecture design process is composed of the following steps −

    Understand the Problem

    • This is the most crucial step because it affects the quality of the design that follows.

    • Without a clear understanding of the problem, it is not possible to create an effective solution.

    • Many software projects and products are considered failures because they did not actually solve a valid business problem or have a recognizable return on investment (ROI).

    Identify Design Elements and their Relationships

    • In this phase, build a baseline for defining the boundaries and context of the system.

    • Decomposition of the system into its main components based on functional requirements. The decomposition can be modeled using a design structure matrix (DSM), which shows the dependencies between design elements without specifying the granularity of the elements.

    • In this step, the first validation of the architecture is done by describing a number of system instances and this step is referred as functionality based architectural design.

    Evaluate the Architecture Design

    • Each quality attribute is given an estimate so in order to gather qualitative measures or quantitative data, the design is evaluated.

    • It involves evaluating the architecture for conformance to architectural quality attributes requirements.

    • If all estimated quality attributes are as per the required standard, the architectural design process is finished.

    • If not, the third phase of software architecture design is entered: architecture transformation. If the observed quality attribute does not meet its requirements, then a new design must be created.

    Transform the Architecture Design

    • This step is performed after an evaluation of the architectural design. The architectural design must be changed until it completely satisfies the quality attribute requirements.

    • It is concerned with selecting design solutions to improve the quality attributes while preserving the domain functionality.

    • A design is transformed by applying design operators, styles, or patterns. For transformation, take the existing design and apply design operator such as decomposition, replication, compression, abstraction, and resource sharing.

    • The design is again evaluated and the same process is repeated multiple times if necessary and even performed recursively.

    • The transformations (i.e. quality attribute optimizing solutions) generally improve one or some quality attributes while they affect others negatively

    Key Architecture Principles

    Following are the key principles to be considered while designing an architecture −

    Build to Change Instead of Building to Last

    Consider how the application may need to change over time to address new requirements and challenges, and build in the flexibility to support this.

    Reduce Risk and Model to Analyze

    Use design tools, visualizations, modeling systems such as UML to capture requirements and design decisions. The impacts can also be analyzed. Do not formalize the model to the extent that it suppresses the capability to iterate and adapt the design easily.

    https://www.tutorialspoint.com/software_architecture_design/key_principles.htm

  • 相关阅读:
    linux命令---常用组合
    linux---进程相关的命令
    linux命令---系统监控
    linux命令---find
    linux命令---sort
    linux命令---tar
    linux命令---split
    linux命令---awk进阶
    log4net使用方法
    URL编码:不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10252129.html
Copyright © 2011-2022 走看看