【软考】下篇 第12章 信息系统架构设计理论与实践

news2024/11/26 7:01:15

目录

    • 一、信息系统架构的定义
    • 二、信息系统架构风格
    • 三、信息系统架构分类
    • 四、信息系统常用的4种架构模型(SCSB)
    • 五、企业信息系统的总体框架ISA
    • 六、TOGAF & ADM
    • 七、信息化总体架构方法
      • 信息化六要素
      • 信息化架构模式
      • 信息系统生命周期(规分设实维)
      • 价值驱动体系结构
    • 八、信息化系统案例分析

一、信息系统架构的定义

信息系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,其对象是直
接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件之间的通信。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指
定了软件系统的组织结构和拓扑结构,而且表示了系统需求和构成组件之间的对应关系,包括
设计决策的基本方法和基本原理。

信息系统架构仍在不断发展中,还没有形成一个统一的、公认的定义,这里仅举出几个较权威的定义。

定义1: 软件或计算机系统的信息系统架构是该系统的一个(或多个)结构,而结构由软件元素元素的外部可见属性它们之间的关系组成。

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

定义3: 信息系统架构是指一个系统的基础组织,它具体体现在:系统的构件构件之间、构件与环境之间的关系,以及指导其设计和演化的原则上。

前两个定义都是按“元素一结构一架构”这一抽象层次来描述的,它们的基本意义相同,其中定义1较通俗,因此,本章采用这一定义。该定义中的“软件元素”是指比“构件”更一般的抽象,元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征等。

为了更好地理解信息系统架构的定义,特作如下说明:
(1) 架构是对系统的抽象,它通过描述元素、元素的外部可见属性及元素之间的关系来反
映这种抽象。因此,仅与内部具体实现有关的细节是不属于架构的,即定义强调元素的“外部
可见”属性。
(2) 架构由多个结构组成,结构是从功能角度来描述元素之间的关系的,具体的结构传达
了架构某方面的信息,但是个别结构一般不能代表大型信息系统架构。
(3) 任何软件都存在架构,但不一定有对该架构的具体表述文档。 即架构可以独立于架构
的描述而存在。如文档己过时,则该文档不能反映架构。
(4) 元素及其行为的集合构成架构的内容。 体现系统由哪些元素组成,这些元素各有哪些
功能(外部可见),以及这些元素间如何连接与互动。即在两个方面进行抽象:在静态方面,关
注系统的大粒度(宏观)总体结构(如分层);在动态方面,关注系统内关键行为的共同特征。
(5) 架构具有“基础”性:它通常涉及解决各类关键重复问题的通用方案(复用性),以及
系统设计中影响深远(架构敏感)的各项重要决策(一旦贯彻,更改的代价昂贵)。
(6) 架构隐含有“决策”, 即架构是由架构设计师根据关键的功能和非功能性需求(质量属
性及项目相关的约束)进行设计与决策的结果。不同的架构设计师设计出来的架构是不一样的,
为避免架构设计师考虑不周,重大决策应经过评审。特别是架构设计师自身的水平是一种约束,
不断学习和积累经验才是摆脱这种约束走向优秀架构师的必经之路

二、信息系统架构风格

信息系统架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了
一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,
而这组约束指出系统是如何将这些构件和连接件组合起来的。

架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,信息系统架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。

信息系统架构风格为大粒度的软件重用提供了可能。然而,对于应用架构风格来说,由于
视点的不同,架构设计师有很大的选择余地。要为系统选择或设计某一个架构风格,必须根据
特定项目的具体特点,进行分析比较后再确定,架构风格的使用几乎完全是特定的。

信息系统架构风格通常也遵循通用的架构风格, Garlan和 Shaw 给出的通用架构风格包括:
(1) 数据流风格:批处理序列;管道/过滤器。
(2) 调用/返回风格:主程序/子程序;面向对象风格;层次结构。
(3) 独立构件风格:进程通信;事件系统。
(4) 虚拟机风格:解释器;基于规则的系统。
(5) 仓库风格:数据库系统;超文本系统;黑板系统。

三、信息系统架构分类

信息系统架构可分为:

  • 物理结构 是指不考虑系统各部分的实际工作与功能结构,只抽象地考察其 硬件系统的空间分布 情况。
    • 集中式 - 集中单机部署
    • 分布式 - 分布式部署
  • 逻辑结构 是指信息系统各种 功能子系统 的综合体
    • 分解维度:职能、产品线、环节、概念
    • 信息系统结构的综合
      • 横向综合 - 同一管理层次进行综合
      • 纵向综合 - 跨越管理层次(上下级)进行综合
      • 纵横综合 - 信息模型、处理模型两方面进行综合

四、信息系统常用的4种架构模型(SCSB)

Standalone
C/S
SOA
ESB

1)单机应用模式Standalone
2)客户机/服务器模式CS - 两层CS、三层CS与B/S结构、多层CS结构、MVC
在这里插入图片描述
3)面向服务模式SOA - 面向服务架构(多个多层C/S系统间进行通信)、Web Service(SOAP、WSDL)、本质(消息机制或者RPC)
4)企业数据交换总线
在这里插入图片描述

五、企业信息系统的总体框架ISA

在这里插入图片描述
战略系统: 战略制定、高层决策支持
业务系统: 业务重组BPR、业务流程管理BPM
应用系统: 应用软件系统 - 事务处理系统TPS、 管理信息系统 MIS、 决策支持系统 DSS、 专家系统ES、 办公自动化系统 OAS、 计算机辅助设计/计算机辅助工艺设计/计算机辅助制造CAD/CAPP/CAM、 制造资源计划系统 MRP Ⅱ等
企业信息基础设置: 技术(计算机、网络、系统软件等)、信息资源(数据、交换形式与标准、处理方法)、管理(管理部门、人员分工、规章制度)

六、TOGAF & ADM

TOGAF(The Open Group Architecture Framework) 开放式企业架构框架标准
ADM (Architecture Development Method) 架构开发方法
在这里插入图片描述
在这里插入图片描述

七、信息化总体架构方法

信息化六要素

实现信息化就要构筑和完善6个要素( 开发利用信息资源,建设国家信息网络,推进信息技术应用,发展信息技术和产业,培育信息化人才,制定和完善信息化政策 )的国家信息化体系。

上鹰(推进信息技术应用)
下鸡(发展信息技术和产业)
左人(培育信息化人才)
右龟(制定和完善信息化政策)
中间织(开发利用信息资源)张网(建设国家信息网络)

信息化架构模式

  • 数据导向架构(重点在数据中心、业务对象及关系的分析和建模、逻辑模型物理模型的转换)
  • 流程导向架构(关注端到端流程整合、SOA是关键方法和技术)

信息系统生命周期(规分设实维)

系统规划阶段 - 可行性研究报告、系统设计任务书
系统分析阶段 - 系统说明书(需求说明书)
系统设计阶段 - 系统设计说明书(概要、详细)
系统实施阶段 - 实施进展报告、系统测试分析报告
系统运行和维护阶段
在这里插入图片描述

价值驱动体系结构

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

反作用力变革催化剂 称为 限制因素,把这三个统称为价值驱动因素。如果系统旨在有效满足其利益相关者的价值模型要求,那么它就需要能够识别和分析价值模型。

八、信息化系统案例分析

Web服务在HL7上的应用 - Web服务基础实现框 架
对于一个给定的卫生保健领域, HL73.0 版本说明书是基于参考信息模型的(RIM)。 这是一种公共的模型框架,包括病例模型、信息模型、交互模型、消息模型和实现信息说明书。
在这里插入图片描述

以服务为中心的企业整合
在这里插入图片描述

本案例中的主要架构元素以及它们之间的工作关系如下。
(1) 信息服务。 Federation Service 是 Ramp Coordination 流程中需要从已有系统中提取4类信息,在Service 建模阶段这4类信息被聚合为 Flight BO(Business Object)。

(2) 企业服务总线中的事件服务。 Event Service 是在检查机务环境安全 (Check Spot) 前,Ramp Coordiator 需要被通知航班已经到达。这个业务事件由航班调度系统激发, Flight Arrival是典型事件发现服务 (Event Detect Service), 它通过 M Q将事件传递给 Message Broker, 通过J M S 的Pub/Sub, 这个事件被分发给 Check Spot。 这里的Event Service 是本例中 E S B 的重要组成部分。通过 E S B 上的通用事件服务,现有Information Hub 的缺陷得到了克服。应用程序间的事件集成不再需要点到点的方式,而是通过 E S B 的事件服务完成订阅发布,应用程序间的耦合性得到了极大的缓解。

(3) 流程服务。 Process Service 是 Ramp Coordination被实现为一个Process Service, 它被WBI SF 的 B P E L 4 W S 容器执行, B P E L 4 W S 容器提供Choreograph Service、Transaction Service和 Staff Service 支持。 Ramp Coordination 通 过RMI/IIOP协议调用,在B P E L 4 W S容器中 WSIF被用于通过各种协议调用服务,它成为 E S B 中 Transport Service 的一部分。 Ramp Coordination中的人工动作被实现为 Staff Service 而集成到流程中。这里, Staff Service通过Portlet 实现,运行在Websphere Portal Server上。 Portal Service 实现部分 Delivery Service支 持P D A设备, R a m pCoordinator 通过P D A设备访问系统。

(4) 企业服务总线中的传输服务。 RCMS 是即将新建系统 , 用于提供包括Ramp Coordination 在 内的Ramp Control 的功能。 RCMS通过由WSIF实现的Transport Service 以SOAP/HTTP 调用 Ramp Coordination 服务。

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

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

相关文章

AI绘画Stable Diffusion【ControlNet】:使用InstantID插件实现人物角色一致性

大家好,我是阿威。 今天我们介绍一下InstantID。它能够实现在保持高保真度身份保留的同时,仅使用单张面部图像参考就可以实现个性化图像合成,并且支持各种不同的风格。 今天我们就来看看在Stable Diffusion的ControlNet插件中InstantID模型…

国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测

目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板,之前使用过Arduino、树莓派3B、树莓派4B,STM32,51单片机,没有想到国产品牌性能一样强劲,使用起来也是很方便…

[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录 [SWPUCTF 2022 新生赛]奇妙的MD5 [GDOUCTF 2023]受不了一点 [LitCTF 2023]作业管理系统 注入点一:文件上传 注入点二:创建文件直接写一句话木马 注入点三:获取数据库备份文件 [LitCTF 2023]1zjs [SWPUCTF 2022 新生赛]奇妙的MD5 …

欧科云链:Web3.0时代 具备链上数据分析能力的公司愈发凸显其价值

在当今激烈的市场竞争中,新兴互联网领域迅速崛起,Web2.0已相对成熟,用户创造数据,但不拥有数据。被视为新的价值互联网的Web3.0,赋予用户真正的数据自主权,它的到来被认为是打破Web2.0垄断的机遇。 在Web3…

寒冬来了,字节跳动开启裁员新模式。。

大家好,我是白露啊。 不得不说,字节跳动还是真的会搞事啊。 最近一段时间,字节搞出了一个裁员新模式:“细水长流”。这个寓意和“财(裁)源(员)广进”计划差不多了,只不…

YOLOv10:实时端到端目标检测

Ao Wang Hui Chen∗  Lihao Liu Kai Chen Zijia Lin  Jungong Han Guiguang Ding Tsinghua University Corresponding Author. 文献来源:中英文对照阅读 摘要 在过去的几年里,YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领…

Java | Leetcode Java题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {Queue<TreeNode> q new LinkedList<TreeNode>();q.offer(u);q.offer(v);while (!q.…

SpringBoot使用redis结合mysql数据库(黑名单)渲染商品详情界面

目录 一、界面效果 二、前端代码 三、后端代码&#xff08;redisblacklist&#xff09; 3.1 ProducatController 3.2 ProductService 3.3 ProductDao 3.4 映射文件 一、界面效果 二、前端代码 商品详情前端代码 <template><van-nav-bartitle"商品详情&quo…

ubuntu24.04LVM扩容问题

目录 一、 开机前设置&#xff1a;扩展 二、 开机后设置&#xff1a;分区管理 通过gparted管理分区有效做法。 一、 开机前设置&#xff1a;扩展 虚拟机关机。打开虚拟机设置。 挂起状态是不能扩容的 这里选择扩容到40G 二、 开机后设置&#xff1a;分区管理 使用gpar…

md5强弱碰撞

一&#xff0c;类型。 1.弱比较 php中的""和""在进行比较时&#xff0c;数字和字符串比较或者涉及到数字内容的字符串&#xff0c;则字符串会被转换为数值并且比较按照数值来进行。按照此理&#xff0c;我们可以上传md5编码后是0e的字符串&#xff0c;在…

拉格朗日插值及牛顿差商方法的实现(Matlab)

一、问题描述 拉格朗日插值及牛顿差商方法的实现。 二、实验目的 掌握拉格朗日插值和牛顿差商方法的原理&#xff0c;能够编写代码实现两种方法&#xff1b;能够分析多项式插值中的误差。 三、实验内容及要求 利用拉格朗日插值及牛顿差商方法估计1980 年的人口&#xff0c;并…

Docker 基础使用 (1)

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx 侧重对docker基本使用的概览。 Docker 软件安装 Linux Ubuntu 依次执行以下指令即可 # 更新软件包列…

Java | Leetcode Java题解之第102题二叉树的层序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> queue new LinkedList<>();List<List<Integer>> res new ArrayList<>();if (root ! null) queue.a…

代码模板,Cookie和Session

目录 代码模板 Cookie的基本使用 概念 Cookie的API public Cookie(String name, String value) 发送Cookie对象到客户端&#xff1a;使用response对象 创建Cookie对象并响应给浏览器 在服务器后端获取Cookie对象 Cookie[]cookiesrequset.getCookies(); Cookie的使用细…

Linux 软件包管理器 yum的下载、功能介绍及使用

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 Linux下的三种软件安装方…

香橙派 AiPro通过Micro USB接口进行串口调试

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、配置步骤1.安装CH343驱动2.配置串口参数 二、使用步骤总结 前言 最近在玩一个新玩具香橙派 AiPro&#xff0c;除了通过SSH方式连接开发板以外&#xff0c;…

创新指南|降低 TikTok CPA 的 9 项专家策略

企业在 TikTok 上投放广告&#xff0c;往往最想确保获得最佳的投资回报。然而&#xff0c;这往往说起来容易做起来难。您需要了解如何利用不同的营销工具、定位策略和创意执行来实现您的业务目标并提高成本效率。本文将分享 9 个行之有效的策略&#xff0c;助您有效降低 TikTok…

【介绍下如何在SQL中添加数据】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Linux——多线程(一)

一、线程的概念 1.1线程概念 教材中的概念&#xff1a; (有问题?) 线程是进程内部的一个执行分支&#xff0c;线程是CPU调度的基本单位 之前我们讲的进程&#xff1a; 加载到内存中的程序&#x…

go-zero 实战(2)

go-zero 实战&#xff08;1&#xff09; 中&#xff0c;使用了go-zero 创建了order 和 user 两个微服务。而order作为grpc的客户端&#xff0c;user 作为grpc的服务端&#xff0c;打通了 order 到 user的调用。接下来&#xff0c;我们在user中&#xff0c;加入mysql组件。确保数…