软考笔记——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…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
