版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件架构与建模软件架构与建模回顾时序图协作图状态图回顾时序图内容安排基本概念体系结构风格包与包图组件图部署图小结与实验内容安排基本概念建筑的例子—狗舍一个人搭建,需要最小化建模简单的过程简单的工具建筑的例子—狗舍一个人搭建,需要建筑的例子—住房一个团队高效和适时地建造,需要仔细的建模良好定义的过程良好的工具建筑的例子—住房一个团队高效和适时地建造,需要建筑的例子—摩天大楼建筑的例子—摩天大楼机构组织的例子—家庭作坊机构组织的例子—家庭作坊机构组织的例子—中小公司机构组织的例子—中小公司机构组织的例子—跨国集团机构组织的例子—跨国集团软件开发—单枪匹马软件开发—单枪匹马软件开发—团队开发软件开发—团队开发软件开发—大型复杂系统的开发软件开发—大型复杂系统的开发系统架构认识与实践程序=数据结构+算法程序=对象+对象系统=构件+构件系统=组件+连接件整体结构>技术细节性能>功能系统架构认识与实践程序=数据结构+算法软件体系结构定义软件体系结构将多组类结合起来,形成一个有机的整体,并且展示各部分之间结构上的相互关系.构件(components)连接件(connectors)配置(configurations)软件体系结构定义软件体系结构将多组类结合起来,形成一个有机的构件构件是指语义完整、语法正确和有可复用价值的单位软件,是软件复用过程中可以明确辨识的元素;结构上,它是语义描述、通讯接口和实现代码的复合体。构件构件是指语义完整、语法正确和有可复用价值的单位软件,是软构件组成构件是计算或数据储存的单元构件可以是计算和状态的场所客户(clients)服务器(servers)数据库(databases)过滤器(filters)层次(layers)抽象数据类型(ADTs)构件可以是简单的或复合的复合构件描述了一个(子)系统构件组成构件是计算或数据储存的单元连接件连接件是对以下内容进行建模的体系结构元素构件之间的交互指导这些交互的规则简单交互过程调用共享变量访问复杂和语义丰富的交互客户/服务器协议数据库访问协议异步事件广播管道数据流连接件连接件是对以下内容进行建模的体系结构元素配置/拓扑体系结构的配置或拓扑是构件和连接件的连接图(connectedgraph),描述了系统结构适当的连接并发和分布特性符合设计启发式规则和风格规则复合构件本身就是配置配置/拓扑体系结构的配置或拓扑是构件和连接件的连接图(con软件体系结构风格是对某个体系结构的一组约束,定义了能满足要求的一组或一族体系结构通用结构:分层、管道过滤器、黑板分布式系统:客户-服务器、三层、中介交互式系统:MVC、表示-抽象-控制可适配系统:微内核、反映式其它:批处理、解释器、进程控制、基于规则软件体系结构风格是对某个体系结构的一组约束,定义了能满足要求典型的体系结构风格典型的体系结构风格管道和过滤器每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入管道和过滤器每个构件都有一组输入和输出,构件读输入的数据流,分层系统层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。这种风格支持基于可增加抽象层的设计。允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件复用提供了强大的支持分层系统层次系统组织成一个层次结构,每一层为上层服务,并作为模型-视图-控制器风格用户控制器视图模型问题领域的应用程序使用操作更新查看模型-视图-控制器风格用户控制器视图模型问题领域的应用程序使客户/服务器风格客户/服务器风格客户/服务器风格-处理流程客户/服务器风格-处理流程三层客户/服务器风格三层客户/服务器风格三层风格-处理流程三层风格-处理流程三层客户/服务器风格三层客户/服务器风格基于层次消息总线的体系结构基于层次消息总线的体系结构区域集成服务器(ZIS)结构区域集成服务器(ZIS)结构异构结构风格异构结构风格结构模型视图用户视图用例图实现视图
结构视图
行为视图
环境视图
类图对象图顺序图协作图状态图活动图组件图部署图结构模型视图用户视图实现视图结构视图行为视图环境视图组件图组件图描述了软件的各种组件和它们之间的依赖关系。组件图中通常包含3种元素:组件、接口和依赖关系。组件图组件图描述了软件的各种组件和它们之间的依赖关系。组件组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。一般情况下,组件表示将类、接口等逻辑元素打包而形成的物理模块。组件可以是源代码组件、二进制组件或一个可执行的组件。每个组件实现一些接口,并使用另一些接口。如果组件间的依赖关系与接口有关,就可以被具有同样接口的其他组件所替代。组件组件是定义了良好接口的物理实现单元,是系统中可替换的组件一个组件包含它所实现的一个或多个逻辑类的相关信息。在UML中,组件用一个左侧带有两个突出小矩形的矩形来表示。组件一个组件包含它所实现的一个或多个逻辑类的相关信息。组件组件在很多方面与类相同-有名称;-可以实现一组接口;-可以参与依赖关系;-可以被嵌套;-可以有实例;-可以参与交互。组件组件在很多方面与类相同组件类和组件之间也存在着差别:-类描述了软件设计的逻辑组织和意图;-组件描述软件设计的物理实现,即每个组件体现了系统设计中特定类的实现。组件类和组件之间也存在着差别:组件-名称每个组件都必须有一个不同于其他组件的名称。组件的名称是一个字符串,位于组件图标内部。实际应用中,组件名称通常是从现实的词汇表中抽取出来的短名词或名词短语,并依据目标操作系统添加相应的扩展名,例如java和dll。组件-名称每个组件都必须有一个不同于其他组件的名称。组件-名称组件的名称有两种:简单名和路径名。简单名只有一个简单的名称;路径名是在简单名的前面加上组件所在包的名称。组件-名称组件的名称有两种:简单名和路径名。组件-名称通常,UML图中的组件只显示其名称,也可以用标记值或表示组件细节的附加栏加以修饰。组件-名称通常,UML图中的组件只显示其名称,也可以用标记值组件-种类在软件系统建模过程中,存在3种类型的组件:配置组件、工作产品组件和执行组件。组件-种类在软件系统建模过程中,存在3种类型的组件:配置组配置组件配置组件是运行系统需要配置的组件,是形成可执行文件的基础。操作系统、Java虚拟机(JVM)和数据库管理系统(DBMS)都属于配置组件。配置组件配置组件是运行系统需要配置的组件,是形成可执行文件的工作产品组件工作产品组件包括模型、源代码和用于创建配置组件的数据文件,它们是配置组件的来源。工作产品组件包括UML图、Java类和动态链接库(DLL)和数据库表等。工作产品组件工作产品组件包括模型、源代码和用于创建配置组件的执行组件执行组件是在运行时创建的组件,是最终可运行的系统产生的允许结果。HTML和XML文档和.NET组件等都是执行组件的例子。执行组件执行组件是在运行时创建的组件,是最终可运行的系统产生组件图标组件的定义非常广泛,如程序源代码、子系统、动态链接库、ActiveX控件等都可以认为是组件。在实际建模过程中,如果仅仅使用一种图标表示组件会造成不便。组件图标组件的定义非常广泛,如程序源代码、子系统、动态链接库一般组件Rose中的组件(Component),即一般意义上的组件。可以用构造型来指定组件类型(Application、DLL、ActiveX、和Executable等)。一般组件Rose中的组件(Component),即一般意义上子程序规范子程序规范通常是一组子程序集合名,子程序中不包括类定义。子程序规范子程序规范通常是一组子程序集合名,子程序中不包括类子程序体子程序体主程序主程序(MainProgram)是包含程序根的文件。主程序主程序(MainProgram)是包含程序根的文件。包规范包是类的实现方法。包规范是类的头文件,包含类中函数的原型信息。在C++中,包规范就是.h文件。包规范包是类的实现方法。包规范是类的头文件,包含类中函数的原包体包体包含类操作代码。C++中,包体就是.cpp文件。包体包体包含类操作代码。C++中,包体就是.cpp文件。任务规范任务表示具有独立控制线程的包。任务规范任务表示具有独立控制线程的包。其他任务体虚包数据库虚子程序其他任务体虚包数据库虚子程序接口在组件图中,组件可以通过其他组件的接口来使用其他组件中定义的操作。通过使用命名的接口,可以避免在系统中各个组件之间直接发生依赖关系,有利于组件的替换。组件图中的接口也使用一个小圆圈来表示。接口在组件图中,组件可以通过其他组件的接口来使用其他组件中定接口接口和组件之间的关系分为两种:实现关系和依赖关系。接口和组件之间用实线连接表示实现关系;用虚线箭头连接表示依赖关系。接口接口和组件之间的关系分为两种:实现关系和依赖关系。接口组件的接口分为两种:导入接口和导出接口。导入接口供访问操作的组件使用,导出接口由提供操作的组件提供。如下图所示,接口Interface对于组件Component来说是导出接口,对于组件Component2来说是导入接口。接口组件的接口分为两种:导入接口和导出接口。依赖关系组件图用依赖关系表示各组件之间存在的关系类型。在UML中,组件图中依赖关系的表示方法与类图中依赖关系相同,都是一个由客户指向提供者的虚线箭头。其中,客户组件依赖于提供者组件;提供者组件只在开发时存在,运行时则不存在。依赖关系组件图用依赖关系表示各组件之间存在的关系类型。组件图建模技术组件图一般用于面向对象系统物理方面的建模,建模时要找出系统中存在的组件、接口以及组件之间的依赖关系。具体的建模步骤如下:⑴对系统中的组件建模。⑵对相应组件提供的接口建模。⑶对组件之间的依赖关系建模。⑷将逻辑设计映射成物理实现。⑸对建模的结果进行精化和细化。组件图建模技术组件图一般用于面向对象系统物理方面的建模,建模实—图书馆管理系统的组件图使用Rose绘制组件图的步骤:⑴创建组件图⑵添加组件⑶增加组件的细节①指定组件的类型。②指定组件语言。③为组件添加声明。⑷增加组件之间的依赖。实—图书馆管理系统的组件图使用Rose绘制组件图的步骤:实例—图书馆管理系统的组件图组件图工具栏按钮简介:实例—图书馆管理系统的组件图组件图工具栏按钮简介:实例—图书馆管理系统的组件图图书馆管理系统的业务对象的组件图实例—图书馆管理系统的组件图图书馆管理系统的业务对象的组件图部署图部署图定义部署图是描述计算机、外部硬件设备及它们构成的物理分布结构。部署图包含两个部分:节点和连接。简单的单机系统部署图包含一台计算机及其外部设备,所有组件都部署在这个节点上在网络支持和系统中,部署图不仅描述每个分布的节点,还描述组件在节点上的分布。定义部署图是描述计算机、外部硬件设备及它们构成的物理分布结构节点节点代表一个运行时计算机系统中的硬件资源。节点通常拥有一些内存,并具有处理能力。例如一台计算机、一个工作站等其它计算设备都属于节点。节点节点代表一个运行时计算机系统中的硬件资源。节点通常拥有一自定义构造型图标自定义构造型图标节点中的构件当某些构件驻留在某个节点时,可以在该节点的内部描述这些构件。对于一张部署图而言,最有价值的信息就是节点上的内容,也就是安装在节点中的构件。节点中的构件当某些构件驻留在某个节点时,可以在该节点的内部描连接节点之间最常见的关系就是关联关系(用一根实线表示),在部署图中,称之为“连接”,表示两个节点之间的物理连接。连接节点之间最常见的关系就是关联关系(用一根实线表示),在部如何绘制部署图绘制系统部署图,可以参照如下步骤进行:
(1)对系统中的节点建模;(2)对节点间的关系建模;(3)对系统中的构件建模,这些构件来自构件图;(4)对构件间的关系建模;(5)对建模的结果进行精化和细化。如何绘制部署图绘制系统部署图,可以参照如下步骤进行:
(案例以一个IC卡考勤系统的例子来说明部署图的绘制过程。确定所需的节点及节点间的连接关系(1)IC卡读卡器:提供给员工刷卡用,它收集刷卡的事件信息,传给应用系统,并存入数据库中。(2)应用服务器:用来负责从IC卡读卡器重收集信息,并对管理人员提供员工设置、考勤查询等功能。(3)数据库服务器:用来存储考勤数据,由于该系统比较小,因此在物理上可以与应用服务器合并。(4)客户端软件:提供给管理人员使用,连接应用服务器,完成相应操作。另:客户端与服务器的连接显然应该是通过网络(假设是百兆以太网),而服务器与IC卡读写器则是通过串口(RS-232C).案例以一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中沙产能合作项目中动力吊架本地化率提升的技术适配性障碍
- 2026年濮阳医学高等专科学校高职单招笔试英语试题库含答案解析3套试卷
- 2026年湘南幼儿师范高等专科学校高职单招笔试化学试题库含答案解析2套试卷
- 2026年湖南现代物流职业技术学院高职单招笔试语文试题库含答案解析3套试卷
- 2026年清远职业技术学院高职单招笔试语文试题库含答案解析3套试卷
- 2026年海南住院医师-海南住院医师预防医学科历年参考题库含答案解析
- 2026年浙江旅游职业学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年浙江交通职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年法律知识法治建设知识竞赛-妇女权益保障法知识历年参考题库含答案解析
- 2026年河南检察职业学院高职单招笔试语文试题库含答案解析3套试卷
- 中国华电集团2026笔试题目及答案详解
- 2026青岛平度市农旅开发建设集团有限公司工作人员招聘(11人)笔试参考题库及答案详解
- 2026年心内科急诊心衰抢救护理配合流程
- 2026年秋人教PEP版新教材小学英语四年级上册教学计划及进度表
- 第1课《开天辟地的大事变》第二课时课件2026-2027学年统编版五年级上册道德与法治
- 《中西医结合》考试题库-2026年山东医师定期考核
- 人教版一年级上册劳动课教案
- 新版2025-2026学年川教版四年级下册信息科技全册教案
- 本科三年级人力资源管理专业:创新薪酬激励方案构建教学设计
- 2026年山东省济南市辅警协警笔试真题及答案
- 2026年《血管活性药物静脉输注护理》团体标准解读
评论
0/150
提交评论