软件体系结构_第1页
软件体系结构_第2页
软件体系结构_第3页
软件体系结构_第4页
软件体系结构_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件体系结构5/12/20241Mail:wyh_925@163.com软件体系结构10.基于UML的SA描述210:基于UML的SA描述1、UML概述2、“4+1”模型5/12/20243Mail:wyh_925@163.comPart10:基于UML的SA描述1、UML概述1.1、UML的内容和组成1.2、UML的应用5/12/20244Mail:wyh_925@163.com1.1、UML的内容与组成语言的公共机制模型的概念和表示法对象约束语言OCL的表达式以条件或限制的形式附加在模型元素上。事物结构性事物对象类Usecase接口(Interface)构件(Component)接点(Node)等行为性事物成组性事物:包(Package)等注释性事物:注释(Note)等交互状态等联系依赖(Dependency)关联(Association)泛化(Generalization)聚合(Aggregation)实现(Realization)图形UML对象图类图UseCase图顺序图协作图状态图活动图构件图配置图动态建模机制51.1、UML的内容与组成泛化(Generalization)即继承

61.1、UML的内容与组成关联(Association):是一种结构关系,它描述了一组链,链是对象之间的连接。71.1、UML的内容与组成聚合(Aggregation)81.1、UML的内容与组成依赖(Dependency)其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。在图形上,把一个依赖画成一条可能有方向的虚线。91.1、UML的内容与组成依赖(Dependency)关联(Association)是一种结构关系,它描述了一组链,链是对象之间的连接。泛化(Generalization)聚合(Aggregation)实现(Realization)104.5软件体系结构与UMLUseCaseDiagramsUseCaseDiagrams用例图ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams构件图ComponentDiagramsComponentDiagrams部署图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图UseCaseDiagramsUseCaseDiagrams序列图StateDiagramsStateDiagrams类图活动图UML1.1、UML的内容与组成111.1、UML的内容与组成(续)语言的公共机制说明(Specification)除图形之外的文字部分(具有语法和语义)装饰(Adornment):细节特性的说明对象和类的划分接口和接口实现的划分构造型(Stereotype)标记值(TaggedValue)约束(Constraint)通用划分(CommonDivision)扩展机制(Extensibility)121.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形c1:公司d1:部门部门名=“销售部”d2:部门部门名=“研发部”d3:部门部门名=“国内部”p1:员工编号=2姓名=“张三”职务=“销售经理”:联系信息地址=“师大路3号”经理131.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形公司员工编号:integer姓名:string职务:string职工工号()职工名()取联系信息()联系信息地址:integer1部门部门名:string1..*0..1***1..*1经理成员{subset}141.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形添加技能删除技能更新技能添加资源删除资源更新资源查找技能查找资源把技能指定给资源从资源中清除技能《Use》《Use》《Use》《Use》《extend》《extend》示例1:资源管理UseCase图151.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形资源管理窗口:用户接口:资源:技能:资源--技能:资源管理员找出资源找出技能把技能加入资源按名找资源按名找技能把技能加入资源[资源中无该技能]对象(对象类角色)时间消息(message)激活期(Activation)生命线(lifeline)条件161.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形:资源资源管理窗口:用户接口:资源—技能:技能1:找出资源2:找出技能3:把技能加入资源1.1:按名找资源3.1:[资源中无该技能]把技能加入到资源2.1:按名找技能消息内容标签连接和消息传递171.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形向上运行Dest_floorEntry:dest_floor=floorDo:上行到dest_floor向下运行Dest_floorEntry:dest_floor=floorDo:下行到dest_floor服务停靠Entry:^Queue.delete(head)空闲Timer=0Do:increasetimer停留在一层GoUp(floor)GoDown(floor)[CurrentFloor=

dest_floor][CurrentFloor=

dest_floor]GoDown(floor)GoUp(floor)GoUp(floor)GoDown(floor)[timer=timeOut/GoDown(firstFloor)]181.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形接收定货填写定单通宵发货接收付款[快速定货]顾客定货处理的活动图接收货款业务流分支处理寄送货票常规发货关闭定货[否则]同步行为发货处理业务流191.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形

业务(源码)不同开发过程的软件产物的构件图

资源管理(源码)

资源管理(对象)

资源管理(执行码)

项目管理(源码)项目管理(对象)项目管理(执行码)

系统管理(源码)系统管理(对象)系统管理(执行码)开发期运行期201.1、UML的内容与组成(续)对象图类图UseCase图顺序图协作图状态图活动图构件图配置图UML图形应用服务器

系统管理(执行码)

通用应用(执行码)数据库服务器DB:数据库资源管理桌面客户资源管理(执行码)项目管理桌面客户项目管理(执行码)打印机打印机项目与资源管理的配置图(C/S三层结构)驻留构件通讯联系211.2、UML的应用(1)可以描述非软件系统:如机械系统、企业结构等;(2)支持软件系统开发的各个阶段:a)需求:UseCase捕获用户需求;b)分析:领域相关的类、对象及其关系;c)设计:与技术实现相关的类,如UI、DB、通讯等;d)编码:将设计的类转化为具体OO语言的代码。e)测试:单元测试:依据类图和规格说明;集成测试:构件图和协作图;系统测试:UseCase来验证系统行为。2210:基于UML的SA描述1、UML概述2、“4+1”模型5/12/202423Mail:wyh_925@163.com2、“4+1”模型---统一软件开发过程RUP构件图(静态)顺序图(动态)协作图状态图活动图RUP的4+1视图逻辑视图(Designview)进程视图(Processview)开发视图(Implementationview)物理视图(Deploymentview)UseCase视图(UseCaseview)类图(静态)对象图顺序图(动态)协作图状态图活动图注重描述线程和进程的主动类;系统有一定的并发行为时使用;配置图(静态)顺序图(动态)协作图状态图活动图功能描述:(静态)用况图;(动态)顺序图、协作图、状态图、活动图类、接口和协作,主要支持功能需求针对系统的性能、可收缩性和吞吐量软件系统的物理分布24

软件体系结构建模解决如何表示软件体系结构问题2、“4+1”模型25

软件体系结构建模的种类

◎结构模型◎框架模型◎动态模型◎过程模型◎功能模型 按体系结构的模型分类,最常用的结构模型和动态模型26

“4+1”模型概述

Kruchten在1995年提出了“4+1”的视图模型。“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。27

“4+1”模型概述

逻辑视图进程视图开发视图物理视图最终用户:功能需求场景编程人员:软件管理系统集成人员:性能可扩充性、吞吐量等系统工程人员:系统拓扑、安装、通信等28

逻辑视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。

在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。29

逻辑视图可以从Booch标记法中导出逻辑视图的标记法,只是从体系结构级的范畴来考虑这些符号,用RationalRose进行体系结构设计。构件实例继承使用包含,聚集关联类层次参数化类类服务类连接件30

逻辑视图逻辑视图中使用的风格为面向对象的风格。 例:某通信系统体系结构的主要类

功能是在终端之间建立连接,终端可以是电话机、通讯线路等

线路控制器对象译码并把所有符号加入到线路接口卡中。终端对象是保持终端的状态会话对象是代表一组参与会话的终端,使用转换服务和连接服务在终端之间建立语音路径31

逻辑视图

对于规模更大的系统来说,体系结构级中包含数十甚至数百个类。例:空中交通管制系统类图,包含8组类。32

开发视图开发视图也称模块视图,主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。33

开发视图与逻辑视图一样,可以使用Booch标记法中某些符号来表示开发视图。34

开发视图在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避免了各个模块之间很复杂的依赖关系。

35

开发视图空中交通管制系统开发视图36

进程视图进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。

37

进程视图通过扩展Booch对Ada任务的表示法,来表示进程视图。38

进程视图通信系统局部进程视图:所有终端由同一终端进程进行处理,由输入队列中的消息驱动。缓慢控制器扫描所有挂起的终端,把活动的终端置入快控制器,快控制器检测任何状态改变,把改变传递给主控制器,主控制器解释改变,通过消息与相应终端进行通信。通过共享内存进行消息传递39

物理视图物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论