如何开始一个项目

时间:2010-11-16 00:54:46

标签: project-planning

只是想知道如何从概念,规格,开发等方面启动项目。在开发中,您是从数据库设计开始的吗?或者也许是你知道我可以看的资源。

3 个答案:

答案 0 :(得分:1)

从数据库设计开始实际上是我的一个小小的烦恼。当然,对某些项目来说没问题。简单的数据形式的应用程序,这样的东西。但是对于任何更复杂的东西,任何具有逻辑“领域”的东西都不是从数据库设计开始的。从域建模开始。如果您正在使用业务逻辑并将其放入代码中,那么定义逻辑流的业务用户很可能不会考虑静态的SQL或关系数据。他们从具体和抽象概念的逻辑相互作用的角度思考。

正如Eric S. Raymond所说,“智能数据结构和愚蠢的代码比其他方式更好。”通常,当从数据库设计开始时,创建一个扁平的“哑”数据结构。从某种意义上讲它并不是一种糟糕的设计,但它没有内置的逻辑。它扁平且无量纲。所有的智能都需要进入使用它的代码。

另一方面,富域模型将业务逻辑和概念直接合并到数据结构中。它通过实际的商业智能增强了数据本身,在整个领域中传递了这种智能。

现在,这并不意味着您在设计域时根本不应该考虑持久性。但是应该建立持久性来伴随域,而不是相反。 Nilsson建议从域开始,在开发过程中需要休息一下,思考并研究持久性。这是因为域模型确实是核心,但您需要评估持久性方面的任何妥协以保持自己的真实性。追求真正的坚持无知可能会让自己陷入困境。

答案 1 :(得分:0)

这一切都取决于什么激发了首先启动项目的动力。这可能不同于坐下来充实了多年来一直在脑海中酝酿的东西的扣留,或坐下来制作一个快速而肮脏的原型来说服自己,你所拥有的天才想法看起来如此简单实际上是相当棘手的灌木需要你坐下来充实。

我从不从数据库设计开始,因为这是一个实现细节。我甚至可能不想使用数据库。我从功能设计开始。我想要它做什么?为什么?怎么样?它与其他方法有何不同?这个好处是否足以让人费心去做呢?你明白了。一旦我清楚地知道我在做什么,最重要的是为什么,就会解决实施设计问题。

答案 2 :(得分:0)

这是非常通用的,但第一步始终要弄清楚并记录您希望应用程序执行的操作。然后我经常开发和ERD,它定义了完成这些函数所需的表以及位于这些表前面的类结构。一旦完成这两个重要部分,它通常会非常顺利。