软件工程期末试卷(十套含答案)

您所在的位置:网站首页 软件工程专业英语试题和答案 软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

2024-05-16 19:12| 来源: 网络整理| 查看: 265

百度文库软件工程期末试题(对部分发现的错误进行了修正)                                                    

原链接:  https://wenku.baidu.com/view/adf7f013e55c3b3567ec102de2bd960590c6d9a0.html

 

软件工程知识点简要总结:https://www.cnblogs.com/qyf2199/p/12047581.html

设计模式 —— OOP七大原则 + 23种设计模式:https://www.cnblogs.com/qyf2199/p/14613310.html

 

单项选择题

1.瀑布模型的存在问题是( B  )

   A.用户容易参与开发          B.缺乏灵活性

   C.用户与开发者易沟通        D.适用可变需求

2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(   C  )

  A.软件工程                               B.软件周期

  C.软件危机                               D.软件产生

3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是(  B   )

A.数据、公共、标记、控制            B.数据、标记、控制、公共

C.控制、数据、标记、公共            D.控制、数据、公共、标记

4.在SD方法中全面指导模块划分的最重要的原则是( D   )

  A.程序模块化                             B.模块高内聚

  C.模块低耦合                             D.模块独立性

5.软件测试的目的是(  B    )。

A. 评价软件的质量                      B. 发现软件的错误

C. 找出软件的所有错误                  D. 证明软件是正确的

6.在设计测试用例时,(  A    )是用得最多的一种黑盒测试方法。

A. 等价类划分    B. 边界值分析     C. 因果图       D. 判定表

7. 需求分析最终结果是产生( B  )。

A. 项目开发计划             B. 需求规格说明书

C. 设计说明书              D. 可行性分析报告

8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B  )。

A. 调用关系  B. 组成关系    C. 链接关系        D. 顺序执行关系

9. 软件详细设计的主要任务是确定每个模块的( C )。

A. 功能       B. 外部接口 C. 算法和使用的数据结构     D. 编程

10.为了提高软件的可维护性,在编码阶段应注意(   D  )

A.保存测试用例和数据                          B.提高模块的独立性

C.文档的副作用                                      D.养成好的程序设计风格

11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)

A.p﹡(1+i﹡n)                                       B.p﹡(i+1)n

C.p﹡(1+i)﹡n                                       D.p﹡(i+n)

12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A     )。

A .状态图      B.  数据流图   C. 系统结构图  D. 时序图

13. 对象实现了数据和操作的结合,使数据和操作( C   )于对象的统一体中。

A. 结合          B. 隐藏          C. 封装           D. 抽象

14. 软件详细设计的主要任务是确定每个模块的(  A  )。

A. 算法和使用的数据结构       B. 外部接口 C. 功能       D. 编程

15. 软件结构图中,模块框之间若有直线连接,表示它们之间存在(  A  )。

A. 调用关系  B. 组成关系    C. 链接关系   D. 顺序执行关系

16. 需求分析最终结果是产生( B )。

A. 项目开发计划               B. 需求规格说明书

C. 设计说明书                 D. 可行性分析报告

17. 在详细设计阶段,经常采用的工具有( A   )。

A. PAD           B. SA            C. SC            D. DFD

18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(  C   )

  A.教正性维护                                             B.适应性维护

  C.完善性维护                                             D.预防性维护

20.为了提高软件的可维护性,在编码阶段应注意(   D   )

A.保存测试用例和数据                            B.提高模块的独立性

C.文档的副作用                                    D.养成好的程序设计风格

 

1.面向对象开发方法包括OOA、OOD和OOP三部分。

2.效益分有形效益和无形效益两种。有形效益可用纯收入、货币时间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。

3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类。

设计题

已知有如下的伪代码程序:

                    START

                     I:=1;

                     WHILE i:E(P1)+E(P2)就是:(      )

 A.模块化的根据  B.逐步求精的根据  C.抽象的根据   D.信息隐藏和局部化的根据

( D  )12.下面几种白箱测试技术,哪种是最强的覆盖准则 (      )

  A.语句覆盖   B.条件覆盖    C.判定覆盖     D.条件组合覆盖

( A  )13.面向数据流的设计方法把(            )映射成软件结构。

  A.数据流     B.系统结构     C.控制结构       D.信息流

( A  )14.内聚程度最低的是(      )内聚

A.偶然        B.过程      C.顺序      D.时间

( A  )15.确定测试计划是在(       )阶段制定的.

A.总体设计      B.详细设计      C.编码       D.测试

( D )16.需求分析的产品是(      )

            A.数据流程图案  B.数据字典  C.判定表  D.需求规格说明书

( C  )17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(     )

A.数据库设计    B.数据通信    C.数据定义    D.数据维护

(  D  )18.(       )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

           A.增量模型   B.喷泉模型     C.原型模型    D.螺旋模型

(  D  )19.模块的内聚性最高的是(     )

  A.逻辑内聚    B.时间内聚     C.偶然内聚     D.功能内聚

(  D  )20.提高测试的有效性非常重要,成功的测试是指(       )

A.证明了被测试程序正确无误    B. 说明了被测试程序符合相应的要求

C.未发现被测程序的错误        D.发现了至今为止尚未发现的错误

 

二.判断题(每题1分,共10分)将答案写在题号前的(   )中,正确用√,错误用χ。

( ×  )1、开发软件就是编写程序。

( × )2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等 测试。

(  × )3、编程序时应尽可能利用硬件特点以提高程序效率.

( ×  )4、软件需求分析的任务是建立软件模块结构图。

( √  )5、尽可能使用高级语言编写程序

( ×  )6、以结构化分析方法建立的系统模型就是数据流图。

( ×  )7、进行总体设计时加强模块间的联系。

( ×  )8、编码时尽量多用全局变量.

( √  )9、用CASE环境或程序自动生成工具来自动生成一部分程序.

( ×  )10、软件测试是要发现软件中的所有错误。

 

三、填空题(每题1分,共5分):将结果填在(      )

1、将下面的关系按继承关系、聚集关系或普通关联进行分类。

小汽车---------红旗轿车                       (   继承   )

小汽车---------驾驶员                         ( 普通关联 )

班级------------学生                           (   聚集   )

 

2、将下列各项分为类或类的实例

我的汽车                                   (   实例   )

交通工具                                   (    类    )

 

 

三、简答题:(每题5分,共25分)

 

1.  软件生命期各阶段的任务是什么?      答:软件生命期分为7个阶段:      1、问题定义:要解决的问题是什么

2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性

3、需求分析:系统必须做什么

4、总体设计:系统如何实现,包括系统设计和结构设计

5、详细设计:具体实现设计的系统

6、实现:编码和测试

7、运行维护:保证软件正常运行。

 

     2、软件重用的效益是什么?      答:1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

     3、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点?      答:      ① 自顶而下渐增测试

     优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

     缺点:需要存根程序,底层错误发现较晚。

     ② 自底而上渐增测试

     优点与缺点和自顶而下渐增测试相反。

 

     4 、 提高可维护性的方法有哪些?      答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。      在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。      在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。      在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。      在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。      在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。      为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件 ,同时也在大力发展软件重用技术。

 

简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。

【解答】

测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。

 

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。

平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。

 

四、应用题(每题8分,共40分)

假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。 

 

 

 

 

 

 

 

 

 

3、:输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”.  要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。

答:(1)

 

 

 (2)

 

 

(3)

 

 

 

4、某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.

答案:

 

 

 

5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员。

开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。

 

 

 

 

 

(十)软件工程专项训练

选择

① 软件生命周期中所花费用最多的阶段是(D)

A. 详细设计B.软件编码C.软件测试D.软件维护

②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发

的决策依据,因必须给出(B)的回答。

A.确定B.行或不行C.正确D.无二义

③下列关于瀑布模型的描述正确的是(C)。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B. 瀑布模型具由于良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D. 利用瀑布模型,如果发现问题则修改的代价很低。

④ 详细设计的结果基本决定了最终程序的(C)

A.代码的规模B.运行速度C.质量D.可维护性

⑤ 结构化程序设计主要强调的是(D)

A. 程序的规模B. 程序的效率C. 程序设计语言的先进性D. 程序易读性

⑥ 程序的三种基本控制结构是(B)

A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移

⑦ 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C)

A、集成测试B、恢复测试C、验收测试D、单元测试

⑧ 面向对象技术中,对象是类的实例。对象有三种成份:(A)、属性和方法(或操作)。

A.  标识  B.  规则 C. 封装D. 消息

⑨ 下面关于面向对象方法中消息的叙述,不正确的是(B)。

A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息

C. 应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同

⑩ 面向对象程序设计中的数据隐藏指的是(D)。

A. 输入数据必须输入保密口令

B.数据经过加密处理

C. 对象内部数据结构上建有防火墙

D.对象内部数据结构的不可访问性

 

 

 

 

 

答案:①D  ②B  ③C  ④C  ⑤D  ⑥B  ⑦C  ⑧A  ⑨B  ⑩D

1.程序设计属于软件开发过程( C)阶段。

A、设计B、编程C、实现D、编码

2.结构设计是一种应用最广泛的系统设计方法,是以(A)为基础、自顶向下、逐步求精

和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构

3. 结构化程序设计主要强调程序的( C)。

A、效率B、速度C、可读性D、大小

4.分析员是(B )

A、户中系统的直接使用者B、用户和软件人员的中间人

C、软件的编程人员D、用户和软件人员的领导

5. 程序的三种基本控制结构的共同特点是( D)。

A、不能嵌套使用B、只能用来写简单的程序

C、已经用硬件实现D、只有一个入口和一个出口

6. 软件生产过程中,需求信息由(D )给出。

A、程序员B、项目管理者C、软件分析设计人员D、软件用户

7.与设计测试数据无关的文档是(D )。

A、需求说明书B、设计说明书C、源程序D、项目开发设计

8.结构化分析SA 方法以数据流图、(B )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。

A、DFD 图B、数据字典C、IPO 图D、PAD 图

9.面向数据流的软件设计方法,一般是把数据流图中数据流划分为(B),再将数据流图映射为软件结构。

A、数据流和事务流B、交换流和事务流

C、信息流和控制流D、交换流和数据流

10.总体设计的结果是提供一份(A)。

A、模块说明书B、框图C、程序D、数据结构

 

 

答案:1. C  2. A  3. C  4. B  5. D  6. D  7. D  8. B  9. B  10. A

1. 软件是(C )。

A.   处理对象和处理规则的描述   B. 程序

C.   程序及其文档 D. 计算机系统

2. 软件需求规格说明的内容不应包括(B )。

A. 主要功能 B. 算法的详细描述

C. 用户界面及运行环境 D. 软件的性能

3. 程序的三种基本控制结构是(B )。

A. 过程、子程序和分程序 B. 顺序、选择和重复

C. 递归、迭代和回溯 D. 调用、返回和转移

4. 面向对象的分析方法主要是建立三类模型,即( D)。

A) 系统模型、ER 模型、应用模型

B) 对象模型、动态模型、应用模型

C) E-R模型、对象模型、功能模型

D) 对象模型、动态模型、功能模型

5. 在E-R 模型中,包含以下基本成分( C)。

A) 数据、对象、实体

B) 控制、联系、对象

C) 实体、联系、属性

D) 实体、属性、操作

6. 各种软件维护的类型中最重要的是(A )。

A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护

7.软件测试的目标是(B )。

A. 证明软件是正确的 B. 发现错误、降低错误带来的风险

C. 排除软件中所有的错误  D. 与软件调试相同

8.软件生命周期中所花费用最多的阶段是( D)

A.详细设计B.软件编码C.软件测试D.软件维护

9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从

输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C)

A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法

10、详细设计的基本任务是确定每个模块的( D)设计

A.功能B.调用关系C.输入输出数据D.算法

11.设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工

作量(时间)。对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得

出结论E(P1+P2)>E(P1)+E(P2)就是:( A)

A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据

12.下面几种白箱测试技术,哪种是最强的覆盖准则(D )

A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

13.面向数据流的设计方法把(A )映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流

14.内聚程度最低的是(A )内聚

A.偶然B.过程C.顺序D.时间

15.确定测试计划是在( A)阶段制定的.

A.总体设计B.详细设计C.编码D.测试

16.需求分析的产品是(D )

A.数据流程图案B.数据字典C.判定表D.需求规格说明书

17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(C )

A.数据库设计B.数据通信C.数据定义D.数据维护

18.(D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型

19.模块的内聚性最高的是(D )

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚

20.提高测试的有效性非常重要,成功的测试是指(D )

A.证明了被测试程序正确无误B. 说明了被测试程序符合相应的要求

C.未发现被测程序的错误D.发现了至今为止尚未发现的错误__

 

 

 

答案:1.C  2.B  3.B  4.D  5.C  6.A  7.B  8.D  9.C  10.D  11.A  12.D  13.A  14.A  15.A  16.D  17.C  18.D  19.D  20.D

 

1.

软件危机的事实使人们意识到:计算机要推广使用,其关键在于_________技术的革新。 

 

您的答案为:   ;正确答案为:软件开发

     

2.

所谓“用户要求”是指软机系统必须满足的_________和限制。 

 

您的答案为:   ;正确答案为:所有性质

     

3.

软件工程技术中,控制复杂性的两个基本手段是“分解”和_________。 

 

您的答案为:   ;正确答案为:抽象

     

4.

Jackson法的设计原则是:是程序结构同_________相对应。 

 

您的答案为:   ;正确答案为:数据结构

     

5.

编程的目标是编写出逻辑上正确又易于_________的程序。 

 

您的答案为:   ;正确答案为:易于阅读(和易于维护)

     

6.

检验是软件开发过程中不可缺少的部分,检验的目的在于_________。 

 

您的答案为:   ;正确答案为:发现错误并及时纠正

     

7.

在联合测试时,采用先独立测试每一模块,然后在连到一起运行,这种方式称为_________联调。 

 

您的答案为:   ;正确答案为:非渐增式

     

8.

适合于作为概念性数据模型的所谓第二代数据模型是_________。 

 

您的答案为:   ;正确答案为:ER模型(概念数据模型)

     

9.

面向对象的开发,最大的优点是帮助分析者、设计者及用户清楚地表述_________,便于互相进行交流通讯。 

 

您的答案为:   ;正确答案为:抽象概念

     

10.

程序评价和测试系统PET的主要功能是支持对FORTRAN程序采用白盒法测试,可以监视测试的_________。 

 

您的答案为:   ;正确答案为:实际覆盖程度

     

补充日期: 2003-10-30 11:11:11

选择:

1.

软件规模可按源程序行数的多少进行分类,所谓大型软件,通常是指源程序行数为( ) 

 

A.5 ~ 50K   B.50 ~100K   C.1M   D.1 ~ 10M

 

您的答案为:   ;正确答案为:B

     

2.

在软件生命期中,占工作量比例最大的是( ) 

 

A.可行性研究    B.建立系统的结构    C.编写程序    D.维护

 

您的答案为:   ;正确答案为:D

     

3.

用SA方法获得的需求说明书有四部分,用于描述系统由那些部分组成、各部分间有何联系等,是在( ) 

 

A.一套分层的数据流图   B.一本数据词典   C.一组小说明   D.补充材料

 

您的答案为:   ;正确答案为:A

     

4.

SA方法在描述方式上的特点,是尽量采用( ) 

 

A.自然语言   B.形式语言   C.图形表示   D.表格

 

您的答案为:   ;正确答案为:C

     

5.

决定软件系统中各个模块的外特性,即其输入输出和功能是( ) 的任务。 

 

A.需求分析   B.概要设计   C.详细设计   D.编程阶段

 

您的答案为:   ;正确答案为:B

     

6.

用于概要设计所采用的描述手段是( ) 

 

A.DFD   B.SC   C.框图   D.数据结构图

 

您的答案为:   ;正确答案为:B

     

7.

一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于( ) 

 

A.数据型   B.复合型  C.内容型   D.公共型

 

您的答案为:   ;正确答案为:A

     

8.

在概要设计的设计文档中,对每个模块的描述内容包括( ) 

 

A.功能、界面、输入、输出 B.界面、输入、输出、过程 C.界面、过程、限制和约束 D.功能、界面、过程、注释

 

您的答案为:   ;正确答案为:D

     

9.

根据SP方法的要点规定,程序最后要由( ) 审定。 

 

A.专家   B.谁编谁审   C.主程序员   D.资料员

 

您的答案为:   ;正确答案为:C

     

10.

结构化程序图(FC)中的箭头是用于表示( ) 

 

A.控制流   B.数据流   C.数据/控制   D.调用关系

 

您的答案为:   ;正确答案为:A

     

11.

结构化程序之所以有可能验证其正确性是由于( ) 

 

A.只有三种基本结构  B.有限制地使用GOTO语句  C.程序内部有“内部文档”  D.选择良好数据结构和算法

 

您的答案为:   ;正确答案为:A

     

12.

提高程序可读性的有力手段是( ) 

 

A.选好一种程序设计语言  B.显式说明一切变量  C.使用三种标准控制语句  D.给程序加注释

 

您的答案为:   ;正确答案为:D

     

13.

通过对软件的测试,可以证明( ) 

 

A.程序正确性  B.错误不存在  C.错误存在  D.不含有隐患

 

您的答案为:   ;正确答案为:C

     

14.

某程序功能说明中列出“规定每个运动员参赛项目为1~3项”,应用黑盒法中的等价分类法确定等价类是( ) 

 

A.1≤项目数≤3  B.项目数3  D.以上都是

 

您的答案为:   ;正确答案为:D

     

15.

程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边缘值分析法设计测试用例,应选( ) 

 

A.a=3,b=4,c=5   B.a=1,b=2,c=4  C.上述A、B项都应选上   D.a=1,b=2,c=3

 

您的答案为:   ;正确答案为:D

     

16.

软件维护,可按不同的维护目的而分类,为了适应硬件环境或软件环境的变更对软件作修改是( ) 

 

A.纠正性维护  B.适应性维护  C.完善性维护  D.预防性维护

 

您的答案为:   ;正确答案为:B

     

17.

决定软件工程方法论所有步骤的关键目标是提高软件的( ) 

 

A.可移植性  B.可靠性   C.可维护性   D.效率

 

您的答案为:   ;正确答案为:C

     

18.

数据库设计全过程中的关键是( ) 

 

A.分析用户要求  B.建立概念性数据模型  C.逻辑设计  D.物理设计

 

您的答案为:   ;正确答案为:B

     

19.

作为面向对象分析的基础,由问题领域中的对象所组成,用ER图来描述的是( ) 

 

A.消息模型    B.处理模型    C.状态模型   D.瀑布模型

 

您的答案为:   ;正确答案为:B

     

20.

在下列软件工具中,可用于支持概要设计的工具是( ) 

 

A.PSL/PSA系统   B.SDL/PAD系统   C.AIDES系统   D.Tektronix工具箱

 

您的答案为:   ;正确答案为:C

 

 

简答

       1.     什么软件?软件按功能进行划分,可以划分成哪几类?按工作方式进行分类,可以划分成哪几类?

答:软件是由计算机程序、程序使用的数据以及说明的各种文档组成。按功能进行划分可以分为:系统软件、支撑软件、应用软件;按软件工作方式进行分类可以分为:实时处理软件、分时处理软件、交互式软件和批处理软件。

       2.     软件危机产生的原因是什么?

答:软件危机的原因:

a)     软件不同与硬件,是逻辑部件;

b)     软件规模庞大,逻辑结构复杂;

c)     软件开发人员和管理人员只重视设计程序而轻视用户的需求分析,导致最后研制出的软件产品无法满足用户的需求;

d)     软件设计技术和管理技术落后,没有统一的软件质量管理规范;

e)     在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。

       3.     简述软件工程的定义。

答:软件工程是用科学知识和技术原理来定义、开发和维护软件的一门学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

       4.     简述软件生存周期的定义及组成部分。

答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为软件生存周期。它包括制定计划(问题定义)、可行性研究、需求分析、总体设计、详细设计、程序编写(编码)、综合测试、运行维护等。

       5.     可行性研究的目的是什么?可以从哪些方面来考虑软件开发的可行性?

答:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。主要从技术可行性、经济可行性、操作可行性和法律可行性4个方面考虑。

       6.     面向对象方法学的优点有哪些?

答:面向对象方法学的优点:

(1)多角度模拟客观世界;

(2)具有较高的稳定性;

(3)重用性好;

(4)适合开发大型软件。

        7.     需求分析的主要方法是什么?用这种方法进行需求分析的主要步骤有哪些?

答:需求分析的方法有面向数据流的分析方法、面向数据结构的分析方法、面向对象分析方法和动态分析方法等,主要采用面向数据流的分析方法。主要步骤包括:(1)分析数据流图;(2)用户审查;(3)细化数据流图;(4)修订开发计划;(5)复审开发计划。

        8.     细化数据流图需要遵循哪些基本原则?

答:细化数据流图需要遵循的原则有:

a)     在分层细化时必须保持数据的连续性,也就是说细化前后对应功能的输入/输出数据必须相同。

b)     把一个功能进一步分解成子功能,这些子功能必须有独立的功能,否则,就不需要再分解了。

         9.     什么是对象?什么是类?什么是消息?

答:现实世界中客观存在的事物都被称为对象。具有相同或相似性质的对象的抽象被称为类。对象之间进行的通信被称为消息。

        10.  什么是对象的封装?主要表现在哪些方面?

答:封装就是把对象包起来,使外界只能看到对象的接口,而不能知道对象内部的具体内容。主要表现在:(1)有固定的接口;(2)保护内部实现 。

        11.  简述过程设计语言(PDL)的特点。

答:PDL的特点是:(1)关键字应有固定语法,提供了结构化控制结构和语句说明;(2)用自然语言叙述系统处理功能,易于理解;(3)可以使用变通的语言编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作;(4)易于让计算机来处理。

        12.  怎样从客户类的角度发现协作?

答:可以通过对客户类提出如下问题来发现协作:

a)     类本身能够履行这个操作吗?

b)     如果不能,那么它需要什么?

c)     它从其他什么类中能够获得所需要的东西?  

        13.  简述软件质量的定义及在软件开发过程中管理软件质量的办法。

答:软件质量指的是软件产品满足规定的和隐藏的与需求能力有关的全部特征和特性。管理软件质量的办法:(1)每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务;(2)每个阶段结束前都要对所完成的文档、程序进行评审,以便尽早发现问题,改正错误。

        14.  什么是白盒测试?什么是黑盒测试?

答:白盒测试又称为结构测试,它的前提条件是可以看成将程序放在一个透明的白盒子中,也就是完全了解了软件系统的结构和整个处理过程。

黑盒测试又称为功能测试,它把程序看成是一个不透明的黑盒子,完全不去考虑程序的内部结构和处理过程。

        15.  什么是软件维护?软件维护可以分为哪几类?

答:软件维护是指在软件系统已经交付使用之后,软件使用人员为了适应新的要求、满足新的需要或为了改正软件中存在的错误而对软件系统进行修改的过程。可以分为纠错性维护、完善性维护、适应性维护和预见性维护。

        16.  简述软件质量三要素及其具体包括的内容。

答:软件质量要素可以分为三类,第一类要素表现软件的运行特征,包括正确性、可靠性、有效性、安全性和可用性;第二类要素表现软件承受修改的能力,包括可维护性、灵活性和可测试性;第三类要素表现软件对新环境的适应程度,包括可移植性、可重用性和可互操作性。

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3