论文部分内容阅读
摘要:按照软件工程思想和信息管理系统的开发步骤,设计并开发了汽车租赁系统。在分析系统需求的基础上,利用统一建模语言的建模技术搭建了汽车租赁系统的静态模型和动态模型。提出了运用Web类来进行高效率、低成本的快速开发方法,满足了汽车租赁管理过程中的实时性、互动性和可扩展性等需求。
关键词:统一建模语言;汽车租赁管理;系统设计
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 09-0000-02
UML-based Car Rental System Analysis and Design
Liu Jun
(Henan Institute of Engineering,Zhengzhou451191,China)
Abstract:According to the ideas of software engineering and the development steps of Management Information System,I has analysed and designed a Car Rental System.First,the static model and dynamic model of this system were build,used the modeling technique of UML,and based on the analysis of the needs.Then,I put forward a rapid development method,with high efficient,and low cost,which has the use of the Web class.This system will be used to meet the needs of the real-time,interactive and extensible management process of car renting.
Keywords:UML;Management of car renting;System design
随着我国经济的高速发展和人民生活水平的日益提高,汽车已逐渐进入普通民众的家庭生活。汽车租赁业近年来借鉴国外经验,已经取得了长足的发展。我国最早开辟汽车租赁联网业务的北京世纪通汽车俱乐部与世界著名汽车租赁公司——欧洲汽车公司从2003年7月20日起,就开始共享彼此全球范围的汽车租赁网络、商务旅行网络以及饭店预订系统。这为我国汽车租赁企业的外引战略起到了很好的示范作用。
由于一个专业管理系统往往牵涉到复杂的业务流程关系,做好建模显得相当重要。因此,这里采用统一建模语言UML来规划设计本系统。
UML是面向对象开发中一种通用的、统一的图形化建模语言,它将软件模型中的信息用标准图形元素直观地显示出来,可以在多个层次上显示系统工作流程,有利于用户和其他涉及项目人员之间的通信。使用UML统一建模语言,通过模型实现了从业务领域到软件领域的映射,使问题可视化,形式化。
目前,市场上已经有大量商业的或开源的UML建模工具,其中大部分的CASE工具都能提供一整套的可视化建模工具,包括系统建模、模型集成、软件文档的生成、从模型生成代码的前向工程以及从代码生成模型的逆向工程等。Rational Software Modeler软件是IBM公司非常优秀的面向对象CASE产品,本文系统就是采用该系统设计的。
一、系统需求描述
长期以来,无论是面向对象开发还是传统的软件开发,都要根据业务流程中典型的应用场景来分析用户的需求,但是这些非正式的场景却难以为之建立正式文档。用例模型的应用弥补了这一缺憾,用例描述了待开发系统的功能需求,驱动了需求分析之后各阶段的开发工作,还可被用于验证和检验所开发的系统是否满足系统需求。
利用UML建模就是使用各种规范的图示获取生成应用程序所需要的各种元素及参数。通过绘制用例图、类图、顺序图以及活动图,针对不同的应用程序,分析、设计出相关模型。然后尽量用面向对象的思想,抽象出应用程序中结构相似的、功能相近的可复用的内容,并对其进行封装,使其“类”化。
在本系统中,客户可以通过电话、前台、访问终端系统来预订车辆。系统能够保存客户的预订申请单、客户的历史记录。工作人员要查询客户的信用记录并处理客户申请。技术人员需要保存并上传车辆检修的结果。因此这是一个多角色的系统。
二、系统建模
(一)静态建模
静态建模主要包括用例图、类图,下面以汽车租赁系统为例进行说明。
1.用例图
用例图从用户角度描述系统外部可见的行为,即系统为某一个或几个参与者提供的一段完整的服务。用例之间抽象出包含、扩展和泛化几种关系。这几种关系都是从现有的用例中抽取出公共信息,然后用不同的方法来重用这部分信息,以减少模型维护的工作量。使用例图不仅有利于系统设计人员与系统使用人员的沟通,也有利于系统设计人员之间互相的沟通,充分体现了可视化设计的优点,大大提高了开发效率。
汽车租赁系统中,主要的参与者有两个,一个是用户,另一个是公司职员。下面以客户视角为例说明用例图是如何建立的,图1展现了客户作为参与者涉及到的所有用例及其所属关系。
图1.客户视角的用例图
2.类图
类图是展现一系列类、接口、包及其关系的视图。类中的属性和操作是定义其他图的基础,也是以后的数据库设计和编码设计的依据。为了工程设计的需要,需要把类分为边界类、控制类、实体类三种类型。边界类用于操作者与系统的交互,控制类负责协调类之间的通信,实体类则用来保存永久存储体的信息。
边界类位于系统与边界的交界处,包括所有窗体、报表、打印机和扫描仪等硬件的接口以及其他系统的接口。用例图中每个参与者与用例之间至少有一个边界类。
实体类是描述系统静态结构的最重要的类,如本系统中的Customer类、Employee类、Car类等。对于系统中的类,可以从前面的用例分析中得出。汽车租赁系统中实体类图如图2所示。
图2.汽车租赁系统实体类图
(二)动态建模
UML通过活动图、交互作用图和状态图来描述系统的动态行为。
活动图强调的是一系列动作之间控制流的转换,就像电影中的武打戏,主要展现的是对象之间传送的操作;交互作用图强调的是从对象到对象的信息流的传递,就像电影中的文戏,主要描述的是对象之间传递的消息;状态图是对单个对象行为变化带来的状态改变进行的建模,就像电影中特定人物的贯穿始末的经历,主要描写单个对象在生命期中的状态变化,三者其实殊途同归,只是展现事件、描述人物的方式不同而已。
不同的系统设计时也会因自身的特点选择建立适合的图。因此,这里只建立汽车租赁系统相关用例的活动图和交互作用图。
1.活动图
活动图依据对象状态的转换来展示动作的转换与动作的结果。活动图中一个活动结束后,在可能的触发事件作用下,将立即进入下一个活动。
本系统中租车业务流程如图3所示,首先由客户发出服务请求,租赁公司职员检验用户的信用记录,如果信用记录良好,则允许向客户出租汽车,否则拒绝服务请求;用户获得租用权限后,挑选所需汽车,由租赁公司职员刷新租用记录,到期后用户归还车辆。
图3.汽车租赁系统租车业务的活动图
2.顺序图
交互作用图分为顺序图和协作图两种。顺序图显示对象之间的动态交互关系,强调对象之间消息发送的时间顺序,同时显示对象之间的消息传递关系;协作图描述对象间的协作关系,强调对象间的静态结构关系。如果强调时间和顺序,则使用顺序图;如果强调对象间的结构关系,则选择协作图。
顺序图主要反映对象之间已发送消息的先后次序,说明对象之间的交互过程以及具体时间位置所要发生的事件。图中排列着若干对象,每个对象有个生命线(垂直的虚线)从上到下代表着时间的先后。
图4显示了客户在线选车租赁的业务流程,客户根据车型、价格等相关信息,发出租车订单服务请求,形成订单后由租赁公司职员进行审核,通过后相关的信息更新记录会保存到数据库相应的表中,并返回租车订单成功的信息。
图4.客户租车的顺序图
三、系统的配置与实现
在UML中,完成了前期的静态建模与动态建模之后,还要将逻辑模型转换为现实世界中的物理系统,组件图和部署图就是用来为面向对象系统的物理实现建模的两种图。组件图用于描绘系统各个组件之间的关系。部署图则用来描述系统的拓扑,展现客户端与服务器端的网络连接以及系统的软件组件在节点上的物理分布。
UML不是一种开发工具,而是一种建模语言,利用UML来进行系统的分析与设计,建立系统的可视化模型后,还要选用合适的开发工具进行系统开发。
依据本系统的特点,可以采用C/S体系结构,服务器端操作系统采用Windows 2000 Advanced Server,数据库管理系统可采用SQL Server 2005,ASP.NET作为开发工具。
Rational Rose的各个版本还支持不同编程语言的双向工程,即系统框架模型与代码之间的交换机制。用前期建立的UML模型直接映射为编程语言,甚至映射为关系数据库的表或面向对象数据库的永久存储。
关键词:统一建模语言;汽车租赁管理;系统设计
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 09-0000-02
UML-based Car Rental System Analysis and Design
Liu Jun
(Henan Institute of Engineering,Zhengzhou451191,China)
Abstract:According to the ideas of software engineering and the development steps of Management Information System,I has analysed and designed a Car Rental System.First,the static model and dynamic model of this system were build,used the modeling technique of UML,and based on the analysis of the needs.Then,I put forward a rapid development method,with high efficient,and low cost,which has the use of the Web class.This system will be used to meet the needs of the real-time,interactive and extensible management process of car renting.
Keywords:UML;Management of car renting;System design
随着我国经济的高速发展和人民生活水平的日益提高,汽车已逐渐进入普通民众的家庭生活。汽车租赁业近年来借鉴国外经验,已经取得了长足的发展。我国最早开辟汽车租赁联网业务的北京世纪通汽车俱乐部与世界著名汽车租赁公司——欧洲汽车公司从2003年7月20日起,就开始共享彼此全球范围的汽车租赁网络、商务旅行网络以及饭店预订系统。这为我国汽车租赁企业的外引战略起到了很好的示范作用。
由于一个专业管理系统往往牵涉到复杂的业务流程关系,做好建模显得相当重要。因此,这里采用统一建模语言UML来规划设计本系统。
UML是面向对象开发中一种通用的、统一的图形化建模语言,它将软件模型中的信息用标准图形元素直观地显示出来,可以在多个层次上显示系统工作流程,有利于用户和其他涉及项目人员之间的通信。使用UML统一建模语言,通过模型实现了从业务领域到软件领域的映射,使问题可视化,形式化。
目前,市场上已经有大量商业的或开源的UML建模工具,其中大部分的CASE工具都能提供一整套的可视化建模工具,包括系统建模、模型集成、软件文档的生成、从模型生成代码的前向工程以及从代码生成模型的逆向工程等。Rational Software Modeler软件是IBM公司非常优秀的面向对象CASE产品,本文系统就是采用该系统设计的。
一、系统需求描述
长期以来,无论是面向对象开发还是传统的软件开发,都要根据业务流程中典型的应用场景来分析用户的需求,但是这些非正式的场景却难以为之建立正式文档。用例模型的应用弥补了这一缺憾,用例描述了待开发系统的功能需求,驱动了需求分析之后各阶段的开发工作,还可被用于验证和检验所开发的系统是否满足系统需求。
利用UML建模就是使用各种规范的图示获取生成应用程序所需要的各种元素及参数。通过绘制用例图、类图、顺序图以及活动图,针对不同的应用程序,分析、设计出相关模型。然后尽量用面向对象的思想,抽象出应用程序中结构相似的、功能相近的可复用的内容,并对其进行封装,使其“类”化。
在本系统中,客户可以通过电话、前台、访问终端系统来预订车辆。系统能够保存客户的预订申请单、客户的历史记录。工作人员要查询客户的信用记录并处理客户申请。技术人员需要保存并上传车辆检修的结果。因此这是一个多角色的系统。
二、系统建模
(一)静态建模
静态建模主要包括用例图、类图,下面以汽车租赁系统为例进行说明。
1.用例图
用例图从用户角度描述系统外部可见的行为,即系统为某一个或几个参与者提供的一段完整的服务。用例之间抽象出包含、扩展和泛化几种关系。这几种关系都是从现有的用例中抽取出公共信息,然后用不同的方法来重用这部分信息,以减少模型维护的工作量。使用例图不仅有利于系统设计人员与系统使用人员的沟通,也有利于系统设计人员之间互相的沟通,充分体现了可视化设计的优点,大大提高了开发效率。
汽车租赁系统中,主要的参与者有两个,一个是用户,另一个是公司职员。下面以客户视角为例说明用例图是如何建立的,图1展现了客户作为参与者涉及到的所有用例及其所属关系。
图1.客户视角的用例图
2.类图
类图是展现一系列类、接口、包及其关系的视图。类中的属性和操作是定义其他图的基础,也是以后的数据库设计和编码设计的依据。为了工程设计的需要,需要把类分为边界类、控制类、实体类三种类型。边界类用于操作者与系统的交互,控制类负责协调类之间的通信,实体类则用来保存永久存储体的信息。
边界类位于系统与边界的交界处,包括所有窗体、报表、打印机和扫描仪等硬件的接口以及其他系统的接口。用例图中每个参与者与用例之间至少有一个边界类。
实体类是描述系统静态结构的最重要的类,如本系统中的Customer类、Employee类、Car类等。对于系统中的类,可以从前面的用例分析中得出。汽车租赁系统中实体类图如图2所示。
图2.汽车租赁系统实体类图
(二)动态建模
UML通过活动图、交互作用图和状态图来描述系统的动态行为。
活动图强调的是一系列动作之间控制流的转换,就像电影中的武打戏,主要展现的是对象之间传送的操作;交互作用图强调的是从对象到对象的信息流的传递,就像电影中的文戏,主要描述的是对象之间传递的消息;状态图是对单个对象行为变化带来的状态改变进行的建模,就像电影中特定人物的贯穿始末的经历,主要描写单个对象在生命期中的状态变化,三者其实殊途同归,只是展现事件、描述人物的方式不同而已。
不同的系统设计时也会因自身的特点选择建立适合的图。因此,这里只建立汽车租赁系统相关用例的活动图和交互作用图。
1.活动图
活动图依据对象状态的转换来展示动作的转换与动作的结果。活动图中一个活动结束后,在可能的触发事件作用下,将立即进入下一个活动。
本系统中租车业务流程如图3所示,首先由客户发出服务请求,租赁公司职员检验用户的信用记录,如果信用记录良好,则允许向客户出租汽车,否则拒绝服务请求;用户获得租用权限后,挑选所需汽车,由租赁公司职员刷新租用记录,到期后用户归还车辆。
图3.汽车租赁系统租车业务的活动图
2.顺序图
交互作用图分为顺序图和协作图两种。顺序图显示对象之间的动态交互关系,强调对象之间消息发送的时间顺序,同时显示对象之间的消息传递关系;协作图描述对象间的协作关系,强调对象间的静态结构关系。如果强调时间和顺序,则使用顺序图;如果强调对象间的结构关系,则选择协作图。
顺序图主要反映对象之间已发送消息的先后次序,说明对象之间的交互过程以及具体时间位置所要发生的事件。图中排列着若干对象,每个对象有个生命线(垂直的虚线)从上到下代表着时间的先后。
图4显示了客户在线选车租赁的业务流程,客户根据车型、价格等相关信息,发出租车订单服务请求,形成订单后由租赁公司职员进行审核,通过后相关的信息更新记录会保存到数据库相应的表中,并返回租车订单成功的信息。
图4.客户租车的顺序图
三、系统的配置与实现
在UML中,完成了前期的静态建模与动态建模之后,还要将逻辑模型转换为现实世界中的物理系统,组件图和部署图就是用来为面向对象系统的物理实现建模的两种图。组件图用于描绘系统各个组件之间的关系。部署图则用来描述系统的拓扑,展现客户端与服务器端的网络连接以及系统的软件组件在节点上的物理分布。
UML不是一种开发工具,而是一种建模语言,利用UML来进行系统的分析与设计,建立系统的可视化模型后,还要选用合适的开发工具进行系统开发。
依据本系统的特点,可以采用C/S体系结构,服务器端操作系统采用Windows 2000 Advanced Server,数据库管理系统可采用SQL Server 2005,ASP.NET作为开发工具。
Rational Rose的各个版本还支持不同编程语言的双向工程,即系统框架模型与代码之间的交换机制。用前期建立的UML模型直接映射为编程语言,甚至映射为关系数据库的表或面向对象数据库的永久存储。