**
**
*目* *录*
1 绪论
1.1项目来源及研究背景 (1)
1.2研究目的及意义 (1)
1.3研究内容 (2)
1.4实施计划 (3)
2 需求分析
2.1可行性分析 (4)
2.2功能需求 (5)
2.3开发工具及相关技术 (6)
3 总体设计
3.1功能模块划分 (10)
3.2系统业务流程 (11)
3.3数据库设计 (12)
4 详细设计
4.1前端的设计与实现 (29)
4.2 模块设计 (37)
5 系统测试
5.1测试目的 (56)
5.2测试方法 (56)
5.3测试实例 (57)
5.4测试结果分析 (60)
**
**
*1* *绪论*
本章主要介绍了论文的研究背景、研究目的与研究意义,接着分析梳理了国内外病历管理系统的研究现状,阐述了在当今时代背景下研究病历管理系统的必要性和重要性。
1.1项目来源及研究背景
1.2研究目的及意义
1.2.1研究的目的
1.2.2研究的意义
1.3研究内容
1.4实施计划
** ***2* *需求分析*
2.1可行性分析
2.1.2技术可行性
2.1.3操作可行性
2.2功能需求
2.3开发工具及相关技术
2.3.1 JSP技术
2.3.2 JAVA技术
2.3.3 MYSQL数据库简介
** ***3* *总体设计*
总体设计是系统的概念模型,它从用户的需求分析中产生,并为详细设计提供框架,所以对软件设计的全过程有非常重要的影响。总体设计的任务包括对系统的功能模块进行划分,对各功能模块间的对应关系进行设计,以及确定系统所用数据库的结构。
3.1功能模块划分
系统功能模块,如图 3-1所示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vUJLdb5-1625206201664)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml10156\wps1.png)]
图 3-1 系统功能模块图
通过对系统用户权限的分析,我们将本病历管理系统分为三大模块:管理员模块、医护模块、患者模块。
3.1.1管理员模块
该模块可以说包含了整个管理员功能,如图3-2所示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CRkrFIwq-1625206201669)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml10156\wps2.png)]
图 3-2 管理员模块
3.1.2医护模块
该功能完成了医护对自己和患者的信息管理。医护模块如图3-3所示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3ksp1eL-1625206201672)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml10156\wps3.png)]
图 3-3 医护模块
3.1.1患者模块
该模块实现患者对自己信息进行查询。患者模块如图3-4所示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b216ICG1-1625206201675)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml10156\wps4.png)]
图 3-4 患者模块
3.2系统业务流程
3.3数据库设计
3.3.1概念设计
3.3.2逻辑设计
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hnJOUq3K-1625206201677)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20210702140519850.png)]
2.数据模型
(1)患者信息表:用于保存患者的个人基本信息,如表3-1所示。
表3-1患者信息表(huanzhe)
列名 | 中文含义 | 类型 | 宽度 | 允许空值 | 备注 |
---|---|---|---|---|---|
bh | 编号 | int | 11 | notnull | 主键 |
name | 姓名 | varchar | 30 | notnull | |
sex | 性别 | varchar | 20 | null | |
age | 年龄 | varchar | 20 | null | |
tel | 联系电话 | varchar | 20 | null | |
hy | 婚姻 | varchar | 50 | null | |
zy | 职业 | varchar | 50 | null | |
idno | 身份证号 | varchar | 50 | null | |
adress | 家庭住址 | varchar | 255 | null |
(2)检查报告表:用来保存检查患者情况信息,如表3-2所示。
3.3.3物理设计
package com.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 数据库操作工具类
* @author HCD
* */
public class DB
{
//数据库连接
private Connection con;
private PreparedStatement pstm;
private String className="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://127.0.0.1:3306/blglxt?useUnicode=true&characterEncoding=utf-8";
private String user="xxxx";
private String password="xxxx";
public DB()
{
try
{
//改写配置文件
Class.forName(className);
} catch (Exception e)
{
System.out.println("加载数据库驱动失败!");
e.printStackTrace();
}
}
/**
* 获得数据库连接
* @return 数据库连接
*/
public Connection getCon()
{
try
{
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e)
{
System.out.println("创建数据库连接失败!");
con = null;
e.printStackTrace();
}
return con;
}
/**
* 执行sql语句
* @param sql
* @param params
*/
public void doPstm(String sql, Object[] params)
{
if (sql != null && !sql.equals(""))
{
if (params == null)
params = new Object[0];
getCon();
if (con != null)
{
try
{
System.out.println("执行SQL:"+sql);
pstm = con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
for (int i = 0; i < params.length; i++)
{
pstm.setObject(i + 1, params[i]);
}
pstm.execute();
} catch (SQLException e)
{
System.out.println("doPstm()方法出错!");
e.printStackTrace();
}
}
}
}
/**
* 获得ResultSet
* @return
* @throws SQLException
*/
public ResultSet getRs() throws SQLException
{
return pstm.getResultSet();
}
/**
* 关闭数据库
*/
public void closed()
{
try
{
if (pstm != null)
pstm.close();
} catch (SQLException e)
{
System.out.println("关闭pstm对象失败!");
e.printStackTrace();
}
try
{
if (con != null)
{
con.close();
}
} catch (SQLException e)
{
System.out.println("关闭con对象失败!");
e.printStackTrace();
}
}
}
** ***4* *详细设计*
详细设计主要是通过需求分析的结果,对系统功能设计进行细分,设计出满足要求的软件系统,并配合程序流程图、类图以及时序图的描述,分别介绍系统各模块的详细设计与实现。
4.1前端的设计与实现
这是长截图
5 系统测试
在系统的开发过程中,测试环节同样是必不可少的。测试是对一个系统能否正常使用的保证,同时也是对一个软件的质量进行保证。
5.1测试目的
5.2测试方法
5.2.1黑盒测试
5.2.2白盒测试
5.3测试实例
5.3.1用户登录测试
表5-1用户登录测试用例表
项目名称 | 病历管理系统 | 测试时间 | |
---|---|---|---|
功能模块 | 系统登入 | 测试人员 | |
功能描述 | 用户进入对应的系统界面 | ||
测试目的 | 测试用户是否能成功进入系统 | ||
预置条件 | 成功打开登入页面 | ||
操作步骤 | 操作描述 | 预期结果 | 实际结果 |
1 | 填入账号yh密码123456,点击登录 | 弹出系统登入成功的提示,成功登入界面 | 和预期结果一致 |
2 | 填入账号admin密码123456,点击登入 | 弹出系统登入成功的提示,成功登入界面 | 和预期结果一致 |
3 | 填入账号yh 密码123,点击登录 | 弹出账号或密码错误的提示 | 和预期结果一样 |
4 | 填入账号admin密码123,点击登录 | 弹出账号或密码错误的提示 | 和预期结果一样 |
5 | 填入账号yh未填入密码,点击登录 | 弹出请输入密码的提示 | 和预期结果一样 |
6 | 填入账号admin未填入密码,点击登录 | 弹出请输入密码的提示 | 和预期结果一样 |
7 | 填入账号hh 密码123456 | 弹出账号或密码错误的提示 | 和预期结果一样 |
5.3.2患者检查管理测试
表5-2患者检查管理测试用例表
项目名称 | 病历管理系统 | 测试时间 | |
---|---|---|---|
功能模块 | 患者检查管理 | 测试人员 | |
功能描述 | 对患者个人信息、检查报告和复查记录的增加、删除、修改检查 | ||
测试目的 | 医护和管理员是否能对患者个人信息、检查报告和复查记录的增加、删除、修改检查 | ||
预置条件 | 医护或管理员成功登入系统,点击患者检查管理 | ||
操作步骤 | 操作描述 | 预期结果 | 实际结果 |
1 | |||
5.3.3门诊病历管理测试
表5-3 门诊病历管理测试用例表
项目名称 | 病历管理系统 | 测试时间 | |
---|---|---|---|
功能模块 | 门诊病历管理 | 测试人员 | |
功能描述 | 对患者门诊信息的增加、删除、修改检查 | ||
测试目的 | 医护和管理员是否能对患者门诊信息的增加、删除、修改检查 | ||
预置条件 | 医护或管理员是否成功登入系统,点击门诊病历管理 | ||
操作步骤 | 操作描述 | 预期结果 | 实际结果 |
1 | |||
5.3.4住院病历管理测试
表5-4住院病历测试用例表
项目名称 | 病历管理系统 | 测试时间 | |
---|---|---|---|
功能模块 | 住院病历管理 | 测试人员 | |
功能描述 | 对患者住院的增加、删除、修改检查 | ||
测试目的 | 医护和管理员是否能对患者住院的增加、删除、修改检查 | ||
预置条件 | 医护或管理员是否成功登入系统,点击住院病历管理 | ||
操作步骤 | 操作描述 | 预期结果 | 实际结果 |
1 | |||
5.4测试结果分析
| 测试人员 | |
| 功能描述 | 对患者住院的增加、删除、修改检查 | | |
| 测试目的 | 医护和管理员是否能对患者住院的增加、删除、修改检查 | | |
| 预置条件 | 医护或管理员是否成功登入系统,点击住院病历管理 | | |
| 操作步骤 | 操作描述 | 预期结果 | 实际结果 |
| 1 | | | |
| | | | |
| | | | |
| | | | |