UML进行面向对象的系统分析及设计方法 摘要文章探讨了基于UML进行面向对象的系统分析及设计方法,包括静态建模和动态建模: 提出了一种实用的基于UML的需求分析及其建模方法,以活动图模型来表达业务模型,以概 念层的对象图、状态图及交互图模型表达系统的结构逻辑及行为逻辑,以应用例图表达系统 需求:讨论了需求分析及其建模的过程概念,并以高校开放式学籍管理系统的开发作为案例 示范 关键词UML,RUP,开放式学籍管理 引言 UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视 化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能 强大且普遍适用的建模语言。UML的发展对软件工程的发展做出了杰出的贡献。 UML支持从需求分析开始的软件开发的全过程。UML通过三类图形建立系统模型:用例 ( Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序 图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。 URM的发展经历了以下几个阶段。 最初的阶段是专家的联合行动,由三位Oo(面向对象)方法学家[8]将他们各自的方法结 合在一起,形成UML09 第二阶段是公司的联合行动,由十几家公司组成的"UML伙伴组织"将各自的意见加入 UML,形成UML10和1.1,并作为向OMG申请成为建模语言规范的提案。 第三阶段是在OMG控制下的修订与改进,OMG于1997年11月正式采纳UML1.1作为建 模语言规范,然后成立任务组进行不断的修订,并产生了UML12、1.3和1.4版本,其中UML 1.3是较为重要的修订版。 目前正处于UML的重大修订阶段,目标是推出UML2.0,作为向sO提交的标准提案。 1、UML的特点 UML具有以下特点: (1)面向对象。UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图 形和方法,能简洁明了地表达面向对象的各种概念。 (2)可视化,表示能力强。通过υML的模型图能清晰地表示系统的逻辑模型和实现模型。 可用于各种复杂系统的建模 (3)独立于过程。UML是系统建模语言,独立于开发过程。 4)独立于程序设计语言。用∪ML建立的软件系统模型可以用Java、VC++、 Smalltalk等 任何一种面向对象的程序设计来实现 (5)易于掌握使用。UML图形结构清晰,建模简洁明了,容易掌握使用 使用UML进行系统分析和设计,可以加速开发进程,提高代码质量,支持动态的业务需 求。UML适用于各种规模的系统开发。能促进软件复用,方便地集成已有的系统,并能有效
UML进行面向对象的系统分析及设计方法 摘要 文章探讨了基于UML进行面向对象的系统分析及设计方法,包括静态建模和动态建模; 提出了一种实用的基于UML的需求分析及其建模方法,以活动图模型来表达业务模型,以概 念层的对象图、状态图及交互图模型表达系统的结构逻辑及行为逻辑,以应用例图表达系统 需求;讨论了需求分析及其建模的过程概念,并以高校开放式学籍管理系统的开发作为案例 示范。 关键词 UML,RUP,开放式学籍管理 引言 UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视 化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能 强大且普遍适用的建模语言。UML的发展对软件工程的发展做出了杰出的贡献。 UML支持从需求分析开始的软件开发的全过程。UML通过三类图形建立系统模型:用例 (Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序 图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。 URM的发展经历了以下几个阶段。 最初的阶段是专家的联合行动,由三位OO(面向对象)方法学家[8]将他们各自的方法结 合在一起,形成UML 0.9。 第二阶段是公司的联合行动,由十几家公司组成的"UML伙伴组织"将各自的意见加入 UML,形成UML 1.0和1.1,并作为向OMG申请成为建模语言规范的提案。 第三阶段是在OMG控制下的修订与改进,OMG于1997年11月正式采纳UML 1.1作为建 模语言规范,然后成立任务组进行不断的修订,并产生了UML 1.2、1.3和1.4版本,其中UML 1.3是较为重要的修订版。 目前正处于UML的重大修订阶段,目标是推出UML 2.0,作为向ISO提交的标准提案。 1、UML的特点 UML具有以下特点: (1)面向对象。UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图 形和方法,能简洁明了地表达面向对象的各种概念。 (2)可视化,表示能力强。通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。 可用于各种复杂系统的建模。 (3)独立于过程。UML是系统建模语言,独立于开发过程。 (4)独立于程序设计语言。用UML建立的软件系统模型可以用Java、VC++、SmalltaIk等 任何一种面向对象的程序设计来实现。 (5)易于掌握使用。UML图形结构清晰,建模简洁明了,容易掌握使用。 使用UML进行系统分析和设计,可以加速开发进程,提高代码质量,支持动态的业务需 求。UML适用于各种规模的系统开发。能促进软件复用,方便地集成已有的系统,并能有效
处理开发中的各种风险 2、UML的面向对象分析设计过程 运用UML进行面向对象的系统分析设计,其过程通常由以下3个部份组成: 1)识别系统的用例和角色 首先对项目进行需求调研,依据项目的业务流程图和数据流程图以及项目中涉及的各级 操作人员,通过分析,识别出系统中的所有用例和角色:接着分析系统中各角色和用例间的 联系,再使用∪ML建模工具画出系统的用例图,同时,勾画系统的概念层模型,借助UML建 模工具描述概念层类图和活动图。 (2)进行系统分析,并抽取类 系统分析的任务是找出系统的所有需求并加以描述,同时建立特定领域模型。建立域模 型有助于开发人员考察用例,从中抽取出类,并描述类之间的关系。 (3)系统设计,并设计类及其行为 设计阶段由结构设计和详细设计组成。①结构设计是高层设计,其任务是定义包(子系 统),包括包间的依赖关系和主要通信机制。包有利于描述系统的逻辑组成部分以及各部分之 间的依赖关系。②详细设计就是要细化包的内容,清晰描述所有的类,同时使用UML的动态 模型描述在特定环境下这些类的实例的行为 UML面向对象分析设计在开放式学籍管理系统中的应用 UML是一种建模语言,是系统开发的一个组成部分,本身并没有关于开发过程概念的定 义和表示符号[2]。UML的创始者比 Booch、 Jacobson和 Rumbaugh在 Rational公司的支持下 综合了多种系统开发过程的长处,提出新的面向对象的开发过程,称为 Rational统一过程 ( Rational Unified Process,RUP)。RUP过程的核心工作流包括:业务建模、需求分析、系 统分析与设计、实现、测试和系统配置。下面通过UML来分析并构造学籍管理模型,并结合 Rational统一过程加以描述,图形用 Rational rose工具软件绘制 1、开放式学籍管理系统概述 随着网络技术和软件技术的飞速发展,特别是 Internet/ intranet的出现及其相关技术的迅 速发展,信息革命带来了全球范围市场竞争的日益加剧,对传统的办公教学和生活方式产生 了巨大的冲击。办公自动化就是采用 d Internet/Intranet技术,基于工作流的概念,使内部人员 方便快捷的共享信息,高效的协同工作;改变过去复杂,低效的手工办公方式,实现迅速, 全方位的信息采集,信息处理。校园网的建设,为开放式的学籍管理系统提供了技术保障。 开放式学籍管理系统是一个由学校学籍管理信息中心监控,各教学系(部)、教硏室分 级管理,由学生档案管理、导师管理、授课教师管理、选课管理、成绩査询管理、打印报表 等几部分组成,选课学生甚至联网的邻近院校共同参与的管理系统。 学籍管理由学校学籍管理中心监控,各教学系部、教硏室分级管理,任课教师,选课学生共 同参与。 2、开放式学籍管理系统的用例和角色 业务建模和需求分析的目的是对学籍管理进行评估,采集和分析系统的需求,理解系统 要解决的问题,重点是充分考虑系统的实用性。结果可以用一个 U se case模型表达(图1), 模型中的活动者代表外部与系统交互的角色,包括学生、系统管理员, Use case是对系统需 求的描述,表达了系统的功能和所提供的服务,包括学生档案管理子系统、导师档案管理子
处理开发中的各种风险。 2、UML的面向对象分析设计过程 运用UML进行面向对象的系统分析设计,其过程通常由以下3个部份组成: (1)识别系统的用例和角色 首先对项目进行需求调研,依据项目的业务流程图和数据流程图以及项目中涉及的各级 操作人员,通过分析,识别出系统中的所有用例和角色;接着分析系统中各角色和用例间的 联系,再使用UML建模工具画出系统的用例图,同时,勾画系统的概念层模型,借助UML建 模工具描述概念层类图和活动图。 (2)进行系统分析,并抽取类 系统分析的任务是找出系统的所有需求并加以描述,同时建立特定领域模型。建立域模 型有助于开发人员考察用例,从中抽取出类,并描述类之间的关系。 (3)系统设计,并设计类及其行为 设计阶段由结构设计和详细设计组成。①结构设计是高层设计,其任务是定义包(子系 统),包括包间的依赖关系和主要通信机制。包有利于描述系统的逻辑组成部分以及各部分之 间的依赖关系。②详细设计就是要细化包的内容,清晰描述所有的类,同时使用UML的动态 模型描述在特定环境下这些类的实例的行为。 UML面向对象分析设计在开放式学籍管理系统中的应用 UML是一种建模语言,是系统开发的一个组成部分,本身并没有关于开发过程概念的定 义和表示符号[2]。UML的创始者比Booch 、Jacobson和Rumbaugh在Rational公司的支持下 综合了多种系统开发过程的长处,提出新的面向对象的开发过程,称为Rational统一过程 (Rational Unified Process,RUP)。RUP过程的核心工作流包括:业务建模、需求分析、系 统分析与设计、实现、测试和系统配置。下面通过UML来分析并构造学籍管理模型,并结合 Rational统一过程加以描述,图形用Rational Rose工具软件绘制。 1、开放式学籍管理系统概述 随着网络技术和软件技术的飞速发展,特别是Internet/Intranet的出现及其相关技术的迅 速发展,信息革命带来了全球范围市场竞争的日益加剧,对传统的办公教学和生活方式产生 了巨大的冲击。办公自动化就是采用Internet/Intranet技术,基于工作流的概念,使内部人员 方便快捷的共享信息,高效的协同工作;改变过去复杂,低效的手工办公方式,实现迅速, 全方位的信息采集,信息处理。校园网的建设,为开放式的学籍管理系统提供了技术保障。 开放式学籍管理系统是一个由学校学籍管理信息中心监控,各教学系(部)、教研室分 级管理,由学生档案管理、导师管理、授课教师管理、选课管理、成绩查询管理、打印报表 等几部分组成,选课学生甚至联网的邻近院校共同参与的管理系统。 学籍管理由学校学籍管理中心监控,各教学系部、教研室分级管理,任课教师,选课学生共 同参与。 2、开放式学籍管理系统的用例和角色 业务建模和需求分析的目的是对学籍管理进行评估,采集和分析系统的需求,理解系统 要解决的问题,重点是充分考虑系统的实用性。结果可以用一个U se Case模型表达(图1), 模型中的活动者代表外部与系统交互的角色,包括学生、系统管理员,Use Case是对系统需 求的描述,表达了系统的功能和所提供的服务,包括学生档案管理子系统、导师档案管理子
系统、课程管理子系统、授课教师管理子系统、选课管理子系统、成绩管理子系统、打印报 表子系统 图1中模型元素之间的实线表示二者存在关联关系,是学籍管理系统层的 Use case模 型,只包含了最基本的 Use Case模型,是系统的高层抽象,在开发过程中,随着对系统的认 识不断加深, Use case模型可以自顶向下不断精化,演化出更为详细的 Use case模型。 3、开放式学籍管理系统分析与设计 系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,即设 计模型。设计模型包含了 Use case的实现,可以表现对象是如何相互通信和运作来实现Use case流的。对于系统的静态结构。可以通过对象类图、对象图、组件图和配置图来描述,对 于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描绘。这些图再加上支持说 明文档就构成一个完整的设计模型 (1)静态结构的分析设计 学籍管理系统中拥有大量数字化信息资源,这些资源是多种媒体、多种格式的,而且还 是相互关联的。其数据量大,信息长度不定。非结构化信息与结构比信息并存。传统的数据 库和信息管理系统在数据模型、系统结构、用户接口等方面都虚拟实现对这些数字化信息资 源的管理和操作,这就决定了学籍管理必须采用面向对象的方法来建立数据模型和管理模 型,建立面向对象的数据库。实现面向对象的信息管理系统。使用UML对学籍管理系统进行 基于面向对象的分析和设计,可以从开发的第一步开始,从系统的底层就把握住学籍管理信 息资源的特征,为下一步的具体实现打好基础。在为学籍管理系统建立模型时要涉及到处理 大量的模型元素,如对象类、接口、组件、节点、图等。图2是学籍管理系统中的学生类。 在图2的学生类图中,包括学生类的属性和方法。例如: student是学生的学号,且数据 类型为 bigint(8),且为主码; selectCourse( coursed: bigint, studenti: bigint) return int, 是类的方法,其入口参数为课程编号 coursed和学生学号 student,此方法作用是学生进行 选课。 (2)动态结构的分析与设计 学籍管理馆提供的各种服务都是建立在分布、开放的信息结构之上。依托髙速、可靠的 网络环来完成。每项服务都可以看成一个事件流,由若干相关的对象交互合作来完成。对于 这种系统内部的协作关系和过程行为,可以通过绘制顺序图和协同图来帮助观察和理解。 个对象在双生存期间所经历的状态序列。对于把握对象的行为和状态的迁移变化是非常重 要的,可以通过状态回来了解一个对象的历史,引起一个状态向另一个状态转移的事件,以 及由于状态的转移而引发的动作。 此外,描述工作流和并发处理行为还可以用活动图,表达从一个活动到另一个活动的控 制流,顾序图和协同图适合描述多个对象的协同行为,而状态图适合描述一个对象穿越多个 Use Case的行为。状态图与活动图的区别是:状态图描述的是对象类响应事件的外部行为。 活动图描述的是响应内部处理的对象类的行为。图3是学生查询成绩的活动图。 图3中,学生登陆学籍管理系统,输入其用户名和密码,若用户名和密码有误则返回,否 则进入下一步:首先选择査询类型(査询成绩),然后输入查询关键词,再进行查询,系统 自动生成了成绩单
系统、课程管理子系统、授课教师管理子系统、选课管理子系统、成绩管理子系统、打印报 表子系统。 图1中模型元素之间的实线表示二者存在关联关系,是学籍管理系统层的Use Case模 型,只包含了最基本的Use Case模型,是系统的高层抽象,在开发过程中,随着对系统的认 识不断加深,Use Case模型可以自顶向下不断精化,演化出更为详细的Use Case模型。 3、开放式学籍管理系统分析与设计 系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,即设 计模型。设计模型包含了Use Case的实现,可以表现对象是如何相互通信和运作来实现Use Case流的。对于系统的静态结构。可以通过对象类图、对象图、组件图和配置图来描述,对 于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描绘。这些图再加上支持说 明文档就构成一个完整的设计模型。 (1)静态结构的分析设计 学籍管理系统中拥有大量数字化信息资源,这些资源是多种媒体、多种格式的,而且还 是相互关联的。其数据量大,信息长度不定。非结构化信息与结构比信息并存。传统的数据 库和信息管理系统在数据模型、系统结构、用户接口等方面都虚拟实现对这些数字化信息资 源的管理和操作,这就决定了学籍管理必须采用面向对象的方法来建立数据模型和管理模 型,建立面向对象的数据库。实现面向对象的信息管理系统。使用UML对学籍管理系统进行 基于面向对象的分析和设计,可以从开发的第一步开始,从系统的底层就把握住学籍管理信 息资源的特征,为下一步的具体实现打好基础。在为学籍管理系统建立模型时要涉及到处理 大量的模型元素,如对象类、接口、组件、节点、图等。图2是学籍管理系统中的学生类。 在图2的学生类图中,包括学生类的属性和方法。例如:studentId是学生的学号,且数据 类型为bigint(8),且为主码;selectCourse(courseId : bigint,studentId:bigint)return int, 是类的方法,其入口参数为课程编号courseId和学生学号studentId,此方法作用是学生进行 选课。 (2)动态结构的分析与设计 学籍管理馆提供的各种服务都是建立在分布、开放的信息结构之上。依托高速、可靠的 网络环来完成。每项服务都可以看成一个事件流,由若干相关的对象交互合作来完成。对于 这种系统内部的协作关系和过程行为,可以通过绘制顺序图和协同图来帮助观察和理解。 一个对象在双生存期间所经历的状态序列。对于把握对象的行为和状态的迁移变化是非常重 要的,可以通过状态回来了解一个对象的历史,引起一个状态向另一个状态转移的事件,以 及由于状态的转移而引发的动作。 此外,描述工作流和并发处理行为还可以用活动图,表达从一个活动到另一个活动的控 制流,顾序图和协同图适合描述多个对象的协同行为,而状态图适合描述一个对象穿越多个 Use Case的行为。状态图与活动图的区别是:状态图描述的是对象类响应事件的外部行为。 活动图描述的是响应内部处理的对象类的行为。图3是学生查询成绩的活动图。 图3中,学生登陆学籍管理系统,输入其用户名和密码,若用户名和密码有误则返回,否 则进入下一步:首先选择查询类型(查询成绩),然后输入查询关键词,再进行查询,系统 自动生成了成绩单
4、开放式学籍管理系统的实现、测试和系统配置 经过系统分折与设计后.就可以根据设计模型在具体的环境中实现系统,生成系统的源 代码、可执行程序和相应的软件文档,建立一个可执行的系统.然后需要对系统送行测试和 排错,保证系统符合预定的要求。获得一个无错的系统实现,调试的结果将确认所完成的系 统可以真正使用。最后系统配置的任务是在真实的使用运行环境中配置,调试系统,解决系 统正式使用前可能存在的任何问题。 小结 UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的 建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流 程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理 解,以减少语义差异,保障分析的正确性。 通过对学籍管理系统的开发可以看到,UML作为软件工程中的建模语言,代表了面向对 象方法的软件开发技术的发展方向,具有重大的经济价值和国防价值,并获得了国际上的广 泛支持,具有非常好的应用前景
4、开放式学籍管理系统的实现、测试和系统配置 经过系统分折与设计后.就可以根据设计模型在具体的环境中实现系统,生成系统的源 代码、可执行程序和相应的软件文档,建立一个可执行的系统.然后需要对系统送行测试和 排错,保证系统符合预定的要求。获得一个无错的系统实现,调试的结果将确认所完成的系 统可以真正使用。最后系统配置的任务是在真实的使用运行环境中配置,调试系统,解决系 统正式使用前可能存在的任何问题。 小结 UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的 建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流 程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理 解,以减少语义差异,保障分析的正确性。 通过对学籍管理系统的开发可以看到,UML作为软件工程中的建模语言,代表了面向对 象方法的软件开发技术的发展方向,具有重大的经济价值和国防价值,并获得了国际上的广 泛支持,具有非常好的应用前景