版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,体系结构设计与常用的体系结构模型,中法计141 第三组,成员:陈晓雅 程茜茜 崔雪 邓祎迪 杜思琦 范珊珊,主要 内容,2,3,第一部分 体系结构设计,第二部分 体系结构模型,第三部分 详例应用,软件设计,软件设计是将软件需求转换为软件表示的过程,也是一个建模过程,以一系列迭代的步骤建立不同的视图来描述系统。 软件系统设计的5个核心内容: 体系结构设计,模块设计(对象或类设计),用户界面设计,数据库设计,数据结构和算法设计(详细设计)。,体系结构设计,软件初始设计过程的任务是要识别出组成大型系统的多个子系统,并建立子系统的控制和通信框架,这个过程叫做体系结构设计。 它包括识别出系统的主要组件
2、以及它们之间的通信。 体系结构设计是设计过程的初始阶段。 表现为设计和需求工程过程之间的桥梁。 通常是与一些系统描述活动同时进行的。 体系结构设计的输出的一个描述就是软件体系结构。,软件体系结构的相关概念,软件体系结构是一个软件系统的基本组织,它体现在构件、构件间的相互关系以及构件与环境的关系中;它还包括指导系统设计和进化的原则。 软件体系结构并非是可执行的软件,它是一种设计表示,通过该表示使得软件体系结构师能够分析其所完成的设计是否满足软件需求,以减少软件构造过程中存在的风险。,1. 设计准备 2. 确定影响系统设计的约束因素 3. 确定设计策略 4. 系统分解与设计 5. 撰写体系结构设计
3、文档 6. 设计评审,体系结构设计步骤,在大规模软件开发的过程中,软件体系结构设计起着举足轻重的作用,用它来指导整个开发过程,可以准确满足需求并充分提高软件系统的重用性和可维护性. 一个软件系统的体系结构设计的好不好,可以用合适性、 结构稳定性、可扩展性和可复用性等特征来评估。,软件体系结构设计原则,进行体系结构设计的好处 有利于利益相关者之间的沟通 体系结构是系统的一个高层表示,可以作为不同的项目相关人员之间讨论的焦点,有利于设计决策。 2. 有利于系统分析 在系统开发的早期阶段给出系统的体系结构,实际上就是对系统的分析过程。对体系结构的设计决策,对系统能否满足关键性需求具有深远的影响。 3
4、. 有利于大规模复用 体系结构能在具有相似需求的系统之间互用,由此来支持大规模的软件复用。,体系结构表示,1. 常用非形式化的方块图来描述体系结构 2. 非形式化的方块图既没有给出系统组件之间的关系类型,也没有显示出组件可见的外部特性,非常抽象。 3. 有利于不同层次的系统参与人员进行交流与沟通。 每个子系统在图中用一个矩形表示,子系统间的关系用带箭头的连线表示,关系可能包含数据流,“使用”和“被使用”关系,或一些其他类型的依赖关系。,软件工程师可以在给定的体系结构类型中使用许多种不同的体系结构风格和模式,每个模式描述了一个系统类别,它包含:一组完成系统所需功能的构件,一组使构件间通信、协调及
5、合作的连接件,定义如何集成构件以构成系统的约束条件,使设计者能够理解系统整体特性的语义模型。,体系结构的模式,系统特性与体系结构,1 性能方面 2 信息安全性方面 3 系统安全性方面 4 可用性方面 5 可维护性方面,体系结构设计决策,体系结构设计决策包括对应用类型的决策、系统分布的决策、所使用的体系结构类型的决策以及对体系结构应该如何记录和评估的决策,体系结构设计决策,1 对于要开发的系统,是否存在一个一般性的应用体系结构可以拿来当模板? 2 系统将如何分配到多个处理器上? 3有哪个或哪几个体系结构模式或者风格适合本系统? 4 有哪些基本方法可以用来构成该系统? 5 如何将系统中的结构单元分
6、解为模块? 6 应该使用什么样的策略来控制系统中单元的操作? 7 如何评估体系结构设计? 8 如何记录系统体系结构?,体系结构模型,对这些模型的掌握可以简化定义系统体系结构的问题,绝大多数的大型系统的体系结构都包括不同的体系结构类型,并不属于一个单一的类型,软件系统的体系结构要给予特定的体系结构模型,软件系统的体系结构要给予特定的体系结构模型 对这些模型的掌握可以简化定义系统体系结构的问题 绝大多数的大型系统的体系结构都包括不同的体系结构类型,并不属于一个单一的类型,体系结构模型,一个软件系统是由若干个组成部分,按照一定的组织结构形式构成的.这个组织结构形式从概念上就是一个总体性框架,它表达了
7、软件系统各个组成部分之间的关联关系以及控制系统设计和进化的一组原则. 软件体系结构技术中研究的首要问题是:部件的规格定义和体系结构的建模.,1. 容器体系结构模型,组成部分: (1)数据中心:用于表示当前状态的中心数据结构。 (2)客户软件:用于在数据存储中心存储的数据上进行操作的一些独立的部件组合 特点: 容器体系结构模型是基于一个共享数据库的系统模型,该模型适合于数据由一个组件产生而有其他组件使用的情形。 体系结构为该类型的系统例子如管理信息系统(MIS)、CAD系统、CASE工具集、可服用组件库等。,容器体系结构模型的优缺点,能高效的共享数据,无需在组件之间进行数据交换。 组件一定要与容
8、器的数据模型一致。大量信息都按照一致的数据模型生成。 生产数据的组件不需要关心数据如何被其他组件使用。 备份、保密性、访问控制、错误回复等活动都是容器管理员的职责,客户程序主要集中在自己的功能上。不同的组件对这些活动的要求不同,而容器模型迫使所有的组件使用相同的策略。 容器中出现问题会影响整个系统。 是系统的静态结构,不能展现系统运行时的组织。,实例-某管理系统的容器体系结构模型,管理模式中心数据存储 具体项目的管理模式客户软件,2 分层体系结构模型,组成部分: (1)数据服务层:存储数据和提供基本数据服务。 (2)应用接口层:对应存储过程接口,用来维护服务器中数据的一致性和完整性。 (3)应
9、用层:把用户需求转化为针对特定服务器的基本功能。 (4)用户界面层:唯一与用户的交互点。 特点: 1)层与层之间的相对独立性 相对独立,每一层只与其上面的层打交道,无需了解其他层的语义模型在分层模型中,用户界面层、应用层、应用接口层和数据服务层。 2)适用于Internet/Intranet环境 应用层完成客户端管理、维持与多个服务器的链接,负责与数据服务层建立稳定的链接,完成复杂的管理。 3)便于集成管理 在模型中,分布式应用管理程序通过数据传输层与分层模型集成在一起,成为系统不可分割的一部分。 4)通用性 层分布式模型不仅为开发分布式GIS提供了一个框架,而且有助于更清楚地理解分布式系统体
10、系结构的本质。,1)层与层之间的相对独立性 相对独立,每一层只与其上面的层打交道,无需了解其他层的语义模型在分层模型中,用户界面层、应用层、应用接口层和数据服务层。 2)适用于Internet/Intranet环境 应用层完成客户端管理、维持与多个服务器的链接,负责与数据服务层建立稳定的链接,完成复杂的管理。 3)便于集成管理 在模型中,分布式应用管理程序通过数据传输层与分层模型集成在一起,成为系统不可分割的一部分。 4)通用性 4层分布式模型不仅为开发分布式GIS提供了一个框架,而且有助于更清楚地理解分布式系统体系结构的本质。,分层体系结构模型的优缺点,实例-云计算分层体系架构,(1)云客户
11、端用户界面层 是直接面向客户的人机接口。 (2)云应用应用接口层 在软件结构上服务器端采用云计算。 (3)云平台应用层 基于云基础设施,将计算平台或解决方案作为一项服务。 (4)云基础设施应用层 计算机基础设施的交付使用,典型的表现为一个平台虚拟化环境。 (5)服务器层数据服务层 由针对云服务的交付而特别设计的 计算机硬件和计算机软件组成的。,3 软件系统 结构模型,*使用自然语言或图形等较直观的方式来描述和阐明问题。 *结构模型描述系统结构形态,即系统各部分间及其与环境间的关系 *对于理清思路、明确问题,与利益相关者进行沟通,都极为有用,4 管道-过滤器体系结构,系统运行时组织的模型,看作是
12、对相继输入数据的一系列变换。一批数据进入系统,流经一个个组件最后到达终点(输出或数据库)。 组件被称为过滤器,能够对数据进行渐进式的转换(一种流变成另一种流)。数据流的通路称为管道,优缺点,优点: 1、没有复杂的组件交互。 2、支持软件重用:由管道连接起来的过滤器的组合又可以看成一个过滤器,可应用到其他系统中。 3、易于维护:过滤器替换方便 4、支持并行执行过滤器,但要考虑并行执行时数据流之间的同步问题 缺点: 1、适用批量处理方式,不适合构建交互式应用的系统。如对图形化的用户界面,有复杂的输入输出格式、基于事件的鼠标点击或菜单选择的控制信息,将其转换成与数据流模型兼容的格式是困难的。,实例,
13、应用: 典型的应用就是UNIX系统,连接进程时用到管道,从一个进程到另一个进程传送文本流。 还有的应用实例:如传统的数据处理系统(如票据处理)、传统的编译器(词法分析、语法分析、语义分析、代码生成)、数字通信(传递文字、语音、图片、图像等)系统。,5 控制模型,控制模型:考虑子系统之间的控制流 1、集中式模型:一个组件被指定为系统控制器,负责管理它组的执行。调用-返回模型(顺序执行)、管理者模型(并行执行) 2、基于事件的控制:广播模型、中断驱动模型 自上而下的调用,控制始于控制层次的顶层,往往只有一个控制线程,集中式模型-调用-返回模型,组成系统的部件是各个功能模块、层次或对象,连接器是各个
14、部件之间的调用关系。 该模型体现的是部件之间调用与被调用的关系,系统有各个部件通过他们之间的调用与返回方式传递信息构成一个有机的整体,从而实现系统的功能。 调用与返回模型通常有3种形式:主、子调用模型、面向对象模型和层次模型。,优点: 1、通过按照一定的方式(自顶向下、对象描述、层次分解等)对问题进行分解,有利于复杂问题的分析和解决 2、支持基于增量式抽象设计,这就允许把一个复杂问题分成一系列增量的步骤来完成 3、系统功能容易增强。系统可以通过增加或修改模块、对象、层次的功能来实现系统功能的增强。 4、支持部件的重用。 缺点: 1、主调部件需要预先明秋知道被调用部件的接口标识 2、部件接口标识
15、的更改会导致必须修改显示调用它的所有部件,而且这种现象还会进行传递,从而可能导致不可预知的负面影响。 3、主、子调用系统的正确性依赖于构成系统的子系统的正确性,从而子系统的正确性有依赖它所调用的子程序的正确性。,优缺点,实例,应用: 主、子调用结构模型: 早期采用结构化设计方法实现的面向问题的系统是主、子调用模型的应用,系统由主程序、子程序构成,并且子程序集合成模块,这种系统主要体现为由一个主控过程控制着系统的运行。用于美国军方的A-7E机载系统就采用了主、子调用结构模型。 面向对象模型: 飞行模拟器系统的设计 层次模型: 典型应用有分层的通信协议,例如:TCP协议,6、基于事件驱动模型-广播
16、模型,在集中式控制模型中,控制决策通常取决于系统的状态变量值。 事件驱动模型是通过外部产生的事件来驱动系统。 子系统在事件处理器中注册器感兴趣的事件。当事件处理器检测到事件,查阅事件记录,然后将命令传送给所有与此事件有关的子系统,子系统收到命令做相应处理。,优点: 进化较为简单。新的子系统通过在事件处理器中注册事件来达到集成。一个子系统可以在不知道其他子系统的名字和位置的情况下激活其他子系统。(隐式调用) 缺点: 子系统不知道是否或什么时候事件将会被处理。当一个子系统产生一个事件,它不知道哪个子系统与改事件有关。若多个不同的子系统注册了相同的事件,就会发生冲突,优缺点,实例,应用 网络管理系统
17、一般有一个事件服务器,处理被管理网络和网管系统内部发生的所有事件。其他的管理工具如故障管理、性能管理和配置管理等工具,作为事件服务器的客户,在服务器上注册与自己有关的事件。当相关事件发生时,相应管理工具的过程自动被调用。,仓库管理系统的软件体系结构模型,随着企业的规模的扩大,信息管理对企业的发展起到越来越重要的作用。某家电零售商为了提高仓库管理的效率,避免花费大量时间手工进行库存的盘点、统计,所以要实现信息化管理仓库库存。所以这就需要开发一款仓库管理软件来实现商家库存管理,功能需求:,系统分析与设计,首先,针对不同人员(如:商场管理员、采购(入库)员、出库员、和仓库管理员)应在不同的权限下完成
18、指定的操作,并能控制库存业务的流程; 再次,针对库存管理涉及用户较多的特点,为保证系统的安全性,系统应提供灵活的人员权限设置 最后,系统的设计应在满足库存管理要求的基础上,以界面直观,操作简单为原则。,“4+1”视图模型,该视图模型从5个不同的视角,包括逻辑视图、进程视图、物理视图、开发视图、和场景视图来描述软件体系机构。每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。“4+1”视图模型如图1所示,其中图中的实施视图就是开发视图。,“4+1”视图模型,1.逻辑视图,逻辑视图采用的是仓库管理系统的类图,标示了类与类之间的相互关系,从系统构成角度描述正在开发的
19、系统,1.逻辑视图,逻辑视图(Logical view),主要是整个系统的抽象结构表述,关注系统提供最终用户的功能需求,不涉及具体的编译,即输出和部署。在逻辑视图中,系统分解成一系列的功能抽象。这些分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。通常在UML中用类图来描述逻辑视图。类图(Class diagram)显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等,从系统构成角度来描述正在开发的系统 在逻辑视图中,采购入库员、出库员、商场管理员、仓库管理员类是通过系统用户类泛化来的,2.开发视图,提供统一的数据访问接口,对
20、数据进行读写,开发视图又称为模块视图,主要侧重于软件模块的组织和管理。软件可通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人并行开发,缩短开发周期。开发视图要考虑到软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。开发视图中,分为表示层、业务逻辑层、数据库访问层。,2.开发视图,表示层负责界面及用户交互,是应用的用户接口部分,它担负着用户与应用间的对话功能。 业务逻辑层主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。 数据访问层又称为DAL层,有时候也称为是持久层,其功能主要是负责数据库的访问。,2.开发视图,3.进程视图,系统运行时的进程分为3个部分如图。分别是: 客户端进程,主要是向用户展示界面和进行人机交互; 业务逻辑进程,是用来处理系统中的业务逻辑,比如公式解析和计算, 数据的处理等; 数据库和数据仓库进程,主要是用来进行应用资源持久化,数据归集,存储过程的执行等。,进程视图(Process vi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《慢性心力衰竭专科护理|病情观察 + 全套护理措施》教案
- 2026年二建机电暖通管道安装案例专项试卷含答案及解析
- 2026年河南省商丘市中小学编制教师招聘笔试模拟试题及答案详解
- 2026年唐山市古冶区中小学编制教师招聘笔试参考试题及答案详解
- 2026年绥化市北林区中小学编制教师招聘考试备考题库及答案详解
- 【FFA 2026】多模态与向量计算 百炼知识库:全模态知识库能力构建与实践落地
- 2026年淮安市清河区中小学编制教师招聘考试参考试题及答案详解
- 2026年成都市青羊区中小学编制教师招聘考试备考试题及答案详解
- 2025年郑州市邙山区中小学编制教师招聘笔试试题及答案详解
- 2026年上海市中小学编制教师招聘笔试参考试题及答案详解
- 生产跟单绩效考核制度
- 反恐怖防范安全风险评估工作指南(试行)
- 2026年中考历史重要知识点复习提纲
- 2025年山大物理强基笔试试题及答案
- 小学一年级数学应用题集锦(100题)
- 员工权益保障培训课件
- 2025年定向士官心理测试题及答案
- 2025年本科院校科研处招聘笔试预测试题及答案
- 中式烹饪专业介绍
- 动静脉内瘘的感染预防及处理
- 护士分层级管理课件
评论
0/150
提交评论