互联网的兴起从本质上改变了整个社会对信息的管理方式,国内各大市场从上个世纪90年代互联网兴起之时,就产生了通过网络进行系统管理的想法。但是由于在互联网上的信誉难以认证、网络的法规政策不健全等一系列的原因,限制了网上信息管理发展的步伐。进入21世纪以后,随着整个社会的发展、进步,制约网上交流的各个瓶颈问题逐一被击破,比如QQ、微信等各大平台也纷纷的加入到洪潮之中。
开药系统是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过Php语言传递给数据库。通过此方式促进开药信息管理和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。
php框架:thinkphp
项目架构:B/S架构
前端技术:Vue、Html、CSS
后端技术:PHP7、mysql、thinkphp
运行环境:wamp,phpstudy,xammp,appserv等
数据库:mysql5.7/8.0或以上版本
目 录
1 引言 4
1.1 选题背景 4
1.2 研究目的及意义 4
1.3 研究的主要内容 4
2 平台开发相关技术 5
2.1php语言 5
2.2thinkphp框架 5
2.3 MySQL数据库 5
2.4 B/S架构 7
3系统需求分析 8
3.1 功能需求分析 8
3.2性能需求分析 10
3.3 系统可行性分析 10
3.3.1 技术可行性 10
3.3.2 操作可行性 11
3.3.3运行可行性 11
3.3.4社会可行性 11
3.4系统流程图分析 11
3.4.1 登录流程图 11
3.4.2 添加新用户流程图 12
4 系统软件的总体设计 14
4.1系统的基本要求 14
4.2 系统开发目标 14
4.3 系统总体架构设计 14
4.4 系统数据库的设计 15
4.4.1数据库设计原则 15
4.4.2数据库E/R图 15
4.4.3 数据库表 17
5 系统软件功能的具体实现 22
5.1系统注册登录实现 22
5.2管理员模块实现 23
5.3医生功能实现 27
5.4患者功能实现 28
6 系统测试与运行维护 29
6.1系统测试的目的 29
6.2测试用例 29
6.3系统运行与维护 30
结论 32
参考文献 33
致 谢 34
1 引言
1.1 选题背景
由于互联网技术的快速发展,使得各部门都是以数字化、信息化、无纸化的发展趋势,随着趋势的发展,各种决策系统、辅助系统也应运而生,其中,开药系统就是其中的重要组成部分[1]。
计算机技术出现之前人们使用的管理方法已无法满足现代人们的需求,即人工来完成开药的管理,这种方法存在着工作效率低以及保密性差,易出错等问题,同时还会生成大量的文本和数据,在检索数据时极大不便。而此次设计的开药系统,拥有对信息的快速检索、保存了大量的开药信息,具有信息系统保存的稳定性高和维护成本低等优点,对开药管理的工作效率也能提高。它不仅可以提高管理人员的工作效率,减少工作人员的负担,也可以使开药管理工作的质量得到保障,提高管理水平。1.2 研究目的及意义
本课题的提出意在开发一个基于php的开药系统,它的出发点必须是实用,操作简单,界面友好,让有用户需求的人群共享同一个信息渠道,实现用户的双方线上、线下互动。近年来,随着网络平台和电子媒体越来越深入的合作,用户获得资讯的速度越来越快。同时也能够在第一时间查询到想要的信息,因此给各用户带来了巨大的经济效益,互联网的出现本身存在的节省资源,提高工作效率以及它的庞大的市场需求等特点,用户也就越来越重开药系统带来的便利。
1.3 研究的主要内容
作为一个开药的网络系统,数据流量是非常大的,所以系统的设计必须满足使用方便,操作灵活的要求。所以在设计开药系统应达到以下目标:
(1)界面要美观友好,检索要快捷简易,数据存储要安全可靠;
(2)全面展示所有系统信息管理,并可推荐展示最新开药信息;
(3)便于医生和患者快捷地进行开药信息查询;
(4)医生和患者可以随时修改自己的基本资料;
(5)实现开药信息共享的功能; 3系统需求分析
在今天的社会生活中,互联网已经变得非常普遍和重要。充分利用互联网技术可以解决许多问题。目前,开药管理也面临着自身的问题。该系统能够很好地解决这些问题。系统中用户的数据在系统中非常关键,因此系统数据应该组织起来,因为数据是以某种格式存储的,而不是无序的。其概念是,它可以按照长期稳定的格式在计算机内存中共享。数据库管理系统主要用于保存、修改、添加索引数据和设置数据库。为了确保系统数据管理的顺利实施,一些有能力的处理器可以管理数据,而无需专业人员处理。创建数据表时,可以调整、重新组织和重建数据表中的数据,以确保数据的可靠性。在数据库系统设计中,MySQL主要用于实现数据的集中管理。各方面表现良好。
3.2性能需求分析
系统的性能是指操作系统完成现有程序的有效性和稳定性和响应速度,操作系统完成一项任务,与系统本身的设计、路由、网络性能测试、设备使用等方面密切相关,如果任何一个环节出现问题,都会影响整个系统的性能。因此,需要对网络设置、系统运行、硬件组合、程序应用等方面进行全面检查,然后集中精力解决哪一部分的问题。
在程序的应用、系统的运行、硬件的组合、网络的设置等方面,对性能影响最大的就是程序的应用和系统的运行,因为这两个方面的问题如果不容易被发现,隐蔽性非常强。硬件的组合、网络设置只要有问题,一般都能立即发现。主要了解系统的运行性能运行思路,应用程序需要具体的问题也需要有具体的解决方案。
3.3 系统可行性分析
为了完成该系统,必须进行可行性分析。该制度的可行性关系到该制度的生存。分析其意义,该系统可以弥补开药管理模式的不足,通过系统减少工作量,提高管理者和用户的工作效率。这反映了更多的意义和价值。在系统完成后,分析具体的现实情况,看它是否能满足预期要求,并确定开始开发建设系统。从开药系统开发的建设、相关技术、操作、运行和社会等方面进行了可行性分析。
3.3.1 技术可行性
技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性。系统使用python语言,在市面上有非常多成熟使用的案例,从技术角度是没有问题的,并且在学校的学习中对于这些技术就会有了一定的掌握,开发过类似的项目。
3.3.2 操作可行性
该系统具有体积小、占地少、能耗低等特点。学校电脑和校园网络均能满足需求。该系统具有操作简便、直观、易于操作的特点。操作简单,快速,只要经过简单的训练,就能让管理者使用。
因此,该系统不仅在操作上可行,而且在实际应用中也是可行的。
3.3.3运行可行性
运行可行性也可以说是系统可用性的体现,开药系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是开药系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中。
3.3.4社会可行性
广义上讲,社会可行性包括道德方面、法律方面和社会方面,每一个方面都会影响制度的形成。这个系统是独立的,不具有任何信息传播的性质,更不涉及道德层面、法律层面;本系统也没有触发法,没有赌博、黄色等类型的信息,也符合国家法律,不会显示任何触发法信息;就社会而言,本系统是一个轻量级的开药系统,方便客户提供更好的服务。它将给人们带来快速有效的查询功能,也具有一定的贡献意义。总的来说,该系统在社会上也是可行的。
3.4系统流程图分析
流程图是用具体的图形符号和相应的线条来表示系统执行的整个过程。因为这种图可以很容易地描述系统的一系列过程,所以它的所有图形符号都是比较关键的,基本上一个图形符号可以表示一个过程的一个步骤。流程图不仅提供了一个比较完整、全面的实施过程,而且可以发现整个团队协同设计过程中可能存在的缺陷和不足,便于在后续过程中及时对系统进行修正和改进。
通过流程图可以对系统的需求和相关流程进行分析,可以详细细分为各个部分的设计。对于设计人员来说在开发过程中要能够以流程图为基础,能够快速的提高自己的逻辑思维,并且也能够指导后续的操作在系统设计中最重要的部分就是程序的设计,然后具体的编写程序,流程图是设计过程中的重要工具,下面是流程图的部分设计。
3.4.1 登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。
3.1 功能需求分析
本次的毕业设计主要就是设计并开发一个开药系统软件。运用当前Google提供的django 框架来实现对开药信息查询、新增或删除等功能。当然使用的数据库是mysql。系统主要包括个人信息修改,公告信息管理、医生管理、患者管理、药品信息管理、开药记录管理、入库记录管理、出药记录管理、药品盘点管理等功能;
本管理系统的用例图根据角色权限进行分类,主要可分为管理员用例、医生用例和患者用例。
(1)管理员用例图
管理员用例图依据管理员的权限需求以及对系统的管理需求进行分析,主要包括了登录、个人信息修改、公告信息管理、医生管理、患者管理、药品信息管理、开药记录管理、入库记录管理、出药记录管理、药品盘点管理等,管理员用例图如下所示:
4.1系统的基本要求
(1)功能要求:管理人员可以管理自己的个人中心、对公告信息、医生、患者、药品信息、开药记录、入库记录、出药记录和药品盘点等进行管理 [3]。
(2)性能:可以准确无误的在不同的操作系统中登录到用户或者管理员的相应界面进行轻松的操作[4]。
(3)环境要求:支持不同的操纵系统和不同的平台,可用于Windows系列、Vista系统等多种操作系统。
4.2 系统开发目标
本开药管理系统的主要开发目标如下:
(1)减少后台管理人员的工作量,对用户的信息进行系统的管理;
(2)必须要方便快捷的查看搜索信息并管理信息;
(3)用户是具有多样性的,所以界面要设置的简单明了,操作更要方便快捷。
4.4.1数据库设计原则
要学习程序设计,如果您想了解数据库管理系统或根据需要开发的系统接口,则必须创建一个数据库管理系统模型来存储数据。这样就不需要在应用程序编程期间将信息加载到操作系统页面中,从而提高了整个系统的效率。信息数据库管理系统中存储着大量的数据,可以说是管理信息系统建设的中心和基础。该信息库管理系统还提供了管理信息系统建设中添加、删除、修改和搜索的操作功能,使管理信息系统建设可以快速查询所需数据,而不是直接从程序代码中查找。信息库管理系统将信息表的各个组成部分按照具体的方法进行组合,准确地组合、分类并构成信息库管理系统。
图4-4 系统E-R图
4.4.3 数据库表
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。
表4-1:入库记录
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinfenlei varchar 200 药品分类
yaopintupian varchar 200 药品图片
yaopinzhongliang int 药品重量(克)
rukuriqi date 入库日期
rukuleixing varchar 200 入库类型
rukubeizhu longtext 4294967295 入库备注
表4-2:菜单
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
menujson longtext 4294967295 菜单
表4-3:开药信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinjiage int 药品价格
yaopinzhongliang int 药品重量(克)
kaiyaozhongliang int
dingdanjine int
kaiyaoriqi date
yongyaoshixiang longtext 4294967295
yishenggonghao varchar 200
xingming varchar 200
shouji varchar 200
ispay varchar 200 是否支付 未支付
表4-4:患者
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
xingming varchar 200 姓名
mima varchar 200 密码
xingbie varchar 200 性别
nianling int 年龄
shouji varchar 200 手机
表4-5:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-6:出药记录
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopintupian varchar 200 药品图片
yaopinfenlei varchar 200 药品分类
yaopinzhongliang int 药品重量(克)
chukuleixing varchar 200 出库类型
chukubeizhu longtext 4294967295 出库备注
chukuriqi date 出库日期
xingming varchar 200
shouji varchar 200
表4-7:医生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yishenggonghao varchar 200 医生工号
mima varchar 200 密码
yishengxingming varchar 200 医生姓名
yishengxingbie varchar 200 医生性别
yishengzhicheng varchar 200 医生职称
lianxidianhua varchar 200 联系电话
表4-8:药品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinfenlei varchar 200 药品分类
yaopintupian varchar 200 药品图片
yaopinguige varchar 200 药品规格
yaopinpinpai varchar 200 药品品牌
yaopinzhongliang int 药品重量(克)
yaopinjiage int
guoqiriqi date 过期日期
yaopinshuxing longtext 4294967295 药品属性
表4-9:药品盘点
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinfenlei varchar 200 药品分类
yaopinzhongliang int 药品重量(克)
pandianzhongliang int 盘点重量
pandianqingkuang varchar 200 盘点情况
pandianriqi date 盘点日期
pandianbeizhu varchar 200 盘点备注
表4-10:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
5 系统软件功能的具体实现
5.1系统注册登录实现
系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;
6 系统测试与运行维护
在开发系统中,测试环节是必不可少的,没有测试过的系统是不足以迎接市场以及用户的考验的。本次系统测试将采用黑盒测试,在不考究系统实现原理的前提下,来进行各种有可能的操作,以此来检验系统可能存在的隐患以及问题。
6.1系统测试的目的
系统测试是为向用户提供被测试产品或服务的质量信息而进行的检查。系统测试还可以为系统提供客观和独立的评估,使操作人员能够理解和实现潜在的问题。系统测试包括软件组件或系统组件的执行,以评估一个或多个系统属性。通常,这些属性表明被测试的组件或系统满足系统的预期开发需求,在各种预期时间内正确响应各种系统输入,在可接受的时间内执行其功能,具有足够的可用性,并能够满足分析和设计的要求。在所需的环境中运行,并实现用户期望的整体结果。经过一系列严格的功能测试,找出系统功能中潜在的问题,保证系统的正常运行。
6.2测试用例
(1)用户登录场景测试
用户登录场景测试是针对用户登录进行的测试。用户在登录界面选择对应身份并输入正确的用户名和密码即可进入系统。如表6-1所示,测试结果正常。
表6-1 登录场景
序号 用户名 密码 预期结果 测试结果
1 abo 123456 系统成功进入 正常
2 abo 111111 系统提示用户名、密码不正确,请检查 正常
3 空 123456 系统提示用户名不能为空 正常
4 abo 空 系统提示密码不能为空 正常
(1)用户注册场景测试
用户注册场景测试是针对用户注册进行的测试。用户在注册界面选择对应身份进行注册,注册所填信息包含用户名、密码、姓名、性别、手机等,若用户未输入对应信息,系统则会提示用户填写,密码与确认密码填写需一致。如表6-2所示,测试结果正常。
表6-2 注册场景
序号 用户名 密码 确认密码 预期结果 测试结果
1 111 123456 123456 系统提示注册成功 正常
2 111 222222 222222 注册失败,系统提示用户名已被注册 正常
3 空 123456 123456 注册失败,系统提示用户名不能为空 正常
4 111 空 空 注册失败,系统提示密码不能为空 正常
5 111 123456 空 注册失败,系统提示确认密码不能为空 正常
6.3系统运行与维护
一、系统运行:系统初始数据录入:系统采用鼠标、键盘等方式进行数据录入。
二、系统入口:将系统的文件夹拷贝到硬盘上,运行系统的程序。第二步是在登录屏幕上输入正确的用户名和密码,然后以管理员和用户身份登录。
三、系统的使用:本系统使用起来比较简单,使用Windows软件就可以基本完成,使用时只需要按下鼠标左键就可以完成所需的功能。
四、系统的维护:系统是比较复杂的人机系统,它受外部和内部的影响,并会不断修改和改进,使其工作效率和质量得到了提高。维修方案分为四个方面:
(1)程序维护:对程序的部分或全部进行修改。
(2)数据文件的储存:数据文件可以根据用户的需要任意修改。
(3)代码维护:由于系统的不断发展和改变,现有的代码无法满足新的需求,需要对代码进行更新和维护。
(4)硬件维护:维护系统所有设备.
该系统的维护工作将由学校指定专人进行。如有无法处理的问题,学校将自行承担。
结论
当前互联网飞速发展,与之有关的行业也在飞速匹配变革当中,社会中其实并不缺乏有关开药方面的网上管理系统,但缺少真正简便好用,使人一看就明白的好系统,而开药系统正是竭力朝着这个方向所努力的系统,努力优化,站在使用者的角度思考该如何更为便捷的开发项目。在本次毕业设计实践中遇到了不少的困难,也收获了很多的知识,许多从前不知道的方面和不确定的知识都在本项目中得到了实践验证。
开药系统还存在着一些目前需要优化的问题和增加的功能。而需要优化的方面总结如下:
(1)系统在用户使用方面后续会增加更多人性化功能以及更为丰富的功能。
(2)为了降低用户的视觉疲劳,系统将会增加皮肤功能,不定期更新视觉UI效果,为提升用户对系统的整体体验而努力。
(3)本系统未来会尝试对接更多的平台,例如移动端,毕竟现在人群使用手机的频率还是高于电脑,以后会朝着这个方面努力。
致 谢
充实的时光都是短暂的,经过了数月的学习与探索,我终于完成了毕业设计的开发和毕业论文的撰写。首先要诚挚的感谢我的指导老师,在毕业设计这方面,他为我指明了道路,给了我很多珍贵的建议,当我遇到难题时老师也会不厌其烦的为我讲解,让我收获了不少知识。在我完成各项工作之后,老师在百忙之中也会帮我检查纠错,感谢老师的陪伴与信任,让我顺利完成毕业设计,您将是我人生中一盏明灯。
同时,我也要感谢我最可爱的舍友们,感谢你们的一路陪伴,在我面对难题时不知所措的时候,你们总会给我最大的支持与鼓励,与我一起学习探讨,希望我们能够一起成长。
最后真诚的感谢大学四年时光,说长不长,说短又并不短,它见证了我的成长。大学是一个美妙的地方,她一边教着我书本上的知识,同时也让我学会了为人的道理。感谢大学里老师与同学的陪伴,让我在今后的人生之路上更自信,让我们一起共同成长。