在实践中谈软件工程
―――第一次做项目,做了一半后的体会
作者:Onlinewan
由于种种原因,现在到大四快毕业了,才有机会做一个完整的项目。项目不是很大,但对于我来说也不算小,是一个棉纺厂的管理系统,主要要实现人事、财务、仓库、销售等管理功能。(接一个本地软件公司的项目)
在开发过程中,遇到了很多问题,使我有很深的体会,下面一一道来。
一、需求分析模糊 ==> 难免处处碰壁
总以为做项目也就是写代码,于是刚接到项目只进行了很简单的需求分析就开始了设计界面、编码。刚开始还真的挺顺利的,没多少时间软件都有模有样了,原来做项目也就这么回事。
美景不长,也是没多少时间,问题有了。把自我感觉不错的程序让老板看下,苦不堪言啊,哎,被批那样。回头自己想想,还真和老板说的一样,软件的实用性太差,软件实现的功能没有多大的意义,而真正客户想要的功能太简单。
二、忽略系统设计 ==> 功能模块混乱
想到什么就做什么,以前写程序好象都是这样。老师布置的、课后的作业差不多都会做吧,偶尔还会编编小游戏,比方说贪吃蛇,五子棋什么的。
这次做项目也和往常一样,想到什么做什么。可这次的结果没有和往常一样,这次很失败,而且是彻底的失败。为什么这么说呢,可能是这次是个不小的项目吧,软件的可操作性太差了。比方说吧,在软件中的员工考勤模块,考勤包括迟到、请假、旷工等,知道我是怎么做的吗?只说一个问题吧,同一个人可以在同一天的同一个班次中有迟到、请假、旷工三种信息,哈哈,我都不好意思啦。
三、急于代码编写 ==> 做很多无用功
其实这一点在上面两条中都已经包含了,但我还是把它单独放出来了,我感觉这一点可能是像和我一样的初学者最容易犯的错误了。以前要写一个像输出 helloworld! 这样的程序是可以一气呵成,可要是写一个较大一点的程序,还是不要急着动手为妙。对整个程序进行分析,做一个设计,就不会和我一样,只能选择把自己辛辛苦苦写的代码全删掉后再进行分析、设计、再编码。
四、轻视编码规范 ==> 修改审查困难
五、随意添加注释 ==> 加还不如不加
六、缺乏开发文档 ==> 做到哪都不知
七、没有版本控制 ==> 多人开发受阻
八、数据库设计不当 ==> 一切都是白忙乎
当初学习《软件工程》课时,感觉书上说的都太麻烦,不就是写程序,哪有那么罗嗦。可遭受如此大的打击,让我深深的体会到了软件工程的重要性。不强求严格遵守软件工程思想,至少进行详细的需求分析、系统设计,也不会有这次的难堪。
使编码在整个开发过程中所占的分量在20%左右,80%的都用来做前面的工作,表面上看上去真让人难以信服,在中国能做到这点的软件公司也没有多少,但如果真的这样做了,相信做出一个使客户满意的系统不是什么难事。
―――第一次做项目,做了一半后的体会
作者:Onlinewan
由于种种原因,现在到大四快毕业了,才有机会做一个完整的项目。项目不是很大,但对于我来说也不算小,是一个棉纺厂的管理系统,主要要实现人事、财务、仓库、销售等管理功能。(接一个本地软件公司的项目)
在开发过程中,遇到了很多问题,使我有很深的体会,下面一一道来。
一、需求分析模糊 ==> 难免处处碰壁
总以为做项目也就是写代码,于是刚接到项目只进行了很简单的需求分析就开始了设计界面、编码。刚开始还真的挺顺利的,没多少时间软件都有模有样了,原来做项目也就这么回事。
美景不长,也是没多少时间,问题有了。把自我感觉不错的程序让老板看下,苦不堪言啊,哎,被批那样。回头自己想想,还真和老板说的一样,软件的实用性太差,软件实现的功能没有多大的意义,而真正客户想要的功能太简单。
二、忽略系统设计 ==> 功能模块混乱
想到什么就做什么,以前写程序好象都是这样。老师布置的、课后的作业差不多都会做吧,偶尔还会编编小游戏,比方说贪吃蛇,五子棋什么的。
这次做项目也和往常一样,想到什么做什么。可这次的结果没有和往常一样,这次很失败,而且是彻底的失败。为什么这么说呢,可能是这次是个不小的项目吧,软件的可操作性太差了。比方说吧,在软件中的员工考勤模块,考勤包括迟到、请假、旷工等,知道我是怎么做的吗?只说一个问题吧,同一个人可以在同一天的同一个班次中有迟到、请假、旷工三种信息,哈哈,我都不好意思啦。
三、急于代码编写 ==> 做很多无用功
其实这一点在上面两条中都已经包含了,但我还是把它单独放出来了,我感觉这一点可能是像和我一样的初学者最容易犯的错误了。以前要写一个像输出 helloworld! 这样的程序是可以一气呵成,可要是写一个较大一点的程序,还是不要急着动手为妙。对整个程序进行分析,做一个设计,就不会和我一样,只能选择把自己辛辛苦苦写的代码全删掉后再进行分析、设计、再编码。
四、轻视编码规范 ==> 修改审查困难
五、随意添加注释 ==> 加还不如不加
六、缺乏开发文档 ==> 做到哪都不知
七、没有版本控制 ==> 多人开发受阻
八、数据库设计不当 ==> 一切都是白忙乎
当初学习《软件工程》课时,感觉书上说的都太麻烦,不就是写程序,哪有那么罗嗦。可遭受如此大的打击,让我深深的体会到了软件工程的重要性。不强求严格遵守软件工程思想,至少进行详细的需求分析、系统设计,也不会有这次的难堪。
使编码在整个开发过程中所占的分量在20%左右,80%的都用来做前面的工作,表面上看上去真让人难以信服,在中国能做到这点的软件公司也没有多少,但如果真的这样做了,相信做出一个使客户满意的系统不是什么难事。