APP下载

基于互联网+的中小型药店管理系统的设计与实现

2019-07-03颜杰群

上饶师范学院学报 2019年3期
关键词:购物车药店服务器

颜杰群

(泉州经贸职业技术学院信息技术系,福建泉州362000)

随着网络的兴起,“互联网+”技术已经在我们的工作、生活中扮演着越来越重要的角色。它在原先两化融合的基础上进一步提升内涵,将互联网技术全面融合到工业、商业、金融业等各行各业中。李克强总理在2015年第十二届全国人大三次会议的政府工作报告中首次提出“互联网+”行动计划,并于当年7月4日由国务院印发《国务院关于积极推进“互联网+”行动的指导意见》文件,明确了“互联网+”的行动纲领,推进移动互联网、云计算、大数据、物联网等新兴技术与现代制造业全面结合,促进电子商务、工业互联网和互联网金融的健康发展[1]。

在国内,药店是指面向消费者销售医院产品和各类健康产品的零售门店。它位居医药产业链的下游,是医药零售的重要终端。据智研咨询发布的《2017-2023年中国零售药店行业前景预测与投资战略分析报告》中指出[2]:中国药店渠道仅占药品总销售约2成,而同期美日均超60%。如将我们的药品销售分为医院、药店和基层医疗机构三大终端,药品在药店渠道销售占比约为22.5%,远不及医院终端68.4%的销售占比。同医院相比,零售药店无论是在购药的经济性还是便利性上都更具优势,因此开发新技术下的中小药店管理系统前景是相当广阔的。

同时调查中我们也发现,当前仍有很多药店管理软件采用单机系统或传统C/S方案的客户机/服务器系统。它们在数据联网管理、系统更新等方面存在诸多不便,不利于适应当前瞬息万变的“互联网+”药店行业的发展。因此开发出一个基于Browser/Server(浏览器/服务器)结构的药店管理系统来促进中小药店企业进行技术升级有着积极的意义。

1 B/S三层体系结构

B/S结构也叫浏览器/服务器(Browser/Server)结构,是为了克服C/S结构缺陷而改进的应用于Web技术的体系结构。在该结构下,可以通过浏览器技术结合多种Script语言来实现原先需要复杂软件才能开发的用户界面,而把主要逻辑事务放在后台服务器进行,形成Browser界面层-业务逻辑层-数据访问层的三层体系结构[3]。它的开发成本更加合理,利用浏览器而无需安装前端软件的特性使系统的扩展性更好,可以无缝接入各种设备(PC、手机、智能电视等)、各种系统平台。同时由于主要的逻辑事务都在服务器上运行,后期也仅需对服务器进行维护,管理上也更为便利。系统的结构图如图1。

通过图1可以看出,B/S结构比传统单机或C/S结构有着以下的优点:

(1)“瘦”客户端,“胖”服务器的模式将系统的逻辑事务都放在服务器,更方便系统的管理和维护。

(2)客户端仅需提供Browser浏览器,不受操作系统局限,系统更易于扩展。无论是手机android、苹果 OS,电脑 Windows、Linux 等系统都可以操作使用该系统,系统成本大为降低。

(3)突破时空局限,只要能连上互联网,随时随地都可以接入系统,实现无缝办公。

图1 B/S三层体系结构图

2 系统需求分析

2.1 功能需求

系统主要定位为线下实体店和线上购物提供技术支撑的解决方案。客户可以直接进入实体店购买药品,或者注册一个会员通过线上端口(如手机、平板、台式PC等)进行购物,再由系统的物流管理模块进行派发货管理。线上、线下两种销售模式销售的商品再由药品库存管理模块进行统一调度,实现无缝链接。系统的软件结构图如图2。

图2 系统功能模块结构图

用户管理:主要实现顾客用户(普通用户)和药店店员(管理员)的管理。顾客可以自行注册用户、修改用户信息,管理员的信息及权限由超级管理员进行设定,管理员也可以对普通用户的信息进行更新维护。

药品库存管理:主要实现药品的入库信息登记、出库信息登记,及时备案缺货药品信息并进行补货管理。实时追踪药品有效使用期限,在临近过期的预留期内提醒进行过期处理,对于已过期药品进行销货处理。

线下销售管理:主要实现实体店的销售管理。由管理员登录线下销售管理模块,新增顾客购买订单、修改订单、删除订单,以及对订单金额进行结算的管理。同时对顾客购买的药品提供退换货管理功能。

线上销售管理:提供药品在线商城功能,顾客根据需要即时进行网上下单购买,并由店员或物流公司提供派货上门业务。模块提供购物车管理(新增购物车、修改购物车及购物车转为订单结算)、物流管理及药品退换货处理功能。

2.2 数据需求

数据库作为后台存储数据的地方,是系统开发要完成的另一项重要工作。顾客登录系统后可以浏览药品商品,并将中意商品添至购物车里。在完成选购后,可以将购物车转成商品订单,等待物流配送。管理员登录系统后可以管理商品,包括上架新商品、修改商品及对过期商品进行处理。在线下销售时,管理员可以替顾客下单中意商品,并完成结算。

E-R图也称实体-联系图,通过实体类型、属性和联系的绘制来描述现实世界关系概念模型。在对数据库需求分析后,描绘出系统的E-R图如图3。

图3 系统E-R图

3 部分模块的主要代码

3.1 用户登录模块

该模块作为用户的入口,主要实现合法用户的身份验证。为了防止用户输入错误,可以为用户名和密码两个文本框添加数据验证RequiredFireldValidator和RegularExpressionValidator控件进行必填和文本规则的验证。模块的核心代码如下:

SqlConnection conn=new SqlConnection(ConfigurationManager.ConnectionStrings[“InternetSystem”].ConnectionString); //建立数据库连接

SqlCommand cmd=new SqlCommand(“Select* from user Where user=@user And password=@password”,conn); //定义操作命令

cmd.Parameters.AddWithValue(“@user”,TextBox1.Text.ToString()); //传参

cmd.Parameters.AddWithValue(“@password”,TextBox2.Text.ToString()); //传参

conn.Open(); //打开数据库连接

SqlDataReader dr=cmd.ExcuteReader(); //建立 DataReader对象

If(dr.Read()){Session[“userId”]=dr[“userId”];Response.Redirect(“user.aspx”);} //如果输入正确则跳转用户页面

else{Response.Redirect(“login.aspx”);} //输入错误则重新定位本登录页面

conn.Close; //关闭数据库连接

3.2 购物车模块

用户登录后,首次添加商品会自动生成一张临时的购物车二维表,并将本商品添加到该表中,部分主要代码如下:

…… //参考上面,连接数据库省略

SqlCommand cmd=new SqlCommand(“insert into shopping_trolley(name,number,price,total_price)Values”)(@name,@number,@price,@total_price)”,conn); //定义操作命令

…… //传参省略

conn.Open(); //打开数据库

cmd.ExcuteNonQuery(); 执行操作,插入记录

conn.Close(); //关闭数据库连接

当用户想查看购物车清单或选购完毕想结账时,可以点击购物车链接,打开购物车shopping_trolley.aspx页面进行修改购物车清单或者结账,主要核心代码如下:

…… //参考上面,连接数据库省略

SqlCommand cmd=new SqlCommand(“Select* from shopping_trolley”,conn); //定义操作命令

conn.Open(); //打开数据库连接

SqlDataReader dr=cmd.ExecuteReader(); //建立 DataReader对象

Label1.Text=”<table align=’center’width=’90%’border=’1’><tr bgcolor=’#87a4ef’><td>序号</td><td>商品名称</td><td>数量</td><td>单价</td><td>总价</td><td>操作</td></tr>”

while(dr.Read()) //临时表如果有记录,逐项生成购物商品表格及内容

{

Label1.Text+=”<tr>”;

Label1.Text+=”<td>”+dr[“Id”]+”</td>”;

Label1.Text+=”<td>”+dr[“name”]+”</td>”;

Label1.Text+=”<td>”+dr[“number”]+”</td>”; //备注:为了节省编排代码,将数量下拉菜单DropDownList暂用 dr[“number”]代替

Label1.Text+=”<td>”+dr[“price”]+”</td>”;

Label1.Text+=”<td>”+dr[“total_price”]+</td>;

Label1.Text+=”<td><img src=’images/delete.png’></td>”;

} Lable1.Text+=”</table>”;

conn.Close(); //关闭数据库连接

4 系统有效性评测

系统开发完成后,能否适用企业实际需求并符合当前主流技术规范也是该项目能否成功的关键因素。在这里,我们采用LoadRunner来预测系统行为和性能负载测试。通过模拟一定量的用户实施并发负载及实时性能监测的方式来对整个网站架构进行测试,并预估系统性能。其主要指标如下[4-5]:

(1)响应时间:是指从客户端浏览器发出请求到服务器获取响应并呈现页面所消耗的时间。对于本系统来说,涵盖了网络传输时间、Web服务器处理时间和数据库服务器处理时间。参考国外的3/5/10原则,系统综合响应时间应该在3S内,最长不超过5S。

(2)并发用户数:是指在某一时刻同时在线与服务器交互的用户数量。其中C是平均的并发用户数,Cp是并发用户数峰值,n是login session的数量,login session为用户登录系统到退出系统的时间段,L是login session的平均长度,T为考察长度。公式如下:

平均并发用户数C=nL/T;

按照中小药店管理规模预估,C应能达到1 000以上,Cp应能达到1 100。

(3)吞吐量:是指系统在单位时间内请求的数量。一个系统的吞吐量(承压能力)与request对CPU的消耗、外部借口、IO等紧密关联,它是衡量系统处理能力的重要指标。

QPS(TPS)=并发数/平均响应时间

系统的TPS应该越大越好,表明系统抗压能力越强。

(4)CPU使用率及内存使用量:是指系统对硬件资源的消耗量,其中CPU使用率最大上限应控制在60%~70%之间,系统内存使用量尽可能控制在物理内存的70%以下。

5 小结

系统开发完成后,通过测试发现软件的有效性及可用性表现良好,基于B/S三层体系结构的软件架构在系统可扩展性及后期维护性方面也表现出其技术上的优越性。随着手机移动互联网络的兴起,今后也可以在手机端(比如微信、支付宝)方面进一步扩展,融合手机支付开拓系统覆盖面,有效提升中小药店企业的竞争力。

猜你喜欢

购物车药店服务器
在药店购买药品需要注意的几个问题
被疫情改变的购物车
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
推购物车购物
第二十二回 徐大椿防假开药店 梅花鹿显真大巡游
购物车里的“时间线”
药店里与大表哥偶遇
得形忘意的服务器标准
清空购物车了吗!