软件工程习题-参考答案-ZYL
软件工程--习题及答案
《软件工程》(第五版)习题参考答案第1章一、判断题1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。
应用软件6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题1、软件是一种(C)。
A、程序B、数据C、逻辑产品D、物理产品2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定B、软件开发的步骤C、软件开发的技术D、软件开发的思想3、软件生存周期中花费最多的阶段是(D)。
A、详细设计B、软件编码(最少)C、软件测试D、软件维护4、软件工程的三要素不包括(D)。
A、工具B、过程C、方法D、环境5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计B、详细设计(怎么做)C、可行性研究(能不能做)D、需求分析6、瀑布模型本质上是一种(A)模型。
A、线性顺序B、顺序迭代C、线性迭代D、能及早见到产品的7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法B、程序语言C、平台D、用户需求8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型B、喷泉模型C、快速原型模型D、螺旋模型9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清B、用户不能参与开发C、用户对计算机不了解D、开发人员对业务知识不熟悉10、快速原型的主要优点不包括(D)。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程习题-参考答案_ZYL
软件工程习题-参考答案(仅供参考)一、名词解释可行性分析:可行性分析,要决定的问题是“做,还是不做”。
为避免盲目的软件开发,相关人员必须对拟开发的软件项目进行可行性调研、考察、分析、研究。
技术可行性:对要开发项目的功能、性能、限制条件从技术角度进行分析,确定在现有资源、技术条件下,技术风险有多大,是否有把握完全满足用户的需求,项目是否能够顺利完成。
开发成本估算:软件开发的成本,主要依据软件的规模、开发的工作量、人力投入、设备及其他投入等进行估算。
其中,开发工作量估算和人力投入估算是成本估算的两大核心内容。
而开发工作量主要受到软件规模、软件复杂度、开发环境以及人员技术水平等诸多因素影响。
结构化分析法:是面向数据流进行需求分析的方法。
数据流:以事先规定好的顺序被读取一次的数据的一个序列。
文件:存储在计算机上的信息集合。
文件可以是文本、图片、程序等等。
汇点:交汇于系统外的实体,可以是人、物或系统。
数据字典:数据字典用于定义数据流图中各个图元的具体内容,为数据流图中出现的图形元素做出确切的解释。
E-R图:实体-联系(E-R关系)图,用于描述应用系统的概念结构数据模型。
数据流图:是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法,可以标识一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。
用户端/服务器模式:由用户应用程序、服务器管理程序两部分组成,运行于内部局域网络上。
用户应用程序是系统中用户与数据进行交互的部件,有时也称前台服务系统。
后台服务器程序负责有效地管理系统资源。
耦合:就是对象之间的依赖性。
对象之间的耦合越高,维护成本越高。
因此对象的设计应使类和构件之间的耦合最小。
变换流:沿传入路径进入系统,各数据流之间在系统内有交换。
程序流程图:又称为程序框图,是程序分析中最基本、最重要的分析技术、基本工具。
界面设计:包括用户、界面及两部分的交互关系部分。
程序设计:程序设计者依据系统设计的要求编制计算机程序,即软件。
软件工程课后习题(含答案)
第一章练习题一、填空题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.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。
《软件工程》习题参考答案
《软件⼯程》习题参考答案《软件⼯程》习题参考答案周兵1.1教材:《软件⼯程》⽅⽊云主编,清华⼤学出版社,2016 1.2参考书⽬:1.《Software engineering》8th Edition Ian Sommervile,PearsonEducation, 机械⼯业出版社,20062. 《软件⼯程》,王忠群主编,中国科学技术⼤学出版社,20093. 《软件⼯程导论》(第4版), 张海藩编著, 清华⼤学出版社, 20074、《Software engineering : a practitioner's approach》 RogerS. Pressman. 6th ed. Pressman, Roger S. China MachinePress, 20081.3说明:斜体部分是可选讲授内容, 带星号的习题为可选。
第1章软件⼯程学概述1.1习题A.1什么是软件?软件可以分为哪些类?p11答:软件是程序、数据及相关⽂档的完整集合。
软件可分为通⽤软件和定制软件。
A.2*什么是软件危机及其表现?p11答:软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。
软件危机包含下述两⽅⾯的问题:如何开发软件,以满⾜对软件⽇益增长的需求;如何维护数量不断膨胀的已有软件。
具体地说,软件危机主要有以下⼀些典型表现。
(1) 对软件开发成本和进度的估计常常很不准确。
(2) ⽤户对“已完成的”软件系统不满意的现象经常发⽣。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的⽂档资料。
(6) 软件成本在计算机系统总成本中所占的⽐例逐年上升。
(7) 软件开发⽣产率提⾼的速度,远远跟不上计算机应⽤迅速普及深⼊的趋势。
A.3什么是软件⼯程?p11答:软件⼯程是指导计算机软件开发和维护的⼀门⼯程学科。
采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来,以经济地开发出⾼质量的软件并有效地维护它,这就是软件⼯程。
软件工程 习题参考答案
1.4 什么是软件工程?怎样利用软件工程消除软件危机?
答:(1)软件工程是指导计算机软件开发和维护的一门学科 (2)首先应该对计算机软件有一个正确的认识,彻底清除“软件就是程序”
的错误观念;要使用好的开发技术和方法,并且要不断研究探索更好更有效的技 术和方法;要有良好的组织、严密的管理,各类人员要相互配合,共同完成任务, 充分认识软件开发不是某种个体劳动的神秘技巧;应该开发和使用好的软件工 具,从而有效提高软件生产率。采用“工程化”的思想做指导来解决软件研究中 面临的困难和混乱。
2.4 在【例 2.2】中,把投资改为 6000 元,每年节约金额改为 2000 元,年 利率为 6%,试计算投资回收期和纯收入。
解:如下表 年
将来值(元) (1+n*I)
1
2000
1.06
2
2000
1.12
3
2000
1.18
4
2000
1.24
5
2000
1.30
现在值(元) 累计的现在值 (元)
1886.79
答:(1)数据流图是 SA 方法中用于表示系统逻辑模型的一种工具。 (2)它描述系统由哪几部分组成,各部分之间的联系 等, 以直观的图
哪些方面需要改进。 符合主流的发展;快速
反复改进,最终建立 建 立 起 来 的 系 统 结 构
完全符合用户需求 加上连续的修改可能
的新系统。克服瀑布 会导致产品质量低下。
模型的缺点,减少由
于软件需求不明确
带来的开发风险。这
种模型适合预先不
能确切定义需求的
软件系统的开发。
有较大的灵活性。能 够在较短的时间内 向用户提交一些有 用的工作产品。开发 出一部分,向用户展 示一部分,可让用户
软件工程习题及课后答案
第8章面向对象设计(习题与参考答案)[选择题]1. ()面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型。
A. 真B. 假2. ()系统设计的主要任务是细化分析模型,最终形成系统的设计模型。
A. 真B. 假3. ()关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。
A. 真B. 假4. ()用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。
A. 真B. 假5. 内聚表示一个模块()的程度,耦合表示一个模块()的程度。
A. 可以被更加细化B. 仅关注在一件事情上C. 能够适时地完成其功能D. 联接其他模块和外部世界6. 良好设计的特征是()。
A. 模块之间呈现高耦合B. 实现分析模型中的所有需求C. 包括所有组件的测试用例D. 提供软件的完整描述E. 选项B和DF. 选项B、C和D7. ()是选择合适的解决方案策略,并将系统划分成若干子系统,从而建立整个系统的体系结构;( )细化原有的分析对象,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。
A. 系统设计B. 对象设计C. 数据库设计D.用户界面设计8.下面的( )界面设计原则不允许用户保持对计算机交互的控制。
A. 允许交互中断B. 允许交互操作取消C. 对临时用户隐藏技术内部信息D.只提供一种规定的方法完成任务[练习题]1. 面向对象设计与面向对象分析的区别是什么?设计包括哪些活动? 答案要点:面向对象分析是重点考虑系统“做什么”的问题,即运用面向对象方法对问题域进行分析和理解,建立系统的分析模型;面向对象设计重点考虑系统“怎样做”的问题,即在分析模型的基础上形成实现环境下的设计模型。
面向对象设计主要涉及系统设计、对象设计(或详细设计)、数据库设计和用户界面设计等活动。
2. 3. 课程在类设计中,为什么建议使用set 方法和get 方法进行属性设置和读取? 答案要点:目的在于降低类之间的耦合度。
软件工程习题(附答案)
软件工程习题(附答案)软件工程习题(附答案)1.概述1.1 介绍本文档是一份软件工程习题文档,包含了一系列关于软件工程的习题及其对应的答案。
这些习题涵盖了软件工程的各个方面,旨在帮助读者巩固和扩展自己的软件工程知识。
1.2 目的本文档的目的是提供一份全面而详细的习题文档,供软件工程学习者参考和学习。
每个习题都配有答案,以便读者可以自行对比答案和解答过程,提高自己的理解和运用能力。
2.软件需求工程2.1 需求获取2.1.1 什么是需求获取?为什么它在软件工程中非常重要?答案:需求获取是指在软件开发过程中,获取并理解用户对软件系统所需功能和约束的过程。
它在软件工程中非常重要,因为一个完整、清晰、准确的需求基础是成功软件开发的关键,它直接影响着软件系统的功能、性能和质量。
2.1.2 几种常见的需求获取方法。
答案:常见的需求获取方法包括面谈、问卷调查、观察、原型展示等。
2.2 需求分析与规格2.2.1 什么是需求分析?它的目标是什么?答案:需求分析是指对需求进行深入的分析和理解,以确定需求的准确性、完整性和一致性。
它的目标是明确系统需求,并将其规格化,为软件开发提供指导和依据。
2.2.2 需求分析的主要步骤有哪些?答案:需求分析的主要步骤包括需求获取与识别、需求验证与确认、需求排序与组织、需求规格化等。
3.软件设计3.1 结构化设计3.1.1 什么是结构化设计?答案:结构化设计是指将系统进行层次化和模块化分解,定义各个模块之间的接口和关系,从而使系统具有更好的可维护性、可扩展性和可重用性。
3.1.2 结构化设计的原则有哪些?答案:结构化设计的原则包括模块化原则、信息隐藏原则、高内聚低耦合原则等。
3.2 面向对象设计3.2.1 什么是面向对象设计?答案:面向对象设计是一种基于对象的思维方式,将系统分解为各个独立的对象,通过对象之间的交互和协作来实现系统的功能。
3.2.2 面向对象设计的主要特点是什么?答案:面向对象设计的主要特点包括封装、继承、多态等。
软件工程课后习题参考答案
1 . 简 述 软 件 开 发 的 本 质答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑 之间的映射。
P192. 简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通 过抽象,给出该系统的一个结构一一系统模型。
P193. 简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描 述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另 一类统称为软件模型,描述了实现概念模型的软件解决方案。
4. 简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发 手段。
5、 简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。
2)无歧义的,该需求只能 用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个 开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行 分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需 求。
3)完整的:没有被遗漏的需求。
4) 一致的:不存在互斥的需求。
6、简述软件需求的分类。
7、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如 非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;需求2等。
P248有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
P269、简述需求规约的3种基本形式。
(1)非形式化的需求规约。
非形式化的需求规约即以一种自然语言来表达需求规约, 如同使用一种自然语言写了一篇文章。
(完整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.软件的主要特性是()A、无形性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.软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
《软件工程》题库及参考答案
《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
软件工程答案(共五则范文)
软件工程答案(共五则范文)第一篇:软件工程答案软件工程课后习题答案殷锋主编·天津科学技术出版社注:有些可能错误,读者自己注意第一章一、填空题:1、软件是计算机系统中与硬件相互依存的另一部分,是包括、、及相关文档的的完整集合2、软件工程包括三要素:方法、工具和过程。
3、软件开发的基本方法包括和二、选择题:1、C2、B3、C第二章一、填空题:1、软件生存周期的各个过程可以分成三类,及主要生存周期过程、支持生存周期过程和组织的生存周期过程。
2、软件生存周期包括计划、需求分析、设计、程序编码、软件测试和运行维护6个阶段。
3、软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划,制定以及实施。
二、填空题1、A2、B三、判断题1、√2、X第三章三、填空题:1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定够解决2、可行性研究在进行简要需求分析和设计时,要在高层次上以进行3、需求分析阶段产生的最重要的文档是。
4、为解决一个复杂的问题,往往采取的策略是5、SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是流图和E-R图。
6、数据流图中有四种负号元素,它们是点7、数据字典中有四类条目,分别是8、在IDEF0图中,表示系统功能的图形成为图。
9、在画分层的DFD时,父图与子图的输入/输出的数据流要10、用于描述基本加工的小说明的三种描述工具是定表。
二、选择题1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B第四章一、填空题1、变换型系统由3部分组成:。
2、模块的分解的基本原则是。
3、在软件开发的过程中必须遵循的软件工程原则有:和模块独立性。
二、选择题1、D2、A3、A4、A5、B三、判断题1、√2、X3、X4、√5、X第五章二、填空题1、软件测试是为了而执行程序的过程。
2、运行被测程序的方法称为测试。
3、动态测试中,主要测试软件功能的方法称为法4、选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准为判定/覆盖法。
软件工程课后习题答案
第一章习题参考答案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、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. 结构化程序设计主要强调程序的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程习题-参考答案(仅供参考)一、名词解释可行性分析:可行性分析,要决定的问题是“做,还是不做”。
为避免盲目的软件开发,相关人员必须对拟开发的软件项目进行可行性调研、考察、分析、研究。
技术可行性:对要开发项目的功能、性能、限制条件从技术角度进行分析,确定在现有资源、技术条件下,技术风险有多大,是否有把握完全满足用户的需求,项目是否能够顺利完成。
开发成本估算:软件开发的成本,主要依据软件的规模、开发的工作量、人力投入、设备及其他投入等进行估算。
其中,开发工作量估算和人力投入估算是成本估算的两大核心内容。
而开发工作量主要受到软件规模、软件复杂度、开发环境以及人员技术水平等诸多因素影响。
结构化分析法:是面向数据流进行需求分析的方法。
数据流:以事先规定好的顺序被读取一次的数据的一个序列。
文件:存储在计算机上的信息集合。
文件可以是文本、图片、程序等等。
汇点:交汇于系统外的实体,可以是人、物或系统。
数据字典:数据字典用于定义数据流图中各个图元的具体内容,为数据流图中出现的图形元素做出确切的解释。
E-R图:实体-联系(E-R关系)图,用于描述应用系统的概念结构数据模型。
数据流图:是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法,可以标识一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。
用户端/服务器模式:由用户应用程序、服务器管理程序两部分组成,运行于内部局域网络上。
用户应用程序是系统中用户与数据进行交互的部件,有时也称前台服务系统。
后台服务器程序负责有效地管理系统资源。
耦合:就是对象之间的依赖性。
对象之间的耦合越高,维护成本越高。
因此对象的设计应使类和构件之间的耦合最小。
变换流:沿传入路径进入系统,各数据流之间在系统内有交换。
程序流程图:又称为程序框图,是程序分析中最基本、最重要的分析技术、基本工具。
界面设计:包括用户、界面及两部分的交互关系部分。
程序设计:程序设计者依据系统设计的要求编制计算机程序,即软件。
二进制语言:由一串二进制符号组成。
高级语言:高级语言,又分为普通高级语言、超高级语言。
超高级语言(第四代语言,4GL),将普通高级语言的程序结构、数据结构的表示文法抽象到一个新的高度,软件设计者只需说明“做什么”,而不需更多的描述算法细节。
数据模型:据模型是现实世界在数据库中的抽象。
数据库管理系统:数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
数据库逻辑设计:主要指数据库内部数据关系设计。
软件测试:指利用人工或自动的方法执行和评价各个模块的过程。
黑盒测试:又称为功能测试或数据驱动测试。
把测试对象看作一个黑盒子,不需测试软件产品的内部结构和处理过程,只在软件的接口处进行测试。
等价分类法:该方法是一常用的黑盒测试用例设计方法。
把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
回溯法:在小程序中常用的一种有效的调试技术。
具体做法是,分析错误表象,确定症状位置,人工沿着程序的控制流往回追踪源程序代码,直到找到错误原因为止。
性能测试:检查和评估系统执行的响应时间、处理速度、网路承载能力、操作方便灵活程度、运行可靠程度等。
静态测试:又称静态分析,指被测试程序不在机器上运行,而是采用人工检测和计算机辅助对被测程序的数据流和控制流等信息进行静态分析,找出系统的缺陷,写出测试报告。
调试:软件调试,是在测试发现错误之后诊断并排除错误的过程。
在进行成功的测试后必须进行软件调试。
Beta测试:由软件的最终用户在一个或多个用户场所进行。
与Alpha测试不同,开发者通常不在Beta测试的现场,因此,Beta测试是软件在开发者不能控制的环境中的“真实”应用。
用户记录在Beta测试过程中遇到的一切问题(真实的或想像的),并且定期把这些问题报告开发者。
接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全体用户发布最终的软件产品。
二、填空题1、可行性分析的目的就是用最小的代价在尽可能短的时间内确定软件项目是否能够开发,是否值得去开发。
3、可行性分析实质上是要进行一次简化,压缩了的需求和分析过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。
5、技术可行性是对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
7、技术可行性的研究包括:开发风险分析,现有技术能否实现,现有技术发展分析。
9、典型的可行性研究有下列步骤:确定项目规模和目标、分析目前运行的系统、设计新项目的总体框架、导出和评价各种方案,推荐可行的方案和编写可行性研究报告。
11、成本/效益分析首先是估算将要开发系统的开发成本,然后与可能取得的效益进行_对比分析。
15、纯收入是软件生存周期内两项值之差,这两项是销售利润与软件开发维护成本。
17、可行性研究具体步骤的最后一步是撰写可行性分析报告。
1、软件需求分析是软件生存期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。
3、访谈是最早使用的获取用户需求的技术,也是世界上仍然广泛使用的需求分析技术。
访谈有两种基本形式:问卷调查和小组讨论。
5、数据流图由数据流、数据存储、数据项、数据加工组成。
1、耦合衡量不同模块彼此间互相依赖(连接)的紧密程度,模块间的耦合性越高,其模块的独立性就越低。
两个模块之间的耦合方式通常有7种,按耦合程度从低到高依次为:非直接耦合、,数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。
3、数据流有变换型数据流图和事物型数据流图两种基本类型。
5、模块独立性的概念是模块化、抽象和信息隐蔽的直接结果。
7、软件的详细设计可以采用图形、表格和语言三种形式的描述工具表示模块的处理过程。
9、程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法表达工具。
11、三层逻辑架构主要包括:界面表示层、业务层、数据存储层。
1、根据用户对项目的使用情况,可把用户分为三类:初级用户、中级用户、高级用户。
3、 Web界面的主要形式一般有下面几种:信息查询类界面_、大众媒体类界面、宣传窗口类界面、电子商务类界面、交流平台类界面。
5、Web界面设计工具常用的有Photoshop、Dreamwaver和Fireworks,这些工具和HTML 及各类脚本语言结合使用,可设计出各种功能的Web界面。
1、计算机语言可分为两大类:面向机器的语言、高级语言。
3、网络系统的安全性主要考虑保证网络设备连接的安全,这需要一组相互重叠的安全机制,包括防火墙、数据包过滤器、物理安全、审查日志、身份验证和授权等5、标识符分为两部分:规范标识前缀、含义标识后缀。
7、#region和#endregion可以实现代码的折叠1、E-R数据模型一般在数据库设计的概念设计阶段使用。
3、数据库实施阶段包括两项重要的工作,一项是数据的_载入,另一项是应用程序的编码和调试。
5、数据管理技术的发展大致经过了以下三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
7、E-R图向关系模式转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的属性和码。
9、数据库管理系统的功能基本功能包括以下4个方面:数据定义、数据操纵、数据查询、数据控制。
1、软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
3、软件从编码结束到交付用户使用,需要经过单元测试、组装测试、验收测试和系统测试4个步骤。
三、单项选择题1、研究开发资源的有效性是进行(C)可行性研究的一方面。
A.技术B.经济C.社会D.操作3、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)。
A.软件计划,需求分析,系统定义B.系统定义,软件计划,需求分析C.需求分析,概要设计,软件计划D.软件计划,需求分析,概要设计5、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(C)。
A.工作阶段间的等待时间B.生产原型的复杂性C.参与人员所需的工作站数D.参与人员之间的通信困难7、可行性分析中,系统流程图用于描述(B)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统9、可行性研究要求进行的需求分析和设计应是(C)。
A.详细的B.全面的C.简化的,压缩的D.彻底的11、系统定义明确之后,应对系统的可行性进行研究。
可行性研究包括(A)。
A.软件环境可行性,技术可行性,经济可行性,社会可行性B.经济可行性,技术可行性,社会可行性C.经济可行性,社会可行性,系统可行性D.经济可行性,实用性,社会可行性1、软件需求分析阶段最重要的技术文档之一是(C)。
A.项目开发计划B.设计说明书C.需求分析报告D.可行性分析报告3、软件需求分析阶段建立原型的主要目的是(C)。
A.确定系统的功能和性能要求B.确定系统的运行要求C.确定系统是否满足用户需求D.确定系统是否满足开发人员需求5、软件需求分析阶段的研究对象是(A)。
A.用户要求B.分析员要求C.系统要求D.软硬件要求7、DFD中的每个加工至少需要(D)。
A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流9、软件需求分析报告的作用不包括(C)。
A.软件验收的依据B.用户与开发人员对软件要有共同理解C.软件可行性研究的依据D.软件设计的依据1、内聚性是对模块功能强度的度量,内聚性较强的是(C)。
A.偶然内聚B.逻辑内聚C.功能内聚D.信息内聚A.软件结构B.软件过程C.软件模型D.软件模块3、能反映出软件结构的是(D)。
A.数据流图B.判定树C.判定表D.软件程序结构图5、软件设计是一个把(D)转换为软件表示的过程。
A.代码设计B.软件需求C.详细设计D.系统分析7、概要设计阶段产生的文档不包括(C)。
A.概要设计说明书B.数据库设计说明书C.用户手册D.开发进度月报9、结构化设计是一种面向(A)的设计方法。
A.数据流B.模型C.数据结构D.程序11、软件详细设计阶段的任务是(A)。
A.算法设计B.功能设计C.调用关系设计D.输入/输出设计12、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。
A.松散B.紧密C.无法判断D.相等13、详细设计与概要设计衔接的图形工具是(D)A.DFD图B.程序图C.PAD图D.SC图15、下面说法不正确的是(B)。
A.流程图不易表示数据结构B.流程图容易造成非结构化的程序结构C.流程图支持逐步求精D.流程图描述的是程序的逻辑结构1、E—R图中的联系可以与___C____实体有关。