软件工程习题集与详细答案解析
(完整word版)软件工程习题及答案解析
![(完整word版)软件工程习题及答案解析](https://img.taocdn.com/s3/m/7aab7d491a37f111f0855bb2.png)
软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10。
数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是.A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开发中,有利于发挥集体智慧的一种做法是.A、设计评审B、模块化C、主程序员制D、进度控制13. 在开发软件时, 可用来提高程序员的工作效率.A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
软件工程(软件需求)习题与答案
![软件工程(软件需求)习题与答案](https://img.taocdn.com/s3/m/4508095ba9114431b90d6c85ec3a87c240288a17.png)
软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。
对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。
本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。
2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。
软件需求的编写和理解对于项目的成败具有决定性的作用。
准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。
2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。
2.3 习题三:请列举几个软件需求的常见问题。
答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。
- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。
- 模糊的需求:需求描述含糊不清,无法量化和验证。
- 可测量性问题:需求无法被准确地测量和评估。
- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。
3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。
软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。
缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。
3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。
3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。
软件工程(第五版)--习题及答案
![软件工程(第五版)--习题及答案](https://img.taocdn.com/s3/m/37851414de80d4d8d15a4fe9.png)
打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了A。
A、软件危机 B、软件工程
C、程序设计革命 D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括D。
A、数据集成 B、控制集成
没有尽早停止没有可行解决方案的开发项目就会造成时间、资金、人力、物力的浪费。为
了降低软件开发失败的可能性需要进行软件可行性研究。可行性研究要从经济可行性、技
术可行性、运行可行性和法律可行性四方面进行。 2、简述可行性研究的步骤。
答1审核系统的规模和目标2分析研究现行系统3设计新系统的高层逻辑模
5、×文字处理软件Word属于系统软件。 应用软件 6、√原型是软件的一个早期可运行的版本它反映最终系统的部分重要特性。
7、√软件开发过程中一个错误发现得越晚为改正它所付出的代价就越大。
8、×快速原型模型对软件开发人员的水平要求不高。
9、√喷泉模型适合于面向对象的软件开发。
10、×面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种C。
A、程序 B、数据 C、逻辑产品 D、物理产品
2、软件开发方法是A。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想
2、软件可行性研究的目的是C。
软件工程习题附答案
![软件工程习题附答案](https://img.taocdn.com/s3/m/edcfea11ce84b9d528ea81c758f5f61fb6362860.png)
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。
2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。
3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。
4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。
5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
在这种维护中,可能会因为修改软件而引入新的错误。
二、填空题1、软件工程包括()、()和()三个要素。
答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。
答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。
答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。
软件工程(第四版)习题及解答9-8
![软件工程(第四版)习题及解答9-8](https://img.taocdn.com/s3/m/b36090670975f46526d3e184.png)
第3章
一、判断题
1√ 2 × 3√ 4 × 5√ 6× 7× 8√
二、选择题
1-5 BACDB 6-10 ABDAA 11-15 BABDB 16-20 ADCDB
三、简答题
1、需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清晰、具体的要求。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
4、
数据词典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据词典共同构成系统的逻辑模型,两者缺一不可。
其内容包括:数据流、数据项、数据结构、数据存储、加工逻辑、外部实体6类元素。
四、应用题
2、软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
专业=”01”...”99”注:专业代号2位数字
班级=”01”...”99”注:班级代号2位数字
学分=0..99
2、数据流图如下:
3、
顶层图:
顶层图
0层图:
0层图
4、
判定表如下:
设:性别:男:M女:F
学历:初中:A高中B大专:C
年龄:小于25: C25至40:Y40以上:L
1
2
3
4
软件工程学试题及答案
![软件工程学试题及答案](https://img.taocdn.com/s3/m/c1699544a9114431b90d6c85ec3a87c240288a95.png)
软件工程学试题及答案一、单项选择题(每题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版)软件工程习题集+答案](https://img.taocdn.com/s3/m/f0ebf1c7afaad1f34693daef5ef7ba0d4a736d30.png)
(完整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.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程课后习题集答案解析
![软件工程课后习题集答案解析](https://img.taocdn.com/s3/m/ed37a4880b1c59eef9c7b403.png)
软件工程课后习题答案习题1 略。
习题2 略。
习题3 略。
习题42.在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准那么?人们在理解用自然语言描述的规格说明时,容易产生二义性。
为了克制非形式化方法的缺点,人们把数学引入软件开发工程,创造了基于数学的形式化说明技术。
应用形式化方法的准那么:〔1〕应该选用释放的表示方法;〔2〕应该形式化,但不要过分形式化;〔3〕应该估算本钱;〔4〕应该有形式化方法参谋随时提供咨询;〔5〕不应该放弃传统的开发方法;〔6〕应该建立详尽的文档;〔7〕不应该放弃质量标准;〔8〕不应该盲目依赖形式化方法;〔9〕应该测试、测试再测试;〔10〕应该重用。
4.用有穷状态机说明自动化图书馆流通系统习题5 略。
习题6 略。
习题7 略。
习题8 略。
习题91.什么是面向对象方法学?它有哪些优点?面向对象方法学,是尽可能模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识世界解决问题的方法和过程,从而使得实现解法的解空间〔也称为求解域〕与描述问题的问题空间〔也称为问题域〕在构造上尽可能一致。
优点:1.与人类习惯的思维方法一致;2.稳定性好;3.可重用性好;4.较易开发大型软件产品;5.可维护性好10.建立订货系统的用例模型。
分析如下:从对这个订货系统的需求可以知道,仓库管理员通过放在仓库中的终端把零件入库/出库市事务报告给订货系统,系统承受到事务信息之后应该处理事务;采购员需要使用订货系统提供的产生报表功能,以获取订货报表。
综上所述,用例如下:习题101.用面向对象方法分析研究本书习题2第2题中描述的储蓄系统,试建立它的对象模型、动态模型和功能模型。
对象模型参考:以上还需将关联关系说明补全。
动态模型参考:(1)脚本正常情况脚本:●储户有存款要求,填写存款单,包含储户个人信息,存款金额和存款类型;●业务员查收存款,审核存款与存款单存款金额吻合;●存款单生效;●储户有取款要求,填写取款单,包含个人账号、密码〔待定〕和存款金额;●业务员审核存款,验证储户身份,确定储户存款金额 > = 取款金额;●审核通过,取款单生效;●系统打印利息清单,业务员把本金和利息返回储户。
软件工程课后习题(含答案)
![软件工程课后习题(含答案)](https://img.taocdn.com/s3/m/f475183b7f1922791788e854.png)
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程(第四版)习题及解答1-7
![软件工程(第四版)习题及解答1-7](https://img.taocdn.com/s3/m/76d3fa259a6648d7c1c708a1284ac850ad020414.png)
软件工程(第四版)习题及解答1-7软件工程(第四版)习题及解答1-7软件工程一直是信息技术领域中一门重要的学科,它涉及到软件设计、开发、测试和维护等多个方面。
对于学习软件工程的学生来说,练习和解答一些相关习题是非常重要的。
本文将为大家提供《软件工程(第四版)》中的习题1-7的解答和详细讨论。
1. 习题1题目描述:什么是软件工程?为什么软件工程如此重要?解答:软件工程是一门学科,涵盖了软件开发的所有阶段,包括需求分析、软件设计、编码、测试和维护等。
软件工程关注如何以系统化的、规范的方法来开发高质量的软件。
软件工程之所以如此重要,原因有以下几点:首先,软件工程能够提供一个结构化的方法来开发软件,保证开发流程可控、可预测。
通过规范的过程和方法,可以减少软件开发过程中的风险和错误。
其次,软件工程将软件开发过程分解为不同的阶段,并引入了各种工具和技术来支持这些阶段的开发工作。
这些工具和技术能够提高开发效率,减少开发成本。
此外,软件工程还注重软件质量管理,包括软件测试、验证和验证等方面,以确保最终交付给用户的软件是高质量可靠的。
最后,软件工程也关注软件的维护和更新。
由于软件在使用过程中会面临各种问题和需求变化,软件工程可以帮助开发人员及时响应和解决这些问题,提供更好的用户体验。
2. 习题2题目描述:简要解释软件需求分析的目标和过程。
解答:软件需求分析的目标是识别和规范用户对软件系统的需求,确保开发人员和用户对软件系统的期望一致,并将这些需求转化为可行的系统规格说明。
软件需求分析的过程包括以下几个步骤:1) 需求收集:通过与用户沟通、调研等方式,收集用户对软件系统的需求。
可以采用面谈、问卷调查、观察等方法。
2) 需求分析和整理:对收集到的需求进行分析和整理,将其转化为可理解的形式。
可以使用需求建模工具和技术,如用例图、数据流图等。
3) 需求规格说明:在此阶段,将需求转化为详细的规格说明,包括功能需求、性能需求、质量需求等。
最新软件工程考试题库(含答案和解析)
![最新软件工程考试题库(含答案和解析)](https://img.taocdn.com/s3/m/ad888d9905a1b0717fd5360cba1aa81144318f9d.png)
最新软件工程考试题库(含答案和解析)一、选择题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. 软件测试的目的是______、______和______。
软件工程(第5版课后答案)
![软件工程(第5版课后答案)](https://img.taocdn.com/s3/m/4e498f2cff4733687e21af45b307e87101f6f8eb.png)
f(作者姓名)
系统搜索指定的作者姓名,并在屏幕上显示该作者的著作的索引号,同时把这些索引存入文件。
设计测试数据以全面测试系统正常操作。 设计测试数据以测试系统的非正常操作。
P175 5
P175 5 参考答案
划分等价类(略) 全面测试系统正常操作 B BS BSD F FD
B:输入关键字,看是否输出约20个加了行号的字,是否与关键字完全相同的字约在屏幕中央。 输入:“计算机” 预期输出:约20个加行号的字 BS:输入关键字,选取屏幕上行号,是否生成包含索引号的文件。 输入:“计算机”;12 预期输出:约20个加行号的字;文件 BSD:输入关键字,选取屏幕上行号,检索索引号有关信息,是否显示文件中索引信息。 输入:“计算机”;12;3 预期输出:约20个加行号的字;文 件;文件中索引信息。 F:输入作者姓名,是否在屏幕上显示该作者的著作的索引号,是否将这些索引存入文件。 输入:“金庸” 预期输出:该作者著作的索引号 FD:输入作者姓名,检索索引号有关信息,是否现实文件中索引信息。 输入:“金庸”;3 预期输出:该作者著作索引号;文件中 索引信息
单击此处可添加副标题
P23 7参考答案
增量模型 缺点: 至始至终开发者和客户纠缠在一起,直到完全版本出来。 优点: 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。 具有一定的市场。 适合于软件需求不明确、设计方案有一定风险的软件项目。
习题1第6题
什么是软件过程?它与软件工程方法学有何关系?
P23 6
P23 6参考答案
软件工程习题及答案解析
![软件工程习题及答案解析](https://img.taocdn.com/s3/m/ca5e9f76e55c3b3567ec102de2bd960590c6d93c.png)
软件工程习题及答案解析软件工程习题及答案解析1.介绍软件工程是一门研究如何以系统化、规范化、可定量的方法来开发和维护软件的学科。
本文档旨在提供一系列软件工程习题及答案解析,帮助读者深入理解软件工程的基本概念和方法。
2.软件生命周期2.1 什么是软件生命周期?软件生命周期是指软件从需求定义、设计、编码、测试、部署到维护的全过程。
2.2 软件生命周期模型2.2.1 瀑布模型瀑布模型是软件开发中最传统的生命周期模型,具有线性、顺序、阶段性的特点。
2.2.2 迭代模型迭代模型通过多次迭代开发,逐步完善软件产品。
2.2.3 增量模型增量模型将软件分为多个增量,按顺序逐步开发。
2.2.4 螺旋模型螺旋模型将风险管理与迭代模型相结合,通过不断迭代和风险分析调整开发计划。
2.2.5 敏捷开发敏捷开发强调开发团队的自组织和快速交付,采用迭代、增量和灵活的方式进行开发。
3.需求工程3.1 需求获取需求获取是指获取软件系统的功能、性能、约束等需求的过程。
3.2 需求分析需求分析是指对获取的需求进行分析和整理,确定需求的优先级、关联性等。
3.3 需求规格说明需求规格说明是对需求进行详细描述和规范化,通常使用用例、需求文档等形式进行说明。
4.软件设计4.1 结构化设计结构化设计是指按照模块化、层次化的原则,将软件系统划分为多个模块并规定模块之间的接口。
4.2 面向对象设计面向对象设计是将软件系统看作是一组对象的集合,每个对象具有属性和方法,并通过消息传递进行交互。
4.3 架构设计架构设计是指确定软件系统的整体结构和各个组件之间的关系,常用的架构模式有MVC、分层、客户端-服务器等。
5.软件测试5.1 测试基础5.1.1 测试概念测试是通过运行系统或部分系统,以发现系统的错误,验证系统是否满足需求。
5.1.2 测试层次分为单元测试、集成测试、系统测试和验收测试等层次。
5.2 测试方法5.2.1 黑盒测试黑盒测试是根据软件的功能需求对软件进行测试,不考虑内部实现细节。
软件工程习题及答案
![软件工程习题及答案](https://img.taocdn.com/s3/m/78b6bc42974bcf84b9d528ea81c758f5f71f2904.png)
软件工程习题及答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解释:需求分析阶段的主要任务是确定软件系统的功能和性能要求,解决软件“做什么”的问题。
2、下面不属于软件设计阶段任务的是()A 软件总体结构设计B 算法设计C 制定测试计划D 数据库设计答案:C解释:制定测试计划属于软件测试阶段的任务,软件设计阶段主要包括总体结构设计、详细设计(如算法设计、数据库设计等)。
3、软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是()A 循环的集合B 地址的集合C 路径的集合D 目标的集合答案:C解释:白盒测试是把程序看成装在一个透明的白盒子里,也就是清楚了解程序的结构和处理过程,测试用例要覆盖程序中的所有可能路径。
4、软件维护工作中,大部分工作属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:C解释:在软件维护工作中,完善性维护占了大部分,因为随着用户需求的变化和使用过程中的新发现,需要对软件功能进行扩充和增强。
二、填空题1、软件危机产生的主要原因是软件产品的_________和软件生产的_________之间的矛盾。
答案:复杂性;规模性解释:软件产品的复杂性不断增加,而软件生产的规模性又使得管理和控制变得困难,这两者之间的矛盾导致了软件危机。
2、结构化分析方法使用的主要工具是_________和_________。
答案:数据流图;数据字典解释:数据流图用于描述系统中数据的流动和处理过程,数据字典则对数据流图中的元素进行详细的定义和说明。
3、软件测试的步骤包括单元测试、_________、_________和系统测试。
软件工程习题及答案解析
![软件工程习题及答案解析](https://img.taocdn.com/s3/m/0c52302c54270722192e453610661ed9ad5155c2.png)
软件工程习题及答案解析软件工程习题及答案解析一、软件开发过程与方法1、瀑布模型1.1 定义瀑布模型是一种软件开发过程模型,它将软件开发过程分为一系列有序的阶段,每个阶段有明确的输入和输出,并按顺序进行。
1.2 阶段及其细化1.2.1 需求分析阶段在此阶段,团队与客户交流,获取需求,分析用户需求,并编写详细的需求规格说明书。
1.2.2 系统设计阶段在此阶段,根据需求规格说明书,进行系统的整体设计和模块的详细设计,并绘制相应的设计文档。
1.2.3 编码阶段在此阶段,根据设计文档,进行具体的编码工作,并完成相应的单元测试。
1.2.4 测试阶段在此阶段,对软件进行系统测试和集成测试,发现并修复潜在的问题。
1.2.5 部署阶段在此阶段,将软件部署到目标环境中,进行功能验证和用户验收。
1.2.6 运维阶段在此阶段,对软件进行日常维护、升级和优化。
2、敏捷开发2.1 定义敏捷开发是一种迭代和增量的软件开发方法,注重通过与客户的紧密合作、团队协作和快速反馈来满足需求和适应变化。
2.2 敏捷开发方法2.2.1 ScrumScrum是一种常用的敏捷开发方法,强调团队成员间的合作和沟通,根据用户需求和优先级进行迭代的软件开发。
2.2.2 XPXP(Extreme Programming)是一种极限编程的方法,强调持续集成、自动化测试、重构等实践,以快速交付高质量的软件。
2.2.3 LeanLean是一种以精益思想为基础的敏捷开发方法,注重减少浪费、持续改进和高效开发。
二、软件需求1、需求分析概述1.1 定义需求分析是软件开发过程中的一项关键任务,旨在确定用户对软件的需求,并将其转化为具体的需求规格说明。
1.2 主要任务1.2.1 需求获取通过与用户的沟通和访谈,收集用户需求并加以整理。
1.2.2 需求分析对收集到的需求进行分析,识别需求之间的依赖关系和冲突。
1.2.3 需求规格说明将需求转化为具体的需求规格说明,包括功能需求、性能需求、约束条件等。
软件工程习题与参考答案
![软件工程习题与参考答案](https://img.taocdn.com/s3/m/015d64707f21af45b307e87101f69e314332fa62.png)
软件⼯程习题与参考答案习题(第1章)1、简述下列术语:数据、数据元素、数据结构答:数据——在计算机系统中,把客观事物采⽤计算机进⾏识别、存储和加⼯所进⾏的描述,统称为数据。
数据元素——数据的基本单位成为数据元素,也称结点或记录等。
数据结构——是指相互有关联的数据元素的集合。
因此,⼀个数据结构既要反映数据元素的信息,还要反映数据元素之间的关系。
2、数据结构主要研究哪些内容?答:数据结构主要研究以下三⽅⾯的内容:(1)数据元素之间的逻辑关系是什么?(2)适宜选⽤什么存储结构进⾏存储?(3)采⽤什么样的操作实现算法效率更⾼?3、什么是数据的逻辑结构?逻辑结构主要分哪⼏种?答:逻辑结构——能反映数据元素之间的关系的数据组织。
逻辑结构主要分为两⼤类:线性结构和⾮线性结构4、什么是数据的存储结构?存储结构主要分哪⼏种?答:存储结构——反映数据在计算机中的存储⽅法。
⼜称物理结构。
11、设有编号1,2,3,4的四辆列车,顺序进⼊⼀个栈式结构的站台,具体写出这四辆列车开出站的所有可能的顺序。
答:堆栈具有“先进后出”或“后进先出”的特性,在出⼊过程中,可边进边出。
只要保证列车的进⼊先后顺序是1,2,3,4且出栈的总是栈顶元素就可以了。
因此,这四辆列车可能的出栈顺序有14种。
即1,2,3,4 1,2,4,3 1,3,4,2 1,3,2,4 1,4,3,22,1,3,4 2,1,4,3 2,3,4,1 2,3,1,4 2,4,3,13,2,1,4 3,4,2,1 3,2,4,14,3,2,114、对于下列稀疏矩阵A6*7=写出它的三元组表⽰法。
解:三元组表⽰法表⽰了稀疏矩阵中⾮零元的坐标和值。
注:i ——⾏下标,从1开始j ——列下标,从1开始v ——⾮零元素的值第⼀⾏数字表⽰整个稀疏矩阵的信息,即“6”⾏“7”列共“7”个⾮零元素15、设有下列三⾓矩阵A 4*4为A 4*4=A 4*4采⽤压缩存储⽅式存储于⼀维数据Sa 中,试求:(1)⼀维数组Sa 的元素个数;(2)矩阵元素a43在⼀维数据Sa 中的下标。
软件工程习题含答案
![软件工程习题含答案](https://img.taocdn.com/s3/m/eb9d71b677eeaeaad1f34693daef5ef7ba0d1294.png)
软件工程习题含答案一、单选题(共56题,每题1分,共56分)1.会话侦听与劫持技术属于()技术A、密码分析还原B、协议漏洞渗透C、应用漏洞分析与渗透D、DOS攻击正确答案:B2.若一棵二叉树具有8个度为2的结点,5个度为1的结点,则度为0的结点个数是?A、不确定B、6C、11D、9正确答案:D3.A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为A、6B、5C、4D、3正确答案:D4.进程由执行状态到阻塞状态的原因可能是()。
A、请求某种资源B、处于执行状态的进程的时间片结束C、释放某种资源正确答案:A5.下列哪一项不是激活函数A、batch normalizationB、reluC、tanhD、sigmoid正确答案:A6.网络安全法规定,网络运营者应当制定(),及时处置系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。
A、网络安全事件应急演练方案B、网络安全事件应急预案C、网络安全事件补救措施D、网络安全规章制度正确答案:B7.下列哪种算法更适合做时间序列建模A、CNNB、决策树C、LSTMD、贝叶斯算法正确答案:C8.下面()不是数据字典的内容。
A、外部实体B、程序C、数据结构D、处理逻辑正确答案:B9.通过网页上的钓鱼攻击来获取密码的方式,实质上是一种()。
A、旁路攻击B、社会工程学攻击C、暴力破解攻击D、密码分析学正确答案:B10.已知 10*12的二维数组 A ,以行序为主序进行存储,每个元素占1个存储单元,已知A[1][1]的存储地址为 420 ,则 A[5][5] 的存储地址为A、470B、471C、472D、473正确答案:C11.不属于进程关键要素的是________。
A、进程控制块B、数据和栈C、原语D、程序正确答案:C12.下列哪一项不是卷积神经网络的典型代表A、ALEXNETB、LSTMC、VGGD、RCNN正确答案:B13.关闭系统多余的服务有什么安全方面的好处?A、使黑客选择攻击的余地更小B、没有任何好处C、使系统进程信息简单,易于管理D、关闭多余的服务以节省系统资源正确答案:A14.为了简化管理,通常对访问者(),以避免访问控制表过于庞大。
- 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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8. PAD(Problem Analysis Diagram)图是一种工具。
A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10. 数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是。
A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开发中,有利于发挥集体智慧的一种做法是。
A、设计评审B、模块化C、主程序员制D、进度控制13. 在开发软件时,可用来提高程序员的工作效率。
A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
A、效率B、速度C、可读性D、大小15. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。
A、软件投机B、软件危机C、软件工程D、软件产生16. 瀑布模型把软件生存周期划分为软件定义、软件开发和三个阶段,而每一阶段又可细分为若干更小的阶段。
A、详细设计B、可行性分析C、运行及维护D、测试与排错17. 软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。
A、概要B、抽象C、逻辑D、规划18. 结构化分析SA是软件开发需求分析阶段所使用的方法,不是SA所使用的工具。
A、DFD图B、PAD图C、结构化英语D、判定表19. 结构化分析方法以数据流图、和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A、DFD图B、PAD图C、IPO图D、数据字典20. 模块本身的聚是模块独立性的重要度量因素之一,在七类聚中,具有最强聚的一类是。
A、顺序性聚B、过程性聚C、逻辑性聚D、功能性聚21. Jackson设计方法是由英国的M.Jackson提出的,它是一种面向的设计方法。
A、对象B、数据流C、数据结构D、控制结构22. 结构化程序设计思想的核心是要求程序只由顺序、循环和三种结构组成。
A、分支B、单入口C、单出口D、有规则GOTO23. 源程序的版面文档要求应有变量说明、适当注释和。
A、框图B、统一书写格式C、修改记录D、编程日期24. 在软件工程中,软件测试的目的是。
A、实验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误25. 在软件工程中,当前用于保证软件质量的主要技术手段还是。
A、正确性证明B、测试C、自动程序设计D、符号证明26. 在软件工程中,高质量的文档标准是完整性、一致性和。
A、统一性B、安全性C、无二义性D、组合性27. 在软件研究过程中,CASE是。
A、指计算机辅助系统工程B、CAD和CAM技术的发展动力C、正在实验室用的工具D、指计算机辅助软件工程28. 软件(结构)设计阶段文档是。
A、系统模型说明书B、程序流程图C、系统功能说明书D、模块结构图和模块说明书29. 软件的维护指的是。
A、对软件的改进、适应和完善B、维护正常运行C、配置新软件D、软件开发期的一个阶段30. 逆向工程在软件工程中主要用于阶段。
A、分析B、设计C、编码D、维护31. 软件工程中,只根据程序的功能说明而不关心程序部逻辑的测试方法,称为测试。
A、白盒法B、灰盒法C、黑盒法D、综合法32.阶段是软件生命期中花费最多,持续时间最长的阶段。
A、需求分析B、维护C、设计D、测试33. 在可行性研究阶段,对系统所要求的功能、性能以及限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为可行性。
A、经济B、技术C、法律D、操作34. 结构化系统分析所得到的系统需求说明书中包含一组小说明。
小说明是指对作进一步说明。
A、数据流B、数据存储(文件)C、处理(加工)D、外部项(源点终点)35. 分层的数据流图中,父图与子图的平衡是指的平衡。
A、处理B、数据存储C、外部项D、数据流36. 数据流图中,当数据流向或流自数据存储时,。
A、数据流要命名,数据存储不必命名B、数据流不必命名,数据存储要命名C、数据流和数据存储均应命名,因流进和流出的数据流可能不同D、数据流和数据存储都不必命名,因为从处理上可自然反映出来37. 结构化系统设计阶段的目的是。
A、获得良好的软件结构B、获得可读性好的程序C、获得满足用户需求的数据流图D、获得高效的算法38. 要减少两模块之间的联系,则。
A、两模块之间的调用次数要尽量少B、两模块之间直接传递的信息要尽量少C、两模块应使用尽可能相同的全局变量D、两模块应尽量共享相同的数据结构39. 在集成(联合)测试中,测试的主要目的是发现阶段的错误。
A、软件计划B、需求分析C、设计D、编码40. 在验收测试时,测试所依据的文档是。
A、可行性报告B、系统(需求)说明书C、模块说明书D、用户手册41. 在软件生存期的维护阶段,继续诊断和修正错误的过程称为。
A、完善性维护B、适应性维护C、预防性维护D、改正性维护42. 软件的可移植性是衡量软件质量的重要标准之一。
它指的是。
A、一个软件版本升级的容易程度B、一个软件与其他软件交换信息的容易程度C、一个软件对软硬件环境要求得到满足的容易程度D、一个软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度43. 软件生存周期是指阶段。
A、软件开始使用到用户要求修改为止B、软件开始使用到被淘汰为止C、从开始编写程序到不能再使用为止D、从立项制定计划,进行需求分析到不能再使用为止44. 可行性研究的目的是用最小的代价,在最短的时间确定问题是否可能解决和值得去解决,主要从三个方面进行。
A、技术可行性、费用可行性、效益可行性B、经济可行性、技术可行性、机器可行性C、技术可行性、操作可行性、经济可行性D、费用可行性、机器可行性、操作可行性45. 数据流图是一种描述数据及其变换的图形表示,在数据流图上不允许出现。
A、数据流B、控制流C、文件D、加工46. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是。
A、数据定义B、数据维护C、数据通讯D、数据库设计47. 事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过执行后面的加工。
A、变换B、选择C、合并D、联接48. 如果一个模块要调用另一个模块,在下列几种方式中,采用方式的块间联系小。
A、过程调用,传递控制参数B、过程调用,传递数据参数C、直接引用,共用控制信息D、直接引用,共用数据信息49. 软件的结构化设计方法是以为依据的模块结构设计方法。
A、系统数据要求B、数据结构C、数据流图D、数据流50. 结构化设计(SD)是软件开发中常用的方法,使用SD方法可以得到。
A、程序流程图B、编程语言的源程序C、分层数据流图和数据字典D、模块结构图51. 在测试层次结构的大型软件时,有一种方法是从上层模块开始,自顶向下进行测试,此时有必要用替代尚未测试过的下层模块。
A、主模块B、桩模块C、驱动模块D、输出模块52. 联合(集成)测试可以由两种方式进行。
A、模块测试、系统测试B、条件测试、非条件测试C、渐增式测试、非渐增式测试D、分析测试、验收测试53. 由于更新了操作系统而对软件进行的修改工作属于。
A、修正性维护B、适应性维护C、完善性维护D、预防性维护54. 为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行工作。
A、制定计划B、测试C、审查D、交接55. 模块部联系最大的是。
A、顺序聚B、功能聚C、通信聚D、时间聚56. 将以下3种耦合性由弱到强的顺序排列,正确的是。
A、控制耦合数据耦合公共耦合B、数据耦合公共耦合控制耦合C、公共耦合数据耦合控制耦合D、数据耦合控制耦合公共耦合57. 对某程序进行测试时,选择足够多的测试用例,使程序的每个判定中条件的各种可能组合都至少出现一次,这称为覆盖法。
A、判定B、判定/条件C、条件D、条件组合58. 数据字典是对数据流图中出现的组成元素定义的集合,它不包括条目。
A、文件B、数据流C、加工D、I/O参数59. 软件需求分析的容是。
A、确定开发的软件应有哪些功能,应达到什么性能B、确定软件的开发成本C、制定软件开发的进度表D、确定软件的总体结构60. 在软件的设计阶段应提供的文档是。
A、软件需求规格说明书B、概要设计规格说明书和详细设计规格说明书C、数据字典及数据流图D、源程序以及源程序的说明书61. 软件测试时,正确的测试次序是。
A、模块测试,组装测试,确认测试B、模块测试,确认测试,组装测试C、组装测试,模块测试,确认测试D、确认测试,模块测试,组装测试62. 在软件维护阶段,若用户要求在程序中增加一个原来没有的联机帮助功能是属于。
A、改正维护B、适应性维护C、完善性维护D、改正并适应性维护63. 程序流程图、N-S图和PAD图是使用的算法表达工具。
A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段64.软件的可维护性是指。
A、软件的可理解程度,修改的难易程度B、软件文档修改的难易程度C、程序修改的难易程度D、使用维护工具进行维护的难易程度65.月收入≤800元者免税,现用输入数800元和801元测试程序,则采用的是方法。
A、边缘值分析B、条件覆盖C、错误推测D、等价类66.采用黑盒法测试程序是根据。
A、程序的逻辑B、程序的功能说明C、程序中的语句D、程序中的数据67.数据流图的小说明中描述的最基本部分是。
A、激发条件B、加工逻辑C、优先级D、执行频率68.系统的健壮性是指。