如何编写程序/需求分析
外观
< 如何编写程序
这本身就是许多大型书籍的主题,也是许多高薪顾问的职业生涯。谷歌会引导你进入那个广阔的领域。
毫无疑问,其他维基编辑可能会在该主题上进行大量的扩展。但在这里,我只想说明
规则2 : 分析瘫痪是你程序所面临的最大危险。
你可能听说过,许多编程项目失败或交付时间超长,超预算。
残酷的真相是,大多数程序根本就没有开始!
它们在永恒的分析阶段冻结并死亡。
当然,你可以比生成 Rational Unified Process 所规定的工件做得更糟糕,但请将它留待你真正需要做一些大事的时候使用。
首先,用最简单的方式写下你想要程序做的事情。
现在不要花哨,手写半页绝对是最大限度。相信我。
现在让我们试试...
我想从 ruby 中驱动 Povray 光线追踪器。
好吧,把它划掉。这是一个技术目标。一旦你在页面上看到特定的技术,就把它们划掉,然后重试...
我想用数学精确的方式绘制带有成千上万个物体的酷炫图片。
啊,这好多了。但太模糊了。
好吧,实际上我试图在 Povray 中绘制一个字符串,但我对场景描述语言感到沮丧,我渴望我喜欢的语言的力量。但我喜欢的语言不做光线追踪。我发现像 kpovraymodeler 这样的建模器让我抓狂,它们没有做我想做的事情。
哦,很好。这就是客户想要做的事情。
规则3: 当有人(包括你自己)告诉你“编写一个程序来做...”时,做一些简单的笔记,然后忽略他。
始终,始终,始终站起来,走到他们的工作场所,首先理解他们想要做什么。我向你保证,从数百次的经验中,如果你只是服从他们,并创建他们(或你自己)告诉你的程序,你会编写错误的程序!
写下你想与之交互的几种方法。这些被称为用例,谷歌会给你提供数百万页关于它们的信息。在我完成程序之前,你还没有读完关于这个主题的一半重要页面... :-)
- 我希望能够在我的宠物编程语言中创建我的对象,并让它们以漂亮图片的形式出现在屏幕上。
- ...
- c2:UseCase,c2:UserStory,c2:UseCaseScenario,c2:UseCaseTemplate,c2:UserStoryAndUseCaseComparison
- http://usecases.org/
- Ali Bharami “面向对象分析与设计”,适合初学者的优秀书籍。