文章目录
前言
👇🏻 精彩专栏 推荐订阅👇🏻(源码+lw+部署文档+讲解等)
2024-2025年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐✅
2024-2025年最值得选的Java毕业设计选题大全:500个热门选题推荐✅
🌟文末获取源码+数据库🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
具体实现截图
目 录
1 绪论 1
1.1 课题背景 1
1.2 课题研究的现状 1
1.3 课题研究的意义 2
2 需求分析 3
2.1 需求描述 3
2.2 需求功能描述 3
2.3 用例模型 3
2.3.1 业务用例模型 3
2.3.2 系统用例模型 4
2.4 动态模型 11
2.4.1 项目泳道图 11
2.4.2 业务泳道图 11
2.5 静态类模型 15
2.5.1 分析类图 15
2.5.2 实体类图 19
3 子系统设计 22
3.1 软件体系结构设计 22
3.2 软件功能总体设计 23
3.3 软件功能详细设计 23
3.3.1 登录管理功能 23
3.3.2 系统管理功能 26
3.3.3 预约管理功能 28
3.3.4 健康指南管理功能 30
3.3.5 宠物医院诊疗功能 31
3.4 数据库设计 34
3.4.1 系统概念模型 34
3.4.2 数据表设计 34
4 子系统实现 38
4.1 预约管理功能实现 38
4.2 用户管理功能实现 43
4.3 宠物医院诊疗功能实现 48
4.4 医院管理功能实现 53
1 绪论
1.1 课题背景
在信息技术高速发展的今天,新知识、新技术层出不穷,计算机技术早已广泛的应用于各行各业之中,利用计算机的强大数据处理能力和辅助决策能力叫,实现行业管理的规范化、标准化、效率化。
管理信息系统(Management Information System,简称MIS〉是一个以人为主导,利用计算机软硬件技术以及网络通信技术,实现对信息的收集、传输、储存、更新。
目前,管理信息系统广泛采用WEB技术作为开发的主要技术。在经过多年的技术积累与更新,WEB技术已经从一种简单的信息浏览和信息交互平台发展为复杂的企业级应用。
目前宠物宠物医院一直以来都是使用传统的人工方式管理各种文件档案,对宠物诊疗等重要信息进行人工手写记录,工作效率低,且时间一长,将产生大量文件,这对于文件的查找、信息查询造成很多困难,存在着许多缺点。随着社区越来越多的家庭开始饲养宠物,宠物医院诊疗方法落后的问题越来越明显,管理上面临的问题越来越突出。
为了能够方便宠物医院的管理,一套完善的管理机制是必不可少的,也是宠物医院提供良好服务质量的一个前提,而应用信息技术的现代化宠物医院诊疗系统已成为宠物宠物医院运营必不可少的基础设施与技术支撑。
宠物医院诊疗系统的应用,不仅可以实现将宠物宠物医院工作中的挂号业务、诊疗业务、收费业务、宠物住院业务、宠物美容业务等有机的结合起来;还可以通过建立宠物档案,帮助医生更好更及时的了解宠物病情,制定宠物治疗计划,满足宠物主人的治疗需求,同时宠物档案的建立也有利于宠物的防疫工作。除此之外,管理系统对用户权限划分,帮助宠物医院规范化工作流程,提高工作效率,全面提高宠物宠物医院的管理水平。
因此如何利用计算机技术实现宠物宠物医院信息化管理*是一个值得研究的问题。基于这个背景,本组决定开发一套适合宠物宠物医院的信息管理系统。
1.2 课题研究的现状
随着经济的发展,人们生活水平不断地进步和提高,越来越多的家庭开始饲养宠物,与此同时,宠物的卫生、防疫、诊疗也得到了人们越来越多的关注,由此派生出的宠物宠物医院在发展上也越来越迅猛l5。
宠物宠物医院在欧美发达国家作为产业早已经形成了国民经济的一部分,由于欧美发达国家的信息化程度高,信息技术、各种研究成果较早的应用于各行各业,宠物宠物医院在管理上早已实现了信息化建设。
当前,信息化已成为全球发展的主题,世界各国对信息的需求快速增长,信息产品和信息服务广泛的应用于各个国家、地区、企业、单位、家庭、个人。
早在20世纪8O年代,发达国家就已经开始信息化建设的工作。目前,欧美发达国家早已为宠物建立了宠物电子档案,这对于宠物的防疫、卫生、安全等起到了重要的管理作用,同时各种新技术不断应用于宠物宠物医院的日常管理工作中,宠物宠物医院在管理上早己实现了规范化、标准化。
相对于欧美发达国家,我国信息化建设从20世纪90年代初开始,信息化程度还处于较低水平,且发展很不平衡,大部分宠物宠物医院的信息化建设还处于以划价收费为中心的信息管理系统,缺少其他业务的信息化管理,造成很多工作还停留在人工操作上,这
就对当前宠物宠物医院的信息化管理造成了很多问题。
随着我国信息技术在宠物宠物医院行业应用程度的不断提高,东南沿海较发达城市已经实现了宠物医院诊疗的信息化,但是并没有完全普遍,大部分欠发达地区,尤其是小型的社区宠物宠物医院,还是处于传统的管理方式。
虽然目前仍与欧美发达国家存在较大差距,但“十二五”规划,我国提出了信息化建设的“3521工程”,我国宠物宠物医院的信息化建设迎来了发展的好时机。
宠物宠物医院信息化建设的不断进行对宠物医疗卫生行业的发展具有重要的意义,既能提高宠物医院的服务质量,又能方便宠物医院的管理,更为重要的是对于保障宠物防疫、·卫生、安全具有重要意义。
1.3 课题研究的意义
该宠物医院诊疗系统可以满足宠物宠物医院在信息管理方面的需要,提高宠物医院诊疗的效率,达到信息管理科学化和规范化的目标。
宠物医院诊疗系统主要研究的范围是:
1、根据宠物医院诊疗工作的流程,对用户的功能以及权限进行合理的划分,规范
化工作流程。
2.系统在设计时,需要考虑系统的可扩展性和可维护性,满足以后对系统的升级
3.本课题的研究成果能够较好地解决宠物宠物医院的管理难题,同时该系统整合了挂号、收费、诊疗、医生绩效考察等功能,既可以帮助宠物医院更好的管理,也可以帮助医生更好的为宠物诊疗。除此之外,该系统对加强城市宠物的管理,确保对宠物审查、监管、防疫检疫等措施的实施,起到很好的辅助作用,保障社区居民安全和公共卫生,促进社区生活和谐。
2 需求分析
2.1 需求描述
项目的使用者可以避免排队挂号,比较方便,也方便于宠物医院的管理。现在的宠物本系统根据华阳社区医院诊疗工作流程将系统使用者划分为三类,分别为、宠物医生、宠物主人以及系统管理人员,以下是对该三类类用户的具体功能需求分析。
2.2 需求功能描述
1.身份管理
宠物医生登录
宠物主人登录
系统管理员登录
2.系统管理
用户管理
页面管理
角色管理
3.宠物医院诊疗
宠物列表
宠物状态
宠物健康史
4.预约管理
预约列表
预约状态
医生时间
5.日常健康
健康指南
健康标准
宠物日志
2.3 用例模型
2.3.1 业务用例模型
医院诊疗系统主要包括以下几个用例:登录、系统管理、宠物医院诊疗、预约管理、日常健康。
登录:不同身份的角色可以登录不同的界面,得到所对应的需求。
系统管理:可以根据自己的需求进行页面管理,并对不同的用户进行权限的管理。
宠物医院诊疗:管理员可以从中看到宠物的状态,健康史等等。
预约管理:当业务繁忙的时候,用户可以发起预约。
日常健康:医生可以从中看到健康只能,标准与宠物每天的情况。
具体业务用例模型如图2-1所示。
图2-1系统用例模型
(1)参与者
用户:可以看到宠物的状况,预约的安排,每天的日常安排。
医生:具体的工作安排。
系统管理员:拥有所有的权限。
(2)业务用例
登录:不同身份的角色可以登录不同的界面,得到所对应的需求。
系统管理:可以根据自己的需求进行页面管理,并对不同的用户进行权限的管理。
宠物医院诊疗:管理员可以从中看到宠物的状态,健康史等等。
预约管理:当业务繁忙的时候,用户可以发起预约。
日常健康:医生可以从中看到健康只能,标准与宠物每天的情况。
2.3.2 系统用例模型
(1)登录业务的系统用例模型
登录业务的用例规约见表2-1
表2-1 登录业务用例规约
标题 内容
用例名称 用户登录
用例描述 用户想要更多权限必须登录
执行者 用户
前置条件 用户具有操作条件
后置条件
正常流 1.用户登录
1.1 用户输入账号
1.2 用户输入密码
1.1
替代流以及异常处理 1.密码不正确时用户无法登录
业务规则 全局规则
Rule00001:用户登录后操作软件
涉及实体 用户
功能介绍
用于查询宠物店医院指南情况,可以管理员进行编辑和查询、增加。
(1)控制层编码实现
package com.phms.controller.user;
import com.phms.pojo.Notice;
import com.phms.service.NoticeService;
import com.phms.utils.MyUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import java.util.Date;
/**
* 健康指南
*/
@Controller("UserNoticeController")
@RequestMapping("/user/notice")
public class UserNoticeController {
@Autowired
private NoticeService noticeService;
private final Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 查看详情页面/user/xqWord.html
*/
@RequestMapping("/xq")
public String xq(Long id, Model model) {
noticeService.view(id);
Notice word = noticeService.getById(id);
System.out.println(word.getContent());
model.addAttribute("c", word.getContent());
model.addAttribute("title", word.getTitle());
model.addAttribute("view", word.getViewCount());
model.addAttribute("time", MyUtils.getDate2String(word.getCreateTime()));
return "/user/xqWord";
}
/**
* 普通用户查看列表/user/wordList.html
*/
@RequestMapping("/list")
public String list() {
return "/user/wordList";
}
/**
* 医生查看列表/user/wordListDoctor.html
*/
@RequestMapping("/listDoctor")
public String listDoctor() {
return "/user/wordListDoctor";
}
/**
* 医生发布指南页面/user/word.html
*/
@RequestMapping("/publish")
public String publish() {
return "/user/word";
}
/**
* 添加到数据库
*/
@ResponseBody
@RequestMapping("/addWord")
public String addWord(Notice notice) {
try {
notice.setCreateTime(new Date());
notice.setViewCount(0L);
noticeService.add(notice);
return "SUCCESS";
} catch (Exception e) {
e.printStackTrace();
return "ERR";
}
}
/**
* 获取所有指南数据
*/
@RequestMapping("/getAllWordByLimit")
@ResponseBody
public Object getAllWordByLimit(Notice word) {
return noticeService.getAllByLimit(word);
}
/**
* 删除指南
*/
@ResponseBody
@RequestMapping("/delWord")
public String delWord(String[] ids) {
try {
for (String id : ids){
noticeService.deleteById(Long.parseLong(id));
}
return "SUCCESS";
} catch (Exception e) {
e.printStackTrace();
return "ERR";
}
}
}
(2)Service层编码实现
package com.phms.service;
import com.phms.pojo.Notice;
public interface NoticeService {
void update(Notice notice);
void add(Notice notice);
void deleteById(Long id);
Object getAllByLimit(Notice notice);
Notice getById(Long id);
void view(Long id);
}
(3)Mapper层编码实现
package com.phms.mapper;
import com.phms.pojo.Notice;
import com.phms.pojo.NoticeExample;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface NoticeMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
long countByExample(NoticeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int deleteByExample(NoticeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int insert(Notice record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int insertSelective(Notice record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
List<Notice> selectByExample(NoticeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
Notice selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int updateByExampleSelective(@Param("record") Notice record, @Param("example") NoticeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int updateByExample(@Param("record") Notice record, @Param("example") NoticeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int updateByPrimaryKeySelective(Notice record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table notice
*
* @mbg.generated Mon Apr 06 17:03:33 CST 2020
*/
int updateByPrimaryKey(Notice record);
List<Notice> getAllByLimit(Notice po);
int countAllByLimit(Notice po);
}
详细视频演示
请联系我获取更详细的演示视频
代码参考
源码获取
文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦
精彩专栏推荐订阅:在下方专栏👇🏻
Java精品实战案例《500套》
微信小程序项目精品案例《500套》