系统架构师(十三)开发管理

加强项目管理可以控制财务成本、提高资源利用率;改进客户关系;缩短开发时间;降低成本;提高利润、生产率、产品质量和可靠性;完善公司内部协调等。

软件系统的文档可以分为用户文档和系统文档两类。

  • 用户文档主要描述系统功能和使用方法,并不关心这些功能是怎样实现的;系统文档描述系统设计、实现和测试等各方面的内容。
  • 用户文档是用户了解系统的第一步,它可以让用户获得对系统的准确的初步印象。用户文档至少应该包括下述5方面的内容:
    1. 功能描述:说明系统能做什么;
    2. 安装文档:说明怎样安装这个系统以及怎样使系统适应特定的硬件配置;
    3. 使用手册:简要说明如何着手使用这个系统;
    4. 参考手册:详尽描述用户可以使用的所有系统设施以及它们的使用方法,并解释系统可能产生的各种出错信息的含义(对参考手册最主要的要求是完整,因此通常使用形式化的描述技术);
    5. 操作员指南(如果需要有系统操作员的话):说明操作员应如何处理使用中出现的各种情况。
  • 系统文档所谓系统文档指从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档。描述系统设计、实现和测试的文档对于理解程序和维护程序来说是非常重要的。

项目范围管理

确定项目边界,其目的是控制项目的全部活动都在需求范围内,以确保项目资源的高效利用。它主要包括 项目启动 、 范围计划编制、范围定义、范围核实和范围变更控制 5 个部分的内容。

  • 项目启动:批准项目启动或者允许项目进入下一个阶段;
  • 范围计划编制:将生产项目产品所需进行的项目工作渐进明细和形成文件的过程;
  • 范围定义:把主要的项目可交付成果分解成更小、更易管理的单元
  • 项目核实:项目干系人(发起人、客户)正式接受项目范围的过程。范围核实需要审查可交付成果和工作结果,以确保它们都已经正确圆满地完成。
  • 范围变更控制:
    • 对造成范围变更的因素施加影响,以确保这些变更得到一致认可;
    • 确定范围变更是否已经发生;
    • 当范围变更发生时对实际变更进行管理。

项目范围是为了达到项目目标,为了交付具有某种特制的产品和服务,项目所规定要做的。在信息系统项目中,产品范围是指信息系统产品或者服务所应该包含的功能,项目范围是指为了能够交付信息系统项目所必须做的工作。产品范围是项目范围的基础,产品的范围定义是信息系统要求的度量,而项目范围的定义是生产项目计划的基础。产品范围描述是项目范围说明书的重要组成部分。

在初步项目范围说明书中已文档化的主要的可交付物、假设和约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。 范围定义的输入包括以下内容:
① 项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书。
② 项目范围管理计划。
③ 组织过程资产。
④ 批准的变更申请。

项目成本管理

是保证在批准预算内完成项目所需要的过程。

项目成本管理包括 资源计划编制 、 成本估算 、 成本预算 、成本控制 4 个主要部分内容。

成本管理过程包括:成本估算、成本预算与成本控制。 其中成本预算的含义是将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。而成本估算是对完成项目活动所需资金进行近似的估算。

系统架构师(十三)开发管理

项目时间管理

时间管理包括确保项目按时完成所需的各个过程。它包括 活动定义 、 活动排序 、活动的资源估算、 活动历时估算、进度计划编制、进度控制

  • 活动定义:对工作分解结构 (Work Breakdown Structure / WBS )中规定的可交付成果或半成品的产生所必须进行的具体活动进行定义,并形成文档。
  • 活动排序:确定各活动之间的依赖关系,并形成文档。
  • 活动的资源估算:
  • 活动历时估算:根据项目范围和资源的相关信息为进度表设定历时输入的过程。
  • 制订进度计划:决定项目活动的开始和结束日期。
  • 进度控制:对整个过程进行控制,保证进度

系统架构师(十三)开发管理

关键路径法:

系统架构师(十三)开发管理

软件配置管理

1、软件产品配置是指一个软件产品在生存周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合。该集合的每一个元素称为该产品配置中的 —个配置项。
2、配置管理是PMBOK、IS09000和CMMI中的重要组成元素,它在产品开发的生命周期中,提供了结构化的、有序化的、产品化的管理方法,是项目管理的基础工作。
3、配置管理是通过技术和行政手段对产品及其开发过程和生命周期进行控制、规范的一系列措施和过程。

配置项是构成产品配置的主要元素:

  • 属于产品组成部分的工作成果:如需求文档、设计文档、源代码和测试用例等;
  • 属于项目管理和机构支撑过程域产生的文档:如工作计划、项目质量报告和项目跟踪报
    告等。
    设备清单、CASE工具操作手册不属于配置项

软件配置管理:SCM 是指在软件系统中件确定和定义构件(源代码、可执行程序、文档等),在整个生命周期中 控制发布和变更,记录和报告构件的状态和变更请求,并定义完整的、正确的系统构件的过程。

  • 配置标识:产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
  • 版本控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。
  • 状态统计:记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。
  • 审计和审查:确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合。
  • 生产: 对产品的生产进行优化管理。它将解决最新发布的产品应由哪些版本的文件和工具来生成的问题。
  • 过程管理:确保软件组织的规程、方针和软件周期得以正确贯彻执行。
  • 小组协作:控制开发统一产品的多个开发人员之间的协作。

配置库:

哈哈

需求变更

需求变更流程:

  1. 问题分析和变更描述
  2. 变更分析和成本计算
  3. 变更实现

通常软件开发机构会采取如下措施:

  • 项目启动阶段的变更预防。
  • 项目实施阶段的需求变更。控制需求变更需要注意以下几点:
    • 需求一定要与投入有联系,如果需求变更的成本由开发方来承担,则项目需求的变更就称为必然了。
    • 需求的变更要经过出资者的认可,使需求的变更有成本的概念。
    • 小的需求变更也要经过正规的需求管理流程。
    • 还要注意沟通的技巧。

需求跟踪

指在软件需求管理的过程中定义需求变更流程,分析需求变更影响,控制变化的版本,维护需求变更记录,跟踪每项需求状态。

  1. 确定需求变更控制过程
  2. 进行需求变更影响分析
  3. 建立需求基准版本和需求控制版本文档,确定需求基准
  4. 维护需求变更的历史记录
  5. 跟踪没想需求的状态。

软件质量管理

软件质量是指反映软件系统或软件产品满足规定或隐含需求的能力的特征和特性全体。
软件质量管理是指对软件开发过程进行的独立的检查活动,由质量保证、质量规划和质量控制三个主要活动构成。
软件质量保证是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,其目的是生产髙质量的软件。
软件评审是软件质量保证的主要活动之一。

软件质量管理包括三个部分:

质量计划——判断哪些质量标准与本项目相关,并决定应如何达到这些质量标准;
质量保证——定期评估项目总体绩效,建立项目能达到相关质量标准的信心;
质量控制——监测项目的总体结果,判断它们是否符合相关质量标准,并找出如何消除不合格绩效的方法。

项目风险管理

风险的概念:关心未来、关心变化、关心选择

  • 风险存在客观性和普遍性
  • 某一具体风险发生的偶然性和大量风险发生的必然性
  • 风险的可变性
  • 风险的多样性和多层次性
  • 基本属性:随机性和相对性

风险分类:

(1)项目风险:

  • 潜在的预算、进度、人员和组织、资源、用户和需求问题
  • 项目复杂性、规模和结构不确定性

(2)技术风险:

  • 潜在的设计、实现、接口、测试和维护方面的问题
  • 规格说明的多义性、技术上的不确定性、技术陈旧、新技术不成熟

(3)商业风险:

  • 市场风险:系统虽然优秀但不是市场想要的
  • 策略风险:系统不再符合其企业的信息系统战略
  • 销售风险:销售部门不清楚如何推销系统
  • 管理风险:由于重点转移或人员调动而失去上级的支持
  • 预算风险:开发过程没有得到预算和人员的保证

风险管理

风险:指“损失或伤害的可能性”,风险可以分为项目风险和技术风险以及商业风险,特点是关心未来、关心变化、关心选择

风险曝光度:计算方法是:风险出现的概率乘以风险可能造成的损失;风险曝光度常用于风险的管控

项目管理工具

项目管理工具用来辅助软件的项目管理活动。通常项目管理活动包括项目的计划、调度、通信、成本估算、资源分配及质量控制等。一个项目管理工具通常把重点放在某一个或某几个特定的管理环节上,而不提供对管理活动包罗万象的支持。

项目管理工具具有以下特征:

  1. 覆盖整个软件生存周期;
  2. 为项目调度提供多种有效手段;
  3. 利用估算模型对软件费用和工作量进行估算;
  4. 支持多个项目和子项目的管理;
  5. 确定关键路径,松弛时间,超前时间和滞后时间;
  6. 对项目组成员和项目任务之间的通信给予辅助;
  7. 自动进行资源平衡;
  8. 跟踪资源的使用;
  9. 生成固定格式的报表和剪裁项目报告。

在实际中,人们总是希望使用自动工具来执行变更控制过程。 挑选工具时可以考虑以下几个方面:
①可以定义变更请求的数据项。
②可以定义变更请求生存期的状态转换图
③可以加强状态转换图,使经授权的用户仅能做出所允许的状态变更。
④记录每一种状态变更的数据,确认做出变更的人员。
⑤可以定义在提交新请求或请求状态被更新后应该自动通知的设计人员。
⑥可以根据需要生成标准的或定制的报告和图表。

通常可以按软件过程活动将软件工具分为软件开发工具、软件维护工具 、软件管理和软件支持工具。

  • 软件开发工具:需求分析工具、设计工具、编码与排错工具。
  • 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
  • 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

软件过程改进

软件过程改进(Software Process Improvement,SPI)用于帮助软件企业对其软件生产过程进行计划、过程诊断、改进方案的制订及实施等工作。目前,使用最多的软件过程改进模型包括 CMM、CMMI、ISO9000 和 ITIL 等系列标准。

(1)CMM(软件能力成熟度模型):在软件开发机构中被广泛用来指导软件过程改进 为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级

  • 初始级:未加定义的随意过程
  • 可重复级:可管理的过程是一个可重复的过程
    • 需求管理:为软件需求建立一个基线,提供给软件工程和管理使用:软件计划、产品和活动与软件需求保持一致。
    • 软件项目计划
    • 软件项目跟踪与监督
    • 软件分包合同管理
    • 软件质量保证
    • 软件配置管理
  • 定义级:文档化的标准
  • 管理级:量化的管理
  • 优化级:持续改善

(2)CMMI(Capability Maturity Model Integration),即能力成熟度模型集成

  • 阶段式表现方法
  • 连续式表现方法
    系统架构师(十三)开发管理

来源:竟未曾年少轻狂

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月1日
下一篇 2022年8月1日

相关推荐