软件工程复习大纲

发布 2021-05-13 17:25:28 阅读 5106

《软件工程导论》复习大纲。

一、选用教材

软件工程导论》刘怀亮机械工业出版社

二、期末成绩。

期末成绩=平时成绩*20%+考试成绩*80%

一)考试方法:笔试,闭卷,满分100分。

二)考试时间:120分钟。

三、试卷结构

一)题型及分数比例。

二)试题难易及分数比例:

较易40% 中等难度50% 较难10%

四、考试大纲。

全国计算机等级考试四级软件工程考试大纲。pdf》

五、常用术语。

1.软件: 是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。

2.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

3.软件工程:是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。

4.软件生存周期:是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。

5.软件复用:是利用某些已开发的、对建立新系统有用的软件元素来生成新的软件系统。

6.质量:是产品或服务满足明确或隐含需求能力的特性和特征的集合。在合同环境下,需求是明确的;在其他环境下,隐含的需求需要识别和定义。

7.质量策划:包括产品策划、管理和作业策划,以及质量计划的编制和质量改进的准备工作。

8.质量改进:是以最求最高的效益和效率为目标的持续性活动。

9.质量控制:是对流程和产品的符合性的评估,独立分析不足并予以更正使得产品与需求相符。

10.质量保证:是有计划的和系统性的活动,它对部件或产品满足确定的技术需求提供足够的信心。

11.软件质量:是指明确声明的功能和性能需求、明确文档化的开发标准、以及专业人员开发的软件所具有的所有隐含特征都得到满足。

12.正式技术复审:是一种由软件开发人员进行的软件质量保证活动,其目的是在软件的任何一种表示形式中发现功能、逻辑或实现的错误,验证经过复审的软件确实满足需求,保证软件符合预定义的标准,使软件按照一致的方式开发,使项目更易于管理。

是一个组织的英语简称,代表international organization for standardization,即"国际标准化组织"。

是由iso/tc176制定的关于质量管理和质量保证的国际标准。

15.质量认证:是由可以充分信任的第三方证实某一经鉴定的产品或服务符合特定标准或规范性文件的活动。

16.软件过程是人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。

17.软件过程能力是描述(开发组织或项目组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。

18.软件过程性能表示(开发组织或项目组)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项目而言。

19.软件过程成熟度是指一个特定软件过程被明确和有效地定义,管理测量和控制的程度。

20.软件成熟度等级是指软件开发组织在走向成熟的途中几个具有明确定义的表示软件过程能力成熟度的平台。

23.软件能力成熟度模型是指随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力也伴随着这些阶段逐步前进,完成对软件组织进化阶段的描述模型。

24.软件需求是指。

(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力;(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。

25.业务需求(business requirement)反映了组织机构或客户对系统或产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

26.用户需求(user requirement)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

27.功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

28.非功能需求(non-functional requirement)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

29.需求工程是应用已证实有效的原理和方法,通过合适的工具和符号,系统地描述出待开发系统及其行为特征和相关约束。

30.需求分析主要是对收集到的需求进行提炼、分析和仔细审查,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方,形成完整的分析模型。

31.软件需求规格说明。

是需求开发的最终结果,它精确地阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件。软件需求规格说明不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。

32.风险承担人:是任何将从新系统或应用的实现中受到实质性影响的人。

33.软件原型是所提出的新产品的部分实现,其目的是为了解决在产品开发的早期阶段需求不确定的问题。

34.实体关系图描述数据对象及其关系。

35.数据流图是结构化分析的基本工具,它描述了信息流和数据转换。

36.状态转换图通过描述状态以及导致系统改变状态的事件来表示系统的行为。

37.数据字典描述数据流图的数据存储、数据加工(最底层加工)和数据流。

38.对象(object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。

39.类(class)是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。

40.封装(encapsulation)是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。

41.继承(inheritance)是指子类可以自动拥有父类的全部属性和服务。

42.消息(message)是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等信息。

43.多态性(polymorphism)是指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为。

44.主动对象(active object)是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称为主动服务)。

45.面向对象的分析(ooa)就是运用面向对象的方法进行需求分析,其主要任务是分析和理解问题域,找出描述问题域和系统责任所需的类及对象,分析它们的内部构成和外部关系,建立ooa模型。

46.面向对象的设计(ood)就是根据已建立的分析模型,运用面向对象技术进行系统软件设计。它将ooa模型直接变成ood模型,并且补充与一些实现有关的部分,如人机界面、数据存储、任务管理等。

47.面向对象的编程(oop)就是用一种面向对象的编程语言将ood模型中的各个成分编成程序。

48.面向对象的测试(oot)是指对于运用oo技术开发的软件,在测试过程中继续运用oo技术进行以对象概念为中心的软件测试。

49.统一建模语言(unified modeling language,uml)是一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言。

50.用例图定义了系统的功能需求,它完全是从系统的外部**系统功能,并不描述系统内部对功能的具体实现。

51.类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。

52.对象图描述了一组对象以及它们之间的关系,表示类的对象实例。

53.状态图表示一个状态机,强调对象行为的事件顺序。

54.时序图表示一组对象之间的动态协作关系,反映对象之间发送消息的时间顺序。

55.协作图表示一组对象之间的动态协作关系,反映收发消息的对象的结构组织。

56.活**反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。

57.组件图描述组件以及它们之间的关系,表示系统的静态实现视图。

58.分布图反映了系统中软件和硬件的物理架构,表示系统运行时的处理节点以及节点中组件的配置。

59.软件体系结构包括一组软件部件、软件部件的外部的可见特性及其相互关系,其中软件外部的可见特性是指软件部件提供的服务、性能、特性、错误处理、共享资源使用等。

60.软件测试是以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。

61.静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。

62.动态测试是指通过运行程序发现错误,一般意义上的测试主要是指动态测试。

63.黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有功能的情况下,通过测试来检测每个功能是否都能正常使用。

64.白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。

65.软件调试则是在软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。

66.测试自动化是通过开发和使用一些工具自动测试软件系统,特别适合于测试中重复而繁琐的活动。

67.软件维护是指在软件运行或维护阶段对软件产品所进行的修改。

68.在软件交付使用后,由于开发时测试得不彻底或不完全,在运行阶段会暴露一些开发时未能测试出来的错误。为了识别和纠正软件错误,改正软件性能上的缺陷,避免实施中的错误使用,应当进行的诊断和改正错误的过程,这就是改正性维护。

69.随着计算机技术的飞速发展和更新换代,软件系统所需的外部环境或数据环境可能会更新和升级,如操作系统或数据库系统的更换等。为了使软件系统适应这种变化,需要对软件进行相应的修改,这种维护活动称为适应性维护。

70.在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。

这种情况下进行的维护活动叫做完善性维护。

软件工程复习大纲

1 软件工程定义,本质特性,出现背景。软件工程是指导计算机软件开发和维护的一门工程学科。软件工程是 把系统的 规范的 可度量的途径应用于软件开发 运行和维护过程,也就是把工程应用于软件 研究中提到的途径。本质特性 1 软件工程关注于大型程序的构造。2 软件工程的中心课题是控制复杂性。3 软件经常变化...

软件工程复习大纲

考试题型。名词解释 填空 简答题 应用题 分析 设计 测试等 重点内容。第1章软件与软件工程的概念。1.了解与软件相关的基本概念,包括软件 程序 数据 文档。2.了解软件危机的表现及发生的原因。3.掌握软件工程的概念。4.软件生命周期由哪三个时期组成,每个时期又可划分为哪些阶段?每个阶段的主要任务是...

软件工程复习大纲

软件工程概论复习大纲。一 选用教材 软件工程导论 张海藩清华大学出版社 第5版 课程负责人 马丽。授课教师 08 软件工程1 3班马丽。二 考试方法。一 考试方法 笔试,闭卷,满分100分。二 考试时间 110分钟。三 试卷结构 一 题型及分数比例。选择题20 填空题 10 判断题 10 简答题20...