软件设计师备考笔记之系统开发与软件工程.docx
- 文档编号:11221227
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:15
- 大小:1.05MB
软件设计师备考笔记之系统开发与软件工程.docx
《软件设计师备考笔记之系统开发与软件工程.docx》由会员分享,可在线阅读,更多相关《软件设计师备考笔记之系统开发与软件工程.docx(15页珍藏版)》请在冰点文库上搜索。
软件设计师备考笔记之系统开发与软件工程
·单元测试测试计划在详细设计阶段生成,集成测试测试计划在概要设计阶段生成,确认测试在项目计划阶段生成
·项目的启动阶段:
项目立项,需求调研,可行性分析、项目的初步计划
·项目的实施阶段:
制定详细的计划、
·软件规模估算FP(功能点)估算法:
功能点=信息处理规模×技术复杂度。
其中技术复杂度=0.65+调节因子。
信息处理规模如下表:
·软件工作量=规模/产能
·工作量估算:
静态:
IBM模型、COCOMO模型(基本(对整个系统进行诂算))、COCOMO模型(中级(分系统、部件两个层次));动态:
普特南模型、COCOMO模型(详细(分系统、子系统、模块三个层次))
·Gannt图:
特点:
使用水平线段表示任务的工作阶段,线段的起点和终点分别对应着任务的开工时间和完成时间,线段的长度表示完成任务所需的时间。
优点:
标明了各任务的计划进度和当前进度,能动态地反映项目进展。
缺点:
难以反映多个任务之间存在的复杂逻辑关系。
·PERT技术(计划评审技术)和CPM(关键路径法):
都安排开发进度,制定软件开发计划的最常用的方法。
它们都采用网络图来描述一个项目的任务网络,也就是从一个项目的开始到结束,把应当完成的任务用图或表的形式表示出来。
·项目的计划与执行:
·EVA分析方法:
项目进度监控方法。
1)对已完成的工作部分,原来预算花费的成本(BCWP)
2)对已完成的工作部分,实际花费的成本(ACWP)
3)原计划到分析日期为止的总成本预算(BCWS)
4)进度偏差(SV)计算公式SV=BCWP-BCWS如果SV=0,说明项目按进度进行;SV<0,说明超前于进度。
5)进度效能指标(SPI)计算公式SPI=BCWP/BCWS如果SPI=1,说明项目按进度表进行;SPI<1,说明落后于进度;SPI>1,说明超前于进度。
6)成本偏差(CV)计算公式CV=BCWP-ACWP如果CV=0,说明项目按预算进行;如果CV<0,说明超出预算;基CV>0,说明低于预算。
7)成本状况指标(CPI)计算公式:
CPI=BCWP/ACWP如果CV=1,说明项目按预算进行;如果CV<1,说明超出预算;若CV>1,说明低于预算。
·配置管理包括:
制定配置管理计划;实施变更管理;实施版本管理;发行管理
·软件质量管理:
·ISO/IEC9216软件质量模型:
于1996年被采纳为我国的国家标准《GB/T16120-1996软件产品评价、质量特性及其使用指南》,其中包括以下六类21个质量特性:
·McCall软件质量模型:
·内聚:
模块功能强度(一个模块内部各个元素彼此结合的紧密程序)的度量。
一个内聚程序高的模块(在理想情况下)应当只做一件事。
一般模块的内聚性分为七种类型。
·耦合:
是模块之间的相对象征立性(互相连接的紧密程序)的度量。
它取决于各个模块之间接口的复杂程序、调用模块的方式及哪些信息通过接口。
一般模块之间可能的连接方式有七种:
·内容耦合:
如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另一模块内部;或者两个模块有一部分程序代码重迭;或者一个模块有多个入口,则两个模块之间就发生了内容耦合。
在内容耦合的情形,被访问模块的任何变更,或者用不同的编译器对它再编译,都会造成程序出错。
这种耦合是模块独立性最弱的耦合。
·公共耦合:
若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。
公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
公共耦合的复杂程度随耦合模块的个数增加而显著增加。
·外部耦合:
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排。
·控制耦合:
如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。
·标记耦合:
如果一组模块通过参数表(数据结构)传递记录信息,就是标记耦合。
事实上,这组模块共享了某一数据结构的子结构,而不是简单变量。
这要求这些模块都必须清楚该记录的结构,并按结构要求对记录进行操作。
·数据耦合:
如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来变换输入、输出信息的,则称这种耦合为数据耦合。
数据耦合是松散的耦合,模块之间的独立性比较强。
·非直接耦合:
如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。
这种耦合的模块独立性最强。
·
·软件测试的原则:
1)应该迟早地,不断地进行软件测试,把软件测试贯穿于开发过程的始终。
2)所有测试都应该能追溯到用户需求。
从用户的角度来看,最严重的错误是导致软件不能满足用户需求的那些错误。
3)应该从小规模的测试开始,并逐步进行大规模测试。
4)应该远在测试之前就制定出测试计划
5)根据pareto原理,80%的错误可能出现在20%的程序模块中,测试成功的关键是怎样找出这20%的模块。
6)应该由独立的第三方从事测试工作。
7)对非法和非预期的输入数据也要像合法的和预期的输入数据一样编写测试用例。
8)检查软件是否做了应该做的事仅是成功的一半,另一半是看软件是否做了不该做的事。
9)在规划测试时不要设想程序中不会查出错误。
10)测试只能证明软件中有错误,不能证明软件中没有错误。
·测试的分类:
从阶段划分:
单元测试、集成测试、确认测试、系统测试。
测试的方法:
1)静态测试(测试的程序不在机器上运行,而是人工检测或计算机辅助静态分析的手段对程序进行检测。
人工检测(人工检测的主要方法有个人复查、抽查和会审三种。
);计算机辅助静态分析。
2)动态测试:
指通过运行程序发现错误。
分为白核测试、黑核测试
·测试计划制定的阶段:
·单元测试:
一般是在编程阶段完成,由程序員对自己编写的模块自行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。
着重从:
模块接口、局部数据结构、重要的执行通路、出错处理、边界条件这几个方面对模块进行测试。
·驱动模块和桩模块:
·集成测试(组装测试):
主要目标是发现模块间的接口和通信问题。
主要发现设计阶段产生的错误,通常采用黑盒测试。
测试计划在概要设计阶段完成。
集成方式:
非增殖式和增殖式
·确认测试:
任务是检查软件的功能、性能和其他特征是否与用户的需求一致。
通常采用黑核测试。
以需求规格说明书为依据,测试计划在需求阶段制定。
首先进行有效性测试以及软件配置审查,然后进行验收测试。
(a测试(用户在开发的环境下测试,也称在授控的环境下测试)与b测试(由多个用户在实际的使用环境中进行测试)当一个软件是作为产品给许多客户使用时需要用这种测试)
·系统测试:
把软件放在实际的硬件和网络环境中进行测试,主要测试软件的非功能需求和质量属性是否得到满足。
系统测试是根据系统方案说明书来设计测试用例。
通常采用黑核测试。
常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。
·黑盒测试:
又称功能测试,主要用于集成测试和确认测试阶段,在系统测试阶段也要用到。
将软件看成不透明的黑盒,不考虑内部算法,只检查软件的功能是否能按软件需求说明书那样正常运行,当软件收到输入的时候是否能得到正确的输出。
·黑盒测试常用测试方法包括:
等价类划分、边界值分析、错误推测法、因果图。
·等价类划分:
将所有可能的输入数据,划分为等价的部分,然后从每个部分中选取少数有代表性的数据作为测试用例。
等价哦度可以分为有效等价类(即合理的、有意义的数据集合)、无效等价类(即不合理、无意义的数据集合)两种。
而在选取测试用例时,应遵从“设计一个新的测试用例时,应尽可能多地覆盖尚未覆盖的有效等价类,但每次应公覆盖一个尚未覆盖的无效等价类”的原则。
·边界值分析:
对等价类划分方法的一个补充,即选取正好等于、刚刚大于或刚刚小于边界值作为测试数据。
·错误推测法:
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。
·因果图:
是根据输入条件与输出条件的因果关系来设计测试用例的,它首先检查输入的各种组合情况,并找出输出结果对输入条件的依赖关系,然后为每种输出条件的组合设计测试用例。
·白盒测试:
对内部流程如何运行进行详细的测试,关注结构。
覆盖率由弱到强如例【a,b,x】
·语句覆盖:
程序当中每一条语句都要被执行一次。
如用例[2,0,4],[2,0,3]
·判定覆盖(分支覆盖):
不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。
如用例[(2,0,4),(2,0,3)],[(1,1,1),(1,1,1)]
·条件覆盖:
是设计若干个测试用例,运行被测试程序,使得程序中每个判断的每个条件(条件是判定的一部分)的可能取值至少执行一次。
·判定-条件覆盖:
同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。
它的含义是,选取足够的测试用例,使用判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。
·条件组合覆盖:
设计足够的测试用例,运行被测试程序,使得每个判断的所有可能的条件取值组合至少执行一次。
·路径覆盖:
覆盖程序中所有可能的路径。
·CMM模型描述和分析了软件过程能力的发展程度,确立了一个软件过程成熟程序的分级标准:
1)初始级(企业最初的级别):
软件过程的特点是无秩序的,有时甚至是混乱的。
2)可重复级:
已经建立了基本的项目管理过程,可用于成本、进度、功能特性进行跟踪。
对类似的应用项目,有章可循并能重复以往所取得的成功。
3)可定义级:
用于管理和工程的软件过程已文档化、标准化,并形成整个软件组织的标准软件过程。
全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
4)管理级:
软件过程和产品质量有详细的度量标准。
软件过程和产品质量得到了定量的认识和控制。
5)优化级:
通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、接续地进行过程改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 设计师 备考 笔记 系统 开发 软件工程
![提示](https://static.bingdoc.com/images/bang_tan.gif)