中南大学软件学院软件体系结构实验1UML实验 参考答案
- 格式:docx
- 大小:487.43 KB
- 文档页数:12
实验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软件建模教程课后习题习题 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软件建模教程课后习题习题 1一、简答题1. 简述模型的作用。
答:现实系统的复杂性和内隐性,使得人们难于直接认识和把握,为了使得人们能够直观和明了地认识和把握现实系统,就需要借助于模型。
2. 软件模型有什么特征?答:建模对象特殊,复杂性,多样性3. 软件建模技术有哪些因素?答:软件建模方法,软件建模过程,软件建模语言,软件建模工具4. 软件模型包括哪些方面的内容?答:从模型所反映的侧面看:功能模型,非功能模型,数据模型,对象模型,过程模型,状态模型,交互模型,架构模型,界面模型等;从软件开发工作看:业务模型,需求模型,分析模型,设计模型,测试模型等。
5. 软件建模工具应该具有哪些基本功能?答:软件模型的生成和编辑,软件模型的质量保障,软件模型管理等二、填空题1、模型是对现实的(抽象)和模拟,是对现实系统(本质)特征的一种抽象、简化和直观的描述。
2、模型具有(反映性)、直观性、(简化性)和抽象性等特征。
3、从抽象程度,可以把模型分为(概念模型)、逻辑模型和(物理模型)三种类型。
4、较之于其他模型,软件模型具有(建模对象特殊)、复杂性和(多样性)等特征。
5、软件模型是软件开发人员交流的(媒介),是软件升级和维护的(依据)。
6、软件建模技术的要素包括软件建模方法、(软件建模过程)、软件建模语言和(软件建模工具)。
7、从开发阶段看,软件建模有业务模型、(需求模型)、分析模型、(设计模型)和测试模型。
8、软件语言有软件需求定义语言、(软件设计语言)、软件建模语言、(软件结构描述语言)、软件程序设计语言等。
9、根据软件建模工具的独立性,把软件建模工具分为(独立软件)建模工具和(插件式软件)建模工具。
UML软件建模教程课后习题习题1一、简答题1、简述模型的作用。
答:现实系统的复杂性与内隐性,使得人们难于直接认识与把握,为了使得人们能够直观与明了地认识与把握现实系统,就需要借助于模型。
2、软件模型有什么特征?答:建模对象特殊,复杂性,多样性3、软件建模技术有哪些因素?答:软件建模方法,软件建模过程,软件建模语言,软件建模工具4、软件模型包括哪些方面的内容?答:从模型所反映的侧面瞧:功能模型,非功能模型,数据模型,对象模型,过程模型,状态模型,交互模型,架构模型,界面模型等;从软件开发工作瞧:业务模型,需求模型,分析模型,设计模型,测试模型等。
5、软件建模工具应该具有哪些基本功能?答:软件模型的生成与编辑,软件模型的质量保障,软件模型管理等二、填空题1、模型就是对现实的( 抽象)与模拟,就是对现实系统( 本质)特征的一种抽象、简化与直观的描述。
2、模型具有( 反映性)、直观性、( 简化性)与抽象性等特征。
3、从抽象程度,可以把模型分为( 概念模型)、逻辑模型与( 物理模型)三种类型。
4、较之于其她模型,软件模型具有( 建模对象特殊)、复杂性与( 多样性)等特征。
5、软件模型就是软件开发人员交流的( 媒介),就是软件升级与维护的( 依据)。
6、软件建模技术的要素包括软件建模方法、( 软件建模过程)、软件建模语言与( 软件建模工具)。
7、从开发阶段瞧,软件建模有业务模型、( 需求模型)、分析模型、( 设计模型)与测试模型。
8、软件语言有软件需求定义语言、( 软件设计语言)、软件建模语言、( 软件结构描述语言)、软件程序设计语言等。
9、根据软件建模工具的独立性,把软件建模工具分为( 独立软件)建模工具与( 插件式软件)建模工具。
10、OMG在( 1997 )年把UML作为软件建模的标准,UML2、0版本就是( 2005 )年颁布的。
三、选择题1、对软件模型而言,下面说法错误的就是( D )。
A、就是人员交流的媒介B、就是软件的中间形态C、就是软件升级与维护的依据D、就是软件的标准文档2、下面说法错误的就是( B )。
《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个阶段.特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。
优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程。
构件组装模型导致了软件的复用,提高了软件开发的效率。
软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。
并且软件复用从代码级的复用提升到构件和体系结构级的复用。
缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险。
可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。
客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量。
二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。
特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单。
缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。
并且如果在开发过程存在阻塞问题,则影响开发效率。
三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等。
特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。
通过迭代过程实现软件的逐步演化,最终得到软件产品。
中南大学复习题及参考答案软件工程一、选择题:1.下面哪些UML图描述系统行为( A )A.用例图B.类图C.对象图2.属于概要设计活动的是( A )A.软件结构设计B.数据结构设计C.算法设计3.属行为型设计模式的是(C)A.组合模式B.工厂方法模式C.观察者模式4.下列说法正确的是( B )A.UML是软件开发方法B.UML是系统描述语言C.UML是软件开发过程5. 根据程序流程图划分的模块通常是( B )A. 信息内聚的模块B. 过程内聚的模块C.逻辑内聚的模块6.如果某程序中的比较个数是m,则其McCabe环形复杂度为( C )A.m-1B.mC.m+17.按ISO9000-3的说明,下列属软件配置项的是( C )A.软件开发方法B.软件开发组织管理制度C.软件开发合同8. 软件测试的目的是( C )A.证明软件无错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是( B )A. 软件体系结构B. 模块细节C.软件性能10.软件项目开发计划的内容有( B )A. 数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的有( B )A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价(A)A.软件过程能力B.组织能力C.学习能力13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( C )A. 完善性维护B. 改正性维护C.适应性维护14. 对项目软件而言,软件功能需求信息主要由谁提供( A )A.软件用户B.软件开发人员C.软件项目管理人员15. IDEF0图反映不出(C)A.系统做什么B.系统功能由谁做C.系统如何做16. 原型模型是一种什么开发过程模型(B)A.自顶向上B. 由外至内C.增量式17. 系统流程图描述(A)A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括( C )A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型有( C )A. 瀑布模型B. RAD模型C.原型模型20.UML图中描述系统结构的有( A )A. 组件图B. 顺序图C.状态图21.面向对象方法是一种什么软件开发方法( B )A.层次化B.迭代增量式C.逐步求精22.不可以用来衡量软件可维护性的有()A.可靠性B.可用性C.可行性23. 系统分析员在需求分析最后负责编写()A.用户手册B. 概要设计说明书C.可行性研究报告24.为了提高软件的可靠性、可维护性等而对软件的修改称为()A.改正性维护B.适应性维护C.预防性维护25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构()A. 与问题结构对应B. 与问题结构独立C.与用户界面对应26.单元测试的计划应该在什么阶段完成()A. 需求分析B. 概要设计C.详细设计27. 下列属面向对象软件开发方法的有()A. LCP方法B. OMT方法C.IDEF0方法28.强调信息隐藏的软件工程设计方法有()A.Jackson方法B.Parnas方法C.SA/SD方法29.描述系统动态行为的模型有()A.包图B.软件结构图C.状态图30.考虑输入条件组合的测试用例设计方法有()A.等价分类法B.语句覆盖法C. 因果图法31. 下列能减少支援性维护活动的有()A.利用软件包B.进行配置管理C.对用户进行适当培训32. 只支持单重继承的程序设计语言有()A.C++B.DelphiC. C33. IDEF0图的顶层图是()A. A0图B.A-0图C.A-1图34. 在UML的用例图中,扩展关系是一种()A. 泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在()A.模块测试阶段B.集成测试阶段C.确认测试阶段36. 在成本估计中容易低估局部问题的方法是()A. 基于经验模型的估计B. 自底向上估计C. 自顶向下估计37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的()A.全部属性B.主关键字属性C.非主关键字属性38. 结构化分析方法使用的工具有()A. 数据流图B.类图C.软件结构图39. 白盒测试设计用例的方法是()A. 等价分类法B.基本路径覆盖法C.因果图法40. 在衡量软件质量时,最重要的标准是()A. 可维护性好B. 可用性好C. 满足用户功能需求41. 瀑布模型是一种()A. 演化模型B. 顺序模型C. 增量模型42. 模块的独立程度可以由什么定性标准度量()A. 耦合度B. 复杂度C.可靠性43.以下选项中,不属于对象的特点有()A. 继承B. 多态C. 封闭44. 面向数据结构的设计方法有()A.Parnas方法B.Jackson方法C. IDEF0方法45. 与UML配合最好的软件开发方法是()A.RUP方法B.Coad/Yourdon方法C.IDEF4方法二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和。
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。
《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
参考答案:顾客在线预订房间前台预订房间前台服务员客房部经理通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况信用卡系统2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM 的一部分。
《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) 所有人员进入本系统需先登录。
软件设计与体系结构课后练习部分答案第一篇:软件设计与体系结构课后练习部分答案第一章作业6、简要叙述软件设计在软件工程中所处的位置和重要性。
答:所处的位置:软件需求分析◊需求规格说明◊软件设计◊设计文档◊软件编码。
重要性:(1)是对软件需求的直接体现;(2)为软件实现提供直接依据;(3)将综合考虑软件系统的各种约束条件并给出相应方案;(4)软件设计的质量将决定最终软件系统的质量;(5)及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。
7、软件设计应该包含哪些要素?答:软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。
8、软件体系结构与软件设计有何关系?软件体系结构的出现有何必然性和重要意义?答:软件体系结构与软件设计的关系:软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。
软件体系结构的意义:软件体系结构将构件以及构件之间的连接作为软件体系结构的基本组成部分。
软件体系结构使软件复用从代码复用发展到设计复用和过程复用,为不同的人提供了共同的语言,体现了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享与复用,基于体系结构的软件开发提供了有力的支持。
第二章作业1、简述UML的特点和用途。
答:UML的发起者在最初制定UML时,充分考虑了各种需求、方法和语言的特点使UML在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:(1)为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求模型、设计模型和实现模型。
(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。
(3)独立于实现语言和方法学,但支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。
(4)独立于任何开发过程,但支持软件开发全过程。
软件架构实验一实验名称:UML实践专业班级:xxx学号:xxx姓名:xxx一、实验目的熟悉体系结构架构工具PowerDesigner的安装和使用,使用PowerDesigner绘制用例图,构造系统的需求模型;使用PowerDesigner绘制类图和对象图,构造系统的静态模型。
二、实验内容1. 使用PowerDesigner根据实际场景构造需求模型,了解需求建模的步骤并绘制用例图,撰写用例描述文档,进行模型检查。
某酒店订房系统描述如下:(1)顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2)前台服务员可以利用系统直接在前台预订房间;(3)不管采用哪种预订方式,都需要在预订时交相应订金;(4)前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5)利用信用卡进行支付时需要和信用卡系统进行通信;(6)客房部经理可以随时查看客房预订情况和每日收款情况。
2. Sunny College软件学院的图书管理系统的部分需求如下:(1) 图书馆会员有两类:学生和教师,学生可以借五本书,教师可以借十本书;(2) 学生会员借书期限为两个月,教师会员借书期限为三个月;(3) 书籍分为图书和期刊;(4) 图书管理系统应记录借出和归还的书籍信息;(5) 系统应该能添加新会员,当图书管理员添加新会员时,系统创建新记录;(6) 图书管理员可以删除会员记录。
现根据以上需求对系统进行静态建模,绘制类图,并假设一个名为“张三”的学生借一本名为《设计模式》的书,创建相应的对象图。
3. 根据NewWorld Bank银行系统项目需求,构建系统的需求模型和静态模型。
三、实验要求1. 熟练安装PowerDesigner11,熟练使用PowerDesigner11绘制用例图、类图和对象图;2. 严格按照需求建模和静态建模的步骤;3. 使用UML2.0中用例图的标准图符;4. 绘制标准的用例图并撰写规范的用例文档,绘制标准的类图和对象图;5. 最终需求模型需要进行检查,确保模型与需求的一致性。
中南大学复习题及参照答案软件工程一、选择题:1.下面哪些UML图描述系统行为( A )A.用例图B.类图C.对象图2.属于概要设计活动旳是( A )A.软件构造设计B.数据构造设计C.算法设计3.属行为型设计模式旳是(C)A.组合模式B.工厂措施模式C.观测者模式4.下列说法对旳旳是( B )A.UML是软件开发措施B.UML是系统描述语言C.UML是软件开发过程5. 根据程序流程图划分旳模块一般是( B )A. 信息内聚旳模块B. 过程内聚旳模块C.逻辑内聚旳模块6.假如某程序中旳比较个数是m,则其McCabe环形复杂度为( C )A.m-1B.mC.m+17.按ISO9000-3旳阐明,下列属软件配置项旳是( C )A.软件开发措施B.软件开发组织管理制度C.软件开发协议8. 软件测试旳目旳是( C )A.证明软件无错B.发现软件中旳所有错误C.尽量发现软件系统中旳错误9.软件重构关注旳是( B )A. 软件体系构造B. 模块细节C.软件性能10.软件项目开发计划旳内容有( B )A. 数据分析B.风险分析C.功能分析11.在UML旳类图中,描述整体与部分关系旳有( B )A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价(A)A.软件过程能力B.组织能力C.学习能力13. 因计算机硬件和软件环境旳变化而作出旳修改软件旳过程称为( C )A. 完善性维护B. 改正性维护C.适应性维护14. 对项目软件而言,软件功能需求信息重要由谁提供( A )A.软件顾客B.软件开发人员C.软件项目管理人员15. IDEF0图反应不出(C)A.系统做什么B.系统功能由谁做C.系统怎样做16. 原型模型是一种什么开发过程模型(B)A.自顶向上B. 由外至内C.增量式17. 系统流程图描述(A)A.物理系统B.逻辑系统C.软件体系构造18.需求规格阐明书旳内容不应当包括( C )A.软件确认准则B.软件旳性能描述C.算法过程旳详细描述19.适合需求模糊或需求不确定系统开发旳软件开发模型有( C )A. 瀑布模型B. RAD模型C.原型模型20.UML图中描述系统构造旳有( A )A. 组件图B. 次序图C.状态图21.面向对象措施是一种什么软件开发措施( B )A.层次化B.迭代增量式C.逐渐求精22.不可以用来衡量软件可维护性旳有()A.可靠性B.可用性C.可行性23. 系统分析员在需求分析最终负责编写()A.顾客手册B. 概要设计阐明书C.可行性研究汇报24.为了提高软件旳可靠性、可维护性等而对软件旳修改称为()A.改正性维护B.适应性维护C.防止性维护25.在构造化措施中,为使需求变化对软件影响较小,应当使软件构造()A. 与问题构造对应B. 与问题构造独立C.与顾客界面对应26.单元测试旳计划应当在什么阶段完毕()A. 需求分析B. 概要设计C.详细设计27. 下列属面向对象软件开发措施旳有()A. LCP措施B. OMT措施C.IDEF0措施28.强调信息隐藏旳软件工程设计措施有()A.Jackson措施B.Parnas措施C.SA/SD措施29.描述系统动态行为旳模型有()A.包图B.软件构造图C.状态图30.考虑输入条件组合旳测试用例设计措施有()A.等价分类法B.语句覆盖法C. 因果图法31. 下列能减少支援性维护活动旳有()A.运用软件包B.进行配置管理C.对顾客进行合适培训32. 只支持单重继承旳程序设计语言有()A.C++B.DelphiC. C33. IDEF0图旳顶层图是()A. A0图B.A-0图C.A-1图34. 在UML旳用例图中,扩展关系是一种()A. 泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在()A.模块测试阶段B.集成测试阶段C.确认测试阶段36. 在成本估计中轻易低估局部问题旳措施是()A. 基于经验模型旳估计B. 自底向上估计C. 自顶向下估计37.在IDEF1X图中,假如子实体与父实体存在联络,则子实体将继承父实体旳()A.所有属性B.主关键字属性C.非主关键字属性38. 构造化分析措施使用旳工具有()A. 数据流图B.类图C.软件构造图39. 白盒测试设计用例旳措施是()A. 等价分类法B.基本途径覆盖法C.因果图法40. 在衡量软件质量时,最重要旳原则是()A. 可维护性好B. 可用性好C. 满足顾客功能需求41. 瀑布模型是一种()A. 演化模型B. 次序模型C. 增量模型42. 模块旳独立程度可以由什么定性原则度量()A. 耦合度B. 复杂度C.可靠性43.如下选项中,不属于对象旳特点有()A. 继承B. 多态C. 封闭44. 面向数据构造旳设计措施有()A.Parnas措施B.Jackson措施C. IDEF0措施45. 与UML配合最佳旳软件开发措施是()A.RUP措施B.Coad/Yourdon措施C.IDEF4措施二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系旳措施,分别是和。
简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
2. 下列图能作为一个水下声音模拟系统的体系结构吗,为什么?答:不能。
原因如下:1)图中的解释在哪里?2)构件的定义是什么?什么是连接器?3)方块和箭头代表什么?4)图中分布是否合理?5)水平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运行在不同的处理器上吗?运行在不同时间?它们能代表开发分组?还是运行时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调用?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独一层?是说CP能调用其他三个元素,而不能反过来?还是说CP包含了下面三个元素的实现?3. 软件体系结构通常使用哪三类结构视图?答:模块视图:•分解:将实现代码分解成系统、子系统、子子系统等。
它通常作为开发项目组织的基础,包括文档结构、集成和测试计划等。
结构中的每个单元通常有与特定组织相关的名字。
•使用:它是一种特定形式的依赖关系。
该使用关系将系统分成子集,从而支持增量式开发。
•泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在一起。
具有相似行为或能力的模块可以使用子类的方法集成。
类的结构也可支持重用和增量式丰富功能。
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),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
《软件工程》作业参考答案作业一一、1.过程与模型工具和环境消息 2. 33.产品软件合同软件4.由外至内5.三种基本流程控制结构6.软件危机7.尽可能模拟人类习惯的思维方式人类认识世界 8.结构化数据二、三、1.结构化方法:是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口,其基本原则是抽象和功能分解。
2.软件工具:是指为支持计算机软件的开发、维护及相关工作而研制的程序系统。
:是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
四、1.软件工程是一门工程性学科,其目标是以较少的代价获取高质量的软件,包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
2.软件文档的作用有:提高软件开发过程的能见度;提高软件开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。
瀑布模型是典型的文档驱动型软件开发模型,其缺点主要有:实际软件开发中,各阶段之间并非完全的自上而下线性顺序展开;在开发过程中,用户看不见系统,而只有在交付使用时系统才能和用户见面;针对需求模糊或变化的情况,瀑布模型不够灵活。
3.软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。
一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。
在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
中南大学复习题及参考答案软件工程一、选择题:1.下面哪些UML图描述系统行为( A )A.用例图B.类图C.对象图2.属于概要设计活动的是( A )A.软件结构设计B.数据结构设计C.算法设计3.属行为型设计模式的是(C)A.组合模式B.工厂方法模式C.观察者模式4.下列说法正确的是( B )A.UML是软件开发方法B.UML是系统描述语言C.UML是软件开发过程5. 根据程序流程图划分的模块通常是( B )A. 信息内聚的模块B. 过程内聚的模块C.逻辑内聚的模块6.如果某程序中的比较个数是m,则其McCabe环形复杂度为( C )A.m-1B.mC.m+17.按ISO9000-3的说明,下列属软件配置项的是( C )A.软件开发方法B.软件开发组织管理制度C.软件开发合同8. 软件测试的目的是( C )A.证明软件无错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是( B )A. 软件体系结构B. 模块细节C.软件性能10.软件项目开发计划的内容有( B )A. 数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的有( B )A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价(A)A.软件过程能力B.组织能力C.学习能力13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( C )A. 完善性维护B. 改正性维护C.适应性维护14. 对项目软件而言,软件功能需求信息主要由谁提供( A )A.软件用户B.软件开发人员C.软件项目管理人员15. IDEF0图反映不出(C)A.系统做什么B.系统功能由谁做C.系统如何做16. 原型模型是一种什么开发过程模型(B)A.自顶向上B. 由外至内C.增量式17. 系统流程图描述(A)A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括( C )A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型有( C )A. 瀑布模型B. RAD模型C.原型模型20.UML图中描述系统结构的有( A )A. 组件图B. 顺序图C.状态图21.面向对象方法是一种什么软件开发方法( B )A.层次化B.迭代增量式C.逐步求精22.不可以用来衡量软件可维护性的有()A.可靠性B.可用性C.可行性23. 系统分析员在需求分析最后负责编写()A.用户手册B. 概要设计说明书C.可行性研究报告24.为了提高软件的可靠性、可维护性等而对软件的修改称为()A.改正性维护B.适应性维护C.预防性维护25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构()A. 与问题结构对应B. 与问题结构独立C.与用户界面对应26.单元测试的计划应该在什么阶段完成()A. 需求分析B. 概要设计C.详细设计27. 下列属面向对象软件开发方法的有()A. LCP方法B. OMT方法C.IDEF0方法28.强调信息隐藏的软件工程设计方法有()A.Jackson方法B.Parnas方法C.SA/SD方法29.描述系统动态行为的模型有()A.包图B.软件结构图C.状态图30.考虑输入条件组合的测试用例设计方法有()A.等价分类法B.语句覆盖法C. 因果图法31. 下列能减少支援性维护活动的有()A.利用软件包B.进行配置管理C.对用户进行适当培训32. 只支持单重继承的程序设计语言有()A.C++B.DelphiC. C33. IDEF0图的顶层图是()A. A0图B.A-0图C.A-1图34. 在UML的用例图中,扩展关系是一种()A. 泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在()A.模块测试阶段B.集成测试阶段C.确认测试阶段36. 在成本估计中容易低估局部问题的方法是()A. 基于经验模型的估计B. 自底向上估计C. 自顶向下估计37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的()A.全部属性B.主关键字属性C.非主关键字属性38. 结构化分析方法使用的工具有()A. 数据流图B.类图C.软件结构图39. 白盒测试设计用例的方法是()A. 等价分类法B.基本路径覆盖法C.因果图法40. 在衡量软件质量时,最重要的标准是()A. 可维护性好B. 可用性好C. 满足用户功能需求41. 瀑布模型是一种()A. 演化模型B. 顺序模型C. 增量模型42. 模块的独立程度可以由什么定性标准度量()A. 耦合度B. 复杂度C.可靠性43.以下选项中,不属于对象的特点有()A. 继承B. 多态C. 封闭44. 面向数据结构的设计方法有()A.Parnas方法B.Jackson方法C. IDEF0方法45. 与UML配合最好的软件开发方法是()A.RUP方法B.Coad/Yourdon方法C.IDEF4方法二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和。
《UML实验》参考答案i. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统( COS: Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录) 、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息) 、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录) 。
参考答案:3. 根据以下场景绘制用例图: 某公司需开发一个反馈处理系统作为其 CRM 的一部分。
系统基本功能描述如下:(1) 客户可通过系统发布反馈信息;(2) 公司客户关系(CR)部门员工也可以在系统中记录反馈信息;(3) 业务部门的主管和员工均能看到本部门的反馈信息,但只有 与删除反馈的权限;(4)对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息, 业务部门主管 有权通过系统安排本部门员工调查及处理该反馈;(5) 反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况; (6) 公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表; (7) 所有人员进入本系统需先登录。
参考答案:4. Draw a use case diagram for the following library system:CR 部门员工拥有修改The library stores various items that can be borrowed, including books and journals. Books can be borrowed by both staff and stude nts, but only staff members can borrow jour nals. When a user borrows a book, their loa n details are checked to en sure that they have no overdue books on loan, and have n ot already borrowed the maximum permitted nu mber 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 curre ntly out on loa n. If three reservati ons have already bee n made for a give n book, and a further reservati on is made, a new copy will be ordered by the libraria n.5. 某银行准备开发一个网上信用卡管理系统CCMS,该系统的基本功能为:(1) 信用卡申请。
非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS登录。
如果信用卡申请被银行接受,客户会收到银行的确认函,并告知用户信用卡的有效期及信贷限额;否则银行会发送一封拒绝函给该客户。
客户收到确认函后,需再次登录CCMS,用信用卡号和密码激活该信用卡。
激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功地激活。
(2) 月报表生成。
在每个月第一天的零点,CCMS为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。
信用卡客户可以登录CCMS查看月报表,也可以要求CCMS提供打印出的月报表。
(3) 信用卡客户信息管理。
信用卡客户的个人信息可以在CCMS中进行在线的管理。
每个信用卡客户可以在线查询其个人信息。
(4) 信用卡交易记录。
信用卡客户使用信息卡进行的每一笔交易都会记录在CCMS中。
(5) 交易信息查询。
信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易额。
构造该系统的用例模型,要求绘制用例图,编写相应的用例文档,还需提供用例追踪矩阵。
6. 根据以下描述绘制状态图:某销售信息管理系统中销售部员工可以提交订单,刚提交的订单为“初始”状态;系统管理员可以处理订单,如果订单无误,则修改订单为“备货”状态,否则将订单退还给提交订单的销售部员工修改,员工此时可以取消订单;仓库管理员备货完毕后可将订单状态改为“发货”状态;销售部员工在确认客户已经收到货物后,可将订单改为“关闭”状态。
参考答案:■关时间交易终端Q处理订单[订单无误]/ Han die & Modify Status备货状态do / Modify Status 丿发货[已发货]/ Modify Status发货状态do / Con firm do / Close确认订单[客户已收到货物]/ Confirm & Close关闭状态7. 根据以下描述绘制某订餐系统中顾客订餐过程的活动图(要求绘制泳道) :(1) 顾客请求查看菜单;(2) 系统显示菜单和今日特价;(3) 顾客选菜;(4) 系统显示订单和价格;(5) 顾客确认订单;(6) 系统显示可送餐时间;(7) 顾客指定送餐时间、地点和支付方式;(8) 系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。
参考答案:8. 根据如下描述绘制顺序图:在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系 统显示符合要求的房间号; 顾客确定预订的房间, 系统显示预付订金信息; 顾客输入信用卡 账号和密码,系统请求银行信用卡系统提供支付服务;银行信用卡系统验证用户信息并返回验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。
参考答案:顾客 系统显示菜单请求查看菜单■A 显示今日特价选菜显示订单和价格确认订单指定送餐时间、地点和支忖方式发送Email 发送订餐信息_显示可送餐时间I确认接受订单顺序图实例9. 根据以下Java源代码绘制相应的顺序图: public class Sale {private List<SalesProductltem> productitems = new ArrayList<SalesProductltem>;public Money getTotal() {Money total = new Mon ey();Money subTotal = n ull;for (SalesProductltem item : productitems) { subTotal = item.getSubTotal();total.add(subTotal);} return total;}}参考答案:10. 根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):图形(Shape)可分为圆形(Circle)、矩形(Recta ngle)、椭圆形(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)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确 则进入主界面(Main Form),否则提示“输入错误”。
现对这两个模块进行设计,要求如下:(1) 根据以上描述绘制类图,要求分析出每个类中的主要方法;(2) 需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的1..*cz-discount : double1..11..1 1..*数据访问接口;(3) 尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。