代码改变世界

《当程序员的那些狗日日子》(四十九)倾注心血而成的系统

2011-10-08 00:12  java ee spring  阅读(186)  评论(0编辑  收藏  举报

调整心情后,我继续回到原来的工作和生活的状态。

经过两个多月的狗日般的上班日子后,视频管理系统学生后台之前提出要修改的地方已修改完成了,教师后台也开发得七七八八了。

实际上这两个多月的时间一部分是用在学生后台的修改上了,一部分是用在教师后台的开发上了,因为教师后台的功能很多都跟管理员后台的功能相似,所以可以直接从管理员后台那里搬过来后再稍作修改即可,因此可以不用费很大的功夫。

一天宗问我系统也开发了那么长时间了,快完成了没有。于是我如实向宗说明情况,宗听后也没再多说什么。可是我还是不敢松懈怠慢,继续加紧开发。

又是一段紧张而辛苦的敲代码日子后,教师后台也初步开发完成了,整个视频管理系统也算初级开发完成了。

按实际业务流程对整个系统进行了一次全面的测试后,测试结果表明视频管理系统的运行基本正常,当中出现的一些小问题我也很快就将其修正了。一套完整的视频管理系统算是正式开发完成。

根据开发过程中的实际情况,敖总曾提到的“PPT目录索引”功能并没有用到,评分功能也不需要,所以这两个功能都不用在视频管理系统上开发。DOC、PPT、XLS、PDF等格式的文件转换成SWF格式文件以及视频文件转换成FLV格式文件的问题,由于实现的技术难度太大,在征得祝老师、敖总、宗等人的同意下,我可以暂时不这样做,而改为用另外的处理方式,DOC、PPT、XLS、PDF等格式的文件可以直接单个进行下载,一个教学单元相关联下的DOC、PPT、XLS、PDF等格式文件的课件也可以打包后进行下载,视频文件则仍用WMS的方式来播放。这样处理后,我倒是省事很多。实际上那个打包下载的功能开发起来一点也不简单,程序中还是经过很多步处理,程序算法也相对复杂。

祝老师曾提到过的视频的展示页面和展示效果的问题,由于系统本身的功能定位就比较特殊,实际情况跟他的想法并不相符,所以还是无法做到按照目前几大主流视频网站的展示页面和展示效果来做,而只能根据实际情况来处理。

系统开发完成后,根据敖总和宗的要求,还要再做一项特殊的处理,那就是给系统加上USB加密狗功能,即安装视频管理系统的服务器上必须插上USB加密狗后,系统才能正常运行,这样做的目的自然就是为了防止系统被其他人无限制复制使用。USB加密狗里面的程序由宗设置好,他再提供加密狗驱动程序和相关的DLL文件,加密狗驱动程序手动执行安装后,我在系统的程序中再调用DLL文件中的函数进行判断就可以了,如果服务器上插有USB加密狗,系统则可以正常运行,没有则不行。DLL文件中的函数是WIN32 API函数,所以需要用到C#调用WIN32 API函数的方法,当然这些问题我都可以很容易解决。

系统刚一开发完,按照祝老师和敖总的意思,就要先给华师安装一套给他们试用。于是我亲自跑去华师一趟,在祝老师的安排下,给他们安装了一套刚新鲜出炉的视频管理系统。

随后不久,宗告诉我,负责技术支持的同事要给客户安装视频管理系统,但不会安装,让我写一个详细的系统安装手册。于是我按照宗的要求,写了一个图文并茂且十分详尽的系统安装手册,包括服务器要选用的Windows操作系统版本、安装IIS组件、安装WMS组件、安装.NET Framework 2.0、安装SQL Server 2000、安装加密狗驱动程序、在IIS上创建虚拟目录、在WMS上创建发布点、在SQL Server 2000上创建数据库、网站数据库连接信息的配置等都一一详细说明了,总之就是要让一个从未搞过ASP.NET程序开发的人看了这个系统安装手册后,都可以将视频管理系统安装起来。

除了因为华师的特殊性,我可以去给他们安装系统外,公司的其他客户,我是不能去给他们安装系统的,公司有专门的技术支持人员负责做这样的工作,所以写这个系统安装手册的目的就是要让他们掌握视频管理系统的安装方法。这可以说是完全有别于以往公司的做法,以往的公司,所做的网站系统都是为公司自己所用的,所以网站系统的安装都由开发人员自己来搞定,但此时在科技公司,却要由从来都没有搞过ASP.NET程序开发的技术支持人员去做,可想而知我要将这个系统安装手册写得多清楚明白才行。还好,费了一番功夫后,写出来的系统安装手册还是让宗看了后觉得OK的。

对于我将管理员后台、教师后台、学生后台分别作为三个独立的网站项目来建立的做法,宗一开始还是很疑惑,觉得我这样做既麻烦又不合理,后来我向他解释一番后,他才认可了我的做法,没再有意见。

宗始终还是对我的技术水平有点怀疑,或者说对于ASP.NET有点不放在眼里啊。也许他曾经也做过网站程序开发,是从网站程序开发走过来的,但那是代表他以前那个时候和那种技术的做法是不是?毕竟ASP.NET比其他网站程序开发技术还是有很大的不同,即使同为微软所出,ASP.NET都比ASP有了根本性的变化,如果是用ASP,我自然不会这样做,因为那样就是自找麻烦,但是用ASP.NET,就完全没有问题,ASP.NET完全可以很好地支持这样做。

虽然我不是科班出身,但在这个时候,我早已不是当年的吴下阿蒙,已俨然是一名ASP.NET程序开发的专业人士,我自认为我有能力去把握这些大方向上的技术问题,而宗却似乎并不相信我的做法,总是带着怀疑,这使我心里觉得很不爽,所以当时我心里还是一阵激动。

没错,你做C/C++,技术上比我牛很多,但是ASP.NET你也不是没搞过是不是?也许你也可以很轻易地就学会ASP.NET,但你毕竟没学是不是?所以在ASP.NET上我比你更有发言权。再说了,你做你的C/C++、做你的嵌入式开发,我做我的C#、做我的ASP.NET开发,井水不犯河水,凭什么你总是以这样的态度来对我?这个世界不是由你一个人全玩了,你够牛的话你就不要招我进来,你自己一个人C/C++、ASP.NET全做了。即使是微软里开发操作系统的大师又怎样?他就能否定众生吗?还不是他做他的,我做我的?不但微软里开发操作系统的大师不能否定众生,就算是国家主席、总统,也不能否定众生。没错,也许你的技术真的很牛,你的能力真的很强,我可以尊重你为技术“牛人”,但你不懂得尊重我,那么你在我眼中也只是一个很低级的人。

不过一阵激动过后,我还是面对了现实,在这家公司,人家搞C/C++、搞嵌入式开发的,就是比我搞C#、搞ASP.NET开发的牛很多,这是不容否认的事实。

接着没过几天,敖总又请了华师的几个老师过来公司,又是对系统提出很多修改意见和新的要求,我逐一作记录,然后讲得差不多了敖总就和各人一起离场了,从敖总跟各人客套的说话来看,很显然是要请各人去“腐败”,这时正是下午四五点接近吃晚饭的时候。

这不免使我想到了所谓的精品课程及由此而产生的视频管理系统对教学质量的提高究竟能起到多大的作用。从本质上看,这些无非就是一些形式上的东西,并不是实实在在的教学本身的东西。难怪当下大学的教育质量这么差,老搞这些形式上的东西有什么用呢?扎扎实实地把教学质量提上去才是正道。在这样的形式主义下,又有多少教师会专得下心来好好去研究教学本身的问题呢?都想着怎样捞外快去了。

我将记录下来的修改意见和新的要求整理后,阿凌就过来跟我说,先估算一下每一个问题要处理完成大概需要多长时间,然后他再向敖总请示一下,看哪些可以先处理,哪些可以先不处理,因为后面还有一套新的系统要等着去开发。

我听后不觉心里一惊,这套视频管理系统才刚刚开发完成,还在完善当中,我还没来得及稍作松弛的时候,后面又有新的系统等着我去开发了,那将又要开始新一轮的辛苦和忙碌了。

就在我挑了当中的一些难度相对较小的问题处理后,阿凌就再过来向我传达了敖总的意思,说那些还没处理到的问题先不用处理了,暂时搁下,先做后面等着要做的系统。

对于这样的安排,我当然觉得不好,因为停下来后而去做其他的系统,以后再回过头来处理这些问题,思路就接不上了,所谓“趁热打铁”就是这个意思。但是阿凌的态度却很明确,他已确定了要先做后面等着要做的系统,他表示这是敖总的意思。于是我只好听从安排。

于是我先发布了视频管理系统的一个正式的安装版本,供技术支持人员给客户安装和使用。

至此,一套完整的视频管理系统算是定型了。尽管我在这家公司觉得有种种的不如意,尽管我对做这样的系统有种种的不情愿,尽管这套系统也许仍是一套很“烂”的系统,但无疑,这却是我所做过的所有网站系统中,投入最大精力所做出来的一套系统,是我最认真、最完整地做出来的一套系统,可以说是倾注了我很大的心血而开发出来的,就像是自己“十月怀胎”孕育而成的孩子一样,所以对它有一种很特别而又很复杂的心情,既有爱又有恨。

可是,看着这个我自己亲手一行一行代码辛辛苦苦敲出来的系统展现在我面前的时候,我却没有了最初刚进入程序开发行列时的兴奋和激动,有的只是内心的平静和冷静,甚至是一点麻木。是啊,很多事情都已变了,尤其是我的心态已完全变了,此时的我已不再是以前那个随意兴奋和激动的我了。

但是毫无疑问,将一套系统从零开始完整地开发出来,我做到了,什么系统分析师,什么系统架构师,什么美工设计师,什么文档工程师,我觉得我都兼任了,事实上在开发这套系统的过程中,我的工作角色已不仅仅是一名只负责敲代码的ASP.NET程序开发人员。