基于UML的软件开发过程
需求分析阶段
可以使用用例图来描述目标软件系统所有重要、有风险的用例,利用用例图表示参与者与用例及用例与用例之间的关系;
可以使用类图来表示目标软件系统所基于的应用领域中的概念与概念之间的关系,这些相互关联的概念构成领域模型;
可以使用活动图来刻画领域中的工作流,并标识业务流程中的并发、同步等特征。
设计阶段
根据业务领域中某种有意义的分类方法将整个软件系统划分为若干个包,利用包图刻画这些包及其间的关系,结合构件图,从而得到整个目标软件系统的高层结构;
对于系统中的关键类,也可以详细研究其属性和操作,利用类图表现;
构造原型时候可以针对用例生成详尽的交互图 (时序图/协作图);
可以使用活动图表示复杂的算法过程,尤其是过程中的并发与同步;
可以使用状态图表示类的对象的状态-事件-响应行为。
UML画图工具
1. PlantUML
Open-source tool that uses simple textual descriptions to draw beautiful UML diagrams.
优点:开源,支持UML图及思维导图等,可在IDEA中安装插件使用,边写代码边生成图,如下图所示:
-
ProcessOn
ProcessOn - 免费在线作图,思维导图,流程图,实时协作
优点:功能丰富,样式丰富,支持UML、思维导图、流程图、原型图等多种图形;可在线使用;
缺点:收费,免费版限制了文件个数等;
-
Enterprise Architect
优点:是一个全面的战略,需求,分析,设计,构建,测试和管理工具,可以解决企业,业务,系统和软件建模的各个方面。它是一个可扩展的多用户可视平台,具有丰富的功能集。还包括对架构框架的详细支持,如TOGAF,UAF / UPDM,ArchiMate,Zachman Framework等,提供无缝建模和设计功能。
缺点:收费