软件开发过程与项目管理chapter_001.ppt
《软件开发过程与项目管理chapter_001.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与项目管理chapter_001.ppt(39页珍藏版)》请在冰豆网上搜索。
![软件开发过程与项目管理chapter_001.ppt](https://file1.bdocx.com/fileroot1/2022-10/9/db3d417c-c88c-4faf-a394-dc8298e46c66/db3d417c-c88c-4faf-a394-dc8298e46c661.gif)
软件开发与项目管理杨学瑜高立军编著电子工业出版社电子工业出版社第第2章章软件开发项目管理概述软件开发项目管理概述http:
/内容提要内容提要1.项目及项目管理的概念2.软件开发项目管理的内容3.项目进度管理4.项目质量管理5.项目成本管理6.软件开发项目分组软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.1软件项目管理的概念v2.1.1项目项目v2.1.2项目管理项目管理软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.1.1项目项目v项目是一项有待完成的任务,有特定的环境和背景要求,具有特定的约束条件。
v在一定的组织机构内,利用有限的人力、物力、财力等资源,在规定时间内完成任务。
也就是说,项目是有具体的开始和结束时间的。
v任务要满足一定的数量、质量、功能、性能和技术指标等多方面的要求。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.1.2项目管理项目管理v1、概念v项目管理就是在项目的运作过程中,运用一切知识,技能、工具和技巧完成项目,并满足项目需求和期望的过程。
v2、要素v
(1)对资源的管理v
(2)对需求和目标的管理v(3)对项目组织的管理v(4)对项目环境的管理软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.2软件开发项目管理v2.2.1内容v2.2.3特点软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.2.1内容内容v1、过程管理v2、需求管理v3、对组织的管理v4、变更管理软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.2.2特点特点v1对管理者技术水平要求高v2要求管理者有敏锐的洞察力v3重视文档的管理v4人的因素更突出软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3项目进度管理项目进度管理v2.3.1任务分解(WBS)v2.3.2甘特图设计软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.1任务分解(任务分解(WBS)v编制进度计划的第一步就是任务分解。
这样做的目的不言而喻。
项目对于任务人和团队来说都是一个复杂的,只有将它分解为更多的子项目,才能让项目开发顺利的进行下去。
因为子项目与整个项目相比更小、更易管理、更易操作。
这样做的目的就是使成本估算更准确,时间和资源的分配更合理,责任分工更加明确。
任务分解最后确定了项目所有的任务范围。
它的结果就是任务分解结构软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.1任务分解(任务分解(WBS)某软件项目功能1功能3功能2功能2-子功能1功能2-子功能2功能2-子功能3图2.1软件项目的任务分解软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.1任务分解(任务分解(WBS)v1任务分解的类型v任务分解分为清单类型和图表类型。
图2.1就是任务分解的图表类型。
v下面是图2.1的清单类型1某软件项目功能1.1功能1.21.2.1子功能11.2.2子功能21.2.3子功能3功能1.3软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.1任务分解(任务分解(WBS)v2任务的分解过程v
(1)确认并分解项目的主要组成要素。
确认的标准就是:
这些要素应该用有形的、可证实的结果来描述,目的就是为了易于度量。
v
(2)确定分解标准,按照项目实施管理的方法分解。
项目的不同要素所采用的管理方法不同。
因此在任务分解时要把对任务的管理方法考虑进去。
v(3)确认分解是否详细,分解结果是否可以作为费用和时间估计的标准,明确责任。
分解如果过于粗糙,那么这种分解就达到到任务分解的目的。
v(4)确定项目交付成果,以及交付成果的含衡量标准,以便可以对交付的成果进行度量。
v(5)验证任务分解的正确性。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.1任务分解(任务分解(WBS)v3分解的标准v任务分解的标准一定要统一,如果在一个项目的任务分解中采用两种不同的标准那么这样的任务分解结果的可操作性是不强的,而且是混乱的。
我们可以采用生存周期作为标准;也可以用产品的功能作为标准等等。
比如对某个项目以生存周期为标准进行任务分解,结果可能为:
v
(1)立项v
(2)需求分析v(3)设计v(4)编码v(5)测试v(6)提交产品软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.2甘特图设计甘特图设计v甘特图用水平线段表示任务的基本信息。
在这条线段上可以看到任务开始时间,结束时间,工期的长度以及任务中所应用的资源。
v甘特图的设计是依据任务分解结构。
将每一个单独的任务作为一个线段,规定出开始和结束时间,并为这个任务分配相应资源。
然后后整理出各个任务之间的关系。
v完成开始关系:
即,A任务完成B任务才能开始;v开始开始关系:
即,A、B任务同时开始;v完成完成关系:
即,A、B任务同时结束。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.2甘特图设计甘特图设计图2.2棒状甘特图软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.3.2甘特图设计甘特图设计v图2.2的左侧文字部分就是这个项目的任务分解结构。
右侧对应的就是每一个任务的棒状图。
从棒状图中我们可以看出每个任务的开始和结束时间,工期,以及每个任务所用到的资源。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4软件质量管理软件质量管理v2.4.1错误缺陷管理v2.4.2版本控制管理v2.4.3软件文档管理v2.4.4质量评估标准软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.1错误缺陷管理错误缺陷管理v1对缺陷进行有效的描述v2确定缺陷优先级v3缺陷跟踪软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.2版本控制管理版本控制管理v图2.3代表一个模块S,其中A、B两个部分分别是这个软件要修改的两处代码。
图2.3模块关系软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.2版本控制管理版本控制管理v现在有甲、乙两个开发人员要对模块S进行修改。
假设甲开发人员在10:
15将模块S下载到本地机并对A部分代码进行修改,乙开发人员在此10:
20分将模块S下载到本地机对B部分代码进行修改。
两个在修改完成后将模块S上传至服务器。
这时就会出现问题。
假设甲、乙二人只是覆盖原有的模块S,那么,只有最后上传的那个人,才可以把自己改正过的代码保留下来。
即,如果甲是在11:
10分上传并覆盖了模块S,乙是在11:
15分上传并覆盖了模块S,那么只有B部分被修改过,而甲所修改过的A部分又被乙恢复了“原貌”。
即使是甲、乙不采用覆盖的方式,而是分别为自己的修改过的模块S建立新的版本,那么,以后再有人要使用模块S的时候,到底是用甲的版本呢,还是用乙的版本呢?
无论用谁改过的版本,都有一处代码是存在问题的。
在软件开发过程中还有很多类似的问题,只有通过版本控制管理,才能解决这些问题,使软件开发顺利的进行。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.2版本控制管理版本控制管理v版本控制通过文档控制记录程序各个模块的改动,并为每次改动编上序号。
简单的说就是对每一次改动都做记录,并且升成版本号。
下次无论谁要对模块进行修改,下载的都将是最新的版本。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.3软件文档管理软件文档管理v1软件文档概念v2软件文档的内容v3软件文档的管理软件开发过程与项目管理软件开发过程与项目管理电子工业出版社1软件文档概念软件文档概念v软件文档也称文件,通常指的是一些记录的数据和数据媒体,它具有固定不变的形式,可被人和计算机阅读。
它和计算机程序共同构成了能完成特定功能的计算机软件。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2软件文档的内容软件文档的内容v
(1)可行性研究报告:
说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。
v
(2)项目开发计划:
为软件项目实施方案制定出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
项目开发计划应提供给管理部门,并作为开发阶段评审的参考。
v(3)软件需求说明书:
也称软件规格说明书,其中对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。
它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2软件文档的内容软件文档的内容v(4)概要设计说明书:
该说明书是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。
v(5)详细设计说明书:
着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
v(6)用户手册:
本手册详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2软件文档的内容软件文档的内容v(7)操作手册:
本手册为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
v(8)测试计划:
为做好组装测试和确认测试,需为如何组织测试制定实施计划。
计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
v测试分析报告:
测试工作完成以后,应提交测试计划执行情况的说明。
对测试结果加以分析,并提出测试的结论意见。
v(9)开发进度月报:
该月报系软件人员按月向管理部门提交的项目进展情况报告。
报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2软件文档的内容软件文档的内容v(10)项目开发总结报告:
软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力。
此外还需对开发工作作出评价,总结出经验和教训。
v(11)维护修改建议:
软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响估计作详细的描述,写成维护修改建议,提交审批。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社3软件文档的管理软件文档的管理v
(1)确定要开发哪些类型的文档v
(2)文档的内容是什么v(3)文档达到的质量水平v(4)何时产生何种文档v(5)文档保存、维护的方式软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.4质量评估标准质量评估标准v对于软件产品的质量,要依据标准检查产品及其文档的符合性,软件开发所使用的流程的符合性。
具体我们可以按照以下软件质量的特征对软件进行评价。
v1功能特征:
这里的功能指的是需求中提到的那些功能。
评价时,首先要看功能是否完整、齐全,是否符合需求中所提及的功能。
其次,就是看正确性。
仅仅是有了需求所提及的功能还不够,还要正确的反映这些功能。
v2可靠特征:
“可靠”就是在规定的一段时间和条件下,软件维持其性能水平的能力。
具体的评价指标有可用度、初期故障率、偶然故障率、平均失效前时间、平均失效间隔时间、缺陷密度等。
下面我们对这些指标进行解释。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社2.4.4质量评估标准质量评估标准v3易用特征:
由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。
易用特征主要是针对用户而言。
通常可以分为软件的易理解性、易学习性和易操作性等。
v4效率特征:
与在规定条件下的软件性能水平与所使用资源量之间关系有关的一组属性。
既然是效率特征那么就要与时间有关,另外还和资源有关。
下面我们来介绍效率特征的几个子特征。
v5可维护特征:
与进行指定的修改所需的努力有关的一组属性。
v6可移植特