软件系统设计

Kaleido Lv4

What is Software Architecture

Definition 1: The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. [Software Engineering Institute (SEl)]
程序或计算系统的软件体系结构是系统的一个或多个结构,其中包括软件组件,这些组件的外部可见属性以及它们之间的关系。

Definition 2: The fundamental organization of a system, embodied in its components, their relationships,to each other and the environment, and the principles governing its design and evolution. [IEEE 1471 -2000 Recommended Practice for Architectural Description of Software-Intensive Systems]
系统的基本组织,体现在其组件,它们之间的相互关系以及环境以及支配其设计和演进的原则。

Module 与 Component 的区别:

  • Module(模块):是还没有实现的软件部分
  • Component(组件):是已经实现了的软件部分
  • Element 包含了 Component 和 Module

Architecture vs. Design

  • It’s about software design:
    所有的体系结构都是软件设计,但不是所有的软件设计都是体系结构
    体系结构是设计过程的一个部分
  • Other views:
    体系结构是更高层的设计 high-level designs
    体系结构是设计决策的组合 a set of design decisions
  • Structure/Organization of the system:
    Elements: components & connectors
    Relationships: static & dynamic relationships
  • Properties: elements, groups of elements & overall system
  • Title: 软件系统设计
  • Author: Kaleido
  • Created at : 2024-04-16 10:58:43
  • Updated at : 2024-04-16 11:14:20
  • Link: https://redefine.ohevan.com/2024/04/16/2024-spring-软件系统设计/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments