中国海洋大学 考研 期末 软件工程复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国海洋大学考研期末软件工程复习
1、“软件危机”是指在计算机软件开发和维护中出现的一系列问题;
2、软件生命周期:软件定义、软件开发、运行维护;软件定义:问题定义、可行性研究、需求分析;
软件开发:总体设计、详细设计、编码和单元测试、综合测试。
运行维护:不再分;
各个阶段基本任务:
1、问题定义:明确要解决的问题是什么。
2、可行性研究:这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题
是否值得去解,是否有可行的解决办法。
3、需求分析:准确的确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标
系统必须具备哪些功能。
这个阶段的一项重要任务,是用正式文档准确记录对目标系统的需求,这份文档通常称为规格说明书。
4、总体设计:必须回答的关键问题是“概括的说,应该怎样实现目标系统?”总体设计又
称为概要设计。
首先,应该设计出实现目标系统的几种可能的方案。
另一个就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块之间的关系。
5、详细设计:关键问题是“应该怎样具体的实现这个系统呢?”这个阶段将详细的设计每
个模块,确定实现模块功能所需要的算法和数据结构。
6、编码和单元测试:写出正确的容易理解、容易维护的程序模块。
选择一种高级语言,将
详细设计的结果翻译成用选定的语言书写的程序,并且自习测试编写出的每一个模块。
7、综合测试:通过各种类型的测试(及相应的调试)使软件达到预定的要求。
最基本的测试:集成测试、验收测试;
8、软件维护:通过各种必要的维护活动是系统持久的满足用户的需要。
通常有四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。
3、软件过程:
1、瀑布模型:线性、顺序性;特点:阶段见具有顺序性和依赖性;推迟实现的观点质量保证的观点瀑布模型是由文档驱动的。
2、快速还原模型:迭代;本质是“快速”。
先快速建立一个能反应用户主要需求的原型系统;试用它。
3、增量模型:分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构建,开发人员一个构件接一个构件地向用户提交产品。
4、螺旋模型:基本思想:使用原型及其他方法来尽量降低风险。
每个阶段增加一个风险分析过程。
5、喷泉模型:迭代
4、耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:
内容耦合,公共耦合,控制耦合,数据耦合
5、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E (P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:模块化的根据
6、白盒测试: 6.1逻辑覆盖
1)语句覆盖:每个语句都执行一次;
2)判定覆盖:每个判定的每种可能的结果都应该执行一次;
3)条件覆盖:不仅每个语句至少执行一次,而且使判定表达式中的每个条
件都取到可能的结果。
4)判定/条件覆盖:满足判定覆盖和条件覆盖;既判定表达式中的每个条
件都取到各种可能的值,而且每个判定表达式都取到各种可能的结果。
5)条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次; 6)点覆盖:等同于语句覆盖; 7)边覆盖:等同于判定覆盖;
8)路径覆盖:程序的每条路径都至少执行一次(如果程序图中有环,则要
求每个环至少经过一次);
6.2控制结构测试 1)基本路径测试 2)条件测试 3)循环测试
@1、简单循环 @2、嵌套循环 @3、串接循环
7、环形复杂度计算方法:
1)流图中的区域树等于环形复杂度;
2)流图G中的环形复杂度等于V(G)=E—N+ 2;E是流图中边的条数,
N是节点数。
3)流图G中的环形复杂度等于V(G)=P+1;P是图中判定结点的数目;
9、黑盒测试: 1、等价划分
2、边界值分析
3、错误推测 10、调试:
定义:调试是在测试发现错误之后排除错误的过程;调试过程(177页)
执行测试用例——>结果——>调试——>被怀疑的原因附加测试测试用例已识别的原因纠正回归测试 11、软件维护:
定义:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
四种维护活动:
改正性维护:诊断和改正错误的过程; 50%—66% 适应性维护:为了和变化了的环境适当地配合而进行的修改软件的活动;17%—21% 完善性维护:满足用户提出的增加新功能或是修改已有功能的要求; 18%—25% 预防性维护:为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件的活动; 4% 12、软件的可维护性
决定软件可维护性的因素: 1、可理解性 2、可测试性 3、可修改性 4、可移植性 5、可重用性 13、面向对象方法具有四个要点:
1、认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简
单的对象以某种方式组合而成。
2、把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。
3、按照子类与父类的关系,把若干对象类组成一个层次结构的系统(也称为类等级)。
4、对象彼此之间仅能通过传递消息互相联系。
14、面向对象的分析方法主要是建立三类模型,即对象模型、动态模型、功能模型。
1、对象模型:描述系统数据结构
2、动态模型:描述系统控制结构
3、功能模型:描述系统功能 15、在一个设计得很好的系统中,模块的作用域是模块的控制域的子集。