软件工程复习大纲-整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习大纲
题型:
选择题
判断题
简答题
应用题(60分)
①数据流图
②用例图
③程序流程+白盒测试
④顺序图
⑤黑盒测试(等价类划分和边界值分析)
⑥计算题(第八章软件度量)
选择,判断,简答:重心会适当往第六章之后压
一.概述(无大题、简答题,主要是选择和判断)1.软件的概念和特点(三个要素)
概念:
软件= 程序+数据+文档
●程序:按事先设计的功能和性能需求执行的指令序列
●数据:是程序能正常操纵信息的数据结构
●文档:与程序开发、维护和使用有关的图文材料
特点(选择或判断)
三个要素:
工具
方法:完成软件工程项目的技术手段(分为结构化方法和面向对象方法)
过程:贯穿软件开发所有环节
2.软件危机和现状(不协调现象软硬件矛盾)
软件危机定义:
在计算机软件的开发和维护过程中所遇到的一系列严重问题。(效率下降,质量下降)现状:
●软件成本日益增加
●软件技术进步落后于需求增长
7个原则:
3.软件工程的定义和发展过程
软件工程定义:
应用系统化的、学科化的、定量的方法,来开发、运行和维护软件,即,将工程应用到软件。
发展过程:
第一软件工程传统的软件工程
第二代软件工程对象工程
第三代软件工程过程工程
第四代软件工程构件工程
软件工程知识体系
二.过程模型(无大题)
1.软件的生命周期、软件过程概念
软件过程:(软件开发中所遵循的路线图)
软件过程可以定义软件生产的一系列活动,这些活动贯穿于软件开发的整个过程。
软件过程模型:(软件生存周期模型、软件开发模型)
软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。
(定义了若干小的框架活动,为完整的软件开发过程建立了基础。
每一个活动由一组软件工程动作组成
每一个动作都包括一系列相互关联的可考核的任务,并产生一个关键的工作产品。
每一个任务完成一个动作定义的一部分工作。)
过程具有的共同活动:
沟通计划建模构建部署
2.常见的几种软件过程模型
重点三个:瀑布模型、增量模型、原型,优点缺点,应用场合,要会举例子
另外两个,螺旋和敏捷
瀑布模型:
特点:
1. 阶段间具有顺序性和依赖性。
2. 推迟实现的观点。
3. 为了保证质量:①每个阶段必须完成规定的文档; ②每个阶段结束前完成文档审查,及早改正错误
优点:
①提供了一个模板,使得分析、设计、编码、测试与维护工作可以在该模板的指导下有序
地展开,避免了软件开发、维护过程中的随意状态。
②对于需求确定、变更相对较少的项目,线性顺序模型仍然是一种可以考虑采取的过程模
型。采用这种模型,曾经成功地进行过许多大型软件工程的开发。
缺点:
①线性过程太理想化,不适应需求经常发生变更的环境
②经常不能接受项目开始阶段自然存在的不确定性
③线性顺序模型每一步的工作都必须以前一阶段的输出为输入,这种特征会导致工作中发
生“阻塞”状态。
适用场景:
系统需求明确、技术成熟、工程管理较严格的场合。
增量过程模型:
特点:
①在前面增量的基础上开发后面的增量
②每个增量的开发可用瀑布或快速原型模型
③迭代的思路
优点:
①增量包概念的引入,以及它不需要提供完整的需求。只要有一个增量包出现,开发
就可以进行。
②在项目的初始阶段不需要投入太多的人力资源。
③增量可以有效地管理技术风险。
缺点:
每个增量必须提供一些系统功能,这使得开发者很难根据客户需求给出大小适合的增量。
原型模型:
适用情况:见上(客户定义……选择。)缺点:
①设计者在质量和原型间有所折中
②客户意识不到一些质量问题
③
螺旋模型:
适用场景:
内部的大规模软件的开发,不太适合合同软件。
一般只适用于大规模软件的开发
优点:
①支持用户需求的动态变化
②原型可看作形式的可执行的需求规格说明,易于为用户和开发人员共同理解,还可
作为继续开发的基础,并为用户参与所有关键决策提供了方便。
③螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,
这将有助于目标软件的适应能力。
④螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。
缺点:
①如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间;
②使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高。敏捷模型:
三.需求分析(有大题)
1.需求分析的概念和过程
需求分析概念:
确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。
需求分析过程:
2.面向过程结构化分析方法,数据流图(详情见ppt)dfd图,问画二层的话,一定要花多层。把过程写出来。0层开始。
结构化分析模型:
其基本思想是用系统工程的思想和工程化的方法,根据用户至上的原则,自始自终按照结构化、模块化,自顶向下地对系统进行分析与设计。
面向对象分析模型:
由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。
数据流图:
数据流图中的主要图形元素: