UML(Unified Modeling Language,统一建模语言)是一种图形化的语言,它可以帮助我们在OOAD(面向对象的分析与设计)过程中标识元素,构建模块,分析过程并可通过文档说明系统中的重要细节。
面向对象发展的产物(20世纪80年代)
面向对象的建模语言(1994年50多种)
方法大战->统一
面向对象的分析与设计->软件开发全过程
1、Requirements Capture
2、System Analysis and Design
3、Implementation
4、Testing
5、Maintenance
软件危机与软件工程
软件发展的几个时期:
1946(第一台计算机)~1960"软件“雏形是简单的程序
20世纪60年代末到70年代初”软件“成为产品
至今软件工程期
软件危机:
软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列的严重问题。如何开发软件,以满足不断增长的、日趋复杂的要求如何维护规模不断强大的软件产品。
软件工程
软件工程,由北大西洋公约组织NATO于1968年提出
软件工程是指导计算机软件开发和维护的一门工程学科
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
建模的意义
建模是对现实的简化,建模是为了更好理解系统。
模型帮助我们按照实际情况或需求对系统可视化;(掌握不了文字,画幅图画代替)
模型允许我们详细说明系统的结构、行为;
模型给出了构造系统的模板
模型对我们做出的决策进行文档化。(现有文档,再有代码)
UML的特点
统一的标准,已经被OMG接受为标准建模语言
面向对象,支持面向对象开发
可视化,表示能力强
独立于开发过程,可以适用于不同软件工程
概念明确,表示简洁,结构清晰,容易学习掌握
UML是一种语言
遵循特定的规则
允许创建各种模型
并不告诉设计者需要创建那些模型,自己不断总结探索
并不提供开发过程,即:什么时候创建什么图,这个模型怎么用,UML并不给出指导。
软件工程三要素:方法(UML)、工具(Rose)、过程(Unified Process)
UML是可视化语言
UML是图形化语言
图形便于交流(一图抵上千子)
UML的分类:
静态模型
动态模型
静态建模:创建并记录一个系统的静态特征。反映一个软件系统基础,固定的框架结构,创建相关问题域主要元素的视图
静态建模包括:用例图、类图、对象图、组件图、部署图
动态建模:动态建模用以展示系统的行为。
动态建模包括:时序图、协作图、状态图、活动图
其它UML元素
包:package
UML的扩展机制:注释、构造类型、标记值、限制