软件工程作业及参考答案
软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。
A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。
A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。
A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。
A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。
A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。
A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。
作业及参考答案.doc软件工程

作业及参考答案(第一、二章)一、填空题1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。
2. 软件生存周期一般可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运行与维护阶段。
3. 可行性研究的目的是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。
4. 系统流程图是(描绘物理系统)的传统工具。
5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要的一个环节。
二、判断题1. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√ )2. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表示。
(√ )3. 原型模型适用于嵌入式软件。
(╳)4. 面向对象技术是构件组装模型的基础。
(√ )5. 在可行性研究中最难决断和最关键的问题是经济可行性。
(╳)6. 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)7. 自底向上成本估计不是从整体开始,而是从任务单元开始。
(√ )三、单项选择题1. 下列哪个阶段不是软件生存期三个阶段中的内容( C )。
A.计划阶段B.开发阶段 C.编码阶段 D.维护阶段2. 下列关于瀑布模型的描述正确的是( C )。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
四、简答题1. 软件的定义与特点。
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
它包括三个方面的内容:⑴程序:在运行时,能提供所希望的功能和性能的指令集。
⑵数据结构:使程序能够正确运行的数据结构。
⑶文档:描述程序研制过程、方法及使用的图文材料。
软件产品具有以下一些特性:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
软件工程作业参考答案(二)2024

软件工程作业参考答案(二)引言概述:在软件工程学科中,作业是提升学生理论和实践能力的重要环节。
本文将介绍软件工程作业的参考答案,以帮助学生更好地理解和完成相关作业。
本文将从五个大点进行阐述,每个大点下分别包含了5-9个小点,涉及到作业的各个方面。
正文:一、需求分析与规格说明1. 确定用户需求:明确用户对软件的期望和功能需求。
2. 收集需求:通过面对面交流、问卷调查等方式,搜集用户需求信息。
3. 制定规格说明书:将收集到的需求整理成文档形式,包括功能需求和非功能需求。
4. 分析需求:对收集到的需求进行分析,找出其中的矛盾或冲突。
5. 验证需求:与用户进行确认,确保需求的准确性和完整性。
二、设计与建模1. 架构设计:确定软件的整体结构,包括模块划分、组成关系等。
2. 详细设计:对每个模块进行详细设计,包括算法、接口定义等。
3. 数据库设计:设计数据库表结构,包括表字段、主键、外键等。
4. 系统建模:利用UML等建模工具,进行系统的静态和动态建模。
5. 接口设计:定义软件与外部系统或组件之间的接口规范。
三、编码与测试1. 编码规范:制定统一的编码规范,确保代码的一致性和可读性。
2. 模块编码:根据详细设计进行模块的编码工作。
3. 单元测试:对每个模块进行单元测试,确保功能的正确性。
4. 集成测试:将各个模块组装后进行测试,测试模块之间的相互调用和集成效果。
5. 系统测试:对整个软件系统进行全面测试,验证软件的功能和性能。
四、部署与维护1. 部署计划:制定软件部署的计划和流程,确保软件能够顺利部署到目标环境。
2. 环境配置:配置目标环境,包括操作系统、数据库、网络等。
3. 安装部署:将编译好的软件包安装到目标环境中,并完成必要的配置。
4. 运维监控:建立稳定的运维监控系统,定期检查并维护软件的稳定性和安全性。
5. bug修复与更新:根据用户反馈,及时修复和更新软件中的bug和功能问题。
五、文档撰写与总结1. 编写文档:根据软件的不同阶段,编写相应的文档,包括需求文档、设计文档、测试文档等。
软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。
答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。
答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。
答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。
答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程作业

软件工程-作业一、判断(共计50分,每题2.5分)1、测试计划、测试用例和有关的分析报告一般不用长期保存。
()A. 正确B. 错误参考答案:B2、类封装比对象封装更具体,更细致。
()A. 正确B. 错误参考答案:B3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
()A. 正确B. 错误参考答案:B4、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。
()A. 正确B. 错误参考答案:A5、数据流图是结构化设计的最基本的工具。
()A. 正确B. 错误参考答案:B6、良好的面向对象程序设计风格,既包括传统的程序设计风格,也包括为适应而面向对象方法所特有的概念(如继承性)而必须遵循的一些新准则。
()A. 正确B. 错误参考答案:A7、模块化程序设计中,模块越小,模块化的优点越明显。
()A. 正确B. 错误参考答案:B8、软件测试的目的是证明软件是正确的。
()A. 正确B. 错误参考答案:B9、在软件开发中采用原型系统策略的主要困难是成本问题。
()A. 正确B. 错误参考答案:A10、结构化分析是面向数据流进行需求分析的方法。
()A. 正确B. 错误参考答案:A11、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
()A. 正确B. 错误参考答案:A12、白盒测试无需考虑模块内部执行过程和程序结构,只要了解模块的功能即可。
()A. 正确B. 错误参考答案:B13、软件测试目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。
()A. 正确B. 错误参考答案:B14、UML是一种面向对象的建模方法。
()A. 正确B. 错误参考答案:B15、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。
()A. 正确B. 错误参考答案:B16、开发一个软件项目总存在某些不确定性,即存在风险。
有些风险如果控制得不好,可能导致灾难性的后果。
()A. 正确B. 错误参考答案:A17、软件维护的目的就是修改程序中的错误。
软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
(完整word版)软件工程习题集+答案
(完整word版)软件工程习题集+答案《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
最新软件工程考试题库(含答案和解析)
最新软件工程考试题库(含答案和解析)一、选择题1. 以下哪个不是软件工程的三个基本目标之一?A. 可维护性B. 可靠性C. 可用性D. 低成本答案:D解析:软件工程的三个基本目标是可维护性、可靠性和可用性。
低成本虽然也是一个重要的考虑因素,但并不是软件工程的基本目标。
2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A解析:面向对象编程(OOP)通过将数据和操作数据的方法封装在一起,降低了软件复杂性,提高了代码的可重用性和可维护性。
3. 软件开发过程中,以下哪个阶段需要进行需求分析?A. 设计阶段B. 编码阶段C. 测试阶段D. 需求分析阶段答案:D解析:需求分析是软件开发过程中的第一个阶段,其主要任务是明确软件系统的功能、性能等需求。
4. 以下哪个软件工程方法主要关注软件项目的管理?A. 敏捷开发B. ScrumC. UMLD. 设计模式答案:B解析:Scrum 是一种敏捷开发方法,主要关注软件项目的管理和团队协作。
UML(统一建模语言)主要用于软件设计,设计模式主要用于解决软件设计中的常见问题。
5. 以下哪个软件工具主要用于版本控制?A. GitB. EclipseC. JiraD. Visual Studio答案:A解析:Git 是一款分布式版本控制系统,主要用于跟踪和管理软件开发过程中的代码变更。
二、填空题1. 软件工程的基本活动包括______、______、______和______。
答案:需求分析、设计、编码、测试2. 敏捷开发的核心价值观包括______、______、______、______和______。
答案:个体和互动、工作软件、客户协作、响应变化、持续交付3. 软件开发过程中,常用的设计模式包括______、______、______、______和______。
答案:工厂模式、单例模式、策略模式、装饰模式、观察者模式4. 软件测试的目的是______、______和______。
《软件工程》作业与参考答案
一、填空(15分)1、需求分析的任务:1)。
确定目标系统的综合要求A。
目标系统的功能要求B。
目标系统的性能要求C。
目标系统运行的环境要求D。
目标系统的扩展要求2)。
分析目标系统的数据要求A。
需要哪些数据?B。
数据之间有什么联系?C。
数据有什么属性及数据结构?D。
对数据的处理逻辑?3)。
导出目标系统的逻辑模型4)。
修正系统流程图5)。
修正系统开发计划6)。
开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。
5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
(完整版)软件工程习题+答案(可编辑修改word版)
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。
C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程一、软件危机与软件工程1.软件危机是指在开发和()过程中所遇到的一系列严重问题。
A.运行B.设计 C.维护 D.编码2.造成软件危机的原因是:A.用户使用不当 B.对软件的错误认识C.硬件不可靠D.缺乏好的开发方法和手段3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。
A.消除软件危机B.软件开发工程化C.程序设计自动化 D.实现软件重用4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。
A.工程管理 B.成本核算 C.人员培训 D.工具开发5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。
A.设计人员和用户B.分析人员和用户C.分析人员和设计人员 D.编码人员和用户6.软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于()。
A.开发阶段B.计划阶段 C.分析阶段 D.设计阶段7.在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。
通常,计划时期包括问题定义、可行性研究和①,开发时期包括②、详细设计、编码以及③。
① A.需求分析 B.可行性研究 C.经费预算 D.质量保证② A.需求分析 B.可行性研究C总体设计 D模块化设计③ A.文档编制 B.运行维护C.测试 D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。
A.层次模型B.瀑布模型 C.螺旋模型 D.对象模型9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。
其中,设计阶段又可以分成(B)和(C)两个步骤。
A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10.什么是软件危机软件危机产生的原因11.生命周期阶段的划分每个阶段的任务二、可行性研究1.可行性研究的任务步骤对于各种可能的方案,从哪几个方面进行可行性研究参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。
步骤:1.复查系统规模和目标;2.研究当前系统;3.建立新系统的高层逻辑模型;4.导出和评价各种方案;5.推荐可行方案;6.编写可行性研究报告。
对于各种可能的方案,主要从以下几个方面进行可行性研究:1.经济可行性;2.技术可行性;3.法律可行性;4.运行可行性;5.开发方案可行性等。
三、需求分析1.软件需求分析一般应确定的是用户对软件的()。
A.功能需求 B.非功能需求 C.性能需求D.功能需求和非功能需求2.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大()。
A.详细设计阶段 B.概要设计阶段C.需求分析阶段 D.测试和运行阶段3.软件需求说明书是软件需求分析阶段的重要文件,下述哪一项不是其应包含的内容()。
A.数据描述 B.功能描述C.模块描述 D.性能描述4.软件需求分析阶段的工作,可以分为四个方面:问题的识别、分析与综合、编写需求分析文档以及()。
A.软件的总结B.需求分析评审 C.阶段性报告 D.以上答案都不正确5.在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.要让软件做什么 B.要给软件提供哪些信息C.要求软件工作效率怎样 D.要让软件具有何种结构6.在下面的叙述中哪一个不是软件需求分析的任务()。
A.问题分解 B.可靠性与安全性要求C.结构化程序设计 D.确定逻辑模型;7.软件需求说明书在软件开发中具有重要作用,但其作用不包括()。
A.软件设计的依据 B.用户和开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性分析的依据8.结构化分析方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图 B.PAD图 C.IPO图D.数据字典9.进行需求分析可使用多种工具,但()是不适用的。
A.数据流图 B.判定表C.PAD图 D.数据字典四、软件设计----包括概要设计(总体设计)和详细设计1.软件设计一般分为概要设计和详细设计,它们之间的关系是()。
A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构2.SD方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立()。
A.软件结构 B.软件流程 C.软件模型 D.软件模块3.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的()。
A.抽象和信息隐蔽 B.局部化和封装化C.内聚性和耦合性 D.激活机制和控制方法4.软件结构设计中,好的软件结构设计应该力求做到()。
A.顶层扇出较少,中层扇出较高,低层模块低扇入B.顶层扇出较高,中层扇出较少,低层模块高扇入C.顶层扇出较少,中层扇出较高,低层模块高扇入D.顶层扇出较高,中层扇出较少,低层模块低扇入5.软件开发的结构化设计方法,全面指导模块划分的最重要原则应该是()。
A.模块高内聚 B.模块低耦合 C.程序模块化D.模块独立性6.HIPO图应用于软件开发的()阶段。
A.需求分析 B.详细设计C.总体设计 D.实现7.详细设计工具可分为三类,即图形、表格和语言工具。
图形工具中,(A②)简单而应用广泛。
(B ①)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。
(C ④)可以纵横延伸,图形的空间效果好。
(D)是一种设计和描述程序的语言。
A-C:①N-S图②程序流程图③ HIPO图④ PAD图D:①C ② PDL③ PROLOG ④ PASCAL8.软件需求分析方法中,结构化分析是一种常用的方法。
结构化分析产生的系统说明书是由一套分层的①、一本②、一组③及补充材料组成的。
在结构化设计阶段产生的文档是④。
① A.流程B.数据流图 C.软件结构 D.事务转换② A.结构说明 B.用户需求 C.数据字典 D.数据流程③A.小说明 B索引 C 模块接口 D 层次结构④ A 系统模型说明书 B 程序流程图C 系统功能说明书D 模块结构图和模块说明书9.面向数据流的软件设计方法,一般是把数据流分为()两种流,再将数据流图映射为软件结构。
A.数据流与事务流B.变换流与事务流 C.信息流与变换流 D.交换流域数据流10.程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意()。
A.支持逐步求精 B.考虑控制流程C.遵守结构化设计原则 D.数据结构表示五、编码1.程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其重要的选择依据是()。
A.对语言的熟悉程序B.语言的应用领域 C.数据结构的复杂度 D.算法的复杂度2.下列叙述中选出五条关于好的程序设计风格的正确叙述( C G H I J )A.尽量多用临时变量B.把常见的局部优化工作留给编译程序去做C.程序中嵌套的层数应加以限制D.程序的书写格式最好所有语句都左对齐,这样也可以节省纸张E.在主存储器能容纳得下的前提下,应使模块尽可能大,以便减少模块的个数F.模块越小,优点越明显。
一般说来,模块的大小都在10行以下G.只要模块之间的接口关系不变,各模块内部实现细节的修改不会影响别的模块H.在编写程序时尽可能对程序代码进行优化I.程序中的注释并不是可有可无的J.使用可以看得出意义的标识符3.程序设计属于软件开发过程的()阶段。
A.设计 B.编程 C.实现D.编码六、测试1.软件测试可能发现软件中的(),但不能证明软件()。
A.所有错误、没有错误 B.错误、没有错误C.逻辑错误、没有错误 D.设计错误、没有错误2.软件测试的目的是()。
A.证明软件的正确性 B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误3.为提高测试效率,应该()。
A.随机地选取测试数据B.在完成编码以后制定软件的测试计划C.取一切可能的数据作为测试数据D.选择发现错误可能性最大的数据作为测试数据4.黑盒测试是从(C)观点的测试,白盒测试是从( D )观点的测试。
A.开发人员、管理人员 B.用户、管理人员C.用户、开发人员 D.开发人员5.使用白盒方法测试时确定测试数据应根据()和指定的覆盖标准。
A.程序的内部逻辑 B.程序的复杂程度C.使用说明书 D.程序的功能6.白盒测试方法重视()的度量。
A.测试覆盖率 B.测试数据多少 C.测试费用 D.测试周期7.黑盒测试法根据()设计测试用例。
A.程序调用规则 B.模块间的逻辑关系C.软件要完成的功能 D.数据结构8.单元测试又称(B),一般采用(D )测试。
A.集成测试 B.模块测试 C.黑盒法 D.白盒法七、维护1.软件维护指的是()。
A.对软件的改进、适应和完善 B.维护正常运行C.配置新软件 D.软件开发的一个阶段2.软件维护工作的最主要部分是()。
A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护3.下面有关软件维护的叙述正确的是()。
A.设计软件时就应考虑到将来的可修改性B.维护软件是一件很吸引人的创造性工作C.维护软件就是改正软件中的错误D.谁编写软件就应由谁来维护这个软件4.软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的()。
A.可理解性B.可维护性 C.可扩展性 D.可移植性5.修改软件以适应外部环境或数据环境的变化是指()。
A.改正性维护B.适应性维护 C.完善性维护 D.预防性维护6.()阶段是软件生命周期中花费最多、持续时间最长的阶段。
BA 需求分析B 维护C 设计D 测试7.注释是提高程序可读性的有效手段,好的程序注释占到程序总量的()A 1/6B 1/5C 1/4D 1/3八、简述软件危机产生的原因。
参考答案:(1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。
致使经费预算常常突破,进度计划无法遵循,开发完成的期限一拖再拖。
(2)软件需求,在开发的初期阶段提得不够明确,或是未能得到确切的表达。
开发工作开始后,软件人员和用户又未能及时交换意见,造成开发后期矛盾的集中暴露。
(3)开发过程没有统一的、公认的方法论和规范指导,参加的人员各行其事。
加之设计和实现过程的资料很不完整;或忽视了每个人工作与其他人的接口,使得软件很难维护。
(4)未能在测试阶段充分做好检测工作,提交用户的软件质量差,在运行中暴露出大量的问题。
九、简述软件生命周期阶段的划分每个阶段的主要任务参考答案:生命周期划分为六个阶段,分别为计划、需求分析、软件设计(包括概要设计和详细设计)、编码、软件测试和运行/维护。
各个阶段的主要任务分别为:(1)计划阶段首先确定要解决的问题是什么,通过问题定义阶段的工作,系统分析员应该提出关于问题的性质、规模和工程目标的书面报告,之后进行可行性研究,应该决定该问题是否存在一个可行的解决办法,是否值得去解。