十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
摘 要
10余年的含山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整含山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“含山网站设计”,“含山网站推广”以来,每个客户项目都认真落实执行。
进入21世纪以来,网络的空前发展给人们的工作和生活带来了极大的便利,信息化建设已经成为节约运营成本、提高工作效率的首选。相比之下,国内相当数量的中小医院的医院预约挂号工作还采用相对保守的手工工作方式,数据信息查询和存储的成本较高,但效率却很低下。为了使医院预约挂号管理更高效、更科学,决定开发医院预约挂号平台。
本文采用结构化分析的方法,详细阐述了一个功能比较强大的医院预约挂号平台的前后台开发、操作流程和涉及的一些关键技术。首先进行了可行性分析,然后是系统分析,通过实际的业务流程调研,分析业务流程和系统的组织结构,完成了数据流分析和数据字典;然后是系统设计阶段主要完成了功能模块的划分、阐述了系统设计的思想、数据库的设计和系统设计的工具及技术。该阶段对本系统各个模块的功能进行了详细设计,形成了本系统的功能模块图;数据库设计时先进行了概念结构设计,然后进行了逻辑结构设计,最后完成了数据表的设计。
根据前几个阶段的分析和设计,本系统在设计方面采用B/S模式,同时使用JSP技术进行基本页面的设计与功能实现,后台数据库选用SQL Server 2000数据库。本系统的设计实施为医院预约挂号系统的运行做基础,为医院预约挂号管理工作提供良好的条件。
关键词:预约挂号;结构化分析;平台
Abstract
In the 21st century, the unprecedented development of the network to the people's work and life has brought great convenience, information technology has become operational cost savings, improve efficiency of choice. In contrast, a considerable number of domestic small and medium hospitals, hospital appointment registration work is relatively conservative with manual work, data query and the high cost of storage, but the efficiency is very low. To make an appointment by registered hospital management more efficient, more science, decided to develop the hospital appointment registration platform.
In this paper, structural analysis, a function described in detail more powerful platform for the hospital before and after the appointment register sets and development, operational processes, and some of the key technologies involved. First, a feasibility analysis, and system analysis, business process through the actual research, analyze business processes and organizational structure of the system to complete the data flow analysis and data dictionary; then completed the system design phase is mainly divided into functional modules, elaborated the idea of the system design, database design and system design tools and techniques. This phase of the system function of each module in detail the design, forming a functional block diagram of the system; database design first tested the concept design, followed by a logic design, and finally completed the data table design.
According to the first few stages of the analysis and design, the system used in the design of B / S mode, JSP technology, the basic page design and implementation of function, use SQL Server 2000 database backend database. Implementation of the system design registration system for the operation of the hospital appointment as a foundation for the hospital management to provide a good appointment registration conditions.
Key Words:Appointment registration; structural analysis; platform
目 录
摘 要... I
Abstract II
一、引言... 1
(一)项目开发的背景... 1
(二)项目开发的目的... 1
二、可行性分析及总体设计原则... 2
(一)可行性分析... 2
1.技术可行性... 2
2.经济可行性... 2
3.社会可行性... 3
(二)总体设计原则... 3
三、系统分析... 5
(一)业务流程分析... 5
(二)数据流图... 6
(三)数据字典... 9
四、系统设计... 13
(一)系统功能设计... 13
(二)系统数据库设计... 14
1.概念结构设计... 14
2.逻辑结构设计... 18
3.数据库表设计... 18
(三)系统开发工具与开发模式的选择... 20
1.系统开发工具... 20
2.系统设计模式... 21
五、系统实现... 22
(一)用户模块... 22
1.登录及注册管理模块... 22
2.首界面... 23
3.用户注册界面... 24
4.公告界面... 25
5.科室预约界面... 26
6.留言界面... 27
(三)管理员模块... 28
1.登录界面... 28
2.科室管理界面... 28
3.添加专家界面... 29
六、性能测试与分析... 30
(一)测试的重要性... 30
(二)测试实例的研究与选择... 30
(三)测试环境与测试条件... 31
(四)实例测试... 32
(五)系统评价... 32
(六)测试结果... 33
参 考 文 献... 35
致 谢... 36
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Deque;
import java.util.List;
import java.util.Stack;
public class DoctorMain implements Runnable
{
private static DequeInteger binRenDeque;
private boolean onWork = false;
private boolean isDoctor = true;
public static Integer binRenNumber = 0;
public DoctorMain()
{
System.out.println("开始上班");
binRenDeque = new ArrayDequeInteger();
}
/**
* br/
* 方法概述 br/
* 方法详细概述 br/
* 版本 br/
* 作者 *
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
DoctorMain doctor=new DoctorMain();
doctor.setDoctor(true);
//上班了
doctor.setOnWork(true);
Thread th1=new Thread(doctor);
DoctorMain binRen=new DoctorMain();
binRen.setDoctor(false);
binRen.setOnWork(true);
Thread th2=new Thread(binRen);
th1.start();
th2.start();
try
{
Thread.sleep(60000);
doctor.setOnWork(false);
binRen.setOnWork(false);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run()
{
while (onWork)
{
try
{
//是医生还是病人
if (isDoctor)
{
// 医生给病人看病时间
Thread.sleep(2000);
if (!binRenDeque.isEmpty())
{
Integer number = binRenDeque.pollLast();
System.out.println("医生正在给" + number + "号病人看病");
}
}
else
{
//病人来的间隔时间
Thread.sleep((int)(Math.random()*3000));
binRenNumber++;
System.out.println("来了一个病人,号码是:"+binRenNumber);
binRenDeque.push(binRenNumber);
}
//列出所有等待的病人
for(Integer bn:binRenDeque)
{
System.out.println(bn+"号的病人在排队");
}
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("医生下班了");
}
public static DequeInteger getBinRenStack()
{
return binRenDeque;
}
public static void setBinRenStack(DequeInteger binRenStack)
{
DoctorMain.binRenDeque = binRenStack;
}
public boolean isOnWork()
{
return onWork;
}
public void setOnWork(boolean onWork)
{
this.onWork = onWork;
}
public boolean isDoctor()
{
return isDoctor;
}
public void setDoctor(boolean isDoctor)
{
this.isDoctor = isDoctor;
}
public static Integer getBinRenNumber()
{
return binRenNumber;
}
public static void setBinRenNumber(Integer binRenNumber)
{
DoctorMain.binRenNumber = binRenNumber;
}
}
你好,我按照你的要求写的代码如下,可以直接运行,而且给足了注释
//医院类
public class Hospital {
public static int SEQUENCE = 1001;// 挂号编号从1001开始
public static String[] states = new String[] { "感冒", "发烧", "待手术", "其它" };// 多种病情
public static String[] drugs = new String[] { "感冒药", "退烧药", "止疼药", "其它药" };// 多种药品
public static double[] fees = new double[] { 10.0, 50.0, 100.0, 500.0 };// 多种费用
public static void main(String[] args) {
Patient patient = new Patient("天佑");// 来了一位病人
patient.guaHao();// 挂号
patient.kanBin();// 看病
patient.jiaoFei();// 交费
patient.laYao();// 拿药
}
// 获得挂号的编号
public static int getNextSequence() {
return SEQUENCE++;
}
// 看病后获得病情编号
public static int getState() {
return (int) (Math.random() * 4);
}
// 获得病情的名称
public static String getState(int s) {
return states[s];
}
// 根据病情获得要交费用
public static double getCost(int s) {
return fees[s];
}
// 根据病情拿药
public static String getDrug(int s) {
return drugs[s];
}
}
// 病人类
class Patient {
String name;// 姓名
int no;// 挂号获得的编号
int state;// 看病获得的病情编号
public Patient(String name) {
this.name = name;
System.out.println("来了一位病人,名称是:" + name);
}
// 挂号
public void guaHao() {
this.no = Hospital.getNextSequence();
System.out.println("现在正在挂号,获得编号:" + no);
}
// 看病
public void kanBin() {
this.state = Hospital.getState();
System.out.println("现在正在看病,病情为:" + Hospital.getState(state));
}
// 交费
public void jiaoFei() {
System.out.println("现在正在交费,费用总额:" + Hospital.getCost(state));
}
// 拿药
public void laYao() {
System.out.println("现在正在拿药,药品为:" + Hospital.getDrug(state));
}
}
运行结果:
来了一位病人,名称是:天佑
现在正在挂号,获得编号:1001
现在正在看病,病情为:发烧
现在正在交费,费用总额:50.0
现在正在拿药,药品为:退烧药