福建农林大学计算机与信息学院《软件工程》期末复习资料(古月)仅供参考1《软件工程》期末复习资料考试时间:2011年12月30日下午:16:00-18:00考试地点:考试题型:1.选择题10*2=20分;2.填空题10*2=20分;3.名词解释15分;4.简答题30分;5.综合题1*12=15分。复习要点选择填空知识点1.1.1.1.第一章1.软件发展的三个阶段:(1)第一阶段(1946-1956年):从第一台计算机上的第一个程序的出现到实用的高级程序设计语言出现以前。(2)第二阶段(1956-1968年):从实用的高级程序设计语言出现以后到软件工程出现以前。(3)第三阶段(1968年以来):从软件工程出现以后至今。2.软件的特点3.软件语言分类4.软件工程的原则5.瀑布模型的优缺点、特征、适合哪一类型的软件6.原型模型所处的阶段,特点、优缺点,适合哪一类软件2.2.2.2.第三章7.需求工程分为(阶段)8.需求获取的结果是什么?需求阶段的最终结果是什么?9.软件设计的任务10.软件设计原则11.内聚(最高和最低的名称)两个具体的内聚(逻辑功能)12.耦合(最高和最低的名称)两个具体的耦合(公共数据)13.结构化分析的过程3.3.3.3.第五章14.描述加工有哪些工具结构化的语言判定树判定表4.4.4.4.第七章15.四个方面对系统建模16.聚集和集合(184)5.5.5.5.第九章17.人机界面的风格种类区分18.黄金原则是指什么?6.6.6.6.第十章19.程序设计语言包含3个方面:语法、语义和语用。20.程序设计语言的选择21.程序设计的风格哪些是好的哪些是不好的7.7.7.7.第十一章22.逻辑覆盖的强度最强与最弱23.测试策略哪一个测试对应哪一阶段24.调试方法8.8.8.8.第十三章25.软件维护分类结构化维护非结构化维护9.9.9.9.第十四章26.软件度量的分类27.软件质量要素14628.程序设计小组的组织形式29.软件质量管理高质量软件应具备什么条件福建农林大学计算机与信息学院《软件工程》期末复习资料(古月)仅供参考2名词解释1111软件危机软件危机软件危机软件危机::::软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。2.2.2.2.软件过程:软件过程:软件过程:软件过程:软件过程是一个最终满足需求且达到工程目标的软件产品所需的步骤。3.3.3.3.软件过程模型:软件过程模型:软件过程模型:软件过程模型:软件过程模型习惯上也称为软件开发模型,是软件开发全部过程、活动和任务的结构框架。4.CASE4.CASE4.CASE4.CASE(计算机辅助软件工程(计算机辅助软件工程(计算机辅助软件工程(计算机辅助软件工程))))::::计算机辅助软件工程是指使用计算机及相关的软件工具辅助软件开发、维护、管理等过程中各项活动的实施,以确保这些活动能高效率、高质量地进行。5.5.5.5.数据字典:数据字典:数据字典:数据字典:数据库中所有对象及其关系的信息集合。一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。6.6.6.6.需求管理:需求管理:需求管理:需求管理:需求管理是一组用于帮助项目组在项目进展中的任何时候去标识、控制和跟踪需求的活动。7.UML7.UML7.UML7.UML((((统一建模语言统一建模语言统一建模语言统一建模语言))))::::是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。8.8.8.8.白盒测试白盒测试白盒测试白盒测试::::又称结构测试,这种方法把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。9.9.9.9.黑盒测试黑盒测试黑盒测试黑盒测试::::又称行为测试,这种方法把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。10.10.10.10.软件演化:软件演化:软件演化:软件演化:软件演化是指软件在交付以后,对软件进行的一系列活动的总称。软件演化包括软件维护和软件再工程。11.11.11.11.软件可维护性软件可维护性软件可维护性软件可维护性::::可维护性是指理解、改正、调整和改进软件的难易程度。对软件可维护性影响的主要因素有:可理解性、可测试性、可修改性和可移植性。12.12.12.12.软件项目管理:软件项目管理:软件项目管理:软件项目管理:软件项目管理是通过项目经理和项目组织的努力,运用系统理论的方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理科方法体系。其基本内容为:项目定义、项目计划、项目执行、项目控制、项目收尾。13.13.13.13.软件度量:软件度量:软件度量:软件度量:软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。14.14.14.14.程序复杂性度量:程序复杂性度量:程序复杂性度量:程序复杂性度量:是指理解和处理软件的难易程度,包括程序复杂性和文档复杂性,软件复杂性主要体现在程序的复杂性中。15.15.15.15.软件可靠性度量:软件可靠性度量:软件可靠性度量:软件可靠性度量:是指在规定的条件下和规定的时间内软件按规格说明要求不引起系统失效的概率。16.16.16.16.软件配置:软件配置:软件配置:软件配置:软件配置是指软件产品在不同时期的组合,该组合随着开发工作的进展而不断变化。17.17.17.17.软件工程:软件工程:软件工程:软件工程:软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。福建农林大学计算机与信息学院《软件工程》期末复习资料(古月)仅供参考3简答题1.1.1.1.敏捷软件开发的价值观?敏捷软件开发的价值观?敏捷软件开发的价值观?敏捷软件开发的价值观?[答]:(1)个人和交互高于过程和工具;(2)可运行软件高于详尽的文档;(3)与客户协作高于合同(契约)谈判;(4)对变更及时做出反应高于遵循计划。2.2.2.2.需求工程具体包括哪些步骤?需求工程具体包括哪些步骤?需求工程具体包括哪些步骤?需求工程具体包括哪些步骤?[答]:(1)需求获取;(2)需求分析与协商;(3)系统建模;(4)需求规约;(5)需求验证;(6)需求管理。3.3.3.3.什么是计算机软件?软件的特点是什么?什么是计算机软件?软件的特点是什么?什么是计算机软件?软件的特点是什么?什么是计算机软件?软件的特点是什么?[答]:(1)计算机软件是指计算机系统中的程序和文档。程序是计算任务的处理对象很处理规则的描述,文档是为了便于了解程序所需的阐述性资料。(2)软件的特点:1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估计;2)软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;3)软件的使用没有硬件那样的机械磨损和老化问题。4.4.4.4.简述软件工程的基本原则?简述软件工程的基本原则?简述软件工程的基本原则?简述软件工程的基本原则?[答]:(1)选取适宜的开发模型;(2)采用合适的设计方法;(3)提供高质量的工程支撑;(4)重视软件工程的管理。5.5.5.5.简述结构化设计的步骤?简述结构化设计的步骤?简述结构化设计的步骤?简述结构化设计的步骤?[答]:(1)建立初始结构图;(2)对结构图的改进;(3)书写设计文档;(4)设计评审。6.6.6.6.简述结构化分析的过程?简述结构化分析的过程?简述结构化分析的过程?简述结构化分析的过程?[答]:(1)理解当前的现实环境,获得当前系统的具体模型(物理模型);(2)从当前系统的具体模型抽象出当前系统的逻辑模型;(3)分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型;(4)为目标系统的逻辑模型作补充。7.7.7.7.简述软件设计阶段的基本任务?简述软件设计阶段的基本任务?简述软件设计阶段的基本任务?简述软件设计阶段的基本任务?[答]:软件设计是把软件需求变换成软件表示的过程,主要包括两个阶段:软件体系结构设计和部件级设计阶段。(1)数据/类;(2)体系结构设计;(3)接口设计;(4)部件级设计。8.8.8.8.简述数据流图映射到结构图的步骤?简述数据流图映射到结构图的步骤?简述数据流图映射到结构图的步骤?简述数据流图映射到结构图的步骤?[答]:(1)复审和精化数据流图;(2)确定数据流图的类型;(3)将DFD映射成初始结构图;(4)改进初始结构图。9.9.9.9.简述用况建模的步骤?简述用况建模的步骤?简述用况建模的步骤?简述用况建模的步骤?[答]:(1)定义系统;(2)确定执行者;(3)确定用况;(4)描述用况;(5)定义用况间的关系;(6)确定模型。10.10.10.10.简述用况的特征?简述用况的特征?简述用况的特征?简述用况的特征?[答]:(1)用况总是被执行者启动的,执行者必须直接或间接地指示系统去执行用况;(2)用况向执行者提供值,这些值必须是可识别的;(3)用况是完整的,一个用况必须是一个完整的描述。11.11.11.11.什么是测试用例?测试的目标是什么?测试的目的是什么?什么是测试用例?测试的目标是什么?测试的目的是什么?什么是测试用例?测试的目标是什么?测试的目的是什么?什么是测试用例?测试的目标是什么?测试的目的是什么?[答]:(1)软件测试前,需要设计若干个测试用例,一个测试用例是由测试输入数据和预期结果组成,测试时通过输入数据,运行被测程序,如果运行的实际输出与预期结果不一致,则表明发现了程序中的错误。(2)测试的目标是:1)测试是一个为了发现错误而执行程序的过程;2)一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试用例;3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。(3)软件测试的目的是发现软件中的错误和缺陷,并加以纠正。应该排除对测试的错误观点,设计合适的测试用例,用尽可能少的测试用例,来的发现尽可能多的软件错误。12.12.12.12.简述提高软件可维护性的方法?简述提高软件可维护性的方法?简述提高软件可维护性的方法?简述提高软件可维护性的方法?[答]:(1)确定质量管理目标和优先级;(2)使用提高软件质量的技术与工具;(3)选择可维护性高的程序设计语言;(4)完善程序文档;(5)进行质量保证审查。13.13.13.13.简述软件配置管理的主要活动?简述软件配置管理的主要活动?简述软件配置管理的主要活动?简述软件配置管理的主要活动?[答]:(1)版本控制;(2)变更控制;(3)配置审计;(4)状态报告。福建农林大学计算机与信息学院《软件工程》期末复习资料(古月)仅供参考4综合题1.会画数据流图会导出软件及其结构的原始数据数据守恒2.描述加工有哪些工具结构化的语言判定树判定表3.数据字典结构化语言4.活动图泳道5.等价类划分题型参考选择题选择题选择题选择题1.软件产品的开发主要是(D)。A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是(C)时代。A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于(C)。A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是(A)阶段的任务。A.编码B.需求分析C.详细设计D.测试5.可行性研究的目的是决定(B)。A.开发项目B.项目值得开发否C.规划项目D.维护项目6.SA方法用DFD描述(D)。A.系统的控制流程B.系统的数据结构C.系统的基本加工D.