软件项目工作经验总结(精选14篇)

关键词:企业;信息系统;软件外包;关键因素

1引言

随着现代信息技术的发展与应用,国内各行业的信息化建设全面展开。信息化建设离不开各种信息系统的支持,如办公自动化系统、管理信息系统、电子商务系统、决策支持系统等。企业在开发信息系统时,有些需要外包给软件开发商来完成,企业只有把握好外包中的几项关键因素,才能成功实施软件系统的外包。

2企业信息系统软件外包成功实施的关键因素

烟草行业卷烟生产经营决策管理系统(即“一号工程”)是20xx年国家烟草专卖局根据行业宏观调控和科学决策信息化建设发展的需要建设的信息化系统。系统建立了行业数据交换体系,通过打扫码、数据库联机方式自动采集行业生产经营基础数据,构建行业业务指标体系和数据分析模型,建立国家局数据中心,实现国家局分析展现应用的界面集成和业务集成。“一号工程”是烟草行业软件外包的一个典型的成功案例[1]。

(1)选择技术实力强、口碑好的软件外包企业

企业在选择软件外包商时,可采取公开招投标方式,对投标单位从技术能力、人员能力及软件过程能力进行综合评估,选择员工作风好、保密观念强、政治觉悟高的企业作为接包方,确保系统数据安全,并与接包方签订《保密责任协议书》,建立安全保密分级管理制度。

如“一号工程”于20xx年通过公开招投标,确定由中国计算机软件与技术服务总公司(即中软总公司)作为项目总集成商,中软总公司委托其下属的中软国际承接项目建设工作。中软总公司是国家规划布局内重点软件企业,实力雄厚;中软国际是国内领先的应用软件和解决方案供应商,在国内IT行业享有较高的声誉。

(2)充分调研与沟通,作好项目需求分析工作

企业在软件外包时必须做好项目需求分析工作。业务部门提出用户需求后,通过与技术部门、软件开发人员多次交流沟通,提出系统的综合要求及标准。开发人员通过分析系统需求,了解用户工作流程并对其进行正确分类,确定系统的`可接受性、可实施性、可测试性;在形成需求报告之前,对后期发现的不明确、不一致的地方要进行修改或补充;最后项目经理应邀请客户代表共同评审需求文档的正确性、完整性和清晰性,使需求文档正确无误地反映用户需求。

(3)明确各部门职责,选派专人参与开发过程,保证项目进度及安全

企业应明确参与部门(如归口管理部门、牵头部门、协作部门等)的具体职责,避免在软件开发出现问题时由于没有建立合理的分工、反馈和跟踪制度出现多方推诿现象;企业还应选派技术人员全程参与开发过程并建立项目进展情况表。企业参与软件开发,不仅可以培养自己的技术力量,还可以及时协调、解决出现的问题,为项目进度提供保障,还能对项目涉及的保密数据进行脱密处理,进而保证项目安全。

例如,“一号工程”在建设过程中成立了项目领导小组,国家局局长姜成康亲自主抓,副局长李克明任组长,信息中心主任高锦任副组长,各单位负责人是领导小组成员。成立了项目实施办公室,做到了分工明确,各司其责。从公开招投标到各阶段的项目建设,每个方案都经过了专家会议的若干次讨论,每一阶段国家局都召开了专门的会议进行部署。李克明副局长亲自参与布置各个阶段的工作,协调各方关系,为项目建设提供了保障。

(4)做好软件测试工作,进一步提高软件产品质量

从技术角度看,各种信息系统开发的最终目的就是得到高质量的软件产品。企业为保证软件产品质量和可靠性,必须做好软件测试工作。通过制定软件测试计划,做好测试准备工作;组建测试团队,包括测试项目负责人、测试分析员、测试设计员、测试程序员、测试员、测试系统管理员、配置管理员;选择合适的测试方法,静态测试或者动态测试,白盒测试或者黑盒测试,重点要进行可靠性及安全性测试;选择测试工具,如Parasoft、Compuware、Xunit等白盒测试工具,LoadRunner、WinRunner、AstraQuicktest等黑盒测试工具;重点做好测试中Bug和需求变更的跟踪和管理,做好Bug分类、缺陷记录、版本控制等工作。

(5)严格做好软件验收工作

软件项目的验收非常重要。企业在接到验收申请后,要认真审查软件系统的运行、文档资料、培训工作等现状,对于符合验收条件的项目,要严格按照验收标准和流程来验收。验收的主要依据是软件需求规格说明书。验收程序分技术测试和文档检查。技术测试由专家组负责。文档检查主要检查招投标书、合同、用户使用报告、信息安全测评报告、系统使用手册等。验收测试范围包括功能项测试、业务流程测试、容错测试、安全性测试、性能测试、易用性测试、适应性测试、文档测试等。

(6)做好商业秘密、核心技术等知识产权保护工作

企业在软件外包开发中,要做好知识产权保护工作。首先,要和接包方签订严格的保密协议,要求他们指定专人负责对核心技术的使用控制;其次,企业要通过技术分析及数据过滤提供尽可能少的核心机密;第三,尽量在发包方本地进行后期的数据装入,以减少商业秘密泄漏的可能。

对于产生的其他知识产权,根据我国《计算机软件保护条例》的规定:“接受他人委托开发的软件,其着作权的归属由委托人与受托人签订书面合同约定;无书面合同或者合同未作明确约定的,其着作权由受托人享有。”对此,企业要与接包方签订书面合同,明确以下3点归属问题:(1)软件作为一个整体的知识产权归属;(2)软件中的代码归属及重用性约束等具体规定;(3)因知识产权归属的法律适用及发生侵权纠纷的具体解决方式,包括责任的承担、损失的追偿等。

3结语

软件外包对于企业来说,可以提高开发效率、降低成本。充分做好以上几项工作,才能减少外包风险,保证软件产品质量,为企业带来更好的经济和社会效益。同时,企业还要针对软件项目特点,运用适合自身的项目管理模式来加强软件外包项目管理,尤其要规范项目实施过程,才能迅速适应业务需求的变化,提高软件系统的运行效率,提升企业的核心竞争力。

1、估算前的规划

当我们的办公室内堆满了杂乱无章的文件时,恐怕无法知道对于我们真正有用的文件在哪里,当我们的软件相目中收集了各种需求、意见、问题时,我们也很难从中估算出整个项目的规模、工作量以及成本。因此,在估算之前我们首先要对众多信息进行整理、归类分析,从而得到一个条理清晰的项目计划,在这个计划提供的框架内,才可能开始正确的估算。精心的规划是任何一个软件开发项目成功与否的关键,有了规划就有如成竹在胸,之后无论风云变幻,都有应对入流的方法。当然只有正确的规划,才能给软件开发指引正确的方向。

软件项目规划的重点是对人员角色、任务进度、经费、设备资源、工作成果等等做出合适的安排,制定出一些计划(包括高层的和细节的),使大家按照计划行事,最终顺利地达到预定的目标。

1.1、规划的第一步:确定软件范围

通过上面的描述,我们通过提炼和简化,得到软件的一下功能:

节点数据录入、查询、上传

总部数据汇总、查询、反馈

总部与节点的互联项目管理培训

总部数据库存储

节点数据的本地存储项目管理论坛

那么现在一个较为清晰的软件模型已经构造完毕,接下来我们需要进入计划的第二步:确定工作所需资源。

1.2、规划的第二步:确定工作所需资源

软件工作所需资源包括:工作环境(软硬件环境、办公室环境)、可复用软件资源(构件、中间件)、人力资源(包括不同各种角色的人员:分析师、设计师、测试师、程序员、项目经理……)。这三种资源的组成比例,可以看作一个金字塔的模式,最上面是人力资源、其次是可复用软件资源、最下面是工作环境。最上面的是组成比例最小的,最下面的是组成比例最大的部分。

■人力资源

一个项目到底需要多少种职务的人员构成、多少数量的人员总量,再能成为最有创造力的团队呢这恐怕是最让项目经理头疼的事情了。任何一个软件工程,都必须在确定软件的工作量之后,才能清楚地知道究竟需要多少人力才能以最小成本和最高效率完成任务。在这之前,不能盲目地进行人力扩充,而且绝对不能为了给公司抬高门面,盲目招收高学历。

■可复用软件资源

可直接使用的构件:已有的,能够从第三方厂商获得或已经在以前的项目中开发过的软件。这些构件已经经过验证及确认且可以直接用在当前的项目中。

具有完全经验的构件:已有的为以前类似于当前要开发的项目建立的规约、设计、代码、或测试数据。当前软件项目组的成员在这些构件所代表的应用领域中具有丰富的经验。因此,对于这类构件进行所需的修改其风险相对较小。

新构件:软件项目组为满足当前项目的特定需要而必须专门开发的软件构件。

在采用构件的时候,应当以低成本、低风险为使用前提。如果任何一个漂亮的构件的应用,可能会带来潜在出错的风险或者必须经过复杂修改或者效率低下时,我们都应当毫不犹豫地把它抛弃。我们只采用那些能够满足项目的需要且可直接使用的构件,或者具有完全经验的构件,或者经过稍微修改便可使用的构件。项目经理博客

■环境资源

“工欲善其事,必先利其器”,要得到高效的开发过程,就必须向工作人员提供良好的软硬件环境,包括开发工具、开发设备、工作环境、管理制度。一般管理人员都会购买可以满足需要的软件开发工具和硬件平台,但是工作环境和管理制度往往被忽视。项目管理者联盟

站在人件的角度看,向工作人员提供更轻松自在、安静舒适的办公环境的公司员工往往比整天在狭小隔间中工作的公司员工,产生更高的工作效率。而那些拥有灵活人性化的管理制度的公司,比整天加班的公司更能留住高技术的人才。所以如何在有限资金中,规划一个合理的环境是很重要的事情。转

到此为止,估算前的项目计划已经完成,我们已经形成一个工程开发框架。这是一个有界限的框架,虽然还不够精确,但足以进行估算的工作。

2、估算的对象

目前为止,一个较为准确的软件项目估算的定义是:在给定公差范围内,对于姚开发的软件规模的预测,以及对开发软件所需的工作量、成本和日历事件的预测。这个概念指出了一个事实,即估算是一种大约的估计,是将误差限定在一定范围内的估计。

估算主要包括以下几个重要内容:

规模估算

工作量估算

进度估算

成本估算

包括人力、物质、有形的、无形的支出成本估算,其中以人力成本为主要部分。比较容易被忽视的使学习成本、软件培训成本、人员变动风险成本、开发延期成本等,一些潜在成本消耗。

3、估算的策略

在软件估算的众多方法中,存在着“自顶向下”和“自底向上”两种不同的策略,两种策略的出发点不同,适应于不同的场合使用。项目管理培训

3.1、自顶向下的策略

当然由于这完全是从客户要求出发的策略,而由于软件工程是一个综合项目,几乎没有哪个项目能完全保质保量按照预定工期完工,那么这样一个策略就缺少了许多客观性。但是由于这样完成的估算比较容易被客户、甚至被项目经理所接受,在许多公司我们看到这样一个并不科学的策略仍然被坚定地执行着。项目管理培训

3.2、自底向上的策略

与自顶向下的策略完全相反,自底向上的策略是一种从技术、人性的角度出发看问题的策略。在这样一个策略指引下,将项目充分讨论得到一个合理的任务分解。在将每个任务的难易程度,每个任务依照项目成员的特点、兴趣特长进行分配,并要求进行估算。最后将估算加起来就是项目的估算值。

显然自底向上的这种策略具有较为客观的特点,但是它的缺点就是这样一来项目工期就和客户的要求不一致了。而且由于其带来的不确定性,许多项目经理也不会采用这种方法。项目经理圈子

4、估算的方法项目管理者联盟

估算方法有很多,大致分为基于分解的技术和基于经验模型两大类。基于分解的技术的方法包括功能点估算法、LOC估算法、MARKII等;基于经验模型的方法包括IBM模型、普特南模型、COCOMO模型等。

4.1、FP功能点估算法项目管理论坛

功能点估算法是一种在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。这种方法的计算公式是:功能点=信息处理规模x技术复杂度。信息处理规模包括各种输入、输出、查询、内部逻辑文件数、外部接口文件数等等;技术复杂度包括性能复杂度、配置项目复杂度、数据通信复杂度、分布式处理复杂度、在线更新复杂度等等。项目管理论坛

4.2、LOC估算法

这是一种从技术的角度来估算的方法总称,其中又包含许多方法。这类方法以代码(LOC)作为软件工作量的估算单位,在早期的系统开发中较为广泛使用。基于LOC的估算,又有点也有缺点。优点在于方便计算、容易监控、能反映程序员的思维能力;缺点在于代码行数的含糊不清,不能正确反映一项工作的难易程度以及代码的效率。因此在传统的LOC方法进行了许多改进。其中不断被使用,且不断演化的方法包括以下:

类比估算法:类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。

Delphi估算法:Delphi法是一种专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别。对于需要预测和深度分析的领域,依赖于专家的技术指导,可以获得较为客观的估算。通过专家们的互相讨论,还可以博取众长

系统分解:将系统分成若干个易于用LOC估算的部分,将其各个估算结果累加就是LOC的总规模。其中关键是建立起SBS(系统分解结构),它描述了系统的不同组件。SBS还被使用在其他重要的地方,如系统设计、系统分析等。在进行分解的时候,可以采用自由讨论的形式,可以获得更合理的SBS构成。项目经理圈子

4.3、IBM模型估算法

该模型是Watson和Felix在1977年的,是基于IBM联合系统分布负责的60个项目的总结而得到的模型。该模型是一个静态模型,而参考数据只有60多个项目,因此有很大的局限性。

4.4、COCOMO估算法转自项目管理者联盟

Boehm在其经典著作“软件工程经济学”(softwareengineeringconomics)中,介绍了一种软件估算模型的层次体系,称为COCOMO(构造性成本模型,COnstructiveCOstMOdel),它代表了软件估算的一个综合经验模型。项目经理博客

COCOMO模型是适用于三种类型的软件项目:(1)组织模式——较小的、简单的软件项目,有良好应用经验的小型项目组,针对一组不是很严格的需求开展工作(如,为一个热传输系统开发的热分析程序);(2)半分离模式——一个中等的软件项目(在规模和复杂性上),具有不同经验水平的项目组必须满足严格的及不严格的'需求(如,一个事务处理系统,对于终端硬件和数据库软件有确定需求);(3)嵌入模式——必须在一组严格的硬件、软件及操作约束下开发的软件项目(如,飞机的航空控制系统)。

4.5、软件方程式估算法项目管理论坛

软件方程式是一个多变量模型,它假设在软件开发项目的整个生命周期中的一个特定的工作量分布。该模型是从4000多个当代的软件项目中收集的生产率数据中导出的公式。初期的方程式较为复杂,通过,Putnam和Myers的努力又提出一组简化的方程式。当然这种方法也是基于长期的参考数据的积累而得到的。

4.6、WBS估算法w

这是一种基于WBS(工作任务分解)的方法,即先把项目任务进行合理的细分,分到可以确认的程度,如某种材料,某种设备,某一活动单元等。然后估算每个WBS要素的费用。采用这一方法的前提条件或先决步骤是:项目管理者联盟

对项目需求作出一个完整的限定。

制定完成任务所必需的逻辑步骤。

编制WBS表。

除了以上介绍的几种方法外,还有一些其他的方法:类比估算、推测估算、Standard-component估算法、普特南估算法等。当然不同的方法适用于不同的具体环境,有些方法虽然很好但并不一定适合当前的任务。只有量体裁衣,具体问题具体分析,才能得到尽量合理的估算。

5、估算的戒律项目管理者联盟

记住:应该满足于事物的本性所能容许的精确度,当只能近似于真理时,不要去寻求绝对的准确——亚里斯多德

对于任何一个项目经理,都知道要慎重估算,但是我们仍然会看到人力资源的浪费和财力资源的匮乏,在许多项目中存在。对于宝贵的资源,我们不是用得太多,就是根本不够用。因此,有以下前人总结出来的一些经验以供借鉴。

不要追求完美:就像没有人能预测出未来,如果还没有完成,就不要企图完美的结果。更何况估算的太精确,反而会失去灵活机动的空间。

不要为满足预算而估算:如果这个项目的预算根本不能完成100%的任务,那么就不要让你的团队委曲求全。正确地反映客观现状,不仅可以争取应得的权利,而且是完成任务的前提。

不要随意削减估算结果:有很多老板喜欢把项目经理递交的估算,不假思索地砍掉一部分。这是一种不负责任的做法,如果要削减一定要有理由。

客观地估算,不贪多不偷减:就像老板不能随便削减你的估算一样,你也同样不能在估算的时候,贪多或是偷减。贪多必然导致会浪费,偷减必然导致不足。这两个结果恐怕都不是一个合格的项目经理的作为。

论文关键词:软件过程;软件项目管理;流程管理

长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致软件项目失控的直接原因。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。

流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程和效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。目前,流程管理技术的研究已越来越受到人重视。

2流程的概念及在软件项目管理中的作用

软件项目生命周期的一系列的开发过程是各种各样的流程活动:软件项目的计划编制、系统分析、慨要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动:制定软件项目管理流程,重点考虑以下几点:

1)制定的流程能引导项目逐步走向成功;

2)制定的流程能适用软件开发过程;

3)制定的流程能指导项目开发活动.有利于对项日开发活动的管理;

4)制定的流程能以苴观的流程图表示.能使项目组成员清楚的知道软件开发与管理的过程和相互之间关系;

5)流程中的起始活动条件、终止活动条件明确、规范便于控制:

6)流程中的工作产品定义明确、可度趟,评价标准和方法具体、可操作

3软件项目管理总体流程设计

软件项目管理总体流程设计为项目搜寻、立项、售前合同生成和合同执行等5个主要阶段,分别以pl、p2、p3、p4、p5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以tm1、tm2、tm3、tm4、tm5表示,如图l所示。在这些流程中,合同执行流程是软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护.

4软件项目管理总体流程分析

4.1项目搜寻

项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜存的项目进行分析和筛选。

4.2项目立项

立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。

4.3项目售前

售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。

4.4合同生成

合同生成阶段的主要工作有:项目方案的评估与确定技术合同、商务合同的商定、评估与签署。

4.5合同执行

合同执行是软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。

4.5.1软件开发

软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:

1)制定项目计划。软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项日活动的基础,也是软件项目跟踪与监控的依据。

2)确定开发过程。根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发

3)加强过程控制一过程控制主要包括过程管理、变更控制和配置管理,、

4.5.2测试与执行

项目测试的目的是俭查系统是否符合项目合同与任务书规定的要求、项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能一效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等测试过程在模拟运行环境中进行。

4.5.3内部验收

项目完成集成测试和系统测试后进行项目内部验收.主要有三个步骤:①文档准备。项目经删提交内部验收计划、项目开发总结报告、产品清单:财务主管提交项目财务预算报告。②内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同.但应站在用户验收的角度进行,因为它是试运行的基础。通过这一步。为用户验收作充分的准备。③内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告:

4,5,4项目试运行与验收

试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:①验收前的准备。项目经理负责检查产品的完整性。包括文卡当、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。②用户进行验收测试和系统试运行,进行文档和系统的移交。③用户确认。项目经理负责与客户协测,协助用户进行项目验收,形成用户验收报告。

45.5项目维护

软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。

4.6软件项目管理的里程碑

项目的考核与评审是软件项目管理流程控制的基础,我们在整个流程中设定五个基线,即确定五个里程碑,它们分别是tm1:立项完成;tm2:合同签订;tm3:产品功能定义完成;tm4:软件开发完成;tm5:验收通过。

如图1所示。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。

5结束语

1.1教学理念落后

1.2传统项目驱动教学方法在实施中的不足

1.3CDIO工程教育模式在“面向对象软件

工程”课程改革中起到的作用针对上述问题,CDIO工程教育模式摒弃了以教师、教材和课堂为中心的“旧三中心论”,弘扬了以学生、学习和学习效果为中心的“新三中心论”,更强调通过工程实践环节引导学生掌握新知识和动手与创新能力,从而树立起以产品为导向的工程价值观,将IT企业工程师应该具备的核心素质作为整个教育活动的主线。在实施CDIO教学过程中,将更强调学生在教师的引导下进行主动学习和积极认知过程,以构建起与学生已有认知结构相联系的知识体系。

2基于CDIO工程教育模式的教学方法

3CDIO教学法在“面向对象软件工程”理论及其课程项目教学设计中的应用

3.1总体设计

3.2设计课程项目

3.3设计理论课程教学过程

3.4基于项目驱动的课程实验教学设计

3.5项目总结与项目验收过程教学设计

4实践活动

5结语

1软件项目管理存在的主要问题

1.1项目计划问题

项目计划是—个用来协调所有其他计划,以指导项目执行和控制的文件。项目计划是项目经理实施项目管理控制的基础。制定计划的过程就是—个对项目逐渐了解掌握的过程,通过认真地制定汁划,项目经理可以知道哪些要素是明确的。哪些要素是需要逐渐明确的,通过渐近明细不断完善项目计划。目前的问题主要有:一是项目计划的制定不够严谨,随意性大.可操作性差,因而实施中无法遵循。如项目计划过于粗略.落实粒度(“Breakdown”)不足,不能做到任务、进度、资源三落实。二是缺乏贯穿项目全程的详细项目计划,甚至采用每周来制定下周工作计划的逐周项目计划方式,其实质是“项目失控合法化”。三是项目进度的检查(与进度计划对比)和控制不足。不能维护项目计划的严肃性。

1.2管理意识问题

在软件企业中。项目经理大多是技术骨干,在技术方面的知识比较深厚,但是项目管理知识、项目管理必备的技能,项目管理的经验都有待提高。部分项目经理没有意识到自己是项目经理的角色。不是从总体上去管理整个项目而是埋头干具体的技术工作,其计划不周造成项目组成员任务分配不均.忙的忙、闲的闲,这将影响项目的最终实施。有些项目经理对于一些不服从管理的技术人员,没有较好的管理方法,不好安排的工作只好th己做。

1.4项目团队内分工协作问题

由于项目开发的各阶段不同角色、同一阶段不同角色的责任各不相同,项目经理把工作责任分画给团队成员时通常会出现一些不良现象。首先是山于分工不够清晰而造成工作相互推诿、责任互相推卸的现象;另外是出现“自家打扫¨前雪”的现象,即虽然分工比较清晰但是各成员只顾完成自己的那部分任务而不愿意与他人协作。

1.5沟通意识问题

项目沟通管理包括确保及时、正确地产生、收集、存储和最终处理所需项目信息的过程。它是人、思路和信息之间的关键纽带,是成功所必须的。虽然整个项目是项目经理负责,但是在决定这个业务单元山某个或者某两个人完成后,项目经理只能起管理上的控制、建议和指导的角色,不能对具体的内容进行过多的干预在软件企业中,项目经理大多是技术骨干,而项目组成员也都是“高科技人员”,都具有“从专业或学术出发、工作自主性大、自我欣赏、以自我为中心”等共同的特点。因此妨碍沟通因素主要是“感觉和态度问题”,也就是沟通意识和习惯的问题。在系统的实施阶段或软件开发的试运行阶段,项目成员基本上是持续在客户方进行工作,这种情况非常容易忽视沟通。如果没有足够的沟通意识和沟通制度、沟通工具,就有可能造成信息不畅,从而加大项目失败的风险。

1.6项目风险管理意识问题

项目风险管理是指为了最好地达到项目的目标,识别、分配、应对项目生命周期内风险的科学与艺术。风险管理对选择项目、确定项目范围和制定现实的进度计划和成本估算有积极的影响,并有助于项目千系人了解项目的本质,使团队成员参与确定优势和劣势。目前项目风险管理意识的问题主要有两种情况。第一是项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单,在做项目规划时常常没有做专门的风险管理it~’l文档,而是合并在项目计划书中。第二是项目经理没有充分意识到风险管理的重要性。对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对后面的风险防范起不了什么指导作用。

1.7项目收尾问题

项目经验总结是项目经理和项目组人员在项目完成后就取得的教训写的报告,是项目收尾的一个重要组成部分。总结在本项目中哪些方法和事情使项目进行得更好、哪些对项目制造了麻烦、以后应在项目中避免什么情况。哪些事情应在后面的'项目中坚持等等。项目经理在项目结束时有些是因为项目人员已经不足或不全,或是因为有新的项目要接没有时问,总体对项目经验总结的重视程度不够。有些是项目经验总结一再拖延,有些是交上来的报告质量较低,敷衍了事。

2加强软件项目管理的建议及措施

2.I制定相符的项目计划

制定计划的精髓不在于写出一份好看的文档,而在于运用您的智慧去应对各种问题和面临风险并尽可能做出前瞻性的思考。计划是用来指导工作的,制定项目计划必须把握项目it~,l的粒度,粒度越细则控制力度越大,但项目管理的成本越高,反之则控制力度越小。凶此必须按照特定的项目量体裁衣,该详细就详细,该简略的就简略,制定相符的项目计划。许多组织都有项目计划制定的指导原则。例如,美国国防部的2l67标准“软件开发计划”用于指导那些为国防部开发软件的开发商制定软件开发计划。电气和电子工程师协会(IEEE)的1058.1标准描述了“软件项目管理计划”的主要内容。表l给出了“1EEFYI,T:,准软件管理计划”的格式。遵循那些标准和方针有利于项41汁划的制定和执行一旦it~,l被负责任地完成,他就可以给闩己一个和管理层或客户交流和协商的基础,帮助其在项目过程中防范各种题的出现,保证项H的按时完成.

2.2使用wBS(WorkBreakdownStructure)和资源负荷直方图,合理分配任务

2.3项目组成员应互相协作、互相配合

项41经理通过使用WBS将工作范尉进行分解.并将工作责任分配给团队成员,同时应强调不同分工、不同环节的成员应当相互协作,共同完成任务。虽然项目的进行有不同阶段的划分,但各阶段还是相互联系的。上一阶段工作的结束不能只交付阶段性成果,往往要通过多次沟通才能更为清晰地披下一阶段成员所接受,其有效性、合理性也要被下一阶段的工作所检查,通过检验有时也有必要对上一阶段的工作结果进行相应的凋整。因此,项H组成员都应根据需要相互协作,相互配合,共同完成任务。

24加强沟通意识

2.5加强风险管理意识

项目经理必须通过学项41管理知,掌握项H风险管理的必备知,加强对项14汁划中的风险管理汁划的审核,提高项41组的管理意识。总结本行业项目中常见的风险及其对策作为风险管理汁划中必要的『x【险内容,并切实评估相应对策的有效性和可行性。

2.6重视项目经验总结

项41经理及管理人员应对项目经验总结引起足够重视。在制度上鼓励和JJu强项目经验总结工作,使得项41经验总结及时并且具有指导意义而不是敷衍了事,为以后的项41人员更好地工作提供一个极好的资源和依据。

20xx年是我进入公司的第一年,无论是对于生活阅历还是工作经验以及技术知识都取得了很大的成效与进步。在公司的几个月里我着实成长了许多,尤其是对专业知识技能的提升、此外还增长了一些对行业的认识以及开发流程。

20xx年度个人工作中存在的问题和不足及改进方法

刚进公司的时候我面临很多问题,在工作中遇到非常多棘手的问题,不断请教前辈们.有了他们的帮助和自己坚持努力,我发现我所遇到棘手问题越来越少,就这样我从一个新人慢慢变成一个可以担当一面的团队成员,我再也不怕遇到问题。在未来的一年里我应该多锻炼自己表达能力和加强对普通话的学习,其次,对于技术方面了解不够全面,不够广泛,好多技术都还处于一个熟悉、认知阶段。在未来的日子里我会给自己拟定一些目标和学习、提升路线,让自己技术以及各方面不断的提高。不让自己只局限于技术方面的提升与提高在工作中我体会到了坚持就是胜利,程序员必须有较强的适应能力和承受能力,需要不断的进行学习补充新的知识,只有不断的扩充、更新自己的知识才能应变技术的更新与发展。

提出目前公司存在的各方面问题及合理化建议

公司领导比较给力、很会照顾下属,同事之间也比较容易相处,团队互助性也比较强。但是我们公司对于技术上是不是应该增加一点技术储备方面东西。我希望公司能够一个强大知识库,比如某一天某个人解决了一个极难解决或者比较罕见的问题。有必要保存到知识库里,以备后续之人有一个学习认知的空间。

对自己20xx年度整体表现的客观评价

20xx年度是我在学习中不断总结经验、吸取教训、获得成长的年度。

综上所述,对于20xx年的工作整体表现,我对自己的评定是满意的。

1.在原有体系不变动情况下,配合团队完成社会组织信息系统后续的开发。

2.加强自己工作中阐述问题的能力和分析能力以及解决问题的能力。

3.不断学习新的技术与知识,让自己更能适应新的需求发展变化,给自己制定一个短期目标以计划。

4.努力更正自己开发习惯,提升自己开发技巧。

5.了解技术以外的知识,摆脱自己“机器人”的概念。

20xx年度个人主要工作内容和任务的完成情况

20xx年度,我的主要工作集中在产品研发及优化领域,现将参与的主要工作内容和任务的完成情况总结如下:

一、新人学习

二、公司平台的研发

参与了平台的部分功能研发,主要参与以下功能模块的代码编制、优化和初步的功能验证测试:系统平台对接浪潮系统、系统对接审批事项清单模块,系统管理模块,筹备成立模块、成立登记模块、分支机构管理、组织管理、注销信息管理、变更信息管理等等。在研发中,按照团队规划完成了个人的任务并按照编码规范进行了源码优化。对于部分编码进行分析和重构,对于部分功能模块进行了效率优化和源码简化,提升代码的可读性、可复用性、可移植性。整个研发过程,积极融入团队,提升技术水平的同时进一步加深了对公司产品业务的理解。

三、公司产品平台的优化

参与产品平台的优化。使用技术方法通过重构改进了产品的运行效率。从构建模式、实现方法、代码风格上进行了多方面的知识整理、分析和优化。并以此为契机,强化了效率优化的意识,学习了效率优化的方法,同时,增强了研发中兼顾效率的意识。

20xx年度个人取得的成绩和经验

20xx年度工作计划安排

2020xx年度工作计划安排

个人职业生涯规划

一、短期目标(提升专业技术水平、掌握解决问题的方法)

二、长期目标(专注改进薄弱环节,掌握提升效率的技巧,深化业务理解)

在不断巩固自己专业知识前提下,加深对业务的理解能力、分析能力、主导能力、不断充实自己各方面知识技能,强化自己薄弱环节。做一个合格高级软件工程师。

软件项目管理这门课程是我们软件工程专业学生的一门重要的课程,这门课程的开设必有其重要性。软件项目管理的提出是在20世纪70年代中期的美国。由于开发项目不能按时提交、超出预算、质量达不到用户的要求等原因,70%的项目出现问题。于是,软件开发者开始逐渐重视软件开发中的各项管理。软件项目管理和其他项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。因此,项目管理对软件生产具有决定性的意义。

只有相信团队合作才可能把项目做到最好,从整个项目的过程来看,团队合作中需要沟通、分工、协作和监督。只有做好这四项才算是一个好的合作团队。首先,团队合作最基本的技能就是沟通。沟通的目的就是让别人了解你的想法,因为每个人考虑问题的时候总会有各种各样的偏差,我们只有沟通很好的沟通来综合所有人的好的想法,以减少走弯路,而让事情进行的更顺利。因此我们也开了几次会议来互相了解沟通,当然最重要的是与项目经理的沟通。会议中他很认真负责地跟我沟通,我在沟通中用词不当或犯什么错误时,他都会指出来,并改正我的说法,因此单从与他的沟通中就学到了不少以后工作时将会用到的实在的知识。我们项目每人都是按照他给我们的计划提交相应的文件给他,但质量是参差不齐的,他都会进行审核,然后给出建议,让我们修改优化后,他才会通过。

开一次这样的会不容易,这应该是信息部两年来人员最全的一次会议。外地的同事很辛苦的千里迢迢赶过来,希望大家珍惜这个机会,好好的沟通和交流,使以后的工作进行的更顺利!

一:)美容院财务系统:

3)从4月到5月中,经过一个半月的努力,最终完成了美容院财务系统的分布式操作,相比去年的分布系统更加稳定、准确;

4)在系统中增加了客户经理操作美容院财务系统的权限(点菜系统),相应的减轻了一线运营的工作以及让客户经理更好的管理好自己的客户;

5)在系统中增加了护理记录的自动输入功能(即在财务系统中的交款、开卡、消费等操作记录自动录入到美容院业务系统中),从而减轻了一线前台的工作;

二:)美容院业务系统:

20xx工作规划及打算

总结20xx年,对于自己感受更多的是忙、压力、成就。

压力:看看未来的工作规划,有个时候听别人说修改完这个需求后可以减轻别人的工作,总让自己感觉到很大的压力。系统的稳定性、数据的准确性,对于公司两个重要的系统来说表现的尤为重要,虽说这两个系统还算稳定,但是还是避免不了一些问题,总给自己带来一些压力,这也是以后的重点改进,以确保更高的稳定性。

成就:当自己接到系统的一个需求后想到能够给别人的工作带来方便、简化,即使再累也要以自己最快的速度最完善的完成,当完成后自己感觉很有成就感。

20xx年我们继续努力。

一、个人工作详细说明

本次软件项目设计的题目是场地预约系统,它是基于B/S模式实现的用于体育城场地管理预约的Web应用软件。为用户提供并接受用户提出的需求信息,同时通过数据库管理系统存储数据,给场地的管理带来很大的方便。本项目的实现分为前台与后台。其中前台,用户可以浏览场地所提供的可预订场地的信息,同时可以对需要的场地进行预订;后台主要是针对管理员,管理员可以通过后台对场地的相应信息进行增添修改等操作。

我基本参与了本项目的全部实现过程,涉及项目的需求分析,概要设计,详细设计,代码编写,调试与运行。在需求分析阶段和小组其他成员认真分析讨论了本项目各方面的需求,主要是功能方面的需求,基本确定了本场地预约系统应该具有的基本功能。概要设计阶段通过讨论分析确定了所需表结构。详细设计阶段参与部分代码的编写,其中包括页面与数据库交互的实现,还有相应jsp页面代码的实现几布局的调整,修改。

在数据库设计实现阶段,通过和我们组其他成员的共同讨论,确定了场地信息、用户信息等表结构的详细信息,并实现了其数据库的建立和相应表的具体信息的设计实现。同时针对个别表结构完成了相应代码的编写与实现。

在后台,实现了用户的信息的浏览查看,修改及删除等功能,同时完成了足球场等场地信息的浏览、增添、修改、删除等功能。

经过我们小组的共同努力,最终基本上完成了场地预约系统的实现。虽然做的不是很完美,不是特别有创意,但这是我们共同努力的结果,当我们看着自己亲自完成的项目觉得很欣慰。

通过这次课程我对前边多学的知识有了进一步的认识与掌握,使我进一步认识到课本所学知识与实际应用是不一样的,在实际应用中需要你去针对具体的问题去灵活的变通处理,而并不总是和课本上的知识一样。同时,我深感只有通过具体项目的实践,才能更好的掌握所学知识,并进一步的融会贯通。

这次课程设计使我深刻认识到了一个项目的实现最重要的还是需求分析而不是代码的实现。在此次场地预约管理系统的实现过程中,我们就是因为期初对本系统的需求分析工作没有做到位致使表结构的建立存在不少问题,进而导致后边在代码的实现过程中又重新回来修改数据库的表结构。这样就不得不对已经实现的代码进行修改,这个过程将会是一个相当让人头疼的过程。一个系统的实现关键的不是代码的编写,而是设计,只有设计合理了,在后边代码实现的过程中才不会遇到问题,才不会像我们这次那样需要反复的修改。

总的来说,本次课程设计使我对软件开发有了进一步的认识,学到了很多知识。这将对我以后的工作学习产生重要的意义!

面试程序员理想的方法是由开发小组的其他成员一起来面试,如果谁看不上眼,他都不能加入,否则以后会有很多麻烦。这样做的另一个好处是借此机会互相认识一下,经理一定要把新员工介绍给大家,并且小组每个员工都应该过来握手介绍自己,这是起码的招聘礼节。

程序员需要关心尊重

心态调整问题

作坊式作业的时候,软件是由一两个程序员写的,软件写完了,虽然在产权上这个软件或许不是自己的,但程序员心里会觉得这个软件就是自己的,对这个软件的感情就象对自己的儿子一样,关于这个软件一切成败荣辱都被看成是自己的,在这种心态下,程序员会不分白天黑夜地超常投入。而现在的软件一般都是十几人、几十人甚至上百人协作完成,软件写成后究竟是谁的有了荣誉是谁的都不是太明确,同样,软件有点毛病也不专是哪个人的,而是大家的,既然是大家的事情,那就让大家来做,我为什么多操那个心如何在大协作的背景下最大限度地提高个人的积极性很值得仔细研究。设计部分大家参与、多开会交流、让程序员直接倾听用户对自己工作的意见等方法不妨一试。

一、短期目标(提升专业技术水平、掌握解决问题的方法)

二、长期目标(专注改进薄弱环节,掌握提升效率的技巧,深化业务理解)

二、项目组内部成员关系处理。在项目工作的这几个月里大家相处融洽,项目组内部共同探讨解决问题的方法,向各模块负责人学习模块功能处理方式,向业务人员了解系统中涉及的业务知识点,两者结合起来进行模块功能测试。鉴于之前辖内对公交易系统和中行对公项目的经验,也向项目组提出了一些完善性意见。

四、测试成效方面。中信x-funds2.0系统测试中,共记录问题及客户新增需求825个,其中bug数量512个、系统完善类问题225个,新增需求类问题88个。组织了四轮次内部系统全面测试工作,兼顾日常系统更新测试工作,最大限度的进行了内部质量把关。配合外包公司一同进行系统压力测试及稳定性测试,测试结果符合客户要求。现中信x-funds2.0系统临近投产实施工作,测试组还将继续配合配合项目投产工作及投产后的补丁更新测试工作。

THE END
1.软件开发需要学习哪些东西,小编今天为大家整理如下相关产品:软件开发需要学习哪些东西 , 小编今天为大家整理如下 关于东莞市数云网络科技有限公司商铺首页|更多产品|联系方式|黄页介绍 主要经营:数字藏品系统开发,元宇宙系统开发,嗨购模式,广告电商系统,泰山众筹模式,分享购cps系统、定制开发、请联系18002820787模式快速开发.APP软件系统公众号小程序开发APP软件系统公众号小https://product.11467.com/info/20852241.htm
2.初学者如何学好软件编程?从零基础到精通,收藏这篇就够了!能找到哪些工作呢 软件开发工程师 Java程序员 WEB前段工程师 运维工程师 … 选择很多 那在成为程序猿前 我们还是要去进行系统的学习 在深圳科创学习 能提高专业能力、实践能力和创新思维 毕业后适应社会并成为各行业的专精人才 专业课程 Java开发 前端UI https://blog.csdn.net/A1_3_9_7/article/details/144376756
3.软件开发的本质,分层结构的合理性,各阶段内容与规约的简单说明具体来说,软件开发的目的是将现实世界中的问题、需求、概念和处理逻辑等映射到计算机运行平台上的概念和处理逻辑,从而实现软件的各项功能。 这一实现映射的过程必定伴随着复杂性。为控制这一映射的复杂性,需要对从问题域的概念和处理逻辑到运行平台的概念和处理逻辑映射进行分层。即分为需求层、设计层、实现层、部署层https://www.bilibili.com/read/cv36272034
4.成为JAVA软件开发工程师要学哪些东西修行,波动线*第十阶段:Servlet开发,从此开始踏入java开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,这个是java web开发的基础。 *第十一阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念; *第十二阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库; *https://www.cnblogs.com/liuzhi/p/4065805.html
5.手机app开发电脑要安装哪些软件,要学哪些东西4条回答:【推荐答案】上百度传课,里面有你想要的学习资料,很复杂,要自己配置开发环境,里面有视频的,自己去找找吧,内容很丰富的https://wap.zol.com.cn/ask/x_1464204.html
6.软件开发学习理论学习固然重要,但实践才是软件开发学习的核心。尝试完成一些小项目,如开发一个简单的网站或游戏,这将帮助你巩固所学的知识,同时也能让你体验到软件开发的全过程。此外,参与开源项目也是一个很好的学习机会,你可以看到其他人是如何编写代码的,从中学习到新的技术和方法。五、持续学习和更新知识软件开发是一个不断https://aiqicha.baidu.com/qifuknowledge/detail?id=10062428629
7.软件开发需要学什么软件开发流程介绍→MAIGOO知识学习软件开发需要大量与数学、英语打交道,所以需要有一定的数学、英语基础。有了这个基础,学起来可以事半功倍。当然,对数学、英语的要求也没有想象中的那么高。 2、基础编程语言 编程语言是学软件开发的钥匙,初学者好根据自身的喜好或者职业规划选择语言。目前主流的编程语言包括Java、PHP、.net、C#语言等,新手建议https://www.maigoo.com/goomai/177198.html
8.软件开发工程师需要学什么,软件开发需要学什么5,软件工程师要学哪些 1,软件开发需要学什么 软件开发工程师需要学指导程序员的工作;参与软件工程系统的设计、开发、测试等过程;协助工程管理人员保证项目质量;负责工程中主要功能的代码实现;解决工程中的关键问题和技术难题。 这个学习有很多比如前端开发和后端开发之类的 http://www.lisdn.com/mnsj/hhjy/508158.html
9.做程序员需要学哪些东西wx6225b14cdec17的技术博客做程序员需要学哪些东西 在软件行业,软考是一项重要的国家级考试,为考生提供了成为程序员的机会。通过软考,考生可以获得相应的职业资格证书,证明自己在计算机技术与应用方面具有一定的专业能力。那么,对于有意向成为程序员的考生来说,需要学习哪些东西呢?本文将详细介绍软考做程序员所需掌握的技能和知识。https://blog.51cto.com/u_15538975/8152484
10.软件开发如何入门当我刚开始学习软件开发的时候,我根本毫无头绪。 我感觉很沮丧。所有的东西我都看不懂,我甚至不认为我可以“掌握”编程。 我之所以告诉你这点是因为我觉得既然你选择了我这本书,说明你可能跟我那时的感觉是一样的。 不要担心,这很正常。事实上,这根本就是常态。 https://www.jianshu.com/p/751b3368adab
11.《编程的原则》读书笔记(三):软件架构的基本技法和非功能需求我们要把基本技法应用到代码之中。基本技法不是从某种软件开发技术中总结出来的。这些技法是更为本质的东西,它们适用于一切开发方法以及编程语言。 软件架构基本技法 抽象 软件架构基本技法之①:抽象 Abstraction 抽象,是指在概念上明确划清界限,这种明确划清界限的方式可以将一个模块与其他模块区分开来。抽象由: https://xie.infoq.cn/article/cb1e34a8d69f8ceff19bab27f