面向对象程序设计3

上传人:zw****58 文档编号:51734145 上传时间:2018-08-16 格式:PPT 页数:43 大小:1.90MB
返回 下载 相关 举报
面向对象程序设计3_第1页
第1页 / 共43页
面向对象程序设计3_第2页
第2页 / 共43页
面向对象程序设计3_第3页
第3页 / 共43页
面向对象程序设计3_第4页
第4页 / 共43页
面向对象程序设计3_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《面向对象程序设计3》由会员分享,可在线阅读,更多相关《面向对象程序设计3(43页珍藏版)》请在金锄头文库上搜索。

1、1软软软软 件件 工工 程程南京大学南京大学计计算机科学与技算机科学与技术术系系2第二部分面向对对象软软件工程(标标准建模语语言UML)2009Software Engineering Group31、 面向对象概念 2、 面向对象程序设计范型 3、 面向对象建模 4、 统一建模语言UML 5、 UML用例图 6、 UML类图、对象图、包图和复合结构图 7、 UML状态机图、顺序图、活动图、通讯图 和交互概观图 8、 UML构件图和部署图 9、 UML定时图 10、模型驱动的体系结构2009Software Engineering Group内容组织组织4从实用的角度再看13种图2009Sof

2、tware Engineering Group介绍顺绍顺 序:5UML2.0的行为图2009Software Engineering Group6状态机图(State Machine Diagrams)状态图n状态图是对类的一种补充描述,它展示了此类 对象所具有的可能的状态以及某些事件发生时 其状态的转移情况。n在状态图中,状态由圆角矩形表示。状态的改 变称作转移,状态转移由箭头表示,箭头旁可 以标出转移发生的条件。状态转移可以伴随有 某个动作,它表明当转移发生时系统要做什么 。2009Software Engineering Group7状态机图(State Machine Diagrams

3、)2009Software Engineering Group下降状态在第一层上升状态向第一层下降空闲状态上升到达到达上升超时下降到达第一层8顺序图(Sequence Diagram )顺序图n顺序图描述了对象之间动态 的交互关系,着重 体现对象间消息传递的时间顺 序。n顺序图由一组对象构成,每个对象分别带有一 条竖线,称作对象的生命线,它代表时间轴 , 时间沿竖线向下延伸。顺序图描述了这些对象 随着时间的推移相互之间交换消息的过程。消 息用从一条垂直的对象生命线指向另一个对象 的生命线的水平箭头表示。图中还可以根据需 要增加有关时间的说明和其他注释。2009Software Engineer

4、ing Group9顺序图(Sequence Diagram )2009Software Engineering Group:计算机:打印服务程序:打印队列:打印机打印文件打印文件打印机空闲 保存文件打印机忙10顺序图(Sequence Diagram )2009Software Engineering GroupP1P2P3e1e2e3e4e5e6e7e8e9e1011顺序图(Sequence Diagram )顺序图中的事件顺序:n因果性(Causality):对同一消息而言,发送事件先于接收事件。n可控性(Controlability):对同一对象而言,事件p出现在发送事件q的上方,则p

5、 先于q。n队列性(FIFO):对同一对象而言,接收事件p出现在接收事件q的上方, 并且它们分别对应 的发送事件也位于同一个对象,则p 先于q。2009Software Engineering Group12顺序图(Sequence Diagram )2009e1e2e3e4e5e6e8e7e9e10e12e11P1P2P3P1P2P3e1e2e3 e4e6e5e7e8e9e11e10e1213带引用片段的顺序图2009Software Engineering Group引用片段用 ref标示,代 表了一个复 杂的顺序图14通过ref定义的顺序图片段2009Software Engineeri

6、ng Group15活动图 (Activity Diagram)活动图n活动图描述系统中各种活动的执行顺序,通常 用于描述一个操作中所要进行的各项活动的执 行流程。同时,它也常被用来描述一个用例的 处理流程,或者某种交互流程。n活动图由一些活动组成,图中同时包括了对这 些活动的说明。当一个活动执行完毕之后,控 制将沿着控制转移箭头转向下一个活动。活动 图中还可以方便地描述控制转移的条件以及并 行执行等要求。2009Software Engineering Group16活动图 (Activity Diagram)2009加水到容器中将咖啡放到 过滤 器中点燃咖啡炉取出咖啡杯把过滤 器放 到咖啡

7、炉上冲调咖啡倒咖啡找饮料取一听 可口可乐喝饮料人找到可口可乐没有可口可乐没有咖啡找到咖啡熄灭咖啡炉17区分多个对象的活动图2009Software Engineering Group18包含子活动的活动图2009Software Engineering Group19活动图 (Activity Diagram)n活动图最适合支持描述并行行为,这使之成为 支持工作流建模的最好工具。n活动图最大的缺点是很难清楚地描述动作与对 象之间的关系。2009Software Engineering Group20活动图 (Activity Diagram)n对于以下情况可以使用活动图: (1)分析用例; (

8、2)理解牵涉多个用例的工作流; (3)处理多线程应用。n在下列情况下,一般不要使用活动图: (1)显示对象间合作; (2)显示对象在其生命周期内的运转情况。2009Software Engineering Group21通讯图 ( Communication Diagrams )通讯图n通讯图与简单顺 序图(既不包含结构片段的顺 序图)具有对应关系n通讯图侧 重于描述各个对象之间存在的消息收 发关系(交互关系),而不专门突出这些消息 发送的时间顺 序。n在通讯图中,对象同样是用一个对象图符来表 示,箭头表示消息发送的方向,而消息执行的 顺序则由消息的编号来表明。2009Software Eng

9、ineering Group222009Software Engineering Group:计计算机:打印队队列:打印服务务程序:打印机1. 打印文件3. 保存文件打印机忙2. 打印文件打印机空闲带序号的消息传递通讯的对象通过生命 线(Lifeline)定义通讯图 ( Communication Diagrams )23n通讯图的布局方法能更清楚地表示出对象之间静态的连 接关系。n顺序图突出执行的时序,能更方便地看出事情发生的次 序。n如果要描述在一个用例中的几个对象协同工作的行为, 通讯图是一种有力的工具。通讯图擅长显示对象之间 的合作关系,尽管它并不对这些对象的行为进行精确的 定义。n如

10、果想要描述跨越多个用例的单个对象的行为,应当使 用状态图;如果想要描述跨越多个用例或多个线程的多 个对象的复杂行为,则需考虑使用活动图。2009Software Engineering Group通讯图 ( Communication Diagrams )24交互概观图(Interaction Overview Diagrams)n交互概观图可以看做是活动图和顺序图的结合 体n交互概观图在整体上强调控制流的描述特点n生命线和消息只能在交互(Interaction)片断内部 ,而不能出现在概观的层次上2009Software Engineering Group25通过活动图语 法描述的 交互概观

11、展开的交互片段交互出现 (Interaction Occurrence)交互概观图 示例2009Software Engineering Group262009Software Engineering GroupReferenceReferenceReferenceReference通过 Ref 定义的交互出 现可以进一步展开27UML2.0的实现图2009Software Engineering Group28构件图(Component Diagram )构件图n构件图描述软件构件以及它们之间的依赖关系 ,从而便于人们分析和发现当修改某个构件时 可能对那些构件产生影响,以便对它们做相应 的修

12、改或更新。构件可以是源代码构件、二进 制目标码构件、可执行构件或文档构件。2009Software Engineering Group29构件图(Component Diagram )2009Software Engineering GroupWhnd.cpp:窗口处处理器Graphic.dll: 图图形库库Comhnd.cpp:命令处处理器Main.cpp: 主类类Whnd.obj:窗口处处理器Comhnd.obj:命令处处理器Main.obj: 主类类client.exe:客户户程序30部署图(Development Diagram)配置图n配置图描述系统中硬件和软件的物理配置情况 和系统

13、体系结构。n在配置图中,用结点表示实际的物理设备,如 计算机和各种外部设备等,并根据它们之间的 连接关系,将相应的结点连接起来,并说明其 连接方式。在结点里面,说明分配给该结 点上 运行的可执行构件或对象,从而说明哪些软件 单元被分配在哪些结点上运行。2009Software Engineering Group31客户户A: 个人电脑电脑 PC客户户B: 个人电脑电脑 PC数据库库服务务器: VAX服务务器:02TCP/IP协议 TCP/IP协议DecNet协议 部署图(Development Diagram)2009Software Engineering Group32UML2.0的实现图

14、2009Software Engineering Group33定时图 (Timing Diagram)n定时图主要用来描述状态(state)或值(value )随时间的变化情况n定时图也可以描述带时间约 束的交互行为2009Software Engineering Group34State Lifeline的定时图2009Software Engineering GroupX轴为时间轴轴为时间轴Y轴为轴为 状态轴态轴通过时间过时间 段定义义的时间约时间约 束State Lifeline描述了状态随时间 的变化情况35Value Lifeline的定时图nValue Lifeline描述了值随

15、时间的变化情况2009Software Engineering GroupX轴为时间轴轴为时间轴Y轴为轴为 状态轴态轴36状态和值合并的定时图2009Software Engineering GroupState LifelineValue Lifeline使用统统一的时间轴时间轴37UML支撑环境Rational Rosen基于UML的模型驱动的软件开发环境n全面支持团队整体合作的开发形式n集成了最新软件开发技术和思想2009Software Engineering Group38UML的扩展n实时 模型 UML-RTn可执行模型n企业计 算 Enterprise Distributed O

16、bject Computing (EDOC) Enterprise Application Integration (EAI)n软件过程 Rational Unified Process (RUP)n其他 Standard for Data WarehousingCORBA maps to UMLXMI format for the exchange of UMLmodels in text format2009Software Engineering Group39UML框架下的软件工程n我们已经有了统一的建模语言UMLn我们正在拥有统一软件过程(RUP?)n下一步是什么?A Software Component MarketplaceQuality from the BeginningGive Soul to Software ProcessA Complete UML Based Software Platform Ivar Jacobson2009Software Engineering Group40UML时间 表

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号