经典的软件工程思想将软件开发分成5个阶段: 需求分析,系统分析与设计,系统实现,测试及维护五个阶段. 之所以如此,是因为软件开发中饣含了物和人的因素,存在着很大的不确定性, 这使得软件工程不可能像理想的,可以其于物理学等的原理来做的物质生产过程. 如想建造一幢高档的写字楼,那么刚开始便将一切材料和工具全准备好显然是无比愚蠢的行为, 因为有可能你正在使用他人的钱,而这些人将是建筑大小,开状和样式的决定者, 通常情况下,投资方会在开工生改变想法,这样你必须有额外的计划.而对于整个工程,你也许只是其中的某一个工作组, 因此,你需要有各种各样的图纸和模型同其他小组沟通,达到联合工作.很显然,在客户的需求与实际的之间找好一个契合点,是做好工程的关键. 许多软件工开发过程也如同上面例子一样,软件问题不仅仅是代码的问题,而成为了一个怎么样将整个过程转变成一个结构,过程和工具相结合的问题. 建模,即其目的和作用在于提供系统蓝图,包含细节设计,也含有对系统的,同时模型可以帮助开发小组更好地规划系统设计,更快的开发.
UML是一种功能强大的,面向对象的可视化系统分析的建模语言,
它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型.
从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.