软件工程复习大纲-整理

  • 格式:docx
  • 大小:9.97 MB
  • 文档页数:37

下载文档原格式

  / 37
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程复习大纲

题型:

选择题

判断题

简答题

应用题(60分)

①数据流图

②用例图

③程序流程+白盒测试

④顺序图

⑤黑盒测试(等价类划分和边界值分析)

⑥计算题(第八章软件度量)

选择,判断,简答:重心会适当往第六章之后压

一.概述(无大题、简答题,主要是选择和判断)1.软件的概念和特点(三个要素)

概念:

软件= 程序+数据+文档

●程序:按事先设计的功能和性能需求执行的指令序列

●数据:是程序能正常操纵信息的数据结构

●文档:与程序开发、维护和使用有关的图文材料

特点(选择或判断)

三个要素:

工具

方法:完成软件工程项目的技术手段(分为结构化方法和面向对象方法)

过程:贯穿软件开发所有环节

2.软件危机和现状(不协调现象软硬件矛盾)

软件危机定义:

在计算机软件的开发和维护过程中所遇到的一系列严重问题。(效率下降,质量下降)现状:

●软件成本日益增加

●软件技术进步落后于需求增长

7个原则:

3.软件工程的定义和发展过程

软件工程定义:

应用系统化的、学科化的、定量的方法,来开发、运行和维护软件,即,将工程应用到软件。

发展过程:

第一软件工程传统的软件工程

第二代软件工程对象工程

第三代软件工程过程工程

第四代软件工程构件工程

软件工程知识体系

二.过程模型(无大题)

1.软件的生命周期、软件过程概念

软件过程:(软件开发中所遵循的路线图)

软件过程可以定义软件生产的一系列活动,这些活动贯穿于软件开发的整个过程。

软件过程模型:(软件生存周期模型、软件开发模型)

软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。

(定义了若干小的框架活动,为完整的软件开发过程建立了基础。

每一个活动由一组软件工程动作组成

每一个动作都包括一系列相互关联的可考核的任务,并产生一个关键的工作产品。

每一个任务完成一个动作定义的一部分工作。)

过程具有的共同活动:

沟通计划建模构建部署

2.常见的几种软件过程模型

重点三个:瀑布模型、增量模型、原型,优点缺点,应用场合,要会举例子

另外两个,螺旋和敏捷

瀑布模型:

特点:

1. 阶段间具有顺序性和依赖性。

2. 推迟实现的观点。

3. 为了保证质量:①每个阶段必须完成规定的文档; ②每个阶段结束前完成文档审查,及早改正错误

优点:

①提供了一个模板,使得分析、设计、编码、测试与维护工作可以在该模板的指导下有序

地展开,避免了软件开发、维护过程中的随意状态。

②对于需求确定、变更相对较少的项目,线性顺序模型仍然是一种可以考虑采取的过程模

型。采用这种模型,曾经成功地进行过许多大型软件工程的开发。

缺点:

①线性过程太理想化,不适应需求经常发生变更的环境

②经常不能接受项目开始阶段自然存在的不确定性

③线性顺序模型每一步的工作都必须以前一阶段的输出为输入,这种特征会导致工作中发

生“阻塞”状态。

适用场景:

系统需求明确、技术成熟、工程管理较严格的场合。

增量过程模型:

特点:

①在前面增量的基础上开发后面的增量

②每个增量的开发可用瀑布或快速原型模型

③迭代的思路

优点:

①增量包概念的引入,以及它不需要提供完整的需求。只要有一个增量包出现,开发

就可以进行。

②在项目的初始阶段不需要投入太多的人力资源。

③增量可以有效地管理技术风险。

缺点:

每个增量必须提供一些系统功能,这使得开发者很难根据客户需求给出大小适合的增量。

原型模型:

适用情况:见上(客户定义……选择。)缺点:

①设计者在质量和原型间有所折中

②客户意识不到一些质量问题

螺旋模型:

适用场景:

内部的大规模软件的开发,不太适合合同软件。

一般只适用于大规模软件的开发

优点:

①支持用户需求的动态变化

②原型可看作形式的可执行的需求规格说明,易于为用户和开发人员共同理解,还可

作为继续开发的基础,并为用户参与所有关键决策提供了方便。

③螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,

这将有助于目标软件的适应能力。

④螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。

缺点:

①如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间;

②使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高。敏捷模型:

三.需求分析(有大题)

1.需求分析的概念和过程

需求分析概念:

确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。

需求分析过程:

2.面向过程结构化分析方法,数据流图(详情见ppt)dfd图,问画二层的话,一定要花多层。把过程写出来。0层开始。

结构化分析模型:

其基本思想是用系统工程的思想和工程化的方法,根据用户至上的原则,自始自终按照结构化、模块化,自顶向下地对系统进行分析与设计。

面向对象分析模型:

由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。

数据流图:

数据流图中的主要图形元素: