软件工程概论的练习题及答案(6)

1970-01-01 08:00

7、Coad和Yourdon方法完成了从需求角度出发的对象和分类结构认定工作,面向对象设计可以在此基础上,从设计的角度进一步进行类和类层次结构的认定。

8、Booch方法通过分析问题陈述正文,将其中的名词映射为对象,将其中的动词映射为方法,从而为对象和方法的认定提供了一种简单的策略,虽然Booch方法原是面向Ada的语言,但仍处于面向对象开发方法的奠基性地位。

9、UML不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终成为为国际对象组织(OMG)认可的同一建模语言。

10、在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般化—特殊化关系和整体-部分关系。

11、在面向对象设计中存在三种内聚,即操作内聚、类内聚和一般化-特殊化内聚。 二、单选填空题

1、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组C和它可以执行的一组操作来定义。 A. 服务 B. 参数 C. 属性 D. 调用

2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为B。此定义包括一组数据属性和在数据上的一组合法操作。 A. 聚合 B. 类C. 结构 D. 主题

3、面向对象技术的许多强有力的功能和突出的优点都来源于把系统组织成一个类的层次结构。一个类的上层可以有父类,下层可以有子类。这种系统的类层次结构的一个重要性质是D,通过它,一个类可共享其父类的全部数据和操作。

A. 传递性 B. 复用性 C. 并行性 D. 继承性

4、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方法相比,它具有A的优点。

A. 设计稳定 B. 性能稳定 C. 模块独立 D. 硬件独立

5、封装性是指所有软件部件都有明确的范围以及清楚的外部边界。每个软件部件都有友好的B,软件部件的内部实现和外部使用分离。

A. 使用方式 B. 界面 C. 调用 D. 继承

6、属性指的是类中对象具有的特性(数据)。不同对象的同一属性可具有相同的或不同的A。 A. 属性值 B. 操作C. 服务 D. 控制

7、操作是类中对象所使用的一种功能或变换。类中的各个对象可以共享操作,方法是类中操作的B。 A. 别名 B. 实现步骤 C. 功能 D. 脚本

8、A应当在应用分析之前进行,因为我们在了解问题之前应对问题敞开思想考虑,不应加以限制。 A. 论域分析B. 高层设计C. 实例建立D. 类的开发

9、应用程序可以通过执行对象的操作来改变对象的属性值,但它必须通过C的传递。 A. 接口 B. 控制 C. 消息 D. 实例

10、在软件开发过程中,抽取和整理用户要求并建立问题论域精确模型的过程叫做D。 A. 生存期 B. 面向对象分析C. 面向对象程序设计 D. 面向对象设计

11、Rumbaugh等人提出的对象模型化技术OMT把分析时收集到的信息组织在三种模型中,即对象模型、动态模型和C。

A. 信息模型 B. 控制模型 C. 功能模型 D. 行为模型

12、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构。它是从现实世界实体的相互关系的角度来描述、表现对象间的相互关系。该模型主要关心系统中对象的结构、属性和操作,使用了B的工具来刻划。

A. E-R图 B. 对象图 C. 系统流程图 D. 系统结构图

13、组装关系是一种“整体-部分” 关系。在这种关系中,有整体类和部分类之分。组装关系中最重要的

性质是D,它还具有逆对称性。

A. 局部性 B. 完整性 C. 一致性 D. 传递性

14、分类关系是“一般化-特殊化”关系。一般化类又称为父类,特殊化类又称为子类。分类关系和C是同时存在的。

A. 传递性 B. 逐步求精 C. 继承性 D. 全局性

15、继承有单继承和多继承。单继承指的是子类只有一个父类,在一个类层次结构中若只有单继承,则该类层次结构是树形结构。多继承指的是子类可以有多个父类,在一个类层次结构中若有多继承,则该类层次结构是C层次结构。

A. 树形 B. 星形 C. 网状 D. 环形

16、动态模型描述与时间和变化有关的系统的性质。该模型描述了系统的控制结构,表示了瞬时的行为化的系统控制性质,它关心的是系统的控制、操作的执行顺序。它从系统涉及的事件和对象的A出发,表现了对象及对象间的相互行为。 A. 状态B. 属性C. 操作D. 控制

17、动态模型描述的系统属性是触发事件、事件序列、状态、事件和状态的组织。使用A作为描述工具。 A. 状态图B. 顺序图C. 活动图 D. 进程图

18、功能模型用来说明值是如何计算的,表明值之间的依赖关系及其相关的功能。数据流图有助于表示功能依赖关系,其中的处理对应于状态图中的活动和动作,数据流对应于对象图中的B。 A. 实例连接B. 对象或属性C. 消息传递D. 关联

19、操作与对象模型中的属性和关联的查询有关,与动态模型中的A有关,与功能模型中的加工有关。 A. 事件B. 状态C. 变换D. 处理

20、面向对象设计阶段中的高层设计是要确定实现系统的策略和目标系统的A。 A. 体系结构B. 算法设计C. 类结构D. 类设计

21、面向对象设计阶段中的类设计是要确定实现方案中的类、关联和接口形式及实现操作的D。 A. 逻辑B. 顺序C. 控制 D. 算法

22、状态是对象属性值的抽象,状态指明了对象对A的响应。 A. 输入事件 B. 输入信息 C. 输入数据 D. 输入序列

23、活动是一种有时间间隔的操作,它是依附于状态的操作。动作是一种瞬时操作,它是与B联系在一起的操作。

A. 时间 B. 事件 C. 控制 D. 状态

24、事件可以看成是信息从一个对象到另一个对象的单向传送。因此要确定各事件的发送对象和接收对象。A用来表示事件、事件的接收对象和发送对象。 A. 事件追踪图 B. 进程图 C. 脚本 D. 状态序列图 三、选择填空题

2、从供选择的答案中选出与下面有关面向对象范型的叙述最适合的答案,将其编号填入相应的括号内。 ?对象是面向对象范型的( A )。每个对象可用它自己的一组( B )和它可以执行的一组( C )来表征。应用执行对象的( C )可以改变该对象的( B )。它的应用必须通过( D )的传递。可以认为,这种( D )的传递大致等价于过程性范型中的函数调用。某些语言提供了特殊功能,允许对象引用自己。若一个对象没有显式地被引用,则可让该对象( E )。 供选择的答案:A①B⑤C.③D.②E.③

A.①基本单位 ②最小单位 ③最大单位 ④语法单位 B~C. ①行为 ②功能 ③操作 ④数据 ⑤属性 D.①接口 ②消息 ③信息 ④操作 ⑤过程 E.①撤消 ②歇着 ③缺省 ④隐式引用 ⑤引用自己 3、从供选择的答案中选出与下面有关面向对象开发过程的叙述最适合的答案,将其编号填入相应的括号内。 ?在面向对象软件开发过程中特别重视复用。软件构件应独立于当初开发它们的应用而存在。在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。因此,应使得类成为一个( A )的单元。这样

就有一个( B )生存期问题。( B )生存期有自己的步骤,与任一特定应用的开发( C )。按照这些步骤,可以完整地描述一个基本( D )。而不仅仅考虑当前正在开发的系统。系统开发的各个阶段都可能会标识新的类。随着各个新类的标识,( B )生存期引导开发工作逐个阶段循序渐进。

?在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的三个可能途径是:( E )复用既存类;对既存类进行( F )以得到满足要求的类;重新开始进行开发。 供选择的答案:A.①,B.③,C.④,D.②,E.③,F.④

A.①可复用 ②可测试 ③可适用 ④可靠 B. ①应用 ②寿命 ③类 ④软件

C. ①相关②密切相关③负相关④无关D.①概念②实体③事件④事情 E, F. ①修改 ②更新 ③照原样 ④演化

7、从供选择的答案中选出与下面的叙述最适合的答案,将其编号填入相应的括号内。

?从分析到设计的过程流如图所示。一旦已经开发完成一个合理完整的( A )模型后,就要着手( B )的设计。这需要描述( B )的特征,以准确表达待实现的用户需求,以及实现需求所必须的支持环境。一旦定义了各个( B ),就开始( C )设计,这时,可利用CRC卡片,将属性转换为( D ),将关系转换为( E )。

供选择的答案:A.①,B.④,C.⑤,D.②,E.④

A~C. ①分析 ②系统设计 ③模块设计 ④子系统设计 ⑤对象设计 ⑥数据设计 ⑦操作设计 ⑧行为设计 D~E. ①对象 ②数据结构 ③算法 ④消息传递 ⑤控制 ⑥并发处理 ⑦进程 ⑧过程

8、从供选择的答案中选出与下面有关面向对象分析的叙述最适合的答案,将其编号填入相应的括号内。 ?由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。第一个模型是( A ),它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。第二个模型是( B ),它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。( B )包括两种图, 即( C )和( D )。( C )描述每一类对象的行为,( D )描述发生于系统执行过程中的某一特定场景。第三个模型是( E ),它着重

于描述系统内部数据的传送与处理,它由多个数据流图组成。 A.⑦B.⑥C.③D.⑥E.② 供选择的答案:A,B,E:①数据模型 ②功能模型 ③行为模型 ④信息模型⑤原型 ⑥动态模型 ⑦对象模型 ⑧逻辑模型⑨控制模型 ⑩仿真模型 C,D:①对象图 ②概念模型图 ③状态迁移图 ④数据流程图⑤时序图 ⑥事件追踪图 ⑦控制流程图 ⑧逻辑模拟图 ⑨仿真图 ⑩行为图

9、从供选择的答案中选出与下面有关面向对象设计的叙述最适合的答案,将其编号填入相应的括号内。 ?在面向对象软件设计过程中,应按如下要求进行类的设计:只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的( A )原则。当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的( B )原则。由同属一个类的操作负担存取或加工类的数据,这是软件设计的( C )原则。两个类之间的交互应当仅涉及参数表,这是软件设计的( D )原则。每个派生类应该当做基类的特殊化来开发,而基类所具有的公共界面成为派生类的共有界面的一个子集,这是软件设计的( E )原则。

供选择的答案:A.③B.②C.③D.①E.⑤\\

A:①过程抽象 ②功能抽象 ③信息隐蔽 ④共享性 ⑤连通性 B:①标准调用 ②最小界面 ③高耦合 ④高效率 ⑤可读性

C:①数据抽象 ②低内聚 ③高内聚 ④低复杂度⑤低强度

D:①显式信息传递 ②高内聚 ③低内聚 ④相互操作性 ⑤连接性 E:① 动态联编 ②异质表 ③信息隐蔽 ④多态性 ⑤继承性

10、从供选择的答案中选出与下面有关面向对象程序设计的叙述最适合的答案,将其编号填入相应的括号内。

?面向对象的程序设计语言具有数据抽象、信息隐蔽、( A )等特征。作为运算单位的对象应具有下列特性:( B )、( C )、( D )。( E )是面向对象的语言。 A .④B.①C.③D.④E.① 供选择的答案:A:①对象调用 ②对象变换 ③非过程性 ④信息继承 ⑤并发性 B~D ①对象把数据和处理数据的操作结合为一体 ②在程序运行时对象都处于活动状态 ???③对象在计算中可向其他对象发送消息 ④接受消息的对象必须给消息发送者以回答 ???⑤ 对象的内部状态只根据外部送来的消息才操作

E:①C++,SMALLTALK,object C ②C,Ada,Modula2 ③PASCAL,C++,APL ④Ada,object C,C

软件设计

一、填空

1、软件设计是要把描述软件“做什么”的逻辑模型转换为描述“怎么做”的物理模型,即着手实现软件的需求,并将设计结果记入软件设计说明书文档中。

2、软件程序系统结构的设计是以模块为基础的。以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。

3、数据库的设计指数据存储文件的设计,主要进行概念、逻辑、物理的设计。

4、在数据处理系统的功能分析与设计过程中同时要进行数据分析和数据设计,数据库的概念设计和逻辑设计分别对应于系统开发的需求分析与概要设计,而数据库的物理设计与模块的详细设计相对应。 5、在软件的系统结构中,模块是可组合、可分解和可更换的单元。模块的基本属性包括功能、逻辑、接口和状态。

6、模块内聚与耦合是模块独立性的两个定性标准。在划分模块时,应尽可能作到低内聚、高耦合。 7、一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽可能靠近。

8、如果模块之间耦合性太高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和数据公用区的引用。若有多个相关的模块,应对它们的功能进行分析,消去重复的功能。 二、单项选择题

1、结构化设计方法(SD)与结构化分析方法(SA)一样,遵循C的模型,采用自顶向下,逐步细化的技术。通常SD方法继续SA的工作,根据数据流图设计程序的结构。 A. 实体-关系B. 快速原型C. 抽象D. 瀑布 2、结构化设计在软件开发中用于B。

A. 测试设计B. 概要设计C. 程序设计D. 详细设计

3、D把已确定的软件需求转换成特定形式的软件表示,使其得以实现。 A. 系统设计B. 逻辑设计C. 详细设计D. 软件设计

4、在进行软件模块结构设计时应当遵循的最主要的准则是C。 A. 抽象 B. 模块化C. 模块独立D. 信息隐蔽

5、A是数据说明、可执行语句等程序对象的集合,它是单独命名的并可通过名字访问。 A. 模块B. 复合语句C. 程序块D. 数据块 6、模块C,则说明模块的独立性越强。

A. 耦合越强B. 扇入数越高C. 耦合越弱 D. 扇入数越低 7、模块之间的信息可以做“控制信息”用,也可以作为D用。 A. 控制流B. 数据结构C. 控制结构D. 数据

8、A数据处理问题的工作过程大致分为三步:即取得数据、变换数据和输出数据。 A. 变换型B. 事务型C. 演化型 D. 结构化

9、在多层系统结构图中,其模块的层次数称为结构图的A。 A. 深度B. 宽度C. 控制域D. 粒度

10、C着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。 A. 程序流程图B. 数据流图C. 系统结构图D. 实体关系图

11、C是指把一些关系密切的软件元素物理地放置到彼此靠近的位置。 A. 信息隐蔽B. 内聚C. 局部化D. 模块独立

12、块间联系和块内联系是评价程序结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和界面的C等因素决定了块间联系的大小。 A. 友好性B. 健壮 C. 清晰性D. 安全性 13、为了提高模块的独立性,模块之间最好是D。 A. 公共耦合B. 控制耦合C. 内容耦合D. 数据耦合 14、为了提高模块的独立性,模块内部最好是 C。 A. 逻辑内聚B. 时间内聚C. 功能内聚D. 通信内聚 15、从下列有关系统结构图的叙述中选出正确的叙述D。 A. 系统结构图中反映的是程序中数据流的情况。

B. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用? C. 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。

D. 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。 三、选择填空

1、软件的开发工作经过需求分析阶段,进入( A )以后,就开始着手解决“怎么做”的问题。常用的软件设计方法有( B )、( C )、( D )和( E )等方法。A.②, B.⑤, C.①, D.①, E.③。D与E的答案可互换

供选择的答案:A~B.①程序设计 ②设计阶段 ③总体设计 ④定义阶段 ⑤SD方法 ⑥SP方法 C.①Jackson方法 ②瀑布法 ③快速原型法 ④回溯法

D~E. ①CP(Wanier)方法 ②递归法 ③Parnas方法 ④自下而上修正 ⑤逐步求精法 ⑥检测校正法 2、请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来。③⑤④②⑥⑦① ①内容耦合 ②控制耦合 ③非直接耦合 ④标记耦合 ⑤数据耦合 ⑥外部耦合 ⑦公共耦合

3、请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。③⑥④⑦②⑤① ①巧合内聚 ②时间内聚 ③功能内聚 ④通信内聚 ⑤逻辑内聚 ⑥信息内聚 ⑦过程内聚

4、从供选择的答案中选出正确的答案填入下列叙述中的( )内。A.⑤, B.⑦, C.③, D.④, E.① 模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。

?(1) 一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A)的。

?(2) 将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是( B )的。

?(3) 模块中所有成分引用共同的数据,该模块的内聚性是( C )的。

?(4) 模块内的某成份的输出是另一些成份的输入,该模块的内聚性是( D )的。

?(5) 模块中所有成份结合起来完全一项任务,该模块的内聚性是( E )的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。 供选择的答案:

A~E:①功能内聚 ②信息内聚 ③通信内聚 ④过程内聚 ⑤巧合内聚 ⑥时间内聚 ⑦逻辑内聚


软件工程概论的练习题及答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中班上学期幼儿学习与发展评价及分析表分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: