首页

论信息系统项目的生命周期

论信息系统项目的生命周期管理

2011年10月29日

摘要:

本文通过作者在某省政府机关公务内网移动办公系统项目中对项目生命周期的管理,结合实际项目论述了软件开发项目中项目生命周期各阶段的划分、主要职能和工作方法,同时论述了迭代开发模型在项目中的应用和项目生命周期中检查点、里程碑、基线的设置及控制。

正文:

2010年3月,我参加了某省政府机关公务内网移动办公系统项目,该项目是由该省省委办公厅信息化主管部门提出,由省委办公厅信息化办公室牵头建设,是该单位年度重点工程,该项目也是我们公司的年度重点项目,项目的主要内容是建设覆盖全省机关公务内网各单位的自动化办公和短信群发系统,该项目包括了系统建设所需的移动办公软件系统的开发和系统运行所必须的相关设备的采购及系统集成两方面工作,公司将此项目分为了软件开发和系统集成两个项目,分别由公司的软件部门和系统集成部门负责,本人有幸承担了其中软件开发部分的项目经理工作。

根据建设方的规划,本项目中开发的移动办公软件产品为全省部署使用,软件需要在省级和11个市级单位分别部署运行,而且省级部署的产品和市级部署的产品功能要求上虽然大部分要求相同,但也存在不少差别,而系统中涉及到的短信群发模块各功能的实现还需要通过当地的电信运营商提供短信发送服务。整个系统涉及到的相关干系人多,除公司相关人员外,不仅包括了省级用户还包括了各市级单位用户,同时还包括提供短信发送服务的电信运营商的相关人员,系统结构复杂。而作为用户单位的年度重点工作,由于用户也认识到系统最终使用的单位多,人员广,而且系统上线后的服务中断对相关单位的工作也会造成重大的影响,因此用户对该产品的易用性、安全性、稳定性和容错性等方面的质量要求非常高,而时间要求也非常紧张,要求在2010年10月底必须验收运行,达到

上线条件。面对功能要求繁多、结构复杂、项目周期虽然长达8个月但仍感觉到工期紧张的我认识到对项目各生命周期的有效管理,是保证项目成功的重要保证。

软件项目生命周期的管理主要涉及到了项目生命周期的阶段划分,开发模型的选择,检查点、里程碑及基线的设置和管理控制及交付物的管理等几个方面的内容,下面我就分别从这几个方面结合本项目,论述一下软件项目生命周期的管理在软件项目中的具体应用。

一、生命周期各阶段的划分及开发模型的选择

信息化项目一般有可行性分析、信息系统规划、系统需求分析、系统设计、系统实现、系统测试、系统实施、系统试运行、运行和维护几个阶段,在本项目中,我对整个项目生命周期各阶段具体划分和工作如下:

1.可行性分析阶段

项目的可行性分析主要包括项目的技术可行性、经济可行性和操作可行性几个方面的分析。对于项目的经济可行性和操作可行性方面,公司的市场人员已经做了大量的分析,认为项目具有可操作性并可以产生良好的经济效益,并且得到了公司的认可,我则主要从技术可行性方面进行分析,部门的主要开发人员均具有多年的开发经验,也有过电子公文系统开发的经验,虽然系统中的短信接口部分部门开发人员均没有相关的经验,但大家都认为通过同运营商相关技术人员进行交流后可以解决,技术风险很低,因此我向公司提交了最终认为可行的《技术可行性报告》,并得到了公司的批准。

2.系统规划及开发模型的选择

由于整个系统结构复杂,涉及到的功能要求多,系统包括了省级应用子系统和市级应用子系统,同时各子系统中又包括了电子公文处理子系统和短信服务子系统。用户对系统的功能需求很多但也都不是很明确,同时还对系统的易用性、安全性、稳定性及容错性这些非功能性需求提出了很高的要求。根据项目的这些特点,我认为本项目的生命周期模型应采用迭代模型比较合适。

迭代开发模型同传统的瀑布式开发模式不同,它认为用户的需求不是一撮而就的,而是贯穿于项目的始终。迭代模式更加强调同用户的持续沟通,一方面,我们通过同用户的不断沟通,加深我们对用户业务领域的理解,从而加深对业务需求的理解,同时,用户也在同我们的沟通中,不断的加深了对软件的了解,更

好的完善自己的需求,从而使开发出的产品更加符合用户的需求。它可以使我们把握用户的真正需求,它可以使我们从错误与偏差中及时纠正过来,这在用户需求不明确,系统结构复杂,开发周期长的项目中也可以最大程度的减少项目的风险。

我根据用户的初步需求确定了开发顺序,认为项目组应首先进行能够满足用户功能需求的省级系统的设计,经用户确认系统功能后再进行用户要求的应用性、安全性等几项非功能需求的设计、然后根据确定的省级系统再进行市级应用系统的设计,最后进行省市系统间信息交换的设计,各阶段均应严格按照需求分析、原形设计、系统开发、系统测试、系统交付的过程进行,以确保每个阶段的产品均能够得到用户的认可。

我根据项目的整体情况编写了《系统规划报告》,在系统规划报告中明确了整个系统的开发顺序及各子系统间的相互关系,并对完成该项目所需的人员和进度计划进行初步安排。

3.需求分析

需求分析是整个软件开发项目中最重要的环节,项目组对用户需求的认知和理解程度决定了最终软件的成败,大多数软件的失败都来自于项目组对用户的把握不准确,在项目中,我要求项目组成员应加强同用户的沟通,站在用户的角度考虑和理解用户的需求,有不清楚的地方必须同用户及时沟通,将问题消灭在项目的初始阶段。《需求规格说明书》是本阶段工作完毕的交付物。

4.系统设计

系统设计方法上我们采用原形设计法,原形设计是将用户的需求以直观的程序界面的方式展现给用户,是软件成果的提前展示,软件原形让用户对最终的系统有一个直观的认识,而不是虚无缥缈的需求描述,用户通过系统的原形可以清楚的了解到系统的主要功能、界面布局、操作流程等各个方面,可以帮助用户更好的认知软件,通过用户对原形的认可或得到用户的改进意见后对系统的完善,保证最终交付的产品是用户满意的产品。

5.系统开发

系统的开发采用项目组成员均熟悉系统开发技术,保证技术的成熟性,同时要求开发人员严格按照公司制定的《技术开发规范》、《程序代码编写规范》进行系统的开发,以保证系统开发的质量。

6.系统测试

软件测试是软件开发过程的重要组成部分,是用来确认所完成的程序的功能或性能是否符合系统的设计要求。系统的测试不仅要包括系统各项功能的测试,还包括系统涉及到的各种非功能要求测试,在此过程中,我要求测试人员认真编写《测试计划》和《测试用例》,并做好详细的《测试记录》。

7.系统试运行、系统验收及维护

系统的试运行、系统验收及维护是整个项目生命周期的结束阶段,在此阶段需要对,通过系统的试运行,发现系统在前期各阶段没有发现的问题并进行完善,同时进行各种验收文档和产品文档的编写。

二、检查点、里程碑、基线的设置

检查点指在规定的时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整,重要的检查点我们将其设置为里程碑,是 完成阶段性工作的标志。基线指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。基线其实是一些重要的里程碑,但相关交付物要通过正式评审并作为后续工作的基准和出发点。

在本项目中,当我进行完项目的WBS分解后,协同项目组成员共同制定了详细的系统开发计划,并根据每个迭代周期内的各个阶段的设定了里程碑,而每一个迭代周期在完成交付评审后则形成产品的一个基线。

三、生命周期的控制管理

项目组主要围绕检查点、里程碑和基线进行管理控制。项目组以每周五下午为检查点,召开项目周例会,查看各项工作的进展情况。至所以选择周五为检查点,是因为项目工作计划安排中,周六、日为休息时间,当项目进度或质量一旦出现偏差而影响到下一阶段的进度计划时,项目组可以利用周末的时间进行弥补和完善,保障整个项目的周期按照计划进行。

而里程碑作为项目阶段性工作的标志,也是我们工作管理的重点,在本项目中,由于里程碑的设置都是按照项目的开发阶段设置的,每一个里程碑的到达都意味这某一个交付物的产生,例如需求说明书的完成,系统原形设计的完成等,每一个里程碑的到达,我们都尽可能邀请用户参加我们对里程碑工作的阶段评审工作,听取用户的建议,保证每一阶段的工作均能得到用户的认可,同时也对用

户提出的意见进行及时反馈和更正。

在本项目中一个基线的形成伴随着项目周期中一个迭代周期的完成,同时也代表着一个产品新版本的诞生。项目基线经过评审后,系统的各种文档及代码便处于受控状态,今后任何对于基线的修改都必须要通过项目组制订的变更控制流程进行严格的变更控制管理。

经过本次项目的管理实施,使我对软件项目生命周期的划分和管理有了更加清楚的认识,对软件项目的生命周期模型有了更加深入的理解,特别是通过迭代开发模型的应用及检查点、里程碑、基线的有效控制,才保证了整个项目的顺利完成,并最终得到了用户的认可。但项目的差别是千变万化的,我们只有认真掌握每一个项目管理知识,熟悉各种管理方式的优缺点,才能在工作中灵活运用,对项目实施有效的管理,并保证项目的成功实施。