ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:457.04KB ,
资源ID:20800876      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20800876.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象答案整理Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象答案整理Word文档下载推荐.docx

1、 从形式上讲,用例记录用户使用系统时从头到尾的一系列事件。是用户和开发者一起深入剖析系统功能的起点。 在开发项目的初期,用例图可以描述现实世界中的活动和动机。同时可以在项目后期改进用例图以反映用户界面和设计细节。7 掌握用例模型的获取方法。参与者获取方法谁使用系统的主要功能谁需要系统支持他们的主要工作谁来维护、管理系统使其能正常工作系统需要控制哪些硬件系统需要与哪些系统交互对系统产生的结果感兴趣的是哪些人或哪些事物 用例获取方法: 识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的。 参与者要求系统提供哪些功能 参与者需要读、产生、删除、修改或存储系统中的信息有哪些类

2、型必须提醒参与者的系统事件有哪些参与者必须提醒系统事件有哪些8 用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。扩展关系扩展用例被定义为基础用例的增量扩展。n 基础用例提供扩展点以添加新的行为。n 扩展用例提供插入片段以插入到基础用例的扩展点上父用例也可以被特别列举为一个或多个子用例。n 子用例表示父用例的特殊形式。n 子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变继承的行为包含关系客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。9 类图有哪些元素构成?类之间的关系有哪些?掌握UML中类图的绘制方法。类、接口、协作、依赖关系、泛

3、化关系、关联关系、实现关系类之间的关系:依赖关系、泛化关系、关联关系、实现关系10 简述类的聚合和组合关系的异同点。聚合是一种特殊的关联, 聚合更明确指出聚合的主体具有整体-部分关系.组合是一种特殊的聚合, 组合中的某个主体控制着另外一个主体的生命周期,而且他们还存在整体-部分关系.聚合和组合的主要区别在于聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象

4、。11 对象图的适用场景以及它的优缺点。对象图适用于论证类模型的设计以及对源代码进行分析和说明。其优点是能够直观理解出系统运行时的实时状态,缺点是比较复杂,工作量大。12 掌握交互图(时序图与协作图)的绘制方法。交互图用来一步一步地描述用例地实现流程,包括流中需要什么对象,对象之间发送什么,什么角色启动流、消息按什么顺序发送等。交互图通过从用例建模中得到的用例文档说明、词汇表和用例图来创建。如何创建交互图创建交互图的步骤如下:􀂄1.寻找对象2.寻找角色3 获取消息,并加入图中。13 掌握活动图、状态图的绘制方法。活动图绘制方法:第一步,定义活动图的范围首先应该定义您要对什么建

5、模。单个用户案例?一个用户案例的一部分?一个包含多个用户案例的商务流程?一个类的单个方法?一旦您定义了所作图的范围,应该在其顶部,用一个标注添加标签,指明该图的标题和唯一的标示符。您有可能也想要包括该图的时间甚至作者名。 第二步,添加起始和结束点每个活动图有一个起始点和结束点,因此您也要马上添加它们。在 UML精粹(UML Distilled)(参见 参考资料),Fowler 和 Scott认为结束点是可选的。有时候一个活动只是一个简单的结束,如果是这种情况,指明其唯一的转变是到一个结束点也是无害的。这样,当其他人阅读您的图时,他或她知道您已经考虑了如何退出这些活动。第三步,添加活动如果您正对

6、一个用户案例建模,对每个角色(actor)所发出的主要步骤引入一个活动(该活动可能包括起始步骤,加上对起始步骤系统响应的任何步骤)。如果您正对一个高层的商务流程建模,对每个主要流程引入一个活动,通常为一个用户案例或用户案例包。最后,如果您正对一个方法建模,那么对此引入一个活动是很常见的。第四步,添加活动间的转变我的风格总是应该退出一个活动,即使它是转变到一个结束点。一旦一个活动有多个转变时,您必需对每个转变加以相应标示。第五步,添加决策点有时候,您所建模的逻辑需要做出一个决策。有可能是需要检查某些事务或比较某些事务。要注意的是,使用决策点是可选的。例如,在 图 1中,我可以只是简单地将“接受”

7、和“拒绝”两个转变直接接到“在大学报名(Enrollin University)”活动。第六步,找出可并行活动之处当两个活动间没有直接的联系,而且它们都必需在第三个活动开始前结束,那它们是可以并行运行的。在 图 1中,您看到是有可能“参加简要介绍(attendoverview)”和“报名研讨班(enroll in seminars)”可以按任意次序进行,但是它们都得在您结束整个流程前完成。状态图建模技术建模步骤:找出适合用模型描述其行为的类。确定对象可能存在的状态。确定引起状态转换的事件。确定转换进行时对象执行的相应动作。对建模的结果进行相应的精化和细化。14 类的设计原则包括哪些内容?单一职

8、责原则(SRP)含义:就一个类而言,应该仅有一个引起它变化的原因。开放封闭原则(OCP)含义:软件实体应该是可以扩展的,但是不可修改的;对于扩展是开放的,对于修改是封闭的。Liskov替换原则(LSP)含义:子类型必须能够替换掉它们的基类型。依赖倒置原则(DIP)含义:高层模块不应依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。接口隔离原则(DIP)含义:不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。15 包图与组件图的概念,掌握包图的设计原则,包括稳定性和抽象度的衡量方法。包图:对于庞大的应用系统而言,其包含的类成百上千,再加上复

9、杂的类间关系,处理复杂度太高。这也就是引入了“包”这种分组事物构造块。对语义上相关的元素进行分组;定义模型中的“语义边界”;组件图:描述了软件的各种组件和它们之间的依赖关系。组件图中通常包含3个元素:组件,接口,依赖关系.包图的设计原则:内聚性原则:重用发布等价原则(REP):重用的粒度就是发布的粒度.当一个包的目的是为了重用,那么这个包下的所有类都应该是重用的。共同重用原则(CRP):如果重用了包中的一个类,那么就要重用包中的所有类。共同封闭原则(CCP):包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任

10、何影响。耦合性原则:无环依赖原则(ADP):在包的依赖关系图中不允许存在环稳定依赖原则(SDP):朝着稳定的方向进行依赖稳定抽象原则(SAP):包的抽象程度应该与其稳定程度一致稳定性度量 Ca输入耦合度,依赖于该包内的类的数目; Ce输出耦合度,依赖于该包外的类的数目; 不稳定性I=Ce/(Ca+Ce) I=0表示该包具有最大的稳定性; I=1表示该包具有最大的不稳定性。抽象性度量 Nc包中类的总数; Na包中抽象类的数目; 抽象性度量A=Na/Nc A=0意味着包中没有任何抽象类; A=1意味着包中只包含抽象类。16 掌握所介绍的各种设计模式的用途,类图,以及相关实例。(策略模式、工厂模式、

11、对象装饰模式等)策略模式:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。将这些算法硬编进使用它们的类中是不可取的,其原因如下:需要功能的客户程序如果直接包含算法代码的话将会变得复杂,这使得客户程序庞大并且难以维护, 尤其当其需要支持多种算法时问题会更加严重。不同的时候需要不同的算法,我们不想支持我们并不使用的算法。当功能是客户程序的一个难以分割的成分时,增加新的算法或改变现有算法将十分困难。适用性需要使用一个算法的不同变体。算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。一个类定义了多种行为, 并且

12、这些行为在这个类的操作中以多个条件语句的形式出现。将相关的条件分支移入它们各自的Strategy类中以代替这些条件语句。相关实例:收银打折系统观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。效果采用桥接模式可以获得以下好处。(1)将接口与实现分离:一个接口可以有若干实现,一个实现也可以为若干对象服务,表示逻辑的对象可以动态地与实现功能的对象组合。(2)提高可扩充性:逻辑和实现都可以通过类层

13、次的扩展进行扩充。在如下情况下可以使用桥接模式(1)不希望在业务和业务的软件实现之间存在因定的绑定关系。(2)希望类的抽象和实现部分可以扩充,进而实现不同的抽象接口和实现部分的组合。(3)修改实现部分对用户不产生影响,即代码无须重新编译。(4)复用实现部分。由于实现部分所处的层次较低,因此可以被多种业务模块复用。对象装饰模式:在界面设计中,一种较为灵活的实现方式是将组件嵌入另一个对象中,我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。透明性使得你可以递归的嵌套多个装饰,从而可以添加任意多的功能。动态地给对象添加一些额外的职责,就功能来说装饰模式相比生

14、成子类更为灵活使用场合在以下情况下应当使用装饰模式:1.需要扩展一个类的功能,或给一个类增加附加责任。2.需要动态地给一个对象增加功能,这些功能可以再动态地撤销。3.需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变得不现实。实例:穿衣服,帽子,鞋子等。工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,即使一个类的实例化延迟到其子类。问题: 对具有共同父类的子类对象的创建,一般使用new方式实现,带来程序维护性问题。如何解决:集中创建对象,通过参数区分不同子类对象,即工厂模式。简单工厂模式优缺点: 模式的核心是工厂类,这个类负责产品的创建,而客户端可以免去产

15、品创建的责任,这实现了责任的分割。但由于工厂类集中了所有产品创建逻辑的,如果不能正常工作的话会对系统造成很大的影响。如果增加新产品必须修改工厂角色的源码。17. 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型类的种类有实体类,边界类和控制类。实体类:判别特征是它的对象持有应用的大部分数据,一般实体类的对象是持久的,也就是说它们的存在超过一个会话的生命期,或者有时存在于系统的整个生命期间。边界类:参与者用边界类的对象与系统交互,边界类还可以用于建立与另一个系统的通信, 因此边界类将系统与系统外部的变化隔离开。控制类:用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序将

16、分析类划分成这三种类型的好处在于:所产生的类更小更专门化;这种划分将易变的外部界面与系统基本功能进行了屏蔽,使分析模型更易于变化。(分析模型是对客观事物或现象的一种描述)18 请简要阐述在软件开发过程中使用UML 的必要性以及好处。必要性:软件系统是产品,开发者和使用者是不同群体,对于一个复杂的软件系统,开发必须由多个方面人员参与、合作共同完成.在试图交流、理解一个系统时,可根据人们所关心的某一方面的问题,查阅对应的系统模型,从而得到对此问题的理解。如果整个系统的功能、原理和结构没有一个全面而详细的记载的话,将会对此软件产品的开发、维护和升级产生不利的结果。uml的好处有: 1.用统一而直观的

17、图符来帮助不同角色(客户,分析者,设计者,实现者.)进行良好的沟通 2.开发的不同阶段(分析,设计,实施,测试)均采用一致的模型,从而保证了阶段顺利切换. 19 在绘制类图时,第一步就是发现类,最常用的方法是什么?请简要说明它的使用方法。名词动词分析法通过事件流寻找类 分析事件流中的名词,将性质相同的归为一类;去除不恰当的或含糊的,去除应归为属性的项目。 命名所获取的类。 如何确定属性 注意需求中的名词; 注意用例模型或需求文档中的名词,数据表。如何确定方法 实现:实现业务功能,通过事件流中的动词分析进行捕捉; 管理:管理对象的创建或构造; 访问:查询或修改每个类的属性; 帮助:说明类完成任务

18、所需要的操作。20 简述面向对象分析过程。面向对象分析的目的在于建模。面向对象分析的一般步骤如下:1、获取客户对系统的需求,包括标识场景和用例,以及建立需求模型(根据需求所做的简单的框图);2、用基本的需求为指南来选择类和对象;3、定义类的结构和层次;4、建造对象关系模型;5、建造对象行为模型(即动态模型,包括交互模型,状态模型,有时序图,协作图,状态图);6、利用用例场景来复审分析模型。21 简述面向对象设计过程。面向对象设计是将面向对象分析所创建的分析模型转换为设计模型。面向对象设计的目标是产生一个满足用户需求,并且完全可实现的面向对象设计模型。1、 系统设计将分析模型划分成子系统标识问题

19、本身的并发性,并为子系统分配处理器任务管理设计数据管理设计资源管理设计人机界面设计子系统间的通信2、对象设计;对象设计是为每个类的属性和操作做出详细的设计,并设计连接类与它的协作者之间的消息规约。对象描述的方式 协议描述:描述对象的接口,即定义对象可以接收的消息以及接收到消息后完成的相关操作; 实现描述:描述传送给对象的消息所蕴含的每个操作的实现细节,实现细节就是关于描述对象属性的数据结构的内部细节和描述操作的过程细节。为对象中的属性和操作设计数据结构和算法。3、消息设计; 使用对象间的协作和对象-关系模型,设计消息模型。4、复审。复审设计模型并在需要时迭代。22 请观察一部电梯的运行方式,并

20、用状态图描述它的各种状态(简化为“第一层”、“向上运动”、“向下运动”、“等待”、“运动到第一层”五种状态)和可能转移。23. 简单的电子表包含两个按钮A 和B,系统启动后进入显示时分秒时间状态。在显示时间状态下按钮B 用于切换两种时间显示方式,即显示时分秒和显示年月日。而在显示时分秒状态下,按钮A 用于切换四种操作方式:显示时间、设置小时、设置分钟和设置秒钟;在显示年月日状态下按钮A 用于切换显示时间、设置年份、设置月份和设置日期四种操作方式。试画出其状态转换图。24 某“订货”用例的文字描述如下:接收顾客的订单、确认订单是否已付款。若未付款,则取消并退回订单;若已付款,则检查每个订单项。对

21、有货的订单项更新库存,同时向顾客发放提货单;对于缺货的订单项则向顾客发放缺货单,同时向采购人员发放采购单。请用活动图描述这一用例。25 掌握UML 中各种模型图的作用,画法,结合“网上学生选课系统”仔细理解。第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。第二类是静态图(Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图

22、显示类的多个对象实例,而不是实际的类。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。第三类是行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。第四类是交互图(Interactive diagram),描述对象间

23、的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。第五类是实现图( Implementation diagram )。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。配置图定义系统中软硬件的物理体系结构。网上选课系统建模类图范例根据前面课程的分析可知选课系统可设计如下类:(1)界面FormObject(2)控制对象Co

24、ntrolObject(3)课程Course角色类:(1)管理员Register(2)学生Student(3)学生和管理员的父类People(4)数据库Database时序图:协作图:26 无向图包括点集和边集,其中边集的边连接着点集的一对点,如下图所示。试用类模型描述无向图,只需描述其结构,不需描述其中点的位置和边的长度等信息。27 简单有向图与无向图类似,只是边是有向的,如下图所示。试用一个类模型描述有向图。28 下面类图是一个图形交互编辑器的部分类图,其中sheet(页面)是Line 和Box 的集合,selection 是选中的Line 和Box 的集合。在下面的类图中没能表示一个Li

25、ne 或Box 元素只能属于sheet 或selectio 之一的约束,试修改该类图,使其能表示该约束关系。29 优化下面的类图,使其在没有确认专栏(Culumn)之前可以确定文本行(Line)在哪个页面(Page)上。30 在图33 中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应的类图。最上面的对象的名称是China,该图表示中国是由福建,四川等省份组成的。相应的类图如下:31. 用面向对象方法建立一个现实问题的分析模型。题目如下:学校管理系统要存储下列数据:(1)系:系名,系主任学生:学号,姓名,学生所属系教师:工作证号,姓名,教师所属系研究生:专业方向教授:研究领域课

26、程:课程号,名称,学分(2)学生每学期要选修若干门课程,每门课有一个考试成绩;莫个学期开设的每门课程只有一个任教教师;一个教师只任教一门课;一个教师有能力讲授多门课程,一门课程也可以有多位教师能够讲授;每个研究生只能跟随一位教授.试画出表示上述数据的类模型。32. 分析下面的类图,画出新的类图,将原图中的多对多的关系转换为1:M(一对多)关系。33. 信用卡可能处于“开放”和“关闭”状态,其中“开放”状态可以直接进入“关闭”状态,而从“关闭”状态必须提供密码验证才能进入“开放”状态,“开放”状态又包括“透支”和正常状态之间的变化,当剩余金额少于0,或者使用额度大于剩余金额,或者结算余额小于0时

27、进入透支状态,反之则为正常状态。画出信用卡的状态转换图。34. 请判断以下类图中的类关系是否合适,并说明理由。飞机有机翼、机身、驾驶舱商店里的电器,一台电器可以是一台洗衣机,也可以不是;一台电器可以是一台电视机,也可以不是;一台电器可以是一台空调,也可以不是。公司员工很多,包括程序员、分析员与项目经理等。35. 仔细分析“语音邮箱系统”的“保留语音信息”和“拨打邮箱号”的用例事件流描述,请找出里面的对象,并画出时序图或协作图。用例1:拨打邮箱号呼叫者拨打语音邮件系统的主号码;语音邮件系统发出提示音:输入邮箱号码并加#号呼叫者输入接收者的邮箱号语音邮件系统发出问候语:已进入XX的邮箱,请留言。用例2:保留语音信息呼叫者“拨打邮箱号”呼叫者说出信息呼叫者挂断电话语音邮件系统将记录的信息存放在接收者的邮箱中。36. 假设某高校需要建立一个档案管理系统,而你是该软件系统的负责人。你所在的软件公司与高校一致同意系统的构建采用面向对象方法。作为开发负责人,请你结合本课程中的学习知识,提供参考的软件体系结构设计方案,描述开发这个系统的过程,并写出开发过程的每个步骤中你认为应该用到的主要技术。在面向对象技术中,对已有的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1