目录

DIMS 1

任务分工 1

数据库设计 2

需求分析 2

概念结构设计 12

逻辑结构设计 13

物理结构设计 14

数据库实施 15

数据库运行和维护 15

应用系统设计 15

详细设计阶段 15

环境准备 18

创建一个新的 Dynamic Web 项目 19

集成 Spring 和 SpingMVC 20

配置 web.xml 23

集成 Spring 和 MyBatis 25

配置 log4j 28

集成基于 Bootstrap 前端框架的 ACE 管理系统页面模板 29

导入 Apache Taglibs 的 jar 包 29

测试与验收 29

界面测试 29

功能测试 30

性能测试 30

需求测试 30

遇到的问题 30

DIMS

数据库系统原理课程设计,DIMS,Drug Inventory Management System,基于 SSM 框架的医院药品库存管理系统。

任务分工

需求分析:

概念结构设计:

逻辑结构设计:

物理结构设计:

数据库实施:

数据库运行和维护:

应用系统设计:

测试与验收:

编写文档:

编写答辩 PPT:

数据库设计

在数据库设计过程中,需求分析和概念结构设计可以独立于任何数据库管理系统进行,逻辑结构设计和物理结构设计与选用的数据库管理系统密切相关。

需求分析

需求分析必须准确了解与分析用户需求 (包括数据与处理)。

设计描述:数字字典、全系统中数据项、数据结构、数据流、数据存储的描述。

任务:通过详细调查现实世界要处理的对象 (组织、部门、企业等),充分了解原系统 (手工系统或计算机系统) 的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。调查的重点是 “数据” 和 “处理”,通过调查、收集与分析,获得用户对数据库的如下要求:

信息要求:指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。

处理要求:指用户要完成的数据处理功能,对处理性能的要求。

安全性与完整性要求

业务用例图:

医院药品存销管理系统Java_医院药品管理

package com.dims.web.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.dims.domain.Admin;
import com.dims.domain.Doctor;
import com.dims.domain.Nurse;
import com.dims.domain.User;
import com.dims.service.IAdminService;
import com.dims.service.IDoctorService;
import com.dims.service.INurseService;

@Controller
@RequestMapping(value = "/")
public class UserController {
	@Autowired
	private IAdminService adminService;

	@Autowired
	private IDoctorService doctorService;

	@Autowired
	private INurseService nurseService;

	@RequestMapping(value = "index")
	public String index() {
		// 重定向到 WEB-INF/views/login.jsp
		return "redirect:/login";
	}

	@RequestMapping(value = "login")
	public String login(HttpServletRequest req) {
		req.getSession().removeAttribute("echo");

		// 请求映射到 WEB-INF/views/login.jsp
		return "/login";
	}

	@RequestMapping(value = "submitLogin")
	public String submitLogin(HttpServletRequest req, User user) {
		String echo;

		switch (user.getRole()) {
		case ADMIN:
			Admin currentAdmin = adminService.login(user);
			if (currentAdmin != null) { // 登录成功
				req.getSession().setAttribute("currentAdmin", currentAdmin);

				// 重定向到 WEB-INF/views/admin/index.jsp
				return "redirect:/admin/index";
			} else {
				echo = "登陆失败!";
				req.getSession().setAttribute("echo", echo);

				// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
				return "/login"; // 不要用重定向,重定向会执行 login 方法
			}
		case DOCTOR:
			Doctor currentDoctor = doctorService.login(user);
			if (currentDoctor != null) { // 登录成功
				req.getSession().setAttribute("currentDoctor", currentDoctor);

				// 重定向到 WEB-INF/views/doctor/index.jsp
				return "redirect:/doctor/index";
			} else {
				echo = "登陆失败!";
				req.getSession().setAttribute("echo", echo);

				// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
				return "/login"; // 不要用重定向,重定向会执行 login 方法
			}
		case NURSE:
			Nurse currentNurse = nurseService.login(user);
			if (currentNurse != null) { // 登录成功
				req.getSession().setAttribute("currentNurse", currentNurse);

				// 重定向到 WEB-INF/views/nurse/index.jsp
				return "redirect:/nurse/index";
			} else {
				echo = "登陆失败!";
				req.getSession().setAttribute("echo", echo);

				// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
				return "/login"; // 不要用重定向,重定向会执行 login 方法
			}
		default:
			echo = "登陆失败!";
			req.getSession().setAttribute("echo", echo);

			// 请求映射到 WEB-INF/views/login.jsp,留在登录页面
			return "/login"; // 不要用重定向,重定向会执行 login 方法
		}
	}

	@RequestMapping(value = "logout")
	public String logout(HttpServletRequest req) {
		req.getSession().invalidate();

		// 重定向到 WEB-INF/views/login.jsp
		return "redirect:/login";
	}

	@RequestMapping(value = "admin")
	public String admin() {
		// 重定向到 WEB-INF/views/admin/index.jsp
		return "redirect:/admin/index";
	}

	@RequestMapping(value = "doctor")
	public String doctor() {
		// 重定向到 WEB-INF/views/doctor/index.jsp
		return "redirect:/doctor/index";
	}

	@RequestMapping(value = "nurse")
	public String nurse() {
		// 重定向到 WEB-INF/views/nurse/index.jsp
		return "redirect:/nurse/index";
	}
}

医院药品存销管理系统Java_医院药品存销管理系统Java_02


医院药品存销管理系统Java_药品库存管理_03


医院药品存销管理系统Java_医院药品存销管理系统Java_04


医院药品存销管理系统Java_SSm_05


医院药品存销管理系统Java_医院药品管理_06


医院药品存销管理系统Java_java_07


医院药品存销管理系统Java_java_08


医院药品存销管理系统Java_医院药品存销管理系统Java_09


医院药品存销管理系统Java_医院药品管理_10


医院药品存销管理系统Java_药品库存管理_11


医院药品存销管理系统Java_医院药品管理_12


医院药品存销管理系统Java_SSm_13


医院药品存销管理系统Java_SSm_14