软件项目管理的理解

  软件项目的管理涉及都整个软件工程,其主要是整个软件过程进行项目范围的确定以及评估,风险、资源的评估,以及确定要完成的任务等,目的是为了保证任务的按时按质完成,同时减少不必要的开销和开发周期,做的是初期的整体规划。由于刚涉及这个领域,也就看了看几篇文章以及相关的资料,故对此的总结难免带点自己的观点,如有雷同,纯属巧合。

  我认为软件项目的管理应该包括如下几个方面:1.风险评估、2.成本预算、3.客户的沟通过程、4.需求分析、5.面向对象的程序设计、6.开发管理、7.产品交付。

1.风险评估:

  软件项目的风险指的是在整个项目的周期中所涉及到的成本预算,开发进度,技术难度,经济可行性以及安全管理等方面的问题。这些问题能够对整个项目的实现构成影响。软件项目风险则分为产品规模风险、需要风险、相关性风险、技术风险、管理风险、安全风险等六个方面。

  规模风险:软件规模的大小和整个软件风险的大小成正比关系,如何确定复用软件的多少,如何保证软件各模块之间的通信无误等问题与产品的风险息息相关。需求风险:往往在软件确定之初,软件的需求就不确定,更何况在整个软件的开发过程中,软件的需求也可能会发生一定的变化,如何一开始就能比较准确的确定软件的需求,这是一个难点。相关性风险:有些风险则是有项目的外部条件所决定的,比如市场的变化性,人员的可得性,团队成员等等因素都能使项目风险变大,控制外部的风险能够有效缓解决策的失策。技术风险:技术风险往往是因为团队成员缺乏相应的培训,对新技术新方法新工具新领域的不了解等。管理风险:人往往对自己所犯的错误视而不见,因此对于一些存在先天不足的项目经理写的项目风险管理计划而言,或多或少存在一些固有的缺陷:对于计划和任务的定义不够清晰,对于实际的项目并不是十分的了解,过高的估计了团队的能力,以及对底层员工的信息交流不够及时等。安全风险:对于一款软件而言,其本身就是集众人之所成,是一个创造性的产品,防止被别人所窃取对于公司有时是一个生死存亡的大事,因此对其的法律保护就显得很重要,同时也应该避免出现侵犯他人知识产权的现象。

2.成本预算:

  成本预算的方法分为两种:一种是自顶向下的方法,一种是自底向上的方法。前者是通过高层根据经验指定相应的任务并分配给下面的员工,底层的员工只是被动的接受任务完成任务,并不能实际参与都项目的制定管理过程,一旦上层制定的目标出现偏差,带来的损失将是十分的巨大。而后者则是通过对现有的资源进行配置的,能够利用手中资源进行合理的分解,故而能达到节约开销的目的,但是此过程往往比前者更花时间。

3.客户的沟通过程:

  客户的沟通阶段可以分为如下几个过程:需求识别阶段,方案制定阶段,项目实施阶段,结束阶段。在需求识别阶段通过与客户进行实际的交谈或者是调查问卷、标准化文档展示等多种方式了解客户的大概需求,并制定相应的需求文本分析给客户审核。实际参与了解客户业务的逻辑,针对不同用户设计合理的用户界面并及时多次与客户沟通以便得到更加准确的需求文档,同时也应该规范化需求文档,以便客户的可读并实时告诉客户开发的情况以及实际的成本。方案制定阶段的主要任务就是与客户共同制定一个前期可操作性的项目计划,同时考虑到规避风险。项目实施阶段通过软件团队和客户共同领导,实时让客户参与软件的评价,并根据客服的要求修改,告诉客户修改后的后果以及各种风险进而达到减少需求更改的目的。结束阶段该阶段主要进行项目成果的移交,并把系统交付给维护人员,帮助客户实现商务目标,结清各种款项。完成这些工作后应该进行项目评估,审核此项目的成果并总结项目经验。

4.需求分析:

  需求分析阶段主要的任务就是确定对系统的综合需求,制作相应的文档并从中提取软件的需求规格说明书,分析系统的数据需求包括概念模型、数据字典、规范化,导出系统具体的逻辑模型,开发原始系统。

5.面向对象的程序设计:

  设计的原则应该是,保证类的单一原则,确保每个类只做一个事情,保证每个类、模块和函数都有相应的借口,使得有很好的扩展,应该保证类内高耦合,类间低耦合。UML建模:(1)  业务对象的提取 (2)  根据SRS、CRC等实现用况建模 (3)  实现业务顺序图 (4)  建立类图,根据用例图建立对象之间的关联 (5)  绘制活动图、实现协作图、状态图

6.开发管理:

  开发过程中的管理首先应该建立相应的项目计划,设立总体的架构,控制项目的可扩展性,建立起项目启动时的基础并分配好开发的任务,部署好相应项目的开发进度,同时做好项目的测试工作以便保证项目的准确性。确保开发团队的合理性和效率性,实时监督项目的质量,并做适当的项目修改。

7.产品交付:

  在项目最后完成交付用户之前,应该对项目进行后期的质量审查,邀请典型用户对产品进行体验,确保项目能按质交付,在交付产品之后应制定出产品的最终报告,这份报告应该包括:项目初期时的项目视图,对项目的评估以及支持性的信息,项目的范围、开发流程、项目开发过程中的会议记录、项目的变更报告及其理由、项目的沟通过程文件、项目的审核和客户的验收报告,项目的成员表象,项目的最终结果。此外还应该包括该项目的总结。

时间: 2024-10-13 12:00:34

软件项目管理的理解的相关文章

软件项目管理与素质拓展-前言

前言 十五年前,心比天高.踌躇满志地跨出清华园,步入IT职场.六年前,折戟沉沙,怀着无尽失落来到长安山下的百年师大. 青春的校园充满活力,青春的校园充满矛盾.年轻的一代一方面个性张扬.敢想敢干却又敏感脆弱.眼高手低.他们勇于求新.渴求认同,他们心浮气躁.叛逆自我.他们随性而为.挣脱一切,他们沉迷游戏.追逐韩剧. “师者,所以传道授业解惑也.”保持一颗年轻的心,敬畏学生,享受教学.站在三尺讲台上,如履薄冰.从那些执著于语言算法,而又不谙世事的莘莘学子身上,依稀看到当年的自己.成功难以复制,失败或可

软件项目管理(CMMI成熟度)实践——之决策分析(3)

续<软件项目管理(CMMI成熟度)实践--之决策分析(1)>.<软件项目管理(CMMI成熟度)实践--之决策分析(2)>,后记. 关于前端开发技术架构决策分析的活动已经结束了,按理说不应该这么快来写总结,但是,的确发生了很大的变故.因此在此写写后续发生的事情吧. 我很高兴,项目组开发人员在通过长时间热烈的讨论.研究后,终于通过决策分析方法选择引入JavaEE技术架构,并把Cordys产品放在后台.我感觉到我的压力骤减,主要原因如下: (1)受Cordys产品限制.制约,大幅减少:

软件项目管理(SPM)-课后感想

为期8周的软件项目管理课程已接近尾声,下面谈谈我对这几周所学课程的一些总结和感想: 先说说我觉得挺重要的一些知识点: 1. 软件项目管理的基本认识: 软件:是一系列按照特定顺序组织的计算机数据和指令的集合 项目:是为完成某一独特的产品.服务或成果所做的一次性努力 管理:是为了完成一个设定的目标,有效并高效的运用某些资源,而组织一批人进行的活动 2. The Four Phases of Every Project:详细介绍了各个阶段需要完成的工作任务 Phase 1:Should We do t

浅谈软件项目管理

初步接触<软件工程>这门专业课,在我看来:软件工程是一个极具挑战性的项目,在约定的时间内,整个项目小组可以在满足用户需求与软件基本规范的情况下,开发出稳定可靠的软件.但是,在软件开发的过程中,往往有许多不可规避的风险与未知的情况,例如:软件不能按时交付,软件的成本明显超过预期,软件未能达到用户的需求等等,"如果所用的时间是预计时间的两倍以上或费用超出预算两倍以上的项目为失控项目",为了有效规避项目在开发过程中的风险,所以笼统来说,项目管理指的是:根据特定的规范,在预算的范围

软件项目管理与素质拓展-序

美国国防部的一份报告表明,所有失败的项目中,70%是因为管理不善引起的.软件项目管理是一门融合了管理学.心理学.组织行为学.计算机科学.软件工程等多个学科的交叉性综合课程,对培养全面均衡发展的卓越软件工程师起到积极的作用. 劳厄说过“重要的不是获得知识,而是发展思维能力.教育无非是一切已学过的东西都忘掉后所剩下的东西.”美国普林斯顿大学对1万份人事档案进行分析,结果显示:“智慧”.“专业”.“经验”只占成功因素的25%,其余75%决定于良好的人际沟通. 决定一个人在职场能走多远的,不是今天学校里

[有关软件项目管理]学习心得

算是一些和软件项目管理学习有关的心得吧. 接触软件项目管理这门课程以后多少了解到了一些关于未来发展的方向和事务处理的技巧.是较为生动的一门课程,很感谢王赞老师和Austin的指导. 即便还没有接触到和软件项目管理有关的大环境,一些课堂讲授的内容也能应用于日常生活和学习中.在下一阶段的实训当中相信就能学以致用. 另外作为一个团队进行探讨分工,限时高效的完成分配的任务不得不说是一件很有意思的事情,不仅使思维活跃也让项目完成得更出色,我想这种模式是我们所需要且应该加以锻炼的. 第三是中英文授课交替也让

《软件项目管理》课程

之前有在网络课程里学习过<项目管理>这个课程,对管理还是十分感兴趣的. 以下是我在学习<软件项目管理>中的一些体会: 第一,要认清形势. 我觉得任何事情一定要在认清形势的基础上再开始考虑如何计划,这样才能让别人满意你的结果而自己也能获得较大的收获.一开始就强调过,我们不应该把这个项目当成还是课堂的项目,完成老师的硬性要求,而是一个真正的公司的项目. 第二,相信团队合作才可能把项目做到最好. 从整个项目的过程来看,团队合作中需要沟通.分工.协作和监督.只有做好这四项才算是一个好的合作

关于软件项目管理的心得体会之一

目的 软件项目管理是一项涉及面较广,但是非常必要的一项技能.相较于软件开发中的其他专业技能, 又更加依赖于实践和阅历.这里想跟各位同仁分享一下自己在过往项目中的心得体会,结合些许耳熟能详的理论,起到抛砖引玉的作用. 局限性 项目管理既然是一门实践科学,所以这里跟大家分享之前,还是要说明局限性.因为我之前是在一家提供软件服务的传统软件公司工作, 所以很多项目的经验都来源于作为乙方的外包项目,同时,大部分项目都是移动相关领域.目前我在一家国内的互联网公司,从事的电商相关的应用项目. 开篇 想跟大家分

软件项目管理

从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而成本.人员.进度.质量.风险等进行分析和管理的活动:与其他工程项目相比,软件项目具有以下显著的特征: (1)软件产品的不可见性: (2)项目的高度不确定性: (3)软件过程的多变化性: (4)软件人员的高流动性: 有效的软件项目管理集中于4个方面:人员(People).产品(Product).过程(Process)和项目(Project),简称为项目管理的“4p”. 软件项目的生命周期包括项目启动.项目规划.项目实