【中级软件设计师】上午题12-软件工程(3):项目活动图、软件风险、软件评审、软件项目估算

devtools/2024/10/7 23:17:29/

【中级软件设计师】上午题12-软件工程(3)

  • 1 软件项目估算
    • 1.1 COCOMO估算模型
    • 1.2 COCOMOⅡ模型
  • 2 进度管理
  • 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 软件维护工具

软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具。


已完结,但是还需后续补充,星期天补充~软考真是一场酣畅淋漓的记忆考试


http://www.ppmy.cn/devtools/24145.html

相关文章

6-动态路由

前文提到用户可以通过url访问到不属于自己权限的页面,这需要通过动态路由来解决 1.将后端返回的菜单数据存储到Cookie之后,调用状态管理中添加路由方法 //调用store中的setMenu函数this.$store.commit(setMenu,data.data.data)// 动态路由配置this.$sto…

UG NX二次开发(C++)-获取模型中所有的拉伸(Extrude)特征

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、在UG 12中创建几个拉伸特征3、UFun中获取对象类型4、通过NXOpen过渡5.测试结果1、前言 在采用UG NX二次开发时,有时需要在模型中获取特定的对象,比如拉伸特征、关联特征等等。但是通过…

面试过程种遇到的面试题收集

文章目录 讲一讲这个项目是干什么的?需求规格说明书有哪些章节?职工部门层级如何显示在一张SQL表上?需求开发用到了哪些技术?HashMap 底层数据结构说一下?介绍一下红黑树?HashMap是线程不安全的&#xff0c…

uniapp 微信小程序 分享海报的实现

主页面 <template><view class"page"><!-- 自定义导航栏--><Navbar title"我的海报"></Navbar><view class"container"><poster ref"poster" :imageUrl"image" :imageWidth"7…

C++ 点云单木分割(欧氏距离法)

基于欧式距离的单木分割方法相对简单且直观,但存在一些缺点,存在噪声或物体边缘不清晰时会影响分割结果。 一、代码示例 #include <pcl/io/pcd_io.h> #include <pcl/filters/voxel_grid.h> #include <pcl/surface/concave_hull.h> #include <pcl/conso…

QWidget | Qt::WindowType 枚举的取值及意义QFlags 模板类详解

01 与 QWidget 类有关的部分类的继承图 3、QObject 是所有 Qt 对象的基类,QPaintDevie 是所有可绘制对象的基类。 4、QWidget 类是所有用户界面对象的基类,QWidget 及其子类是开发桌面应用的核心,这些类都位于 QtWidgets 模块内,注意:QtWidgets 是模块,QWidget 是类(少一…

数据结构之顺序表的实现(C语言版)

Hello, 大家好&#xff0c;我是一代&#xff0c;今天给大家带来有关顺序表的有关知识 所属专栏&#xff1a;数据结构 创作不易&#xff0c;望得到各位佬们的互三呦 一.前言 1.首先在讲顺序表之前我们先来了解什么是数据结构 数据结构是由“数据”和“结构”两词组合⽽来。 什…

大模型日报2024-04-28

大模型日报 2024-04-28 大模型资讯 苹果推出8款小型AI语言模型&#xff0c;与微软Phi-3竞争 摘要: 苹果公司最新发布了8款小型人工智能语言模型&#xff0c;旨在与微软的Phi-3展开竞争。这标志着AI领域的竞争焦点&#xff0c;正在从打造最大的模型转向开发最小、最高效的工具。…