zoukankan      html  css  js  c++  java
  • .net 框架下快速Web开发(一)——纠结的里程

      从事软件开发也有有五、六年了,在博客上写文章比较少。这里有很多技术精英,也有和我一样热爱编程的朋友,所以决定把我的企业开发体会写出来,以便于和大家一起讨论、学习、提高。

          我从正式使用.NET进行开发也有五年多时间,从.net 2003到现在的2010一路走来,由于公司项目比较繁杂,所以也没有专注对.net进行深入学习,一般都是公司指到哪里打到哪里,相信做企业开发的朋友也有和我一样的体会。

         第一个接触的项目是开发一个企业办会系统(OA),里面涉及到当时比较主流的模块“单据自定义”、“工作流”、“待办工作提醒”、“权限集”、“用户”、“组织机构”等。项目因时间紧,一开始就进入编码阶段,调研也同时进行。主要是人员不够,记得当时项目组就四个人,一个负责调研写文档,一个是项目主要管理人员,还有和我另一个程序员。进入开发阶段,调研也同时进行,因此没有相应的业务需求报告,由于事先已经确定了一些功能性的模块,开发就同时展开了。加班。。讨论。。返工。。等不可避免。其中过程就不详细说了,这是我的第一个项目,但是欣慰的是结果还是令人满意的。四个人的项目组,在四个月内完成了这个OA系统。记得当时最难做的就是单据定义,特别是涉及到主从表单据时特别烦索。通过这个项目我最大的收获就是:开发一个快速平台再做业务可以大大提高效率,同时也为业务变更提供了很大的放便。比如加减字段通过平台可以方便的变更,基本不需要再编码,也就不需要编译、部署这一系列的过程。

    再后来我进入了另一个项目,这个项目进行了两年多的时间,到现在还没有完全验收。当然原因有很多,这里不讨论其它原因,只说说开发过程中的一些体会。这个项目有一套半成熟的平台进行开发。刚接触到这个平台时确定感觉还是不错的。很多功能的实现思路和我做过的OA有相似的地方。只不过不同的是引入了数据对象等概念,就是把有关系的实体表抽象成一个对象,表中的字段抽象成对象的属性。这个平台有两个大的模块,一个是开发平台,一个是设计平台。设计平台相对简单,就是就是调研人员加入数据项,结果可以导出成SQL,生成数据表。开发平台通过设计平台定义好的实体进行抽象成一个对象。这个平台初期的确给我们提供了方便,很快软件的原型就出来了,基本模块也出来了。可是没过多久,项目功能的变动就出了很多问题。比如平台中有一个克隆功能,就是把模块速复制一份,问题也就出在这里了,初期的快速因为有它,后来的问题也是因为它。复制模块通常使用同一个数据对象,如果两个模块后期要使用不同的数据对象,就会导致整个模块的根基的变动。相当于重新从数据对象,页面,事务,校验等做起,工作量巨大。客户感觉一个很小的改动。我们忙了很长时间还没有解决,工期就这样拖下来了。还有平台本身的一些缺陷因为当时没有源码和完整的帮助文档,没有解决。这样直到现在这个项目也没有完全验收。这个项目让我体会到:(1)项目管理是重中之重,由于这个项目更换了至少四个以上的项目经理,导致项目的模块之间的耦合性的问题没有解决,而为项目日后的维护埋下了毒瘤,牵一发而动全身。(2)还是管理,项目的管理除了人员的合理调动,配套的文档,计划书等一定要有,这些是指导方针。(3)还是管理,项目的风险评估一定要做好,比如使用第三方平台、插件等要充分评估好是否可控,风险的大小。这些也是项目管理者应该做好的。当然在时间允许的情况下,能自己研发是最好的(4)通过快速平台开发在带来快速的同时,因为耦合性太高给项目也带来了巨大的风险。

    当然没有风雨就没有彩虹,通过这些纠结的里程,才有进步。后面会继续讨论.Net平台下快速Web开发,也希望和大家共同讨论,共同学习。

  • 相关阅读:
    效果超酷的textarea的输入字数限提示
    【设计模式(七)】结构型模式之桥接模式
    【设计模式(六)】适配器模式
    【设计模式(四)】原型模式
    【设计模式(三)】工厂模式
    【设计模式(二)】单例模式
    【设计模式(一)】设计模式概览与六大设计原则
    【算法刷题】无重复字符的最长子串
    【算法刷题】全排列 II
    【算法刷题】LRU缓存模拟
  • 原文地址:https://www.cnblogs.com/yubinfeng/p/1863619.html
Copyright © 2011-2022 走看看