Java课程设计
(综合项目文档)
医院信息管理系统
院 别: 信息科学与工程学院 专 业: 计算机科学与技术 班 级: 2018级计科一班 学生姓名: 周鑫 范闻明 指导老师: 吕向风 |
二〇二〇年七月
目 录
1 绪论... 1
1.1 项目概述... 1
2 开发工具和相关技术简介... 2
2.1 Eclipse简介... 2
2.2 Java语言介绍... 2
2.3 MySQL简介... 3
2.4 JDBC技术简介... 3
3 系统需求分析... 4
3.1 系统可行性分析... 4
3.2 系统需求分析... 4
3.3 组内成员分工... 4
3.4 进度安排... 5
4 系统设计... 5
4.1 系统设计... 5
4.2 数据库设计... 5
5 系统实现... 7
5.1 管理员登录界面实现... 7
5.2 管理用户信息界面实现... 7
6 系统测试... 9
7 结论和心得... 10
1 绪论
1.1 项目概述
功能要求:
需要管理的病人信息有:姓名、年龄、性别、身高、体重、症状、状况和科室。
实现查询、增、删、改等功能。
数据存储:数据库。
1.2 项目意义
医院管理信息系统是医院现代化管理的重要工具和手段,是医院深化改革、强化管理、提高效益、和谐发展的重要保障,对提高医疗质量、促进资源共享、扩展信息服务、支撑教学研究、提高医院竞争力等具有重要的意义。其中,最主要体现在:1 优化工作流程;
2 提高运营质量;
3 缩短诊疗周期;
4强化科学管理;
5 节约诊治成本;
6 改变决策方式。
总之,通过医院管理信息系统的实施,可以有效促进医院信息化建设,实现医院内部管理一体化、员工工作高效化、部门协作关系简单化、科室收益透明化、患者费用清单化、诊疗信息电子化,使医疗服务过程更加高效、有序、规范,给医院和患者带来全新的诊疗环境和更加完善的医疗服务。
2 开发工具和相关技术简介
本项目是医院信息管理系统。开发环境:Eclipse、MySQL;开发语言:Java语言;开发技术:JDBC等。本章将对开发工具和相关技术进行简单介绍。
2.1 Eclipse简介
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础。
2.2 Java语言介绍
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java优点:
1、简单性;
2、面向对象;
3、分布性;
4、编译和解释性;
5、稳健性;
6、安全性;
7、可移植性;
8、高性能;
9、多线索性;
10、动态性;
2.3 MySQL简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
2.4 JDBC技术简介
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
3 系统需求分析
3.1 系统可行性分析
本项目是医院信息管理系统。开发环境:Eclipse、MySQL;开发语言:Java语言;开发技术:JDBC 、GUI,数据库,Java I/O,面向对象等。本组完成项目具有技术可行性、操作可行性。
3.2 系统需求分析
医院信息管理系统是集合管理员登陆,和实现对病人信息的增删改查,以及将信息存入数据库中。
3.3 组内成员分工
表3-1 组内成员分工情况表
序号 |
姓名 |
组内角色 |
小组分工 |
备注 |
1 |
周鑫 |
项目经理,编码,测试 |
图形界面的设计 |
View与entity |
2 |
范闻明 |
编码、测试、架构师 |
功能的编写 |
Dao与util |
说明:组内角色:组长为项目经理;其他人分别为编码、测试、架构师等。
3.4 进度安排
进度安排如表3-2所示。
表3-2 进度安排表
阶段 |
持续时间 |
阶段描述 |
输出 |
构思阶段 |
3 |
需求分析 |
需求说明,功能模块图 |
设计阶段 |
2 |
系统设计 |
设计说明-可以画流程图;数据库设计 |
是现阶段 |
8 |
编写代码 |
项目工程源代码 |
2 |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
运行阶段 |
4 |
部署、运行 |
系统使用说明、运维报告-答辩 |
4 系统设计
4.1 系统设计
根据系统的实际功能需求分析,对系统功能部分进行了设计。
4.2 数据库设计
根据系统需求分析设计了2张表,分别为管理员信息表、病人信息表表。具体信息如表4-1到表4-2所示。一下为参考,可以按照自己的需求修改
表4-1 管理员信息表
序号 |
字段名 |
数据类型 |
约束 |
是否为空 |
说明 |
1 |
id |
Int(11) |
主键 |
否 |
管理员ID |
2 |
username |
varchar(20) |
|
是 |
管理员账号 |
4 |
pwd |
blob(0) |
|
是 |
管理员密码 |
5 |
realname |
datetime(15) |
|
是 |
管理员姓名 |
用户表主要记录了普通用户基本信息,如表4-2所示。
表4-2 病人信息表
序号 |
字段名 |
数据类型 |
约束 |
是否为空 |
说明 |
1 |
id |
Int(4) |
主键 |
否 |
病人ID |
2 |
name |
varchar(10) |
主键 |
否 |
姓名 |
3 |
age |
int(11) |
|
是 |
年龄 |
4 |
sex |
varchar(2) |
|
是 |
性别 |
5 |
height |
double(5) |
|
是 |
身高 |
6 |
weight |
double(5) |
|
是 |
体重 |
8 |
health |
varchar(255) |
|
是 |
健康情况 |
9 |
illness |
varchar(255) |
|
是 |
病症 |
10 |
partment |
varchar(255) |
|
是 |
科室 |
5 系统实现
5.1 管理员登录界面实现
管理员通过输入对应数据库中user表的用户名和密码来确认登录
登录界面如图5-9所示。
5.2 管理用户信息界面实现
管理员登录后台系统后,便可看到当前有多少个病人,也可对其进行操作。
6 系统测试
在医院管理系统中主要对登录、增、删、查、改、的功能模块进行测试,测试结果如表6-1所示。
表6-1医院管理系统功能测试表
编号 |
测试功能 |
输入描述 |
预期结果 |
运行结果 |
1 |
登录功能 |
1.运行程序 2.输入账号与密码 3.点击登录 |
可以正常运行,并弹出信息界面。 |
正常,与预期结果一致 |
2 |
增加功能 |
1.点击添加信息 2.输入信息 3.点击提交 |
弹出对话框并可以正常录入与提交。 |
正常,与预期结果一致 |
3 |
查询功能 |
1. 在对话框输入姓名 2. 点击查询信息 |
显示查询到的信息 |
正常,与预期结果一致 |
4 |
删除功能 |
1.点击要删除的对象 2.点击删除信息 3.点击确认 |
删除选中的信息 |
正常,与预期结果一致 |
5 |
修改功能 |
1.点击要修改的对象 2.点击修改信息 3.在对话框内修改信息 4.点击确认 |
成功选中的修改信息 |
正常,与预期结果一致 |
测试主要是针对管理员的操作,从测试结果中可以看出所有功能均能正常实现,且测试结果与预期结果一致。
结果表明本课题经过测试,所有功能都符合需求分析并且均能正常实现。
7 结论和心得
学生1姓名:周鑫
心得:
其实做项目并不是特别难,难就难在底层的基础,必须得多复习前面的知识了,而且要多练,就像这次做项目,虽然很多重复代码,但是却让自己的训练量起来了,所以后面写的越来越顺手。
学生2姓名:范闻明
心得:
Java 课程设计这门课是一门实训课程,让我们将日常学习到的java基础知识转换为实际成品的一门以实践为主的课程。通过这次课程,了解到了一些自己在日常学习中没有注意到的薄弱的环节,同时也通过这门课程,学会了使用博客和java帮助文档来帮助自己提高自己的方式。