软件设计师考试 | 第五章 软件工程基础知识 | 软件项目管理

(一)软件项目管理涉及的范围

1.人员

类型:

  • 项目管理人员(通常称为项目经理,对项目进行全面的管理,制订项目计划,监控项目进展,控制反馈,组建团队)
  • 高级管理人员(可以是领域专家,负责对业务问题进行定义)
  • 开发人员
  • 客户
  • 最终用户

2.产品

在进行项目计划之前,应首先进行项目定义,定义项目范围,包括:建立产品的目的和范围、可选的解决方案、技术或管理的约束等。

软件范围的定义:

  • 项目环境(要开发的软件如何适应于大型的系统、产品或业务环境)
  • 信息目标(软件要产生哪些客户可见的数据对象作为输出,需要什么数据对象作为输入)
  • 功能和性能(软件要执行什么功能才能将输入数据变换成输出数据,软件需要满足什么特殊的性能要求)

3.过程

软件过程提供了一个项目团队要选择一个适合于待开发软件的过程模型。
选定过程模型后,项目团队可以基于这组过程框架活动来制订一个初步的项目计划。这个计划反映了框架活动中所需完成的工作任务。

4.项目

  • 明确目标及过程
  • 保持动力
  • 跟踪进展
  • 做出明智的决策
  • 进行事后分析

(二)软件项目估算

软件项目估算涉及人、技术、环境等多种因素,需要一些方法和技术来支持项目的估算,常用的估算方法有:

  • 基于已经完成的类似项目进行估算
  • 基于分解技术进行估算
  • 基于经验估算模型的估算

1.成本估算方法

  • 自顶向下估算方法
    参照以前完成的项目所耗费的总成本来推算将要开发的软件的总成本。
    优点:

    • 对系统级工作的重视,估算中不会遗漏集成、配置管理等系统级事务的成本估算
    • 估算工作量小、速度快

    缺点:

    • 往往不清楚低级别上的技术性困难问题,这些困难将使成本上升
  • 自底向上估算方法
    将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。
    优点:

    • 将每一部分的估算工作交给负责该部分工作的人来做,所以估算较为准确

    缺点:

    • 估算往往缺少各项子任务之间相互联系所需要的工作量和软件开发有关的系统级工作量,所以估算往往偏低
  • 差别估算方法
    将待开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并估算每个不同之处对成本的影响,导出待开发项目的总成本。
    优点:

    • 可以提高估算的准确度

    缺点:

    • 不容易明确“差别”的界限
  • 其他估算方法

    • 专家估算法
    • 类推估算法
    • 算式估算法

2.COCOMO估算模型

COCOMO模型是一种精确的、易于使用的成本估算模型。
按详细程度分为:

  • 基本COCOMO模型(通过估算代码行的值,计算开发工作量和开发时间的估算值)
  • 中级COCOMO模型(以基本COCOMO模型为基础,考虑影响软件工作量的因素,通过工作量调节因子修正对工作量的估算)
  • 详细COCOMO模型(除包括中级模型所考虑的因素外,还考虑了在需求分析、软件设计等每一步的成本驱动属性的影响)

3. COCOMOII模型

三个阶段:

  • 应用组装模型
  • 早期设计阶段模型
  • 体系结构阶段模型

4.Putnam估算模型

是一种多态多变量模型,它是假设在软件开发的整个生存周期中工作量有特定的分布。


(三)进度管理

1.进度管理的基本原则

  • 划分
  • 相互依赖性
  • 时间分配
  • 工作量确认
  • 确定责任
  • 明确输出结果
  • 明确里程碑

2.进度安排

为监控软件项目的进度计划和工作的实际进展情况,表示各项任务之间的相互依赖关系,需要采用图示的方法。
在图中明确标明如下内容:

  • 各个任务的计划开始时间和完成时间
  • 各个任务的完成标志
  • 各个任务与参与工作的人数,各个任务与工作量之间的衔接情况
  • 完成各个任务所需的物理资源和数据资源

进度安排常用图形有

  • Gantt图
  • 项目计划评审技术图(PERT图)
Gantt图
PERT图

(四)软件项目的组织

1.组织结构的模式

  • 按项目划分的模式(按项目将开发人员组织成项目组,项目组的成员共同完成该项目的所有开发任务)
  • 按职能划分的模式(将项目参与者组织成相应的专业组,如需求组、开发组等)
  • 矩阵模式(既按组织相应的专业组,又按项目组织项目组,人员既属于某个专业组,又属于某个项目组)

2.程序设计小组的组织方式

  • 主程序员小组(一名主程序员、若干程序员、一名后援工程师、一名资料员)
  • 民主制小组(组内成员地位平等)
  • 层次式小组(一名组长领导若干名高级程序员,每名高级程序员领导若名干程序员)

(五)软件配置管理

1.基线

作用: 使各开发阶段的工作划分更加明确,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。

2.软件配置项

包括:

  • 系统规格说明书
  • 软件项目实施计划
  • 软件需求规格说明书
  • 设计规格说明书
  • 源代码清单
  • 测试计划和过程、测试用例和测试结果记录
  • 操作和安装手册
  • 可执行程序
  • 数据库描述
  • 用户手册
  • 维护文档
  • 软件工程标准
  • 项目开发小结

3.版本控制

软件的每一个版本都是源代码、文档、数据的一个汇集,而且各个版本都可能由不同的变种组成。

4.变更控制

变更必须严格地加以控制和管理,保持修改信息,并把精确、清晰的信息传递到软件工程过程的下一步骤。
配置库分类:

  • 开发库(开发人员使用,信息可频繁修改)
  • 受控库(软件开发周期中某一阶段工作结束时发布的阶段产品)
  • 产品库(开发的软件产品完成系统测试后,作为最终产品存入此库,等待交付用户或现场安装)

(六)风险管理

1.风险识别

风险类型:

  • 产品规模
  • 商业影响
  • 客户特性
  • 过程定义
  • 开发环境
  • 开发技术
  • 人员才干及经验

2.风险预测

风险预测活动:

  • 建立一个尺度或标准,以反映风险发生的可能性
  • 描述风险产生的后果
  • 估算风险对项目和产品的影响
  • 标注风险预测的整体精确度,以免产生误解

评估风险影响:

  • 风险的本质
  • 风险的范围
  • 风险的时间

3.风险评估

对于大多数软件项目来说,成本、进度、性能是三种典型的风险参照水准。
对于成本超支、进度延期、性能降低,有一个表明导致项目终止的水准。

4.风险控制

目的是辅助项目组建立处理风险的策略。
必须考虑的问题:

  • 风险避免(根据历史经验,在风险发生前分析引起风险的原因,然后采取措施,以避免风险的发生)
  • 风险监控(监测团队成员对项目压力的普遍态度、团队的凝聚力、报酬及利益的潜在问题)
  • RMMM计划(将风险管理步骤组织成一个独立的风险缓解、监控和管理计划(RMMM计划))

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,816评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,729评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,300评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,780评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,890评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,084评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,151评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,912评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,355评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,666评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,809评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,504评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,150评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,121评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,628评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,724评论 2 351

推荐阅读更多精彩内容