中南大学软件学院软件体系结构实验1 UML实验-参考答案

合集下载

UML-软件体系结构-实验2-中南大学-软件学院

UML-软件体系结构-实验2-中南大学-软件学院

实验2 UML实验(2)实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1. 学习类图的绘制;2. 学习从系统需求中识别类,并构建相应的面向对象模型;3. 学习使用顺序图描述对象之间的交互;4. 学习使用活动图为业务流程建模;5. 学习使用PowerDesigner实现正向工程和逆向工程。

二、实验内容1. 根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape 类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。

提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(char type),其返回类型为Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。

【注:“创建关系”是一种特殊的“依赖关系”】2. 根据以下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。

UML软件建模教程课后习题及标准答案

UML软件建模教程课后习题及标准答案

UML软件建模教程课后习题及答案————————————————————————————————作者:————————————————————————————————日期:UML软件建模教程课后习题习题 1一、简答题1. 简述模型的作用。

答:现实系统的复杂性和内隐性,使得人们难于直接认识和把握,为了使得人们能够直观和明了地认识和把握现实系统,就需要借助于模型。

2. 软件模型有什么特征?答:建模对象特殊,复杂性,多样性3. 软件建模技术有哪些因素?答:软件建模方法,软件建模过程,软件建模语言,软件建模工具4. 软件模型包括哪些方面的内容?答:从模型所反映的侧面看:功能模型,非功能模型,数据模型,对象模型,过程模型,状态模型,交互模型,架构模型,界面模型等;从软件开发工作看:业务模型,需求模型,分析模型,设计模型,测试模型等。

5. 软件建模工具应该具有哪些基本功能?答:软件模型的生成和编辑,软件模型的质量保障,软件模型管理等二、填空题1、模型是对现实的(抽象)和模拟,是对现实系统(本质)特征的一种抽象、简化和直观的描述。

2、模型具有(反映性)、直观性、(简化性)和抽象性等特征。

3、从抽象程度,可以把模型分为(概念模型)、逻辑模型和(物理模型)三种类型。

4、较之于其他模型,软件模型具有(建模对象特殊)、复杂性和(多样性)等特征。

5、软件模型是软件开发人员交流的(媒介),是软件升级和维护的(依据)。

6、软件建模技术的要素包括软件建模方法、(软件建模过程)、软件建模语言和(软件建模工具)。

7、从开发阶段看,软件建模有业务模型、(需求模型)、分析模型、(设计模型)和测试模型。

8、软件语言有软件需求定义语言、(软件设计语言)、软件建模语言、(软件结构描述语言)、软件程序设计语言等。

9、根据软件建模工具的独立性,把软件建模工具分为(独立软件)建模工具和(插件式软件)建模工具。

10、OMG在( 1997 )年把UML作为软件建模的标准,UML2.0版本是( 2005 )年颁布的。

UML软件建模教程课后习题及标准答案

UML软件建模教程课后习题及标准答案

UML软件建模教程课后习题及标准答案UML软件建模教程课后习题及答案————————————————————————————————作者:————————————————————————————————日期:UML软件建模教程课后习题习题 1一、简答题1. 简述模型的作用。

答:现实系统的复杂性和内隐性,使得人们难于直接认识和把握,为了使得人们能够直观和明了地认识和把握现实系统,就需要借助于模型。

2. 软件模型有什么特征?答:建模对象特殊,复杂性,多样性3. 软件建模技术有哪些因素?答:软件建模方法,软件建模过程,软件建模语言,软件建模工具4. 软件模型包括哪些方面的内容?答:从模型所反映的侧面看:功能模型,非功能模型,数据模型,对象模型,过程模型,状态模型,交互模型,架构模型,界面模型等;从软件开发工作看:业务模型,需求模型,分析模型,设计模型,测试模型等。

5. 软件建模工具应该具有哪些基本功能?答:软件模型的生成和编辑,软件模型的质量保障,软件模型管理等二、填空题1、模型是对现实的(抽象)和模拟,是对现实系统(本质)特征的一种抽象、简化和直观的描述。

2、模型具有(反映性)、直观性、(简化性)和抽象性等特征。

3、从抽象程度,可以把模型分为(概念模型)、逻辑模型和(物理模型)三种类型。

4、较之于其他模型,软件模型具有(建模对象特殊)、复杂性和(多样性)等特征。

5、软件模型是软件开发人员交流的(媒介),是软件升级和维护的(依据)。

6、软件建模技术的要素包括软件建模方法、(软件建模过程)、软件建模语言和(软件建模工具)。

7、从开发阶段看,软件建模有业务模型、(需求模型)、分析模型、(设计模型)和测试模型。

8、软件语言有软件需求定义语言、(软件设计语言)、软件建模语言、(软件结构描述语言)、软件程序设计语言等。

9、根据软件建模工具的独立性,把软件建模工具分为(独立软件)建模工具和(插件式软件)建模工具。

中南大学软件学院软件体系结构实验1UML实验-参考答案

中南大学软件学院软件体系结构实验1UML实验-参考答案

《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。

绘制该酒店订房系统的用例图。

参考答案:顾客在线预订房间前台预订房间通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业联网使用该系统。

该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。

参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM的一部分。

系统基本功能描述如下:(1) 客户可通过系统发布反馈信息;(2) 公司客户关系(CR)部门员工也可以在系统中记录反馈信息;(3) 业务部门的主管和员工均能看到本部门的反馈信息,但只有CR部门员工拥有修改与删除反馈的权限;(4) 对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息,业务部门主管有权通过系统安排本部门员工调查及处理该反馈;(5) 反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况;(6) 公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表;(7) 所有人员进入本系统需先登录。

软件体系结构课后习题参考答案

软件体系结构课后习题参考答案

软件体系结构第四章作业题1.请把基于体系结构的软件开发模型与其他软件开发模型进行比较。

答:一、基于体系结构为基础的基于构件组装的软件开发模型,如基于构件的开发模型和基于体系结构的开发模型等。

基于体系结构的开发模型是以软件体系结构为核心,以基于构件的开发方法为基础。

然后采用迭代增量方式进行分析和设计,将功能设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间的过程。

该开发模型把软件生命周期分为软件定义、需求分析和定义、体系结构设计、软件系统设计和软件实现5个阶段.特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。

优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程。

构件组装模型导致了软件的复用,提高了软件开发的效率。

软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。

并且软件复用从代码级的复用提升到构件和体系结构级的复用。

缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险。

可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。

客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量。

二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。

特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单。

缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。

并且如果在开发过程存在阻塞问题,则影响开发效率。

三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等。

特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。

通过迭代过程实现软件的逐步演化,最终得到软件产品。

UML课后习题答案

UML课后习题答案

填空题第一章(1)统一建模语言UML是绘制软件蓝图的标准工具语言,可以对软件系统产品进行说明、可视化、构造和编制文档。

(2)UML在实际软件项目中,可以用于构造各种类型系统的业务模型和软件模型。

(3)软件的开发模式有瀑布模型、喷泉模型、基于构件的开发模型和XP方法。

(4)面向对象程序的三大要素是多态、封装和继承。

(抽象)(5)瀑布模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。

第二章(1) 在UML中,静态视图包含有两种视图,分别是类图和对象图。

(2) 规格说明,修饰,拓展划分是UML常用的通用机制。

(3) 够造型,标记型,约束是UML常用的扩展机制。

(4) 用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。

(5) 状态图是通过对象的各种状态来建立模型来描述对象的随时间变化的动态行为,并且它是独立的对象为中心进行描述。

第三章(1)Rational Rose默认支持的目标语言主要包括 Java、Visual Basic等。

(C++,C#)(2) 部署视图显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理解节点上的物理分布,而在分析和设计中使用的架构视图。

(3)使用R ational Rose 生成代码的步骤包括选择待转换的目标模型、检查Java语言的语法错误、设置代码生成属性、生成代码。

(4)在用例视图中包括了系统中的所有参与者、用例和用例图,必要时还可以在其中添加顺序图、协作图、活动图和类图等。

(5) 构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系包含模型代码库、执行文件、运行库和其他构件等信息。

第四章(1)对象图的目的在于描述系统中参与交互的各个对象在同一时刻是如何运行的。

(2)链是两个或多个对象之间的独立连接,是关联的实例。

(3)在UML的图形表示中,类是由名字、属性和方法三个部分组成的。

(4)依赖关系使用一个从客户指南提供者的虚箭头来进行表示。

(完整word)中南大学软件体系结构实验报告

(完整word)中南大学软件体系结构实验报告

CENTRAL SOUTH UNIVERSITY软件体系结构实验报告学生姓名周建权班级学号 0909121915指导教师穆帅设计时间2014年11月实验一系统的用例模型一、实验目的1.熟悉用例图的基本功能和使用方法。

2.锻炼结合给定题目,进行有效需求分析的能力。

3.掌握如何使用建模工具绘制用例图的方法。

二、实验器材1.计算机一台。

2.UML建模工具,比如软件Rational Rose 或StarUML。

三、实验内容在理解用例图的基本功能和使用方法的基础上,结合具体问题,完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程。

用Rational Rose或StarUML工具软件绘制系统的用例图.下文以Rational Rose为例讲解基本步骤。

四、实验步骤1.结合实际给定题目,完成系统的需求建模。

2.针对每个用例进行业务分析。

以图书管理系统中“删除读者信息"用例为例来说明实验具体步骤。

(1)分析:在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。

(2)根据分析结果,书写业务流程,一般包含以下信息:①管理员在录入界面,输入待删除的读者名;②“业务逻辑”组件在数据库中,查找待删除的读者名;③如果不存在,则显示出错信息,返回步骤①,如果存在则继续;④“业务逻辑”组件判断“待删除的读者”是否可以删除;⑤如果不可以,则显示出错信息,返回步骤⑧,如果可以则继续;⑥在数据库中,删除相关信息;⑦显示删除成功信息;⑧结束。

3.根据分析结果,绘制用例图.以图书管理系统中“删除读者信息"用例为例说明具体绘图步骤:(1)在用例图上双击main,出现如图1。

中南大学软件学院软件体系结构实验1-UML实验-参考答案

中南大学软件学院软件体系结构实验1-UML实验-参考答案

《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。

绘制该酒店订房系统的用例图。

参考答案:顾客在线预订房间前台预订房间前台服务员客房部经理通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况信用卡系统2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。

该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。

参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM 的一部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。

绘制该酒店订房系统的用例图。

参考答案:顾客在线预订房间前台预订房间通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。

该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。

参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM的一部分。

系统基本功能描述如下:(1) 客户可通过系统发布反馈信息;(2) 公司客户关系(CR)部门员工也可以在系统中记录反馈信息;(3) 业务部门的主管和员工均能看到本部门的反馈信息,但只有CR部门员工拥有修改与删除反馈的权限;(4) 对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息,业务部门主管有权通过系统安排本部门员工调查及处理该反馈;(5) 反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况;(6) 公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表;(7) 所有人员进入本系统需先登录。

参考答案:4. Draw a use case diagram for the following library system:The library stores various items that can be borrowed, including books and journals. Books can be borrowed by both staff and students, but only staff members can borrow journals. When a user borrows a book, their loan details are checked to ensure that they have no overdue books on loan, and have not already borrowed the maximum permitted number of books.Users can check their own loan details at any time. Librarians are permitted to check the loan details of any user.Library users can reserve books that are currently out on loan. If three reservations have already been made for a given book, and a further reservation is made, a new copy will be ordered by the librarian.参考答案:Borrow journalsBorrow books Check loan detailsReserve booksOrder a new copy5. 某银行准备开发一个网上信用卡管理系统CCMS,该系统的基本功能为:(1) 信用卡申请。

非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS登录。

如果信用卡申请被银行接受,客户会收到银行的确认函,并告知用户信用卡的有效期及信贷限额;否则银行会发送一封拒绝函给该客户。

客户收到确认函后,需再次登录CCMS,用信用卡号和密码激活该信用卡。

激活操作结束后,CCMS 将激活通知发送给客户,告知客户其信用卡是否被成功地激活。

(2) 月报表生成。

在每个月第一天的零点,CCMS 为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。

信用卡客户可以登录 CCMS 查看月报表,也可以要求 CCMS 提供打印出的月报表。

(3) 信用卡客户信息管理。

信用卡客户的个人信息可以在 CCMS 中进行在线的管理。

每个信用卡客户可以在线查询其个人信息。

(4) 信用卡交易记录。

信用卡客户使用信息卡进行的每一笔交易都会记录在 CCMS 中。

(5) 交易信息查询。

信用卡客户可以登录 CCMS 查询并核实其信用卡交易记录及交易额。

构造该系统的用例模型,要求绘制用例图,编写相应的用例文档,还需提供用例追踪矩阵。

参考答案:<<extend>><<extend>><<include>><<include>>非信用卡客户填写信用卡申请表信用卡客户激活信用卡查看月报表登录打印月报表生成月报表时间查询个人信息管理个人信息查询交易信息记录信用卡交易交易终端6. 根据以下描述绘制状态图:某销售信息管理系统中销售部员工可以提交订单,刚提交的订单为“初始”状态;系统管理员可以处理订单,如果订单无误,则修改订单为“备货”状态,否则将订单退还给提交订单的销售部员工修改,员工此时可以取消订单;仓库管理员备货完毕后可将订单状态改为“发货”状态;销售部员工在确认客户已经收到货物后,可将订单改为“关闭”状态。

参考答案:处理订单 [确认订单 [初始状态do / Handledo / Modify Status...备货状态do / Modify Status...发货状态do / Confirmdo / Close...关闭状态修改状态7. 根据以下描述绘制某订餐系统中顾客订餐过程的活动图(要求绘制泳道):(1) 顾客请求查看菜单;(2) 系统显示菜单和今日特价;(3) 顾客选菜;(4) 系统显示订单和价格;(5) 顾客确认订单;(6) 系统显示可送餐时间;(7) 顾客指定送餐时间、地点和支付方式;(8) 系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。

参考答案:请求查看菜单选菜显示菜单显示今日特价发送订餐信息发送Email显示订单和价格显示可送餐时间确认接受订单确认订单指定送餐时间、地点和支付方式8. 根据如下描述绘制顺序图:在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系统显示符合要求的房间号;顾客确定预订的房间,系统显示预付订金信息;顾客输入信用卡账号和密码,系统请求银行信用卡系统提供支付服务;银行信用卡系统验证用户信息并返回验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。

参考答案:订房系统信用卡系统验证用户信息返回验证通过和支付成功消息Sample :Client:SaleproductItems:Listtotal:Moneyitem:SalesProductItem[for each item in productItems]10. 根据以下描述绘制类图,再正向工程生成Java 源代码(也可生成其他面向对象语言的源代码,如C++或C#等):图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape 类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。

提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(char type),其返回类型为Shape ,参数type 为所需绘制图形对应的代码,例如“c ”表示圆形,“r ”表示矩形,“e ”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。

【注:“创建关系”是一种特殊的“依赖关系”】参考答案:11. 根据以下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。

参考答案:12. 某基于C/S的即时聊天系统的注册和登录模块功能描述如下:(1) 注册功能:用户通过注册界面(RegisterForm)输入新帐号,系统检测该帐号是否已存在,如果不存在则可注册成功,否则提示“帐号已存在”,用户再次输入帐号;用户输入其他个人信息;系统保存用户个人信息;用户个人信息包括帐号、密码、姓名、性别、年龄、电话、电子邮箱等。

(2) 登录功能:用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。

现对这两个模块进行设计,要求如下:(1) 根据以上描述绘制类图,要求分析出每个类中的主要方法;(2) 需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的数据访问接口;(3) 尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。

相关文档
最新文档