logo资料库

面向对象分析与设计习题及部分答案.pdf

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
《面向对象分析与设计》习题及部分答案 第一章 概论 1. 什么是面向对象方法?面向对象的基本原则主要有哪些? 答: 面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态 性等概念来构造系统的软件开发方法。 面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物) 入手,尽量运用人类的自然思维方式来构造软件系统, 这与传统的结构化方法从 功能入手和信息工程化方法从信息入手是不一样的。 面向对象的基本思想主要有: 1) 从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域 (现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物 的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成 单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系 的本来面貌 (对象 ) 2) 用对象的属性表示事物的性质; 用对象的操作表示事物的行为。 (属性与 操作) 3) 对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外 屏蔽其内部细节。(对象的封装) 4) 对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这 些对象的抽象描述,每个对象是它的类的一个实例。 (分类) 5) 复杂的对象可以用简单的对象作为其构成部分。 (聚合) 6) 通过在不同程度上运用抽象的原则 ,可以得到较一般的类和较特殊的类。 特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。 (继承) 7) 对象之间通过消息进行通讯,以实现对象之间的动态联系。 8) 通过关联表示类 (一组对象 )之间的静态关系。(关联) (消息) 2. 与传统开发方法比,面向对象方法有什么优点? 答: 面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物) 入手,尽量运用人类的自然思维方式来构造软件系统, 这与传统的结构化方法从 功能入手和信息工程化方法从信息入手是不一样的。 与传统方法相比,面向对象的方法主要优点有: 1) 从认识论的角度可以看出,面向对象方法改变了人们认识世界的方式; 2) 语言的发展 ——鸿沟变窄; 3) 面向对象方法使得从问题域到计算机间的鸿沟变窄; 4) 面向对象方法有助于软件的维护与复用; 1
(1)把易变的数据结构和部分功能封装在对象内并加以隐藏, 一是保证了对 象行为的可靠性; 二是对它们的修改并不会影响其他的对象, 有利于维护, 对需 求变化有较强的适应性。 (2)封装性和继承性有利于复用对象。把对象的属性和操作捆绑在一起, 提高了对象(作为模块)的内聚性,减少了与其他对象的耦合,这为复用对象提 供了可能性和方便性。 在继承结构中, 特殊类对一般类的继承, 本身就是对一般 类的属性和操作的复用。 5) 面向对象方法有助于提高软件的质量和生产率。 第二章 什么是面向对象分析 3. 简述 OOA 模型及 OOA 过程。 答: OOA 模型如下图所示:包括基本模型(类图) ,需求模型(用况图) ,辅助模型(顺序 图、活动图、状态图等) OOA 模型 给出所有与问题 域和系统责任有 捕 获 与 描述 用 户 的 要求 需求模型 定义每个对 象类的属性 用况图 通过已定义的 关系描述对象 OOA 过程如下图所示: 一幅顺序图表现完成某一项特定功能的一 组对象之间的详细交互;一辐状态图描述 了一个对象的状态变迁。活动图描述了一 基本模型( 类图) 个服务的流程或业务流程。 辅助模型 顺序图 活动图 状态图 包图 …… 对 关 系 密 切 的 元 素 打 包,帮助 理 解 系 对模型中 统模型。 的所有元 2 对象层 特征层 关系层 模型规约 2
各过程简单说明如下: 建立需求模型:即定义用况,是辅助模型,可选。用用况对用户需求进行规 范化描述。 建立类图:基本模型,主要完成任务包括: * 发现对象、定义对象类 * 识别对象的内部特征 * 识别对象的外部关系 原型开发:可选,结合其他活动反复进行。 建立交互图、状态图和活动图等:是辅助模型,可选。 建立模型规约或详细说明:对模型中的成分进行规范的定义和文字说明。可 以集中进行,也可分散在各个活动中。 以上各个 OOA 过程总体来说是一个反复进行,不断完善的过程,以建立基 本模型为中心,进行需求模型、基本模型、辅助模型的建立、修改与完善。 4. 简述问题域与系统责任间的关系。 第三章 用况图 5. 简述用况之间的包含关系、扩展关系与继承关系。 答: 1)包含关系 基用况在它内部说明的某一(些)位置上显式地使用供应者用况的行为的结 果。 2)扩展关系 3
按基用况中指定的扩展条件, 把扩展用况的行为插入到由基用况中的扩展点 定义的位置。 3)继承 子用况继承父用况的行为和含义;子用况还可以增加或覆盖父用况的行为; 子用况可以出现在父用况出现的任何位置(父和子均有具体的实例) 。 三种关系图例如下: 包含关系 基用况 供应者 《 include 》 扩展关系 基用况 扩展用况 《 exclude 》 继承关系 一般用况 特殊用况 6. 论述用况图在面向对象方法中的地位。 答: 用况图主要用于对系统 (子系统 )的功能行为进行建模。画出用况图及描述用 况是需求分析阶段的主要任务。 建立用况图的主要益处有: ? 通过表示在语境中参与者如何与系统交互, 使得系统、子系统和类对于用 户和开发者易于探讨和理解。 ? 易于对需求规范化 ? 有利于进行 OOA ? 有助于发现主动对象 ? 对系统测试来说,产生测试用例。 ? 有助于人机界面设计 ? …… 7. 通常自动售货机会按用户的要求进行自动售货。供货员会巡查向其内供货, 取款员会定时取款。请建立用况图,并描述各个用况,建立类图。 答: (1)用况图 4
自动售货机系统 售货 供货 取货款 顾客 供货人 取款员 (2) 用况简单描述: 售货: 【前置条件】自动售货机系统启动成功,显示主界面,提示用户选择操作; 顾客选择购物; 选择商品; 系统提示购物清单列表及总价; 顾客确认后,投币; 系统验证金额; 如正确,则吐出商品。 如金额不足,则退回钱币,提示金额不足。 顾客确认后或超时( 30 秒无操作); 系统返回主界面。 供货: 【前置条件】自动售货机系统启动成功,显示主界面,提示用户选择操作; 供货人选择供货; 系统提示供货人输入用户名和密码; 供货人输入用户名和密码; 系统进行验证,如通过则打开供货门,给出供货界面,否则显示输入错 误; 如通过,供货人可放入货品,并输入单价及数量; 系统确认后,显示供货成功。 供货人确认后或超时( 30 秒无操作); 系统返回主界面。 取货款: 5
【前置条件】自动售货机系统启动成功,显示主界面,提示用户选择操作; 取款员选择取款; 系统提示取款员输入用户名和密码; 取款员输入用户名和密码; 系统进行验证,如通过则打开款箱,否则显示输入错误; 如通过,取款员取款; 系统确认后,显示取款成功。 取款员确认后或超时( 30 秒无操作); 系统返回主界面。 (3)类图 1..* 购买 1..* 订单 订单号 订单时间 订单明细 订单金额 支付状态 生成订单 支付订单 取消订单 供货员 帐户名称 帐户密码 身份验证 商品 商品编号 商品名称 单价 数量 供货 出货 1..* 供货 1..* 供货记录 供货编号 时间 明细 生成供货 记录 顾客 1 付款 1..* 货款 金额 取款 付款 1 1..* 取款 取款员 帐户名称 帐户密码 身份验证 第四章 类图 8. 用关联类为公司和雇员之间的薪水关系建模。 答: 6
公司 雇员 1..* 雇主 1..* 职工 工作 公司工龄 薪水 9. 为人们之间的婚姻关系建模。 答: 0..1 人 性别 婚姻 0..1 10. 论述类与对象之间的关系 . 关联与链之间的关系。 答 实例 是对象的集合;对象是类的具体实例。 : 类 关联是建立类之间关系的一种手段, 而链则 链表示对象间的物理与概念联结,关联表示类之间的一种关系,链是关联的 ,关联是链的抽象。 是建立对象之间关系的一种手段。 11. 包是由面包片组成的。讨论面包及其切片之间的关系是聚合还是组合。 面 答 : 包与面包片之间是组合关系。因为面包与面包片是整体与部分的关系,如 面 包没有了,面包片也就没有了。 果面 7
聚合和组合的区别在于生命周期。组合中,随着 A 类的生命周期结束, B,C 束。必须在 A 类里面使用。聚合中,随着 A 类的生命周期结束, B,C 不一 也结 定结束。因此,面包与面包片之间是组合关系。 12. 对下述问题,建立一个类图:有两种顾客,一种是常客,享受公司的一些 针 优惠待遇;另一种是散户。 第 五章 建立辅助模型 1 3. 使用信用卡可以在 AMT 机上进行取款,针对一次取款,建立类图、顺序图。 注意 ATM 机是与银行连网的。 要求: (1)绘 (2)绘制顺序图 制一个类图(不要过于复杂) 答: (1) 类图 略 ( 2) 顺序图 8
分享到:
收藏