药品在线销售系统开发与设计文档.docx
《药品在线销售系统开发与设计文档.docx》由会员分享,可在线阅读,更多相关《药品在线销售系统开发与设计文档.docx(39页珍藏版)》请在冰豆网上搜索。
药品在线销售系统开发与设计文档
药品在线销售电子商务系统设计与开发
1.引言
1.1项目来源
信息时代的社会不断发展,信息技术、网络安全防卫等技术的不断完善致使电子商务快速发展,生活工作的快节奏让人们不满足于传统的购物模式,互联网让人们体会到在家里便可浏览购买到各种自己需要的商品的便捷,电子商务网站之间的竞争使人们享受到更加优质的服务。
基于在线电子商务的销售流程,设计与开发一个简单实用的药品在线销售信息系统,希望促进对药品在线销售信息化的管理与优化。
1.2任务目标
对于电子商务这样的数据流量特别大的管理信息系统,必须要满足使用简单方便、管理以及用户浏览操作灵活等设计要求。
本系统在设计时应该满足以下几个目标:
●采用人机对话的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。
●全面展示书店内所有的药品信息。
●为顾客提供一个方便、快捷的图书信息查询功能。
可以通过药品大类查询某类药品的信息。
●实现药品购买。
●会员用户可以查看自己的订单以及购买记录。
●实现药品销售排行。
●管理员可以随时添加和修改销售药品的价格和库存等信息。
●查看网站公告信息
●系统实现可维护性。
●系统运行安全可靠,外部用户无法获得用户的个人资料等信息。
2.项目规划
2.1项目资源
2.1.1硬件设备
本系统开发的硬件设备要求如下:
●服务器:
Pentium双核处理器CPUT45002.30GHz,2GB的内存。
●打印机:
无。
●扫描仪:
无。
●网络设备:
调制解调器,双绞线,集线器,8口交换机,1000MBPS以太网卡。
2.1.2软件环境
●操作系统:
Windowsxp;
●数据库支撑软件:
Microsoftaccess2010;
●网站服务器:
ApacheTomcat5.5.27Server
●网页浏览工具:
IE浏览器。
2.1.3软件工具
●设计开发工具:
MicrosoftVisualStudio2010;
●网页图形制作软件:
AdobePhotoshopCS2;
●网页设计工具:
MicrosoftVisualStudio2010;
●软件设计建模工具:
MircorsoftVisio2003。
2.2项目规划
2.2.1任务描述
使系统开发步骤及本系统采用自上而下的项目开发步骤,整个过程主要分为三个阶段。
图2.1任务树
2.2.2进度安排
基于以上描述的任务目标,将系统的设计与开发任务进行任务分解如下:
●进行需求分析,确定系统需要逐步实现的功能;
●进行业务流程分析,进而设计出系统的运作流程;
●设计总体框架,根据业务流程和系统运作流程规划软件结构;
●定义数据结构,根据实际业务中数据流定义在系统中需要定义的数据和数据之间的关系;
●体功能实现,使用开发环境进行界面设计和代码编写以实现在线图书销售系统各部分功能;
●系统测试,对系统进行使用,评估功能的实现效果。
图2.2任务分配甘特图
3.系统需求分析
3.1业务需求
3.1.1业务组织
药品在线销售业务重点涉及药品销售的财务、供销和系统研发维护和客服部门,在下面的业务人员组织结构图上层列出这四个部门,并做了必要的简化:
图3.1组织结构图
3.1.2业务定义
下面主要用例图说明系统用户的业务及其应用接口。
1.
从用户的角度
付款
图3.2业务例图(用户)
根据上图可以知道,从用户角度来看,主要业务功能包括药品信息浏览,用户注册,登录,选购图书,以及登录之后的订单,付款功能。
2.从管理员的角度
订单管理
公告信息
管理员
药品管理
查询
验证权限制限
会员管理
添加
修改
删除
图3.3业务例图(管理员)
根据图3.3可以看出,从管理员角度来看,主要业务功能包括会员管理,药品信息管理,用订单信息管理,公告信息管理。
可以对数据库存储的信息进行添加、删除、修改、查询。
3.1.3业务流程
图3.4业务流程图
根据图3.4可知,注册用户自己在网站选购药品生成订单,也可以通过客服帮助完成,如果不是选择货到付款则在支付后生成已付订单,并进入收货地址页面,不付款则会生成未付款订单进入收货地址页面后等待发货,如果此时取消订单则按付款与否退款并返回。
管理员根据订单检查库存后发货,并决定是否补充库存的药品,补充库存药品与发货后都会产生库存帐,未付款则在货到付款后完成订单,并将结果返回客户和管理员。
3.2功能需求
●药品信息查询
该模块实现药品信息的分类显示,提供最新药品的推荐显示以及销售排行显示,便于引导购物取向。
此外,还提供依据药品名称等关键字实现快速搜索的功能并显示该药品的有关详细信息。
●会员信息管理
会员信息管理模块记录了用户注册时填写的所有信息,实现系统对登录用户身份的验证,同时也能对用户资料实时更新并记录。
该系统可以收集用户的联系方式、通讯地址等信息。
●订单信息管理
对每一个注册后登录系统的会员用户所产生的订单进行管理。
将用户所选购的药品信息,包括价格、数量等信息记录到对应的订单上,便于在付款功能进行结帐处理。
同时在此模块中,登录后的会员还可以方便的实现修改购买药品、清空订单信息等操作。
●订单处理
根据选购的药品的信息,以及用户所选择的送货方式和付款方式,和用户对应的个人信息生成处理订单,便于后续业务的进行。
在会员付款后系统将信息提交给管理员发货,并将信息反馈给对应的会员用户。
3.2.1功能组成
根据需求分析,设计出客户系统功能图如图所示:
图3.5客户端系统功能图
系统后台的功能如下图所示:
图3.6后台管理功能图
3.2.2功能逻辑
数据流程图是描述系统逻辑模型的有效工具,通过几个特定的符号,可以综合地反映出信息在系统中的使用、加工处理、传递、存储的整体情况。
对于药品在线销售电子商务系统,其外部用户主要有游客、会员和管理员。
游客只能浏览查询药品的信息,游客在进行注册后成为系统的会员,会员可以购买药品及相关信息查询的功能,管理员可对系统的各种信息进行管理和维护。
根据上述分析,可以得到药品在线销售电子商务系统的顶层数据流图,如图所示:
图3.7顶层数据流程图
注册用户自己在网站选购药品生成订单,管理员根据订单检查库存后发货,并决定是否补充库存的药品,补充库存药品与发货后都会产生库存帐,未付款则在货到付款后完成订单,并将结果返回客户和管理员。
根据上述分析,可以得到在线图书销售系统的中层数据流图,如图3.8所示。
图3.8药品在线销售数据流程图
3.3数据字典
3.3.1数据项的定义
数据字典是各类数据描述的集合,能够对数据的详细规格定义,并可用于严整数据,以发现系统在数据需求描述中是否出现纰漏。
数据字典通常包括数据项、数据结构、数据流、数据存储和数据处理过程这几个部分的数据内容,其中数据项是数据的最小单位,若干个数据可以组成一个数据结构。
数据字典就是通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容的。
数据项是不可再分的数据单位。
对数据项的描述通常包括以下内容:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系},本系统主要的数据字典如下:
表3.1会员信息相关数据项
数据项编号
数据项名称
类型
长度
取值范围
简述
R01-01
会员ID
int
12
1~1012-1
该会员用户ID
R01-02
会员名
varchar
50
该会员用户名
R01-03
真实姓名
varchar
50
该用户真实姓名
R01-04
性别
varchar
50
性别
R01-05
联系电话
varchar
50
1~1012-1
该用户联系电话
R01-06
地址
varchar
200
该用户联系地址
R01-07
电子邮箱
varchar
50
该用户电子邮箱
表3.2药品信息相关数据项
数据项编号
数据项名称
类型
长度
取值范围
简述
R02-01
药品ID
int
12
1~1012-1
此药品代码
R02-02
名称
varchar
50
此药品名称
R02-03
生产厂家
varchar
100
此药品生产厂家
R02-04
功能主治
varchar
100
此药品主要功能效用
R02-05
用量
varchar
50
此药品使用方法和用量
R02-06
性状
varchar
50
此药品性状
R02-07
规格
varchar
50
此药品规格
R02-08
药品分类名称
varchar
50
关联药品分类表中的名称
R02-09
药品价格
int
12
1~1012-1
此药品的价格
表3.3药品分类相关数据项
数据项编号
数据项名称
类型
长度
取值范围
简述
R03-01
药品类ID
int
12
1~1012-1
此药品类的编号
R03-02
药品分类名
varchar
50
此种药品类的名称
表3.4用户订单数据项
数据项编号
数据项名称
类型
长度
取值范围
简述
R04-01
订单ID
int
10
1~1012-1
此订单编号
R04-02
用户ID
int
10
1~1012-1
此订单对应的用户编号
R04-03
数量
float
10
1~1012-1
此订单中各药品的数量
R04-04
药品ID
varchar
200
此订单中的药品
R04-06
联系电话
varchar
50
此订单对应用户的联系电话
R04-07
日期
bigint
20
此订单产生的时间
3.3.2数据结构的定义
数据结构描述了某些数据项之间的关系。
一个数据结构可以有若干个数据项组成,也可以有若干个数据结构组成;还可以由数据项和数据结构组成。
下面正对本管理系统的数据结构做简要说明。
表3.5用户订单的数据结构
DS01-01
DS01-02:
订单标识
DS01-03:
用户情况
DS01-04:
订单详情
R04-01:
订单ID
R01-01:
用户编号
I02-01:
药品编号
R04-02:
用户ID
R01-02:
用户名
I02-02:
药品名称
R04-04:
药品ID
R01-03:
用户真实姓名
I02-03:
药品主要功效
R04-07:
日期
R01-04:
用户性别
I02-04:
药品数量
R01-05:
用户联系电话
R01-06:
用户联系地址
R01-07:
用户电子邮箱
从上表看出,数据结构的定义如下:
数据结构编号:
DS01-01
数据结构名称:
用户订单
简述:
用户所填写的会员信息及选购的药品等信息
数据结构组成:
DS01-02+DS01-03+DS01-04
3.3.3数据流的定义
数据流由一个或一组相互联系的数据项组成。
下面对一个主要的数据流做出定义。
表3.6订单数据流定义
S01-01
数据流编号
S01-01
数据流名称
用户订单
简述
客户选购药品生成的订单
数据流来源
客户选购图书
数据流去向
订单处理模块
数据流组成
订单ID+用户ID+客户名+药品名+数量+总价+收货人姓名+收货人地址+收货人联系电话+付款详情+下单时间
数据流量
15份/天
高峰流量
60份/天
4.系统结构设计
4.1总体框架
涉及系统工作模式,组成系统的构件及其关系等。
可通过框架图、组件图直观说本系统采用三层架构设计,它的工作原理如图4.1所示。
图4.1三层结构原理图
采用三层构架以后,用户界面层通过统一的接口向系统处理层发送请求,系统处理层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的结果经过处理后返回给用户界面层。
这样用户界面层不知道数据库的结构,同样可以通过功能的接入实现目标。
4.2软件结构
4.2.1软件模型
在线系统为顶层模块,其调用客户基本信息的处理、图书信息处理、订单处理等模块,后台管理员对注册客户基本信息的处理,以及对管理员的信息处理,对图书类型及图书基本信息的处理,对订单详细信息的处理。
图4.2系统结构图
4.2.2模块定义
该系统的各大模块可概括为四大模块,在分析模块定义的时候,首先分析系统的整个模块。
系统的HIPO图。
如下图4.3所示。
图4.3系统的H图
会员基本信息处理模块的IPO图
系统名称:
在线药品销售电子商务系统
模块名称:
会员信息处理
模块编号:
1
输入数据:
有效的原始数据
处理步骤:
1.调用“会员基本信息输入”模块
图4.4会员基本信息处理模块的IPO图
药品信息处理模块的IPO图
系统名称:
在线药品销售电子商务系统
模块名称:
药品信息处理
模块编号:
2
输入数据:
有效的原始数据
输出数据:
经处理的药品信息
处理步骤:
1.调用“药品信息输入”模块
图4.5药品信息处理模块的IPO图
订单数据处理模块的IPO图
系统名称:
在线药品销售电子商务系统
模块名称:
订单信息处理
模块编号:
3
输入数据:
有效的订单数据
输出数据:
经处理的订单信息
处理步骤:
1.调用“订单信息输入”模块
图4.6订单数据处理模块的IPO图
用户基本信息输入模块的IPO图
系统名称:
在线药品销售电子商务系统
模块名称:
会员注册信息输入
模块编号:
1.1
输入数据:
用户基本信息的原始数据
处理步骤:
1.注册客户的基本信息的录入和整理
2.管理员账号和密码
图4.7客户基本信息输入模块的IPO图
书籍信息输入模块的IPO图
系统名称:
在线药品销售电子商务系统
模块名称:
药品信息输入
模块编号:
2.1
输入数据:
药品信息的原始数据
处理步骤:
1.药品的名称的记录、修改和删除
2.药品销售数量及单价的新建、修改和删除
3.药品库存量记录、修改和删除
图4.8药品信息输入模块的IPO图
订单数据输入模块的IPO图
系统名称:
在线药品销售电子商务系统
模块名称:
订单信息输入
模块编号:
3.1
输入数据:
订单原始数据处理
处理步骤:
1.对订单原始数据进行审核
2.对已审核的订单,进行数量、单价添加、修改和删除
图4.9订单数据输入模块的IPO图
4.3数据结构
4.3.1数据库模型
从本系统中规划出的实体有:
会员实体、管理员实体、药品实体、药品分类实体、订单实体。
实体之间关系的E-R图如图4.10所示。
图4.10实体之间关系E-R图
管理员实体和药品分类实体的E-R图,如图4.11和图4.12所示。
图4.11管理员实体E-R图图4.12图书分类实体E-R图
用户信息实体的E-R图,如图4.13所示。
图4.13用户信息实体E-R图
4.3.2数据定义
通过系统的数据需求分析,根据E-R图及E-R实体图可以得到系统中所包含的实体及相关属性,数据定义则是对数据的类型、长度及是否为空等属性进行进一步的说明,通过数据项描述来说明,下面例举几个主要的数据结构进行描述说明:
表4.1管理员数据项描述
数据项
含义说明
类型
长度
取值含义
与其他数据项逻辑关系
管理员帐号
唯一标识
int
10
标识管理员
关联密码
管理员密码
varchar
50
管理员登陆密码
关联管理员
表4.2会员实体数据项描述
数据项
含义说明
类型
长度
取值含义
与其他数据项逻辑关系
用户编号
唯一标识
int
12
识别用户
用户名
varchar
50
标识用户
密码
varchar
50
用户登录密码
真实姓名
varchar
50
客户的真实姓名
关联用户邮箱
性别
varchar
50
客户性别
联系电话
varchar
50
客户的联系电话
地址
varchar
200
用户地址
电子邮件
varchar
50
用户电子邮件
表4.3药品实体数据项描述
数据项
含义说明
类型
长度
取值含义
与其他数据项逻辑关系
药品代码
唯一标识
int
12
识别药品
名称
varchar
50
标识药品
生产厂家
varchar
100
药品生产厂家
功能主治
varchar
100
药效及适用人群
用量
varchar
50
使用方法和用量
性状
varchar
50
药品性状
规格
varchar
50
药品规格
药品分类名称
varchar
50
属于的药品类别
关联药品分类表中的名称
表4.4药品分类实体数据项描述
数据项
含义说明
类型
长度
取值含义
与其他数据项逻辑关系
药品分类编号
唯一标识
int
12
识别药品种类
名称
varchar
50
药品类别
表4.5订单实体数据项描述
数据项
含义说明
类型
长度
取值含义
与其他数据项逻辑关系
订单编号
唯一标识
int
10
订单编号
用户名
int
10
客户名
关联会员信息表中的用户名
总价格
float
10
总价格
内容
varchar
200
订单内容
是否付款
int
2
判断是否付款
联系电话
varchar
50
用户联系电话
关联会员信息表中的联系电话
购买时间
bigint
20
日期
5.系统详细设计
5.1程序算法详细设计
人们在超市买东西,都是把商品放在一个购物篮里,等到把所有要买的东西选购完毕后,一起拿到收银台前付钱。
订单中的信息就包含了用户所选购的所有药品的名称,数量和价格等信息。
其核心代码如下:
1.添加药品
开始
Do从Session取出订单列表
If订单列表不为空
对订单列表进行遍历
If添加药品ID=订单药品ID
Then输出:
订单中已有该药品
Else将该药品添加到订单列表
输出:
添加成功
2.修改药品数量
开始
Do从Session取得订单列表信息
For对订单列表进行遍历
If药品ID=修改药品ID
药品数量=修改的药品数量
药品总价=药品数量*药品单价
Do调用动态更新价格方法
结束
5.2数据库详细设计
5.2.1数据库环境配置
操作系统:
MicrosoftWindowsXP
数据库系统:
MicrosoftAccess2010
系统开发语言:
C#。
5.2.2表设计及其关系设置
数据库的概念结构设计完毕后,将上面的数据库概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
本系统的主要几个表的表关系设计如下图。
图5.1主要表的表关系设置
表5.1会员信息表
字段名
字段说明
数据类型
字段约束
备注
Member_ID
会员id
Number(8)
主键,非空
非空
Name
会员名
Varchar(35)
非空
Password
会员登录密码
Varchar(30)
非空
Sex
性别
Varchar
(2)
默认值:
“男”
非空
RealName
会员真实姓名
Varchar(20)
非空
Phone
会员电话号码
number(12)
非空
Address
家庭地址
Varchar(120)
非空
Email
会员电子邮箱
Varchar(45)
包含符号@
非空
表5.2药品信息表
字段名
字段说明
数据类型
字段约束
备注
Drug_ID
药品代码
Number(8)
主键,非空
非空
Drug_Name
药品名称
Varchar(35)
非空
Indication
适应症
Varchar
(2)
”
非空
Direction
使用方法
Varchar(150)
非空
Description
性状
Varchar(50)
非空
Specification
规格
Varchar(30)
非空
Manufacturer
生产厂家
Varchar(50)
非空
Drug_Type
药品分类名称
Varchar(35)
非空
Side_Effects
副左右
Varchar(100)
Price
价格
Varchar(10)
非空
表5.3药品分类信息表
字段名
字段说明
数据类型
字段约束
备注
DrugType_ID
会员id
Number(8)
主键,非空
非空
DrugType_Name
会员名
Varchar(35)
非空
Drugs
LongVarchar
表5.4订单信息表
字段名
字段说明
数据类型
字段约束
备注
Order_ID
订单编号
Number(8)
主键,非空
非空
Customer
会员名
Varchar(35)
非空
Delivery_Address
送货地址
Varchar(100)
非空
Telephone
联系电话
Number(12)
非空
Amount_Money
货款总额
Varchar(35)
非空
表5.5订单处理信息表
字段名
字段说明
数据类型
字段约束
备注
Proce_ID
订单处理编号
Number(8)
主键,非空
非空
Ord_ID
订单编号
Number(8)
非空
Deliver
是否已发货
Varchar
(2)
非空
Drug_Information
药品信息
LongVarchar()
非空
Total_Price
订单总额
number
非空
Member_Name
订单人
Varchar2(50)
非空
表5.6单项药品信息表
字段名
字段说明
数据类型
字段约束
备注
OrderID_LineDrugs
单项信息表id
Number(8)
主键,非空
非空
OrderD