软件项目管理

2023-11-19

目录

前言

在这里插入图片描述

项目管理概述

软件项目管理是为了让软件项目要能够按照预定的成本、质量、质量顺利完成,而对于人员、产品、过程和项目进行的分析和管理活动

项目与软件项目

项目是为了创造一个唯一的产品火提供一个唯一的服而进行的临时性的努力
项目的特征:目标性 相关性 临时性 独特性 资源约束性 不确定性
软件项目的特殊性:;逻辑实体 渐进明细 变更 相互作用的系统
软件项目要素:软件开发过程 软件开发结果 软件开发赖以生存的资源及软件项目的特定委托人
项目目标实现的制约因素:项目范围 成本 进度计划 客户满意度

项目管理与软件项目管理

项目管理是一系列的伴随着项目的进行而进行的,目的是为了确保项目能够到达期望结果的一系列管理行为
软件项目管理的四个要素:成本 进度 质量 风险
软件项目管理的根本目的是让软件项目尤其事大型项目的生命周期能在管理者的控制之下以预定成本安琪按质的完成软件项目并交付客户使用

项目管理知识体系

在这里插入图片描述
在这里插入图片描述
四个生命周期:启动项目 组织和准备 执行项目工作 完成项目
五个过程:启动 规划 执行 监控 收尾
核心管理过程组:计划 监控 执行
在这里插入图片描述
在这里插入图片描述

过程管理与软件项目管理的关系

过程管理就是对过程进行管理,目的是让过程能够被共享 复用,并得到持续的改进
过程定义:总结->服用
过程改进:优化

软件项目管理过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目初始-项目确立

项目立项

在这里插入图片描述

项目招投标

在这里插入图片描述
乙方项目分析:
在这里插入图片描述
招标的方式有:公开招标 有限招标 多方洽谈 直接谈判

项目授权

确认项目存在的文件,包括对项目的确认、对项目经历的授权和项目目标的概述
项目经理是领导团队实现项目目标的个人

敏捷开发总结

人 迭代 灵活

scrum模型——迭代式增量软件开发过程

scrum基于经验主义,糙用迭代增量式的方法优化可预测试和风险管理
一个迭代就是一个sprint(冲刺)
sprint周期被限制再一个月左右,sprint是scrum的核心
sprint通过确保至少每月一次达成目标的进度进行键是和调整来实现可预见性
sprint由sprint计划会议、每日站立会议、开发工作。sprint评审会议和sprint回顾会议构成

术语

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文档

在这里插入图片描述
在这里插入图片描述

scrum过程

  • 每一次冲刺产生产品订单(目标):按照优先级排列需要完成的工作的概要需求,哪些订单会被加入冲刺又冲刺计划会议决定
  • 每日站立会议
  • sprint评审会议
  • 冲刺回顾会议

XP模型

项目初始——生存期

生存期模型定义

描述了开发的主要阶段
定义了每个阶段药完成的主要过程和火丁
确定了每个阶段的输入和输出

传统生存期模型

瀑布模型
V模型
增量模型
快速原型模型
渐进式模型

敏捷生存期模型

上一节

软件需求——范围计划

需求式指用户对软件的功能和性能的要求

软件需求过程管理

在这里插入图片描述
在这里插入图片描述

需求建模基本方法

  • 原型方法
  • 结构化——数据流图 数据字典 系统流程图
  • 面向对象——用力 顺序 状态 活动
  • 功能列表

任务分解——范围计划

在这里插入图片描述

任务分解的定义

任务分解过程:将一个项目分解为更多的工作细目或者子项目,使项目变得更小,更易于管理,更易于操作
任务分解结果:WBS
在这里插入图片描述
wbs使队项目又粗到细的分解过程,是分级的树形结构
wbs是面向交付成果对项目元素是分组
wbs组织并定义了整个项目范围
wbs是最低层次的可交付成果,是wbs的最小元素
工作包应当由唯一主体负责

wbs的表示有清单形式和图表形式

任务分解的方法

模板参照

使用标准火半标准的wbs作为模板参考使用
在这里插入图片描述

类比

利用项目在某种程度上的相似性
使用类似项目的wbs作为参考
使用项目管理工具提供的一些wbs实例

自顶向下(一般到特殊)

在这里插入图片描述

自底向上(特殊到一般)

在这里插入图片描述

任务分解的步骤

在这里插入图片描述
wbs字典
分解标准:

  • 最底层的要素是否是实现目标的充分必要条件
  • 最底层元素是否有重复
  • 每个要素是否清淅完整定义
  • 最底层要素是否定义清淅的负责人
  • 始狗可以进行成本估算与进度安排

wbs分解建议:

  • 最底层是可控的可管理的,但不必要过细
  • 每个work package必须有一个提交物
  • 定义任务完成的标准
  • 有利于责任分配
  • 推荐任务分解到40h之内

成本计划

成本估算概述

在这里插入图片描述
软件项目规模即工作量(规划 管理 需求 设计 编码 测试 维护)
规模单位:LOC-源代码长度 FP-功能数量 人天 人月 人年

规模是成本的主要因素,是成本估算的基础,有个规模就确定了成本

成本估算方法

代码行估算法

从软件程序量的角度定义项目规模
这种定义方式与编程语言有关,要分解的足够详细,并且要有一定的经验数据

在这里插入图片描述

功能点估算法

FP(功能点)=UFC(未调整功能点计数)*TCF(技术复杂度因子)

UFC:
功能计数项:外部输入EI 外部输出EO 外部查询EQ 外部接口文件EIF 内部逻辑文件ILF
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TCF:
TCF=0.65+0.01*sun(fi)
在这里插入图片描述

用例点估算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类比(自顶向下)估算法

估算人员根据以往的类似项目来推算软件的总成本,是一种自上而下的估算形式

自下而上估算法

在这里插入图片描述

参数估算法

Walston-Felix

在这里插入图片描述

COCOMO

在这里插入图片描述
在这里插入图片描述

专家估算法

在这里插入图片描述

成本预算

项目预算是将项目的总成本按照项目的进度分摊到各个工作单元中去
目的:产生生产成本基线

三种分配项目成本预算的方法:
给任务分配资源成本:根据每个任务资源分配情况来计算这个任务的成本预算
分配固定资源成本:一个项目的资源需要固定数量资金的时候
分配固定成本:任务的成本是固定的

成本基线:每个时间段没的成本,是管理者度量和监控项目的依据

进度计划

按时完成项目是项目经理最大的挑战之一
时间是项目规划中灵活度最小的因素
进度问题是项目冲突的主要原因
在这里插入图片描述

进度管理基本概念

进度是最执行活动和里程碑指定的故作计划日期表

任务定义:WBS分解的结果
任务关系
在这里插入图片描述
网络图:PDM图 ADM图
甘特图
里程碑图
资源图:燃尽图

任务历时估算

估计任务路径项目的持续时间

定额估算法

在这里插入图片描述

经验导出模型

在这里插入图片描述

PERT

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于承诺的进度估计

要求开发成员做出进度承诺
不进行中间工作量估计

有利于开发者对进度关注
有利于提高开发者工作热情
误差较大

Jones的一阶估算准则

在这里插入图片描述

进度计划编排

关键路径法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间压缩法

在不改变项目范围的前提下缩短项目工期的方法

应急法:不改变任务之间的逻辑
在这里插入图片描述
在这里插入图片描述
平行作业法:改变活动之间的逻辑关系,并行开展活动,增加返工并且增加风险

管理预留

加载项目末端的人为任务,不是加载任务间隔上,给项目增加一个储备时间

资源平衡

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

质量计划

软件质量基本概念

把影响软件质量的特性用软件质量模型来描述

Boehm模型
在这里插入图片描述
McCall模型
在这里插入图片描述
ISO/IEC9726模型
在这里插入图片描述

质量管理过程

质量管理对象:过程质量 产品质量
质量管理过程:软件质量计划 软件质量保证 软件质量控制

1.软件质量计划:
确定项目达到的质量标准
决定如何满足质量标准的计划安排和方法

2.质量保证
要点:对项目进行评价 推测是否能达到质量指标 简历项目信心
审计:项目执行过程审计 项目产品审计

3.质量控制
要点:检查工作结果 按照标准跟踪检查 确定错是消灭质量问题
活动:技术评审 代码走查 测试 返工

软件质量计划

质量成本是由于产品的第一次工作不正常而衍生的附加花费
包括:预防成本 缺陷成本
质量形成于产品或服务的开发过程中,而不是时候检查

方法:
试验设计
基准对照
质量成本分析
流程图方法
因果分析图

配置管理计划

软件项目配置管理概念

记录软件产品演化过程
得到精确的产品配置
保证软件的完整性 一致性 追溯性 可控性

配置管理的主要功能:版本管理 变更管理

基线提供了软件生存期中各个开发阶段的一个特定点

软件项目配置管理过程

版本控制是软件开发过程中各个程序代码、配置文件及说明文档等文件变化的管理
在这里插入图片描述

软件项目配置管理计划

配置管理计划大纲:
人员职责
配置项定义
基线定义
版本控制
定义变更控制系统

配置管理三要素:人 规范 工具

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件项目管理 的相关文章

  • C++ 与 Cuda 混合编程的CMakeList 写法 与例子

    前言 一般的情况下 C与Cuda混合编程 可能通过 VS的UI方式 创建工程 但是 这种情况下效率不高 并且不能跨平台 因此 高级的方式 是使用CMakeList的方式 创建工程 Windows情况下 可以CMakeList 成Visual

随机推荐

  • 再见以前说再见 大数据存储复习

    创建一个数据库 数据库在HDFS上的默认存储路径是 user hive warehouse db 创建数据库 create database if not exists school 过滤显示查询的数据库 show databases li
  • JetBrains开发者日见闻(一)之Kotlin/Native 尝鲜篇

    简述 今天我们来讲点Kotlin中比较时髦的东西 有的人可能会说 不像你之前的风格啊 之前的文章不是一直在死扣语法以及语法糖背后秘密 当你还在死扣泛型语法的时候 别人的文章早就说了Kotlin Native和Kotlin1 3的新特性 瞬间
  • Java 中Math类的使用

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 前言 Math类概述 Math类包含执行基本数字运算的方法 下面通过代码来演示 Math类的常用方法 public class Math
  • spring事务,TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

    在aop配置事务控制或注解式控制事务中 try catch 会使事务失效 可在catch中抛出运行时异常throw new RuntimeException e 或者手动回滚TransactionAspectSupport currentT
  • AD20/Altium designer——如何对PCB添加图片丝印、自定义LOGO、专属图案

    本篇介绍如何在PCB添加图案丝印并调节大小 主要步骤 图片转单色图 bmp格式 复制粘贴进word文档 再次复制到AD 1 选择图片用电脑自带的画图软件打开 2 将图片另存为 bmp格式 3 查看图片效果是否理想 图片是否需要取反色 选做
  • 第三方支付API支付宝支付申请流程 支付宝新老版本

    新版本 Maven 引入jar包
  • foreach遍历出来总是取第一个值或最后一个值?怎么取出想要的id对应值

    这个问题还是比较常见的 问题原因 没有合理的取到相对应的id或者没有使id成为唯一性 解决方法 举个例子 建个表单
  • 华为OD机试真题- 任务混部

    题目描述 公司创新实验室正在研究如何最小化资源成本 最大化资源利用率 请你设计算法帮他们解决一个任务混部问题 有taskNum项任务 每个任务有开始时间 startTime 结束时间 endTime 并行度 parallelism 三个属性
  • LeetCode 剑指 Offer II 079. 所有子集

    给定一个整数数组 nums 数组中的元素 互不相同 返回该数组所有可能的子集 幂集 解集 不能 包含重复的子集 你可以按 任意顺序 返回解集 示例 1 输入 nums 1 2 3 输出 1 2 1 2 3 1 3 2 3 1 2 3 1 l
  • libgdx导入blender模型

    具体就是参考 官网 https libgdx com wiki graphics 3d importing blender models in libgdx blender 教程可以看八个案例教程带你从0到1入门blender 已完结 这里
  • 小米盒子打开adb调试模式

    1 先打开开发者模式 进入小米电视设置 gt 进入关于 gt 找到产品型号 gt 在产品型号上面连续多次按ok 确认 键 gt 然后就会提示 您已处于开发者模式 2 开启adb 经过第一步开启开发者模式之后 现在可以返回到设置页面 进入 账
  • stl库

    sort 读入n条学生成绩记录 包括学生姓名 总成绩 语文 数学和英语成绩 要求按总成绩从高到低输出 条记录 每条记录占一行 总成绩相同时按语文成绩从高到低输出 语文成绩相同时按数学成绩从高到低输出 没有两个人的成绩完全一样 include
  • 【JAVA】Abnormal build process termination: -Xmx700m -Djava.awt.headless=true -Djava.endorsed.d如何解决???

    Abnormal build process termination Xmx700m Djava awt headless true Djava endorsed dirs Djdt compiler u 如何解决 在尝试了n中网络上的方法
  • Vue中上传图片

    上传图片的两种方式 1 base64 上传 将图片转换成base64 然后再通过请求将base64上传到服务端 图片转换成base64很简单 直接百度就可以了 一大堆图片转base64的插件 但转换成的base64特别长 一般不建议使用 2
  • onnxruntime cuda版本使用时出现的错误汇总

    1 用qt c 推理 onnxruntime cuda时出现诸如 E onnxruntime barcode provider bridge ort cc 995 onnxruntime ProviderLibrary Get LoadLi
  • 程杰“大话设计模式”中的设计原则

    单一职责原则 SRP 就一个类而言 应该仅有一个引起它变化的原因 如果一个类承担的职责过多 就等于把这些职责耦合在了一起 一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力 这种耦合会导致脆弱的设计 当发生变化时 设计会遭受到意想不到
  • Python爬虫中如何通过post发请求,浏览器控制台抓包教程,有道翻译爬虫程序,通过python伪装翻译(post案例)

    目录 一 浏览器控制台抓包 1 打开方式以及常用选项 2 控制台NetWrok 二 Python爬虫中如何通过post发请求 1 Post请求 2 Python中使用post请求 三 有道翻译爬虫程序 通过python伪装翻译 post案例
  • Eclipse出现A project with this name already exists问题

    问题如图 我是由于删除时并没有删除完全造成的 解决 出现这种情况有可能是由于project命名冲突 但是可能自己并没发现有冲突的命名 有可能是以前命名过 但是没有完全删除以至于发生了冲突 可以在下图中的Navigator中查看是否已有此pr
  • 虚拟机上ubuntu-server的安装(详细完整版)

    一 安装 安装VMware 网上找Ubuntu的iso文件 桌面版的或者服务器版的都可以 Index of ubuntu releases 清华大学开源软件镜像站 Tsinghua Open Source Mirrorhttps mirro
  • 软件项目管理

    目录 前言 项目管理概述 项目与软件项目 项目管理与软件项目管理 项目管理知识体系 过程管理与软件项目管理的关系 软件项目管理过程 项目初始 项目确立 项目立项 项目招投标 项目授权 敏捷开发总结 scrum模型 迭代式增量软件开发过程 术