软件工程期末复习

572 阅读5分钟

软件工程期末复习

最近有几天没更文了,原因是该亖的期末考。因为最近在赶期末,所以把期末的内容也更文吧。

客观题:课后习题+典题例析

范围一

软件开发过程中模型有哪些?
参考文章:www.cnblogs.com/jojop/p/118…

(1)瀑布模型

瀑布模型是将软件生存周期中各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。

(2)增量模型

增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,它对软件过程的考虑是:在整体上按照瀑布模型的流程实施项目开发,以方便对项目的管理;
但在软件的实际开发中,则将软件系统按功能分解为许多增减构件,并以构件为单位逐个地创建与交付,直到全部增量构件创建完成,并都被集成到系统之中交付用户使用。

(3)演化模型

快速原型模型

软件开发过程中,开发初期很难得到一个完整的、准确的需求规格说明,开发者往往对要解决的应用问题模糊不清,以至于形成的需求规格说明常常是不完整的、不准确的,有时甚至是有歧义的。此外,在整个开发过程中,用户可能会产生新的要求,导致需求的变更。为了适应这种需求的不确定性和变化,于是出现了快速原型开发方法。

螺旋模型

对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。

(4)喷泉模型

喷泉模型是专门针对面向对象软件开发方法而提出的。“喷泉”一词用于形象地表达面向对象软件开发过程中的迭代和无缝过渡。

在面向对象方法中,对象既是对现实问题中实体的抽象,也是构造软件系统的基本元素。 因此,建立对象模型在面向对象方法中,既可以用于分析,也可以用于设计,而且分析阶段所获得的对象框架模型可以无缝过渡到设计阶段,以作为软件实现的依据。

喷泉模型的过程方法所考虑的是,基于面向对象方法所带来的便利,对软件的分析、设计 和实现按照迭代的方式交替进行,并通过进化的方式,使软件分阶段逐渐完整、逐步求精。

范围二

什么是软件重用?

软件重用是指在两次或多次不同的软件开发过程中,重复使用相同或相似软件元素的过程。
软件元素包括代码,测试用例,设计文档,设计过程,需求分析文档甚至领域知识。

范围三

什么是模块独立性?什么是耦合性?

独立性

定义: 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它模块的接口是简单的。

度量准则:模块间的耦合和模块间的内聚。

耦合性

定义:是模块之间的互相连接的紧密程度的度量。(模块之间的连接越紧密联系越多,耦合性就越高,而其模块独立性越弱)

模块独立性比较强的模块应是高内聚低耦合的模块。

范围四

如何用判定表描述某个特定的算法?

这位伙伴写的清晰易懂 ,再搜一下例题做做就OK了。 blog.csdn.net/qq_56444564…

范围五

如何计算环形复杂度?

(1)流图中的区域数等于环形复杂度。

(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。

(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

如果是给出流程图,则先找出菱形个数A,再看A在数据流图中变成了几个(如有没有被合并),得到新个数B,B+1 就是环形复杂度。

范围六

如何用边界值设计测试用例?

前储知识:等价类划分法 边界值分析法

其实这个比较简单,但是要注意格式。先用等价类划分法,划出有效等价类和无效等价类,然后再取上点或离点进行测试,设计出测试用例,以表格的形式体现。

例题多多:blog.csdn.net/VEclipses/a…

范围七

会分析并绘制数据流图

将流程图变成数据流图

(1)将矩形、菱形变成圆圈

(2)找出单输入、单输出的结点,将其和上游或者下游结点合并

(3)把有分支的线变成圆圈

(4)画图

没有流程图,根据题目画

www.bilibili.com/video/BV1oL…

范围八

用例图的绘制并书写用例说明

用例图的绘制 www.bilibili.com/video/BV12S…

书写用例说明 blog.csdn.net/Shiny0815/a…

范围九

项目的测试过程以及需要注意的问题

本文仅针对本人所在的学校的期末复习有参考价值