软件工程第9章面向对象的软件工程.ppt
软件工程Software Engineering,计算机学院 软件工程课程组,思考?,采用OOSE方法开发软件,将开发活动分为哪几个阶段,构造哪些模型?用例(use case)是OOSE方法的核心,它是如何驱动系统的分析与构造的?,面向对象的开发技,上世纪90年代起,研究了多种OO技术,主要有:OOAOOD:(1991,Booch)依据生命周期,按部就班的方法,便以执行线索途径寻找对象。OMT:(1991,Rumbauge)建立在实体关系模型基础上,并延伸到类、继承和操作。OOSE(1992,Jacobson)面向对象的软件工程,该方法建立在系列模式基础上,是一个操作性很强方法。,面向对象的软件工程(OOSE),OOSE方法 三个开发阶段 五种模型 AM模型中有哪些对象?,一、模型及相互关系,需求模型(RM:Requirement Model)分析模型(AM:Analysis Model)设计模型(DM:Design Model)实现模型(IM:Implementation Model)测试模型(TM:Test Model),模型的相互关系,迭代和逐步增长的活动模型间的转换应该是协调的(模型支持可跟踪性)按一种预知的方法,在一个模型中获取的对象到另一个模型中能找到其对应关系,二、需求模型 RM,用例模型 使用者(actor,user)用例(use case)界面描述 问题域模型,1.用例模型(use case model),用例模型与其他模型的关系,Use case model,Problem domain model,AM,DM,IM,TM,表示,构造,设计,实现,测试,【例】废品回收机,顾客,回收瓶子、罐头盒、包装盒,操作员,构造用例模型,使用者 关键使用者 直接使用者 次要使用者 维护者,顾客,操作员,扩展,中断插入位置:扩展use case中描述原use case并不知道中断是否发生,回收物品,新功能的插入,2.用户界面描述,顾客面板 按钮、回收口操作员 修改信息界面、消除警报界面、打印报表界面,3.问题域模型,问题域对象 问题域的事物,抽象类,4.RM的修正,抽象use case,抽象使用者,使用关系,inh,inh,三、分析模型 AM,AM中三种类型的对象 界面对象 实体对象 控制对象,1.界面对象,确定“界面”的方式 RM 使用者 use case,回收单打印,操作面板,报警装置,顾客面板,inh,inh,回收机系统中的4个界面对象,关联(association),回收机的界面对象的关联关系,组合关联:整体 部分(聚集),2.实体对象,抽象实体对象,3.控制对象,为每个具体/抽象的use case分配一个控制对象,支持“回收物品”use case的对象,4.子系统(主题),分组标准 使用者 功能 变化影响局部于子系统 减少子系统间的通信,回收机系统的AM,物品接收器,回收单打印机,报表生成器,操作员面板,报警,报警面板,扩展,四、设计模型 DM,步骤 确定实现环境 开发第一版DM 描述对象间的交互,1.AM DM,AM对象,DM块,IM源代码实现,回收机系统的DM,inh,inh,inh,存储物品,瓶子,包装盒,罐头盒,回收基,回收单打印机,顾客面板,操作员面板,报警面板,扩展,报警,物品接收器,报表生成器,2.确定实现环境,环境变化的影响局部化 扩展关系的实现,B2,回收物品,message,3.关联图,结构 派生图 辐射状,控制对象集中 阶梯图 委托责任制,非集中,派生图,阶梯图,4.消息定义,原则 可重用性增长原则 同名原则 分布原则 名副其实原则,五、实现模型 IM,对象行为的实现 内部状态 状态 计算状态 行为 对象的控制 消息控制对象 状态控制对象,小 结,OOSE 三个开发阶段 五种模型 use case,思考题,采用OOSE方法开发软件,将开发活动分为哪几个阶段,构造哪些模型?use case和actor在系统中的作用如何?use case之间的扩展关系和使用关系有何区别,分别是在什么情况下采用?,