跳转到内容

如何编写程序/需求分析

来自维基教科书,开放的书籍,为开放的世界

这本身就是许多大型书籍的主题,也是许多高薪顾问的职业生涯。谷歌会引导你进入那个广阔的领域。

毫无疑问,其他维基编辑可能会在该主题上进行大量的扩展。但在这里,我只想说明

规则2 : 分析瘫痪是你程序所面临的最大危险。

你可能听说过,许多编程项目失败或交付时间超长,超预算。

残酷的真相是,大多数程序根本就没有开始!

它们在永恒的分析阶段冻结并死亡。

当然,你可以比生成 Rational Unified Process 所规定的工件做得更糟糕,但请将它留待你真正需要做一些大事的时候使用。

首先,用最简单的方式写下你想要程序做的事情。

现在不要花哨,手写半页绝对是最大限度。相信我。

现在让我们试试...

我想从 ruby 中驱动 Povray 光线追踪器。

好吧,把它划掉。这是一个技术目标。一旦你在页面上看到特定的技术,就把它们划掉,然后重试...

我想用数学精确的方式绘制带有成千上万个物体的酷炫图片。

啊,这好多了。但太模糊了。

好吧,实际上我试图在 Povray 中绘制一个字符串,但我对场景描述语言感到沮丧,我渴望我喜欢的语言的力量。但我喜欢的语言不做光线追踪。我发现像 kpovraymodeler 这样的建模器让我抓狂,它们没有做我想做的事情。

哦,很好。这就是客户想要做的事情。

规则3: 当有人(包括你自己)告诉你“编写一个程序来做...”时,做一些简单的笔记,然后忽略他。

始终,始终,始终站起来,走到他们的工作场所,首先理解他们想要做什么。我向你保证,从数百次的经验中,如果你只是服从他们,并创建他们(或你自己)告诉你的程序,你会编写错误的程序!

写下你想与之交互的几种方法。这些被称为用例,谷歌会给你提供数百万页关于它们的信息。在我完成程序之前,你还没有读完关于这个主题的一半重要页面... :-)

  • 我希望能够在我的宠物编程语言中创建我的对象,并让它们以漂亮图片的形式出现在屏幕上。
  • ...


进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书