论文部分内容阅读
摘 要:UML是一种面向对象的可视化建模语言,以台湾水果销售网为例,阐述基于UML技术进行电子商务系统的分析和设计的过程,通过用例模型、类模型及交互模型的建立可以快速、有效地进行电子商务系统的开发。
关键词: UML;电子商务系统;系统分析;系统设计;建模
中图分类号:TP文献标识码:A文章编号:1672-3198(2008)09-0328-02
1 引言
面向对象的开发方法已成为当今主流的软件开发方法,并逐渐成熟,UML 作为一种通用的建模语言,融入了软件工程领域的新思想、新方法、新技术,在软件的开发不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使用,具有定义良好、易于表达、功能强大等优势。电子商务系统作为一个WEB应用系统,它的分析、设计、实现和运行是一个极其复杂的过程,因此应用UML技术进行电子商务系统的分析和设计,可以快速构建一个安全、性能良好的电子商务系统。
2 UML概述
UML(Unified Modeling Language)又称统一建模语言或标准建模语言,是一个支持模型化和软件系统的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,由类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、包图及部署图这些基本图型组成。
2.1 UML的三种模型
电子商务的系统建设过程中,通过类模型、状态模型和交互模型完成系统的需求分析和系统设计,这三种模型将一个系统划分成不同的视图,不同的模型并不是完全独立的,而是有着清晰的互连,每一种模型都描述了系统的一个方面,但也包含了对其他模型的引用。
类模型描述状态交互模型操作的数据结构,标识与其他对象的关系、属性和操作。类模型提供了状态和交互模型的上下文。对象是我们划分世界的单元,是模型的分子。在构建类模型的过程中,目标是从真实世界中捕获那些对应用而言重要的概念。类图表达了类模型。
状态模型描述对象的控制结构,描述了与时间和顺序相关的对象层面,标记变化的事件,界定事件上下文的状态,以及事件和状态的组织。状态图表示状态模型。每幅状态图都显示了系统内允许的某个对象类状态和事件序列。状态图会引用其他的模型。状态图中的动作和事件都变成了类模型中对象上的操作。状态图之间的引用变成了交互模型中的交互。
交互模型专注于对象之间的信息互换,并提供了系统的整体视图。状态和交互模型描述了行为的不同侧面,它们两者配合才能完整描述行为。顺序图显示交互的对象和交互的时间顺序。活动图显示计算机的处理步骤之间的控制流。
2.2 UML的开发过程
UML的开发过程包括需求获得、系统分析、系统设计、实现和测试五个阶段。
需求获得的目的是尽可能完整、准确地捕捉系统的功能需求和其他要求,其主要工作是识别用例。用例图表述系统参与者希望系统提供的功能,通过确定系统边界、确定参与者、确定用例和确定参与者与用例的关系四个步骤建立用例图。
系统分析是找出描述问题域以及系统责任所需的类及对象,定义这些对象的属性和操作,以及它们之间静态和动态关系,其主要工作是:识别对象、为对象分类、确定类的发生和操作、确定类之间的关系、确定对象之间的交互、确定对象状态变化等。
系统设计是有考虑技术问题和限制的条件下,是扩展和细化系统分析阶段所建立的模型,包括总体设计和详细设计两个阶段,总体设计需定义包、包间的相关性和基本的通信规则;详细设计描述用户接口和数据库包中的类,扩展和细化业务对象类的,可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。
实现是对类进行编程的过程。测试是以用例定义的描述为依据,验证开发的系统是否满足要求。分为类测试、类集成测试和系统测试,类测试是类封装的操作和类的状态行为所驱动的,类集成测试有两种不同的策略:基于执行线的测试(thread-based testing)和基于使用的测试(use-based testing),系统测试是对所有类和主程序构成的整个系统的测试。
3 基于UML的电子商务系统分析设计
3.1 需求获得
台湾水果销售系统是一个B2C的电子商务平台,网上客户通过WEB页面访问水果销售系统,客户可以直接在主页浏览、查询各种水果信息,一旦对某些水果感兴趣,客户通过验证用户名和口令登录系统后,在网上直接下订单,并可查询订单的执行情况。供应商可以登录系统,对自己所销售的水果进行管理,处理客户所下的订单,并进行相应的查询。系统管理员管理客户及供应商,并对系统维护,以保证台湾水果销售网的正常运行。
经分析确定该系统的角色有:客户、供应商、系统管理员。主要用例有:系统登录、注册用户、浏览商品、下订单、浏览订单、商品管理、订单管理、用户管理及系统维护。其用例图如图1所示。
用例图是一种用户和开发人员都能理解的方式描述系统的功能和行为,帮助设计人员理清思路,整理用户的需求。用例图完全从用户的角度出发理解系统,并不考虑系统的具体设计和实现。它是需求分析之后各阶段的开发工作的基础。不仅在开发中保证了系统的所有功能的实现, 还可以被用于验证和检验所开发的系统,从而影响到开发的各个阶段和UML 的各个模型。
3.2 系统分析
系统分析的主要任务是找出描述问题域以及系统责任所需的类及对象,以及它们之间静态和动态关系。分析类是真实世界业务概念的映射,代表了问题域中的简洁抽象,可以使用边界类、控制类和实体类三种不同的构造型。用类模型描述系统的静态特征,用状态模型及交互模型描述系统的动态特征。
经分析,台湾水果网上销售系统中主要的类有系统用户、订单、水果、订单管理、登录控制、商品管理,其中登录控制为边界类,系统用户、水果、订单为实体类,订单管理和商品管理为控制类,它们之间的关系如图2所示。
行为图描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
交互模型是以消息完成对象之间的交互来描述系统的行为,交互图表示了对象之间的动态交互关系,可以用来说明一个场景,即描述一个事务的历史过程,着重体现对象间消息传递的时间顺序,可通过顺序图和协作图建立交互模型。顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态协作关系,除显示信息交换外,协作图还显示对象以及它们之间的关系;如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图。网上下订单的顺序图如图3所示。
3.3 系统设计
系统设计包括总体设计和详细设计两个阶段,总体设计需定义包、包间的相关性和基本的通信规则,按应用的层次可将包分为用户接口包、业务逻辑包和数据存取包,用户接口包通过WEB界面为用户提供查询、操作的数据录入及相应结果的返回;业务处理包包括分析域中的全部特定域类,实现业务过程的处理;数据存取包提供类和对象保存。
在本系统中,业务逻辑处理如图4所示,订单处理子系统实现网上订单的接收和管理;商品管理子系统实现网上所售各种水果的管理,包括产品类别、定价等;结算处理子系统实现对订单的结算;订单查询子系统可实现订单的内容、订单执行状态等信息的查询。
详细设计描述用户接口和数据库包中的类,扩展和细化业务对象类的,可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。如图5所示,订单类可细化为添加订单和查询订单类,对于添加订单类具有客户名、订单日期、交货地点、订单水果品种及数量等属性,并可通过建立连接、修改、关闭等事件与数据相连,实现相关的业务操作。详细设计中类的细化使编程人员可以很容易设计数据库和程序代码。
4 结束语
UML是一种表达力丰富的建模语言,可应用于在电子商分析和设计的全过程,利用UML技术可以构造一个科学准确的电子商务系统模型,从而对降低系统的开发成本、提高劳动生产率、合理化配置资源都将起到积极的作用,必将得到更广泛的应用。未来的研究工作将是探索如何从UML直接生成面向对象的Java代码,发挥UML工具的最强大作用,为电子商务系统的软件开发提供更大的支持。
参考文献
[1]徐宝文,周毓明,卢红敏.UML与软件建模[M].北京:清华大学出版社,2006,(6).
[2]Joseph Schmuller著,李虎,赵龙刚译.UML基础、案例与应用[M].北京:人民邮电出版社,2007,(1).
[3][美] Michael Blaha ,James Rumbaugh著.Object-Oriented Modeling and Design with UML [M].北京:人民邮电出版社,2006,(7).
[4]徐天宇编著.电子商务系统规划与设计[M].北京:清华大学出版社,2006,(5).
[5]王家华编著.软件工程[M].辽宁:东北大学出版社,2003,(8).
关键词: UML;电子商务系统;系统分析;系统设计;建模
中图分类号:TP文献标识码:A文章编号:1672-3198(2008)09-0328-02
1 引言
面向对象的开发方法已成为当今主流的软件开发方法,并逐渐成熟,UML 作为一种通用的建模语言,融入了软件工程领域的新思想、新方法、新技术,在软件的开发不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使用,具有定义良好、易于表达、功能强大等优势。电子商务系统作为一个WEB应用系统,它的分析、设计、实现和运行是一个极其复杂的过程,因此应用UML技术进行电子商务系统的分析和设计,可以快速构建一个安全、性能良好的电子商务系统。
2 UML概述
UML(Unified Modeling Language)又称统一建模语言或标准建模语言,是一个支持模型化和软件系统的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,由类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、包图及部署图这些基本图型组成。
2.1 UML的三种模型
电子商务的系统建设过程中,通过类模型、状态模型和交互模型完成系统的需求分析和系统设计,这三种模型将一个系统划分成不同的视图,不同的模型并不是完全独立的,而是有着清晰的互连,每一种模型都描述了系统的一个方面,但也包含了对其他模型的引用。
类模型描述状态交互模型操作的数据结构,标识与其他对象的关系、属性和操作。类模型提供了状态和交互模型的上下文。对象是我们划分世界的单元,是模型的分子。在构建类模型的过程中,目标是从真实世界中捕获那些对应用而言重要的概念。类图表达了类模型。
状态模型描述对象的控制结构,描述了与时间和顺序相关的对象层面,标记变化的事件,界定事件上下文的状态,以及事件和状态的组织。状态图表示状态模型。每幅状态图都显示了系统内允许的某个对象类状态和事件序列。状态图会引用其他的模型。状态图中的动作和事件都变成了类模型中对象上的操作。状态图之间的引用变成了交互模型中的交互。
交互模型专注于对象之间的信息互换,并提供了系统的整体视图。状态和交互模型描述了行为的不同侧面,它们两者配合才能完整描述行为。顺序图显示交互的对象和交互的时间顺序。活动图显示计算机的处理步骤之间的控制流。
2.2 UML的开发过程
UML的开发过程包括需求获得、系统分析、系统设计、实现和测试五个阶段。
需求获得的目的是尽可能完整、准确地捕捉系统的功能需求和其他要求,其主要工作是识别用例。用例图表述系统参与者希望系统提供的功能,通过确定系统边界、确定参与者、确定用例和确定参与者与用例的关系四个步骤建立用例图。
系统分析是找出描述问题域以及系统责任所需的类及对象,定义这些对象的属性和操作,以及它们之间静态和动态关系,其主要工作是:识别对象、为对象分类、确定类的发生和操作、确定类之间的关系、确定对象之间的交互、确定对象状态变化等。
系统设计是有考虑技术问题和限制的条件下,是扩展和细化系统分析阶段所建立的模型,包括总体设计和详细设计两个阶段,总体设计需定义包、包间的相关性和基本的通信规则;详细设计描述用户接口和数据库包中的类,扩展和细化业务对象类的,可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。
实现是对类进行编程的过程。测试是以用例定义的描述为依据,验证开发的系统是否满足要求。分为类测试、类集成测试和系统测试,类测试是类封装的操作和类的状态行为所驱动的,类集成测试有两种不同的策略:基于执行线的测试(thread-based testing)和基于使用的测试(use-based testing),系统测试是对所有类和主程序构成的整个系统的测试。
3 基于UML的电子商务系统分析设计
3.1 需求获得
台湾水果销售系统是一个B2C的电子商务平台,网上客户通过WEB页面访问水果销售系统,客户可以直接在主页浏览、查询各种水果信息,一旦对某些水果感兴趣,客户通过验证用户名和口令登录系统后,在网上直接下订单,并可查询订单的执行情况。供应商可以登录系统,对自己所销售的水果进行管理,处理客户所下的订单,并进行相应的查询。系统管理员管理客户及供应商,并对系统维护,以保证台湾水果销售网的正常运行。
经分析确定该系统的角色有:客户、供应商、系统管理员。主要用例有:系统登录、注册用户、浏览商品、下订单、浏览订单、商品管理、订单管理、用户管理及系统维护。其用例图如图1所示。
用例图是一种用户和开发人员都能理解的方式描述系统的功能和行为,帮助设计人员理清思路,整理用户的需求。用例图完全从用户的角度出发理解系统,并不考虑系统的具体设计和实现。它是需求分析之后各阶段的开发工作的基础。不仅在开发中保证了系统的所有功能的实现, 还可以被用于验证和检验所开发的系统,从而影响到开发的各个阶段和UML 的各个模型。
3.2 系统分析
系统分析的主要任务是找出描述问题域以及系统责任所需的类及对象,以及它们之间静态和动态关系。分析类是真实世界业务概念的映射,代表了问题域中的简洁抽象,可以使用边界类、控制类和实体类三种不同的构造型。用类模型描述系统的静态特征,用状态模型及交互模型描述系统的动态特征。
经分析,台湾水果网上销售系统中主要的类有系统用户、订单、水果、订单管理、登录控制、商品管理,其中登录控制为边界类,系统用户、水果、订单为实体类,订单管理和商品管理为控制类,它们之间的关系如图2所示。
行为图描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
交互模型是以消息完成对象之间的交互来描述系统的行为,交互图表示了对象之间的动态交互关系,可以用来说明一个场景,即描述一个事务的历史过程,着重体现对象间消息传递的时间顺序,可通过顺序图和协作图建立交互模型。顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态协作关系,除显示信息交换外,协作图还显示对象以及它们之间的关系;如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图。网上下订单的顺序图如图3所示。
3.3 系统设计
系统设计包括总体设计和详细设计两个阶段,总体设计需定义包、包间的相关性和基本的通信规则,按应用的层次可将包分为用户接口包、业务逻辑包和数据存取包,用户接口包通过WEB界面为用户提供查询、操作的数据录入及相应结果的返回;业务处理包包括分析域中的全部特定域类,实现业务过程的处理;数据存取包提供类和对象保存。
在本系统中,业务逻辑处理如图4所示,订单处理子系统实现网上订单的接收和管理;商品管理子系统实现网上所售各种水果的管理,包括产品类别、定价等;结算处理子系统实现对订单的结算;订单查询子系统可实现订单的内容、订单执行状态等信息的查询。
详细设计描述用户接口和数据库包中的类,扩展和细化业务对象类的,可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。如图5所示,订单类可细化为添加订单和查询订单类,对于添加订单类具有客户名、订单日期、交货地点、订单水果品种及数量等属性,并可通过建立连接、修改、关闭等事件与数据相连,实现相关的业务操作。详细设计中类的细化使编程人员可以很容易设计数据库和程序代码。
4 结束语
UML是一种表达力丰富的建模语言,可应用于在电子商分析和设计的全过程,利用UML技术可以构造一个科学准确的电子商务系统模型,从而对降低系统的开发成本、提高劳动生产率、合理化配置资源都将起到积极的作用,必将得到更广泛的应用。未来的研究工作将是探索如何从UML直接生成面向对象的Java代码,发挥UML工具的最强大作用,为电子商务系统的软件开发提供更大的支持。
参考文献
[1]徐宝文,周毓明,卢红敏.UML与软件建模[M].北京:清华大学出版社,2006,(6).
[2]Joseph Schmuller著,李虎,赵龙刚译.UML基础、案例与应用[M].北京:人民邮电出版社,2007,(1).
[3][美] Michael Blaha ,James Rumbaugh著.Object-Oriented Modeling and Design with UML [M].北京:人民邮电出版社,2006,(7).
[4]徐天宇编著.电子商务系统规划与设计[M].北京:清华大学出版社,2006,(5).
[5]王家华编著.软件工程[M].辽宁:东北大学出版社,2003,(8).