UML和Agile

这两天又看了一些UML方面的东西,很多东西并没有在项目中频繁的使用。在论坛中看到很多关于敏捷开发方面的信息,不禁在想UML在Agile中起到的作用。

UML是统一建模语言,包含如下建模图:

用例图(UserCaseDiagram),描述系统的功能。

类图(ClassDiagram),描述系统的静态结构。

时序图(SequenceDiagram),描述对象之间的动态协作关系。

协作图(CooperationDiagram),描述对象的静态协作关系。

状态转换图(StateTransitionDiagram),描述对象所有可能的状态以及状态转换的条件。

组件图(ComponentDiagram),描述软件系统组件之间的相互依赖关系。

部署图(DeploymentDiagram),定义系统中软硬件的物理体系结构。

了解到在传统的开发流程中,UML是作为蓝图来使用的,先做需求分析,再做设计,以UML建立模型,然后严格按照设计和模型实现软件系统。而在敏捷开发流程(pairprogramming,TDD)中UML只是起到一个草图的作用。

相关推荐