从一个月前的失败得到收获

Posted 崔V

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从一个月前的失败得到收获相关的知识,希望对你有一定的参考价值。

我们之前学过的数据结构与算法可以说是告诉我们要完成一个功能用什么样的设计能够实现,而软件工程引入的工程化方法则是进一步指导我们如何具体地实现系统的各个需求。这种方法学的指导看似虚无缥缈,而且从书上第一次看来感觉很平凡,都是些我曾经知道的名词,并没有什么的特别之处。然而就是严谨的工程化方法使复杂系统的开发成为可能。

历史上的失败有OS360的泥沼,而最近的失败就发生在我身边:在上个月美国数学建模大赛的比赛过程中,我和我的队友就合写了一个开始编程以来我们写过的最丑陋的程序。这个程序的功能是根据给定的参数来模拟难民人口流动的情况。为了尽早完成论文,我们预计用1天写完,而实际上用了2天的时间实践和调试这个程序,也最终影响了我们论文完成的进度。主要的问题有一下几点:

1、版本控制。一个复杂的系统实现,需要有比较良好的文档辅助,而我们为了尽快完成程序实现忽略这一点,导致有时候自己负责部分的代码都会不理解。

2、异常处理。我们的程序是根据参数来模拟人口流动,其中的分布模型是有输入条件的,在一定的情况下,我们核心的随机化算法会发生崩溃,导致失败。而这些条件有时又是不易再现的。

3、由于在需求分析上花的时间不够多,数学模型逐步完善了几次,这就导致了程序实现的改变,加上版本控制不当,进一步增加了实现难度。

现在看来,这个小程序的开发也的确有点真实项目开发的意思。其中既有分工合作,还有因为数学模型建立不完善而不断改变的需求。

实践出真知。在之后的项目开发中,还需要合适的工程化的方法来指导,否则还会平添很大的工作量。这并不意味着每个小改动都需要写很多文档增加工作量,而是选择适当的工程化方法,在上面的比赛过程中,如果需求会常常变化,或许开发的敏捷更是一种要求吧。

以上就是我从一个月前的开发失败中得到的收获。

以上是关于从一个月前的失败得到收获的主要内容,如果未能解决你的问题,请参考以下文章

[SQL计数从一个月前的表

对分区表添加子分区

Android DatePicker Fragment 返回一个月前的日期

javascript如何获取一个月前的日期并取出星期几

Python得到前面12个月的数据,Python得到现在时间 前一年的数据,

如何用shell来实现定期删除一个月前的日志?