面向对象分析与设计实验指导书

上传人:M****1 文档编号:508350115 上传时间:2022-12-31 格式:DOCX 页数:8 大小:255.78KB
返回 下载 相关 举报
面向对象分析与设计实验指导书_第1页
第1页 / 共8页
面向对象分析与设计实验指导书_第2页
第2页 / 共8页
面向对象分析与设计实验指导书_第3页
第3页 / 共8页
面向对象分析与设计实验指导书_第4页
第4页 / 共8页
面向对象分析与设计实验指导书_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《面向对象分析与设计实验指导书》由会员分享,可在线阅读,更多相关《面向对象分析与设计实验指导书(8页珍藏版)》请在金锄头文库上搜索。

1、实验一用例图一、实验目的1. 掌握用例图的涵义和内容2. 熟悉用例图的基本功能和使用方法。3. 掌握如何使用建模工具绘制用例图方法。二、实验内容画出下列描述的用例图:某零食厂家使用购物预约管理系统。预约管理人责任客户预约商品的登录、浏览、更 改和删除。员工查看已预约的商品,确定当天的工作。该预约管理系统与客户信息管理系 统连动,在进行预约商品登录的同时可以浏览预约订货客户的信息。客户、管理员和员工进 行操作时要先登录。三、实验条件1. 计算机一台。2. Rational Rose 工具软件。四、实验指导1. 用例图的简介用例模型用来获得系统的需求。用例意味着和用户和相关人员通信得到系统打算做什

2、 么。一个用例图展示了系统和系统外部的实体之间的交互。这些外部实体就是actors0 Actors 既包括人类用户,也包括硬件或者其他系统。一个actor经常用一个人的符号表示,或者用 类框加上actor原型表示。Actor可以泛化出其他更详细的actor。见图1.customerCommerialCustomer图1 actor用例意味着一件唯一的工作。它提供了一个高级别的在系统外部可观察到的人或事的行 为。用椭圆表示。Actor和用例之间用一个带箭头的实线表示属于这个actor的用例。如图2, 客户取款的用例。图2客户取款的用例一个用例的定义通常包括以下部分:名字和描述、需求、约束等。名字

3、和描述:一个用例通常用一个动词短语命名,并给出一个简短的非正式的文本 描述。L 需求:指的是一个用例必须提供给最终用户的正式的功能性需求。需求是一个用例 必须执行一个动作或者向系统提供某个值的协约或者约定。4-约束:指的是用例操作在前置条件、后置条件和常量条件下的约束。前置条件指用 例进行前必须具有的状态。后置条件指用例执行后必须为真的状态。常量状态指用 例执行过程中始终为真的状态。4-用例场景:指用例在实际执行的时候会有很多的不同情况发生,是用例的实例。我 们在描述用例的时候要覆盖所有的用例场景,否则就有可能导致需求的遗漏。在用 例规约中,场景的描述可以由基本流和备选流的组合来表示。4-特殊

4、需求:通常指非功能性需求,它为一个用例所专有,但不适合在用例的事件流 文本中进行说明。特殊需求的例子包括法律或法规方面的需求、应用程序标准和所 构建系统的质量属性(包括可用性、可靠性、性能或支持性需求等)。此外,其他 一些设计约束,如操作系统及环境、兼容性需求等,也可以在此节中记录。4-前置条件和后置条件:前置条件是执行用例之前必须存在的系统状态,后置条件是 用例一执行完毕后系统可能处于的一组状态。4-包含用例:一个用例可能包含其他用例的功能并作为自己正式处理的一部分。通常 认为包含用例在每次经过基本路径时都会被调用。例如:withdraw用例在每次运行 时都要调用cardIdentifica

5、tion用例。一个用例可以包含一个或多个用例,通过找图3包含用例示例4-扩展用例:一个用例可以被扩展到另一个,主要使用在异常环境中。例如:在修改 一个用户订单的特殊值前,一个用户必须获得更高的权限,图4中getApproval 用例扩展modifyOrder 用例。2用例图示例销售店员结算一件商品系统的描述如下:顾客到柜台前结算,店员使用UPC读卡器读 取商品名称和价格,管理员可以对固定种类商品18(18岁以下禁止)结算,库存店员通过 UPC读卡器管理库存。该结算商品系统的用例图见图5:库存店员图5结算系统的用例图实验二类图一、实验目的1. 理解类的基本概念。2. 掌握如何从需求分析中抽象出类

6、的方法。3. 掌握在Rational Rose中绘制类的操作方法。二、实验内容画出下列描述的类图:商品销售系统中,用户的信息包括两个类,基本信息和地址,用户购买商品下订单,有 不同的付款方式:现金和刷卡。商品按类别分类。要求给出类的属性和一些操作,以及类之间的各种关系。必要的地方要求定义接口。三、实验器材1. 计算机一台。2. Rational Rose 工具软件。四、实验指导1类图的简介类图可以用来展示一切面向对象系统的构造块。类图是静态视图,描述了模型或模型的 一部分以及这些模型具有的属性和行为而不是实现这些操作的详细方法。类图常常用来表达 类和接口之间的关系。关系包括:实现、泛化、关联和

7、依赖。类是这样一种元素,它定义了一个对象能够产生的属性和行为。行为用类能够理解的可 能的消息以及每个消息对应的操作的描述。类也可以使用标签值和原型定义约束。类符号是用一个带有类名和可选操作和属性名的矩形表示。分隔线用来分离类名、属性 和方法。一般情况下,类名在矩形的最上方,其次是属性,然后是方法。其中属性和方法是 具有可见性的,通常-“表示private, ”+表示pubic,”#”表示protected,表示package的 可见性。见图1所示。Rectangle-length : int# width : int* color : int+center :Point+area ():int

8、# getLength():int* getWidth():int图1类示例接口是一个约定,它定义了实现它的行为规范。要实现一个接口,类要求提供一个必须 的行为,这个行为允许系统用同一个方法对待不相关的元素,这些是通过接口实现的。接口 的符号和类的符号相似,但接口还可以用一个圆表示。见图2.实现被用来表达模型中的实现一一事务处理或者需求被一个或者多个用例实现,这些模 型再被一个或者多个类实现。在系统的设计中,在模型的抽象层次上保证系统元素的大的蓝 图并同时反映出小图的约束和定义细节。实现用虚线加实心箭头表示。图2接口及实现关联意味着两个元素之间有关系,通常是在一个类中实现了另一个的一个实例。关

9、联可 以包括每个的角色名、数目、方向和约束。还有两种特殊的关联,聚合和组合。聚合用来描 述一个元素是另一个元素的组成部分,用空心菱形表示。组合是用来描述一种更强的包含关 系,主体消失客体也跟着消失,客体消失主体还可以继续存在。图3关联关联类是这样一种构造,它允许关联具有方法和属性。见图4.图4关联类泛化通常用来指出层次结构。绘制时从父类到子类。实现是子类继承父类。图5泛化示例依赖用来在模型元素之间更广泛的依赖关系的建模。它通常被用在设计处理的早期来表 达两个元素之间有某种关系,但这时还不知道它们之间的具体的关系。到设计后期,依赖会 被原型化或者被更具体的关系来代替。用虚线箭头表示。2. 类图示

10、例下面是一个学校中的类图。语义如下:学校有多个系,每个系有多个老师,一个老师可 以讲多门课,一门课也可以有多个老师来讲,一个学生只能在一个学校上课,一个学校至少 有一名学生,每个学生可以选多门课。类图示例见图6:School-name:String-address:String-telephone:String+ addStudent ()+ removeStudent ()+ getStudent ()+ getAllStudents ()+ addDepartment ()+ removeDepartment ()+ getDepartment ()+ getAllDepartments

11、():boolean:boolean:String:int:boolean:boolean:String:int1.*Department-name: int+addInstructor ():boolean+removeInstructor():boolean+getInstructor ():String+getAllInstructor():intV1.*AssignedTo 0.11.11.*图6学校的类图实验三交互图一、实验目的1. 理解时序图的基本概念。2. 理解通信图的基本概念。3 .掌握在Rational Rose中绘制交互图的操作方法。二、实验内容画出下列描述的时序图和协作图

12、:1. 某网络营销公司,负责人在有人申请入会时,将在会员登录画面上输入入会申请人的会 员信息。请将“负责人”作为参与者、“会员登录画面”、“会员”、“会员列表”作为对 象,画出能表现会员登录流程的时序图和通信图。2. 在商品销售系统中,客户可以多次对购物车中的一种商品创建订单,客户填写完订单内 容后提交订单,消息发送到系统后由销售人员进行审核,审核通过订单完成,审核不通 过订单取消。请画出客户购买多种商品流程的时序图和通信图。三、实验器材1. 计算机一台。2. Rational Rose 工具软件四、实验指导1. 时序图的简介时序图是一种交互图,用来表示对象在运行的生命周期中,沿着时间使用代表

13、消息的箭 头从源生命线到目标生命线的交互。时序图可以很好的表示一个对象和其他对象的交互,以 及触发交互的消息。但是时序图并不打算表示复杂的程序逻辑。时序图的组成部分包括:生命线、消息、复合片段等。下面将分别简单介绍这些概念。生命线(Li felines): 一条生命线代表着时序图中的一个参与者。生命线经常有一个包 含对象名的矩形。如果对象名为“self”,就暗示着这条生命线代表着拥有这个时序图的分类 器。有时时序图会在开始处有带有生命线的actor元素。这通常用于时序图属于一个use case 的情况。边界元素、控制元素和实体元素也同样可以有生命线。见图1.图1生命线可以在时序图的时间表中产生

14、或者销毁一条生命线。销毁生命线时用一个结束符号叉来 表示终止。产生生命线时,parent对象处于比子对象高一级的位置上。如图1所示。消息(Messages):消息用箭头表示。消息可能是完成(complete)丢失(lost)或者找 到(found);同步或者异步;回调或者信号(call or single)0图2中,第一条消息是同步消息(用 实箭头表示)用一个固有的return消息完成。第二条消息是异步消息(用线箭头表示)。第 三条消息是异步消息并且返回消息(用虚线表示)。发送给自己的消息代表着一个递归操作, 或者一个方法调用另一个属于同一对象的方法。图2:消息2. 时序图的示例下面是一个时序图的示例。示例的描述如下: 预定一个旅馆。从一个预定窗口开始.如图3:图3预定旅馆的时序图3. 通信图的简介通信图,在UMLl.x中被称为协作图,和时序图一样也是交互图的一种,表示和时序图 相似的信息,但和时序图不同,通信图主要用来表现对象之间的关系。在通信图中,对象用它们之间的关联和连接来表示,消息被加到关联上,并用一个短箭 头指向消息流的方向。消息的时序用数字编码来表示。因为通信图和时序图表示同样的消息,因此可以用时序图来转化为通信图,不需要单独 绘制通信图。4. 通信图的示例下面是一个通信图的示例。示例的描述如下: 预定一个旅馆。从一个预定窗口开始.如图4:图4预定旅馆的通信图

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

当前位置:首页 > 学术论文 > 其它学术论文

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