首页 > 其他分享 >系统架构设计师教程 第5章 5.7 软件项目管理 笔记

系统架构设计师教程 第5章 5.7 软件项目管理 笔记

时间:2024-09-17 17:49:29浏览次数:3  
标签:教程 5.7 项目管理 项目 分解 软件 SQA 活动 变更

5.7 软件项目管理 ★★☆☆☆

5.7.1 项目管理概述
软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬 件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等进行预先计划和执行。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员 (People)、 产品 (Product)、 过程 (Process) 和项目 (Project) 进行分析和管理的活动。

5.7.2 软件进度管理

进度是对执行活动和里程碑所制定的工作计划,而进度管理是为了确保项目按期完成所需要的管理过程。
在软件进度管理过程中,一般包括:活动定义、活动排序、活动资源估计、活动历时估计、制定进度计划和进度控制。
1.工作分解结构
工作分解结构 (Work Breakdown Structure,WBS) 如图所示,就是把一个项目,按一定的原则分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目→任务→工作→ 日常活动。工作分解结构以可交付成果为导向,对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。WBS总是处于计划过程的中心,也是制订进度计划、资源需求、 成本预算、风险管理计划和采购计划等的重要基础。

WBS树形结构中最底层的被称为工作包,是最低层次的可交付成果,它应当由唯一主体负责完成。
WBS 常见的分解方式包括:按产品的物理结构分解、按产品或项目的功能分解、按照实施过程分解、按照项目的实施单位分解、按照项目的目标分解、按部分或只能进行分解等。
任务分解的基本要求。
(1)WBS 的工作包是可控和可管理的,不能过于复杂。
(2)任务分解也不能过细, 一般原则W B S 的树形结构不超过6层。
(3)每个工作包要有一个交付成果。
(4)每个任务必须有明确定义的完成标准。
(5)WBS 必须有利于责任分配。
2.任务活动图
活动定义是指确定完成项目的各个交付成果所必须进行的各项具体活动,需要明确每个活动的前驱、持续时间、必须完成日期、里程碑或交付成果。
前驱指的是该活动开始之前必须发生的事件或事件集;
持续时间是指完成该活动的时间长度(一般单位为天或周);
必须完成日期指的是该活动必须完成的具体日期;
里程碑指的是判定该活动完成的一组条件。
每个活动在明确了前驱、必须完成日期等内容后,就确定了活动执行的前后顺序。根据活动顺序就可以得到对应的任务活动图。任务活动图是项目进度管理、项目成本管理等一系列项目管理活动的基础。
在项目管理中,目前通常采用甘特图等方式来展示和管理项目活动。

5.7.3 软件配置管理

软件配置管理 (Software Configuration Management,SCM) 是一种标识、组织和控制修改 的技术。软件配置管理应用于整个软件工程过程。SCM 目标就是为了标识变更、控制变更、确保变更 正确实现并向其他有关人员报告变更。SCM 是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
软件配置管理核心内容包括版本控制和变更控制。
(1)版本控制 (Version Control)。版本控制是指对软件开发过程中各种程序代码、配置文 件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更,记录文件的版本变更;另一个重要功能是并行开发,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
(2)变更控制 (Change Control)。变更控制的目的是对变更进行管理,确保变更有序进行。项目中引起变更的因素有两个: 一是来自外部的变更要求,如客户要求修改工作范围和需求等;二是开发过程内部的变更要求,如为解决测试中发现的一些错误而修改源码甚至设计。

5.7.4 软件质量管理
从管理角度出发,可以将影响软件质量的因素划分为3组:产品运行、产品修改和产品转移。

1.软件质量保证
软件质量保证 (Software Quality Assurance,SQA) 是建立一套有计划,有系统的方法,来 向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。它通过对软件产品和活动进行评审和审计来 验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。
软件质量保证的关注点在于一开始就避免缺陷的产生。质量保证的主要目标是:
(1)事前预防工作,例如,着重于缺陷预防而不是缺陷检查。
(2)尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段。

(3)作用于过程而不是最终产品,因此它有可能会带来广泛的影响与巨大的收益。
(4)贯穿于所有的活动之中,而不是只集中于一点。
软件质量保证的目标是以独立审查的方式,从第三方的角度监控软件开发任务的执行,就软件项目是否正确遵循已制订的计划、标准和规程给开发人员和管理层提供反映产品和过程质量的信息和数据,提高项目透明度,同时辅助软件工程取得高质量的软件产品。
软件质量保证的主要作用是给管理者提供预定义的软件过程的保证,因此 SQA组织要保证如下内容的实现:选定的开发方法被采用、选定的标准和规程得到采用和遵循、进行独立的审查、偏离标准和规程的问题得到及时的反映和处理、项目定义的每个软件任务得到实际的执行。
软件质量保证的主要任务是以下3个方面。
(1)SQA 审计与评审。SQA 审计包括对软件工作产品、软件工具和设备的审计,评价是否符合组织规定的标准。SQA评审的主要任务是保证软件工作组的活动与预定的软件过程一致,确保软件过程在软件产品的生产中得到遵循。
(2)SQA报告。SQA人员应记录工作的结果,并写入到报告,发布给相关的人员。SQA报告的发布应遵循三条原则:SQA和高级管理者之间应有直接沟通的渠道;SQA报告必须发布给软件工程组,但不必发布给项目管理人员;在可能的情况下向关心软件质量的人发布SQA报告。
(3)处理不符合问题。这是 SQA 的一个重要的任务, SQA人员要对工作过程中发现的问 题进行处理及时向有关人员及高级管理者反映。
2.软件质量认证
质量认证用来检验整个企业的质量水平,注重软件企业的整体资质,全面考察软件企业的整体质量体系,检验该企业是否具有设计、开发和生产符合质量要求的软件的能力。
目前国内软件企业主要采用的是 ISO 9000 和能力成熟度模型 (Capability Maturity Model,CMM)。
1)ISO 9000
ISO 9000不是指一个 标准,而是一组标准的统称。
软件企业经常采用的是 ISO 9001:1994 《品质体系设计、开发、生产、安装的品质保证模式》。
ISO 9001 包括设计、开发、生产、安装和服务等活动的质量保障模式,该标准规定了质量 体系的20个方面的质量要求,覆盖了全部设计和开发活动。
2)CMM

5.7.5 软件风险管理
软件项目风险管理是软件项目管理的重要内容。在进行软件项目风险管理时,要辨识风险,评估它们出现的概率及产生的影响,然后建立一个规划来管理风险。风险管理的主要目标是预防风险。软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。
主要分为:风险分析(辨别、分析、评估)、风险控制(计划、控制、监督)

标签:教程,5.7,项目管理,项目,分解,软件,SQA,活动,变更
From: https://blog.csdn.net/z2014z/article/details/142285616

相关文章

  • unity人工智能游戏、源码、教程(中秋特别版),完全免费和开源
    任何人不要和我说话,我不想跟任何人说话,因为我对现实世界的人类不感兴趣。谁跟我说话,我都不会理睬的。(一)游戏简介三维虚拟世界的人工智能对话。完全免费、完全开源、完整详细、通俗易懂。我把游戏、游戏源码、教程(三合一)放到了夸克网盘:链接:https://pan.quark.cn/s/65e22d51c1b......
  • git(一)——基本概念+使用教程+基本命令+以及和gitee关联
    首先来了解一下gitGit是一种分布式版本控制系统,用于跟踪和管理代码的变化。它由林纳斯·托瓦兹(LinusTorvalds)于2005年为了管理Linux内核的开发而开发。Git因其高效、灵活和易于学习的特点,迅速成为软件开发中最受欢迎的版本控制系统之一.Git的主要特点:1. **分布式**: ......
  • Origin Pro2024保姆级安装教程(附安装包)
    软件介绍OriginPro是一款功能强大的数据分析和制图软件,广泛应用于科学研究、工程分析、商业统计、生物医学等领域。支持多种数据格式,包括Excel、CSV、文本文件等,方便数据的导入和导出。同时提供数据清洗、转换、统计分析等功能,帮助用户提高数据质量,进行更深入的分析。具有较强......
  • 蓝易云服务器 - Ubuntu安装conda教程
    在Ubuntu系统中安装Anaconda的教程如下:下载Anaconda:前往Anaconda官网(https://www.anaconda.com/products/individual)下载适用于Linux的Anaconda安装包。打开终端:按下 Ctrl+Alt+T组合键可打开终端。切换到下载目录:使用 cd命令切换到下载Anaconda安装包的目录。给安装包添加执......
  • springboot+vue智能家居项目管理系统【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着物联网、云计算、大数据等技术的飞速发展,智能家居行业正经历着前所未有的变革与增长。智能家居产品以其便捷性、智能化和高效能的特点,逐渐渗透到人们的日常生活中,成为现代家庭追求高品质生活的重要标志。然而,智能家居项目的实施涉......
  • WGCAT使用教程 - 如何导出工单记录
    可以导出的WGCAT工单管理系统,支持将工单数据导出为PDF文件,如下图......
  • STM32入门教程:智能电机控制
    智能电机控制是STM32入门教程中的重要内容之一。本教程将以详细的代码案例来介绍如何使用STM32来控制智能电机。在开始之前,我们需要了解一些基本概念。智能电机通常由电机与控制器组成,控制器使用STM32等微控制器来实现对电机的控制。电机控制的最常见方式是使用PWM(脉宽调制)信......
  • STM32入门教程:身份证识别
    身份证识别是一种常见的图像处理应用,能够通过识别身份证上的文字信息,以获取身份证号码、姓名等重要个人信息。在本教程中,我们将使用STM32微控制器和相关的图像处理算法,来实现身份证识别功能。硬件准备首先,我们需要准备一块STM32开发板,以及相应的图像传感器。你可以选择使用......
  • STM32入门教程:LCD触摸屏控制
    STM32是一款广泛应用于嵌入式系统开发的微控制器系列,拥有强大的处理能力和丰富的外设接口。LCD触摸屏是一种通过触摸来控制显示内容的交互设备,常用于嵌入式系统中的人机交互界面。本教程将详细介绍如何使用STM32控制LCD触摸屏。一、硬件准备首先,我们需要准备以下硬件设备:STM......
  • yolov5障碍物识别-雪糕筒识别(代码+教程)
    简介这是一个检测交通锥并识别颜色的项目。我使用yolov5来训练和检测视锥细胞。此外,我使用k均值来确定主色,以对锥体颜色进行分类。目前,支持的颜色为红色、黄色、绿色和蓝色。其他颜色被归类为未知。数据集和注释我使用了一个自收集的锥体数据集,其中包含303张锥体......