我是计算机科学专业的大四学生,作为我学士学位的一部分,我正在做一个关于微阵列DNA表达数据的数据挖掘的项目。我将不得不开发一些算法,如贝叶斯网络,在我的数据集上运行,以找出每个变量(基因)如何相互影响。
作为我的项目建议书的一部分,我必须谈论我将使用哪种方法来开发我的软件。从我在学校学到的知识和额外的阅读中,我发现增量开发模型似乎是一个好主意。我会运行2- 3次迭代的计划,设计,实施,直到我得到了软件的全部功能。能不能请比我知识更多的人告诉我这听起来是个好主意。
我不能100%确定我将使用哪种方法的原因是因为我没有一个团队来处理软件,我没有一个有需求的客户,我在这个项目上工作的时间非常有限,因为我有3个其他的模块。我读到的所有方法似乎都是针对具有开发团队的大型软件项目的。如果你只是一个人,主要专注于让3-4个算法工作,而不是专注于获得广泛的功能,你会怎么做?
我还在考虑使用UML来更好地了解我希望软件做什么,并像使用面向对象方法的精简版本一样使用它。
我的猜测是,我将不得不在非常基础的水平上使用超过1种方法的一部分,但我就是无法选择。
我在这个问题上非常困惑和迷茫,所以非常感谢任何帮助。
谢谢,
发布于 2010-11-14 09:22:21
对于这些类型的工作,我建议不要太关注方法,因为毕竟,重要的是算法。但是,为了解决您的困境,我建议使用XP (eXtreme编程)。为什么?
只要在Google for XP方法论上快速搜索一下,你就会得到一堆有用的结果。ARUP (敏捷RUP)可能也值得一看。
我希望我能帮到你。
发布于 2010-11-14 09:24:24
XP/TDD与科学方法相协调,每一次迭代都是一个理论,测试都是实验。
发布于 2010-11-14 09:27:19
在单独工作时,要遵循一种方法,这需要lot的纪律,确保你选择的方法不是劳动密集型的,否则你永远不会达到它的要求。
如果我回到学校,以我现在所知道的情况,我可能会选择测试驱动开发。单元测试是测试算法的理想之选,它将为您留下一组测试,您可以使用这些测试来证明您确实遵循了一种方法。
https://stackoverflow.com/questions/4175638
复制相似问题