我与决策者合作,希望在他们的业务中更好地使用技术.我发现一张图片胜过千言万语,在某种图表中对系统进行原型设计总能为讨论提供很多帮助.我使用了Visio,UML(有点),思维导图,流程图和模拟WinForms来启动这些赞助商的愿景,以确保每个人都在同一页面上.我似乎总是在寻找可以用来将业务愿景编织到开发过程中的常用过程,以便我们最终都达到同样的目的," 解决问题的功能 ".
我正在寻找关于如何处理设计过程的建议或Cliff说明,以便它适用于可能只需要一周时间开发的应用程序,但也可以用于包含更大的项目.
我知道这深入研究了UML领域,但我发现我很难找到适当使用各种图表类型的指南,更不用说帮助业务用户理解图表并与它们相关联.
您如何使用什么来捕获系统/应用程序的愿景,然后呈现给项目的赞助商?(所有在你写一行代码之前)...
纸或白板!
对于孤独的开发者,我建议使用纸张。至少一开始,最终你可能想用 UML 将其形式化,但我认为没有必要。
对于一组(物理上)一起工作的开发人员,我建议使用白板。这样,每个人都可以看到它,每个人都可以改进并做出贡献。再说一次,你可能想在这一点上正式化,但我仍然认为没有必要
当我第一次开始进行 OOP(或设计算法)时,我会在编码时在脑海中完成这一切。但是在完成了一些合理的复杂项目之后,我确实看到了绘制系统中不同对象之间的交互的好处。
我自己做项目,所以我使用大量索引卡来设计课程,并使用大量纸张来设计他们的互动。关键是它必须易于更改。我曾经使用 Dia(一个图表编辑器)来进行 UML,但是进行更改太困难了。我希望能够快速做出改变,这样我就能找出最有效的方法。
值得一提的是,TDD 和“spike”[1] 项目在设计系统时也很有帮助。
[1] 来自 C# 极限编程冒险,第 8 页:
“Spike”是一个极限编程术语,意思是“实验”。我们使用这个词是因为我们认为尖峰是一种快速、近乎暴力的实验,旨在只学习一件事。想象一下将一根大钉子钉入一块木板。