一、填空题
1. 程序设计的三种基本结构是 、 、 (顺序、条件、循环),它们的共同点是一个入口和一个出口。
2. 程序的三种基本控制结构的共同特点是 。(单入口单出口)
3. 用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构 、循环结构)
4. 软件的实现阶段主要包括 (编码)阶段和 (测试)阶段。
5. 计算机程序及其说明程序的各种文档称为 。(软件)
6. 软件是 、 和 (程序、数据、相关文档)的完整集合。
7. 软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。
8. 为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以 (软件文档)的编制是很重要的。
9. 软件工程方法学有3大要素 、工具、 。(方法、过程)
10. 需求分析是确定系统 (必须做什么),其最终成果是 (需求分析规格说明书)。
11. 在需求分析中,开发人员要从用户那里解决的之重要的问题是 。(软件应当做什么)
12. 软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试)
13. 软件需求分析的任务包括_________。 (问题分析、信息域分析、确定程序结构)
14. 最早提出软件系统维护问题的阶段是_________。(需求分析)
15. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。
16. “软件危机”是指________ 。(软件开发和维护中出现的一系列问题 )
17. 快速原型模型是用户和设计人员之间的一种交互过程,适用于 (需求不确定性高)的系统。
18. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (需求阶段)的方法和技术中产生的。
19. 瀑布模型是以文档为驱动,适用于 (软件需求明确)的系统。
20. 瀑布模型本质上是一种 ________ 模型。(线性顺序)
21. _______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发方法。
22. 瀑布模型的主要特点是_________。(将软件生命周期个阶段依线性顺序连接、用文档驱动的
模型)
23. 增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。
24. 从目前情况来看,增量模型存在的主要问题是 (缺乏丰富而强有力的软件工具和开发环境 )
25. 可行性研究的目的是______。(确定系统是否值得开发)
26. 可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的_________。(8%)
27. 可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方面进行分析。
28. 数据字典是用来定义_________中的各个成份的具体含义的。(数据流程图)
29. 结构化程序设计的一种基本方法是_________。(逐步求精法)
30. 结构化分析方法式一种面向 (数据流)的开发方法。
31. 结构化程序设计,主要强调的是______。(程序的可理解性)
32. SD(结构化设计)方法设计的结果是_________。(模块结构图)
33. 结构化方法总的指导思想是_______(自顶向下)逐层分解。
34. PDL(过程设计语言)是描述处理过程_________。(怎么做)
35. PDL是一种_________语言。(过程设计语言)
36. 软件测试的目的_________。 (发现程序中的错误)
37. 测试用例是一组 。(测试用的数据以及对用的预期结果)
38. 一般来说,与设计测试数据无关的文档是 。(项目开发计划书)
39. 为提高测试的效率,应该______。(选择发现错误可能性大的数据作为测试数据)
40. _________(白盒)测试时,测试人员必须接触到程序源代码。
41. 确认测试也称 ,它的目标是验证软件的 。(验收、有效性)
42. 黑盒测试在设计测试用例时,主要需要研究 。(需求规格说明与概要设计说明)
43. 白盒测试又称为 ,按照程序的 测试程序。(逻辑结构测试、内部逻辑)
44. 在进行软件测试时,首先应当进行_________(单元测试 ),然后再进行组装测试,最后进行有效性测试。
45. 下列属于静态测试方法的是_________(人工检测)。
关于软件测试的目的,_________。(为了发现错误而执行程序的过程、一个好的测试用例能够发现
至
46. 今尚未发现的错误、一个成功的测试用例是发现了至今尚未发现的错误的测试)
47. 测试的关键问题是________ 。(如何选择测试用例 )
48. 大型软件测试包括______(单元测试)、_______(集成测试)、确认测试和____(系统测试)四个步骤
49. 单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现 (性能、质量不合要求)的错误
50. 模块的耦合性可以按照耦合程度的高低进行排序,正确次序是_________。(无直接耦合,数据耦合,控制耦合,内容耦合)
51. 模块的内聚性用于衡量模块内各组成部分之间彼此结合的紧密程度,按照内聚程度的从低到高进行排序,依次为_________。(偶然内聚、逻辑内聚、通信内聚、功能内聚)
52. 在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________(偶然内聚)。
53. 软件模块内聚性最强的是_________。(逻辑内聚)
54. 为了提高模块的独立性,模块之间最好是________ 。(内容耦合)
55. 如果对象之间的耦合是通过_________(消息机制)来实现的,那么这种耦合就是交互耦合。
56. 划分模块时尽量做到________(高内聚、低耦合),保持模块的独立性。
57. 对类进行详细设计,主要是设计类的_________(属性和方法),优化类之间的关系。
58. 数据流程图的主要作用是_________。(描绘系统的逻辑模型)
59. 一般维护程序代码的策略是_________。(根据维护申请读源程序,并修改)
60. UML是一种 语言。(面向对象建模语言)
61. 面向对象分析和设计的界限是 (模糊的),从分析到设计师一个逐渐扩充模型的过程。
62. 数据模型(E-R图)中主要涉及到的信息有数据实体、 和 。(属性、联系)
63. 人机界面设计中的系统响应时间的重要属性有长度和 。(易变性)
64. 软件再工程过程实质上就是 维护过程。(预防性)
65. 为了提高软件的可维护性,在编码阶段应注意 。(养成好的程序设计风格)
66. 画某系统的数据流图时,顶层图有_________。 (1张)
67. 软件详细设计阶段的任务是_________(算法与数据结构设计)。
68. 可维护软件的主要特性包括_________。(可理解性、可修改性、可移植性)
69. 在制定项目开发计划文档时,包含的内容是_________。(项目概述、实施计划、交付期限)
70. 软件部件的内部实现与外部可访问性分离,这是指软件的______(封装)。
71. 用来模拟被测模块的上级调用模块的模块称为_______(驱动模块)。
72. 软件复杂性度量的参数很多,主要有规模、_______(难度)、结构、智能度。
73. 软件开发环境中最主要的组成部分是______(软件工具)。
74. 软件维护困难的主要原因是 ( 开发方法的缺陷)。
75. 可维护性的特性中,相互矛盾的是 (效率与可修改性 )。
76. 与维护人员有关的文档有 (概要设计说明书 )
77. 类的实例化是________。(对象)
78. 向对象发出服务请求称为______(接口),类对象上的各种操作称为_______(方法)。
79. 在面向对象方法中,对象实现了数据和操作的结合,使数据和操作_____(封装)于对象的统一体中。
80. 软件生存周期是指一个软件从提出开发要求开始直到_______(该软件报废)为止的整个时期。
二、判断题
1. 测试最终是为了证明程序无错误。 ( F )
2. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 ( F )
3. 用黑盒法测试时,测试用例是根据程序功能设计的。 ( F )
4. 在测试用例时,应包括合理的测试条件和不合理的输入条件。 5. 程序测试只能证明错误的存在,但不能证明错误不存在。 6. 在整个测试过程中,增量式组装测试所需时间比非增量式测试时间多。 7. 测试是为了表明程序是正确的。 8. 软件测试是为了发现错误而执行程序的过程。 9. 可维护性复审紧在维护阶段进行。 10. 验收测试依据系统需求规格说明书。 11. 软件维护的对象是程序代码。 12. 软件维护前必须由用户填写维护要求表。 13. 软件维护的对象是程序代码。 T )
T )
F )
F )
T )
F )
( T ) ( F ) ( T ) ( F ) ( ( ( ( ( (
14. 在一个正在工作的软件上重新开发一个大型程序是一种浪费。 ( F )
15. 好的测试方案是能够发现迄今为止尚未发现的错误的测试方案。 ( T )
16. 程序员应避免检查自己的程序。 ( T )
17. 验收测试依据系统需求规格说明书。 18. 使用了形式化的说明技术后就能保证说明的完整性了。 19. 成功的测试是发现了至今为止尚未发现的错误的测试。 20. 应长期保留测试用例,直至系统废弃。 三、简答题
1. 可行性研究的目的是什么?可行性研究的内容是什么?
2. 模块设计的优化准则是什么?
3. 软件危机的典型表现有什么?
4. 什么是软件生命周期?软件生命周期划分为几个时期几个阶段?
5. 什么是需求分析?需求分析的具体任务是什么?
( T )
( F )
( T )
( T )
6. 简述系统设计采用模块化的优点。
7. UML的使用准则是什么?
8. 简述确认测试中软件配置复查的测试内容。
9. .软件生存周期可以分为几个阶段,每个阶段的提交物是什么?
10. 结构化分析的描述工具有哪些?简述结构化分析的步骤。
11. 什么是黑盒测试法?常用的黑盒测试方法有哪些?
12. 简述面向对象的特征。
13. 简述增量模型和瀑布模型的本质区别。
14. 简述设计一个容错系统的步骤。
15. 简述在项目开发时,选择程序设计语言应考虑因素。
四、应用题
1. 下面是用PDL写出的程序,请画出对应的程序流程图、PAD图和N-S图。
While T do
If A>0 then
A1
If B>0 then B1 else B2 endif
Else A2 endif
If C>0 then C1 else C2 endif
Endif
A3
Endwhile
2. 下面是用PDL写出的程序,请画出对应的程序流程图、While T do
If A>0 then A1 else A2 endif
If B>0 then B1
If C>0 then C1 else C2 endif
PAD图和N-S图。
else B2 endif
A3
endwhile
3. 某公安报警系统在一些公安重点保护单位(如银行、学校等)安装了报警装置,工作过程如下,一旦发生意外,事故发生单位只需要按报警按钮,系统立即向公安局发出警报,自动显示报警单位的地址、电话号码等信息。接到报警,110警车立即出动前往出事地点。值班人员可以接通事故单位的电话,问清情况,需要时再增派公安人员到现场处理。
请根据以上情况分析,确定本题应建立哪几个对象类,并画出顺序图。
4. 商品销售管理系统有5个脚本:经理执行系统管理功能,营业员执行销售功能,会计执行账务管理功能,供货源执行供货功能,售后执行售后功能。
请绘制商品销售管理系统的用例图。
5. 某个学生成绩管理系统的部分功能如下:
(1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;
(2)学生选课:学生根据教学执行计划进行选课;
(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;
(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。
请根据要求画出该问题的分层数据流图(要求画出顶层和1层数据流图)。
6. 某电视购物公司采用面向对象技术实现商品销售计算机系统,基本需求如下:
(1)公司提供多种类商品,每种商品通过委托订单来进行征订。
(2)公司下属多个分公司,每个分公司负责本地区委托订单的收录,打印收款凭证单。
(3)公司负责分类、统计各分公司送来的委托单,进行分类统计。
要求:按照上述模型建立对象模型。
因篇幅问题不能全部显示,请点此查看更多更全内容