第七章软件项目资源管理

一、学习目的与要求

  1. 资源管理也是项目管理的一个重要组成部分
  2. 掌握软件开发人员的组织与分工的原则和主要方法
  3. 熟悉目前留下的软件资源管理工具及软件复用的主要方法

二、学习内容

1. 人力资源管理(重点)

  1. 人力资源管理是软件项目管理中至关重要的组成部分
1. 人力资源管理概念:有效的发挥每个项目干系人作用的过程;
  1. 软件项目中的人力资源:资助者、客户、项目组成员、支持人员及供应商;
  2. 任务:分析人力资源需求、规划人力资源配备状况;获取人力资源信息、招聘员工、确定劳资关系;培训员工、任用员工;评估员工业绩,依据人力资源评价体系奖惩员工。
2. 人力资源分析与策划
1. 人员——进度权衡定律

E(人年单位工作量)=S(LOC ) 3 /(C(技术因子 ) 3 ×t(耗费时间 ) 4 ) E (人年单位工作量)=S(LOC)^3/(C(技术因子)^3times t(耗费时间)^4)E()=SLOC3/(C()3×t4)

2. Brooks定律

当开发人员以算数级数增长时,人员之间的通信将以几何级数增长,从而可能导致“得不偿失”的结果

3. Norden-Rayleigh曲线
  1. 开始阶段人力过剩,造成浪费;
  2. 到开发后期需要人力时,又显得人手不足;
  3. 以后再来补偿,已为时过晚。
4. 人力资源计划的平衡:确保整个项目期人员的波动不要太大;
3. 人力资源获取:是项目团队的组件关键
1. 良好的交流沟通能力
2. 良好的文档能力
3. 解决冲突的能力和项目实验经验
4. 团队组织和分工(理解)
1. 软件团队的角色
  1. 项目经理:对内负责项目组建团队、跟踪项目进度、协调人员配合、分配项目资金使用及相关后勤工作;对外负责与客户、监理方协调,负责起草和签署商务合同、技术合同,负责制作项目建议书和项目建设实施方案,与客户方、监理方协调落实项目的验收,通 项目进度,协商解决项目遇到的问题。
  2. 分项目经理:负责项目的需求、设计、实施、测试、培训和维护升级;
  3. 系统分析员:全面对该项目的质量和进度负责,是项目的主要组织者和领导者;
  4. 系统架构师:参加系统分析和用户需求调查,负责确定整体项目的架构;
  5. 数据库管理员:负责项目数据库设计、建模、初始化和维护,及时发布数据库变更信息;
  6. 程序员:根据设计要求完成项目代码编写、实现软件功能;
  7. 配置管理员:保管 项目每一个阶段的文档;
  8. 系统测试员:收集测试用例,做好测试记录和测试 告;
2. 开发人员的组织
  1. 水平团队方案:由各方面的专家组成,每个成员充当一到两个角色;
  2. 垂直团队方案:由多面手组成,每个成员都充当多重角色;
  3. 混合型团队方案:既包括多面手,又包括专家
5. 团队建设(应用)
  1. 目的:保证项目组成员项一个集体一样工作,实现项目目标;
  2. 为保证团队有效的建议:
    (1)对团队成员要有耐心、友好,认为他们都是最好的;
    (2)解决问题而不是责备人;
    (3)召开经常性的、有效的会议;
    (4)把每个工作组的人数限制在3-7人;
    (5)计划一些 会性的活动来帮助项目组成员和其他项目干系人项目了解;
    (6)强调团队的统一性;
    (7)教育培养项目组成员,鼓励他们互相帮助;
    (8)认可个人和团队的绩效。
1. 建立沟通机制
  1. 会议沟通
  2. 文件沟通
  3. 电子邮件
  4. 电话
2. 培训与学习型组织氛围:是项目成功的另一个标志
6. 人力资源评估
  1. 绩效管理:对项目以及项目成员评价的手段,也是项目成员晋升的关键依据;
  2. 绩效考核:评价项目成员绩效的手段,是项目成员晋升的重要参考;

2. 软件资源管理(次重点)

1. 软件资源基本概念(识记)

可复用资源:可以尽可能重复使用以前开发活动中曾经积累或使用过的软件资源,包括源代码、软件开发方法、需求规格说明、设计结果、开发工具、支撑环境、测试分析数据和维护信息;

2. 软件资源的复用方式(识记)
  1. 源代码复用:低级别复用
  2. 目标代码复用:用得最多的复用
  3. 设计结果复用:有助于把一个应用系统移植到不同的软硬件平台上
  4. 分析结果复用:高级别软件复用
  5. 类模块复用:
    1. 表现:独立性强、高度可塑性、接口清晰、简明
    2. 方式:实例复用、继承复用、多态复用
3. 软件复用的粒度
  1. 小粒度复用:源代码复用和目标代码复用;
  2. 中粒度复用:软件设计结果的复用;
  3. 大粒度复用:应用于系统的复用;
4. 可复用软件资源的管理
1. 构件资源分类:由对象、功能、算法、构件类型、语言、环境描述
  1. 根据标准分类:跨平台、跨语言使用的标准构件和某种特定环境中使用的专业构件;
  2. 根据使用范围分类:通用构件和领域专业构件;
  3. 根据构件适用操作系统类型:Windows、UNIX/Linux;
  4. 根据构件适用的计算机应用领域:数据库、 络、多媒体和人工智能等领域的构件;
  5. 根据构件服务的业务领域:工商、银行和电信等各个业务领域的构件;
  6. 根据构件的功能分类:数据库领域中的数据查询构件、 表构件等;
  7. 根据构件粒度的大小:大中小;
2. 构件的检索
  1. 步骤:
    (1)系统分析员对需求进行综合分析,得到理解后的需求,压缩问题空间;
    (2)以形式化的语言表达需求,并构造查询条件;
    (3)针对可复用的构件库,按照某种分类方法将构件按照标准划分为构件类,对构件类的编码进行描述并建立索引;
    (4)通过构件匹配算法将需求表达与构件库中的编码描述进行比较,从而查找出精确匹配或模糊匹配构件
5. CASE工具及其管理
1. CASE工具概念
  1. CASE是除了操作系统之外的所有软件工具总称,是计算机辅助软件工程;
  2. 分类:
    (1)辅助设计工具:分析和设计工具、原型工具、接口和开发工具、编程和测试工具;
    (2)辅助计算工具:风险分析、测试分析和项目计划工具;
    (3)辅助管理工具:项目管理、需求跟踪、文档管理、质量管理和配置管理工具;
  3. 集成方式分类:
    (1)单独运行方式;
    (2)工具与工具之间直接连通;
    (3)通过集成式项目支持环境连通。
2. CASE工具产品
工具类 产品列表
表工具 QRHTMLExport filter、Report builder enterprise
界面工具 Layout controlls、Venus、Toolbar
数据库工具 PowerBuilder、EmsMysqlLmanager、Erwin、Quickdesk、Develop
分析和设计工具 Powerdesigner Playcase、Rational Rose、Object maker SQA
配置管理工具 Rational clearcase
测试工具 SQA、Safepro/c,TestBytes
安装工具 Install Shield、Install express
3. CASE工具的选用
  1. 性能指标:
    (1)可靠性,能长时间完成规定性能,而极少出现死机现象;
    (2)可用性,易安装,易学,用户界面通用性;
    (3)高效能,优化内存需求,存储器需求等;
    (4)可维护性;
    (5)可移植性。
  2. 原则:
    (1)掌握CASE工具间的接口和信息关系;
    (2)注重商业化程度高的CASE工具;
    (3)较少地涉及软件实现工具。
  3. 内容:
    (1)软件开发组织的背景;
    (2)软件系统规模;
    (3)软件系统类型;
    (4)人员素质。

3. 硬件资源管理

1. 硬件资源管理概念
  1. 概念:指硬件设备运行全过程的管理
  2. 硬件资源:
    (1)宿主机:软件开发阶段所使用的计算机和外围设备;
    (2)目标机:运行软件产品的计算机和外围设备;
    (3)其他硬件设备:专用软件开发时所需要的特殊硬件资源。
2. 硬件设备的经济管理:固定资产的管理
  1. 硬件设备的计价:原始价值、重置完全价值和折余价值;
  2. 硬件设备的折旧:考虑有形和无形损耗因素。
3. 硬件设备的设计管理:硬件设备的选择、维护及更新
1. 设备的选择:
  1. 要求有:高效性、可靠性、维修性、成套性、适应性、安全性
2. 设备的维护与修理
  1. 设备的维护:指对设备进行日常的清扫、检查、润滑、坚固以及调整等工作,目的防止设备劣化、维持设备性能;
  2. 设备的修理:
    (1)事后修理:在设备由于磨损不能继续使用时进行修理;
    (2)预防性计划维修:在设备已有磨损,但尚未发生故障时根据设备日常检查、定期检查得到的设备技术状态信息。
3. 设备的改造与更新
  1. 设备改造:指应用现代科学技术成果,改变原有设备的结构,或增添新部件、新装置,使原有设备的技术性能和使用指标得到改善;
  2. 设备更新:企业对设备有形模型和无形磨损的完全补偿,是对在技术上或经济上不宜继续使用的设备,用新设备更新替换;

三、小结

  1. 软件项目人力资源管理的主要内容在于人力资源规划和分析;
  2. 讨论软件开发人员的组织与分工原则和主要方法;
  3. 举例说明平衡人力计划的方法;
  4. 分析了如何构件一个软件开发团队;
  5. 软件项目软件资源的管理包括可复用软件资源的管理和软件开发工具的管理;
  6. 介绍了目前流行的软件资源管理工具以及软件复用的主要方法;
  7. 软件项目硬件资源包括宿主机、目标机和其他硬件设备。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐