前言
开药系统是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过Python语言传递给数据库。通过此方式促进开药信息管理和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。
【关键词】开药; Python;MySQL数据库;
一、项目介绍
本次的毕业设计主要就是设计并开发一个开药系统软件。运用当前Google提供的django 框架来实现对开药信息查询、新增或删除等功能。当然使用的数据库是mysql。系统主要包括个人信息修改,公告信息管理、医生管理、患者管理、药品信息管理、开药记录管理、入库记录管理、出药记录管理、药品盘点管理等功能;
本管理系统的用例图根据角色权限进行分类,主要可分为管理员用例、医生用例和患者用例。
(1)管理员用例图
管理员用例图依据管理员的权限需求以及对系统的管理需求进行分析,主要包括了登录、个人信息修改、公告信息管理、医生管理、患者管理、药品信息管理、开药记录管理、入库记录管理、出药记录管理、药品盘点管理等,管理员用例图如下所示:
图3-1 管理员用例图
(2)医生用例图
医生用例图根据医生的需求进行分析,包括用户登录注册、个人信息修改、公告信息管理、药品信息管理、开药记录管理等。医生用例图如下所示:
图3-2医生用例图
(3)患者用例图
患者用例图根据患者的需求进行分析,包括用户登录注册、个人信息修改、公告信息管理、开药记录管理、出药记录管理等。患者用例图如下所示:
图3-3患者用例图
二、开发环境
开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————
三、功能介绍
本系统使用的数据库为MySQL数据库[10],选择该数据库的原因是因为该数据库开源、免费,且相对简便,且由于使用人数众多,在处理问题上会得到更多已知的帮助。本系统作为一个基于django的开药系统,其体量并不会很大,也很适合MySQL数据库的特点。综上所述,本项目采用MySQL作为本项目的数据库和进行数据表的设计。
如图4-1是该系统软件的总体功能结构图:
图4-1 总体功能结构图
四、核心代码
部分代码:
def users_login(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
if req_dict.get('role')!=None:
del req_dict['role']
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, users, req_dict)
def users_register(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
req_dict = {"id": request.session.get('params').get("id")}
msg['data'] = users.getbyparams(users, users, req_dict)[0]
return JsonResponse(msg)
def users_logout(request):
if request.method in ["POST", "GET"]:
msg = {
"msg": "退出成功",
"code": 0
}
return JsonResponse(msg)
def users_page(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code,
"data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
req_dict = request.session.get("req_dict")
tablename = request.session.get("tablename")
try:
__hasMessage__ = users.__hasMessage__
except:
__hasMessage__ = None
if __hasMessage__ and __hasMessage__ != "否":
if tablename != "users":
req_dict["userid"] = request.session.get("params").get("id")
if tablename == "users":
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = users.page(users, users, req_dict)
else:
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = [],1,0,0,10
return JsonResponse(msg)
五、效果图
六、文章目录
目 录
1 引言 4
1.1 选题背景 4
1.2 研究目的及意义 4
1.3 研究的主要内容 4
2 平台开发相关技术 5
2.1 Python语言 5
2.2 Django框架 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