系统架构设计师【第12章】: 信息系统架构设计理论与实践 (核心总结)

文章目录

    • 12.1 信息系统架构基本概念及发展
      • 12.1.1 信息系统架构的概述
      • 12.1.2 信息系统架构的发展
      • 12.1.3 信息系统架构的定义
    • 12.2 信息系统架构
      • 12.2.1 架构风格
      • 12.2.2 信息系统架构分类
      • 12.2.3 信息系统架构的一般原理
      • 12.2.4 信息系统常用4种架构模型
      • 12.2.5 企业信息系统的总体框架
    • 12.3 信息系统架构设计方法
      • 12.3.1  ADM架构开发方法
      • 12.3.2 信息化总体架构方法
    • 12.4 信息系统架构案例分析
      • 12.4.1 价值驱动的体系结构—连接产品策略与体系结构
      • 12.4.2 Web服务在HL7上的应用—Web服务基础实现框架
      • 12.4.3 以服务为中心的企业整合

12.1 信息系统架构基本概念及发展

12.1.1 信息系统架构的概述

信息系统架构 (Information System Architecture,ISA) 是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动。它是一种总体架构,其自顶向下体现政府、 企(事)业单位的信息系统的各个组成部分和各部分之间的关系,表现为信息系统与相关业务的关系,体现了信息系统与信息技术的关系,是展示了信息、技术与企业及其业务之间关系的模型。

12.1.2 信息系统架构的发展

Zachman提出从信息、 流程、网络、人员、时间和基本原理等6个视角来分析企业,并提供了与这些视角相对应的6个模型,包括 语义、概念、逻辑、物理、组件和功能模型

目前,业界最有名的企业架构框架是 TOGAF ( The Open Group Architecture Framework,Open Group架构框架), TOGAF是一个行业标准的架构框架,它可以被任何希望开发一个信息系统架构的组织在组织内免费使用。

12.1.3 信息系统架构的定义

目前关于信息系统架构较为权威的定义有:

  • (1) 定义1:信息系统架构是系统的结构,由软件元素、元素外部可见属性和元素间关系组成。
  • (2) 定义2:信息系统架构是软件系统结构、行为和属性的高级抽象,由系统元素描述、元素间相互作用、元素集成模式及模式约束组成。
  • (3) 定义3:信息系统架构是系统的基础组织,体现为构件、构件间关系、构件和环境间关系、构件设计和演进的原则。

对于定义的理解:

  • (1)架构是系统的抽象: 元素、元素外部可见属性和元素间关系反映系统的抽象。
  • (2)架构是结构的组合: 结构从功能角度描述元素间关系。
  • (3)系统必然存在架构: 无论是否存在抽象、模型和具体的描述文档。
  • (4)架构是元素的集合: 元素组成系统,元素外部可见属性表现系统功能,元素间关系表现系统对外部刺激的响应;从静态角度,架构关注系统的总体结构(模式);从动态角度,架构关注系统行为的共同特征。
  • (5)架构具有基础特性: 架构具有重复性问题的通用解决方案的复用性,架构在系统设计过 程中通过设计决策对系统造成深远影响,这种影响反映架构敏感。
  • (6)架构隐含设计决策: 架构是对关键功能和非功能性需求进行设计与决策的最终设计结果。

影响架构的因素有:

  • (1)外部干系人: 对系统有不同的关注和需求。
  • (2)内部干系人: 知识结构、素质、经验、技术环境影响需求和设计。

架构对影响因素也具有反作用:

  • (1)影响外部干系人: 业务影响组织结构。
  • (2)影响内部干系人: 架构具有示范性、复用性,提供商机。

12.2 信息系统架构

12.2.1 架构风格

信息系统架构遵循通用的架构风格:

  • 数据流体系结构风格: 批处理,管道-过滤器。
  • 调用/返回体系结构风格: 主程序/子程序,面向对象,层次结构。
  • 独立构件体系结构风格: 进程通信,事件系统。
  • 虚拟机体系结构风格: 解释器,规则系统。
  • 仓库体系结构风格: 数据库,超文本,黑板。

12.2.2 信息系统架构分类

(1)信息系统物理结构包括: 1单体应用;2 分布式结构。

(2)信息系统逻辑结构如下所述。

  • 1)横向综合: 将同一管理层次的各个业务职能综合到一起。
  • 2)纵向综合: 将同一业务的各个管理层次智能综合到一起。
  • 3)纵横综合: 将各个业务的各个管理层次统一综合到一起,主要从信息模型和处理模型两方面着手,建立公用的数据库和统一的信息处理系统。

12.2.3 信息系统架构的一般原理

架构包含两个基本部分: 组成成分和组成成分之间的关系

12.2.4 信息系统常用4种架构模型

1.单机应用模式 (Standalone)
单体应用指运行在单台物理机器上的独立应用程序。应用领域就是信息系统领域,也就是以数据处理为核心的系统。

2.客户机/服务器 (Client/Server) 模式
客户机/服务器是信息系统中最常见的模式,这种模式下客户端和服务器间通过 TCP/UDP 进行请求和应答。常见的客户机/服务器形式有以下几种:

(1)二层 C/S(Client/Server)。这是一种胖客户端,主要是指前台客户端 + 后台数据库的形式。

(2)三层 C/S 和 B/S(Browser/Server) 如下所述。

  • 1)三层 C/S: 前台客户端+后台服务端+后台数据库,
  • 2)瘦客户端: 前台界面和业务逻辑处理分离,前台客户端仅含前台界面。
  • 3)三层 B/S: Web 浏览器+Web 服务器+后台数据库。

B/S 本质是浏览器与服务器间采用基于 TCP/IP 或 UDP 的 HTTP 协议。前台客户端与后台服务
端通信协议有:TCP/IP 协议,基于 TCP/IP 协议通过 Socket 自定义实现的协议,RPC 协议, CORBA/IIOP 协议,Java RMI 协议,J2EE JMS 协议,HTTP 协议。

(3)多层 C/S 和 B/S 结构

  • 1)多层 C/S: 是指三层以上的结构,如图 15.4 所示。形式是前台客户端+后台服务端+中间件 /应用层+数据库,其中,中间件/应用层的作用有以下 3 点:1提高并发性能和可伸缩性;2请求 转发,业务逻辑处理;3增加数据安全性。
  • 2)多层 B/S: 是指三层以上的结构,形式是 Web 浏览器+Web 服务器+中间件/应用层+数据库。

(4)模型-视图-控制器(Model-View-Controller,MVC)
在 J2EE 架构中,形式是:Web 浏 览器(View)+ Web 服务器(Controller 也可以是加上中间件/应用层的形式)+数据库,关于模型 层可根据实际情况与 MV 一起置于 Web 服务器,或单独置于应用层。

3.面向服务架构(SOA)
在 SOA 中服务的概念是指能提供一组整体功能的独立应用系统。这个应用系统被去掉任何一层服务,都将不能正常工作。在实践中,要实现 SOA 可以借助诸如消息中间件、交易中间件等中间件 来实现。SOA 的应用模式最典型、最流行的就是 Web Service,即两个互联网应用之间可以互相向对 方开放一些功能模块、函数、过程等“服务”,然后通过消息机制或远程过程调用(Remote Procedure Call,RPC)这样的中间件去调用对方的服务。面向服务架构主要实践有异构系统集成、同构系统聚 合、联邦架构等。

4.企业服务总线(ESB)/企业数据总线(EDB)
企业总线是企业应用间信息交换的公共通道,具有如下特征:

  • 连接软件系统,主要提供服务代理功能和服务注册表。
  • 按照协议消息头进行数据、请求、回复的接收和分发。
  • 可以基于消息中间件、事务中间件、CORBA/IIOP协议开发构建。

12.2.5 企业信息系统的总体框架

信息系统的架构(Information System Architecture,ISA) 是多维度、分层次、高度集成化的模型。

信息系统的架构内容
要在企业中建立一个有效集成的 ISA,必须考虑企业中的 4 个方面: 战略系统、业务系统、应用系统和企业信息基础设施

  • (1)战略系统。战略系统是指企业中与战略制定、高层决策有关的管理活动和计算机辅助系 统。战略系统由企业战略规划体系、以计算机为基础的高层决策支持系统组成。战略系统是信息系 统对企业高层管理者决策支持的能力,也是企业战略规划对信息系统建设的影响和要求。企业战略 可以分为长期与短期两种,长期规划较为稳定,如调整产品结构。而短期规划适用于如决定新产品 的类型的情况。
  • (2)业务系统。是指企业中完成一定业务功能的各个部分组成的系统,其中的功能通过一些 业务过程来完成,业务过程由一系列相互依赖的业务活动、业务活动先后次序、业务活动执行角色、 业务活动处理相关数据组成。业务系统的作用有:1对企业现有业务系统,过程,活动建模;2在 企业战略指导下,采用业务过程重组优化业务过程;3对企业优化业务系统,过程,活动建模; 4确定相对稳定数据;5以稳定数据为基础,进行应用系统开发和信息基础设施建设。
  • (3)应用系统。应用系统是指信息系统中的应用软件部分。应用系统包括内部功能和外部界 面两个部分。界面部分是应用系统中相对变化较多的部分,主要由用户对界面形式要求的变化引起; 功能实现部分中,相对来说处理的数据变化较小,而程序的算法和控制结构的变化较多,主要由用 户对应用系统功能需求的变化和对界面形式要求的变化引起。
  • (4)企业信息基础设施(Enterprises Information Infrastructure,EII)。是指根据企业当前业务和可预见的发展趋势,及对信息采集、处理、存储和流通的要求,构筑由信息设 备、通信网络、数据库、系统软件和支持性软件等组成的环境。

12.3 信息系统架构设计方法

TOGAF 是国际权威组织 The Open Group(TOG)制订的企业架构标准框架。它为标准、方法论和企业架构专业人员之间的沟通提供一致性保障。TOGAF的能力框架如图:
在这里插入图片描述

TOGAF目标有 4 个:

  • (1) 确保从关键利益相关方到团队成员的所有用户都使用相同的语言。
  • (2) 避免被“锁定”到企业架构的专有解决方案。
  • (3) 节省时间和成本,更有效、合理地利用资源。
  • (4) 实现可观的投资回报率。

TOGAF 的核心思想是:模块化架构,为架构产品提供内容框架,为大型组织开发提供扩展指南, 适用于不同架构风格

TOGAF 的组件有 架构开发方法、架构开发方法指南和技术、架构内容框架、企业连续序列和工具、架构框架参考模型、架构能力框架

12.3.1  ADM架构开发方法

架构开发方法(Architecture Development Method,ADM) 由一组按照架构领域的架构开发顺序而排列成一个环的多个阶段所构成。这些阶段是: 预备、需求管理、架构愿景、业务架构、信息系统架构、技术架构、机会和解决方案、迁移规划、实施治理、架构变更管理。

12.3.2 信息化总体架构方法

信息化内容与模式
信息化包括 4 个方面的内容: 信息网络体系、信息产业基础、社会运行环境、效用积累过程

信息化具有 6 个要素: 开发利用信息资源、建设国家信息网络、推进信息技术应用、发展信息
技术和产业、培育信息化人才、制订和完善信息化政策。

通常信息化包括了 7 个平台: 知识管理平台、日常办公平台、信息集成平台、信息发布平台、
协同工作平台、公文流转平台、企业通信平台。

信息化也具有 6 个特征:
1、易用性;
2、健壮性;
3、平台化、灵活性、扩展性;
4、安全性;
5、门户化、整合性;
6、移动性。

信息化架构具有两种模式:

  • (1) 数据导向架构。关注数据模型和数据质量。
  • (2) 流程导向架构。关注端到端流程整合及对流程变化的适应度。

信息化建设生命周期具体分为: 系统规划、系统分析、系统设计、系统实施、系统运行和维护 几个阶段。

信息化工程总体规划方法主要有:

  • (1)关键成功因素法(Critical Success Factors,CSF)。关键成功因素指的是对企业的成功起
    关键作用的因素。CSF 就是通过分析找出使得企业成功的关键因素,然后再围绕这些关键因素来 确定系统的需求,并进行规划。
  • (2)战略目标集转化法(Strategy Set Transformation,SST)。SST 反映了各种人的要求,而且 给出了按这种要求的分层,然后转化为信息系统目标的结构化方法。
  • (3)企业系统规划法(Business System Planning,BSP)。BSP 通过自上而下地识别系统目标、 企业过程和数据,然后对数据进行分析,自下而上地设计信息系统。

12.4 信息系统架构案例分析

12.4.1 价值驱动的体系结构—连接产品策略与体系结构

1.价值模型概述
价值模型核心的特征可以简化为三种基本形式:

  • (1)价值期望值: 表示对某一特定功能的需求,包括内容(功能)、满意度(质量)和不同 级别质量的实用性。例如,汽车驾驶员对汽车从60英里每小时的速度进行急刹车的快慢和安全性有一种价值期望值。
  • (2)反作用力: 系统部署实际环境中,实现某种价值期望值的难度,通常期望越高难度越大,即反作用力。例如,汽车从60英里每小时的速度进行紧急刹车的结果如何取决于路面类 型、路面坡度和汽车重量等。
  • (3)变革催化剂: 表示环境中导致价值期望值发生变化的某种事件,或者是导致不同结果 的限制因素。

2.体系结构挑战
有几个标准可用于优先化体系结构。建议对以下几点进行权衡。

  • (1)重要性: 受挑战影响的期望值的优先级有多高?如果这些期望值是特定于不多的几个
    背景,那么这些背景的相对优先级如何?
  • (2)程度: 限制因素对期望值产生了多大影响?
  • (3)后果: 大概多少种方案可供选择?这些方案的难度或有效性是否有很大差异?
  • (4)隔离: 对最现实的方案的隔离情况如何?影响越广,该因素的重要性越高。

3.结论
价值模型和软件体系结构的联系是明确而又合乎逻辑的,可以用以下9点来表述。

  • (1) 软件密集型产品和系统的存在是为了提供价值。
  • (2) 价值是一个标量,它融合了对边际效用理解和诸多不同目标之间的相对重要性。目标折中是一个极其重要的问题。
  • (3) 价值存在于多个层面,其中某些层面包含了目标系统,并将其作为一个价值提供者。
    用于这些领域的价值模型包含了软件体系结构的主要驱动因素。
  • (4) 该层次结构中高于上述层面的价值模型可以导致其下层价值模型发生变化。这是制定系统演化原则的一个重要依据。
  • (5) 对于每一个价值群,价值模型都是同类的。暴露于不同环境条件的价值背景具有不同的期望值。
  • (6) 对于满足不同价值背景需要,系统的开发赞助商有着不同的优先级。
  • (7) 体系结构挑战是由环境因素自某一背景中对期望的影响引起的。
  • (8) 体系结构方法试图通过首先克服最高优先级体系结构挑战来实现价值的最大化。
  • (9) 体系结构策略是通过总结共同规则、政策和组织原则、操作、变化和演变从最高优先级体系结构方法综合得出的。

12.4.2 Web服务在HL7上的应用—Web服务基础实现框架

在卫生保健领域,HL7是用来为协同工作而创建的基层结构。HL7使用 参考信息模型 (RIM) 来获得具体领域的信息模型,同时把它们精炼到 HL7 说明书中,结合具体的消息类型自动产生 X M L表单定义 (XSD)。

因为能够被设计所公用,因此这些概念就对它们进行建模,而不是只集中在关于互操作能力的一些技术问题上。我们能够考虑说明书,同时知道如何构建一个应用程序软件,包括角色、协作模式和消息。

12.4.3 以服务为中心的企业整合

以服务为中心的企业集成的主要步骤和涉及的技术,无论是方法学、体系结构还是编程模型都在不断地发展中。随着这些技术的不断完善,以服务为中心的企业集成方案的实施将更加简单高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/846265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型应用:Prompt-Engineering优化原则

1.Prompt-Engineering 随着大模型的出现及应用,出现了一门新兴“技术”,该技术被称为Prompt-Enginerring。Prompt Engineering即提示工程,是指在使用大语言模型时,编写高效、准确的Prompt(提示词)的过程。通过不同的表述、细节和…

【JavaEE 进阶(二)】Spring MVC(下)

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多进阶知识 目录 1.前言2.响应2.1返回静态界面2.2返回数据2.3返回HTML代码 3.综合练习3.1计算器3.2用户登…

ROS简介

ROS概念 学习路线 操作系统 Linux环境下编译执行c文件(需安装vim超文本编辑器) sudo g MyCoding.cpp -o CodeTest //生成一个名字为CodeTest的可执行文件 sudo ./CodeTest //执行c文件版本问题 ROS Melodic Morenia 和 ROS Noetic Ninjemys 是…

基于Django的博客系统之登录增加忘记密码(八)

需求 描述: 用户忘记密码时,提供一种重置密码的方法,以便重新获得账户访问权限。规划: 创建一个包含邮箱输入字段的表单,用于接收用户的重置密码请求。用户输入注册时使用的邮箱地址,系统发送包含重置密码…

CTF本地靶场搭建——基于阿里云ACR实现动态flag题型的创建

接上文,这篇主要是结合阿里云ACR来实现动态flag题型的创建。 这里顺便也介绍一下阿里云的ACR服务。 阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、…

如何恢复 Android 设备上丢失的照片

由于我们的大量数据和日常生活都存储在一台设备上,因此有时将所有照片本地存储在 Android 智能手机或平板电脑上可能是一种冒险行为。无论是由于意外(损坏、无意删除),还是您认识的人翻看您的设备并故意删除了您想要保留的照片&am…

从0开始学统计-什么是回归?

1.什么是回归? 回归(Regression)是统计学中一种用于探索变量之间关系的分析方法。它主要用于预测一个或多个自变量(输入变量)与因变量(输出变量)之间的关系。在回归分析中,我们尝试根…

【Leetcode笔记】40.组合总和II

1. 题目要求 这道题目和39.组合总和不一样的地方在于:数组中含有相同的元素。同样地,结果不能含有重复组合。 拿第一个示例来看, candidates [1, 1, 2, 5, 6, 7, 10]问题在于:第一个path[1(index 0), 2],绝不能出现…

大语言模型实战——最小化模型评测

1. 引言 现在国内外的主流模型,在新模型发布时都会给出很多评测数据,用以说明当前模型在不同数据集上的测评表现(如下面llama3发布的评测数据)。 这些评测数据是如何给出来的呢?这篇文章会用一个最小化的流程来还原下…

echarts绘制三维柱状图

echarts ECharts 是一个使用 JavaScript 实现的开源可视化库,主要用于数据的可视化展示。ECharts 支持丰富的图表类型,如折线图、柱状图、饼图、地图、K线图等,可以满足不同类型数据的展示需求。 文档地址:echarts 本次所绘制三…

从零开始实现自己的串口调试助手(3) - 显示底部收发,优化串口打开/关闭

注意: 1. 我们要实现自发自收,要将tx,rx连起来 2.发送的 不能是中文符号,因为这可能导致,读取到的是英文符号 --> 导致接收到的size 和发送的size 大小不一致 3.注意同时定义两个槽函数的时候两个槽函数都会被调用,…

MySQL数据表的设计

实际工程中, 对于数据表的设计和创建, 我们遵循以下步骤: 首先确定实体, 找到关键名词, 提取关键信息, 设计表有哪些列, 每一列是什么. (有几个实体, 一般就创建几个表, 一般一个表对应一个实体) 实体之间的关系: 1. 一对一关系 例如: 一个学生, 只能有一个账号; 一个账号只…

基于单片机的病床呼叫系统设计研究

摘要:随着无线技术的快速发展,无线应用技术已经运用到人们生产生活中的多个领域,运用无线技术来设计病床呼叫系统能够实现无线信号的远距离传输,减少材料耗费,使医患之间的沟通更加便捷,该系统运用单片机作…

决定短视频打开率的要素:成都鼎茂宏升文化传媒公司

​ 在当下这个短视频盛行的时代,无论是个人创作者还是企业品牌,都希望通过短视频平台获得更多的曝光和关注。然而,如何让自己的短视频在众多内容中脱颖而出,吸引用户的点击和观看,成为了摆在我们面前的重要问题。成都…

nginx隐藏版本号、错误信息页面隐藏nginx软件、修改 HTTP 头信息中的connection 字段,防止回显具体版本号、curl命令

目录 安装之后隐藏 配置文件 源代码配置安装之前隐藏 修改nginx.h文件中的 13、14行 修改 HTTP 头信息中的connection 字段,防止回显具体版本号 配置文件49行 错误页面程序返回版本号、nginx隐藏 配置文件36行 ​编辑 安装nginx 相关选项说明 curl命令测试…

更新详情 | Flutter 3.22 与 Dart 3.4

作者 / Michael Thomsen 过去几个月,Dart & Flutter 部门可谓忙碌非凡,但我们很高兴地宣布,Flutter 3.22 和 Dart 3.4 已经在今年的 Google I/O 大会上精彩亮相! Google I/Ohttps://io.google/2024/intl/zh/ 我们始终致力于提…

记一次mysql索引优化

生产日志告警出现一条慢 sql 告警, 通过 sql 监控平台拿到 这条sql 语句是 : SELECTid,report_id,report_detail_id,item_code,report_type,photo FROM**** 表 WHEREdel_flag 0 AND (report_type 1 AND report_detail_id IN ( 1742 )) 之后用 explain 分析这条 sql 的命中…

FPGA新起点V1开发板(九)——流水灯

文章目录 一、模块框图二、代码编写三、注意点四、总结 一、模块框图 二、代码编写 endmodule下面需要敲出一个回车代码拼接是大括号 led < {led[2:0],led[3]}注意二进制和十进制 module flow_led(input sys_clk50,input rst_n,output reg [3:0] le…

Java开发分析工具:JProfiler 14 for Mac/win 激活版下载

JProfiler是一款功能强大的Java应用程序性能分析工具&#xff0c;适用于Java开发人员和企业用户&#xff0c;可帮助他们识别和解决Java应用程序中的性能问题&#xff0c;提高应用程序的性能和稳定性。使用JProfiler&#xff0c;开发人员可以实时查看Java应用程序的性能数据&…

Redis数据类型(下篇)

5.Redis有序集合zset(sorted set) 本质就是在set的基础上&#xff0c;每个val值前面加了一个score分数值。 &#xff08;1&#xff09;向有序集合中添加多个&#xff08;或者一个&#xff09;元素和其对应的分数 127.0.0.1:6379> zadd zset1 100 a 90 b 80 c 70 d 60 e (…