《面向对象分析 》PPT课件.ppt

上传人:小飞机 文档编号:5619393 上传时间:2023-08-03 格式:PPT 页数:38 大小:975.50KB
返回 下载 相关 举报
《面向对象分析 》PPT课件.ppt_第1页
第1页 / 共38页
《面向对象分析 》PPT课件.ppt_第2页
第2页 / 共38页
《面向对象分析 》PPT课件.ppt_第3页
第3页 / 共38页
《面向对象分析 》PPT课件.ppt_第4页
第4页 / 共38页
《面向对象分析 》PPT课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《《面向对象分析 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《面向对象分析 》PPT课件.ppt(38页珍藏版)》请在三一办公上搜索。

1、第10章 面向对象分析,计算机与信息工程学院梁 颖,面向对象分析,10.1,面向对象分析的基本过程,10.2,建立对象模型,10.3,建立动态模型,10.4,建立功能模型,10.5,定义服务,本章小结,面向对象分析,10.1 面向对象分析的基本过程抽取和整理用户需求并建立问题域精确模型的过程实施过程:,要点,面向对象分析,10.1 面向对象分析的基本过程 3个子模型 和 5个层次 对象模型 动态模型 功能模型,主题层类与对象层结构层属性层服务层,面向对象分析,10.1 面向对象分析的基本过程 寻找类与对象 识别结构 识别主题 定义属性 建立动态模型 建立功能模型 定义服务,面向对象建模方法,(

2、1)Booch方法识别类与对象;识别类与对象的语义;识别类与对象之间的关系;实现类与对象。(2)Rumbaugh的OMT方法分析(建立现实世界模型);系统设计(目标系统分解为子系统);对象设计(对三类模型添加实现细节);编程实现。(3)Jacobson方法(涉及整个软件生命周期)需求分析(定义潜在角色、发现用例、详细描述用例);设计(发现设计对象、调整设计模型);实现;测试(4)Coad/Yourdon方法发现类及对象;识别结构;识别主题;定义属性;定义服务,面向对象分析,10.1,面向对象分析的基本过程,10.2,建立对象模型,10.3,建立动态模型,10.4,建立功能模型,10.5,定义服

3、务,本章小结,面向对象分析,10.2 建立对象模型 需求陈述 见P234例子 确定类与对象 确定关联 划分主题 确定属性 识别继承关系 反复修改,找出候选的类与对象;筛选出正确的类与对象。,初步确定关联;筛选;进一步完善。,分析+选择,自底向上(归纳思维);自顶向下(演绎思维)。,定义;使用范围;划分依据;原则,面向对象分析,随堂练习(一):请建立下述的图书馆馆藏出版物的对象模型。一家图书馆藏有书籍、杂志、小册子、电影录影带、音乐CD、录音图书磁带和报纸等出版物供读者借阅。这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。,面向对象分析

4、,随堂练习(一):请建立下述的图书馆馆藏出版物的对象模型。,面向对象分析,随堂练习(二):用非正式分析法分析确定下属杂货店问题中的对象。一家杂货店想使其库存管理自动化。这家杂货店拥有能够记录顾客购买的所有商品的名称和数量的销售终端。顾客服务台也有类似的终端,以处理顾客的退货。它在码头有另一个终端处理供应商发货。肉食部和农产品部有终端用于输入由于损耗导致的损失和折扣。,面向对象分析,随堂练习(二-1):用非正式分析法分析确定下属杂货店问题中的对象。一家杂货店想使其库存管理自动化。这家杂货店拥有能够记录顾客购买的所有商品的名称和数量的销售终端。顾客服务台也有类似的终端,以处理顾客的退货。它在码头有

5、另一个终端处理供应商发货。肉食部和农产品部有终端用于输入由于损耗导致的损失和折扣。,问题域中的对象有:杂货店、库存、顾客、商品、终端、退货、供应商、发货、肉食品、农产品、损失、折扣,面向对象分析,随堂练习(二-2):确定所述杂货店问题中对象类之间可能有的继承关系。,问题域中的对象:杂货店、库存、顾客、商品、终端、退货、供应商、发货、肉食品、农产品、损失、折扣,面向对象分析,随堂练习(二-3):确定所述杂货店问题中的对象模型。,面向对象分析,10.1,面向对象分析的基本过程,10.2,建立对象模型,10.3,建立动态模型,10.4,建立功能模型,10.5,定义服务,本章小结,面向对象分析,10.

6、3 建立动态模型认识动态模型表示瞬时的、行为化的系统的“控制”性质,规定了对象模型中的对象的合法变化序列 反映在任何时刻对象及其关系的改变 涉及系统时序和改变状况用动态模型来描述 动态模型着重于系统的控制逻辑 它包括两个图:状态图和事件跟踪图,面向对象分析,10.3 建立动态模型(1)编写典型交互行为的脚本;(2)从脚本中提取事件,确定触发每个事件的动作对象及接受事件的目标对象;(3)排列事件发生的次序,确定对象可能有的状态及状态间的转换关系,并用状态图描绘它们;(4)检查各对象状态图的一致性,确保事件之间的匹配。,脚本,事件跟踪图,状态图,面向对象分析,10.3.1 编写脚本 描述事件序列E

7、vent=Activator+Receiver+Parameters基本类型:(1)正常情况脚本;(2)特殊情况脚本(输入输出取边界值时);(3)异常情况脚本(应允许用户异常中止或取消一个操作)。,面向对象分析,10.3.1 编写脚本定义:脚本是系统在某一执行期间内出现的一系列事件目的:不遗漏用户与系统的重要交互步骤,确保交互过程的正确性和清晰性过程:分析用户对系统交互行为的要求的过程对象:事件序列。系统中的对象与用户交互信息时就发生一个事件。,面向对象分析,面向对象分析,10.3.2 画事件跟踪图(1)确定事件(发送对象、事件、接收对象)事件:包括系统与用户交互的所有信号、输入、输出、中断、

8、动作等。注意:正常事件、异常事件、出错条件(2)画出事件跟踪图扩充的脚本、简化的UML顺序图表示事件序列以及事件与对象的关系,面向对象分析,事件 一个事件发生在某一时刻 每个事件都是单独发生的 建立事件类,并给每个事件一个名字,以指明共同结构和行为 事件从一个对象向另一个对象传送消息 有些事件类可能传送的是简单的信号“要发生某件事”,而有些事件类则可能传送的是数据值,由事件传送的数据值叫做属性。如:列车出发(线路,班次,城市);按下鼠标按钮(按钮,位置),面向对象分析,事件跟踪图 事件跟踪图侧重于说明发生于系统执行过程中的特定场景。场景也叫做脚本,是完成系统某个功能的一个事件序列。场景通常起始

9、于一个系统外部的输入事件,结束于一个系统外部的输出事件,它可以包含发生在这个期间的系统所有内部事件,面向对象分析,事件跟踪图(举例),打电话者拿起电话受话器电话忙音开始打电话者拨数字(8)电话忙音结束打电话者拨数字(2)打电话者拨数字(3)接电话者的电话开始振铃铃声在打电话者的电话上传出接电话者回答接电话者的电话停止振铃铃声在打电话者的电话中消失通电话,面向对象分析,面向对象分析,10.3.3 画状态图状态图描绘事件与对象状态的关系,确定了由事件序列引出的状态序列符号表示:初态:实心圆“”;终态:同心圆“”中间状态:圆角矩形“”构成要素:事件:事件跟踪图中指向某条竖线的箭头线 状态:两个事件之

10、间的间隔就是一个状态 注意:覆盖所有脚本,面向对象分析,10.3.3 画状态图,动态模型由多个状态图组成对于每一个具有重要动态行为的类都有一个状态图,从而表明所有系统活动的模式各状态图并发地执行,并可以独立地改变状态各种类的状态图可以通过共享事件组合到一个动态模型中,面向对象分析,面向对象分析,10.3.4 审查动态模型动态模型:各个类的状态图通过共享事件合并起来构成动态模型。审查要素:事件:应有发送对象和接收对象 状态:不能独立出现,重点审查没有前驱或后继的状态。注意:覆盖所有脚本,面向对象分析,10.3.6 设想用户界面用户与系统交互:应用逻辑和用户界面。,系统内在的、本质的内容。动态模型

11、着重表示应用系统的控制逻辑,表现信息交互方式,可建立用户界面的原型,供用户试用与评价,面向对象分析,10.1,面向对象分析的基本过程,10.2,建立对象模型,10.3,建立动态模型,10.4,建立功能模型,10.5,定义服务,本章小结,面向对象分析,10.4 功能模型 表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。,面向对象分析,10.4 功能模型 功能模型表明,通过计算从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输入,通过操作如内部存储,直到外部输出,这整个的数据流情况。功

12、能模型中所有的数据流图往往形成一个层次结构。在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图中作进一步的说明。,分层的数据流图,面向对象分析,面向对象分析,10.4 功能模型一般来讲,高层的过程相应于作用在聚合对象上的操作,而低层的过程则代表作用于一个简单对象上的操作。数据流图中一般不提倡加带控制流。否则将与动态模型重复。,面向对象分析,10.1,面向对象分析的基本过程,10.2,建立对象模型,10.3,建立动态模型,10.4,建立功能模型,10.5,定义服务,本章小结,面向对象分析,10.5 定义服务 常规行为 从事件导出的操作 与数据流图中处理框对应的操作 利用继承减少冗余操作,The End,面向对象分析,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号