软件工程网上药店管理系统设计.docx
《软件工程网上药店管理系统设计.docx》由会员分享,可在线阅读,更多相关《软件工程网上药店管理系统设计.docx(30页珍藏版)》请在冰豆网上搜索。
![软件工程网上药店管理系统设计.docx](https://file1.bdocx.com/fileroot1/2022-11/28/4d3ab56d-deed-46f1-8a13-a7c82aa3d12d/4d3ab56d-deed-46f1-8a13-a7c82aa3d12d1.gif)
软件工程网上药店管理系统设计
课程设计报告
课程名称软件工程课程设计
设计题目网上药店管理系统设计
专业计算机科学与技术
班级
学号
姓名
完成日期
课程设计任务书
设计题目:
网上药店管理系统设计
设计内容与要求:
为各类用户提供并实现以下功能:
1.管理员:
各类用户权限设置;
2.操作员:
进药登记、售药登记、有效期报警、查询与统计;
3.普通用户:
各种查询。
课程设计报告的组成:
1.需求规格说明书,包括用例图,数据流图,数据字典;
2.概要设计说明书,包括系统模块结构图,功能模块清单,实体图,系统E-R图,数据库表结构设计。
3.项目总结报告,包括实际完成情况表。
指导教师:
2013年12月12日
课程设计评语
成绩:
指导教师:
_______________
年月日
第一局部软件需求规格说明书
1引言
编写目的
本文档定义了网上药店管理系统的客户需求,可以使客户和程序开发者双方都能够准确理解本项目的功能,预期读者包括客户、程序设计开发人员、测试人员以与其他本项目相关人员。
背景
说明:
待开发的软件系统的名称:
网上药店管理系统
本项目的任务提出者:
某某理工学院
开发者:
X佳、X光平、田旭沛
用户:
某某市第三医药集团
术语定义
1.需求开发RequirementDevelopment〔简称RD〕:
产生和分析顾客需求、产品需求和产品构件需求。
2.用例:
用例是对一组动作序列的抽象描述,系统执行这些动作序列,产生相应的结果。
这些结果要么反应给参与者,要么作为其他用例的参数。
3.数据流图:
数据流图〔DataFlowDiagram〕:
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具与用于表示软件模型的一种图示方法。
参考资料
[1]〔第五版〕.:
清华大学,2012
[2]孙家广.软件工程.:
高等教育,2005
[3]X人杰.实用软件工程.:
清华大学,2004
[4]陈有祺.软件工程引论.某某:
南开大学,2000
[5]杨芙清.面向对象程序设计.:
大学,1992
[6]潘锦平.软件系统开发技术.某某:
某某电子科技大学,1997
[7]蔡希尧,陈平.面向对象技术.某某:
某某科技大学,1993
[8]罗晓沛,侯炳辉.系统分析员教程.:
清华大学,1992
2任务概述
目标
当今信息化时代已经不可逆转,网络化销售成为一种新型的经济模式,药品的网上销售具有很好的开展前景。
医药经营的连锁化正是未来企业同世界接轨的一个必然方向,由于计算机事业的不断开展,使得计算机得以推广和普与。
相应的计算机的应用系统也不断的被人们所承受,大大缩减了人们的工作量,提高了工作效率,给企业带来了巨大的收益。
有利于降低药品的本钱,受益于老百姓,通过网络媒体的销售有利于提高企业的形象,扩大市场。
设计本软件旨在药品管理的安全性,方便药店操作员和消费者的使用。
用户特点
用户特点:
网上药店管理系统软件的最终用户是药店的操作员和消费者,应该具备初级的计算机知识,并且能够熟悉运用计算机。
维护人员特点:
维护人员具有高级的计算机技术,并且能够正确处理计算机系统运行时所遇到的各种故障。
3需求规定
系统用例图
管理员用例简要说明:
管理员可以登录系统添加操作员的账户和密码,只有管理员有权限添加操作员,同时具有权限操作,管理员可以通过权限操作控制每个用户的权限,可以控制普通用户只有前台的下订单的功能,而操作员具有后台管理功能。
如图1-1所示:
图1-1管理员用例图
事件流:
登录:
登录界面→选择登录身份→输入登录验证信息→点击登录→进入管理员界面
权限管理:
登录成功→显示管理员界面→点击权限管理→设置各类用户的使用权限
添加操作员:
登录成功→显示管理员界面→点击添加操作员→填写操作员信息→保存
修改个人信息:
登录成功→显示管理员界面→点击修改个人信息→修改信息→点击确定→完成并给出提示信息
操作员用例简要说明:
操作员管理的后台,主要是管理药品进货、销售以与客户的订单,操作员可以从系统后台进入系统,操作员可以添加、查看药品信息,同时当药品进货时,可以添加进药记录,当订单完成时可以添加售药记录,如果有药品过期操作员收到有效期预警,警告操作员更换药品,操作员还有管理订单的功能,操作员可以查看客户订单,同时操作员还可以修改个人信息。
管理员只是本系统的维护者,用于管理本系统的进销存。
如图1-2所示:
图1-2操作员用例图
事件流:
登录:
登录界面→选择登录身份→输入登录验证信息→点击登录→进入操作员界面
查询:
登录成功→显示操作员界面→点击查询→输入查询条件→点击查询按钮→显示查询结果
进药登记:
登录成功→显示操作员界面→点击进药登记→显示进药登记→点击填写→填写新的采购单→点击确定
售药登记:
登录成功→显示操作员界面→点击售药登记→显示售药登记→点击填写→填写新的售药单→点击确定
统计:
登录成功→显示操作员界面→点击统计→输入统计条件→点击确定→显示统计结果
修改个人信息:
登录成功→显示操作员界面→点击修改个人信息→修改信息→点击确定→完成并给出提示信息
普通用户用例简要说明:
普通用户主要操作的前台。
他们是消费者,他们从上购置药品,普通用户登录系统,查询自己想要的药品,然后添加到订单中,下订单,如果没有账号,用户可以的注册自己的账号,然后登录。
用户还可已查看自己以下的订单详情,用户还可已修改自己的信息。
如图1-3所示:
图1-3普通用户用例图
事件流:
注册:
点击注册→显示注册界面→填写个人信息→点击确定→进入登录界面
登录:
登录界面→选择登录身份→输入登录验证信息→点击登录→进入普通用户界面
查询:
登录成功→显示普通用户界面→点击查询→输入查询条件→点击确定→显示查询结果
购置:
登录成功→显示普通用户界面→查看药品→点击购置按钮→进入购物车→编辑订单→进展支付
查看订单:
登录成功→显示普通用户界面→点击查看订单→显示订单详情
数据流图与数据字典
数据流图
从顶层逐层画出数据流图。
如图1-4、1-5所示:
图1-4顶层TOP图
图1-5网上药店管理系统数据流图
3.2.2数据字典
数据流条目
网上药店管理系统数据流条目数据字典描述如下。
〔1〕用户信息数据流
名称:
用户信息
别名:
普通用户的根本信息
简述:
普通用户的根本信息
数据流组成:
用户信息=用户账号+用户名称+密码+权限
数据流来源:
普通用户
数据流去向:
添加注册登录管理
〔2〕药品信息数据流
名称:
药品信息
别名:
药品的根本信息
简述:
描述药品的根本信息
数据流组成:
药品信息=药品编号+药品名称+进价+售价+生产日期+有效期+数量+分类
数据流来源:
操作员
数据流去向:
药品管理
〔3〕有效期报警信息数据流
名称:
有效期报警
别名:
无
简述:
对药品是否过期进展报警通知管理员
数据流组成:
有效期报警=药品是否过期
数据流来源:
药品管理
数据流去向:
操作员
〔4〕进药记录数据流
名称:
进药记录
别名:
进药的详细信息
简述:
进药的详细信息
数据流组成:
进药记录=药品编号+进药日期+数量
数据流来源:
操作员
数据流去向:
进药管理
〔5〕售药记录数据流
名称:
售药记录
别名:
售药的详细信息
简述:
售药的详细信息
数据流组成:
售药记录=药品编号+售药日期+数量
数据流来源:
操作员
数据流去向:
售药管理
〔6〕订单信息数据流
名称:
订单信息
别名:
订单信息的详细信息
简述:
订单信息的详细信息
数据流组成:
订单=订单编号+会员账号+药品编号+药品数量+订单日期+是否发货
数据流来源:
普通用户
数据流去向:
订单编辑
〔7〕缺货订单数据流
名称:
缺货订单
别名:
无
简述:
缺货订单里药品的详细信息
数据流组成:
订单=订单编号+会员账号+药品编号+药品数量+订单日期+是否发货
数据流来源:
订单编辑
数据流去向:
办理缺货订单
〔8〕采购数据流
名称:
采购
别名:
无
简述:
采购所缺药品
数据流组成:
采购的药品=药品编号+药品名称+药品进价+药品售价+采购数量+采购药品的操作员
数据流来源:
办理缺货订单
数据流去向:
操作员
〔9〕订货单数据流
名称:
订货单
别名:
无
简述:
药店向用户发送所定的药品的单据
数据流组成:
订货单=药品编号+会员编号+药品名称+药品数量+药品售价数据流来源:
发货办理
数据流去向:
普通用户
数据存储条目
数据存储是数据结构保存的地方。
一个数据存储词条应有以下几项内容:
数据存储名、简述、输入数据、输出数据、数据存储组织、记录数、记录组成。
网上药店管理系统数据存储描述举例如下所示:
〔1〕用户信息
名称:
用户信息
编号:
D1
主关键字:
用户账号
存储组织:
每个用户对应一条记录
组成:
用户账户+用户名称+用户密码+用户权限
简要说明:
用于记录各种用户的信息,同时也记录用户的权限,用于查询用户的登录与权限。
〔2〕药品信息
名称:
药品信息
编号:
D2
主关键字:
药品编号
存储组织:
每种药品对应一条记录
组成:
药品编号+药品名称+药品进价+药品售价+生产日期+有效期+数量+分类
简要说明:
用于记录药品的信息,同时也记录用户的生产日期和保质期,用于向操作员有效期报警。
〔3〕进药记录
名称:
进药记录
编号:
D3
主关键字:
进药编号
存储组织:
每种药品的某时刻进药信息作为一条记录
组成:
进药编号+药品编号+进药日期+药品数量
简要说明:
用于记录药品的采购信息。
〔4〕售药记录
名称:
售药记录
编号:
D4
主关键字:
售药编号
存储组织:
每种药品的某时刻售药信息作为一条记录
组成:
售药编号+药品编号+售药日期+药品数量
简要说明:
用于记录药品的出售信息。
〔5〕订单记录
名称:
订单记录
编号:
D5
主关键字:
订单编号
存储组织:
每个用户某时刻下的订单作为一条记录
组成:
订单编号+会员账号+药品编号+药品数量+订单日期+是否发货
简要说明:
用于记录用户的订单的详细信息。
加工条目
加工逻辑是对数据流程图中各个根本处理的准确描述。
实例如下所示:
〔1〕登录管理加工
名称:
登录管理
加工号:
1
输入数据流:
用户的账号和密码
输出数据流:
用户信息
加工逻辑:
1账号和密码在数据库中没有对应的不能登录此系统。
〔2〕药品管理加工
名称:
药品管理
加工号:
2
输入数据流:
药品信息
输出数据流:
有效期报警信息
加工逻辑:
①添加药品的详细信息,有药品超过保质期会有效期报警;
②如果当前日期—出厂日期>保质期就进展有效期报警。
〔3〕进药记录加工
名称:
进药管理
加工号:
3
输入数据流:
进药信息
输出数据流:
进药记录
加工逻辑:
①插入进药信息进入数据库;
2进药时间自动读取系统时间。
〔4〕售药记录加工
名称:
售药管理
加工号:
4
输入数据流:
售药信息
输出数据流:
售药记录
加工逻辑:
①插入售药信息进入数据库;
②售药时间自动读取系统时间。
〔5〕注册登录加工
名称:
注册登录管理
加工号:
5
输入数据流:
用户账号和密码
输出数据流:
账号和密码是否正确
加工逻辑:
①账户和密码与数据库一一对应看是否一致;
②如果账号和密码一致就通过登录否如此不能通过。
〔6〕订单编辑加工
名称:
订单编辑
加工号:
6
输入数据流:
订单信息
输出数据流:
订单记录
加工逻辑:
①将订单信息插入到订单表中;
②订单时间自动读取系统时间。
〔7〕发货办理加工
名称:
发货办理
加工号:
7
输入数据流:
订单信息
输出数据流:
发货单
加工逻辑:
①把订单中的货物发送到客户手里;
②如果没有库存等待补货之后再发货。
〔8〕办理缺货订单加工
名称:
办理缺货订单
加工号:
8
输入数据流:
缺货信息
输出数据流:
采购
加工逻辑:
①如果订单中的货物数量>库存就会缺货,要进展缺货办理;
②管理员根据所缺货物进展进货,补充缺货。
〔9〕办理补充发货加工
名称:
办理补充发货
加工号:
9
输入数据流:
订单信息
输出数据流:
补充发货信息
加工逻辑:
根据订单记录如果没有进展发货就会办理补充发货;
数据项
数据项是数据流组成的最小单位,是无法再细分的数据流。
网上药店管理系统数据项举例描述如下。
(1)用户账号
名称:
用户账号
别名:
无
所属数据流:
用户信息、账户信息、订单信息
存储位置:
用户信息库、订单库
代码类型:
字符串型
取值X围:
0-100
备注:
每个用户都有一个唯一的账户
(2)用户密码
名称:
用户密码
别名:
无
所属数据流:
用户信息、账户信息
存储位置:
用户信息库
代码类型:
字符串型
取值X围:
0-100
备注:
每个用户都有一个唯一的密码
(3)联系
名称:
联系
别名:
无
所属数据流:
用户信息、账户信息
存储位置:
用户信息库
代码类型:
字符串型
取值X围:
0-100
备注:
每个用户都有一个联系用于接收货物和联系药店
(4)通信地址
名称:
通信地址
别名:
无
所属数据流:
用户信息、账户信息
存储位置:
用户信息库
代码类型:
字符串型
取值X围:
0-100
备注:
每个用户都有一个地址用于发送货物和寻找药店地址
(5)药品编号
名称:
药品编号
别名:
无
所属数据流:
药品信息、进药信息、售药信息、订单信息
存储位置:
药品信息库、进药信息库、售药信息库、订单库
代码类型:
字符型
取值X围:
0000-9999
备注:
每种药品都有一个唯一的编号
(6)药品名称
名称:
药品名称
别名:
无
所属数据流:
药品信息、进药信息、售药信息、订单信息
存储位置:
药品信息库、进药信息库、售药信息库、订单库
代码类型:
字符串型
取值X围:
0-100
备注:
每种药品都有一个药品的名称
(7)药品类别
名称:
药品类别
别名:
无
所属数据流:
药品信息
存储位置:
药品信息库
代码类型:
字符串型
取值X围:
0-100
备注:
每种药品都有一个药品类别,便于用户查询
(8)药品生产日期
名称:
药品生产日期
别名:
无
所属数据流:
药品信息
存储位置:
药品信息库
代码类型:
时间类型
取值X围:
2000年1月1日-2014年1月1日
备注:
每种药品都有生产日期
(9)药品进价
名称:
药品进价
别名:
无
所属数据流:
药品信息
存储位置:
药品信息库
代码类型:
浮点型
备注:
每种药品都有进价
(10)药品售价
名称:
药品售价
别名:
无
所属数据流:
药品信息
存储位置:
药品信息库
代码类型:
浮点型
备注:
每种药品都有售价
(11)药品保质期
名称:
药品保质期
别名:
无
所属数据流:
药品信息
存储位置:
药品信息库
代码类型:
字符型
取值X围:
0-100
备注:
每种药品都有保质期
(12)药品库存
名称:
药品库存
别名:
无
所属数据流:
药品信息
存储位置:
药品信息库
代码类型:
字符型
取值X围:
0000-9999
备注:
每种药品的数量
(13)进药日期
名称:
进药日期
别名:
无
所属数据流:
进药记录
存储位置:
进药记录信息库
代码类型:
时间类型
取值X围:
2000年1月1日-2014年1月1日
备注:
每种药品的进药日期
(14)售药日期
名称:
售药日期
别名:
无
所属数据流:
售药记录
存储位置:
售药记录信息库
代码类型:
时间类型
取值X围:
2000年1月1日-2014年1月1日
备注:
每种药品的售药日期
(15)订单编号
名称:
订单编号
别名:
无
所属数据流:
订单信息
存储位置:
订单记录信息库
代码类型:
字符型
取值X围:
0000-9999
备注:
客户所下订单的编号
(16)订单日期
名称:
订单日期
别名:
无
所属数据流:
订单信息
存储位置:
订单记录信息库
代码类型:
时间型
取值X围:
2000年1月1日-2014年1月1日
备注:
客户所下订单的时间
(17)是否发货
名称:
是否发货
别名:
无
所属数据流:
订单信息
存储位置:
订单记录信息库
代码类型:
布尔型
取值X围:
是、否
备注:
标示客户所下订单的是否发货
3.3对性能的规定
3.3.1精度
因为药店的药品数据信息的重要性,所以不能有丝毫偏差。
药品的数量为整数,价格准确到小数点后两位。
各类用户账号不得少于6位字符,不得多于16位字符,密码不得少于8位字符。
3.3.2时间特性要求
系统的时间性能规定要求系统的大局部操作在用户视觉延迟时间X围之内。
系统的更新处理时间应该在可承受的X围内;系统的数据查询时间应在可承受的X围内;系统的数据统计时间应在可承受的X围内。
对某些检索和其它涉与复杂计算的操作系统响应也应保持在用户视觉延迟时间1-2倍的X围内。
4运行环境规定
设备
硬件:
显示器:
17寸或上彩显分辨率:
1024*768
硬盘:
120G转速:
7200或以上
内存:
DDR2、2G或以上
网卡:
标准通讯网卡
输入:
标准鼠标、键盘等
支持软件
软件:
winXP\win7
编译测试软件支持SQLserver2005、VS2008等
第二局部概要设计说明书
1引言
针对当前医药产品销售日益激烈的竞争情况,为了加强管理,提高工作效率和改善服务质量而设计的一套行之有效的管理系统。
满足药店的管理人员和一般客户的根本要求,将日常繁琐的工作简单化、信息化。
本文档的目旨在推动软件工程的规X化,使设计人员遵循统一的概要设计书写规X,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规X性与全面性,以利于系统的实现、测试、维护、版本升级等。
本文档用于软件设计阶段的概要设计,它的上游〔依据的基线〕是《需求分析规格说明书》,它的下游是《详细设计说明书》,并为《详细设计说明书》提供测试的依据。
软件概要设计的X围是:
软件系统总体结构设计〔包括系统模块结构图、功能模块清单〕、数据库设计〔包括实体图、系统E-R图、数据库的表结构〕。
变量对象命名规如此:
全局变量对象为大写字母、局部变量对象单词首字母为大写对象的命名规如此。
数据库对象命名规如此:
数据库表名、字段名、视图名等对象均为其中文释义的命名规如此。
1.实体图:
指以实体、属性的根本概念概括数据的根本结构,从而描述静态数据结构的概念模式。
2.E-R图:
也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
[1]用户需求规格说明书
[2]王珊.数据库系统概论〔第四版〕.高等教育,2012
2总体设计
网上药店管理系统包含三个模块
1.管理员模块。
包括3个子模块:
〔1〕管理员登录模块;〔2〕各类用户权限管理模块;〔3〕添加新操作员模块。
2.操作员模块。
包括8个子模块:
〔1〕操作员登录模块;〔2〕录入药品信息模块;〔3〕进药登记模块;〔4〕售药登记模块;〔5〕药品有效期预警;〔6〕查询药品信息;〔7〕统计登录模块;〔8〕修改个人信息。
3.普通用户模块。
包括5个子模块:
〔1〕用户注册模块;〔2〕普通用户登录模块;〔3〕查询药品信息模块;〔4〕购置药品模块;〔5〕查看订单模块;〔6〕修改个人信息模块。
系统的模块图,如图2-1所示:
图2-1系统结构模块图
用表格形式列出各功能模块。
如表2-1所示:
表2-1功能模块清单
模块编号
模块名称
模块功能描述
M1
管理员登录模块
用于管理员用户的登录
M2
用户权限设置模块
用于管理员设置各类用户的权限
M3
添加操作员模块
用于管理员添加新操作员用户
M4
修改个人信息模块
用于管理员修改自己的信息
M5
操作员登录模块
用于操作员用户的登录
M6
录入药品信息模块
用于操作员添加药品信息
M7
进药登记模块
用于新进药品时操作员的记录
M8
售药登记模块
用于售出药品时操作员的记录
M9
药品有效期预警模块
用于向操作员预警药品是否超出保质期
M10
查询药品信息模块
用于操作员查询药店药品信息
M11
统计药品信息模块
用于操作员统计药品
M12
修改个人信息模块
用于操作员修改自己的信息
M13
用户注册模块
用于新普通用户的注册
M14
普通用户登录模块
用于普通用户的登录
M15
查询药品信息模块
用于普通用户查看药品信息
M16
购置药品模块
用户普通用户在药店购置药品
M17
查看订单信息
用于普通查看自己的订单信息
M18
修改个人信息模块
用于普通用户修改自己的信息
3数据库设计
3.1数据库概念级设计〔E-R图〕
3.1.1实体图
〔1〕操作员实体如图2-2所示:
图2-2操作员实体图
〔2〕普通用户实体如图2-3所示:
图2-3普通用户实体图
〔3〕药品实体如图2-4所示:
图2-4药品实体图
〔4〕订单实体如图2-5所示:
图2-5订单实体图
3.1.2系统E-R图
网上药店管理系统E-R图,如图2-6所示:
图2-6网上药店管理系统E-R图
用表格列出每个数据库表的结构。
〔1〕操作员具体信息如表2-2所示:
表2-2操作员表
序号
字段名
类型〔宽度、精度〕
取值约束
空否
默认值
主键/外键
注释
1
操作员账号
Char(9)
主键约束
否
主键
操作员的账号
2
密码
Char(20)
无
否
操作员的密码
3
昵称
Char(40)
无
否
操作员的昵称
4
联系
Char(11)
Unique
否
药店的
5
通信地址
Vchar(50)
无
否
药店的地址
〔2〕普通用户具体信息如表2-3所示:
表2-3普通用户表
序号
字段名
类型〔宽度、精度〕
取值约束
空否
默认值
主键/外键
注释
1
用户账号
Char(9)
主键约束
否
主键
用户的账号
2
密码
Char(20)
无
否
用户的密码
3
昵称
Char(40)
无
否
用户的昵称
4
联系
Char(11)
Unique
否
用户的
5
通信地址
Vchar(50)
无
否
用户的地址
6
电子信箱
char(20)
否
用户的信箱
7
备注
Vchar(500)
其他信息
〔3〕药品具体信息如表2-4所示:
表2-4药品表
序号
字段名
类型〔宽度、精度〕
取值约束
空否
默认值
主键/外键
注释
1
药品编号
Char(10)
主键约束
否
主键
药品的编号
2
药品名
Char(20)
Unique
否
化学名称
3
生产日期
Char(40)
否