我认为大多数人都读过Painless Functional Specification articles by Joel。在第二部分What's a Spec?中,提供了sample spec。但是没有提到要求。我有两个问题:
要求如何符合样本功能规范?我认为在编写功能规范之前必须知道要求。所以它们不能成为功能规范的一部分,但它们在哪里被记录?
测试驱动开发(TDD)如何适应整个功能规范/技术规范分裂Joel大纲(下图):
功能规范描述了产品如何完全运作 从用户的角度来看。它并不关心事情是怎样的 实现。它谈到了功能。它指定屏幕,菜单, 对话框,等等。
技术规范描述了内部实现 程序。它讨论了数据结构,关系数据库模型, 选择编程语言和工具,算法等。
答案 0 :(得分:1)
这是 WHAT 。
你在设计什么?用户会怎么做?它会为他们提供什么价值?
功能规范是的要求。各个用户执行的每个操作(创建帐户,登录,查看时间)都是系统的要求。
但是你必须更深入地问自己,“如果迈克记不起他的密码怎么办?” “令人兴奋的是什么对辛迪意味着什么?”等等(这就是为什么Joel注意到它不是一个完整的规范 - 它缺少许多细节。)
测试驱动设计是 HOW
课程,方法等如何运作?如何处理错误?数据如何流经代码?