技术分享 UML软件开发的应用
UML建模语言在软件开发中非常实用,你对UML软件开发的应用是否熟悉,这里就像大家介绍一下,希望通过本文的介绍你对UML软件开发的应用有新的认识。
UML软件开发的应用
1引言
早期的软件开发没有系统的方法可以遵循,开发者只是在大脑中构思一个大体的流程,除了源代码外没有任何文档。随着软件规模的不断扩大,这种程序设计方法的弊端逐渐显现,出现了所谓的“软件危机”。1968年,北大西洋公约组织的科学在德国召开了一次国际学术会议,提出了“软件工程”的概念。在“软件工程”的发展史上,面向对象技术无疑是最大的功臣。随着面向对象技术的提出,诞生了各种各样的建模语言,虽然不同的建模语言大多雷同,但存在着细微的差别,极大的妨碍了用户之间的交流。结束这种局面的正是UML,UML博采众长,建立了一个标准的,统一的建语言。本文对UML及其及各种框图进行详细分析,并通过一个实际的系统阐述其在软件开发中的应用。
2UML及其框图
UML(UnifiedModelingLanguage),是一种面向对象的建模语言。它的主要作用是帮助用户对软件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。UML不是程序设计语言,而是建模语言;UML不是工具也不是知识库的规格说明,而是一种语言规格说明,是一种表示的标准;UML不是过程和方法,但是允许任何一种过程和方法使用它。UML的目标是以面向对象的图的方式来描述任何类型的系统。其中最常用的是建立软件系的模型。但它同样可以用于描述非软件领域的系统,如企业机构、业务过程、机械系统等。
UML软件开发共有9种图形,下面分别进行介绍。
1)用例图(UseCaseDiagram):显示多个外部参与者以及他们与系统提供的用例之间的连接。用例图的用途是列出系统中的用例和参与者,并显示它们之间的对应关系。
2)类图(ClassDiagram):类图表示不同的实体(人、事物和数据)如何彼此相关,换句话说,它显示了系统的静态结构。
3)对象图(ObjectDiagram):类图的实例,几乎使用与类图完全相同的标识。不同点是对象图只显示类的多个对象实例而非实际的类。对象图有生命周期,只能在系统某个时间段存在。
4)状态图(StateDiagram):状态图表示某个类所处的不同状态和该类的状态转换信息。状态的变化称之为转换。
5)时序图(SequenceDiagram):显示多个对象之间的动态协作,重点是显示对象之间发送消息的时间顺序。
6)协作图(CollaborationDiagram):使用图表或网格展示对象之间的交互,着眼点在于对象之间的协作关系。
7)活动图(ActivityDiagram):是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。
8)组件图(ComponentDiagram):组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如,库函数)的依赖关系。
9)配置图(DeploymentDiagram):用于显示系统中的硬件和软件的物理结构。
3网络教学系统的分析与设计
3.1功能需求分析
UML软件开发中系统的功能需求包括以下几个方面:
1)学生可以登录网站浏览信息、查找信息和下载文件。
2)教师可以登录网站输入课程简介、上传课件文件、发布消息、修改和更新消息。
3)系统管理员可以对页面维护以及批准用户的注册申请。
满足上述需求的系统主要包括三个模块:数据库管理模块、基本业务模块和信息浏览查询模块。
数据库管理模块包括以下部分:
1)教师信息管理。
2)课程简介信息管理。
3)文件上传信息管理。
基本业务模块包括以下部分:
1)文件上传。
2)文件下载。
3)消息发布。
4)页面维护。
信息浏览查询模块包括以下部分:
1)网页信息浏览。
2)文件信息搜索。
3.2系统的用例图
UML软件开发中创建用例图之前首先需要确定参与者。在网络教学系统中,需要学生和教师的参与。学生可以浏览课程简介、教学计划、学习方法等教师发布的文章,并可以根据关键字查询文章。此外,学生还可以从网站上下载课件。教师可以发布学习方法、课程重点等和教学相关的文件,以及和课程相关的通知等,还可以上传课件。
3.3系统的类图
通过分析可以得出系统的类图及它们之间的关系见图2。
3.4协作图
针对一些对系统来说比较关键的用例建立协作图,这里以“用户登录”为例,所建立的协作图如图3。