软件项目管理分析(精选12篇)
软件项目管理分析 篇1
早在20世纪70年代中期, 美国国防部就研究发现软件开发不能按时提交, 预算超支和质量达不到用户要求等问题70%是由于管理不善引起的, 而非技术原因。
国外软件行业发展较早, 尤其美国和印度, 他们在软件项目管理上也相对成熟。在软件产品项目的分析开发实施过程中有着明确详细的管理规定和流程。在我国IT行业起步较晚, 但发展迅速。2010年6月工业和信息化部部长李毅在第十四届“中国国际软件博览会”上透露, 我国软件服务近10年实现快速增长, 年均增长超过36%。虽然近年来我国软件行业发展迅猛, 但是项目管理在本行业的应用还很不成熟, 一般的、常规的管理方式已很难适应, 这是软件开发项目管理中面临的最大挑战。同时由于软件行业的竞争加剧、客户时效性的要求以及一些小公司作坊式的经营模式, 使得软件管理往往被忽略或者不被重视。
项目的管理包括:范围管理、团队管理、成本管理、质量管理、风险管理、综合管理、沟通管理、进度管理和采购管理。影响项目成败的因素也很多, 失败因素主要有:要求不完全, 要求和规格的变化, 参与不足, 计划不足, 资源不足, 不再需要该项目, 不合实际的期待, 缺少IT管理, 高层支持不够, 技术文盲等。成功因素:使用者参与, 较小的里程碑, 管理层的支持, 有能力的员工, 清晰的要求说明, 所有权, 良好的计划, 明确的眼光和目标, 切合实际的期待值, 勤奋专注的员工。
以上因素都应该在项目管理过程中考虑到。然而实际上很多项目管理人员并没有掌握项目管理的知识, 完全依靠个人现有知识技能进行项目管理, 随意性和盲目性比较大。公司应该安排对员工进行软件项目管理的培训, 并切实应用到实际的软件开发过程中去。同时作为公司领导层, 首先应该高度重视软件项目管理, 并切实按照软件项目管理的要求来做事, 有问题不能一拍脑袋就做出决定。这样会对软件项目带来很大风险。
(1) 对项目管理的认识不足。一些项目经理认为按照项目管理来做项目计划, 纯粹是浪费时间和精力, 是走过场, 计划赶不上变化, 甚至项目完成后再对项目计划书进行完善。这就造成了计划与控制管理脱节, 无法有效的对进度进行控制管理。甚至由于计划不足, 在开发过程中发现某个任务无法按时完成, 导致项目延期或质量下降。其实制定计划的过程就是一个对项目逐渐了解掌握的过程, 通过认真的制定计划, 项目管理人员可以理清哪些要素是明确的重要的, 哪些是需要逐渐明确的次要的。通过项目计划的不断完善, 以达到在进度、资源和范围之间寻求一种平衡。
(2) 不合实际的期待。往往很多时候, 客户对他要求的软件系统有很高的期待, 但实际交付的时候很难达到他们的期望。其实这就暴露了软件公司在项目管理上的薄弱以及对客户沟通的不足。这就要求我们在项目展开之前就应该做好项目设计、规划、风险评估并于客户沟通提高他们对软件的认知水平。甚至有时候, 项目人员本身没有按照项目管理过程对其进行实际分析而凭想象构筑出很高的期待, 结果导致项目进行中困难重重。
(3) 沟通不畅。在项目中一些重要信息没有进行及时有效的沟通, 造成各做各事、重复劳动, 甚至造成不必要的损失。例如在制定计划、意见反馈、技术问题等方面沟通不畅, 往往造成制定的计划不符合项目成员的实际情况, 相关人员没有及时按照反馈意见做事, 重复劳动等问题。
(4) 应对风险的策略不成熟。项目人员没有充分分析项目开发过程中可能遇到的风险, 对付风险的策略比较简单。对风险管理的重要性认识不足, 不能提前预知规避风险, 造成遇到风险时捉襟见肘甚至导致项目延期或失败。
除此之外我们还需要把握软件项目管理的7大原则:
(1) 平衡原则。
在我们讨论项目为什么失败时可以列出很多原因, 如管理问题、技术问题、人员问题等等, 但实际上人们经常没有认识到最根本的问题, 那就是:需求、资源、工期、质量之间的平衡关系问题。
(2) 高效原则。
现在市场竞争越来越激烈, “产品早上市一天, 就早挣一天钱”, 软件开发越来越追求效率。基于高效的原则, 软件项目就需要考虑:选择精英成员;目标明确, 范围清楚;及时、充分的沟通;重要一点, 激励员工调动其积极性。
(3) 分解原则。
“化繁为简, 各个击破”。我们可以考虑将大项目划分成几个小项目, 将长周期项目分阶段完成。
(4) 实时控制原则。
实时控制能够让项目经理及时发现问题、解决问题。
(5) 分类管理原则。
根据项目的特点制定不同的管理方针政策。
(6) 简单有效原则。
项目经理应当对开发人员进行简单有效的管理。
(7) 规模控制原则。
这些原则包涵了项目组规模的控制和对大项目长期项目划分小项目不同阶段的规模控制。如果项目组规模太大就会导致沟通效率下降, 管理复杂度提高等问题。它是与高效原则、分解原则相辅相成的。
项目管理水平的提高不是一蹴而就的事情, 软件公司应该充分认识到项目管理的重要性, 它在提高专业化水平, 帮助公司规避风险, 改进公司长期生产效率等方面发挥的巨大作用, 自觉主动的进行项目的规范化管理。
摘要:软件行业不同于传统的制造业的生产过程。通常传统制造业在产品规格、工艺规程、材料规格标准化的前提下进行大批量连续制造。而软件的整个过程都是设计过程 (没有制造过程) 。单就设计本身来说, 它需要从业人员在当前技术前提下有创造性的思维, 这种管理更多的是进行指导性的管理。由于软件项目管理的这种特性, 所以在很多软件项目管理过程中很大程度上是依靠个人现有的知识技能, 管理工作的随意性和盲目性比较大。
关键词:软件项目管理,信息化,项目计划
软件项目管理分析 篇2
软件项目和基建项目管理的比较分析
项目是项目管理的对象,从某种意义上说,正是项目决定着项目管理的.各个方面.不同行业的项目管理的内容是不同的,但是他们也有相通之处.本文从项目和项目管理的角度,通过分析基建项目和软件项目管理的不同,使软件项目这个新兴产业在立足自身行业的基础上,能够借鉴基建项目管理,少走弯路.
作 者:李红玉 刘书家 Li Hongyu Liu Shujia 作者单位:北京工商大学计算机学院,北京,100037 刊 名:项目管理技术 ISTIC英文刊名:PROJECT MANAGEMENT TECHNOLOGY 年,卷(期):2004 “”(2) 分类号:F0 关键词:软件 基建 项目 项目管理
软件项目管理分析 篇3
[关键词]软件项目;设计管理;流程
[中图分类号]TP31 [文献标识码]A [文章编号]1672-5158(2013)06-0076-01
1 何为流程及在软件项目管理中的作用
1.1 软件开发的目的
在进行软件项目开发活动中,要实现很多目标,比如关于项目的范围、成本、时间以及质量等,项目协调也是要完成的目标。项目协调可以满足项目参与者和利益相关者的要求,伴随软件规模和它所涉及领域的扩展,软件项目管理变得越来越复杂,大大的增加了管理难度,造成这结果的主要因素是不能管理其过程如果管理项目在无纪律混乱的情况下,那么项目组织就很难总结出好的管理方法和工具,就更不用说从中获益了。管理严谨的好处不仅能够就检查和改进在阶段内出现的偏差,还可以及时的终止项目。甚至还可以避免人才的来去带来的负面影响。如果想要有效的对过程进行控制,就不得不对项目管理流程更加明确。
1.2 软件项目的构成
一系列活动有机构成流程。而个人与团体构成基本活动,基本活动的构成不需要来自其他活动的转换。流程的每个活动间都有着自己的独有的流向,在流程过程中包含着明显的开始与结束,所以这是一个非静止的概念。从结构方面可以看出,流程由四个基本因素构成:活动及活动的逻辑关系、承担着、实现办法。流程管理所包含的不但有管理技术,还有现代管理的理想,以前的职能管理凭借的是控制、塔式组织。但随着时间的推移其已经不能适应市场竞争和当今企业的发展需要,以分工理论为主的管理理论已经使用了几百年,目前又返回到系统和整合上面。
1.3 软件项目生命周期的一系列的开发过程是各种各样的流程活动
软件项目是由各种各样活动流程活动组成的,具体包括如下,软件项目的计划编制、系统分析、概要设计、详细设计、程序编码、测试与维护等活动过程都属于流程活动:制定软件项目管理流程,当我们在制度项目管理流程过程中,要着重考虑一下几点:(1)流程的制定可以将项目逐步引至成功,(2)流程的制定可以适应软件的开发,(3)流程的制定对项目开发可以起到指导作用,(4)流程制定是使用流程图表示的,可以让每个参与者都能够清楚的明白管理过程与开发过程之间的关系,(5)流程过程中的参评要有明确的定义、标准和方法。
2 软件项目管理大体过程设计
2.1 软件项目管理的构成
软件项目管理过程大体可以分为以下几部分:项目构思、项目立项、签订合同和执行合同。可以使用P1、P2、P3、P4、P5代替。同时也可以划分为五个里程碑,分别是:完成立项、签订合同、定义功用、产品开发、投入市场,可以用TM1、Tm2、Tm3、TM4、TM5代替。
2.2 软件项目管理的流程分析
项目管理的大体流程分析,项目搜寻是项目开始的前提,其阶段主要任务包括收集市场信息、客户需求、以及潜在的需求。项目立项阶段就是可行性的研究阶段,就是讨论成本与效益的可行性。项目售前阶段是项目立项与签订项目合同的这段时间,主要任务包括以下几个方面:做好与客户介绍交了的计划、对产品的销售对象要有一个比较全面的了解以及客户对项目感兴趣的原因和对产品的要求。合同生成阶段要做的是对项目方案的比较与相关的政策法规的认识,以及对合同的评估以及签订合同。合同执行阶段是项目管理流程的重要环节,主要包括软件的开发、测试、验收、系统的维护等过程。
3 软件项目失败的原因和软件项目管理方法的探究
3.1 软件项目失败的原因
我们可以从目前国内外的软件行业企业可以看出,“软件危机”的影响仍持续着软件行业。软件项目的实施情况也总是很难令人满意。经过研究发现,软件项目之所以会失败的原因主要有以下两方面:一是应用项目发展难以控制;二是项目管理者对项目管理工作的认识掌握还不成熟。实践证明,缺乏有效的项目管理是致使软件项目失控的直接原因。
3.2 制定项目的任务
软件项目计划的主要作用是用来协调其他计划的,协调的目的是为了指导控制和执行可操作文件。它这是对客户需要的理解表现,是开展项目活动的开始,也是开展其他工作的依据,项目计划由全局计划和下属计划构成。在下属计划制定时,项目经理必须遵循的原则是:谁负责那一部分工作,那部分的计划就有谁来制定,项目经理只需审批就行。
3.3 开发过程的制定
软件开发之所以存在较大风险,最主要原因是软件过程能力低,这是因为管理软件过程十分困难,为此就非常有必要在软件过程的控制和管理方面加强。不同的软件项目有着不同的过程,虽然项目计划与执行是互相交叉的,其主要部分是相似的,但是不同的项目的每个过程它所包含的具体活动是差之毫厘谬以千里,而且由于不同的制定者所使用的开发技术和技术路线的不同,所导致的侧重点就不可能相同了。项目经理在计划制定前就必须根据开发软件的实际情况,建立一个稳定性好、可控的软件开发模型。
3.4 加强过程控制
软件项目的开发和实施总是处于动态之中,这种动态是持久的、永恒无止境的,世上不存在静止的软件项目。需求、技术、系统结构、代码都会发生变化,就算是连环计都会发生变化,项目经理在做好了计划和准备后,最重要的任务就转换到过程的控制上来了。过程管理和变更控制是过程控制的主要部分。配置管理是一个软件项目能否顺利执行的前提。在软件开发过程中比如会出现很多的附加产品,比如代码、一系列文档、数据等等,这些产品是有用的。而且随着软件项目的改变这些产品都会发生变法生产出不同的版本,试想一下,如果配置管理失效,项目工作人员势必会深陷配置项的“泥潭”。很明显我们应该加强项目过程的任何部分细节。
4 结束语
在本文设计的软件项目管理总体流程及相关技术,目前已经十分成熟了,在软件项目的研发和管理中已经大量的采用了。流程管理在软件项目管理中的使用,降低了软件项目管理的复杂性,增加了软件项目的成功率。事实也证明,根据企业和项目的实际情况,制定软件项目的实施步骤,确定产品的用处,指明各阶段的开始条件和终止条件,进行有效的流程控制与管理,这样将会极大的提高了软件开发的效率和降低项目的失败率。
参考文献
[1]罗铁清,王如龙,软件项目管理的研究及在项目开发中的应用,项目管理技术2005,3:66-70
[2]刘宽宏,殷人尾,基于GMMI的过程和产品质量保证模型,计算机工程,2004,30(15):75-77
[5](美)凯西,施瓦尔贝,IT项目管理,王金玉,时郴译,北京:机械工业出版社,2002
软件项目管理的控制分析 篇4
1.1 软件项目没有计划性
在每一个软件项目的设计中, 都会存在很多不确定的因素, 由于这种原因很多的管理人员会感觉突然间的变化都会影响项目的进程, 管理者对整个的项目的没有明确的计划, 对将要的进程没有整体上的认识。这样的想法将会造成工作人员在对整体项目指定的计划考虑的不全面, 而是随自己的想法进性制定的。在整个项目的进程中, 工作人员对软件管理工作不重视, 常常会造成工程的进度比计划的要慢, 使计划和进行的项目连接不上, 以至于导致没能有效的对进度进行控制管理。像这种对计划性不重视的项目的管理方式是施工中常见的问题中的一种, 而且中软件开发的过程由于缺乏可视行, 会引发很多的问题, 这影响用户对产品的认知度。
很多时候, 在软件项目的最初需求的前期, 实施项目的负责人和进行开发的技术人员常常认为在设计方和客户方在一些基本方面的问题上想法一致就行了, 而对于很多细小方面的问题以后对其进行补充。原因是不管刚开始的进行项目的时候考虑的多么周全, 在以后的进程中也肯定会进行修正的。正因为这样的想法, 常常会使软件在开发的过程中实际的开销远远超出了先前的预算。
1.2 管理能力
在进行软件开发的工作人员每天都对着电脑进行自己的工作, 这还包括很多项目管理的的管理者只顾着研究项目的的技术上的问题, 但是他们就没有意识到自己还必须起到管理的作用, 要对开发的项目进行整体的了解, 从整体上进行看这个开发项目。由于没有很好的扮演这个角色, 造成做这个项目的人员没有进行合理的分配, 使人力资源没有发挥起来。每个项目的经理还必须有很好的技术的功底, 而且是技术方面的骨干。项目的管理人员不仅要具备这些基本的东西还必须有很强的管理能力。比如:软件项目管理经理如果没有好的管理措施和方法, 在项目的开发过程中, 对于那些对工作不满意的技术人员, 这时处理好问题是至关重要的。很多领导不愿意使团队不和谐, 又不会处理好, 就只会自己做了所有的工作。
1.3 各个部门之间的联系
随着社会的发展, 很多智能化设备广泛地应用在生活、工厂、还有很多专门搞技术的部门, 软件是其中不可缺少的部分, 使得软件项目的设计更加复杂, 对时间的要求也特别的紧。在这种情况下, 如果想要提高软件公司对开发的软件项目的管理的能力, 要求提高对公司整体参加的意识, 需要整个公司内的各个部门之间相互合作。这样的话不仅可以提高项目设计的效率还能够使各个部门进行技术上的交流和合作, 使得每个部门都能得到最新的开发进程方面上的信息。
1.4 技术人员的工作能力
很多公司没有对公司内的员工进行经常管理上的学习和培训, 对这方面没有给于太多投入, 在对管理的重视程度很低。公司在进行软件开发时, 仅仅靠管理人员的技术方面的支持, 由于很多管理人员对项目的管理不太了解, 会使整个企业缺少管理能力只会技术方面的骨干。这样的话使得整个项目的设计没有组织性。
2 软件项目管理的控制方法
2.1 对项目的设计有明确的目标
通过对软件开发过程进行调查, 发现在软件的开发的过程中对设计项目的目标方向确定的管理是非常重要的。与此同时, 如果对开发软件的内容不是很熟悉, 就会在开发的过程中会遇到很多的问题。这是因为:第一, 很多的客户对软件方面的知识不是很了解, 导致项目开发的技术人员对于客户要求的功能不是很清楚, 还有就是有的软件开发人员没有对客户提出的条件进行系统的合理的整理, 导致再设计的进度非常慢。第二, 有些软件部门的设计人员的设计水平不太好但对用户的要求能够完全理解, 他们就会随着自己的想法进行设计, 最后由于设计的不合理, 使得设计失败。
2.2 对设计进行提前的预算
不管我们进行什么样的产品开发都应该对产品进行提前的预算, 我们在进行项目管理的时候应该对这方面加强管理。我们应该把设计产品的所承担的风险和我们将要达到的的目标一起考虑, 在进行产品的开发应该对产品进行提前的预算, 这样的话就会尽可能将那些风险降到最低。及早地对某些项目的风险进行识别, 尽可能把能使公司冒险的事件避免。我们在开发过程中, 应该具备一套完整的管理体系, 可以使项目开发的速度估算相对准确点。我们可以通过以下的方法来提高项目管理中项目的开发进度:第一, 公司的管理人员应该将工作分配给合适的人, 在进行设计的时候, 如果我们不能对工作的难易程度进行确定的话, 将工作发给不能够胜任的工作人员的话, 这样将会造成设计的结果不能按时完成。所以进行项目管理的工作人员应该在对项目开发进度进行估算的时候, 考虑到设计这个项目对所需要开发人员的技术水平的要求。
很多公司在进行项目设计时, 因为客户要求的工期比较紧张, 开发商就会将项目中的部分让其他的公司进行开发。如果这些进行合作的小公司的开发能力有限或是对监督不是太严格的话, 都会对设计项目的设计速度和质量有影响。
2.3 明确用户的需要
软件公司在设计产品的时候, 对软件项目进行管理的目的就是为了使得客户对设计的产品满意。很多客户对某个公司的满意的程度不仅取决于客户对所需的产品是否满意还包括客户在精神上是否也比较满意。
3 结语
关于软件项目的管理的控制的问题, 现在已经成为决定这个软件项目是否能够设计的成功关键因素。公司软件开发能力越强, 说明这个公司对于软件的的研发和生产逐渐向稳定的方向发展。软件的管理已经是影响整个软件开发过程的主要因素, 还有技术也是影响其中的一部分。通过对软件管理的控制的分析可以看出, 应该运用项目管理这种方式, 对平常的实际经验进行总结, 这样更有利于软件的开发能够很好完成。
参考文献
[1]陈欣欣.浅析软件项目管理[J].合作经济与科技, 2012 (9)
[2]何敬怡.信息系统的软件项目管理探究[J].计算机光盘软件与应用, 2012 (8)
[3]张宙.软件项目管理的现状及发展策略探讨[J].科技风, 2011 (16)
关于项目管理软件竞品分析报告 篇5
案例1:中科普达科研项目管理软件
系统介绍
中科普达科研项目管理系统以科研项目集中监管为目的,以科研项目过程管理为核心,以项目资源管理为重点,采用软件系统为工具全面实现科研项目信息整合,达到全面管理的目的。项目资源包括项目分类、项目进度、项目参与人员与专家,项目内容,项目预算和费用,项目文档等信息。系统模块包括项目申报、项目立项、合同管理、计划进度、项目里程碑、科研成果、项目评估、项目经费和各种统计分析等,以达到方便、高效地管理和控制科研活动,满足科研行业管理与决策的需要,为科研行业管理者对科研项目成果的正确评估提供依据。
中科普达科研项目管理系统适用于国家部委科研院所、高校及企事业单位的科学研究管理机构。科研行业是一个复杂且特殊的行业,为了满足不同的科研项目管理的需要,我们在已有的功能模块基础上,采取针对客户需求分别定制开发和配置的交付方案,使得客户需求满足率达到90%以上。由于采用SOA架构和WEB2.0技术,客户的特殊需求可以在很短的时间内通过管理平台配置实现,大大缩短项目周期,提高项目的成功率和降低项目成本,减少项目风险 总体架构
应用价值
o 科研数据集中、业务规范统一,为科研信息资源整合和全面监管提供依据。
o 集成项目申报业务、项目立项业务、人员专家资料库、经费管理业务、项目实施管理和成果管理,实现项目资源上的人、财、物的全面管理和项目滚动管理的全程跟踪。o 提供动态的实施控制和资料管理,领导可以随时监管项目实施进度和成果。
o 支持多年数据集中管理,动态分析,对比分析和挖掘分析。
o 引领科研监管方式变革,协助领导和监管单位由“被动式处理”向“主动式管理”转变,实现对科研项目的多级联动式管理,保障科研项目的成功和成果转换以及资料保管。
o 保障科研项目信息安全、完整性,通过使用系统,申报资料、项目信息以数据形式保存至服务器;领导和用户可以随时进行信息查询调阅,大大提高了工作效率和保证科研信息完整性。
系统特点
系统管理平台提供的可视化配置工具,通过自定义工具来自由配置表单、流程、菜单、权限等,来满足不同科研院所的个性化业务需求。同时还能和与其他系统衔接,使整套科研系统真正能达到数据管理与流程管理的完全整合。
1、适合多种数据库,适应性广
2、整合CA和个人身份认证体系,系统安全性高
3、多种权限控制方式,全面满足不同的权限控制需求
4、提供后台管理平台,灵活度高
5、科研项目管理与预算费用管理相结合,管理角度全面
6、图形化定义审批流程,满足不同审批需求
7、申报书等文档自定义导出WORD、EXCEL格式
8、提供多角度领导查询功能,与门户和信息发布系统相结合9、提供全方位接口,扩展性强
10、提供数据自动备份功能,保障数据安全
案例2:CISS跨网通—项目管理系统
系统简介
项目管理系统,旨在依据一定的规范对项目进行全方位即时查询、监控及管理。该系统包括:项目信息及资料录入、进度录入/追踪、问题点录入、参与项目者的日报及工时录入与汇总、项目资料查询等几大部分。
·通过网络,实现项目管理电子化,操作简便,一目了然,大幅度提高工作效率。
·规范开发过程,全程自动跟踪,智能化的即时提醒(支持手机短信和E-mail提醒),随时监控项目进度。
·实现无纸化作业,对于相关文档及资料进行电子化归档,自动化管理,易于查询。
·提供项目工时管理:工时录入、项目工时汇总功能,便于成本核算。
·强大、高效的查询功能,将项目资讯有机整合,查询快速、方便,为项目执行人员及各级主管及时、准确的提供所需资讯,随时掌控项目进度。
系统图
功能特色
立项申请与审批
输入项目名称、背景、预计起始与结束时间、负责人、参与者、验收人等信息进行立项。·企业可根据自己的制度,规定立项过程是否需要审批及设定审批人。
·立项的同时可建立该项目的专属交流区,这样参与项目的人员就可以享用跨网交流的便利,做即时的沟通。
项目详情的查询
围绕进度的查询,可按进度正常、延期或尚未开始进行查询。·围绕参与者的查询,可方便查找某参与者所参与的项目。
·围绕工时的查询,如:按任务、按人员、按项目新工时等查询方式。
制定项目计划
项目负责人有权限编写项目计划,即分配任务、完成标准说明、时程安排,当多人执行一个任务时,可设定进度计算权值。可根据实际项目执行情况调整计划。
执行情况的自动跟踪 系统将根据项目计划及执行者所填写的进度,计算每个任务的进度,并进行即时提醒,负责人可针对任务的重要性设定当该任务延期时的短信、E-mail及页面提醒机制,从而做到对进度的实时跟踪。
日报与工时管理
执行者可将日报和工时填写于所执行的任务上,便于主管对项目执行具体情况的掌控、置评及了解所投入的工时,方便于成本核算。
谈工程资料管理软件解决方案分析 篇6
【关键词】资料管理平台 施工资料软件 方案规划
【中图分类号】F252.23 【文献标识码】A 【文章编号】1672-5158(2013)04-0435-01
1、前言
山东送变电为了适应电力建设发展趋势,规范工程档案资料的管理,加速工程档案资料管理工作的制度化、规范化、标准化、程序化建设,提高企业工程资料管理水平,迫切需要通过信息化手段,建立统一的工程资料管理平台,实现对公司所有项目的工程资料进行管理,增强公司对所有项目的可视性和可控性,实现工程资料实时管理。施工资料管理是项目管理、质量管理的重要组成部分,是完善施工管理和确保工程质量的一项基础工作,是工程创优、夺旗工作的重要依据。近几年随着电力建设的不断加快以及工程创优夺旗工作的深入开展,山东送变电工程资料管理水平有了一定的提高,由于项目管理水平、档案意识及业务人员方面存在的差异,造成工程资料管理工作发展的不平衡,一定程度上制约了公司的发展和经济效益的提高。山东送变电管理层提出研发一套施工企业综合项目管理信息化平台。整个信息化平台目标是建立在统一平台上的一个有机联动的项目管理,首期开发模块主要为施工资料的编制及管理。根据整个信息化业务平台资料管理模块的需求划分为三个层面,分别为公司总部及分公司层面的决策及管控需求、项目部层面的核心业务操作需求、竣工资料电子档案组卷需求。
2、项目的规划
2.1 项目的调研与开发
在对这一项目进行调研与开发时,充分遵循了“统一规划、一步实现”的原则,并在此基础之上开展施工资料管理信息系统的建设工作。项目的调研与开发主要分为两个阶段,第一阶段:施工资料管理信息系统的初期运行,在这一阶段之中,主要完成软件的培训、初始化、试运行、反馈以及整改等工作;第二阶段:施工资料管理信息系统的正常运行,在这一阶段,主要完成软件应用性能的反馈、改进意见、业务功能的拓展以及软件的完善等工作。
2.2 项目方案的设计
首先,对方案框架的设计以及数据的存储模式进行了有效的确定,主要包含了如下三个方面的内容:①以net框架对方案进行一定程度的设计,并对C/S三层架构模式进行有效的使用,以此来满足集中分布式管理的需要;②数据库的选择,在项目方案的设计中,主要选取SQLSERVER作为其数据库;③在设计时,对单机版用户的需要进行了充分考虑,设计以独立的工程文件形式进行有效的数据交互。
设计方案的特点主要表现在如下几个方面:①这一方案能够充分满足无网状态下单机用户的需求,能够对其工程资料数据的操作以及存储工作进行有效的满足;②而对于网络版用户而言,他们可以运用这一系统,直接对服务器数据进行一定程度上的应用操作,从而对数据的共享进行有效的实现;③系统方案有效实现了单机用户的工程资料数据的与服务器数据的双向交互,也就是说,对于单机用户而言,他们可以将服务器应用模板与工程数据下载到自己的电脑之上,同时也可以将单机用户的工程资料数据上传于服务器之上;④这一设计方案对工程资料数据版本的统一性问题进行了有效的实现;⑤服务器安装数据库结构,存储工程资料数据,存储工程资料的标准模板以及标准模版的版本,客户端统一安装客户端程序,通过联网与脱机设置来进行网络版应用与单机版应用的区别,客户端程序的更新统一在服务器端实现,减少IT人员的工作维护量。
3、项目的建设方案
3.1 项目业务的特点
对于电力企业项目施工资料而言,它具有专业性强、资料种类多、业务量大的特点,目前状况下,行业应用的资料管理软件大多是针对某一具体行业而进行定制开发的。这样的资料管理软件只能适应某一套具体的资料表格,一旦资料标准发生一定程度的变化,软件便难以适应其发展。同时,软件需要做出一定程度上的调整,而这样一来,就会导致历史工程的施工资料信息需要通过历史版本的软件来查询,新旧工程资料标准的变化割裂了工程历史数据的查询与分析,给用户带来了诸多的不变和工程资料数据的对比分析的损失。除此之外,因为施工企业的工作环境存在着一定的特殊性,因此在不同标准的工程资料数据交互过程之中往往会出现一定程度的错误。
3.2 业务功能的实现
业务功能的实现主要表现在如下几个方面:①系统建立了一套系统化的且具有完整性的施工资料标准版本管理,并在此基础之上实现了对于施工资料版本下每张表格的版本管理;②系统通过对EXCEL、WORD等常用编辑方式的嵌入,能够对表格数据的饿编制以及保存记性有效的实现;③系统建立了一套针对性较强且行之有效的纠错与统计计算公式;④在这一系统之中,网络版用户以及单机版用户数据可以进行有效的双向交互处理;⑤系统在全面分析用户资料数据后,将作最大程度的归并分析,因电力施工企业的特点,工程属性、电压等级的不同,涉及的表格相互有交叉,系统将按工程的特点进行资料数据的归并与划分,最大程度上满足用户编制施工资料的清晰l生与简化性。
4、结束语
软件项目管理分析 篇7
1 中小软件企业软件过程管理概述
1.1 中小软件企业特点分析
在我国软件产业中, 中小软件企业占据着较大的比例, 其主要特点是熟悉行业需求, 能够对优势业务领域加以有效把握, 执行力高, 管理快捷清晰, 组织结构简洁, 响应速度快等。但是中小软件企业也存在一定的劣势, 其具有较高的维护成本, 总收入中软件销售收入占据的比例低, 经验到制度的转化程度不高, 依赖性强, 制度约束力不高, 人员流动性高以及人力资源不足等。
1.2 软件过程概念
软件过程主要指的是软件开发人员在对软件以及相关的产品进行开发与维护时, 其形成的方法、实践、行为以及变化过程。一般在对软件过程进行管理时, 必须要确保软件产品的质量, 加强其开发与维护过程的质量, 将方法, 工具以及人员进行有机结合, 从而确保软件产品的质量, 提高管理的水平。
2 中下软件企业软件过程管理的改进方法
2.1 加强质量保证与配置管理
一个软件项目的配置项包括该项目的所有相关资料, 如安装程序、工具、代码以及文档等, 配置管理良好是保证软件一致性的重要前提。因此对配置管理进行合理计划, 并对配置管理软件进行恰当选择, 统一管理软件版本, 制定基线配置项变更控制流程, 能够确保软件开发与管理过程的合理性, 提高软件过程管理以及软件产品的质量。在改进软件过程时, 中小软件企业可以从以下几个方面进行考虑:一是在对软件进行测试时, 侧重于控制和检查软件产品的质量, 并且在保证质量的同时, 严格检查和控制软件过程。二是质量保证由专人进行, 从项目计划以及阶段成果等方面进行检测, 对质量问题进行跟踪和记录, 从而有效提高软件产品的质量, 确保产品质量的维护性以及延续性。
2.2 选择重点, 优先突破
在对软件过程进行改进时, 必须要对其重点领域进行选择, 循序渐进。由于软件过程改进是对现有的软件开发与管理过程进行改善, 这对于企业管理人员以及开发人员而言, 具有较大的难度。因此在软件过程改进过程中, 企业可以有针对性地选择改进重点, 逐渐突破, 从而确保软件改进过程的合理性以及科学性。此外, 从软件开发过程而言, 软件企业不同, 使得软件项目开发的过程也不尽相同, 在软件开发过程中, 其编码、设计以及需求等阶段受企业开发人员的综合能力、知识经验以及企业自身的技术水平的影响, 因此必须要对软件过程的相关部分进行重点选择, 有效突破。
2.3 加强自评估
中小软件企业为了保证软件过程的完整性以及规范性, 往往会对软件过程进行盲目改进, 无法对自身软件过程的阶段和水平进行全面清晰的分析, 导致实施的效果低下。因此, 中小软件企业在对自身的软件过程进行改进时, 必须要加强自评估, 有效采用某磐软件度量方法, 利用定量和定性相结合的方式, 提高软件过程状态的评价。此外, 中小软件企业可以在组织内部对岗位的人员进行不同选择, 确保全体人员能够参与到软件的评估过程中, 从而保证软件过程的合理性和准确性。
2.4 重视个体软件过程改进
开发人员作为软件企业中的主体, 其工作计划的恰当性、缺陷率、时间利用率和编码质量的高低等都会影响组织软件过程和软件质量。因此为了提高开发人员的工作效率, 确保软件过程的管理质量, 必须要重视个体软件过程的改进工作。一般个体软件过程具有完整的规程、表格以及方法, 其能够对软件开发人员的工作方式进行改进、管理和控制, 对开发人员计划、管理和度量自身的工作具有指导作用。个体软件过程改进能够对时间利用的情况进行记录, 从而有效掌握时间利用率以及工作的效率;同时能够利用管理缺陷, 有效控制软件缺陷, 并提高相关人员的工作能力。
2.5 合理利用辅助工具
一般而言, 软件过程管理及其改进在很大程度上属于管理的过程, 需要遵守一定的规则, 充分合理利辅助工具, 能够有效提高软件过程管理的水平和质量。就目前而言, 软件企业常用的软件类别包括缺陷管理工具、软件测试工具、配置管理工具以及项目管理工具等, 这些工具具有完善和强大的功能。因此企业能够从自身的实际情况出发, 对这些软件工具进行合理选择与利用, 从而提高软件过程管理的水平, 增强企业的综合竞争实力, 实现企业的可持续发展。
3 结束语
一般来说, 软件过程改进是一个循序渐进的过程, 中小软件企业必须要不断积累和丰富自身的经验, 对软件过程管理进行持续改进。同时, 中小软件企业在对软件过程进行管理和改进时, 必须要加强质量保证与配置管理, 选择重点, 优先突破, 加强自评估, 重视个体软件过程改进, 合理利用辅助工具, 从而提高软件过程管理的水平, 实现自身的可持续发展。
参考文献
[1]楚书来, 于文新.小规模软件企业软件过程管理与改进策略研究[J].黑龙江科技信息, 2012, 02:199-200.
[2]田丽从, 李铁牛, 彭宏.中小型企业软件过程改进方法研究[J].计算机应用与软件, 2011, 04:208-211.
[3]李楠.我国中小软件企业实施CMM改进软件过程的研究[J].中国城市经济, 2011, 26:129-130.
软件缺陷管理方案分析 篇8
软件缺陷是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误, 或者隐藏的功能缺陷。软件缺陷管理是在软件生命周期中获取、管理、沟通任何变更请求的过程, 可以确保问题或缺陷被跟踪管理而不丢失。目前缺陷管理类的软件工具比较多, 主要功能比较一致, 但在一些细节, 如缺陷管理的流程, 与其它软件工程管理软件的集成, 甚至涉及到软件测试流程和软件质量管理的理念上, 都存在差异[1]。本文结合作者的软件开发和测试工作经历, 给出一套软件缺陷管理方案。
2. 软件缺陷的产生
软件测试从需求分析阶段就与软件开发同步进行, 软件缺陷在软件测试的各个阶段都会产生。图1是软件缺陷的产生示意图。
测试人员和开发人员首先根据测试需求创建各个测试用例, 测试需求与测试用例是一对多的关系;各个测试用例在运行后会产生相应的测试结果, 在一次测试过程中, 一个测试用例只会有一个测试结果, 但从整个软件测试流程中, 一个测试用例会产生多个测试结果, 比如在针对不同版本进行的回归测试, 从测试用例到测试结果一般测试人员和开发人员都会参与;最后, 如果测试结果完全满足对应的测试需求的要求, 即测试成功, 可以认为该测试用例测试通过, 若不满足, 即测试失败, 根据测试结果创建相应的缺陷, 测试结果与软件缺陷是一对多的关系[2]。
3. 软件缺陷管理方案
3.1 管理内容
从管理功能的角度, 软件缺陷管理会记录缺陷时间、严重度、异常的程序表现以及如何重现软件缺陷的细节;另外还有报告程序缺陷的人员身份和可能修正此缺陷的程序员信息。为了追踪与软件缺陷相关的测试用例和测试结果, 应该对测试用例和测试结果进行分类管理, 同时关联好测试用例、测试结果和软件缺陷三者的关系[3,4]。
从管理权限的角度, 软件缺陷管理过程中, 除了需要分配相关的人员对测试用例、测试结果和软件缺陷进行维护外, 还需要不断跟踪软件缺陷及与之相关的测试用例、测试结果在其生命周期中被分配的状态指数。在跟踪过程中应当允许管理员设定基于状态的权限, 可以结合软件缺陷的管理流程, 通过权限管理来维护在测试用例、测试结果和软件缺陷生命周期中的状态, 包括缺陷的确认、缺陷任务的分配等等。同时对各类状态进行定义和维护[3,4]。
下面首先分析软件缺陷的具体内容及生命周期中的状态关系, 然后定义相关的权限和角色, 并赋予角色对应的权限。
3.2 软件缺陷管理
一条测试用例的多次执行会产生多个测试结果, 当测试结果与预期结果不一致时, 可以通过该测试结果产生一个或多个软件缺陷, 当发现软件缺陷后, 需要设法找到引起这个缺陷的原因, 对软件缺陷进行分类, 分析对产品质量的影响, 然后确定软件缺陷的严重性和处理这个缺陷的优先级。一个完整的软件缺陷包括如下表所示的字段信息:
软件缺陷在其生命周期中的状态关系图如图2所示:
如图所示, 软件缺陷共有四个状态, 缺陷创建时为Active状态, 表明该缺陷激活, 需经过管理员的确认, 管理员确认通过后, 此时将该缺陷设置为Reviewed状态, 表明缺陷得到确认, 再将该缺陷分配给软件修复者 (通常为开发人员) 进行处理;软件修复者得到任务后对缺陷进行修复, 修复完成后, 将该缺陷设置为Resolved, 表明该缺陷已得到解决;当修复者处理好缺陷后, 创建者需要判断该缺陷是否得到了处理, 如果并未得到处理, 则将缺陷重新设置为Active状态, 表明该缺陷没有能正常解决, 然后交给管理员再进行确认;若创建者判断修复者已经完成了对缺陷的处理, 则由管理员进行确认, 确认通过后缺陷状态仍然为Resolved;当管理员认为该缺陷已经解决, 同时在后续开发过程中也无须跟踪该缺陷, 则可以将缺陷状态设置为Closed, 表明该缺陷为关闭状态, 后续测试和开发无须考虑该缺陷;对新创建和重新激活的缺陷, 管理员在进行确认过程中, 如果认为创建的缺陷无须修复, 直接可以设置为关闭状态, 或者对于创建者重新激活的缺陷, 管理员若认定该缺陷已经解决, 管理员可以将缺陷再次设置为Resolved状态;同样对于已经为Closed状态的缺陷, 在后续测试过程中重现, 可以重新激活, 设置为Active状态[3,5]。
设置为Resolved状态的软件缺陷, 并不表明该软件缺陷得到了修复, 仅仅表示该软件缺陷得到了处理, 有的情况下有些软件缺陷是不需要修复的, 比如无法复现的问题, 或者暂时不能解决的软件缺陷, 也有的情况下软件缺陷发现得比较晚, 当前的处理结果是在下一个版本进行修复;这里将Resolved状态的缺陷分为两大类:无效缺陷和有效缺陷, 该两大类将已解决的缺陷再分成如下的解决分类[5], 如表2所示:
3.3 软件缺陷权限管理
由前面分析可以看到, 在软件缺陷管理过程中, 所涉及到的角色较多, 因此必须要设置相应的角色和对应的权限。首先将权限分为软件产品管理、用户管理、测试用例管理、测试结果管理和软件缺陷管理五个方面, 将角色分为系统管理员、项目管理员、测试管理员、测试审核员、测试人员和开发人员六个方面, 各角色的具体权限分配如表3和表4所示:
4. 结语
本文给出了一套软件缺陷管理方案, 该方案从生命周期和管理内容两个方面详细分析了软件缺陷的管理方法, 并给出了软件缺陷权利管理中权限和角色分配方法。该方案更多的是结合本人在软件开发和测试工作中的经验总结而成, 在软件缺陷的状态关系中, 强调了审核和确认的机制, 管理方案略显繁琐, 在软件开发和测试的实际运行中比该方案相对简单;另外方案在团队工作和项目管理方面, 尤其是质量控制和质量保证方面, 考虑得不够全面, 在今后的工作过程应重点融入这部分内容。
摘要:基于作者软件开发和软件测试的工作经历, 给出了一套软件缺陷管理方案, 该方案对软件缺陷的管理内容和生命周期进行重点分析, 定义了软件缺陷在其生命周期中的各个状态, 以及状态之间的转换过程, 然后在软件缺陷权利管理中给出了权限和角色分配方法, 最后对方案提出了一些不足和改进。
关键词:软件缺陷管理,测试用例,测试结果,生命周期,权限管理
参考文献
[1]百度百科.缺陷跟踪管理系统[EB/OL].http://baike.baidu.com/view/107502.htm, 2013.
[2]张创基.软件缺陷管理系统的分析与设计[J].教育教学论坛, 2012.8.
[3]林璐.对软件测试中的缺陷管理的研究和实践[D].上海:复旦大学, 2011.
[4]闫振兴, 郑骏.软件缺陷度量与软件过程管理方法研究[J].计算机与数字工程, 2010.8.
软件项目管理分析 篇9
随着武器装备的信息化程度不断提高, 软件的“核心地位”和“中枢神经”作用也日益突出。统计数据显示, 现代武器装备90%以上的功能通过软件实现, 军用软件正呈现出多样化、复杂化和智能化等特点, 在提升信息能力方面扮演着越来越重要的角色, 其质量直接影响着军事指挥和武器装备作战效能的发挥。为确保军事装备能够最大限度地发挥其作战效能, 提高军用软件质量管理水平已经成为一项十分紧迫的任务。
软件测试是提高软件产品质量的有效手段, 从20世纪70年代就在软件行业得到广泛应用。目前, 软件测试已发展成为一个独立的专业学科。根据有关数据, 通过使用正确的软件测试方法, 软件产品的缺陷数至少降低80%。在微软等大型软件公司, 软件测试人员与程序员的比例为1:1, 甚至达到2:1。
为了规范军用软件测试工作, 1995年总装备部就发布了《GJB 2423军用软件测试与评估通用要求》军用标准, 2004年又更新为《GJB 141军用软件测试指南》, 明确了军用软件测试的内容、方法、程序和要求, 有效的保证了军用软件的质量。但随着军用软件开发规模不断扩大、应用范围不断增加, 对软件质量管理提出了新的挑战, 对软件测试工作提出了新的要求。
2 军用软件测试存在的主要问题
目前, 随着军用软件种类、功能和复杂性的增加, 软件测试在各开发单位越来越受到重视, 对确保军用软件质量、提高软件可靠性起到了积极的促进作用。但由于大部分开发单位的软件测试起步较晚, 测试技术落后, 专业测试人员匮乏, 测试管理不完善, 与军用软件质量管理的要求还有较大差距, 存在许多亟待解决的问题。
(1) 对软件测试的认识不充分, 简单的将软件测试等同于验收测试。软件测试是一个贯穿于整个软件开发过程的系统工程, 测试工作应在需求分析和系统设计阶段就开始展开。但部分开发单位的软件测试工作是在编码完成之后和软件产品交付运行之前进行, 主要针对成型软件产品开展验收测试, 无法及时发现软件单元和组件内部的错误, 并且发现错误返回修改的代价也相当高昂。有关数据表明, 如果在验收阶段才发现内部错误, 其修改代价是单元测试阶段发现错误的300到400倍, 并且许多错误还会因修改代价过高而被有意忽略, 从而带来更大的隐患。
(2) 软件测试管理的水平不高、随意性大, 专业管理人员紧缺。有关数据显示, 软件测试成本已占到软件开发总成本的40%以上, 并且应在软件开发的初期就进行测试设计, 剪裁测试标准, 制定测试计划, 规范测试流程, 明确测试重点, 分配测试资源。因此, 高水平的测试管理人员是决定测试工作效果的关键因素。由于目前各单位普遍缺乏专业测试管理人员, 测试工作普遍缺乏系统分析和整体设计, 测试人员往往根据自己的理解和经验来决定取消或增加测试的步骤, 并且测试管理人员也不能明确当前测试进行的状态, 给测试工作带来了极大的随意性和不确定性。
(3) 测试技术和测试手段单一, 缺少自动化测试工具。先进的测试技术和自动化的测试工具能够有效提高测试的质量和效率, 这也是确保软件质量的重要条件。受经费投入的限制, 绝大部分单位主要采用人工测试的方法, 测试效率低、覆盖率有限, 无法充分发现软件中存在的问题和错误。缺乏自动化的测试数据管理工具, 对测试过程中发现的软件缺陷缺少数据库管理手段, 不能对发现问题及时进行统计、分析和处理, 导致新旧问题混杂, 问题修改后也无法及时进行验证, 软件质量无法保证。
3 对策与分析
军用软件测试是一项跨部门、覆盖多学科、涉及多技术领域的复杂系统工程。要有效解决存在的困难和问题, 就必须根据软件项目的自身特点, 运用系统工程方法, 建立综合解决方案。
3.1 推进软件测试队伍专业化建设
要根据软件测试的专业特点, 建立以专业人员为骨干的软件测试队伍, 负责从需求分析到交付用户的全寿命周期测试组织与管理工作。要随着软件生命周期各阶段的转换, 及时调整软件测试人员组成。在需求分析阶段, 测试人员应由项目管理者、系统分析员和软件测试管理者参加, 负责对软件的需求进行审查, 确保需求的正确性;在系统设计阶段, 测试人员应由项目管理者、系统分析员、系统设计员和测试管理者参加, 对软件的体系结构、功能结构和数据结构等进行审查, 确保设计的正确性;编码阶段则由测试管理人员、程序员和测试人员组成;最后的验收阶段则全部由测试人员组成。
3.2 加强专业测试手段应用
测试手段包括测试工具和测试方法两部分, 采用先进的软件测试手段是提高军用软件测试工作质量和效益的根本途径。在测试工作中, 要根据不同的系统架构采用相应的测试工具。例如对于B/S结构应选择对客户端并发操作、网络性能和服务器端数据库压力进行测试的工具, C/S结构应选择对分布式事务的处理逻辑、系统输入边界条件等进行测试的工具。同时, 还要根据不同系统要求采用相应的测试方法。例如, 对于安全和抗毁性较高的作战软件就要加强对系统的恢复性测试、安全性测试和强度测试;对于实时性、界面友好型要求较高的仿真训练软件就要加强网络通信测试和UI界面测试。软件测试要贯穿问题定义与规划、需求分析、软件设计、程序编码、运行维护等软件生命周期全过程。通过利用专业测试工具对软件生命周期的各阶段所形成的体系结构模型、功能结构模型、业务流程模型和数据流程模型等以形式化的方法和工具进行模型检测, 尽早地发现需求和设计中的错误, 不仅可有效提高软件质量, 还可大大减少软件开发成本。
3.3 大力建设专业软件测评中心
在软件测试过程中, 测试人员自身素质和测试工具质量将直接影响软件产品质量。受单位规模和经费所限, 绝大部分军用软件研制单位无法建立专业的测试人员队伍, 也无力承担昂贵的专业测试软件。软件测评中心作为从事软件测评工作的第三方专业机构, 具有专业化程度高、工作效率高、过程管理水平高的显著优势, 可以建设高质量的测评管理体系、专业化的测评人员队伍和高水平的软硬件测试环境, 不仅可以承担各类测试任务, 还可指导协助各软件开发项目组开展测试工作。因此, 各单位可以从自身情况出发, 建设本单位的软件测评中心或专业软件测评中心开展合作, 提高软件测试工作的专业化、正规化水平, 有效评价软件产品的质量情况, 满足军用软件产品质量管理的要求。
4 结束语
在军用软件质量管理工作中, 软件测试是软件质量保证必不可少的重要手段。随着军用软件质量管理要求的不断提高, 软件测试工作也要不断改进工作方法, 提高工作标准, 才能满足未来军用软件开发的需求。
参考文献
[1]尹平, 许聚常, 张慧颖, 软件测试与软件质量评价[M], 北京:国防工业出版社, 2008.
[2]刘易斯, 维拉皮莱.软件测试与持续质量改进[M].陈绍英译.北京:人民邮电出版社, 2008.
[3]单锦辉, 姜瑛, 孙萍.软件测试研究进展[J].北京大学学报 (自然科学版) , 2005, 41 (1) :134-145.
[4]Myers G J.软件测试的艺术[M].王峰, 陈杰译.北京:机械工业出版社, 2006 (01) .
[5]Harrold M J, Testing:a roadmap[M].ICSE-Future of SETrack, 2000:61-72.
软件项目管理分析 篇10
本文将以软件需求工程为侧重点、从软件需求变更的原因、影响、原则及管理方案为研究领域进行分析和讨论。
一、软件需求变更的主要原因分析
1、客户需求因素。
在软件的开发过程中, 客户会随着项目开发的进程逐渐达成对软件系统的深入了解和认识, 在不断的思考过后形成了新的需求信息或改进的需求信息, 进而会提出满足其新需要的软件变更条款。2、系统内部因素。在软件开发过程中, 计算机外部硬件设备、系统软件、系统数据等内部系统之间的相互适应要求都会引起软件需求的变更。这种需求变更将会以硬件设备、操作系统、系统软件等原始系统因素为基础进行更新、升级、换代, 以此确定软件设计的安全性、兼容性和准确性。3、业务环境因素。在软件开发过程中, 与软件开发相关联的制度、规范、政策等的重新改写与设定, 或是软件开发业务要求的不断改变都将会引起软件需求变更。例如, 软件的需求会随着保险制度的变化而变更, 会随着交通制度的变化而变更等等。4、需求开发缺陷因素。在软件需求开发过程中, 需求信息调查研究、需求文档的编写及评审等工作的不足都是影响软件需求变更的主要原因。
二、软件需求变更的主要影响分析
1、影响软件开发的实际进度。
频繁的需求变更不仅需要大量项目人员的支持, 还需要投入大量的经费, 如果投入的力度过大, 将会导致软件开发项目超过预期甚至导致失败。
2、影响软件开发质量的优良。
在软件开发过程中, 需求的不断变更将会导致原有的需求链断裂, 对原定需求的部分环节造成影响, 而这些影响又将导致软件开发项目设计的改变, 最终导致系统质量的下降, 开发效率的降低。
3、影响客户与开发者之间的相互合作。
软件开发是客户与开发者之间的一种相互信任、相互合作的过程。如果二者之间在软件需求变更上产生不同意见, 而且没有得到妥善的处理, 将会导致二者之间的合作关系破裂, 甚至造成软件开发中断等严重后果。
三、软件需求变更的处理原则
1、完整性原则。
完整性是软件安全的基本要点。在软件开发过程中, 要保证需求变更信息的采纳收集、汇总整理、评判审核、监视追踪等环节的完整性, 保证软件需求变更能够按照规范的流程进行操作。
2、合理性原则。
在软件开发过程中, 客户与需求分析人员将会以不同的视角、不同的态度评估需求变更条件, 要想达成软件开发的精确性, 就需要在用户需求、软件技术和整体开发能力的基础上, 达成需求变更的合理性, 实际性。
四、软件需求变更的有效管理方案
1、达成开发者与客户之间的有效沟通。
在发生软件需求变更时, 需求分析人员要与客户进行及时有效的沟通和反复的确认, 向客户说明开发建议和解决方案并制定相应的合同规范, 以此来达成对客户的承诺和软件修改后的满意度。2、制定软件需求变更信息的整理报告。在软件需求变更过程中, 要对客户需求的规范、变更后的功能、软件质量目标、变更解决方案等信息进行整理、分析和记录, 制定明确的需求分析整理报告, 以此来确保需求变更的准确性、实际性与科学性。3、进行明确、合理的人员分工。在需求变更达成协议后, 就需要对开发人员进行合理的安排和组织, 对操作人员和测试人员进行明确的分工;利用合理的需求变更管理工具, 达成整体软件项目开发的高效和优质。4、做好需求和产品特性的评审和测试工作。做好需求变更相关信息的记录后, 需求分析人员要组织开发、测试与客户等相关人员对更改后的需求进行评审和测试, 筛出掉不符合实际的变更需求, 确保需求变更流程的顺利进行。在软件变更实施的最后阶段, 要对软件产品系统进行测试, 以检验其是否满足客户的原定需求、是否达到了预期的效果和期望, 以保证更改后产品系统的基准性和安全性。
总之, 在出现软件需求变更状况时, 首要的就是与客户做好沟通和协商, 其次要做好需求变更信息的详细记录, 最后做好软件需求变更后的测试。只要做好这关键的三部, 就能够充分确保软件开发的规范化和优质化。
参考文献
[1]李厚明.软件项目需求变更风险管理[D].山东大学2012
软件项目管理分析 篇11
关键词:计算机软件;工程管理;思考;实践
前言:现阶段,从整体层面上来说,对计算机软件工程管理的重视度不足,仍然存在较多的问题,思想观念陈旧、发展时间较短是产生这种问题的主要原因。同时,软件产品比较特殊,管理内容较多,如何进行有效的工程管理已经成为工程人员面临的主要问题。
一、软件工程概述
软件工程涉及计算机、管理学、数学等多想学科内容,在传统工程的基础上,着重改善质量、减小成本投入、优化算法,主要包含模型构建、计算、规范设计和编制、成本评估、权衡评判、成本管理等内容。软件工程管理可全程监控、持续评估,全面掌握具体情况,进而科学评估软件绩效。一方面,通过软件工程管理,可得到综合性的动态信息,有助于软件开发。另一方面,软件工程管理影响预算使用情况、开发进展、工作效率以及成品质量[1]。
二、计算机软件工程管理内容
计算机软件开发具有一定的周期性,自动化水平不高,在实际开发过程中,人是主要活动主体,对研发人员的管理是工程管理的主要内容。软件工程建设模式选定、标准以及语言选择等内容。
(一)人员管理
人员是工程管理中的活动主体,主要从事项目设计、实施和反馈等工作,要求工作人员具备较高的专业水平和协作精神。结合工作人员的个人能力以及品质,合理安排工作,实现工作人员价值最大化。另外,还应构建科学的激励体制,增强员工的认同感。
(二)组织机构管理
组织机构的设置情况直接决定着管理工作的落实情况,对于管理体制缺少合理性的团队而言,组织机构仅仅是管理人员的集合体,职责划分不明确,职能行使存在较多问题。软件工程具有较高的专业性,这对管理人员的技术水平提出了较高的要求。另外,软件的合理使用和收益获取是软件开发的根本目标,应赋予组织机构一定的营销宣传职能[2]。
(三)用户管理
用户作为软件工程的主要服务对象,他们是评判软件合理性以及管理工作有效性的主要尺度。软件工程属于一种新兴领域,近年来,取得了可喜的发展成绩。市场化加剧了行业内部竞争,逐渐形成了退出体制,为有效应对该挑战,应掌握市场需求,以市场为发展方向,开发出更加实用的软件系统,这要求软件开发企业应有效落实用户管理工作,在庞大的用户群体中深入挖掘信息,广泛搜集,及时反馈,适当改进。
三、计算机软件工程管理以及开发方法
(一)工程管理方法
1.构建完整的管理体系
在科学技术蓬勃发展的今天,软件工程作为新型学科,尚未形成完成的规范体系,而规范体系是工程管理活动的主要依据,因此,应构建完整的管理体系。在软件开发环节,注重人员管理,充分利用开发人员的才能,有效调动工作积极性,加强创新,实现协调发展。同时,还应注重管理培训,特别要加强专业知识的学习,有效结合工作实践。另外,还应编制合理的制度规范,保证有据可依,奖惩分明,确保工程管理的正常开展。
2.增强团队管理
团队是工程管理正常开展的基础保障,增强团队管理,有助于工程目标的实现[3]。首先,应加强工作人员内部的交流、合作,形成沟通意识,有效合作;其次,针对不同岗位,合理分工,依据具体的工程情况,科学分配,确保职责和任务清晰,全面落实每一个工作人员的职责,保证工程管理的正常开展;最后,最大限度地调动工作积极性,使其将全部精力均投入到软件开发和管理中,增强团队凝聚力,统一协调。
3.注重风险和进度管理
首先,结合实际开发情况,构建健全的风险管理体制,牢固树立风险意识,认真学习与风险管理相关的知识,准确辨别风险,并实施量化分析,采取有效的风险防控方法,递交合理的风险报告;其次,定期防控和辨识风险。在计算机软件工程中,全程贯穿风险管理,以便及时应对各种风险,尽量降低风险损失。规避、缓解是较为常用的风险处理手段;最后,做好进度管理,提升工程效率,有效管控开发成本。参照工程开发的实际情况,编制合理、可行的进度表,动态监测项目进展,切实保证软件开发工程的稳步开展。
4.完善工程管理方案
构建软件工程管理平台,它不仅能严格控制项目成本、开发进度等内容,还能优化人力资源分配,以免因人员变动引发项目开发延延迟或者暂停的现象,在软件研发公司和需求者之间实现双赢。
(二)开发方法
在软件工程开发中主要包含SASA法、面向对象开发法等,在实际开发过程中最为常用的就是面向对象开发法,它也是计算机领域中的研究重点,它在九十年代占据着主导地位。面向对象的定义以及应用范围完全超出了设计和开发,范围更加广阔,例如数据可系统、CAD等,此种开发方法拉近了和现实生活之间的距离,满足人类正常的逻辑思维,便于维护,主要被应用在繁琐、大规模的系统中,程序合理。此种方法还可下分为OMT、COAD等,其中OMT属于一种现代开发方法,依照现实世界中的具体对象建模,并以此为基础,通过分析模式,实施语言设计,全面理解需求,进而开发出便于维护的软件系统,此种方法切实保障了所开发软件的可行性和高效性;COAD借鉴以往开发经验,并有效融合面向对象的概念,针对结构、属性等提出了针对性的认定原则。
四、计算机软件工程管理实践
(一)软件分解
大型软件是工程管理中的主要对象,在大型软件中主要由若干系统协同开发构成。为此,应合理分解软件,将其划分成若干子系统,进而为工程管理工作的开展提供一定的便利。不同的开发团队负责不同的子系统开发工作,分别进行。
(二)软件规模基准化
将软件分解成不同的子系统后,为构建联合的管理基准,通过功能点分析法来预估软件规模,只要输入不同子系统的功能,便可输出相应的功能点数。
(三)设立群组成员权重
软件工程管理需要较多的人员,各个成员分别发挥不同的作用,由此可知,软件工程管理制值也存在一定的差别,应科学计算管理成员的权重,一般将工作经验、学历和角色作为主要的权重评判指标,参照评判指标,科学计算权重值[4]。
(四)成本管理
首先,全面搜集成本信息,严格监控。待计算出软件成本估计值后,可以此为依据,管控成本。因此,待软件活动启动时,应在实际执行过程中全面搜集所有子系统中隐藏的成本信息,严格监控,在此之后,管理者便能围绕软件系统的成本绩效进行有效管控,进而系统把控成本动态。其次,评判成本绩效,通常差异分析法是最为常用的一种方法。通过差异分析法科学预估成本和时程差异,进而有效掌控相应绩效。
(五)实施创新活动
在软件工程管理工作中,参照运行现状和决策方案,采取有效的整改动作是最后一个环节,例如,待出现成本超出预算的现象时,可调整执行情况不良的子系统,也可以重新分配,同时,还应面向团队成员及时与状态、决策相关的信息。若状态满足预期,则应实施全面监控,直至完成开发工作。
结语:目前,在社会生产、生活中随处可见计算机软件,它可显著提升管理效率,并能提高工作质量,为人类生产、生活带来了较大的便利,我们应继续探索,不断改进,增加软件的操作性和可行性,使其更好地服务于社会生活。
参考文献:
[1]王必恒,陶勇.基于计算机软件工程管理的思考及实践分析[J].科技创新与应用,2012,(22):46-46.
[2]王必恒,陶勇.基于计算机软件工程管理的思考及实践分析[J].科技创新与应用,2012,(31):46.
[3]曹高成.关于如何创新和完善计算机软件工程管理的探讨[J].电脑迷,2014,(5):20-20.
软件项目管理分析 篇12
长期以来,大型软件项目高失败率的状况一直困扰着软件设计和开发人员,研究表明,软件项目失败的原因主要有三个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才;三是缺乏有效的项目管理。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程、效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。目前,流程管理技术的研究已越来越受到人重视。
运用流程管理方法和技术进行大型软件项目管理,可以有效地改变软件过程管理混乱的局面。首先对大型软件项目开发过程进行有效的、规范化的定义;其次,在大型软件项目开发过程中,所有的活动过程均按照流程所规定的活动的逻辑关系、活动的实现方式来执行,这样可以使得所有的活动有序和可控;第三,通过明确运作流程,使项目组人员迅速融入项目和开发过程中;第四,关注每个过程的“结果”,使大型软件项目的所有工作产品均能得到有效的保存,保证了软件产品完整性。
2 流程在大型软件项目中的作用
流程是由活动组成的。基本活动是由个人或团体来完成的,它不需要进行其他的基本活动的转化。流程的各个活动之间有着特定的流向,它包含着明确的起始活动与终止活动,因此是一个动态的概念。从结构上来看,流程有四个基本的构成因素:活动、活动的逻辑关系、活动的实现方式和活动的承担者。流程与“一系列的活动或事件”、“结果”等概念密切相关。流程管理不仅是一种管理技术,更体现了现代管理的思想,原有的以控制、塔式组织为基础的职能行政管理已经不能完全满足于现代企业发展和市场竞争的需要,管理的发展沿着分工理论运行了上百年后,现在又重新回归到整合与系统。
大型软件项目生命周期的一系列的开发过程是各种各样的流程活动。大型软件项目的计划编制、系统分析、概要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动。制定大型软件项目管理流程,重点考虑以下几点:
(1)制定的流程能引导项目逐步走向成功;
(2)制定的流程能适用软件开发过程;
(3)制定的流程能指导项目开发活动,有利于对项目开发活动的管理;
(4)制定的流程能以直观的流程图表示,能使项目组成员清楚的知道软件开发与管理的过程和相互间的关系;
(5)流程中的起始活动条件、终止活动条件明确、规范,便于控制;
(6)流程中的工作产品定义明确、可度量,评价标准和方法具体、可操作。
3 大型软件项目管理总体流程设计
在大型软件项目开发管理过程中,不仅要努力实现项目的范围、时间、成本和质量等目标,还必须协调整个项目过程,以满足项目参与者及其他利益相关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,大型软件项目的管理越来越困难。纵观所有失败的软件项目,基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制与管理不仅可以在每个阶段回顾和纠正项目的偏差,识别软件项目的风险甚至果断中止项目,而且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确大型软件项目管理流程。
大型软件项目管理总体流程设计为项目搜寻、立项、售前、合同生成和合同执行等5个主要阶段,分别以P1、P2、P3、P4、P5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以TM1、TM2、TM3、TM4、TM5表示,如图1所示。
在这些流程中,合同执行流程是大型软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护。
4 大型软件项目管理总体流程分析
4.1 项目搜寻
项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜在的项目进行分析和筛选。
4.2 项目立项
立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。
4.3 项目售前
售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。
4.4 合同生成
合同生成阶段的主要工作有:项目方案的评估与确定,技术合同、商务合同的商定、评估与签署。P1
4.5 合同执行
合同执行是大型软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。
4.5.1 软件开发。
软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:
(1)制定项目计划。大型软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项目活动的基础,也是大型软件项目跟踪与监控的依据;
(2)确定开发过程。根据大型软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发;
(3)加强过程控制。过程控制主要包括过程管理、变更控制和配置管理。
4.5.2 测试与执行。
项目测试的目的是检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能-效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。测试过程在模拟运行环境中进行。
4.5.3 内部验收。
项目完成集成测试和系统测试后进行项目内部验收,主要有三个步骤:
(1)文档准备。项目经理提交内部验收计划、项目开发总结报告、产品发布清单;财务主管提交项目财务预算报告;
(2)内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同,但应站在用户验收的角度进行,因为它是试运行的基础,通过这一步,为用户验收作充分的准备;
(3)内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告。
4.5.4 项目试运行与验收。
试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:
(1)验收前的准备。项目经理负责检查产品的完整性,包括文档、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认;
(2)用户进行验收测试和系统试运行,进行文档和系统的移交;
(3)用户确认。项目经理负责与客户协调,协助用户进行项目验收,形成用户验收报告。
4.5.5 项目维护。
软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。
4.6 大型软件项目管理的里程碑
项目的考核与评审是大型软件项目管理流程控制的基础,在整个流程中设定五个基线,即确定五个里程碑,它们分别是TM1:立项完成;TM2:合同签订; TM3:产品功能等:大型软件项目管理流程分析与设计定义完成;TM4:软件开发完成;TM5:验收通过。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。
5 结束语
本文设计的大型软件项目管理总体流程及相关技术已成功运用在大型软件项目的研发和管理中。通过将流程管理应用于大型软件项目管理中,以设定大型软件项目总体流程为主线,确定每个阶段的主要流程和里程碑,并采用评价指标体系和一系列的模板和表格进行大型软件项目开发过程的控制和管理,使大型软件项目的成功率显著提高。实践证明,针对企业和项目的实际情况,确定大型软件项目运作流程,定义软件工作产品,明确各阶段的进入条件和退出条件,进行有效的流程控制与管理,大大的提高了软件开发的效率和项目的成功率。
摘要:针对大型软件项目开发中的复杂性、易变性和不可预见性,研究大型软件项目管理流程,设计大型软件项目管理过程的总体流程,分析各阶段流程的进入条件、主要工作过程和工作结果。
关键词:软件过程,软件项目管理,流程设计
参考文献
[1]刘宽宏,殷人尾.基于CMMI的过程和产品质量保证模型[J].计算机工程,2004,30(15):75-77.
[2][美]施瓦尔贝.IT项目管理[M].王金玉,时郴,译.北京:机械工业出版社,2002.
[3]刘佰忠.项目管理是IT项目灵魂[J].湖南制造业信息化,2004(4):9-10.
[4]林锐.软件工程与项目管理解析[M].1版.北京:电子工业出版社,2003.
【软件项目管理分析】推荐阅读:
软件项目管理教学分析10-30
软件项目管理过程分析论文10-14
软件项目06-14
软件项目的项目管理12-11
中小软件项目07-14
发展软件项目管理07-08
软件项目管理活动07-26
软件项目管理研究09-12
软件项目管理方法10-10