在大公司中,在开发特定应用程序之前创建了哪些图表(例如活动或类)?
你们在小项目上推荐这种做法吗?
谢谢
这是非常开放的,并且在很大程度上取决于公司使用的开发方法的类型。而且,老实说,这取决于团队的专业知识、正在开发的系统类型、客户要求以及许多其他因素。
以我的经验,您通常会看到(在大型、面向瀑布的公司中)行为(用例、活动),然后是交互和类图。根据大小,您可能还会在项目的早期阶段看到一些高级架构图——组件/部署。
每个项目都应该确定有助于他们构建软件的图表,而不是使用千篇一律的方法。我建议使用最少的图表,让您考虑问题,记录未来的解决方案,并将问题/解决方案传达给构建软件的人员。这意味着什么取决于开发人员。
例如,如果您之前构建了 10 个与您即将构建的应用程序非常相似的小型应用程序,那么您可能根本不需要太多文档。如果您是该领域的新手,或者您有需要特定图表的客户,或者您的团队在地理上分散,那么您可能还需要一组不同的图表。
序列图往往最有助于理解系统的行为,而类图往往最有助于理解系统的结构。
我本人是GML++的热心实践者。
无论项目规模如何,在开始编码之前进行一些设计总是一个好主意。您可能不需要为应用程序的所有部分创建图表,但为关键/复杂部分创建这些图表的练习很可能会澄清您对问题的理解并在开发周期中节省时间。类图和序列图是我见过最常用的。
生成的工件在很大程度上取决于所遵循的过程。敏捷建模对于小型项目特别成功。这些链接将帮助您了解一些想法
http://www.agilemodeling.com/essays/modelingTechniques.htm (讨论每个阶段所有可能的工件)。
http://www.extremeprogramming.org/ (如果你还没有了解extremeprogrammig 很好)。