每个程序员都应该亲自经历一个软件的开发全过程

今天是周日,因为这段时间上班太累,昨天一直睡到10点多才起床,真是舒服,然后洗漱完毕,打开电脑上网看新闻,逛了几个自己关注的网站,很快就到中午了,要了份快餐搞定自己的胃,ok.开始工作,呵呵不是给公司加班,而是给自己加班,打开熟悉的vc6.0,sql2000,大家肯定感觉晕了吧,一股好古老的感觉,没错,就是这些10年前的开发工具我到现在还在用着,原因就是曾经自己开发一款分销系统就是基于这样的环境,编程用vc6.0,数据库用mssql2000,报表用水晶报表,打包安装用installshield,最开始的一客户还是一个朋友介绍给我的,那个客户是一个开专卖店的老板,他生意做的不错,恩,那时间我还在上学(自考的那种),所以时间还是比较多,就和朋友一起去他那个店见了他一面,呵呵,原来是个女老板,很年轻,长的很漂亮,个子很高,看起来很精明的样子,他的店是做床品的,装修的很上档次,货品陈列的挫落有致,在灯光照射下真的是漂亮,我当时也刚刚从农村来到这个城市,没怎么见过世面,心里直攒,心想自己什么时间也能用得起这样的床品就爽了,女老板给我介绍了一下他的店和现在管理方法,总结起来就是二样,一是库存管理,因为店里时常有丢货的现象,但也查不出问题出在哪里了,他曾经自己用帐本记录,但工作量太大,而且因为货品太多,根本忙不过来,二是会员管理,当时已经有1000多个会员吧全记在本子上,积分不方便,给客户赠送的礼品都要登记下来,因为小礼品也有丢的时候,我当时感觉很简单啊,就是个进销存嘛,简单的做了一些记录后就答应他二个周后给他初版的程序,当时谈好的价格是4000元,自己感觉已经不错了,因为在2000年的时候也帮一个煤炭运输公司做了一套管理系统(当时用的是VB6.0+Access2000,当时所在的公司才给我600奖励,不过那时候还有工资),就这样,然后我就回到自己租住屋开始了“进销存”的编程,首先在网上下载了几个小点的进销看了一下,然后准备编程素材,先根据需求建立数据库结构,数据库我选择了sql2000的桌面版,因为这个能安装在xp系统上,当时也不知道powerdesigner,ERwin等建模工具,当时现在想起来也没必要,系统太小了,就使用sql2000的企业管理器建表结构,记得第一次就建了十几个表,包括进货表,销售表,会员表,职员表,用户表等,然后准备连接和操作数据库的方法,最后选择了oledb,原因是不用在客户机上配置odbc,我把连接信息配置在一个ini文件中,然后又在网上找了一套包装好sql操作的类库,好像是CADODB,然后就想着界面的样子,因为VC的多文档结构很是麻烦,我就选择了简单的对话框,所有界面都是由对话框组成,对话框全是模式的,因为当时不好处理数据同步的问题,打开界面只能处理一项业务,处理完关掉再打开另一项,虽然有点麻烦,但实现简单,当时因为产品分类少,就直接使用了一级分类,不能多级,谁让自己当时水平低,时间紧呢,就这样,简陋的vc界面,加上全部使用标准windows控件,那时间对面向对象的概念还是含糊不清,加上MFC的难学,编写基本模块的操作和界面花了一个周吧,基本能用,不过还是要小心意意的用,该准备报表和打印的问题了,曾经的运输管理系统我是直接调用winapi的打印来实现的,痛苦万分,那时间还不知道有报表组件,现在再不能走老路,最后感觉水晶报表功能强大,就他了,找资料学了三天,就开始设计进销存用到的报表,还好结构都不复杂,三天时间也都设计完成, 使用大家可能会问我做信息系统为什么要选择vc呢,呵呵,我也有点后悔啊,现在想想用vc做信息系统真是痛苦呢,光是界面表现都让我痛不欲生了,不过也因此学会了更多的东西,消息循环啊,控件和对象的数据交换啊,控件的重绘啊等等,就这样,最用用installshield打包后就成型了,初版进销存就安装在了女老板的店里的电脑上,用了半天时间教她怎么使用,结果是50%的需求都不是他要的,而且系统容易出错,我答应他按他的意思回去改进,完成后给他再更新,就这样,一年当中我都不知道跑他那里多少次了,功能上的,界面上的,打印上的,改了又改,终于慢慢变的成熟和稳定了,当然软件费用也分次给我了,她的弟弟在他店里帮忙,我们也成了朋友,他发现 的新bug和要求的新建议都发我邮箱中,我收到积时的改进程序,再到后他们又开了二个店,需要连网管理,我又开发了网络版的进销存,甚至有段时间我直接住在他们的办公室改进网络版系统,因为网络版的系统碰到的问题也多,谁让自己水平低呢,那就继续改进吧,再后来,他们开到7个店还有一个大店,整个系统在2008年的时候才算基本确定下来,公用部分:货栈与门店管理,供应商管理,往来客户管理,产品基本资料,用户管理,促销管理,购物卡管理等产库存部分:包含了采构订货,采构入库,采构退货,销售订货,销售出库,销售退货,会员积分,会员回访,库存调拨,库存盘点,财务部分:预收管理,预付管理,收款管理,付款管理,借出借入款管理,销售费用管理,其他往来管理等,反正是一个连锁店老板需要的大部分功能都有了,包括软件界面上我也花了大量时间去定制界面,开发细节就不说了,这个项目我一直跟进了四年,当然其间也做了一些其他工作,整个过程都是痛并快乐着,复杂问题的解决有时候会花好多个晚上熬夜才能出来,但也感受到了客户的信任和成功后的肯定,女老板那里我再没收一分钱,她让我学会了很多销售行业的一些概念和操作技巧,也让我的编程水平在实战中进步飞速,后来他又介绍一些客户给我认识,我也尽力的为他们服务,昨天晚上做的就是在这个软件上增加一个清除历史记录的模块,因为客户的数据几年下来,堆了不少,像女老板那种多店客户,在财务月结的时候太费时间了,所以需要清掉了些几年前的没用数据,而由于现在上班公司的情况确实很忙,我也只能在周末来做更新了,恩,感觉程序员应该从头到尾的体验一个小软件的全过程,过样的好处是没有经历过的开发人员所不能想象的,就这样吧,谢谢理解我的客户和曾经帮助我的朋友,经历是人生最大的收获,我会继续努力下去的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值