【中级软件设计师】上午题12-软件工程(3)
- 1 软件项目估算
- 1.1 COCOMO估算模型
- 1.2 COCOMOⅡ模型
- 2 进度管理
- 2.1 gantt甘特图
- 2.2 pert图
- 2.3 项目活动图
- 2.3.1 画项目图
- 3 软件配置管理
- 4 软件风险
- 4.1 风险管理
- 4.2 风险识别
- 4.3 风险预测
- 4.4 风险评估
- 4.5 风险控制
- 5 ISO IEC 9126 软件质量模型
- 6 Mc Call 软件质量模型
- 7 软件评审
- 7.1 设计质量的评审内容
- 7.2 程序质量的评审内容
- 8 软件容错技术
- 9 软件维护工具
- 9.1 软件开发工具
- 9.2 软件维护工具
1 软件项目估算
1.1 COCOMO估算模型
1.基本COCOMO模型
静态单变量模型
2.中级COCOMO模型
静态多变量模型
3.详细COCOMO模型
它将软件系统模型分为系统、子系统和模块3个层次
1.2 COCOMOⅡ模型
(1)应用组装模型。对象点
(2)早期设计阶段模型。功能点
(3)体系结构阶段模型。代码行
2 进度管理
2.1 gantt甘特图
Gantt图能清晰地描述每个任务从何时开始,到何时结束,任务的进展情况以及各个任务之间的并行性。
但是它不能清晰地反映出各任务之间的依赖关系,难以确定整个项目的关键所在也不能反映计划中有潜力的部分。
2.2 pert图
最早时刻表示在此时刻之前从该事件出发的任务不可能开始;
最迟时刻表示从该事件出发的任务必须在此时刻之前开始,否则整个工程就不能如期完成。
每个任务还可以有一个松弛时间(Slack Time),最迟时刻-最早时刻为松弛时刻
最早时刻:选max
最迟时刻:选min
关键路径:松弛时刻为0的路径
2.3 项目活动图
做法和pert图类似,但是松弛时刻为0的路径不一定是关键路径
比如:
2.3.1 画项目图
3 软件配置管理
软件配置管理其主要目标包括:变更标识、变更控制、版本控制、确保变更正确的实现、变更报告、
软件配置管理其主要内容包括:版本管理、配置支持、变更支持、过程支持、团队支持、变化报告、审计支持。
上下为两个不同的版本
软件配置管理其主要内容包括:软件配置标识、变更管理、版本控制、系统建立、配置审核、配置状态报告。
配置数据库可以分为以下三类:
1.开发库
2.受控库
3.产品库
4 软件风险
4.1 风险管理
一般认为软件风险包含两个特性:不确定性和损失。
不确定性是指风险可能发生也可能不发生;损失是指如果风险发生,就会产生恶性后果。
项目风险威胁到项目计划。
技术风险威胁到要开发软件的质量及交付时间。
商业风险有主要的以下5个:
1.市场风险
2.策略风险
3.销售风险
4.管理风险
5.预算风险
4.2 风险识别
风险识别试图系统化地指出对项目计划(估算、进度、资源分配等)的威胁。
识别出已知风险和可预测风险后,项目管理者首先要做的是在可能时回避这些风险,在必要时控制这些风险。
识别风险的一种方法是建立风险条目检查表。该检查表可用于风险识别,并且主要用来识别下列几种类型中的一些已知风险和可预测风险。
4.3 风险预测
风险预测又称风险估计,它试图从两个方面评估一个风险:风险发生的可能性或概率;如果风险发生了所产生的后果。
如果风险真的发生,有3个因素可能会影响风险所产生的后果,即风险的本质、范围和时间。
整体的风险显露度(Risk Exposure,RE)可由下面的关系确定:
R
E
=
P
×
C
RE=P×C
RE=P×C
其中,P是风险发生的概率,C是风险发生时带来的项目成本。
4.4 风险评估
一种对风险评估很有用的技术就是定义风险参照水准。
4.5 风险控制
风险控制的目的是辅助项目组建立处理风险的策略。
应对风险的最好办法是主动地避免风险
这种监测活动有3个主要目的:
1.评估所预测的风险是否真的发生了
2.保证正确地实施了各风险的缓解步骤
3.收集能够用于今后风险缝隙的信息。
5 ISO IEC 9126 软件质量模型
由3个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。
其中,各质量特性和质量子特性的含义如下:
(1)功能性(Fumctionality)。与一组功能及其指定的性质的存在有关的一组属性,功能是指满足规定或隐含需求的那些功能。
(2)可靠性(Reliability)。与在规定的一段时间内和规定的条件下软件维持在其性能水平有关的能力。
(3)易使用性(Usability)。与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。
(4)效率(Efciency)。在规定条件下,与软件的性能水平与所用资源量之间的关系有关的软件属性。
(5)可维护性(Maintainability)。与进行规定的修改所需要的努力有关的一组属性。
6 Mc Call 软件质量模型
McCall 软件质量模型从软件产品的运行、修正和转移3个方面确定了 11个质量特性(如图 5-16 所示)。Mc Ca! 也给出了一个三层模型框架,第一层是质量特性,第二层是评价准则,第三层是度量指标。
7 软件评审
7.1 设计质量的评审内容
通常从以下几个方面进行评审:
(1)评价软件的规格说明是否合乎用户的要求
(2)评审可靠性,
(3)评审保密措施实现情况,
(4)评审操作特性实施情况,
(5)评审性能实现情况,
(6)评审软件是否具有可修改性、可扩充性、可互换性和可移植性。
(7)评审软件是否具有可测试性
(8)评审软件是否具有复用性
7.2 程序质量的评审内容
(4)模块结构。
控制流结构、数据流结构、模块结构与功能结构之间的对应关系。
进行正式的技术评审:其唯一的目的是揭露质量问题。在多数情况下,评审能像测试一样有效地揭露软件中的缺陷。
8 软件容错技术
实现容错的主要手段是冗余。冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。由于加入了这些资源,有可能使系统的可靠性得到较大的提高。通常,冗余技术分为4类。
(1)结构冗余。结构冗余是通常采用的冗余技术,按其工作方法可以分为静态、动态和混合几余 3种。
(2)信息冗余。
(3)时间冗余。
(4)冗余附加技术。
在屏蔽硬件错误的容错技术中,冗余附加技术包括:
1.关键程序和数据的几余存储及调用。
2.检测、表决、切换、重构、纠错和复算的实现。在屏蔽软件错误的容错系统中,冗余附加技术的构成包括:
①冗余备份程序的存储及调用。
②实现错误检测和错误恢复的程序。
③实现容错软件所需的固化程序
9 软件维护工具
9.1 软件开发工具
软件开发工具通常有需求分析工具、设计工具、编码与排错工具、测试工具等。
9.2 软件维护工具
软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具。
已完结,但是还需后续补充,星期天补充~软考真是一场酣畅淋漓的记忆考试