3系统需求分析
3.1系统功能
通过前面的功能分析可以将社区医院管理服务系统的功能分为管理员、用户和医生三个部分,系统的主要功能包括首页、个人中心、用户管理、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理、系统管理等内容。任何用户只要进入系统不需登录也可浏览到的信息,后台管理是针对已登录的用户看到满意的社区医院管理服务信息而设计的。
1、一般用户的功能及权限
所谓一般用户就是指还没有注册的用户,他们可以浏览主页面上的信息。但如果要进入后台进行信息管理时,要登录注册,只有注册成功才有的权限。
2、管理员的功能及权限
用户信息的添加和管理,社区医院管理服务详细信息的添加和管理,文档信息添加和管理以及网站信息管理,这些都是管理员的功能。
3、系统功能结构图
系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。社区医院管理服务系统的整个设计结构如图3-1所示。
图3-1系统功能结构图
3.2可行性研究
通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。
3.2.1 经济可行性
开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。
3.2.2 技术可行性
技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是java技术开发,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。
3.2.3 运行可行性
当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。
3.2.4 时间可行性
从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。
3.3系统业务过程分析
社区医院管理服务系统是三种身份的用户,主要涉及管理员、用户和医生。每个身份都是操作起来都是清楚方便的。对于一些社区医院管理服务信息,这是任何人都可以查看的,但是如果用户想进入后台进行操作,则必须是已经进行登录的用户,或者想修改社区医院管理服务信息的话,也是需要用户为登录状态。这些用户的基本信息都由管理员对其统一管理。
根据社区医院管理服务实际过程的分析,网站有以下几个部分,其中用户注册,发布个人信息,修改个人信息;用户注册登录,发布社区医院管理服务信息;管理员管理用户信息;一般用户只可以浏览不可以发布信息。以上业务过程从用户角度可以分为三类使用本系统的用户角色,包括管理员、用户和医生。以下针对各类用户说明相应的业务过程。
3.4系统用例图
系统用例图如下图3-2所示:
图3-2 系统业务用例图
4系统设计
4.1数据库设计
信息管理系统的效率和实现的效果完全取决于数据库结构设计的好坏。为了保证数据的完整性,提高数据库存储的效率,那么统一合理地设计数据库结构是必要的。数据库设计一般包括如下几个步骤:
(1)根据用户需求,确定数据库信息进行保存
对用户的需求分析是数据库设计的第一阶段,用户的需求调研,熟悉小区运作流程,系统要求,这些都是以概念模型为基础的。
(2)设计数据的概念模型
概念模型与数据建模用户的观点一致,用于信息世界的建模工具。通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
用户注册实体图如图4-1所示:
图4-1用户注册实体图
医生实体图如图4-2所示:
图4-2医生实体图
(3)数据库逻辑结构分析
数据库概念结构设计后,可以数据库概念转化实际的数据模型,这是一种数据库的逻辑结构,就是将概念结构与支持数据库管理系统的模型相符合。具体的表设计如下所示:
表4-1:健康档案
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
yonghudianhua | varchar | 200 | 用户电话 | ||
touxiang | varchar | 200 | 头像 | ||
yaowuguomin | varchar | 200 | 药物过敏 | ||
zhongdabingshi | varchar | 200 | 重大病史 | ||
jiazubingshi | varchar | 200 | 家族病史 | ||
zhuyuanjilu | longtext | 4294967295 | 住院记录 | ||
danganxinxi | longtext | 4294967295 | 档案信息 | ||
dengjishijian | datetime | 登记时间 | |||
beizhu | longtext | 4294967295 | 备注 | ||
yishengzhanghao | varchar | 200 | 医生账号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
userid | bigint | 用户id |
表4-2:费用信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shoufeibianhao | varchar | 200 | 收费编号 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
yiliaofeiyong | int | 医疗费用 | |||
yibaozhesuan | varchar | 200 | 医保折算 | ||
zhifufeiyong | varchar | 200 | 支付费用 | ||
dengjishijian | date | 登记时间 | |||
yishengzhanghao | varchar | 200 | 医生账号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
beizhu | longtext | 4294967295 | 备注 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-3:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-4:诊疗方案
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhenliaobianhao | varchar | 200 | 诊疗编号 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
yishengzhanghao | varchar | 200 | 医生账号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
dengjishijian | date | 登记时间 | |||
zhenliaofangan | longtext | 4294967295 | 诊疗方案 | ||
zhenliaoxiangqing | longtext | 4294967295 | 诊疗详情 |
表4-5:病历信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
binglibianhao | varchar | 200 | 病历编号 | ||
yishengzhanghao | varchar | 200 | 医生账号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
dengjishijian | date | 登记时间 | |||
zhenduanneirong | longtext | 4294967295 | 诊断内容 | ||
zhenduanjieguo | longtext | 4294967295 | 诊断结果 | ||
zhenduanyijian | longtext | 4294967295 | 诊断意见 | ||
binglimiaoshu | longtext | 4294967295 | 病历描述 | ||
zhuyishixiang | longtext | 4294967295 | 注意事项 | ||
userid | bigint | 用户id |
表4-6:预约医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuyuebianhao | varchar | 200 | 预约编号 | ||
yishengzhanghao | varchar | 200 | 医生账号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
yuyueshijian | date | 预约时间 | |||
keshi | varchar | 200 | 科室 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-7:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
yonghudianhua | varchar | 200 | 用户电话 | ||
nianling | varchar | 200 | 年龄 | ||
touxiang | varchar | 200 | 头像 |
表4-8:医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yishengzhanghao | varchar | 200 | 医生账号 | ||
mima | varchar | 200 | 密码 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
xingbie | varchar | 200 | 性别 | ||
yishengdianhua | varchar | 200 | 医生电话 | ||
touxiang | varchar | 200 | 头像 | ||
keshi | varchar | 200 | 科室 | ||
zhicheng | varchar | 200 | 职称 | ||
jianjie | longtext | 4294967295 | 简介 |
表4-9:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-10:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-11:公告资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-12:就诊信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
yishengzhanghao | varchar | 200 | 医生账号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
yaowuguominshi | varchar | 200 | 药物过敏史 | ||
jiuzhenriqi | date | 就诊日期 | |||
xianbingshi | longtext | 4294967295 | 现病史 | ||
jiwangbingshi | longtext | 4294967295 | 既往病史 | ||
chubuzhenduan | longtext | 4294967295 | 初步诊断 | ||
chuliyijian | longtext | 4294967295 | 处理意见 | ||
menzhenjilu | longtext | 4294967295 | 门诊记录 |
4.2系统整体设计
4.2.1 系统设计思想
系统确定了各项需求,完成了系统的分析和数据库的设计,它就可以根据网站的特点决定网站的发展模式,才能实现代码。通过对网站的分析,这个网站是属于一个小项目,所完成的功能相对简单,就是对数据的基本操作。从而决定采用B/S开发模式。该模型的基本过程是:当用户访问网站的浏览器,或从用户向服务器发送请求时,通过接收请求,然后调用数据访问逻辑运算如比,将结果返回给将结果返回到用户通过浏览器。
使用开发的模型时,我们要把一些常用的,可以重复使用了java技术。当用户浏览网页,很多网页上的信息是从数据库动态删除,这就要求网页必须有数据库操作的能力,如连接数据库和数据表,更新。一个网站包含多个相同的网页,实现数据库操作功能的、代码就需要在不一样的网页中重复的被使用,这样不仅降低了工作的效率,一般也会给维护带来较大的麻烦。为了弥补这一缺陷,功能代码应该在java中完整的数据库操作,可以使用在每一个页面上。
4.2.2系统流程图
下图是用户进入这个社区医院管理服务系统后,基本的操作流程。一进入首页便可以进行各种社区医院管理服务信息的浏览,包括社区医院管理服务信息等,用户可以根据自身的需求来找适合自己的社区医院管理服务,如果有合适的社区医院管理服务信息时,就能进行相应的操作,但前提是必须是登录的用户,不然系统会提示需重新登录才可操作。用户也可通过公告的消息,了解实时的情况,这样有助于结合自身,更好的适应社区医院管理服务的管理需求,最后用户可以根据自己获得信息的满意程度来进行操作。
图4-3系统操作流程图
5系统详细设计
5.1系统功能模块
社区医院管理服务系统,在系统首页可以查看首页、医生、公告资讯、个人中心、后台管理等内容进行详细操作,如图5-1所示。
图5-1系统首页界面图
用户注册,在用户注册页面通过填写用户账号、密码、确认密码、用户姓名、用户电话、年龄等信息完成用户注册,如图5-2所示。
图5-2用户注册界面图
医生,在医生页面中可以查看医生账号、医生姓名、性别、医生电话、科室、职称等内容进行简介等详细操作,如图5-3所示。
图5-3医生界面图
个人中心,在个人中心页面通过填写个人中心,用户账号、密码、用户姓名、性别、用户电话、年龄、图片等内容进行更新信息等操作,如图5-4所示。
图5-4个人中心界面图
5.2管理员功能模块
管理员登录,在系统页面中通过填写用户名、密码等信息,选择角色进行登录,就可以使用了,如图5-5所示。
图5-5管理员登录界面图
管理员登录系统后,可以对首页、个人中心、用户管理、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理、系统管理等内容,进行详细的操作,如图5-6所示。
图5-6管理员功能界面图
用户管理,在用户管理页面中可以对索引、用户账号、 用户姓名、性别、用户电话、年龄、头像等内容进行详情、修改或删除等操作,如图5-7所示。
图5-7用户管理界面图
医生管理,在医生管理页面可以对索引、医生账号、医生姓名、性别、医生电话、头像、科室、职称等内容进行详情、修改或删除等操作,如图5-8所示。
图5-8医生管理界面图
预约医生管理,在预约医生管理页面可以对索引、预约编号、医生账号、医生姓名、预约时间、科室、用户账号、用户姓名、审核回复、审核状态等内容进行详情、修改或删除等操作,如图5-9所示。
图5-9预约医生管理界面图
就诊信息管理,在就诊信息管理页面可以对索引、用户账号、用户姓名、医生账号、医生姓名、药物过敏史、就诊日期等内容进行修改或删除等操作,如图5-10所示。
图5-10就诊信息管理界面图
诊疗方案管理,在小区宣传管理页面可以对索引、诊疗编号、用户账号、用户姓名、医生账号、医生姓名、登记时间等内容进行修改或删除等操作,如图5-11所示。
图5-11诊疗方案管理界面图
病历信息管理,在病历信息管理页面可以对索引、病历编号、医生账号、医生姓名、用户账号、用户姓名、登记时间等内容进行详情、修改或删除等操作,如图5-12所示。
图5-12病历信息管理界面图
健康档案管理,在健康档案管理页面可以对索引、用户账号、用户姓名、性别、年龄、用户电话、头像、药物过敏、重大病史、家族病史、登记时间、医生账号、医生姓名等内容进行详情、修改或删除等操作,如图5-13所示。
图5-13健康档案管理界面图
费用信息管理,在费用信息管理页面可以对索引、收费编号、用户账号、用户姓名、医疗费用、医保折算、支付费用、登记时间、医生账号、医生姓名、是否支付等内容进行详情、修改或删除等操作,如图5-14所示。
图5-14费用信息管理界面图
系统管理,在公告资讯页面中可以对索引、标题、图片等内容进行详情、修改或删除等操作,并可以根据轮播图管理进行相应的操作,如图5-15所示。
图5-15系统管理界面图
5.3用户功能模块
用户登录进入系统,可以对首页、个人中心、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理等功能模块进行相应操作,如图5-16所示。
图5-16用户功能界面图
病历信息管理,在病历信息管理页面中可以对索引、病历编号、医生账号、医生姓名、用户账号、用户姓名、登记时间等内容进行详情等操作,如图5-17所示。
图5-17病历信息管理界面图
健康档案管理,在健康档案管理页面中对索引、用户账号、用户姓名、性别、年龄、用户电话、头像、药物过敏、重大病史、家族病史、登记时间、医生账号、医生姓名等内容进行详情等操作,如图5-18所示。
图5-18健康档案管理界面图
5.4医生功能模块
医生登录进入社区医院管理服务系统,可以对首页、个人中心、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理、费用信息管理等功能进行相应操作,如图5-19所示。
图5-19医生功能界面图
医生管理,在医生管理页面可以对索引、医生账号、医生姓名、性别、医生电话、头像、科室、职称等内容进行详情、修改或删除等操作,如图5-20所示。
图5-20医生管理界面图
预约医生管理,在预约医生管理页面中可以对索引、预约编号、医生账号、医生姓名、预约时间、科室、用户账号、用户姓名、审核回复、审核状态、审核等内容进行详情、就诊、修改或删除等操作,如图5-21所示。
图5-21预约医生管理界面图
6系统测试
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
测试用例1及测试过程:
登录:录入登录信息,账号,密码,权限,点击登录按钮,会出现两种情况:登录成功进入用户具有权限的功能界面和提示登录失败。
测试用例2及测试过程:
管理员登录:录入登录信息,管理员账号,密码,权限,点击登录按钮,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。