从一个圈套For循环来谈软件设计
武汉华中师范大学信管系 谢刚
摘要:就自己的一次实际经历来谈谈软件设计过程中应该注意的一些细节
关键字:软件设计 需求分析
前段时间,跟外面公司设计一个MIS系统(使用工具是PB8.0+MSSQL),是一个关于安全生产的。为了体现我们设计人员的高质量服务,我在《需求说明》之外又帮他们设计了一个功能,就是:在每次这个功能窗口打开时,到数据库中去自动检测看看有没有冲突数据;也就是说,两个一模一样的器材是否被安装了到了两个不同的机器上。这个功能,我相信很多朋友都会写,就是两个循环一圈套就完了。是的,我当时的确是用两个FOR圈套来写的。
不错,设计的和想的都很不错。并且是做的《需求说明》之外的事,开始也得到了公司的一点点“点头”。后来发生的事,就叫我苦笑不得了:
昨天,当将他们公司的实际数据导到我们的MS SQL-Server中以后,(一共是9983条记录,每条记录是20来个字段);发现我的那个功能窗口打不开了。死活是进不去啊!当场无奈。
今天下午经过“黑盒”和“白盒”测试后,经过无数次测验,才发现原来是这个10000*10000的自动检测出了毛病。就是说,在执行这个10000*10000的循环时,一般的机子本来就有点吃不开,在这个情况下,还在数据库中做了大量的比较工作和验证。所以,就算是AMD1500的双CPU和1024M的内存也有点累的说。
总结:
1,只要是《需求说明》上面没写的功能一律不要自作聪明加上去,因为这样你顶多只会得到公司的一点点“点头”,没有什么实际好处。相反,时刻会给你埋下个定时炸弹
2,设计程序时,一定要考虑算法,正所谓:程序=数据结构+算法,的确如此
3,讲究代码效率的同时,考虑程序执行效率
4,书写详细的注释和说明(这个习惯是非常重要的)。
5,每次修改都做修改记录,每次测试都记下测试结果和测试数据类型和方法。
6,认真体会《软件工程》知识,不要片面的认为其无用。
以上是偶的一点点想法,今天比较高兴,感慨到此。不对的地方还望兄弟姐妹们斧正。xiegang亲笔与2004.06.04下午;虽然不是什么优秀文章,但是请大家转帖时请注名出处。谢谢合作