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

文章目录

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

1. 概述

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

2. 发展

本段没有要掌握的内容。

3. 定义

  • 定义1:

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

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

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

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

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

  • 定义2:

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

4. 其他概念

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

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

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

相关推荐
幼儿园老大*21 小时前
【系统架构】如何设计一个秒杀系统?
java·经验分享·后端·微服务·系统架构
m0_674031433 天前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
2401_897592643 天前
系统架构演进:从单体到微服务的智能转型
前端·微服务·架构·系统架构
敲上瘾3 天前
深入理解Linux系统内存中文件结构以及缓冲区,模拟实现c语言库文件接口
linux·服务器·c语言·c++·系统架构
huaqianzkh4 天前
了解效率及其子特性:软件性能优化的关键
性能优化·系统架构
小哈里5 天前
【架构设计】现代软件交付中的灵活性与可靠性———云原生与不可变基础设施(微服务/容器化/持续交付,计算/存储/网络)
网络·微服务·云原生·系统架构·云计算
huaqianzkh5 天前
了解MyBatis:一个灵活高效的O/R Mapping解决方案
系统架构·mybatis
huaqianzkh6 天前
数据持久层:构建应用程序与数据源的桥梁
java·数据库·系统架构
一几文6 天前
2024年11月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一)
架构·系统架构·软考高级·软考·系统架构设计师·it考证·架构真题
昵称难产中7 天前
浅谈云计算17 | 分布式存储
分布式·网络协议·云原生·系统架构·云计算