2024年1月20日发(作者:高曦哲)
面向对象技术大作业
题 目:*
学
专
班
*
在线手机销售系统的分析与设计
名: ***
号: *********
业: 软件工程
级: 硕研1班
师: ***
基于UML的在线手机销售系统的分析与设计
1 在线手机销售系统问题陈述
1.1
研究背景
随着社会高科技,商品经济化突飞猛进的发展,计算机的应用已经普及到经济和社会生活的各个领域。为了适应现代社会人们高度强烈的时间观念,手机销售网站为广大的手机消费者、手机厂商、供应商管理带来了极大的方便。手机销售网站能够为用户提供可靠的信息储存和快捷的信息处理手段。作为计算机应用的一部分,使用计算机对手机销售信息进行管理,具有手工管理所无法比拟的优点。因此,开发这样一套软件成为很有必要的事情,它能够具体化、合理化的管理单位的销售信息情况,用结构化的思维方式去了解计算机的工作原理。
计算机软硬件技术日新月异、突飞猛进,引领技术潮流,带来了巨大的社会改变,计算机已成为现代社会人们工作、生活、学习甚至娱乐不可或缺的工具。电子商务也随之日渐完善,其中手机购物也变成电子商务中重要的一部分。现在有很多网上购物形式的网站,著名的京东商城、当当网、淘宝网、网易手机、小米官网、魅族就是其中的代表。这些网站给本系统的实现提供了很好的参考。
目前,电子商务中的网上购物已是日渐成熟的技术。电子商务网站中所涉及到网络技术及数据库技术也是日渐成熟,一套好的手机销售系统和公司网站相结合将会给公司带来新的利润增长点和更多的客户群。本系统的设计作为计算机应用的一部分,使用计算机对企业、手机销售信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、效率高、存储量大、安全性好、成本低廉等。这些优点能够极大的提高一个企业、公司销售管理的效率。本系统开发了基于JSP技术的手机销售网站,其开发主
要包括后台数据库的建立和维护以及前台应用程序的开发两方面。前者要求建立起数据一致性和完整性、安全性的平台,而对于后者则要求应用程序功能完备、易操作易使用。项目开发的目的是可以满足购物者和管理员双方面的需求,也是特别为手机销售者量身定做的一套手机销售管理系统,以期达到手机销售业务管理的目标。
1.2
主要研究内容
本系统开发了基于JSP技术的手机销售网站,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两方面。前者要求建立起数据一致性和完整性、安全性的平台,而对于后者则要求应用程序功能完备、易操作易使用。项目开发的目的是可以满足购物者和管理员双方面的需求,也是特别为手机销售者量身定做的一套手机销售管理系统,以期达到手机销售业务管理的目标。
其功能主要包括:
(1)交易用户的注册和管理:创建用户并完成相关用户信息的管理。
(2)商品的管理:商品的录入、相关信息的更新维护。
(3)公告管理:热卖商品、特价商品的信息公告等。
(4)订单管理:购物交易订单的生成,订单的相关信息维护等。
(5)留言薄管理:留言信息的维护等
1.3在线手机销售系统涉众
本系统涉众包括游客、会员、商品管理员、系统管理员和订单管理员。
2
系统需求分析
2.1 业务分析
通过网络搜索,查阅相关资料以及与用户进行访谈等方式,对用户的需求进行了详细的调研,并对用户的查看商品、下订单、与卖家交流等要求进行了详细的探讨,确定了题库管理系统主要功能需求。其中,本文所研究的手机销售系统的功能分解图如图2.1所示。
图2.1 网上手机销售系统的功能分解图
主要功能如下:
(1)交易用户的注册和管理:创建用户并完成相关用户信息的管理。
(2)商品的管理:商品的录入、相关信息的更新维护。
(3)公告管理:热卖商品、特价商品的信息公告等。
(4)订单管理:购物交易订单的生成,订单的相关信息维护等。
(5)留言薄管理:留言信息的维护等
1、系统整体业务流程图
系统可以分为游客(未注册用户)、已注册用户两个角色,游客可以浏览网站,但是只有注册用户才可以登录购买商品,系统整体业务流程图
图2.2 网上手机销售系统的整体业务流程图
2.2 功能分析
2.2.1 系统的功能分析
1、能够让给顾客注册成为会员
a) 如果只查阅商品信息,则不必注册,但若要购买商品,则必须注册成为会员。注册时系统会要求填写一些必要的个人信息和收货人资料,如姓名)、电话、电子邮件、联系地址等。
2、能够让会员修改个人信息
b) 已经注册会员的个人信息将会作为用户购买商品是部分订单信息
的默认选项,如有变更,下订单时可再做更改。
3、能够让会员浏览商品
c) 通过商品搜索功能,选择不同的搜索条件,可以迅速搜索到用户需要的商品
4、能够让会员购买商品、下订单
d) "登录"是系统验证用户身份的过程,以便提交订单时能够对号入座。用户只有将注册时留的"账号"和"密码"信息正确输入才可以登录。会员在线购买,确认后生成订单。
e) 整个购买过程包括:购买流程,如何找到会员想要的商品,如何使用购物车,如何查询会员的订单处理情况。
5、能够让会员进行留言
f) 会员登陆后,可以在留言板中留言
6、能够让管理员登陆
7、能够让管理员处理订单
g) 会员在线购买生成订单后,由订单管理员对订单进行一系列的处理,包括订单发货、订单冻结等。
8、能够让管理员添加、修改商品信息
9、能够让管理员发布公告
10、能够让进行管理员的管理
11、能够让管理员管理会员信息
根据在需求调查时得到的结果,本文利用UML建模技术及Sparks公司的EA建模工具对系统进行了用例建模及用例描述,建立了系统的功能
模型如图2.3所示。
图2.3 网上手机销售系统用例图
2.2.2 系统的主要用例规约
表2.2为用户注册用例规约,图2.4为用户注册活动图
用例名称
参与者
用例描述
前置条件
后置条件
普通用户
本用例提供普通用户注册成为本系统会员
登陆手机销售系统
如果用例成功,普通用户注册成为本系统会员,拥有构买权限。若失败,系统状态不改变
基本事件流 用例开始于用户希望注册成为本系统会员
(1) 注册时系统会要求填写一些必要的个人信息和收货人资料,如姓名)、电话、电子邮件、联系地址等。
(2) 注册为会员后,获得修改个人信息和构买商品的权限
备选事件流 A1:注册信息不完整、不准确
(1) 系统提示有些信息为必填信息,联系方式收货地址等信息务必核对准确无误
(2) 返回基本事件流第(1)步
补充说明 已经注册会员的个人信息将会作为用户购买商品是部分订单信息的默认选项,如有变更,下订单时可再做更改
表2.2
用户注册
图2.4
表2.3为用户登录用例规约,图2.5为用户登录活动图
用例名称
参与者
用例描述
前置条件
后置条件
用户登录
普通用户、会员、管理员
本用例提供用户进入本系统的接口
打开系统登录界面
如果用例成功用户可进入本系统。若失败,用户不能使用本系统
基本事件流 (1)用例开始于用户使用本系统,要求用户输入正确的用户名和密码,系统根据不同的用户角色进入不同的操作界面,提供相应的功能
(2)系统要求用户输入用户名和密码
(3)验证输入的用户名和密码
(4)用户成功登陆其对应的操作界面
备选事件流 A1:用户名不存在
(1)系统提示用户名不存在的错误信息
(2)返回基本事件流第(1)步
A2:用户名对应密码不正确
(1) 系统提示用户名密码不正确的错误信息
(2) 返回基本事件流第(1)步
补充说明
图2.5
密码输入框以密文方式
表2.3
表2.4为会员购买商品用例规约,图2.6为会员构买活动图
用例名称
参与者
用例描述
前置条件
后置条件
会员购买商品
系统已注册的会员
本用例提供手机商品供用户购买并能够让用户下订单
登陆手机销售系统,注册成为会员
如果用例成功,会员成功购买手机并且下单。若失败,系统状态不改变
基本事件流 用例开始于用户希望从本系统购买手机
(1)在系统内浏览搜索商品
(2)选择合适的商品,放入购物车,下单,将订单信息提交到订单信息表中,并相应增加订单项到对应的订单项信息表
备选事件流 A1:非会员想购买商品
(1)系统提示他没有购买商品的权限,只可以如果只查阅商品信息
(2)返回基本事件流第(1)步
A2:收货地址不是默认地址
(3) 下订单时提示用户修改收货地址
(4) 返回基本事件流第(1)步
补充说明 只有会员有构买和留言等权限,非会员只能查阅商品信息
表2.4
图2.6
表2.5为订单管理员发货用例规约,图2.7为发货活动图
用例名称
参与者
用例描述
前置条件
订单管理员
本用例提供订单管理员接受点单后发货
接收到有效订单
发货
后置条件 如果用例成功,则管理员发货。若失败,系统提示无效订单信息或库存不足,重新填写订单
基本事件流 用例开始于订单管理员浏览某一未处理订单
(1)逐条查询出订单对应订单项
(2)查看该订单项中对应商品的数量
(3)查看商品的库存,并发货
(4)修改库存信息
备选事件流 A1:库存不足
(1)发货失败,系统向会员提示库存不足交易失败
(2)返回基本事件流第(1)步
补充说明
图2.7
订单要按照规定填写,确保准确无误
表2.5
2.3.3 补充规约
1、设计规范要求:
项目开发规范统一,模块划分,代码编写均遵照命名规范文档; 程序安全并要有良好的可扩展性;用户界面简洁明了、操作简单实用。
2、精度及灵活性要求:
该管理系统要能在较高精度下完成发出的命令,并且在操作员发出错误的指令时给予警告或提示,而非陷入不响应状态。
3、时间特性要求:
响应时间:所有查询操作均在2s内完成;
更新处理时间:所以更新操作均在2s内完成。
4.运行环境要求
该管理系统要求在windows98以上的windows系统环境中运行。
5.数据要求
用户名需要查重、电话以及邮政编码需要纠错等。
6.安全性要求
1)只有注册用户才能正常使用系统功能。
2)系统必须能防止用户私人信息的泄露。
3 系统总体设计
3.1 系统总体架构设计
本系统采用MVC架构其系统,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
(1)视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe
Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.
MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
(2)模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
(3)控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
图3.1为手机销售系统架构。
图3.1
3.2 关键抽象
系统关键抽象即系统实体类图,系统类图描述了系统中的类及其相互之间的各种关系,它反映了系统中包含的各种对象的类型以及对象间的各种静态关系,主要描述了系统实体层中各实体类的属性及其相互关系,是对实体层中各模块的细化描述。图3.2是手机销售系统的实体
图3.2
4 在线手机销售系统用例分析
4.1 定义分析类
由于系统用例较多,以下仅对用户登录、购买手机、添加商品和添加留言个用例进行类的分析。其他用例分析与此相同。
4.1.1 用户登录用例的分析类
(1)功能设计
本模块的主要功能是管理员或者用户输入登陆信息,系统验证后进入各自界面,用户可以购买商品,管理员可以对用户信息,商品信息,订单信息进行管理。
(2)顺序图
登录模块的顺序图如图4.1所示。
图4.1
4.1.2 用户注册用例的分析类
(1)功能设计 本模块的主要功能是游客输入注册所需要的信息,系统验证信息的有效性,保存游客成为用户,可以进行购买商品的活动。
(2)顺序图 注册模块的顺序图如图4.2所示。
图4.2
4.1.3 添加购物车用例的分析类
(1)功能设计 本模块的主要功能是用户选中喜欢的商品,加入购物车,加入购物车后商品才可以购买生成订单。
(2)顺序图 添加商品入购物车模块的顺序图如图4.3所示。
图4.3
4.1.4 添加购物车用例的分析类
(1)功能设计 本模块的主要功能是用户挑选完商品后,在购物车界面选择商品数量,确认用户信息的邮寄地址后,对商品进行购买,生成订单信息。
(2)顺序图 生成订单模块的顺序图如图4.4所示.
图4.4
4.1.5 添加商品信息用例的分析类
(1)功能设计 本模块的主要功能是管理员对新来的商品进行加入后台数据,这样就可以让用户购买商品。
(2)顺序图 新增商品信息模块的顺序图如图4.5所示。
图4.5
4.2 在线手机销售系统类的设计
本系统类的设计如图4.6所示
图4.6
5在线手机销售系统数据库设计
数据库是信息系统的基础和核心,数据库设计的质量将直接关系到信息系统开发的成败和优劣。制作数据库首先要确定实体的属性和实体间的关系,根据关系做出数据表。
(1) 如表5.1管理员类别表,用于存放管理员类别信息的数据表。
表5.1 用于存放管理员信息数据表tb_admintype(N表示非空)
字段名
adminTypeId
varchar(50) N 管理员姓名
类型
int(11) N
可否为空 含义
主键
adminTypeName
(2) 如表5.2管理员信息表,用于存放管理员信息的数据表。
表5.2 用于存放管理员信息数据表tb_admin(N表示非空)
字段名
ID
int(11) N
AdminName varchar(50) N
管理员真实姓名
LoginName varchar(12) N
LoginPwd varchar(12) N
登录密码
登录账号
管理员类别,外键
类型
int(4) N
可否为空 含义
主键
AdminType
(3) 如表5.3用户信息表,用于存放用户信息的数据表。
表5.3 用于存放用户信息数据表tb_user(N表示非空)
字段名 类型 可否为空 含义
Id int(11) N
主键、自增
Name
Password
trueName
Sex
Birthday
Address
Postcode
Phone
Mphone
Question
Answer
img
score
varchar(30)
varchar(16)
varchar(50)
varchar(40)
varchar(30)
varchar(20)
varchar(100)
varchar(10)
varchar(15)
varchar(15)
varchar(30)
varchar(30)
varchar(100)
int(11)
N
N
N
N
N
N
用户登录名
登录密码
邮箱
真实姓名
性别
生日
住址
邮编
固话
手机
安全问题
安全问题答案
头像
积分
(4) 如表5.4大类别信息表,用于存放大类别信息的数据表。
表5.4用于存放大类别信息数据表tb_supertype(N表示非空)
字段名
superTypeId
typeName
类型
int(11)
varchar(50)
可否为空
N
N
含义
主键
唯一 类名称称
(5) 如表5.5小类别信息表,用于存放小类别信息的数据表。
表5.5用于存放小类别数据表tb_subtype(N表示非空)
字段名 类型 可否为空 含义
subTypeId int(11) N
主键
superTypeId
subTypeName
int(11)
varchar(50)
N
N
外键
小类名称称
(6) 如表5.6商品信息表,用于存放商品信息的数据表。
表5.6用于存放商品信息数据表tb_goods(N表示非空)
字段名
BookId
类型
int(11)
int(11)
int(11)
可否为空
N
N
N
含义
主键
外键
外键
商品名称
superTypeId
subTypeId
goodsName varchar(200)
Code
introduce
price
nowPrice
picture
produceDate
publisher
author
inTime
Newgoods
Salegoods
Hostgoods
varchar(20)
text
float
float
编码号
介绍
原价
现价
图片
生产日期
产地
品牌
上传时间
是否新书
是否热卖商品
是否特价商品
varchar(200)
varchar(20)
varchar(40)
varchar(20)
timestamp
int(11)
int(11)
int(11)
Specialgoods
goodsNum
int(11)
int(11)
是否特种商品
数量
(7) 如表5.7订单信息表,用于存放订单信息的数据表。
表5.7 用于存放订单信息数据表tb_order(N表示非空)
字段名
int(11)
varchar(20)
varchar(20)
varchar(20)
varchar(10)
varchar(20)
timestamp
int(11)
N
N
主键、自增
购买账号
收货人名称
收货地址
邮编
邮箱
订单日期
状态0-未发货
1-已发货 2-已冻结
(8) 如表5.8订单项信息表,用于存放订单项信息的数据表。
表5.8用于存放订单项信息数据表tb_orderitem(N表示非空)
字段名
int(11)
int(11)
int(11)
varchar(50)
float
N
N
N
主键、自增
外键
外键
商品名称
价钱
类型 可否为空 含义
类型 可否为空 含义
orderId
name
recvName
address
postcode
orderDate
flag
orderItemId
orderId
goodsId
goodsName
price
goodsNum int(11) 购买数量
(9) 如表5.9留言信息表,用于存放留言信息的数据表。
表5.9用于存放留言信息数据表tb_note(N表示非空)
字段名
id
title
author
content
ly_time
int(11)
varchar(20)
varchar(20)
varchar(50)
timestamp
N
N
N
N
主键、自增
标题
品牌
内容
留言时间
类型 可否为空 含义
(10) 如表5.10公告信息表,用于存放公告信息的数据表。
表5.10用于存放公告信息数据表tb_inform(N表示非空)
字段名
int(11)
varchar(30)
varchar(30)
timestamp
N
主键、自增
公告标题
公告内容
公告发布时间
类型 可否为空 含义
informId
informTitle
informContent
informTime
数据库的用户角色权限划分在明确了不同角色的操作权限,有利保障数据库信息的操作。
角色设计将整个使用本系统分为多个不同角色,采用比较人性化的系统权限分配方式,它可以由系统管理员进行权限的分配。一般来说有会员管理员、商品管理员、订单管理员以及系统管理员等等,如表5.11所示。
权限
会员
会员管理员
商品管理员
订单管理员
系统管理员
描述
进行注册、登录、网上购物、留言,查看和修改个人信息管理。
进行会员信息的删除、查看以及个人密码的修改
添加、查看公告,查看会员留言,添加商品大类别、小类别,增加、删除商品信息以及个人密码的修改
添加、查看公告,查看会员留言,对订单进行发货、冻结处理,删除订单以及个人密码的修改
删除、修改、添加管理员信息
表5.11系统角色权限表
2024年1月20日发(作者:高曦哲)
面向对象技术大作业
题 目:*
学
专
班
*
在线手机销售系统的分析与设计
名: ***
号: *********
业: 软件工程
级: 硕研1班
师: ***
基于UML的在线手机销售系统的分析与设计
1 在线手机销售系统问题陈述
1.1
研究背景
随着社会高科技,商品经济化突飞猛进的发展,计算机的应用已经普及到经济和社会生活的各个领域。为了适应现代社会人们高度强烈的时间观念,手机销售网站为广大的手机消费者、手机厂商、供应商管理带来了极大的方便。手机销售网站能够为用户提供可靠的信息储存和快捷的信息处理手段。作为计算机应用的一部分,使用计算机对手机销售信息进行管理,具有手工管理所无法比拟的优点。因此,开发这样一套软件成为很有必要的事情,它能够具体化、合理化的管理单位的销售信息情况,用结构化的思维方式去了解计算机的工作原理。
计算机软硬件技术日新月异、突飞猛进,引领技术潮流,带来了巨大的社会改变,计算机已成为现代社会人们工作、生活、学习甚至娱乐不可或缺的工具。电子商务也随之日渐完善,其中手机购物也变成电子商务中重要的一部分。现在有很多网上购物形式的网站,著名的京东商城、当当网、淘宝网、网易手机、小米官网、魅族就是其中的代表。这些网站给本系统的实现提供了很好的参考。
目前,电子商务中的网上购物已是日渐成熟的技术。电子商务网站中所涉及到网络技术及数据库技术也是日渐成熟,一套好的手机销售系统和公司网站相结合将会给公司带来新的利润增长点和更多的客户群。本系统的设计作为计算机应用的一部分,使用计算机对企业、手机销售信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、效率高、存储量大、安全性好、成本低廉等。这些优点能够极大的提高一个企业、公司销售管理的效率。本系统开发了基于JSP技术的手机销售网站,其开发主
要包括后台数据库的建立和维护以及前台应用程序的开发两方面。前者要求建立起数据一致性和完整性、安全性的平台,而对于后者则要求应用程序功能完备、易操作易使用。项目开发的目的是可以满足购物者和管理员双方面的需求,也是特别为手机销售者量身定做的一套手机销售管理系统,以期达到手机销售业务管理的目标。
1.2
主要研究内容
本系统开发了基于JSP技术的手机销售网站,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两方面。前者要求建立起数据一致性和完整性、安全性的平台,而对于后者则要求应用程序功能完备、易操作易使用。项目开发的目的是可以满足购物者和管理员双方面的需求,也是特别为手机销售者量身定做的一套手机销售管理系统,以期达到手机销售业务管理的目标。
其功能主要包括:
(1)交易用户的注册和管理:创建用户并完成相关用户信息的管理。
(2)商品的管理:商品的录入、相关信息的更新维护。
(3)公告管理:热卖商品、特价商品的信息公告等。
(4)订单管理:购物交易订单的生成,订单的相关信息维护等。
(5)留言薄管理:留言信息的维护等
1.3在线手机销售系统涉众
本系统涉众包括游客、会员、商品管理员、系统管理员和订单管理员。
2
系统需求分析
2.1 业务分析
通过网络搜索,查阅相关资料以及与用户进行访谈等方式,对用户的需求进行了详细的调研,并对用户的查看商品、下订单、与卖家交流等要求进行了详细的探讨,确定了题库管理系统主要功能需求。其中,本文所研究的手机销售系统的功能分解图如图2.1所示。
图2.1 网上手机销售系统的功能分解图
主要功能如下:
(1)交易用户的注册和管理:创建用户并完成相关用户信息的管理。
(2)商品的管理:商品的录入、相关信息的更新维护。
(3)公告管理:热卖商品、特价商品的信息公告等。
(4)订单管理:购物交易订单的生成,订单的相关信息维护等。
(5)留言薄管理:留言信息的维护等
1、系统整体业务流程图
系统可以分为游客(未注册用户)、已注册用户两个角色,游客可以浏览网站,但是只有注册用户才可以登录购买商品,系统整体业务流程图
图2.2 网上手机销售系统的整体业务流程图
2.2 功能分析
2.2.1 系统的功能分析
1、能够让给顾客注册成为会员
a) 如果只查阅商品信息,则不必注册,但若要购买商品,则必须注册成为会员。注册时系统会要求填写一些必要的个人信息和收货人资料,如姓名)、电话、电子邮件、联系地址等。
2、能够让会员修改个人信息
b) 已经注册会员的个人信息将会作为用户购买商品是部分订单信息
的默认选项,如有变更,下订单时可再做更改。
3、能够让会员浏览商品
c) 通过商品搜索功能,选择不同的搜索条件,可以迅速搜索到用户需要的商品
4、能够让会员购买商品、下订单
d) "登录"是系统验证用户身份的过程,以便提交订单时能够对号入座。用户只有将注册时留的"账号"和"密码"信息正确输入才可以登录。会员在线购买,确认后生成订单。
e) 整个购买过程包括:购买流程,如何找到会员想要的商品,如何使用购物车,如何查询会员的订单处理情况。
5、能够让会员进行留言
f) 会员登陆后,可以在留言板中留言
6、能够让管理员登陆
7、能够让管理员处理订单
g) 会员在线购买生成订单后,由订单管理员对订单进行一系列的处理,包括订单发货、订单冻结等。
8、能够让管理员添加、修改商品信息
9、能够让管理员发布公告
10、能够让进行管理员的管理
11、能够让管理员管理会员信息
根据在需求调查时得到的结果,本文利用UML建模技术及Sparks公司的EA建模工具对系统进行了用例建模及用例描述,建立了系统的功能
模型如图2.3所示。
图2.3 网上手机销售系统用例图
2.2.2 系统的主要用例规约
表2.2为用户注册用例规约,图2.4为用户注册活动图
用例名称
参与者
用例描述
前置条件
后置条件
普通用户
本用例提供普通用户注册成为本系统会员
登陆手机销售系统
如果用例成功,普通用户注册成为本系统会员,拥有构买权限。若失败,系统状态不改变
基本事件流 用例开始于用户希望注册成为本系统会员
(1) 注册时系统会要求填写一些必要的个人信息和收货人资料,如姓名)、电话、电子邮件、联系地址等。
(2) 注册为会员后,获得修改个人信息和构买商品的权限
备选事件流 A1:注册信息不完整、不准确
(1) 系统提示有些信息为必填信息,联系方式收货地址等信息务必核对准确无误
(2) 返回基本事件流第(1)步
补充说明 已经注册会员的个人信息将会作为用户购买商品是部分订单信息的默认选项,如有变更,下订单时可再做更改
表2.2
用户注册
图2.4
表2.3为用户登录用例规约,图2.5为用户登录活动图
用例名称
参与者
用例描述
前置条件
后置条件
用户登录
普通用户、会员、管理员
本用例提供用户进入本系统的接口
打开系统登录界面
如果用例成功用户可进入本系统。若失败,用户不能使用本系统
基本事件流 (1)用例开始于用户使用本系统,要求用户输入正确的用户名和密码,系统根据不同的用户角色进入不同的操作界面,提供相应的功能
(2)系统要求用户输入用户名和密码
(3)验证输入的用户名和密码
(4)用户成功登陆其对应的操作界面
备选事件流 A1:用户名不存在
(1)系统提示用户名不存在的错误信息
(2)返回基本事件流第(1)步
A2:用户名对应密码不正确
(1) 系统提示用户名密码不正确的错误信息
(2) 返回基本事件流第(1)步
补充说明
图2.5
密码输入框以密文方式
表2.3
表2.4为会员购买商品用例规约,图2.6为会员构买活动图
用例名称
参与者
用例描述
前置条件
后置条件
会员购买商品
系统已注册的会员
本用例提供手机商品供用户购买并能够让用户下订单
登陆手机销售系统,注册成为会员
如果用例成功,会员成功购买手机并且下单。若失败,系统状态不改变
基本事件流 用例开始于用户希望从本系统购买手机
(1)在系统内浏览搜索商品
(2)选择合适的商品,放入购物车,下单,将订单信息提交到订单信息表中,并相应增加订单项到对应的订单项信息表
备选事件流 A1:非会员想购买商品
(1)系统提示他没有购买商品的权限,只可以如果只查阅商品信息
(2)返回基本事件流第(1)步
A2:收货地址不是默认地址
(3) 下订单时提示用户修改收货地址
(4) 返回基本事件流第(1)步
补充说明 只有会员有构买和留言等权限,非会员只能查阅商品信息
表2.4
图2.6
表2.5为订单管理员发货用例规约,图2.7为发货活动图
用例名称
参与者
用例描述
前置条件
订单管理员
本用例提供订单管理员接受点单后发货
接收到有效订单
发货
后置条件 如果用例成功,则管理员发货。若失败,系统提示无效订单信息或库存不足,重新填写订单
基本事件流 用例开始于订单管理员浏览某一未处理订单
(1)逐条查询出订单对应订单项
(2)查看该订单项中对应商品的数量
(3)查看商品的库存,并发货
(4)修改库存信息
备选事件流 A1:库存不足
(1)发货失败,系统向会员提示库存不足交易失败
(2)返回基本事件流第(1)步
补充说明
图2.7
订单要按照规定填写,确保准确无误
表2.5
2.3.3 补充规约
1、设计规范要求:
项目开发规范统一,模块划分,代码编写均遵照命名规范文档; 程序安全并要有良好的可扩展性;用户界面简洁明了、操作简单实用。
2、精度及灵活性要求:
该管理系统要能在较高精度下完成发出的命令,并且在操作员发出错误的指令时给予警告或提示,而非陷入不响应状态。
3、时间特性要求:
响应时间:所有查询操作均在2s内完成;
更新处理时间:所以更新操作均在2s内完成。
4.运行环境要求
该管理系统要求在windows98以上的windows系统环境中运行。
5.数据要求
用户名需要查重、电话以及邮政编码需要纠错等。
6.安全性要求
1)只有注册用户才能正常使用系统功能。
2)系统必须能防止用户私人信息的泄露。
3 系统总体设计
3.1 系统总体架构设计
本系统采用MVC架构其系统,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
(1)视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe
Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.
MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
(2)模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
(3)控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
图3.1为手机销售系统架构。
图3.1
3.2 关键抽象
系统关键抽象即系统实体类图,系统类图描述了系统中的类及其相互之间的各种关系,它反映了系统中包含的各种对象的类型以及对象间的各种静态关系,主要描述了系统实体层中各实体类的属性及其相互关系,是对实体层中各模块的细化描述。图3.2是手机销售系统的实体
图3.2
4 在线手机销售系统用例分析
4.1 定义分析类
由于系统用例较多,以下仅对用户登录、购买手机、添加商品和添加留言个用例进行类的分析。其他用例分析与此相同。
4.1.1 用户登录用例的分析类
(1)功能设计
本模块的主要功能是管理员或者用户输入登陆信息,系统验证后进入各自界面,用户可以购买商品,管理员可以对用户信息,商品信息,订单信息进行管理。
(2)顺序图
登录模块的顺序图如图4.1所示。
图4.1
4.1.2 用户注册用例的分析类
(1)功能设计 本模块的主要功能是游客输入注册所需要的信息,系统验证信息的有效性,保存游客成为用户,可以进行购买商品的活动。
(2)顺序图 注册模块的顺序图如图4.2所示。
图4.2
4.1.3 添加购物车用例的分析类
(1)功能设计 本模块的主要功能是用户选中喜欢的商品,加入购物车,加入购物车后商品才可以购买生成订单。
(2)顺序图 添加商品入购物车模块的顺序图如图4.3所示。
图4.3
4.1.4 添加购物车用例的分析类
(1)功能设计 本模块的主要功能是用户挑选完商品后,在购物车界面选择商品数量,确认用户信息的邮寄地址后,对商品进行购买,生成订单信息。
(2)顺序图 生成订单模块的顺序图如图4.4所示.
图4.4
4.1.5 添加商品信息用例的分析类
(1)功能设计 本模块的主要功能是管理员对新来的商品进行加入后台数据,这样就可以让用户购买商品。
(2)顺序图 新增商品信息模块的顺序图如图4.5所示。
图4.5
4.2 在线手机销售系统类的设计
本系统类的设计如图4.6所示
图4.6
5在线手机销售系统数据库设计
数据库是信息系统的基础和核心,数据库设计的质量将直接关系到信息系统开发的成败和优劣。制作数据库首先要确定实体的属性和实体间的关系,根据关系做出数据表。
(1) 如表5.1管理员类别表,用于存放管理员类别信息的数据表。
表5.1 用于存放管理员信息数据表tb_admintype(N表示非空)
字段名
adminTypeId
varchar(50) N 管理员姓名
类型
int(11) N
可否为空 含义
主键
adminTypeName
(2) 如表5.2管理员信息表,用于存放管理员信息的数据表。
表5.2 用于存放管理员信息数据表tb_admin(N表示非空)
字段名
ID
int(11) N
AdminName varchar(50) N
管理员真实姓名
LoginName varchar(12) N
LoginPwd varchar(12) N
登录密码
登录账号
管理员类别,外键
类型
int(4) N
可否为空 含义
主键
AdminType
(3) 如表5.3用户信息表,用于存放用户信息的数据表。
表5.3 用于存放用户信息数据表tb_user(N表示非空)
字段名 类型 可否为空 含义
Id int(11) N
主键、自增
Name
Password
trueName
Sex
Birthday
Address
Postcode
Phone
Mphone
Question
Answer
img
score
varchar(30)
varchar(16)
varchar(50)
varchar(40)
varchar(30)
varchar(20)
varchar(100)
varchar(10)
varchar(15)
varchar(15)
varchar(30)
varchar(30)
varchar(100)
int(11)
N
N
N
N
N
N
用户登录名
登录密码
邮箱
真实姓名
性别
生日
住址
邮编
固话
手机
安全问题
安全问题答案
头像
积分
(4) 如表5.4大类别信息表,用于存放大类别信息的数据表。
表5.4用于存放大类别信息数据表tb_supertype(N表示非空)
字段名
superTypeId
typeName
类型
int(11)
varchar(50)
可否为空
N
N
含义
主键
唯一 类名称称
(5) 如表5.5小类别信息表,用于存放小类别信息的数据表。
表5.5用于存放小类别数据表tb_subtype(N表示非空)
字段名 类型 可否为空 含义
subTypeId int(11) N
主键
superTypeId
subTypeName
int(11)
varchar(50)
N
N
外键
小类名称称
(6) 如表5.6商品信息表,用于存放商品信息的数据表。
表5.6用于存放商品信息数据表tb_goods(N表示非空)
字段名
BookId
类型
int(11)
int(11)
int(11)
可否为空
N
N
N
含义
主键
外键
外键
商品名称
superTypeId
subTypeId
goodsName varchar(200)
Code
introduce
price
nowPrice
picture
produceDate
publisher
author
inTime
Newgoods
Salegoods
Hostgoods
varchar(20)
text
float
float
编码号
介绍
原价
现价
图片
生产日期
产地
品牌
上传时间
是否新书
是否热卖商品
是否特价商品
varchar(200)
varchar(20)
varchar(40)
varchar(20)
timestamp
int(11)
int(11)
int(11)
Specialgoods
goodsNum
int(11)
int(11)
是否特种商品
数量
(7) 如表5.7订单信息表,用于存放订单信息的数据表。
表5.7 用于存放订单信息数据表tb_order(N表示非空)
字段名
int(11)
varchar(20)
varchar(20)
varchar(20)
varchar(10)
varchar(20)
timestamp
int(11)
N
N
主键、自增
购买账号
收货人名称
收货地址
邮编
邮箱
订单日期
状态0-未发货
1-已发货 2-已冻结
(8) 如表5.8订单项信息表,用于存放订单项信息的数据表。
表5.8用于存放订单项信息数据表tb_orderitem(N表示非空)
字段名
int(11)
int(11)
int(11)
varchar(50)
float
N
N
N
主键、自增
外键
外键
商品名称
价钱
类型 可否为空 含义
类型 可否为空 含义
orderId
name
recvName
address
postcode
orderDate
flag
orderItemId
orderId
goodsId
goodsName
price
goodsNum int(11) 购买数量
(9) 如表5.9留言信息表,用于存放留言信息的数据表。
表5.9用于存放留言信息数据表tb_note(N表示非空)
字段名
id
title
author
content
ly_time
int(11)
varchar(20)
varchar(20)
varchar(50)
timestamp
N
N
N
N
主键、自增
标题
品牌
内容
留言时间
类型 可否为空 含义
(10) 如表5.10公告信息表,用于存放公告信息的数据表。
表5.10用于存放公告信息数据表tb_inform(N表示非空)
字段名
int(11)
varchar(30)
varchar(30)
timestamp
N
主键、自增
公告标题
公告内容
公告发布时间
类型 可否为空 含义
informId
informTitle
informContent
informTime
数据库的用户角色权限划分在明确了不同角色的操作权限,有利保障数据库信息的操作。
角色设计将整个使用本系统分为多个不同角色,采用比较人性化的系统权限分配方式,它可以由系统管理员进行权限的分配。一般来说有会员管理员、商品管理员、订单管理员以及系统管理员等等,如表5.11所示。
权限
会员
会员管理员
商品管理员
订单管理员
系统管理员
描述
进行注册、登录、网上购物、留言,查看和修改个人信息管理。
进行会员信息的删除、查看以及个人密码的修改
添加、查看公告,查看会员留言,添加商品大类别、小类别,增加、删除商品信息以及个人密码的修改
添加、查看公告,查看会员留言,对订单进行发货、冻结处理,删除订单以及个人密码的修改
删除、修改、添加管理员信息
表5.11系统角色权限表