手机淘之宝uml建模.docx
《手机淘之宝uml建模.docx》由会员分享,可在线阅读,更多相关《手机淘之宝uml建模.docx(28页珍藏版)》请在冰豆网上搜索。
![手机淘之宝uml建模.docx](https://file1.bdocx.com/fileroot1/2023-1/26/baeba8a6-1bb4-482e-a89a-3e67b908151d/baeba8a6-1bb4-482e-a89a-3e67b908151d1.gif)
手机淘之宝uml建模
Uml建模
题目:
手机淘宝系统
班级:
姓名:
学号:
引言:
1问题的提出:
时至移动互联网时代,在这个移动终端相当普及的年代,使用移动终端浏览网页是相当稀松平常的事情。
但是桌面和移动终端的不同,不兼容会使用户在使用移动终端浏览网页时不适应和功能缺乏,加上本来移动终端和桌面平台的性能,特性差距,使得开发移动终端专用的网页极为有需要。
本文档是TGC的实训项目的开发题目的方向的基础上编制的。
本文档的编写为下阶段的设计,开发提供依据,为项目组成员对需求的详尽理解,以及在开发开发过程中的协同工作提供强有力的保证。
同时本文档也作为项目评审验收的依据之一
2本文工作和系统开发:
本文首先对系统的功能进行详细的设计,并在分析与设计的同时用UML建模语言对其建模,采用UML工具ROSE绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现UML建模的模型对系统开发带来的好处。
本文的编写结合了面向对象的软件开发方法与UML建模语言的优势与特色,同时与库存管理系统紧密结合。
既体现了面向对象的软件开发思想,又包容了UML建模语言所特有的语言建模优势。
在编写中我们大量的使用UML语言所提供的各种建模图形来描述库存管理系统,例如描述用户需求的用例图,描述系统功能的动态的顺序图。
根据库存管理的特点,我们大胆的改进了一般的UML建模的分析过程,并在分析设计过程中采用更加适合手机淘宝系统的分析级类图与顺序图。
3系统功能简介:
系统的功能是系统能够做的事情,在本系统中,系统的功能有:
1系统应该能完成浏览、搜索商品信息,商品详情页面
2系统应该能完成用户登录、用户注册功能
3系统应该能查看物流信息
4系统应该能查看订单详情;
5系统应该能进行用户反馈
6系统用户能进行话费充值、Q币充值、等充值功能
7系统用户可以添加或减少购物车中的商品
8系统能记录用户的身份信息;
9任何人员要使用本系统必须拥有相应的权限;
第一章手机淘宝购物用例建模
1.1手机淘宝购物系统业务流程分析
1.1.1购物流程分析
1用户浏览商品信息,了解商品的详细信息
2用户添加需要购买的商品进入购物车中
3用户结算购物车的订单,订单状态更新为以结算,等待商家发货。
4商家确认订单信息,开始发货。
5商家更新物流信息,用户等待收货。
1.1.2用户权限分析
1用户浏览商品信息,了解商品的详细信息
2用户添加商品进入购物车市提示需要登录
3用户登录帐号,若没有帐号这需要用户注册帐号
4用户填写帐户信息,如帐号,密码,手机号等。
5用户需要验证手机号,或邮箱完成帐户的激活
1.1.3我的淘宝充值业务流程分析
盘点流程:
1用户登录淘宝帐号
2用户选择充值的类型,以及充值的金额
3用户填写充值的订单信息
4商家发货,完成充值
5用户接收到充值成功的提示
盘点业务流程图如下:
1.2业务需求用例建模阶段
1.2.1业务角色的查找及建立
1.2.2业务用例查找与分析
根据淘宝购物流程可以找到基本的业务用例有:
1用户查看淘宝上的商品,选择需要购买的商品,并将其添加到购物车。
2用户结算时需要登录淘宝帐号,若没则需要注册帐号
3用户可以在购物车中任意添加或减少购买的商品
4用户确认订单付款
提供商品信息给商家。
5商家确认订单,开始发货
商家开始更新物流信息。
6用户可以查看商品的物流信息,查看订单的完成状态
7用户需要充值业务时可以进入充值页面,选择需要充值的类型,数量
8商家确认充值订单,为用户充值
9完成购物后,用户可以对商品或商家信息进行反馈
10以上功能在我的淘宝页面进行汇总,我的淘宝页面是进入其他页面的接口
11淘宝首页进行特色商品的展示,提示当前最火热的商品,推送商品的特点图片。
1.2.3业务用例图
1.2.3业务活动图
购物过程:
订单信息:
1.3系统基本功能描述:
根据库存系统业务过程分析知系统的基本功能有与商品信息、订单信息、用户信息三大模块,系统功能图如下:
第二章手机淘宝系统需求用例建模
2.1物流信息管理需求用例分析
2.1.1确定物流信息的内容:
物流信息应包括商品信息,购买日期,商家名称,对应的物流公司,实时的物流信息更新等内容。
同时物流信息应更新订单的完成状态,是派送中,还是以派送,还应具备派送人员的信息,以及预计送达时间等
2.1.2确定系统顶层用例
一般的uml的需求描述方法是用用例图来表达角色、用例及其之间的关系,用文字形式的事件流文档具体描述用例细节。
这种方法存在以下缺点:
一张用例图不能描述复杂系统全部需求;系统的业务种类多、功能繁杂,根本无法清晰地将系统的全部功能展开在一张用例图上,即使可以,用户看到纵横交错的各种关系,也只能望而生畏;用例图不适应描述系统的非功能要求;文字不便于说明复杂用例的流程。
涉及多个部门之间的交互协调,事件流文档中的文字难以清晰地表达地籍数据的复杂流程。
因此我们将采用建立多层次的用例图。
顶层用例图描述系统粗粒度的全部功能;下一层将没有表述清的粗粒度用例用更细粒度的子用例描述。
根据系统的业务过程分析与用户的需求分析,系统的顶层用例如表所示:
参与者
用例说明
用户
选择商品,提交订单,选择物流公司。
商家
接受订单,打包发货,通知物流公司取件
物流公司
商品运输管理,包括接受商家快件,更新物流信息,运输,派送
系统得顶层用例图如下:
2.1.3淘宝物流系统功能性分析:
根据业务描述,我们知道此模块应该要实现的功能大致如下:
1用户提交订单
2商家接受订单,通知物流公司
3物流公司上门取件,派送。
并实时更新物流信息,商品派送情况。
物流公司的分层用例图如下:
2.2系统登录功能用例分析
1、用户信息管理:
用户名
密码
2、注册管理:
。
邮箱注册
电话号码注册
3、基本资料管理:
角色管理
(1)角色填加
(2)角色删除
(3)角色权限修改
(4)角色密码修改
权限管理
对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作
2.3系统整体功能描述
系统整体功能图如下:
2.4淘宝充值系统整体功能描述
确定充值系统的内容
1.用户选择充值的类型,Q币充值,话费充值,游戏币充值等
2.用户确定充值的金额
3.用户输入需要充值的帐号
4.系统提示充值成功
子用例图如下
第三章业务领域分析与设计
3.1系统顺序图,状态图
权限管理对于系统来说十分重要,因为它关系到系统得安全性,因此在系统得开发与设计中,我们始终把系统的安全性放在十分重要的位置,因此我们在用顺序图分析的时候始终从系统用户未登陆状态来分析的,在后边系统详细设计时,我们会给出用户登录的顺序图;
1用户登录:
2淘宝购物
3用户充值
3.2定义基本对象与类
淘宝系统管理的对象分析:
实体对象
物流信息表,订单信息表,商品信息表,充值信息表,
登录信息表,用户反馈信息表。
边界对象
我的淘宝页面,物流信息页面,购物车页面,淘宝主页面,用户反馈页面,登录页面,注册页面
控制对象
后台
根据分析级的顺序图与系统的对象分析定义系统中涉及的类:
(1)类用户user
(2)类商品goods
(3)类订单order
(4)类物流Logistics
(5)类购物车shoppingcart
(6)类用户反馈userfeedback
(7)类充值recharge
(8)类后台管理admin
3.3淘宝系统类图:
3.4定义对象与类的属性与操作
(1)类用户
●私有属性
属性名
含义
属性类型
Id
用户名
String
Password
密码
String
Address
地址
String
Email
邮箱
String
Phonenumber
电话号码
String
●公共方法
方法名
含义说明
Set()
Login()
注册
登录
(2)类goods
私有属性
属性名
含义
属性类型
Name
商品名称
String
Price
商品价格
String
Evallution
商品评价
String
Store
商家
String
●公共方法:
方法名
含义说明
Set()
设置商品信息
Search()
查询商品信息
Add()
增加商品
Reduce()
减少商品
(3)类充值recharge
●私有属性
属性名
含义
属性类型
Type
充值类型
String
Acount
充值金额
String
Id
充值帐户
String
●公有方法
方法名
含义说明
Get()
取得账号名
Pay()
付款
Acount()
充值金额统计
(4)类订单order
私有属性
属性名
含义
属性类型
Finnishorder
以完成的订单
String
Unfinishorder
未完成的订单
String
Date
订单的日期
Int
Logical
订单的物流信息
String
●共有方法
方法名
含义说明
Get()
获取订单信息
Date()
获取日期
(5)类购物车shoppingcart
私有属性
属性名
含义
属性类型
Goodsid
购物车商品名称
String
Goodsprice
购物车商品价格
Float
Goodsacount
购物车商品数量
String
Priceacount
购物车商品总价格
String
●公有方法
方法名
含义说明
Add_goods();
添加商品
delectgoods();
删除商品
(6)类管理员admin
私有属性:
属性名
含义
属性类型
Id
管理员名称
String
Password
管理员密码
String
●公共方法:
方法名
含义说明
Addid()
添加管理员
Get()
获得管理员密码
Set()
设置管理员帐号密码
(7)类用户反馈userfeedback
私有属性
属性名
含义
属性类型
Id
用户名
String
Password
密码
String
Msessage
反馈信息
String
Phonenumber
电话号码
String
●公有方法
方法名
含义说明
Get()
获得用户信息
Post()
传送反馈信息
3.5系统设计顺序图,用户登录图
Taobao购物,taobao用户登录,taobao用户充值顺序图:
相关类图:
3.6系统扩展功能
1权限管理:
我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制。
1)角色管理
(1)角色填加
(2)角色删除
(3)角色权限修改
(4)角色密码修改
1添加角色的顺序图
2删除角色的顺序图
3修改用户权限顺序图
4.修改用户密码顺序图
2数据备份:
将所有数据表信息定期保存在磁盘中。
系统功能实现的顺序图如下:
3数据恢复
用备份文件替换受损文件。
实现的顺序图如下:
4业务统计
统计客户期间的入库业务量、出库业务量、货物信息等。
客户入库业务量统计顺序图:
客户出库业务量统计顺序图:
返3.7系统构架设计
包是类或者文件的组合,在入库系统的开发中,我们定义了用户接口包,入库管理类包,数据存储包,以及在开发中涉及到的java包。
用户接口:
通过用户接口类,用户可以浏览系统中的数据、输入新的数据。
其操作是通过调用业务逻辑中的操作来完成的。
业务逻辑:
主要包括应用系统的对象(它们是对现实世界的模拟),定义了这些对象的行为以及它们为数据存取层提供了数据操作功能。
数据存取:
提供服务给业务逻辑层中的类,以及类的定义。
子系统的设计架构:
部署图:
第四章系统实现测试与配置
4.1系统实现的工具与技术
本次系统地开发工具有Jbuilder9,Rose,SqlSever,HBuilder以及Tomcat;
Tomcat是一个开放源代码、运行servlet和JSPWeb应用软件的基于Java的Web应用软件容器。
系统开发在Jbuilder9中开发JavaServlet,jsp页面,以Tomcat作为应用程序服务器,SQLServer作为数据库服务器。
4.2系统实现方式图
系统配置图:
系统组件图:
第五章系统开发的思考
5.1数据库设计问题
现在的开发环境越来越多的是面向对象的,而存储机制却是不同于此的关系型数据库,这两者之间存在着很大差异。
这种差异使系统的开发活动不能统一。
典型的情况是,越来越多的应用系统是三层甚至多层体系结构,在此情况下,用户接口层和业务逻辑层是用面向对象技术开发的,而数据库多数仍然是关系型的。
因此,在采用面向对象建模技术分析获得对象模型后,怎样得到关系型的数据库呢?
这也是我们本次系统开发中遇到的问题。
(1)属性类型映射成域
UML中的属性类型(AttributeType)映射成数据库中的域(Domain)。
域的使用提高了设计的一致性,且优化了应用的移植性。
简单的域是非常容易实现的,仅仅需要替换相对应的数据类型和数据的尺寸。
同时,对于使用域的属性,可能要求为域的约束加入SQL的Check串。
例如,限定域的取值范围等。
枚举域(EnumerationDomain)限定了域允许取值的集合。
其实现通常有几种方法:
定义SQL约束来限定取值;为每个枚举值定义标志;枚举表;对枚举值进行编码等。
在本系统地开发中,所有涉及到枚举型的数据象,我们都单独设置一表来表达,例如计量单位表中就是入库单等表中计量单位数据项的一枚举约束。
(2)类的属性映射至关系数据库表中的列
属性可以直接映射为表中的零到多列。
通常,一个属性映射为表中的一列,但也有例外:
①对于非持久的属性可以不进行映射,有些属性置只做为中间值用于计算而不需保存在数据库中。
②某些对象属性本身就是对象,客户中的地址属性(如果较复杂)可以映射为数据库表或多列。
此时,属性映射成多个字段。
反之,也可以将多个相似的简单属性映射为一列。
(3)类映射成表
类到表的映射通常不是直接的。
只有非常简单的应用,类与表之间才会存在一一对应的关系。
5.2数据库访问设计问题
上面的实体对象映射到数据库表,主要是考虑UML的静态模型到数据库的映射,我们继续讨论动态模型在数据库设计中的实现,主要是数据库存取部分设计。
一般来说,数据库存取部分设计主要有以下几种策略:
(1)每个对象或类自己负责数据库的访问工作.
这种方法不需要专门的服务类,但是业务逻辑和数据操作逻辑都集中在业务类中,任务划分不清晰,业务类既要处理业务逻辑,又要处理数据操作,其中每一个的改动,都会影响到这个业务类。
(2)利用开发环境提供的机制
许多开发环境提供了初级的访问关系数据库的机制,它们是很好的一个开始。
常用的方法包括Microsoft的ODBC机制(开放数据库连接—ODBC)和Java数据库连接(JDBC),绝大多数面向对象的开发环境提供了封装这些标准方法之一的类库。
在本系统地开发中,我们用到了前者。
结束语
本文从面向对象的思想出发,讨论了UML建模的语法结构和UML的建模思路与过程,并基于此对库存管理系统进行了分析,设计,以及最后的实现与测试,由于篇幅有限,本文重点介绍了系统的设计部分,对系统的实现与测试只是选择重点分析。
从整个论文的撰写和用例的开发中,我们对基于UML和统一过程的面向对象建模方法有了相当的认识。
在统一过程开发中,把一个较大的项目的功能分配到一个个用例上去实现,让开发过程变得比较轻松,更适合多个人共同开发;同时,通过开发阶段的限制和迭代的划分,使开发过程的透明度更高,目标更明确,整个项目开发的风险也降低了。
当然,由于时间关系,系统还有很多不完善的地方,系统地实现部分我们只实现了入库管理这一模块,并且对于系统高要求标准作的还不够,这也是我们日后努力的方向。
参考文献
[1]《信息系统开发方法教程》陈佳著清华大学出版社1998.5
[2]《UML基础教程》张瑜清华大学出版社2003.10
[3]《java与UML面向对象设计与编程》王柏电子工业出版社2003.12
[4]《UML和模式应用》姚淑珍机械工业出版社2002.6
[5]《深入javaservlets网络编程》谢志华西安电子科技大学出版社2001.10
[6]《java面向对象编程指南》韩柯电子工业出版社2001.11
[7]《SOFTWAREENGINEERING》ShariLavrencePfleeger高等教育出版社2003.2
[8]《Jbuilder9》飞思科技产品研发中心电子工业出版社2004.1
[9]《UML系统分析设计与应用案例》冀振燕人民邮电出版社