• 一次小系统的快速开发经历


            大约3周前去客户那边出差实施并部署新版本的系统,由于此次为客户追加了很多定制化的功能,所以需要做的准备和确认工作很多,在和客户对所有的功能模块和业务进行确认时,突然发现了一个我们以前忽略掉的业务,而且考虑到我们现在的系统已经在全国都展开使用几年了,这个被我们忽略的业务还不能加到我们系统中来,只能做一个类似插件的小系统帮助用户来实现功能。而且这个小系统的很多基础数据来源于我们系统,但是它的数据存储就不能放在我们的系统中了,必须单独来存储。

            在了解业务时,我们发现用户所需的这个功能其实不算很复杂,于是决定在我们给用户做培训和实施的时候将其开发完成了,由于现场只有我一个开发人员,这个任务当然就只有由我来完成了。我们目前的系统是使用的WCF来进行通讯,使用了比较经典的3层架构来开发的,分为客户端和服务端2部分。从我们系统中获取基础数据并和服务端通讯这块可以参考现有的系统来做,只是需要将一些需要的功能移植到这个小系统中来,这一点我只花了一天多的时间就将所需要的抓取的数据和系统的架构搭好了,接下来就是系统本身的业务了,我考虑到只有4,5天的时间做开发和测试,因此想尽可能的用成熟的技术来做开发和测试,于是我想到了动软的代码生成器,在我将数据库设计好并生成后就使用东软的代码生成器将数据库访问层,业务逻辑层等的代码直接生成了,接着开始画画面,画好画面后直接打印出来给客户进行确认,确认后做了一次调整,然后让客户再次确认了下。

           接下来就开始开发了,做这个小系统的开发我一共开发了5天,测试是在开发时顺带做的,完成后直接交给用户进行试用,确认满足了用户基本功能的使用,然后用户试用后提出了一些小的修改或者优化建议,我又进行2次修改,然后就投入到正常的使用中了。

           通过这次在实施中发现的这个问题,我发现虽然我们在项目开始的前期就对业务进行了调研,而且也和用户多次进行了沟通,确认。但是等到我们真正拿出系统给用户部署时,总能发现一些需要修改或者优化的地方。由于用户提出了的这些小需求还不少,因此造成我们实施和部署的时间非常紧张,感觉压力很大,我在现场对应这些需求及一些Bug时常常晚上11点多都还在敲代码,整理文档。因此我觉得以后在项目的调研的过程中除了把握住一些大的方向和功能,用户的使用习惯和实际的业务背景我们也要多进行了解,这样在后期进行培训和部署时,用户和我们的压力都会小很多,工作量也会成倍的减少。同时在项目前期进行调研时,最好能有开发人员直接参与,以前都是需求和实施人员及架构师在进行前期的工作,我们开发人员没有接触终端用户。通过这次的实施工作,我发现了让开发人员直接面向用户有时候可以减少沟通成本,提高效率,也可以给我们开发人员一些创作的灵感。

           这次去现场进行项目实施和部署,虽然工作压力比较大,也比较辛苦,但是感觉收获颇多,不虚此行。

        

  • 相关阅读:
    jchdl
    jchdl
    UVa 10256 (判断两个凸包相离) The Great Divide
    UVa 11168 (凸包+点到直线距离) Airport
    LA 2572 (求可见圆盘的数量) Kanazawa
    UVa 10652 (简单凸包) Board Wrapping
    UVa 12304 (6个二维几何问题合集) 2D Geometry 110 in 1!
    UVa 10674 (求两圆公切线) Tangents
    UVa 11796 Dog Distance
    LA 3263 (平面图的欧拉定理) That Nice Euler Circuit
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2819714.html
Copyright © 2020-2023  润新知