APP下载

基于UML的餐饮预订系统的需求分析和建模

2014-03-12马晋文

新媒体研究 2014年2期
关键词:建模

马晋文

摘 要 阐述UML的基本概念、特点和作用,从对餐饮预订系统的需求调研入手,应用面向对象的方法,基于UML对系统进行了需求分析与建模。介绍需求捕获、需求分析和需求描述的完整过程。其中,运用了用例图、类图和活动图,描述了建模的主要过程。最后介绍系统的实际应用情况,并提出进一步的优化和改进建议。

关键词 UML;餐饮预订系统;建模

中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2014)02-0050-02

面向对象的开发方法已成为当今主流的软件开发方法,并逐渐成熟。UML作为一种通用的建模语言,融入了软件工程领域的新思想、新方法、新技术,在软件开发的不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使用,具有定义良好、易于表达、功能强大等优势。餐饮预订系统依托语音平台、互联网以及手机终端为客户提供餐饮预订服务,既要具备全国统一,又要兼顾本地特色。这要求在需求分析时求同存异,尽可能达到统一管理的目的,也能满足地方的个性化需求,做到统一和融合。应用UML技术进行分析和设计,可以快速构建一个安全、性能良好的餐饮预订系统。

本文应用面向对象的方法,基于UML对系统进行了需求分析与建模的实践。

1 需求定义

1.1 系统需求

本系统要具备以下主要功能和特点:①能够以多种条件灵活地搜索定位商家,例如:地图搜索、商圈搜索、菜系搜索同类商家查询等;②实现以语音平台为基础,话务员受理生成订单、变更订单、取消订单、与商家确认预订、核对客户消费的订单处理流程;③接受来自客户、商家的投诉,或服务信息类的诉求,生成客服单,处理客服单;④公告管理,包括:商家公告和系统公告。前者是记录、发布商家营业动态。后者是针对服务中心内的信息发布和通知;⑤商家信息采集、维护。商家合同维护;⑥服务费(佣金)计算,账单生成、账单核对、账单注销;⑦基础数据的维护,包括商圈、菜系等。

1.2 系统划分

本系统划分为三个子系统:服务中心管理子系统,合作商管理子系统和公司管理子系统。

1)服务中心管理子系统:主要由话务人员使用。包含的模块有:订单生成、订单确认、订单核对和订单查询变更,客服单管理、商家公告、系统公告、坐席工作量统计等。

2)合作商管理子系统:主要由合作商使用,用于维护商家。包含的模块有:商家信息维护、合同维护、商家公告管理、商家预订成交统计等。

3)公司管理子系统:主要由公司业务管理人员使用。包含的模块有:合作商维护、合作商管理员维护、商圈维护、菜系维护、账务管理、业务量统计,客户预订量统计等。

2 需求分析和建模

2.1 建模的方法

需求分析是需求工程中最为核心的工作,而需求建模则是需求分析的主要手段。建模目的在于对系统进行可视化,对决策进行文档化,详细说明系统的结构或行为。本项目选择了融合Booch 1993、OOSE和OMT-2等建模语言优点和概念的UML统一建模语言。UML(Unified Modeling Language)是用来对软件密集系统进行可视化的一种建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供了便于不同人之间有效地共享和交流设计结构的机制,可有效地管理系统复杂度、提高系统设计的可重用性、增强系统架构的灵活性。UML不仅适用于以面向对象技术来描述任何类型的系统,而且同样适用于系统开发的不同阶段,包括从需求描述直至系统完成后的测试和维护。除了用于软件系统建模,UML还可以用于业务流程、业务知识、数据库、嵌入式等多个领域。对于不同的领域,其采用的本质元素是相同的,这样不同的人们就可以基于相同的语言沟通;不同的领域模型就可以通过相同的机制进行互换与迁移。

UML具有以下的特点:①统一标准。统一了Booch,OMT和OOSE等方法中的基本概念;②支持面向对象技术的设计,简洁明了地表达面向对象的各种概念和模型元素;③易于使用,表达能力强,进行可视化建模;④可升级,具有广阔的适用性和可用性;⑤简单、可扩展。扩展无需对核心概念进行修改。

总之,UML是一种通用的、可视化的、面向对象的建模语言。

2.2 建模的实现

1)用例和用例图(Use Case Diagram)。用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。UML使用用例图从宏观上分析系统,将系统的功能模块抽象为诸多用例。用例图定义了系统应该具备的功能,它使我们对系统的功能有了一个整体的认知,我们可以知道有哪些参与者会与系统发生交互,每一个参与者需要系统为它提供什么样的服务。

用例模型主要由以下模型元素构成:①参与者(Actor);②用例(Use Case);③通讯关联(Communication Association)。

在客户电话预订餐馆这个业务流程中,用例如图1所示。

图1

2)业务流程分析和活动图。每一个业务事件都是业务流程的触发点。业务流程分析是对业务事件分析、识别业务活动,确定业务活动之间的关系,业务活动需要接收的信息,产生的数据。分析的要点在于理清流程的层次性(部门级、组织级、岗位级)和流程的类型(管理流程、业务流程、支撑流程)。

活动图是业务流程分析的产物。它是UML规范中定义的一种图表,是一种表述业务过程和工作流的技术,也可以对用例实现,甚至程序实现来建模。

在客户电话拨入,话务员受理的流程中,受理话务员根据客户要求查询商家。客户会只要求报商家电话,或要求预订。如果预订,话务员会征询客户是否注册会员,以及录入预订信息,保存生成订单。如图2所示。endprint

图2

3)业务实体分析和类图。在业务流程中,会涉及许多业务实体。识别业务领域中的业务实体,定义实体的关键属性,理解它们之间的逻辑关系、数量关系和结构规则,是正确构建信息系统的关键。

类图是业务实体分析的产物之一,它描述了一组具有类似结构、行为和关系的对象。它是对系统静态结构的描述,在系统的整个生命周期中都是有效的。通过类图将用例的实现具体到每个类中,从而完成设计走向细化的过程。

客户预订餐馆这个业务流程中,主要涉及的业务实体有:客户、商家、订单、话务员。客户分为会员和非会员。一个客户可以预订多次,每次只能预订一个商家。所以一个客户可以有多张订单,而一张订单只与一个客户关联。一个商家可以被预订多次,所以与多张订单关联,但是一张订单只记录一个商家。由受理话务员根据客户要求录入生成订单,处理话务员与商家确认预订,并通知客户预订结果。如图3所示。

图3

3 成果和展望

实践证明,餐饮预订系统的需求分析设计思路是正确的,方法是合理有效的。系统能够承载全国业务,实现了业务平台集约化,取得了一定的经济效益和社会效益。

依据迭代开发的理念,本次完成了主业务的核心功能的设计与开发。从构建订餐平台的概念出发,并随着业务的拓展,系统不断有需求叠加和改进的空间。例如:①叠加增值服务——引入合作方,实现实时查看客户消费金额,为客户和商家提供更完善的服务,优化商业模式;②商家排名算法——目前商家排名是通过手工设置的。下一步系统要能够通过对商家受众度、信用度、佣金高低等多角度进行数据分析的算法,实现商家排名自动化;③界面优化——当前系统的界面还需从美观程度、易用性等方面进行优化,以提高用户的使用体验。

4 结论

餐饮预订系统采用了基于UML的面向对象的分析与设计方法,进行分布式的分析和建模。UML能够对整个开发过程提供灵活、一致和易读的表达,实现了信息封装、数据抽象,便于系统的理解、扩充和维护。从实际效果来看,实现了设计和编码的无缝连接,加快了开发进度,提高了软件效率和质量,降低了软件开发中的风险。

参考文献

[1]蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程[M].北京:人民邮电出版社,2006.

[2]徐峰.软件需求最佳实践[M].电子工业出版社,2008.

[3](美)斯塔姆(Stumpf,R.V.),(美)锑格(Teague,L.C.).面向对象的系统分析与设计(UML版)[M].梁金昆译.北京:清华大学出版社,2005.endprint

猜你喜欢

建模
解析新课标下高中数学建模教学策略
物理建模在教与学实践中的应用
在经历中发现在探究中建模
空间几何体外接球问题的数学建模
3DSMAX建模技术分析
三维激光扫描技术建模与倾斜摄影测量建模对比
思维建模在连续型随机变量中的应用
模型与建模在高中生物学教学中的应用——以“减数分裂”第1课时教学为例
求距求值方程建模
运用5W1H教学策略培养高中物理问题建模能力