第2讲-软件体系结构建模.ppt
- 文档编号:2648522
- 上传时间:2022-11-05
- 格式:PPT
- 页数:68
- 大小:1.11MB
第2讲-软件体系结构建模.ppt
《第2讲-软件体系结构建模.ppt》由会员分享,可在线阅读,更多相关《第2讲-软件体系结构建模.ppt(68页珍藏版)》请在冰豆网上搜索。
哈尔滨工业大学计算机学院唐好选Email:
软件体系结构建模主要内容主要内容p软件体系结构建模概况p利用UML描述软件体系结构p利用“4+1”模型描述软件体系结构结构模型框架模型动态模型过程模型功能模型软件体系结构建模的种类软件体系结构建模的种类结构模型结构模型p结构模型方法是最直观、最普遍的软件体系结构建模方法。
这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。
p研究结构模型的核心是体系结构描述语言框架模型框架模型p框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体结构p框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
如应用广泛的MVC(模型-视图-控制器)框架模型解决了用户界面与业务实现相分离的问题动态模型动态模型p动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。
例如,描述系统的重新配置或演化。
动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程过程模型过程模型p过程模型研究构造系统的步骤和过程p结构是遵循某些过程脚本的结果功能模型功能模型p功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务p功能模型可以看作是一种特殊的框架模型软件体系结构构件连接件拓扑约束性能接口服务角色配置1*软件体系结构的核心模型软件体系结构的核心模型软件体系结构的核心模型软件体系结构的核心模型-构件构件p构件是一种可部署的单元,具有规范的接口规约和显式的语境依赖,而接口功能由构件内部封装的服务来实现客户构件服务接口软件体系结构的核心模型软件体系结构的核心模型-连接件连接件p连接是构件间建立和维护行为关联与信息传递的途径p连接需要两方面的支持:
p连接发生和维持的机制实现连接的物质基础(机制)p连接能够正确、无二义、无冲突进行的保证连接正确有效的进行信息交换的规则(协议)p连接件(Connector):
表示构件之间的交互并实现构件之间的连接,连接件也可看作一类特殊的构件,区别在于:
p一般构件是软件功能设计和实现的承载体p连接件是负责完成构件间信息交换和行为联系的专用构件软件体系结构建模的三个层次软件体系结构建模的三个层次p图形化模型:
SA模型的多视图表示,从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的SA模型p形式化模型:
SA描述语言(ADL),在SA基本概念的基础上,选取适当的形式化或半形式化的方法来描述一个特定体系结构p文档化模型:
SA文档化,记录和整理软件体系结构设计方案的各类细节软件体系结构的生命周期模型软件体系结构的生命周期模型体系结构的非形式化描述体系结构的形式化基础(数学模型)体系结构的规范描述体系结构演化体系结构提供、评价和度量体系结构的终结体系结构实施体系结构求精的验证体系结构求精体系结构的性质分析需要演化或扩展否否是需要求精否是否主要内容主要内容p软件体系结构建模概况p利用UML描述软件体系结构p利用“4+1”模型描述软件体系结构UML用若干个不同的视图完整描述所建造的系统,每个视图(View)是由若干幅图(diagram)组成的一种抽象,而每一幅图又有若干个模型元素组成模型元素表示图中的概念,如类(class)、对象(object)、用例(use-case)、结点(node)、接口(interface)、包(package)、注解(note)、构件(component)等用于表示模型元素之间相互连接的关系也是模型元素,如关联(Association)、泛化(generalization)、依赖(dependency)、聚集(aggregation)等回顾回顾UMLUML结构图结构图UML事物事物关系关系图图结构事物行为事物分组事物辅助事物依赖关系泛化关系聚集关系关联关系静态图动态图用例图部署图类图构件图对象图顺序图活动图状态图协作图交互状态机包注释节点组件活动协作接口类用例共享聚集组合聚集类类属性操作对象对象属性操作状态状态用例用例结点结点包包注解注解构件构件接口接口关联关联依赖依赖组合组合聚集聚集共享共享聚集聚集泛化泛化细化细化u静态图(StaticDiagram)u用例图(use-casediagram):
展示了各种外部行为者与系统所提供的用例之间的连接.u类图(classdiagram):
描述系统中类的静态结构,即类与类之间的相互联系u对象图(objectdiagram):
是类图的实例,展示了系统在某一时间点上的一个快照u构件图(componentdiagram):
描述实现系统的元素组织u部署图(deploymentdiagram):
描述系统环境元素的配置,即系统中软件和硬件的物理结构关于图关于图(diagram)(diagram)的说明的说明u动态图(DynamicDiagram)u时序图(sequencediagram):
按时间顺序描述系统元素间交互u协作图(collaborationdiagram):
说明消息的交互,显示对象及对象之间的关系u状态图(statediagram):
说明类的对象的所有可能的状态以及哪些事件将导致状态的改变u活动图(activitydiagram):
展示了连续的活动流,通常用来描述完成一个操作所需要的活动关于图关于图(diagram)的说明的说明用例图用例图活动图活动图类图类图时序图时序图协作图协作图构件图构件图部署图部署图状态图状态图描述每个用例的活动描述每个用例的活动对体系结构建模,对体系结构建模,确定包和类及类之间关系确定包和类及类之间关系自动生成自动生成细细化化关于图关于图(diagram)(diagram)的说明的说明对象图对象图u关联(Association)是类之间的连接,即与该关联连接的类的对象之间的语义连接,称为链(link)u常规关联,比如公司和员工的关联,关联的重数默认为1u多重关联:
两个以上的类之间互相关联,如程序员用某种程序语言开发了某个项目类之间的几种关系类之间的几种关系u聚合(Aggregation):
是一种整体/部分层次关系,一个聚合对象包括(拥有)其他对象,每个被包括的对象被认为是聚合对象的一部分,聚集可以看作关联的特例u组合聚合(Composition):
“整体”拥有它的“部分”,“部分”生存在整体中,它们与整体一起消亡,整体的重数必须是0或1u共享聚合(sharedaggregation):
“部分”对象可以是任意“整体”对象的一部分,如果整体的重数不是1,这种聚集是共享的类之间的几种关系类之间的几种关系u泛化/特殊化(Generalization/Specialization):
是一种“一般-特殊关系”,特殊类和一般类之间的关系是“isa”的关系,比如汽车和交通工具u交叠(overlapping)泛化:
存在某种具有公共父类的多重继承u不交(disjoint)泛化:
是一种默认的泛化关系,具有公共父类的子类不能特化出公共的子类u完全(complete)泛化:
可特化出所有的子类u不完全(incomplete)泛化:
默认泛化类型类之间的几种关系类之间的几种关系u依赖和细化u依赖:
一个类的实现依靠另一个类u细化:
对同一个事物在不同抽象级别上的两种描述之间的关系,细化用来协调不同阶段模型之间的关系u约束和派生u约束:
定义属性的取值范围,当一个关联是另一个关联的子集时,它们建立了约束u派生:
事物被导出的规则,如年龄可通过当前日期和出生日期派生出来类之间的几种关系类之间的几种关系用例建模用例建模u用例图:
一个用例模型可由若干幅用例图组成,一幅用例图包含的模型元素有系统、行为者、用例以及它们之间的不同关系,如泛化,关联和聚集等u基本步骤u确定行为者u确定用例u用例之间的关系:
扩展extend和使用use(均属于泛化关系).通常在描述一般行为的变化时采用extend关系;而在两个和更多的用例中出现重复描述,又想避免这种重复时可采用use关系用例图举例用例图举例设置边界风险分析交易估计进行交易超越边界更新账目评价useuseextend记账系统销售员交易经理交易人员一个贸易系统的用例类和对象建模类和对象建模u类和对象模型描述了系统的静态结构,在UML中用类图和对象图来表示u基本步骤u确定类:
寻找类,定义属性,定义操作u画出类图和对象图类图和对象图举例类图和对象图举例LineX1:
realY1:
realX2:
realY2:
realPointX:
realY:
real2.*0.*相交类图类图L1:
LineX1=10Y1=10X2=-10Y2=-10L2:
LineX1=-10Y1=10X2=10Y2=10L3:
LineX1=10Y1=5X2=-10Y2=-5L4:
LineX1=9Y1=5X2=9Y2=3P1:
PointX=0Y=0P2:
PointX=9Y=4.5对象图对象图动态建模动态建模u用来描述系统的动态行为,显示系统在运行期间不同时刻的动态交互,用状态图,时序图,协作图和活动图来建立动态模型状态图举例状态图举例状态名状态变量活动状态初始状态结束状态迁移OnFirstfloorMovingUpmovingtofloorIdletimer=0do/increasetimerMovingDownmovingtofloorMovingtoFirstfloorarrivedgoup(floor)arrivedgoup(floor)godown(floor)timer=time-outarrived协作图举例协作图举例:
Button:
Elevatorcontrol:
Ordernew:
Quene:
ElevatorPush()1:
GetElevator(floorid)1.1*allquenes:
len=Length()Broadcast1.3:
Invoke(job)2:
nextjob=GetJob()localnextjobparameterjob1.2:
Create()job控制电梯运行的协作图顺序图举例顺序图举例活动图举例活动图举例图书管理系统管理员的活动图NO物理体系结构建模物理体系结构建模u系统的体系结构用来描述系统各个部分的结构、接口以及它们用于通信的机制,系统体系结构可分为逻辑体系结构和物理体系结构u逻辑体系结构涉及到系统的功能,物理体系结构涉及到系统的详细描述(根据系统所包含的硬件和软件),它显示了系统的硬件结构,包括不同的结点和这些结点之间如何连接uUML中的物理体系结构用构件图和部署图来描述构件图举例构件图举例GasNet(GasNet.cpp)WaterNet(waternet.cpp)MainClass(main.cpp)GasNet(gasnet.obj)WaterNet(Water.obj)MainClass(main.obj)SuperMap(SuperTopo.ocx)HeatNet(HeatNet.exe)部署图举例部署图举例u用例视图:
展示了外部行为者所观察到的系统将提交的功能,用用例图或活动图描述用例,针对客户、分析者、设计者、编程者和测试者u逻辑视图:
展示系统内部如何提供系统的功能,针对分析者、设计者和编程者。
不仅描述系统的静态结构(类图和对象图),还可描述对象之间的动态协作关系(状态图/活动图,时序图/协作图)u构件视图:
展示了构件的组织,描述了实现模块和他们之间的依赖关系,针对开发者(构件图)u并发视图:
展示了系统的并发性,针对开发者和系统集成者,用动态图描述u部署视图:
展示了系统的物理部署,针对开发者,集成者和测试者,用部署图描述UML的五种视图的五种视图主要内容主要内容p软件体系结构建模概况p利用UML描述软件体系结构p利用“4+1”模型描述软件体系结构RUP统一过程模型统一过程模型分析模型分析模型说明说明用况模型用况模型包含了所有用例,即与用户之间关系设计模型设计模型表现表现实施模型实施模型分布分布实现模型实现模型实现实现测试模型测试模型验证验证4+1模型概述模型概述逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 建模
![提示](https://static.bdocx.com/images/bang_tan.gif)