《软件工程作业2答案(共8页).doc》由会员分享,可在线阅读,更多相关《软件工程作业2答案(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上软件工程作业2(第57章)答案一、选择题1. 从本质上说,面向对象是“先”确定(A)后确定执行的动作。A.动作的主体B.属性C.关系D.方法2. (B)是对象的静态特征。A.方法B.属性C.关系D.操作3. 对象的(D)使对象的动态特征A.特征B.属性C.关系D.操作4. 属于某个类的一个具体对象称为该类的(A)。A.实例B.虚拟C.继承D.多态5. UML是(A)。A) 一种可视化的建模语言B) 是一种可视化的程序设计语言C) 是一种过程D) 是一种方法6. 封装的的作用是(A)。A.复用B.对象C.实例D.方法8. 面向对象分析的核心在于建立(B)模型。 A. 建
2、立正确的模型B. 识别问题域对象C.识别对象之间的关系D.上面所有9. 面向对象分析过程中建立的模型有(D )。 A. 数据模型、功能模型、活动模型B. 对象模型、功能模型、测试模型C. 属性模型、功能模型、对象模型D. 对象模型、功能模型、动态模型10. 下列的( C)不是分析建模的目的。 A. 定义可验证的软件需求 B. 描述客户需求 C. 开发一个简单的问题解决方案 D. 建立软件设计的基础 11. 下列的( C)不属于面向对象分析模型。 A. 用例图 B. 类图 C. 实体关系图 D. 顺序图 12. (A )用于描述系统中概念层次的对象。 A.分析类B. 界面类C.实体类D.控制类1
3、3. 在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的(A)将用例的职责分配到分析类中。A. 消息传递B 关联关系C 继承关系D 上下文关系14.用例的实现细节不会在(B)描述。A. 用例说明B. 用例图C.活动图D.顺序图15.用例的职责通常分配给(D)的对象。A. 发送消息B. 接收消息C.发送和接收双方D.分析类16.组织机构图是(C)。A. UML的一个最新图B. 类图的一种C.用于识别角色的辅助图D.用例图的一种17.在图书馆系统中,假如已经构造了一个一般借书者类,后来发现图书馆的学生和教师在借书中有不同要求。请问在面向对象设计中用(B)方法可以方便地设
4、计这两个类? A.信息隐藏 B.继承 C.动态联编 D.代码复制 18框架是一组可用于不同应用的(A)集合A. 类 B.对象 C.模块 D.代码 19下面哪个选项不能描述子系统之间的关系。(D)A. 请求服务关系 B.继承关系 C.依赖关系 D.数据关系20每个子系统的接口上定义了若干(B),体现了子系统的功能。A. 说明 B.操作 C.属性 D.关系21通常将具有共性的非功能要求设计在(B),以减少重新开发的工作量。A. 接口层 B.中间层 C.最低层 D.最高层22.每个用例至少应该有一个(C),它通常没有属性而只有方法,只是起协调和控制作用。A. 接口类 B.实体类 C.控制类 D.界面
5、类23.类有三种类型即(A)。A. 边界类、实体类、控制类 B. 实体类、数据类、界面类C. 控制类、实体类、数据类D. 界面类、控制类、公共类24.下面那个选项不是正确的面向对象设计思想。(C)A.对接口进行设计B.发现变化并且封装它C.先继承后组合D.先组合后继承25.定义类的属性类型时尽量使用已有的类型,太多的自定义类型会降低系统的(A)指标。A.可维护性 B.安全性 C.开发效率 D.可移植性二、简答题1. 举例说明类和对象的关系。答:学生可作为一个类-学生类,每个学生就是这个学生类的一个实例,例如,学生张三就是学生类的一个实例。2. 面向对象分析的关键步骤有哪些?应建立哪几个模型?答
6、:关键步骤有识别问题域的对象并分析它们相互之间的关系,建立简洁、精确、可理解的正确模型;应建立的模型有功能模型,对象模型,动态模型。3. 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型? 答:(1)实体类保存要存入永久存储体的信息。实体类通常在事件流或交互图中,是对用户最有意义的类。 边界类位于系统与外界的交界处,包括所有的窗体、报表、系统硬件接口、与其他系统的接口。控制类负责协调其他类的工作。每个用例中至少应该有一个控制类,它控制用况中的事件顺序。(2)分为三种类型是因为它们各自的功能不同。界面类描述系统与角色之间的接口。控制类在分析模型内表示协调、顺序、事务处理以及控制其他对
7、象的类。实体类为需要长久保存的信息进行建模的类。4. UML中有哪几类个视图,它们的作用分别是什么?答:(1)用例视图(Use-Case view)用例视图用于描述系统的功能集。它是从系统外部以用户角度,对系统做的抽象表示。用例视图所描述的系统功能依靠于外部用户或另一个系统触发激活,为用户或另一个系统提供服务,实现与用户或另一个系统之间的交互。用例视图中可以包含若干个用例,用例表示系统能够提供的功能,用例视图是其他视图的核心和基础。其他视图的构造依赖于用例视图中所描述的内容,因为系统的最终目标是实现用例视图中描述的功能,同时附带一些非功能性的特性,因此用例视图影响着所有其他的视图。(2)逻辑视
8、图(Logical view)如果说用例视图描述系统“做什么”,那么逻辑视图就是描述“怎么做”。系统的静态结构描述类、对象和它们之间的关系,反映的是系统静态特征或结构组成。(3)组件视图(Component view)组件视图用来描述系统实现的结构和行为特征,反映系统各组成元素之间的关系。组件视图由组件图实现,主要供开发者和管理者使用。(4)并发视图(Concurrency View)并发视图用来描述系统的动态和行为特征。并发视图将任务划分为进程或线程形式,通过任务划分引入并发机制,可以高效地使用资源、并行执行和处理异步事件。除了划分系统为并发执行的进程或线程外,并发视图还必须处理通信和同步问
9、题。(5)配置视图(Deployment View)配置视图体现了系统的实现环境,反映系统的物理架构。配置视图还包括一个映射,该映射显示在物理架构中组件是怎样分配的。5. 顺序图在分析阶段的作用?答:顺序图描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序6. 活动图在分析阶段的作用?答:活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、
10、工作流、组织和对象是如何工作的。7.比较结构化设计和面向对象设计区别?答:结构化设计:系统被划分成多个模块,这些模块被组织成一个树型结构。根就是主模块,叶子是最低级的功能模块。这棵树也表示调用结构:每个模块都调用自己的直接下级模块,并被自己的直接上级模块调用。顶层模块负责收集应用程序最重要的那些执行策略,底层模块实现处理细节。在这个体系结构中越靠上层位置,概念的抽象层次就越高。但是,由于上层模块需要调用下层模块,所以这些上层模块就依赖于下层模块的处理细节。也就是说,当实现细节发生变化时,抽象也会受到影响;如果想复用某一个抽象的话,就必须把它依赖的细节都一起拖过去。面向对象设计:上层创建的抽象不
11、依赖于任何细节,而细节则高度依赖于上层的抽象。这种依赖关系的变化正是结构化设计与面向对象设计的根本区别。8.什么是框架,它与“设计”有什么关系?答:框架是一组可用于不同应用的类的集合。框架中的类通常是一些抽象类并且相互有联系,可以通过继承的方式使用这些类,当面向对象设计进行底层设计时,对每个类进行详细设计,设计类的属性和操作,优化类之间的关系,就可以设计成框架来对类的设计进行构架和优化。9.系统的物理构架中应该包括哪些信息?答:用UML的配置图描述系统的物理构架,然后将需求分析阶段捕获的系统功能分配到这些物理节点上。包括的信息为节点的拓扑结构、硬件设备配置、通信路径、各个节点上运行的系统软件配
12、置、应用软件配置。三、应用题1. 一个多媒体商店系统包含一个由媒体文件构成的数据库,有两类媒体文件:图像文件和声音文件。每个媒体文件都有名称和唯一的编码,而且文件包含作者信息和格式信息,声音文件还包含声音文件的时长(以秒为单位)和作者的信息。假设每个媒体文件可以由唯一的编码所识别,系统要提供以下功能:1) 媒体库中可以添加新的特别媒体文件。2) 通过给定的文件编码查找需要的媒体文件。3) 从媒体库中删除指定的媒体文件。4) 给出媒体库中媒体文件的数量。考虑类imageFile和audioFile应该具有哪些恰当的属性和方法答:imageFile类的属性有:Name(文件名称),Code(编码)
13、,AuthorInfo(作者信息),Format(格式信息);audioFile类除了拥有以上属性外还有属性Time(文件时长); imageFile类的方法:Add(imageFile)(添加图像文件),Delete(Code)(删除文件),GetFile(Code)(查找文件),GetNumber()(返回媒体文件的数量);audioFile类的方法:Add(audioFile)(添加声音文件),Delete(Code)(删除文件),GetFile(Code)(查找文件),GetNumber()(返回媒体文件的数量)。2. 若把学生看成一个实体,它可以分成多个子实体,如小学生、中学生和大学
14、生等。在面向对象的设计中,可以创建如下4个类:类Student、类Elementary Student、Middle Student;类University Student。试给出这4个类的属性以及它们之间的关系。答:Student类为基类,其他三个类都是Student的子类。Student类的属性有:Name(姓名),Sex(性别),Age(年龄),Class(班级)。Elementary Student类的属性有:IsTeamMember(是否是少先队员),IsGoodStudent(是否是三好学生)。Middle Student类的属性为:IsMember(是否是团员),Subject(
15、文科理科)。University Student类的属性为:IsPartyMember(是否党员),Department(学院),Specialty(专业)。三、应用题1. 某学校领书的工作流程为:学生班长填写领书单,班主任审查后签名,然后班长拿领书单到书库领书。 书库保管员审查领书单是否有班主任签名,填写是否正确等,不正确的领书单退回给班长;如果填写正确则给予领书并修改库存清单;当某书的库存量低于临界值时,登记需订书的信息。每天下班前为采购部门提供一张订书单。 用活动图来描述领书的过程。解:2. 使用顺序图描述下面的情景,当用户在自己的计算机上向网络打印机发出一个打印任务时,他的计算机便向打印机服务器发送一条打印命令print(file),打印机服务器如果发现网络打印机处于空闲状态,则向打印机发送打印命令print(file),否则向打印队列发送一条保存命令store(file)。 解: 3. 某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。 (2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就此需求建立对象模型。解:专心-专注-专业