《系统架构设计师教程(第2版)》第12章-信息系统架构设计理论与实践-01-信息系统架构(ISA)基本概念及发展

文章目录

  • [1. 概述](#1. 概述)
  • [2. 发展](#2. 发展)
  • [3. 定义](#3. 定义)
  • [4. 其他概念](#4. 其他概念)

1. 概述

  • 概念
    • Information System Architecture
    • 指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动
    • 是关于软件系统的结构、行为和属性的高级抽象
      • 描述阶段:
        • 其对象是直接构成系统的抽象组件以及各个组件之间的连接规则
        • 特别是应当细致地描述组件之间的通信
      • 实现阶段:抽象组件被细化为实际的组件(如具体类或者对象)
  • 两个层次
    • 概念层次:包含了艺术、科学、方法和建设风格
    • 物理层次:架构工作之后产生的物理结构及相关结果

2. 发展

本段没有要掌握的内容。

3. 定义

  • 定义1:

    • 信息系统架构是该系统的一个(或多个)结构

    • 由软件元素、元素的外部可见属性及它们之间的关系组成

      • 软件元素:指比"构件"更一般的抽象
      • 元素的外部可见属性:如,它所提供的服务、性能特征等

      吐槽:此处教材原文:"元素的外部可见属性是指其他元素对该元素所做的假设"。这实在不像正常人的认知,感觉是翻译软件干的事情,大老爷们应该也不校对。

      如下解释应该比较合理:元素的外部可见属性是指可以被其他软件元素或系统外部观察到或使用的属性

  • 定义2:

    • 信息系统架构为软件系统提供了一个结构、行为和属性的高级抽象
    • 由构成系统元素的描述、这些元素的相互作用、指导元素集成的模式及这些模式的约束组成

4. 其他概念

  • 仅与内部具体实现有关的细节是不属于架构
    • 原因:定义中强调了元素的外部可见属性
  • 整体中的个别结构不能代表信息系统架构
    • 原因:定义中强调,它是由该系统的一个或多个结构组成
  • 任何软件都存在架构,架构可以独立于架构的描述而存在
    • 原因:不管你写不写文档,架构都在那里
  • 抽象的两个方面
    • 静态方面,关注系统的宏观总体结构。如,分层
    • 动态方面:关注系统内关键行为的共同特征
  • 架构具有"基础"性
    • 通常涉复用性,及影响深远的重要决策

以下,在讲架构的时候都说过,教材这里再次提到,随便看一下即可

  • 影响架构的因素
    • 软件系统的项目干系人对软件系统有不同的要求
    • 开发组织有不同的人员知识结构
    • 架构设计师的素质与经验
    • 当前的技术环境等
  • 这些因素如何影响架构:
    • 通过功能性需求、非功能性需求、约束条件等影响架构设计师的决策,从而影响架构。
  • 架构对上述诸因素具有反作用
    • 如,架构影响开发组织的结构:按架构进行分工,将项目组分为几个工作组
    • 如,影响开发组织的目标:好的架构为开发组织提供了新的商机

相关推荐
架构师Wu老七12 小时前
【软考】系统架构设计师-信息系统基础
系统架构·软考·系统架构设计师·信息系统基础
程序员JerrySUN1 天前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
张彦峰ZYF3 天前
DDD领域应用理论实践分析回顾
分布式·架构·系统架构·软件工程
爪哇学长4 天前
JavaFX 与其他图形库的详细比较:现代架构与性能优势
java·架构·系统架构
J老熊5 天前
RabbitMQ 在 Java 和 Spring Boot 中的应用详解
java·开发语言·spring boot·后端·系统架构·rabbitmq·java-rabbitmq
架构师Wu老七5 天前
【软考】系统架构设计师-计算机系统基础(4):计算机网络
计算机网络·系统架构·软考·系统架构设计师
银帅183350309715 天前
系统架构设计师论文
系统架构·论文笔记
架构师Wu老七6 天前
【软考】系统架构设计师-计算机系统基础(2):操作系统
系统架构·操作系统·软考·系统架构设计师
银帅183350309716 天前
2012年下半年试题一:论基于架构的软件设计方法及应用
架构·系统架构·论文笔记
李元中6 天前
24下软考高级【系统架构设计师】考试难度分析
网络·人工智能·经验分享·算法·系统架构·云计算