博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:springboot+mysql+vue+tomcat
目录
1 系统介绍
进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息的新一代网络版应用软件,形成了信息化的社会。信息化社会的形成和微电子技术日新月异的发展,对落后低效的办公手段提出了挑战,信息是管理的基础,是进行决策的基本依据。在一个组织里,信息已作为人力、物力、财力之外的第四种资源,占有重要的地位。然而,信息是一种非物质的,有别于基本资源的新形式的资源。信息也是管理的对象,必须进行管理和控制。本基于B2B平台的医疗病历交互系统是将IT技术用于医疗病历信息的管理, 它能够收集与存储学习的档案信息,提供更新与检索学习信息档案的接口;提高工作效率。
本系统是基于JAVA平台开发的一套基于B2B平台的医疗病历交互系统。系统采用Java为编程语言,后台主要采用Spring Boot框架。数据库采用Mysql建立数据之间的转换。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。
2 系统背景
2.1 选题的依据及意义
信息技术的发展,带来机遇的同时,也使学习信息管理工作面临严峻的挑战。因为,在当前互联网开放式环境下,传统的学习信息管理模式是以资金运动为对象的,它存在许多局限性,在当前的环境下,已经很难再适应用户管理的要求,可以说,传统的学习信息管理模式,不仅不能适合用户的发展,也已经远远不能够适应当前社会发展新形势的要求。在互联网技术还没有得到广泛应用的早期,各用户信息之间的交流、基于B2B平台的医疗病历交互系统的处理都是人工操作完成的,随着社会进入信息时代和社会生活的快节奏化,在传统的学习信息管理中,需要经过若干道手续,整个过程都需要手工操作,效率十分低下。旧的学习信息的管理方法早就不能满足用户对大量的学习信息的快速处理与统计的需求,不能适应时代的发展趋势,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程必须实现信息化,于是需要一种新的技术改善现状,因此基于B2B平台的医疗病历交互系统在适应时代发展需求中产生。。
2.2 国内外现状研究
国内目前已有很多企业实现了信息化管理,建立了基于内部的局域网系统,外部和因特网相连,硬件设施也是非常完备。另外在软件应用方面,我国很多软件开发公司已开发了各种各样的学习信息管理系统,不过这些学习信息管理系统很多是基于当前国内的学习信息管理制度,没有实现特别强大的功能应用,尚未能够受到国际上的认可,暂时没有实现国际化标准的要求。基于B2B平台的医疗病历交互系统怎么去面对国际化的发展要求,将会是我国面临的非常重要的问题。近年来我国信息事业发展迅速,手工管理方式在学习信息管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势使信息行业直面外国同行单位的直接挑战,因此,信息行业必须提高其工作效率,改善其工作环境。
3 系统功能结构
3.1 管理员
3.2 医院
3.3 用户
3.4 医生
4 数据库结构
数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。本系统的数据结构比较清晰,依据基于B2B平台的医疗病历交互系统的功能要求,主要设计出数据库的表如下:
表4.1 病人病历
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
xingbie | varchar(200) | 是 | NULL | 性别 |
hunyin | varchar(200) | 是 | NULL | 婚姻 |
nianling | varchar(200) | 是 | NULL | 年龄 |
xianzhudizhi | varchar(200) | 是 | NULL | 现住地址 |
ruyuanriqi | varchar(200) | 是 | NULL | 入院日期 |
zhusu | longtext | 是 | NULL | 主诉 |
xianbingshi | longtext | 是 | NULL | 现病史 |
jiwangshi | longtext | 是 | NULL | 既往史 |
gerenshi | longtext | 是 | NULL | 个人史 |
jiazushi | longtext | 是 | NULL | 家族史 |
tigejiancha | longtext | 是 | NULL | 体格检查 |
binglizhaiyao | longtext | 是 | NULL | 病历摘要 |
chubuzhenduan | longtext | 是 | NULL | 初步诊断 |
yishengzhanghao | varchar(200) | 是 | NULL | 医生账号 |
yishengxingming | varchar(200) | 是 | NULL | 医生姓名 |
表4.2 医生展示评论表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.3 医院文章评论表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.4 院区展示评论表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.5 收藏表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名称 | |
picture | varchar(200) | 否 | 收藏图片 |
表4.6 管理员表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.7 文章类型
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
wenzhangleixing | varchar(200) | 是 | NULL | 文章类型 |
表4.8 医疗安排
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
ruyuanriqi | datetime | 是 | NULL | 入院日期 |
ruzhukeshi | varchar(200) | 是 | NULL | 入住科室 |
ruzhufanghao | varchar(200) | 是 | NULL | 入住房号 |
yishengzhanghao | varchar(200) | 是 | NULL | 医生账号 |
yishengxingming | varchar(200) | 是 | NULL | 医生姓名 |
yongyaoanpai | longtext | 是 | NULL | 用药安排 |
yongyaojindu | varchar(200) | 是 | NULL | 用药进度 |
jianchaxiangmuanpai | longtext | 是 | NULL | 检查项目安排 |
xiangmujianchajindu | varchar(200) | 是 | NULL | 项目检查进度 |
hulianpai | longtext | 是 | NULL | 护理安排 |
hulijindu | varchar(200) | 是 | NULL | 护理进度 |
表4.9 医生
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yishengzhanghao | varchar(200) | 否 | 医生账号 | |
mima | varchar(200) | 否 | 密码 | |
yishengxingming | varchar(200) | 否 | 医生姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
chushengriqi | date | 是 | NULL | 出生日期 |
shouji | varchar(200) | 是 | NULL | 手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
nianling | varchar(200) | 是 | NULL | 年龄 |
keshi | varchar(200) | 是 | NULL | 科室 |
zhicheng | varchar(200) | 是 | NULL | 职称 |
zhiwu | varchar(200) | 是 | NULL | 职务 |
gerenjianjie | longtext | 是 | NULL | 个人简介 |
zhuanyetezhang | varchar(200) | 是 | NULL | 专业特长 |
yiyuanbianhao | varchar(200) | 否 | 医院编号 | |
zhaopian | varchar(200) | 是 | NULL | 照片 |
sfsh | varchar(200) | 是 | 否 | 是否审核 |
shhf | longtext | 是 | NULL | 审核回复 |
表4.10 医生展示
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yishengzhanghao | varchar(200) | 是 | NULL | 医生账号 |
yishengxingming | varchar(200) | 是 | NULL | 医生姓名 |
xingbie | varchar(200) | 是 | NULL | 性别 |
chushengriqi | varchar(200) | 是 | NULL | 出生日期 |
nianling | varchar(200) | 是 | NULL | 年龄 |
keshi | varchar(200) | 是 | NULL | 科室 |
zhicheng | varchar(200) | 是 | NULL | 职称 |
zhiwu | varchar(200) | 是 | NULL | 职务 |
gerenjianjie | longtext | 是 | NULL | 个人简介 |
zhuanyetezhang | varchar(200) | 是 | NULL | 专业特长 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
表4.11 医院
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yiyuanbianhao | varchar(200) | 否 | 医院编号 | |
mima | varchar(200) | 否 | 密码 | |
yiyuanmingcheng | varchar(200) | 否 | 医院名称 | |
fuzeren | varchar(200) | 是 | NULL | 负责人 |
fuzerenshouji | varchar(200) | 是 | NULL | 负责人手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
fuzerenshenfenzheng | varchar(200) | 是 | NULL | 负责人身份证 |
表4.12 医院公告
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
biaoti | varchar(200) | 是 | NULL | 标题 |
neirong | varchar(200) | 是 | NULL | 内容 |
gonggaoshijian | datetime | 是 | NULL | 公告时间 |
gonggaowenjian | varchar(200) | 是 | NULL | 公告文件 |
gonggaotupian | varchar(200) | 是 | NULL | 公告图片 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
表4.13 医院工作人员
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
xingming | varchar(200) | 否 | 姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
nianling | varchar(200) | 是 | NULL | 年龄 |
chushengriqi | date | 否 | 出生日期 | |
xueli | varchar(200) | 是 | NULL | 学历 |
bumen | varchar(200) | 否 | 部门 | |
zhiwu | varchar(200) | 是 | NULL | 职务 |
keshi | varchar(200) | 是 | NULL | 科室 |
shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
shouji | varchar(200) | 是 | NULL | 手机 |
touxiang | varchar(200) | 是 | NULL | 头像 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
表4.14 医院科室
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
keshimingcheng | varchar(200) | 是 | NULL | 科室名称 |
keshileixing | varchar(200) | 是 | NULL | 科室类型 |
keshijianjie | longtext | 是 | NULL | 科室简介 |
keshirenyuan | longtext | 是 | NULL | 科室人员 |
keshitupian | varchar(200) | 是 | NULL | 科室图片 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
表4.15 医院科室预约
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
keshileixing | varchar(200) | 是 | NULL | 科室类型 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
keshimingcheng | varchar(200) | 是 | NULL | 科室名称 |
yuyueshijian | datetime | 是 | NULL | 预约时间 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
sfsh | varchar(200) | 是 | 否 | 是否审核 |
shhf | longtext | 是 | NULL | 审核回复 |
表4.16 医院列表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yiyuanbianhao | varchar(200) | 否 | 医院编号 | |
mima | varchar(200) | 否 | 密码 | |
yiyuanmingcheng | varchar(200) | 否 | 医院名称 | |
fuzeren | varchar(200) | 是 | NULL | 负责人 |
fuzerenshouji | varchar(200) | 是 | NULL | 负责人手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
fuzerenshenfenzheng | varchar(200) | 是 | NULL | 负责人身份证 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
zhuceshijian | datetime | 是 | NULL | 注册时间 |
表4.17 医院文章
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
biaoti | varchar(200) | 是 | NULL | 标题 |
wenzhangleixing | varchar(200) | 是 | NULL | 文章类型 |
neirong | longtext | 是 | NULL | 内容 |
zuozhe | varchar(200) | 是 | NULL | 作者 |
shipin | varchar(200) | 是 | NULL | 视频 |
fabiaoshijian | datetime | 是 | NULL | 发表时间 |
wenzhangtupian | varchar(200) | 是 | NULL | 文章图片 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
表4.18 医院注册
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yiyuanmingcheng | varchar(200) | 否 | 医院名称 | |
mima | varchar(200) | 否 | 密码 | |
fuzeren | varchar(200) | 是 | NULL | 负责人 |
fuzerenshouji | varchar(200) | 是 | NULL | 负责人手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
fuzerenshenfenzheng | varchar(200) | 是 | NULL | 负责人身份证 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
sfsh | varchar(200) | 是 | 否 | 是否审核 |
shhf | longtext | 是 | NULL | 审核回复 |
表4.19 用户
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
zhanghao | varchar(200) | 否 | 账号 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 否 | 姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
shouji | varchar(200) | 是 | NULL | 手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
表4.20 院区展示
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yiyuanbianhao | varchar(200) | 是 | NULL | 医院编号 |
yuanqumingcheng | varchar(200) | 否 | 院区名称 | |
yuanqujianjie | longtext | 是 | NULL | 院区简介 |
yuanqudizhi | varchar(200) | 是 | NULL | 院区地址 |
yuanqudianhua | varchar(200) | 是 | NULL | 院区电话 |
yuanquzongmianji | varchar(200) | 是 | NULL | 院区总面积 |
zhuanjia | longtext | 是 | NULL | 专家 |
keshi | longtext | 是 | NULL | 科室 |
yuanqutupian | varchar(200) | 是 | NULL | 院区图片 |
5 系统功能
5.1 管理员角色
5.1.1 医院管理
管理员可以在医院管理界面对医院信息进行添加,修改,删除,查询操作。医院管理页面的运行结果如图5-1所示:
图5-1医院管理界面
5.1.2 医院注册
管理员可以在医院注册界面对医院信息进行添加,修改,删除,查询操作。医院注册页面的运行结果如图5-2所示:
图5-2 医院注册界面
5.1.3 医院文章
管理员可以在医院文章界面对医院文章进行查看和查询操作。医院文章页面的运行结果如图5-3所示:
图5-3 医院文章界面
5.1.4 医生信息
管理员可以在医生信息界面对医生信息进行查看以及查询操作。医生信息页面的运行结果如图5-3所示:
图5-4 医生信息界面
5.2 用户角色
5.2.1 医院注册
用户可以在医院注册界面对注册医院信息。医院注册页面的运行结果如图5-3所示:
图5-5 医院注册界面
5.2.2 医疗安排
用户可以在医疗安排界面查看医疗安排信息。医疗安排页面的运行结果如图5-3所示:
图5-6 医疗安排界面
5.3 医院角色
5.3.1 院区注册
医院可以在院区注册界面对注册院区信息。院区注册页面的运行结果如图5-3所示:
图5-7 院区注册界面
5.3.2 医院公告
医院可以在医院公告界面对医院公告信息进行添加,修改,删除,查询等操作。医院公告页面的运行结果如图5-3所示:
图5-8 医院公告界面
5.4 医生角色
5.4.1 医院工作人员
医生可以在医院工作人员界面查看医院工作人员人员。医院工作人员页面的运行结果如图5-3所示:
图5-9 医院工作人员界面
5.4.2 病人病历
医生可以在病人病历界面对病人病历信息进行添加,修改,删除,查询等操作。病人病历页面的运行结果如图5-3所示:
图5-10 病人病历界面
6 系统测试
6.1 程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
6.2 程序的测试
6.2.1 测试的重要性及目的
(1)测试的重要性
在软件生命周期中,软件的测试占据着一个重要的位置,在传统的瀑布模式中,软件测试学只是处于在运行维护阶段之前,是软件产品交付给大众用户使用之前用以保证软件质量重要的一个方法。近来,软件工程界中更加趋向于一种新观点,即认为软件每一阶段中的生命周期都理应包含测试,因此使检查本阶段的成果能不能接近预期的结果目标,进而尽可能早一点发现到错误并加以改正,如果测试不是在早期阶段进行的,那么错误将延时扩散,最后常常会导致成品测试面临巨大的困难。
对于软件来讲,事实上,无论采用任何方法或者任何技术,系统中仍然会出现错误。采用新的开发方式、先进的语言、完善的开发过程,可以最大限度的降低错误的引进,但还是不能完全的杜绝软件中有可能出现的错误,这些引入的错误需要通过测试找出来,系统中错误的密度也需要通过测试来进行估量。测试是所有学科的工程的最基本的组成单元,是软件开发的一个很重要的部分。自有设计程序的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护程序的工作相当于二次开发,甚至是多次开发,其中一定又包含了很多测试的工作。
在实践中,测试软件非常困难,从而常常使我们敷衍了事或望而却步,这是因为对测试还是存在了一些错误的看法和不正确的态度,这包括:
①难以给测试的工作人员某种成就感; 认为测试工作并不像编码和设计那样容易进行发展
②在测试的过程中发现错位其实是一种对责任者工作的否定; 测试是以发现软件的错误为目标的,这是非建设性的,甚至还是具有破坏性的,
③测试的工作过程非常枯燥无味,因此不足以引起我们的兴趣和爱好;
④测试工作需要是细致而艰苦的进行;
⑤一般来说,我们都对自己编写出来的程序比较盲目的自信,在发现到错误的时候,可能会顾虑别人对我们自己开发的能力的看法。
以上这几个观点对测试系统的工作进行是尤为不利的,我们必须要端正态度、澄清认识,才可能将系统产品的质量加以提高。
(2)测试的目的
如果测试程序的目的是为了尽可能全面地找出系统中的错误,那么测试就必须直观的针对软件较为复杂的部分或者是前期出现错误比较多的位置。
①系统的测试是为了检查出错误而执行程序的运行过程;
②测试则是为了证明程序中有错误,而不是用来证明程序没有错误;
③每一个好的测试的用例是因为它能检查到至今未出现的错误;
④一个很成功的测试就是检查出了至今未能发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有检查出错误的测试也有它的价值,完整的测试是测试质量评定的一种方式。
6.2.2 测试的步骤
类似系统开发的过程,测试工作的过程也需要分步骤来进行,每个步骤在逻辑上是前一个步骤的继续。大型系统软件一般是由若干个子系统而组成的,每一个子系统又是由若干个小的模块组成的。因此,大型系统软件的测试功过基本上由下面的几个步骤组成:
(1)模块测试 在对模块进行的测试工作步骤中所发现的经常是详细设计和编码的错误。
(2)系统测试 在对系统进行的测试工作步骤中发现的经常是软件设计时出现的错误,也有可能会发现需求说明中的出现错误。
(3)验收测试 在对验收进行的测试工作步骤中发现的经常是系统需求说明书中出现的错误。
6.2.3 测试的主要内容
我们在进行测试工作的时候为了保证系统的质量,可以将测试工作的内容分成以下所说的几个部分,即: 审查代码、集成测试、单元测试、系统测试和确认测试。
(1)单元测试
检查系统设计最小的单位(—个模块)就是单元测试,通过测试检查出用来定义该模块的功能说明不符合与实现该模块的实际功能的情况,以及编码时的错误。
(2)集成测试
我们可以将每个小的模块按照设计的需求组装起来后同时进行集成测试,集成测试的主要目的是检查与接口有关联的某些问题。假设一个模块和另一个模块可能会出现由于疏忽的问题而引起有危害的影响;把子功能模块组合起来后可能不能产生预期的主功能;有个别的看起来视乎能接受的误差却很有可能积累到不能接受的程度;全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,基本排除了接口的错误,接下来我们就应该进一步的检验系统软件的有效性,就是确认测试工作的任务,是将系统软件的性能和功能发挥到如用户们合理期待的一样。
(4)系统测试
完成软件设计开发以后,最后还要将它与系统中其他的部分整合运行,从性能测试、安全测试、强度测试和恢复测试等四个方面来进行系统测试。
此外对系统的单独测试主要从以下三个方面入手:
① 功能测试:测试能否满足开发的要求,能否实现了设计所描述的功能,能否让用户的需求得到满足。系统测试必须和最常用的测试是功能测试。一般来说还会以对软件正式的说明书为标准进行测试。
② 性能及强度的测试:最高实际限度的测试系统能力,即软件在某些超负荷环境下功能是否还实现的情况。
③ 安全测试:对安装在系统内的安全保护机构确实能能不能保护系统进行验证,使系统不会受到各种不正常的干扰。因此针对本次开发的系统主要是测试错误的数据、无效的数据,测试权限系统和对抗非法数据干扰的能力。
经过了一系列的需求分析、设计和编码等开发工作后,本设备管理系统的设计也将接近尾声,接下来需要对系统的一些功能进行测试是否能够达到预期的结果。由于在测试前系统的各个模块都会存在一定的错误和缺陷,从而可能导致系统的非正常运行,有时候会出现很严重的后果。所以,对于程序设计开发来说,软件测试是一项非常重要的工作。
(1) 测试案例的内容
周期:测试时间域。
层次:测试的层面。
类型:测试的分类。
系统:测试何系统。
分系统: 测试何分系统。
模块: 测试何模块。
平台: 测试的环境。
描述: 对测试问题说明与叙述。
目的: 测试的目标与期望。
此外,还包括测试文档号、测试设置、输入条件、测试结果和期望结果。
(2) 测试案例与脚本
1)测试案例与脚本设计主要包括以下内容:
检查集成测试策略
制定测试数据目的和性能目标
找出关键测试条件
检查已有的在线测试脚本
输入或抓取在线测试脚本
检查已有的用于测试的数据
生成测试数据
检查重要的数据
执行测试数据和测试脚本
6.2.4 测试用例
(1) 用户登录测试
用户登录信息测试过程如表6-1所示:
表6-1 用户登录测试表
测试目的 | 操作流程 | 测试用例 | 预测结果 | 测试结果 |
用户登录 | 填写用户名密码,点击首页【登录】按钮 | 用户名:1 密码:a | 登录失败 | 提示错误信息 |
用户名:liu 密码:123456 | 登录成功 | 登录成功 |
(2) 信息发布测试
信息发布测试过程如表6-2所示:
表6-2 信息发布测试表
信息发布 | 空 | 发布失败,提示请填写内容 | ||
信息有可能延迟 |
(3)后台管理登录测试
后台管理登录测试过程如表6-3所示:
表6-3 后台管理登录测试
测试目的 | 操作流程 | 测试用例 | 预测结果 | 测试结果 |
后台管理登录 | 点击首页填写用户名密码,点击首页【登录】按钮 | 用户名:liu 密码:123456 | 登录失败 | 提示错误信息 |
用户名:a 密码:a | 登录成功 | 登录成功 |
6.3 系统的特点和优点
本系统设计时借鉴了国内外优秀网站的优点,从界面到系统设计都是从方便用户,同时兼顾管理员的管理这一方面设计的。系统的主要特点和优点归纳如下:
(1)本系统最大的特色是相对一般基于B2B平台的医疗病历交互系统,本系统的设计比较有针对性。由于学习的特殊性,在系统中也存在相应的特别的安全功能模块。
(2)该系统的位移性能也比较高,可以在大多数操作系统上运行,你只需要安装一个支持JSP和JDK,你还可以直接独立的服务器上运行的模拟服务器。数据库系统使用MySQL,实现动态查询,动态更新和动态输入数据,并提供强大的管理功能。主要用于eclipse中+ JDK1.6开发工具,操作简单,功能强大,可以进行不同的配置,根据用户的需求,以满足用户的不同需求。
(3)系统管理信息内容全面,方便于维护数据,特别是一些通用的字段,为了预防我们在手动输入的时候有可能会发生各种错误,该系统采用的是单选框或列表框下拉的方法来显示所有的数据,用户只要用鼠标点击来进行选择就可以完成输入的工作。这样的方式不单是为用户带来很多方便,工作效率也得以提高,而且尽可能的将发生错误的几率减少,让用户能顺利进行统计信息的工作。
(4)有比较友好的用户界面,使用方便,操作方法很简单。一般来说只要有操作商务网站经验的用户都能熟练的对本系统进行操作。
6.4 系统存在的不足和改进方案
系统存在的不足
本系统基本满足了一般基于B2B平台的医疗病历交互系统的基本功能,能够实现简单的学习信息管理和查询等功能。但由于时间仓促,本系统还存在不少不足方面,主要体现在:
(1)界面不够美观,由于时间仓促,系统的主要表现方式还是以表格+文字的方式,颜色比较单调,一些界面不够美观,对整个系统造成了严重的影响。
(2)数据库和部分代码存在冗余,由于欠缺经验和考虑的不够充分,在很大一部分系统的设计开发中,系统代码都存在冗余,导致系统的运行质量不够好。
(3)后台的管理功能不够完善,由于多方面的原因,人力和时间缺乏,设计开发本系统后台方面管理的功能不是特别完善。
改进方案
针对于本系统产生不足,在以后的日子里,我准备进一步对系统进行改进,方案如下:
(1)对于系统不美观的界面,我会在系统中使用大量的图片,用photoshop优化操作本系统,并能使其不会对系统的传输速度产生太大的影响;同时系统的配色方案也要需要改进,根据商品的不同种类,不同时间设计出不同的系统配色的方案。
(2)针对数据库和系统代码冗余的问题,我要进一步简单化程序中的代码,不同的界面之间能共享一些函数、方法和变量,对数据库冗余的我利用数据库连接池技术使操作数据库的性能提高;可以进一步规范化数据库的关系模式,因此冗余现象得以减少。
6.5 设计收获和心得
系统设计已经接近尾声了,我所开发的基于B2B平台的医疗病历交互系统也已初具规模,虽然还没有达到特别完善的效果,但系统每一步的进步我们都付出了的很多心思。在设计与分析系统过程中,是对大学思念学习总结的过程,也是更深一步探索和学习的一个过程。在这个过程里,我深刻的认识到软件工程方法的设计与分析的思想,还进一步的了解和掌握了JSP技术和编程工具和使用方法,在该系统的设计与分析过程中有了很多切身的体会和认识,更重要的是在学习和实践的过程里我还丰富了经验、增长了知识。下面主要是我在本次毕业设计中的几点体会和看法:
(1)对工程软件办法的体会和分析,在我做整个毕业设计的过程里,我们遵循软件工程严格方法进行,把系统分成可行性研究,问题定义,需求分析,总体分析,详细设计,编码和测试单元,综合测试以及最后运行维护等多个阶段,系统设计得以完善。
(2)对使用JSP技术以及编程工具的体会,用JSP技术设计出来的动态主页,能接收用户提交的内容并做出反应, 其中随着实际情况的变化数据也随之而改变,无须人工对网页文件进行更 新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序, 而不只是一个简单的HTML文件。输入数据分析应用的形式,根据本实施(通常是一组搜索结果中的数据库)发送到HTML格式的浏览器内容数据的相应结果。使用良好的编程工具相关的设计,可以大大简化开发步骤和难度,可以节省大量的时间。
(3)对毕业设计的体会,对系统的设计和分析,是一个非常辛苦的工作,但过程中又是充满乐趣的。在设计过程的时候,我们一边读书,一边不断的思实考践中遇到的新问题,继续努力探讨的问题得到解决,在艰苦的工作和只能亲身体验到乐趣,而设计一个信息管理系统,不会一步到位,需要不断补充和完善,而且,仍然存在很多问题在系统中被发现,今后在实践应用中发现问题一定认真解决。因此,应该说设计系统的工作并没有完全结束,还需要在日后的工作中继续进行。
7 总结
制作毕业设计的紧张激烈和忙乱的几个月,我有机会做专业的基本理论,从而实现了学以致用。以前我们也有过一些设计的体会,但只不过是设计了一个的模块或一个小系统,而此次的毕业设计则是将所学到的计算机的知识和管理类的知识加以综合来设计出一个适合运行管理的基于B2B平台的医疗病历交互系统。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时指导老师和许多同学给予了我帮助。在设计的过程中增加了于实际接触的机会,不仅培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定的资本,提高了我与人沟通的能力。
尽管本次开发设计的项目已经取得一定的成效,但由于用户的需求又在不断更新着,随着进一步发展软件设计的技术和时间的推移,在接下来的开发中丰富和完善系统都是很有必要的,以下三个方面具体的说明了我对本次设计开发的项目构想展望:
1.系统通用性的问题
目前我们可以通过本系统基本实现学习信息管理工作。为增加软件的通用性,我们可以考虑通过系统的二次开发把该系统推广到全国各用户,使整个基于B2B平台的医疗病历交互系统管理工作更加规范完善。
2.系统的完善性问题
本系统虽然实现了学习信息管理工作的申请审批等一般流程,但是在审核申请人材料上,还只能依赖申请人填写的信息进行审核,有些信息的真实性不能在第一时间得到准确反馈,所以对申请人信息的在线核实工作是今后一个努力的方向。
3.与其他部门系统相对接的问题
如何将基于B2B平台的医疗病历交互系统与企业的办公管理系统等相关系统进行有效的对接,实现信息的共享也是今后开发的重点。