摘要:
您在TD -design vs -development中包含和/或交付了哪些模型和图表,以及为什么?
详细信息:
新4开发项目,在一个商店里,我们正在逐步取得进展,使管理层从“购买”到“行动”在TDD的采用/期望。我(一个开发人员)希望为新项目设计测试驱动的设计。管理层愿意允许测试驱动的开发--在创建了一些模型和图表之后的(这些模型和图表将补充UI模型,以便在重大开发开始之前向客户传达详细的设计)。
那么,在这种背景下,您认为哪些模型和图表是合理的?这个项目的交付是一个webapp,它既不是琐碎的,也不是过于复杂的。我们有一个需求文档(有时是模糊的,但是是编写测试的良好开端)。
但到目前为止,我的TDD体验(一个非常低缺陷的项目,我单独使用w/ TDD,以及一些设计成熟的同行测试创作)让我想要接着进行测试驱动的设计。
创建模型/图的过程(看起来我们将交付一些类模型和一些高级用例和序列图)似乎给我们(开发人员)提供了TDD不会提供的设计洞察力,而且它们是技术/复杂的,我担心任何非开发人员在呈现它们时都会有效地忽略它们(读:盲目地接受它们)。
在TD -design和-development中包含和排除模型和图表之间的界限在哪里?
发布于 2009-08-13 16:10:46
有一句军事谚语说:“计划什么都不是,计划就是一切。”如果图表创建了一个有用的沟通,客户如何设想系统设计,它打算涵盖哪些领域,以及它将如何进行,那么规划的实践是值得的。
TDD的建议是,当橡胶在编码过程中遇到道路时,设计就会发生变化。问题是,当这些变化发生时,将这些改变传回会有多重要。但是在复杂的体系结构中,一些预先规划是有价值的,即使是在TDD的上下文中,只要您意识到这是计划,而不是固定的计划。导致最初设计的思想是可以参考的,以理解TDD发现了什么,以及需要如何改变才能适应它。
之后,你可以回顾过去,向管理层指出最终产品与前期计划有多大的不同,看看改变了什么,或许还能指出,早期的固定设计并没有他们想象的那么重要。
发布于 2009-08-13 15:08:21
就我个人而言,我认为我的设计文档不会随着TDD而改变,而不会改变另一种开发模式。我从高级用例开始,然后慢慢地写下来,直到我有了非常具体的功能用例文档(以及所有其他附带的文档,如类图、活动图等)。
一旦您使用了这些白盒,Cases...you应该知道两件事:
然后,您可以编写应用程序代码来执行它should...and编写的测试代码,以确保它没有做它不应该做的事情。
发布于 2009-08-13 15:15:35
TDD不应该依赖固定的模型和图表,否则就会限制或破坏它的重构过程。
因此,如果您真的需要模型,我会使用一些高级图表,如序列图,以稀释您的应用程序的导航(这有机会改变比你的类图)。
另一点是,高级构件可以帮助客户创建测试例程来验证系统的功能。
https://stackoverflow.com/questions/1272536
复制相似问题