学习啦 > 励志 > 成功学 > 成功案例 > 软件开发成功案例3个(2)

软件开发成功案例3个(2)

时间: 小兰676 分享

软件开发成功案例3个

  软件开发成功案例篇3:

  一、项目实施进度评估。ERP项目是复杂项目,其涉及的部门、人员、资金、资源等对于任何一个企业来说都是空前的,而在上一节中我们通过项目三角形分析出来,项目的进度是否能够按照设计规划的进行是影响项目效果的关键因素,所以评估项目的成功与否,首先必须评估项目的进度是否按照预期的进度进行,如果每一步或者每一阶段,都能够严格的按照进度进行,相信项目会成功的,否则就是项目设计出现了问题。一般来说现在评估项目实施进度的方法可以使用目前最为常用的项目管理工具,其中Microsoft的Project就是不错的工具之一。其实很多项目的实施失败原因是虎头蛇尾,开始的时候大家心气十足,进度基本可以按照计划进行,而到了后来,每个人的工作都是交叉的,往往会受到其他工作的影响而忽视了项目的进度,致使项目进行不下去。所以除了有相应的制度保障之外,一定要有工具,再者说了搞IT的人不用IT工具,那不是“卖盐的喝淡汤”吗?当然现在的IT行业非常普遍。

  二、项目成本评估。项目成本是评价一个项目是否成功的第二个关键因素,同样在项目三角形中成本占了一条边,所以成本的变化将直接影响项目的成功,如果一味追求项目的功能和进度,而忽视成本,那将不是搞项目,而是在赌博。现在的ERP项目本身的费用就很高,而且没有公开价格,国家价格监督都没有依据,全靠软件商的一张嘴,说多少是多少,会侃价的省点,不会侃价的就多花点。但是一旦我们已经和软件公司和服务公司(咨询公司)达成了一致意见,关键的问题就在于如何有效的利用双方同意的费用达成预期的任务目标,而往往在项目的开始企业的管理者认为项目刚刚开始,投入还不多,而不注重有效控制成本,而到项目实施一段时间之后,发现项目的预算已经不能保证项目的完成了,或者半途而废,或者追加投入,而追加投入又会遇到企业资金是否充足的影响。所以我们建议在项目开始之前一定尽量准确的做出项目预算,并拿出专款,避免在途中因资金影响项目进展。另外成本控制要从采购、人员工时等多方面严加控制。并建议分阶段进行成本评估,如果每个阶段都能够在成本控制范围之内最终的项目一定保证在成本范围内成功,关键在于当出现项目费用超出预算成本的时候要及时调整,确保总体成本控制在范围之内。

  三、项目功能评估。ERP是功能性产品,最终项目是否成功很重要的一点要看功能,看功能是否达到了预期的要求。ERP的功能从总体上来说分为几大部分:进销存管理,或者现在有的公司定义的内部物流管理;财务管理,包括总账、应收账、应付账、固定资产等;计划管理,在企业中大都会涉及到两种生产模式的计划方法,分别是单件小批量生产模式的MRP计划方法和大规模流水线生产模式的JIT计划方法;粗能力计划和细能力计划等核心资源管理;另外还包括人力资源管理;设备管理;工、模、量、夹具管理;质量管理等外围资源管理。一般来说,软件商在签约之前都会给企业的管理者演示他们的功能,我告诉企业一个秘诀,在观看演示的时候一定要刨根问底的看功能,而不能走马观花的浏览。两者之间的区别就在于不要被软件商的演示者的各种托辞搪塞过去,一定要亲眼看到他们说能够实现的功能,不要相信没有数据不能演示、不是最新版本等解释理由。如果他们说有什么功能就当场拿出来。否则就是没有,在事实面前任何理由都是苍白的。在项目结束之前,对照双方约定的功能清单,逐个推敲,如果每一个功能都实现了,项目一定能够成功。

  四、项目效果评估。功能具备只是基本的要求,关键还要看效果,这一点可能有人不容易理解,其实在ERP管理软件中有很多功能从表面上看功能和效果是有很大的区别的,比如MRP计划,可能大多数的ERP软件现在都能实现这个功能,但是是否准确,是否可以通过MRP计划直接指导生产,甚至直接根据计划产生的结果安排采购,这并不是任何一家软件都可以做到的,这里面涉及到计算方法是否科学,是否符合行业的规范,考虑的因素是否完整,预置的参数是否科学,比如提前期设计的是否合理,安全库存设计的是否合理等等都会直接影响计划的结果,其实真正的软件公司的功底就在这里区别。

  五、可操作性评估。ERP软件的最终目的是让企业的广大职工都能够使用,所以可操作性如何是项目成功与否的另一项重要指标。企业的大多数使用者,尤其是一线的职工,计算机的水平都不会太高,如何让软件具有很容易操作的界面,让普通的职工也能够使用软件来操作,确保每一位使用者都能够方便快捷的使用ERP软件是项目成功的重要条件。有很多软件功能很强,但是就是操作起来难度也很大,非专业人士无法使用,这绝对不是优秀的ERP软件,优秀的软件应该是只要熟悉业务的人就可以操作,所谓所见即所得。

  六、项目的延续性评估。ERP项目是企业赖以发展的长期投资项目,绝对不是消费型项目,所以项目是否能够伴随着企业的发展而持续得到应用是评估项目成败的另一向重要指标。持续性体现为升级能力、功能的扩展能力、客户化能力、跨平台能力等几方面:现在的软件平台每几个月就升级一次,当然应用系统的升级不一定要求紧跟系统软件的速度,但是也要及时升级,随着管理理论和管理方法的不断发展,管理软件的升级至少要跟得上管理方法和计算方法的更新速度,否则就是落后的;功能的扩展能力,就像上面我们所说的功能是评估的一项指标,但是功能能否根据企业的发展而及时更新,另外还有客户化的能力和跨平台的能力也很重要。

  软件开发中的注意事项:

  1、项目设计

  项目设计的主导思想,我觉得可以理解为两种,一种是完全设计,一个是简单设计。

  完全设计是指在具体编写代码之前对软件的各种方面都调查好,做好详细的需求分析、编写好全部的开发文档,设计出程序全部流程后再开始写代码。 换句话说,就是全部的计划好了,能看到最终的样子,再开战。这好像也是很多“软件工程”书里要求的那样。开始的时候,我觉得这种方法不错也。什么都计划好了,照着做就是了。不过这里有个明显的问题,就是谁来做这个完美的计划?估计只有及其BT的人了,但是大部分人的想要完全设计,并且没有错误,或者已经有几种后备的容错方案,并能准确无误的推行。以达到最终目标。这样的境界,没有很多年的工作经历是不可能的。我也没有这样的本事,所以我也就放弃了这种想法。

  简单设计:简单设计一种概念,一种可以接受的简单的设计,最起码数据库已经定下来,基本流程已经确定的方案,来作为程序设计的开始,并随时根据实际情况的进展来修正具体的功能设计,但这种功能修改不能是修改数据库结构。也就是说数据库结构是在编程之前经过反复论证的。这种方法减少了前期设计的时间,把代码编写工作和部分设计工作放在了一起,实际缩短了项目开发的时间。如果说完全设计方法要求有很厉害的前期设计人员,那么简单设计要求有很有设计头脑的编程人员。编程人员不仅仅是K代码的人而且要负责程序架构的设计。所以对程序员的要求就很高了。 简单设计的成功的一个基点是编程人员设计的逻辑结构简单并能根据需要来调整其逻辑结构,就是代码结构灵活,简单设计带来的另外一个变化就是会议会比较多,编程人员之间的交流就变的很重要。现在一般的中小型软件公司基本上都是采用简单设计的,除非那些很大型的软件公司。

  总结,简单设计考验的是开发人员的能力。完全设计考验的是前期设计人员和整个项目组完整能力。(各种文档的编写,开发人员一定会要写一部分的。)

  2、设计变化和需求变化

  开发人员最怕的是什么呢?设计变化,还是需求变化?我觉得需求变化是最最致命的。当你的一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到甲方公司提出,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。这就意味着项目的某些部分得重新推倒重来,如果这个部分跟已完成的多个部分有牵连的话,那就后果更可怕了。所以当碰到这种情况发生,作为项目经理的你就应该考虑先查责任人,究竟是自己的需求分析做的不够好,还是客户在认同了需求分析后做出的修改,如果是后者的话,你完全可以要求客户对他的这个修改负责任!那么,呵呵,客户先生,对不起了,本次新增加的需求将归入另外一个版本。如果是改变前面某个需求的定义,那么说不定就要推倒重来了,不过这个时候到不用太在意,毕竟错的是客户。(项目正式开始前没有没有说清楚其需求)。所以,各位看客,在需求分析做好后,在开工之前一定要叫客户认可签字,并且在合同上要注明,当由客户原因引起的需求改变而造成开发成本的增加,客户要为此买单地。

  如果在需求不变的情况之下,设计发生了变化,这个仅仅是我们内部之间的矛盾,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。开发人员的水平的高低就基本上决定了软件的好坏。

  3、代码编写

  当需求定下来数据库也定下来后, 其实我们就可以进行实质性的编码了,按照我的看法,一个人单独编程最好,能随时偷懒。(上网,和MM聊聊),但是现在的软件项目越来越大,工期也越来越紧,事实上我们一个小组里面,一般有3-5程序员,所以我们要强调团队合作性。那么你写的代码使得别人要能够看懂,我们必须在实际的编写代码过程中要有详细的编码规范,编码规范在很多书籍里面都提到过。但最起码以下的一些规范是我们必须要遵守的:

  一)源程序文件结构:

  每个程序文件应由标题、内容和附加说明三部分组成。

  (1)标题:文件最前面的注释说明,其内容主要包括:程序名,作者,版权信息,简要说明 等,必要时应有更详尽的说明(将以此部分以空行隔开单独注释)。

  (2)内容控件注册等函数应放在内容部分的最后,类 的定义按 private 、 protected 、 pubilic 、 __pubished 的顺序,并尽量保持每一部分只有一个,各部分中按数据、函数、属性、事件的顺序。

  (3)附加说明:文件末尾的补充说明,如参考资料等,若内容不多也可放在标题部分的最后。

  二)界面设计风格的一致性:

  由于采用可视化编程,所有的界面均与Win32方式类似,相应采用的控件等也大都为Windows操作系统下的标准控件,而且参考了其他一些市面上相关的企业内部管理的应用软件。

  基于简单易操作的原则,贴近用户考虑,用户界面采用Windows风格的标准界面,操作方式亦同Windows风格,这样在实施过程,可以降低对客户的培训,也可以使用户容易上手,简单易学。

  三)编辑风格:

  (1)缩进:缩进以 Tab 为单位,一个 Tab 为四个空格大小。全局数据、函数 原型、标题、附加说明、函数说明、标号等均顶格书写。

  (2)空格:数据和函数在其类型,修饰(如 __fastcall 等)名称之间适当空格并据情况对 齐。关键字原则上空一格,不论是否有括号,对语句行后加的注释应用适当空格与语句隔开并尽可能对齐。

  (3)对齐:原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。

  另每一行的长度不应超过屏幕太多,必要时适当换行。

  (4)空行:程序文件结构各部分之间空两行,若不必要也可只空一行,各函数实现之间一般空两行。

  (5)注释:对注释有以下三点要求:

  A、必须是有意义;

  B、必须正确的描述了程序;

  C、必须是最新的。

  注释必不可少,但也不应过多,以下是四种必要的注释:

  标题、附加说明;

  函数说明:对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回 值说明等,必要时还要有一些如特别的软硬件要求等说明;

  在代码不明晰或不可移植处应有少量说明;

  及少量的其它注释。

  四)命名规范:

  坚持采用匈牙利变量命名惯例,所有标识符一律用英文或英文缩写,杜绝采用拼音,标识符中每个单词首字母大写,缩写词汇一般全部大写,只在必要时加“_”间隔词汇。

  4、BUG修补

  程序出现了BUG谁来修补呢,嘿嘿嘿……

  最好的办法是谁编写谁修补,谁改坏谁修补。一个人改坏的代码一人去修。两个人一起改坏的代码两人一起修。

  5、开发人员的测试

  开发人员的测试是保证代码能正常运行,在开发时候发现的错误往往比较容易修正。(另外一个好处就是没有人来骂你。因为只有你自己知道)。但是一旦软件到了测试小组那里出了问题,那么就多了很多时间来修正BUG,如果到了客户哪里才发现的BUG,那么时间就更长了,开发人员本身受到的压力也是到了最大话了。客户->公司->测试小组->开发人员。 这个完全是倒金字塔型的,承受能力差的一环很容易出事情的。

  另外开发人员的测试除了保证代码能正常运行以外,还有一个很重要的方面就是要保证上次能正常运行的代码,这次还是能正常运行。如果做不到这点,那么BUG就不断的会出现,很多BUG也会反复出现。于是软件看上去就有修补不完的BUG了。如果出现这种情况,那么开发人员有必要再教育。一般公司教育的方式有四种。第一种,扣工资,第二种,加班,反复加班+精神攻击。 第三种,开除。第四种,调动人员来帮助那个出了麻烦的家伙。 但愿看这个文章的人不要受到前面三种教育。

软件开发成功案例相关文章:

1.软件开发的成功例子

2.软件项目成功案例

3.软件开发成功的例子

1049351