软件工程知识点总结_软件工程复习点总结
软件工程知识点总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程复习点总结”。
第二章软件生命周期和过程模型
2.1软件生命周期是什么?分为哪几个阶段?每个阶段干什么?
2.2.1瀑布模型
1、软件生命周期是指软件产品从考虑其概念开始到交付使用,直至最终退役为止的整个过程。软件生命周期可以划分为软件定义、软件开发和运行维护三个时期。
2、软件生命周期各个阶段的任务:
时期阶段任务
软件定义确定待开发的软件系统要做什么
问题定义确定解决什么问题
可行性研究确定“上一个阶段所确定的问题是否有行得通的解决方法”需求分析确定“目标系统必须做什么”这个问题
软件开发具体设计和实现软件
概要设计确定“怎样实现目标系统”
详细设计在概要设计阶段只是以一种比较抽象概括的方式给出解
决问题的办法。在详细设计阶段,需要将解法具体化,确
定“应该怎样具体实现这个系统”
编码和单元测试 在前面阶段的基础上,写出正确的、易理解、易维护的程
序。
综合测试通过各种类型的测试及调试,发现功能、逻辑和实现上可
能存在的缺陷,使软件达到预定的要求。(其中最基本的测试是集成测试和验收测试)
运行和维护根据软件运行中的问题,对其进行各种修改,使系统能持
久地满足用户的需要。
3、瀑布模型
瀑布模型包含了各项软件工程活动,即(概念阶段)制订开发计划、进行需求分析、(开发阶段)软件设计、程序编码、测试、(维护阶段)运行维护。通常情况下,运 行维护活动是一个具有最长生命周期的阶段。
4.原型模型
原型一般是指对某种产品进行模拟的初始版本或原始模型。在使用原型时,可以采取两种不同的策略:废弃策略、追加策略。
5、螺旋模型
基本思想:使用原型及其他方法来降低风险。包含4种活动:制定计划、风险分析、实施工程、客户评价。
6、喷泉模型(迭代模型)
喷泉模型认为软件开发具有的两个固有属性:迭代性、无间隙性。他认为软件开发过程的各个阶段是相互重叠,多次反复的,就像喷泉一样,水喷上去又可以落下来,既可以落在中间,又可以落到底部。
7、增量模型(渐增模型)
主要面向市场开发
第三章 可行性研究
1、可行性研究考虑哪几方面的研究?(4)
a)技术可行性;b)经济可行性;c)操作可行性;d)社会可行性
第四章 需求工程
1、需求工程经过哪4步?P63小结
需求开发过程可以按照需求获取、分析建模、编写规格说明书、需求评审。
2、需求分析阶段要完成的任务就是最终形成一份经开发方和用户认可或达成共识的软件需求规格说明书。
第五章 结构化方法
数据流图 结构图
第六章 面向对象基础
1、类和对象的区别面向对象和面向过程区别
第七章 面向对象分析
时序图 用例模型
第八章 软件设计基础
第九章 结构化设计方法
第十章 面向对象的设计
1、面向对象的设计,各设计原则是什么?及各原则是干什么的?
a)单一职责原则(SRP):单一职责就是要求系统中一个具体设计元素(类)只完成某一
类功能(职责),尽可能避免出现一个“复合”功能的类----在同
一个类中完成多个不同的功能。关键词:提高内聚性
b)开放—封闭原则(OCP):基本思想是:“不用修改原有类就能扩展一个类的行为”。
关键词: 抽象封装多态
c)Liskov替换原则(LSP):子类应当可以替换父类并出现在父类能够出现的任何地方。d)接口隔离原则(ISP):采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口更好。
e)依赖倒置原则(DIP):是指应用系统中的高层模块不应依赖于底层模块,两者都应该依赖于抽象:抽象不应依赖于细节实现,实现细节应该依赖与抽象。
第十一章 用户界面设计
1、用户界面设计原则:
a)置用户于控制之下;b)减少用户的记忆负担;c)保持界面一致
第十二章 软件实现
12.3软件编码规范(要求:会修改代码)
注释一般遵守以下原则:1)注释的缩进要与相应代码一致;2)每行注释用至少一个空行分开;3)对于所有的常量、变量、数据结构声明,在声明时都必须加以注释,说明其含义。
4)头文件、源文件的头部都应进行注释。
命名规范:类名,类型名,方法名大小写混用,首字母大写,分个字母大写枚举类型,常量名,宏名全部大写
指针变量p
全局变量g
静态变量s
第十三章软件测试
1、黑盒测试:又称为功能性测试或行为测试,完全不考虑程序的内部结构和处理过程。
2、白盒测试:又称透明测试,已知产品内部工作过程,通过测试检验产品内部动作是否按
照产品规格说明的规定正常进行。
3、动态测试:指通常意义上的测试,即使用和运行软件。
4、静态测试:指测试不运行的部分,只是静态检查和审核。
5、静态黑盒测试:测试产品说明书属于静态黑盒测试。(产品说明书是书面文档,而不是
可执行程序,因此是静态的。可利用书面文档进行黑盒测试认真查找其中的缺陷)。
6、动态黑盒测试:不深入代码细节测试软件的方法。(它是动态的,因为程序在运行,同
时它是黑盒的。)
7、静态白盒测试:是在不执行软件的条件下有条理地仔细检查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结构化分析。(这是在程序员编码完成后立马完成的,由程序员做的)。
8、动态白盒测试:是指利用查看代码功能和实现方法得到的信息,来确定哪些需要测试、哪些不需要测试、如何展开测试。它也称为结构化检测。(有软件测试员设计和执行)。
9、软件测试的一般过程?各过程测试哪个方面?
单元测试:(白盒测试,一般有程序员实施)
也称模块测试,是针对软件设计的最小单元程序模块进行测试的工作。目的是发现模块内部的软件缺陷,修改这些缺陷使其代码能够正确运行。
集成测试:(只能是黑盒测试)
也称组装测试,它的任务是按照一定的策略对单元测试的模块进行组装,并在组装过程中进行模块接口与系统功功能测试。
确认测试:(Alpha测试和Beta测试)
也称有效性测试,目的是验证软件的有效性,即验证软件的功能和性能及其他
特性是否符合用户要求。
系统测试:主要任务:测试软件系统是否能与硬件协调工作,测试与其他软件协调运行的情况。
第十四章 软件维护
1、软件维护的一般类型?(4类,最重要的是:完善性维护)
软件维护的分类:纠错性维护、适应性维护、完善性维护和预防性维护
第十五章软件项目管理
1、软件配置管理和基线的概念。
软件过程的输出信息可以分为3个主要类别:计算机程序,描述计算机程序的文档,数据。这些项包含了所有在软件过程中产生的信息,总称为软件配置。
基线:是一个软件配置管理的概念,帮助我们在不严重阻碍合理变化的情况下来控制变化。定义:已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变化控制过程的改变。
软件配置管理(SCM):是一套管理软件开发和软件维护以及各种中间软件产品的方法和规则。可被视为应用于整个软件过程的软件质量保证活动。