摘要:本文通过对软件开发过程的各个阶段中存在的问题以及解决方法进行研究,希望能够从软件开发过程的角度解决一些问题。
关键字:软件项目管理 需求分析 系统设计
1.项目前期以及项目准备
在进行任何一项较大的项目时,首先要进行项目的可行性分析和研究,因为这些项目中的问题并不都有明显的解决办法,这样就很难在预定的时间、费用之内解决这些问题,如果这些问题没有可以行得通的解决办法,贸然开始这些项目,就可能导致项目的失败,造成巨大的损失。
1.1可行性分析
软件项目可行性研究的目的是用最小的代价和时间,确定该项目是否能够开发值得开发,其实质是要进行一次简化的、抽象的需求分析和设计过程,主要应从以下几个方面进行分析。
1.1.1技术可行性
对要开发项目的功能,性能和限制条件进行分析,确定在现有的资源条件下技术风险有多大,项目是否能够实现,现有的资源包括硬件、软件资源,现有的技术人员和技术水平,已经有的工作基础等,判断技术上是否可行,主要需要考虑以下几个问题:
(1)开发的风险 即在给定条件下 能否实现目标的功能和性能;
(2)资源的有效性;
(3)技术的发展性;
由于需求未经过详细的调研,存在模糊性和可能的变化,开发人员进行技术可行性评估时,存在比较大的风险,一旦出现估计的错误,将可能导致灾难性的后果。
1.1.2经济可行性
进行软件开发项目的成本估算以及了解取得的效益估算,确定该项目是否值得开发,对于大多数项目,衡量经济可行性,应考虑一个“底线”,同时应考虑公司的长期经营策略,潜在市场前景等因素。
1.1.3社会可行性
应考虑项目是否存在任何侵权、责任等问题,考虑在现有的制度、法规下是否行得通,包括合同、责任、法律等多种因素。
1.2需求调研
在项目前期工作中,需求调研是其中最重要的一个环节,今后的许多工作都依赖于需求调研的结果,需求调研的过程是渐进的,在可行性分析阶段,主要关注的是项目规模、范围和重点的功能,在项目进入正是开发流程以后,我们需要更加全面、准确地了解系统的需求不重视需求过程的项目队伍将自食其果,需求工程中的缺陷将给项目成功带来极大风险。如:无足够用户参与导致产品无法被接受;用户需求的增加带来过度的耗费和降低产品的质量;模棱两可的需求说明可能导致时间的浪费和返工;用户增加一些不必要的特性和开发人员画蛇添足;过分简略的需求说明以致遗漏某些关键需求;忽略某类用户的需求将导致众多客户的不满;不完善的需求说明使得项目计划和跟踪无法准确进行。
1.3项目团队的组织
建立项目团队是项目开发过程的开始,一切工作都是由项目团队的成员完成的在整个项目的运行过程中,需要很多不同的角色参与到项目中,完成不同阶段的任务。所以在建立项目团队的过程中要把握好人员角色的划分、特别人员管理与激励、监督等。整个人员的管理是项目管理的关键,因为人是活的,而项目是死的,只要人员管理妥当,项目开发一般是不会出什么问题的。
1.4项目开发计划
软件项目的特征之一就是需求的不确定性和开发过程中存在的技术风险,按照通常的方法,制定一个项目的计划应该是先根据项目的需求,进行详细的任务分解找出实现的方法,估计出项目的工作量,再根据项目资源的状况,制定出项目的计划。
但是,再现实的工作中,项目的时间表往往是事先确定的,给开发留出的时间也是事先定好的。而我们能够利用的资源,主要是开发的人力资源,也被事先基本确定了,在被确定的这 2个前提条件下,我们如何根据项目的需求,合理地安排人力和时间,完成项目的开发,这是现实中项目经理经常遇到的问题如果事先确定的时间表是相对比较合理的,至少应该是我们够的到的。我们制定的开发计划才是有意义的,否则,按照这个时间表制定出来的计划只能失败的在这种情况下,项目经理唯一可以做的是对用户的需求进行剪裁,去掉某些耗时长而且不太重要的功能,或是在开发中适当降低质量要求,或许可以完成项目的进度。当然这必须最终要得到用户的认可。
2.项目开发过程管理
2.1 详细设计
在详细设计阶段,由于任务已经详细地分解,总体地解决方案和技术框架已经确立,详细设计地目的就主要是针对某个特定地模块或对象,根据需求,技术框架地要求和模块间接口,描述出我们实现功能的方法,主要内容包括:
(1)内部算法描述;
(2)内部数据组织;
(3)相关接口详细设计;
2.2设计评审
在设计完成后,必须安排设计评审以保证设计的质量,通常设计评审以小组内部的评审会的方式进行,参与人有项目小组内部的人员及其负责人,由开发者介绍其设计思路,其他人了解并对其设计质量进行评审。评审的内容主
1. 邱菀华 沈建明 杨爱华等编著 现代项目管理导论 机械工业出版社
2002 年 10 月
2. 美 理查德 怀特黑德着 领导软件开发团队 电子工业出版社2002年 5月
3. 尼尔 怀特着 管理软件开发项目-通向成功的最佳实践 电子工业出版社2002 年 4 月
4. 刘积仁 康晓东 饶友玲主编 软件开发项目管理 人民邮电出版社
2002 年 2 月
5. 美 Joseph Raynus 着 CMM 软件过程改进指南 电子工业出版社
2002 年 3 月
6. 美Evelyn Stiller Cathie LeBlanc 着 基于项目的软件工程 面向对象研究方法 机械工业出版社 2002 年 6 月