当前位置: 首页 > news >正文

软考笔记——10.项目管理

进度管理

进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标

具体来说,包括以下过程

(1) 活动定义:确定完成项目各项可交付成果而需要开展的具体活动

(2) 活动排序:识别和记录各项活动之间的先后关系和逻辑关系

(3) 活动资源估算:估算完成各项活动所需要的资源类型和效益

(4) 活动历时估算:估算完成各项活动所需要的具体时间

(5) 进度计划编制:分析活动顺序、活动持续时间、资源要求和进度制约因素制订项目进度计划

(6) 进度控制:根据进度计划开展项目活动,如果发现偏差,则分析原因或进行调整

进行活动资源估算的方法主要有专家判断法、替换方案的确定、公开的估算数据、估算软件和自下而上的估算

(1) 专家判断法。专家判断法通常是由项目管理专家根据以往类似项目经的验和对本项目的判断,经过周密思考,进行合理预测,从而估算出项目资源。

(2) 替换方案的确定。资源估算是为了给项目预算明确空间,为早期的资源筹备提供数据,如果某项活动存在替代方案,或提供的资源有替代支持可能,则需要明确声明。

(3) 公开的估算数据。有些公司会定期地公开一些生产率或人工费率数据,其中包括很多国家和地区的劳动力交易、材料和设备信息

(4) 估算软件。依靠软件的强大功能,可以定义资源可用性、费率,以及不同的资源日历。

(5) 自下而上的估算。把复杂的活动分解为更小的工作,以便于资源估算。将每项工作所需要的资源估算出来,然后汇总即是整个活动所需要的资源数量。

 进度管理模型

COCOMO模型 

COCOMO模型:常见的软件规模估算方法。常用的代码行分析方法作为其中一种度量估计单位,以代码行数估算出每个程序员工作量,累加得软件成本。模型按其详细程度可以分为三级:

(1) 基本COCOMO模型是一个静态单变量模型,它用一个以已估算出来的原代码行数 (LOC) 为自变量的经验画数计算软件开发工作量。

(2) 中间COCOMO模型在基本COCOMO模型的基础上,再用涉及产品、硬件人员、项目等方面的影响因素调整工作量的估算。

(3) 详细COCOMO模型包括中间COCOMO模型的所有特性,将软件系统模型分为系统、子系统和模块3个层次,更进一步考虑了软件工程中每一步骤(如分析、设计)的影响

COCOMOⅡ模型 

COCOMOⅡ模型: COCOMO的升级,也是以软件规模作为成本的主要固素考虑多个成本驱动因子。该方法包括三个阶段性模型,即应用组装模型、早期设计阶段模型和体系结构阶段模型。包含三种不同规模估算选择: 对象点、功能点和代码行

进度安排的常用图形描述方法有 Gantt 图 (甘特图)项目计划评审技术(Program Evaluation& Review Technique,PERT)图

 

关键路径法

关键路径:是项目的最短工期,但却是从开始到结束时间最长的路径。进度网络图中可能有多条关键路径,因为活动会变化,因此关键路径也在不断变化中

关键活动:关键路径上的活动,最早开始时间-最晚开始时间。通常,每个节点的活动会有如下几个时间:
(1) 最早开始时间(ES),某项活动能够开始的最早时间。

(2) 最早结束时间(EF),某项活动能够完成的最早时间。EF=ES+工期

(3) 最迟结束时间(LF)。为了使项目按时完成,某项活动必须完成的最迟时间

(4) 最迟开始时间(LS)。为了使项目按时完成,某项活动必须开始的最迟时间。LS-LF-工期

这几个时间通常作为每个节点的组成部分,如图所示

顺推:最早开始ES=所有前置活动最早完成EF的最大值;最早完成EF=最早开始ES+持续时间

逆推:最晚完成LF=所有后续活动最晚开始LS的最小值;最晚开始LS=最晚完成LS-持续事件
 

总浮动时间:在不延误项目完工时间且不违反进度制约因素的前提下,活动可以从最早开始时间推迟或拖延的时间量,就是该活动的进度灵活性。正常情况下,关键活动的总浮动时间为零

总浮动时间=最迟开始LS-最早开始ES 或 最迟完成LF - 最早完成EF 或 关键路径-非关键路径时长。

自由浮动时间:是指在不延误任何紧后活动的最早开始时间且不违反进度制约因素的前提下,活动可以从最早开始时间推迟或拖延的时间量

自由浮动时间=紧后活动最早开始时间的最小值-本活动的最早完成时间

 

质量管理

 质量是软件产品特性的综合,表示软件产品满足明确(基本需求)或隐含(期望需求)要求的能力。质量管理是指确定质量方针、目标和职责,并通过质量体系中的质量计划、质量控制、质量保证和质量改进来使其实现的所有管理职能的全部活动;

主要包括以下过程:

(1) 质量规划:识别项目及其产品的质量要求和标准,并书面描述项目将如何达到这些要求和标准的过程。

(2) 质量保证:一般是每隔一定时间(例如,每个阶段末)进行的,主要通过系统的质量审计(软件评审)和过程分析来保证项目的质量。

(3)质量控制:实时监控项目的具体结果,以判断它们是否符合相关质量标准,制订有效方案,以消除产生质量问题的原因

信息技术 软件产品评价 质量特性及其使用指南 GB/T 16260-2002

 

 

 McCal质量模型

软件评审

质量两个必要条件:设计的规格说明书符合用户标准,称为设计质量

程序按照设计规格说明书所规定的情况正确执行,称为程序质量

软件容错技术 

软件容错技术:容错就是软件遇到错误的处理能力,实现容错的手段主要是元余,包括下面四种冗余技术:

结构冗余:分为静态、动态、混合冗余三种,当错误发生时对错误进行备份处理

信息冗余:为检错和纠错在数据中加上一段额外的信息,例如校验码原理

时间冗余:遇到错误时重复执行,例如回滚,重复执行还有错,则转入错误处理逻辑。

冗余附加技术:是指为实现结构、信息和时间冗余技术所需的资源和技术,包括程序、指令、数据、存放和调动它们的空间和通道等。在屏蔽硬件错误的容错技术中

【例题】软件质量保证是软件项目控制的重要手段,(  )是软件质量保证的主要活动之一、
A、风险评估        B、软件评审        C、需求分析         D、架构设计
答案: B
解析:软件质量保证是软件质量管理的重要组成部分。软件质量保证主要是从软件产品的过程规范性角度来保证软件的品质。其主要活动包括: 质量审计(包括软件评审))和过程分析

【例题】ISO/IEC软件质量模型中,易使用性是指与使用所需的努力由一组规定或隐含的用户对这样使用所作的个别评价有关的一组属性,其易使用性的子特性不包括(  )
A、易理解性        B、易学性        C、易分析性        D、易操作性
答案:C
解析:纯记忆,也可以从易使用性的特点去分析,应该是软件容易使用、理解、操作等,针对用户层面的,不会涉及到是否易分析设计。

风险管理

风险管理就是要对项目风险进行认真的分析和科学的管理,这样,是能够避开不利条件、少受损失、取得预期的结果并实现项目目标的,能够争取避免风险的发生或尽量减小风险发生后的影响。但是,完全避开或消除风险,或者只享受权益而不承担风险是不可能的

风险管理计划编制:如何安排与实施项目的风险管理,制定下列各步的计划

风险识别:识别出项目中已知和可预测的风险,确定风险的来源、产生的条件、描述风险的特征以及哪些项目可以产生风险,形成一个风险列表。

风险定性分析:  对已经识别的风险进行排序,确定风险可能性与影响、确定风险优先级、确定风险类型

风险定量分析:  进一步了解风险发生的可能性具体由多大,后果具体由多严重。包括灵敏度分析、期望货币价值分析、决策树分析、蒙特卡罗模拟。

风险应对计划编制:对每一个识别出来的风险来分别制定应对措施,这些措施组成的文档称为风险应对计划。包括消极风险(避免策略、转移策略、减轻策略);积极风险(开拓、分享、强大)

风险监控:监控风险计划的执行,检测残余风险,识别新的风险,保证风险计划的执行,并评价这些计划对减少风险的有效性。

项目风险:作用于项目上的不确定的事件或条件,既可能产生威胁,也可能带来机会

  • 通过积极和合理的规划,超过90%的风险都可以进行提前应对和管理
  • 风险应该尽早识别出来,高层次风险应记录在章程里
  • 应由对风险最有控制力的一方承担相应的风险。
  • 承担风险程度与所得回报相匹配原则,承担的风险要有上限

风险的属性

(1) 随机性:风险事件发生及其后果都具有偶然性(双重偶然),遵循一定的统计规律

(2) 相对性:风险是相对项目活动主体而言的。承受力不同,影响不同。风险承受力影响因素:收益大小(收益越大,越愿意承担风险);投入大小(投入越大,承受能力越小);主体的地位和资源级别高的人能承担较大的风险)

(3) 风险的可变性:条件变化,会引起风险变化。包括性质、后果的变化,以
及出现新风险

风险的分类

按照后果的不同,风险可划分为纯粹风险(无任何收益)和投机风险(可能
带来收益)

风险来源划分,自然风险(天灾)和人为风险(人的活动,又可分为行为风险、经济风险、技术风险、政治和组织风险等)

是否可管理划分,可管理(如内部多数风险)和不可管理(如外部政策)也要看主体管理水平

影响范围划分,局部风险(非关键路径活动延误)和总体风险(关键路径活动延误)

后果承担者划分:业主、政府、承包商、投资方、设计单位、监理单位保险公司等。

可预测性划分:已知风险(已知的进度风险)、可预测风险(可能服务器故障)、不可预测风险(地震、洪水、政策变化等)

在信息系统项目中,从宏观上来看,风险可以分为项目风险、技术风险和商业风险

项目风险是指潜在的预算、进度、个人(包括人员和组织)、资源、用户和需求方面的问题,以及它们对项目的影响。项目复杂性、规模和结构的不确定性也构成项目的(估算)风险因素。项目风险威胁到项目计划,一旦项目风险成为现实,可能会拖延项目进度,增加项目的成本

技术风险是指潜在的设计、实现、接口、测试和维护方面的问题,此外,规格说明的多义性、技术上的不确定性、技术陈旧、最新技术 (不成熟)也是风险因素。技术风险威胁到待开发系统的质量和预定的交付时间。如果技术风险成为现实,开发工作可能会变得很困难或根本不可能

商业风险威胁到待开发系统的生存能力,主要有以下5种不同的商业风险:
(1) 市场风险。开发的系统虽然很优秀但不是市场真正所想要的。
(2)策略风险。开发的系统不再符合企业的信息系统战略
(3)销售风险。开发了销售部门不清楚如何推销的系统
(4) 管理风险。由于重点转移或人员变动而失去上级管理部门的支持
(5) 预算风险。开发过程没有得到预算或人员的保证。

【例题】以下关于软件风险的叙述中,不正确的是(  )
A、风险是可能发生的事件
B、如果发生风险,风险的本质、范围和时间可能会影响风险所产生的后果
C、如果风险可以预测,可以避免其发生
D、可以对风险进行控制
答案:C

【例题】以下叙述中,(  )不是一个风险
A.由另一个小组开发的子系统可能推迟交付,导致系统不能按时交付客户
B.客户不清楚想要开发什么样的软件,因此开发小组开发原型帮助其确定需求
C.开发团队可能没有正确理解客户的需求
D.开发团队核心成员可能在系统开发过程中离职
答案:B
 

相关文章:

软考笔记——10.项目管理

进度管理 进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标。 具体来说,包括以下过程: (1) 活动定义&#…...

算法与数据结构(二十四)最优子结构原理和 dp 数组遍历方向

注:此文只在个人总结 labuladong 动态规划框架,仅限于学习交流,版权归原作者所有; 本文是两年前发的 动态规划答疑篇open in new window 的修订版,根据我的不断学习总结以及读者的评论反馈,我给扩展了更多…...

Java Vue Uniapp MES生产执行管理系统

本MES系统是一款B/S结构、通用的生产执行管理系统,功能强大! 系统基于多年离散智造行业的业务经验组建,主要目的是为国内离散制造业的中小企业提供一个专业化、通用性、低成本的MES系统解决方案。 联系作者获取...

深入探究Socks5代理与IP代理在网络安全与爬虫中的应用

1. Socks5代理:打开网络隧道的多功能工具 Socks5代理是一种流行的代理协议,它在传输层为数据包提供了隧道。相较于之前的版本,Socks5不仅支持TCP连接,还可以处理UDP流量,使其在需要实时数据传输的应用中表现出色。在网…...

Vue使用jspdf和html2canvas组件库结合导出PDF文件

效果图: 1、安装依赖: npm install html2canvas --save npm install jspdf --save 或 yarn add html2canvas --save yarn add jspdf --save 2、封装全局调用方法:this.$exportPDF(#id,文件名) 新建js文件:/utils/html2Pdf.js&am…...

7. 实现 API 自动生成

目录 1. pom.xml中引用依赖 2. 引入相关的依赖 3. 编写配置类 4. application.yml 中添加配置 5. API 常用注解 6. 访问 API 列表 7. API 导入 Postman 使用 Springfox Swagger生成 API,并导入 Postman,完成API单元测试。 Swagger 简介:Swag…...

使用Druid解析SQL,获取SQL中所有使用的表

一、sqlParse组成 Druid SQL Parser分三个模块: - Parser - AST - Visitor 1.1 Parser parser是将输入文本转换为ast(抽象语法树),parser有包括两个部分,Parser和Lexer,其中Lexer实现词法分析&#x…...

公司内部测试团队可以替代专业的软件检测机构吗,性能测试怎么收费?

第三方软件测试 尽管软件测试是伴随着软件开发的发展而产生的,但是在信息技术日新月异的今天,软件测试逐渐走出开发附庸的定位。 一方面,很多大型企业都在内部设置了专门的测试团队以承接软件系统的测试工作,为产品质量把关。另…...

Three.js之相机、渲染器、光源、动画、性能监测

参考资料 第一个3D案例—透视投影相机第一个3D案例—渲染器…Canvas画布布局和全屏 知识点 透视投影相机PerspectiveCameraWebGL渲染器WebGLRenderer辅助观察坐标系AxesHelper漫反射网格材质MeshLambertMaterial点光源PointLight点光源辅助观察PointLightHelper环境光Ambien…...

Seaborn图表使用指南!

目录 介绍线图散点图直方图概率密度函数 (PDF)箱线图小提琴剧情配对图热图关节图地毯图 一、介绍 数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。…...

[C++ 网络协议编程] TCP/IP协议

目录 1. TCP/IP协议栈 2. TCP原理 2.1 TCP套接字中的I/O缓冲 2.2 TCP工作原理 2.2.1 三次握手(连接) 2.2.2 与对方主机的数据交换 2.2.3 四次握手(断开与套接字的连接) TCP(Transmission Control Protocol传输控…...

Unity用NPOI创建Exect表,保存数据,和修改删除数据。以及打包后的坑——无法打开新创建的Exect表

先说坑花了一下午才找到解决方法解决, 在Unity编辑模式下点击物体创建对应的表,获取物体名字与在InputText填写的注释数据。然后保存。创建Exect表可以打开,打包PC后,点击物体创建的表,打不开文件破损 解决方法&#…...

记一次fegin调用的媒体类型问题

1.问题:分页查询,分页参数传递不生效 2.开发环境:fegin接口 开发环境:调用接口 3.修改后:fegin接口不变 调用接口 前端媒体类型: 问题解决!!! 4.原因分析&…...

在Hive/Spark上运行执行TPC-DS基准测试 (ORC和TEXT格式)

目前,在Hive/Spark上运行TPC-DS Benchmark主要是通过早期由Hortonworks维护的一个项目:hive-testbench 来完成的。本文我们以该项目为基础介绍一下具体的操作步骤。不过,该项目仅支持生成ORC和TEXT格式的数据,如果需要Parquet格式,请参考此文《在Hive/Spark上执行TPC-DS基…...

如何仿写简易tomcat 实现思路+代码详细讲解

仿写之前,我们要搞清楚都要用到哪些技术 自定义注解,比如Tomcat使用的是Servlet,我们可以定义一个自己的MyServlet构造请求体和返回体,比如tomcat使用HttpRequest,我们可以自己定义myHttpRequestjava去遍历一个指定目…...

如何提高深度学习性能

可用于 对抗过度拟合并获得更好泛化能力的20 个提示、技巧和技术 如何从深度学习模型中获得更好的性能? 这是我最常被问到的问题之一。 可能会被问为: 如何提高准确率? ……或者可以反过来说: 如果我的神经网络表现不佳该怎么办? 我经常回答说:“我不太清楚,但我有很…...

ECMAScript版本对比:从ES1到ES2021

引言 ECMAScript(简称ES)是一种用于编写Web前端JavaScript的标准化语言。自1997年发布第一版(ES1)以来,ECMAScript已经经历了多个版本的更新和演进。每个版本都引入了新的语法和功能,为开发人员提供了更强…...

设计HTML5表格

在网页设计中,表格主要用于显示包含行、列结构的二维数据,如财务表格、调查数据、日历表、时刻表、节目表等。在大多数情况下,这类信息都由列标题或行标题及数据构成。本章将详细介绍表格在网页设计中的应用,包括设计符合标准化的…...

神经网络基础-神经网络补充概念-60-卷积步长

概念 在深度学习中,卷积步长(convolution stride)是指在卷积操作中滑动卷积核的步幅。卷积操作是神经网络中常用的操作之一,用于从输入数据中提取特征。步长决定了卷积核在输入数据上的滑动间隔,从而影响输出特征图的…...

怎么开通Tik Tok海外娱乐公会呢?

TikTok作为全球知名的社交媒体平台,吸引了数亿用户的关注和参与。许多公司和个人渴望通过开通TikTok直播公会进入这一领域,以展示自己的创造力和吸引更多粉丝。然而,成为TikTok直播公会并非易事,需要满足一定的门槛和申请找cmxyci…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...