软件工程期末复习集
- 格式:doc
- 大小:282.50 KB
- 文档页数:15


软件工程复习题(总19页) --本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--软件工程期末考试复习题时间:2019年7月5日考练习题—、填空题1.软件工程是一门综合性的交叉学科,它涉及计算机学科、工程学科、管理学科和数学学科。
2.软件工程研究的主要内容是方法、过程和工具三个货面。
3.由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。
V3中,软件工程知识体系分为软件工程教育需求和软件工程实践两大类。
5.增量式模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。
6. 喷泉模型比较适用于面向对象的开发方法。
7.软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。
二、判断题V3分两大类,共有15个知识域。
(✓)2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。
(✓)3.软件工程学一般包含软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。
(✓)4. 软件开发中的最大的问题不是管理问题,而是技术问题。
(×)5. XP (eXtreme Programming,极限编程)是由Kent Beck提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。
(✓)三、选择题1.下列所述不是敏捷生存期模型的是(C)。
A. ScrumB. XPC. V 模型 UP2.软件工程的出现主要是由于(C)。
A.程序设计方法学的影响B.其他工程学科的影响C.软件危机的出现D.计算机的发展3. 以下(C)不是软件危机的表现形式。
A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.以下不是SWEBOK V3的软件工程实践中的知识域的是(B)。
1.IEEE:软件工程是(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;(2)(1)中所述方法的研究2软件工程原则:选取适宜的开发模型,采用合适的设计方法,提供高质量的工程支持,重视软件工程的管理CMM(Capability Maturity Model)能力成熟度模型3原型的进一步解释:预期系统的一个可执行版本,它反映了系统性质(如功能、计算结果等)的一个选定的子集。
4需求分析的任务: 需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么” 的问题。
5需求获取方法:a建立顺畅的通信途径b访谈与调查c观察用户操作流程d组成联合小组e用况6信隐:每个模块的实现细节对于其它模块来说应该是隐蔽的7模块独立:是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的8判定表:能清晰地表达复杂的条件组合与应做动作之间的对应关系9判定树:判定表的变种,它本质上与判定表是相同的,只是表示形式不同10人机界面:设计,用户,用户的或系统感觉,系统映象11分层数据流图的步骤a画系统的输入和输出,得顶层图b画系统内部,得0层图c画加工内部,得到各级子图d重复第3步直到不能再分解12审查:检查图中是否存在错误或不合理的部分,一致性是不存在矛盾冲突,完整性是是否有遗漏的数据流、加工等元素13数据字典条目包括:数据流、文件、数据项(组成数据流和文件的数据)、加工、源或宿14字典条目中的描述内容主要包括aDFD元素的基本信息(名称、别名)b定义(数据类型、数据组成)c使用特点(取值范围、使用频率d控制信息(来源、去向、访问权限)15事物流特征:数据流沿着输入路径到达一个事务中心,事务中心根据输入数据的类型在若干条动作路径中选择一条来执行事务中心的任务是:接收输入数据(即事务);分析每个事务的类型;根据事务类型选择执行一条动作路径16变换流特征:数据流图可明显地分成输入、变换、输出三部分。
软件工程期末考试各章复习要点整理第一章软件工程概论本章以常见于简答题、选择题、填空题和判断题,主要内容包括下面几点:•什么是软件•软件的性质•什么是工程化•软件工程研究的内容•软件危机的表现题型举例:例1. 什么是软件,软件的本质是什么?或软件性质、软硬件最大区别(简答、填空或判断)答:是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。
软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。
软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。
例2. 什么是软件开发的工程化?工程化的软件开发方法与早期的程序设计方法的不同点在哪里?(记住关键字)答:将成熟工程领域的方法应用于软件开发。
工程化的方法包括如下四个方面:⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境⑶.具备统一的工程规范⑷.管理和控制例3. 简答题:简述软件工程学科研究的内容。
答:软件工程的知识体系包括如下内容过程:软件开发的步骤方法:软件开发各步骤所用到的技术管理:控制软件开发按照过程和方法顺利完成的技术和措施工具:辅助人们贯彻过程和方法,并实施管理相关例题:什么是软件危机?危机的主要表现是什么?(只记表现,前3点)答:软件危机就是软件在开发过程中存在的一系列严重问题的总称。
危机的主要表现:(1)软件的复杂性不断提高,对软件开发的成本和进度难于估计(2)软件质量不高,潜在差错的危害。
(3)缺乏完整、正确的文档,维护极困难,难于移植以至于不得不重复开发类似的软件。
(4)软件成本在计算机系统中总成本所占的比例逐年增高。
(5)软件生产率的提高远跟不上需求的增长。
第二章软件开发过程本章的主要内容有以下几点:•软件过程模型•传统过程模型(瀑布模型、螺旋模型、增量模型、原型模型)•统一过程模型(RUP)•敏捷过程模型(极限编程)•了解统一过程模型RUP的核心工作流例如RUP是一种软件开发方法(错误)RUP是软件开发过程模型。
软件工程复习资料1.软件危机产生的原因(1)软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2)软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5)在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。