当前位置:   article > 正文

【信息系统分析与设计】高校考务管理系统_uml教务管理系统总结说明

uml教务管理系统总结说明

《信息系统分析与设计》
结课报告         
题 目 高校考务管理系统
目录
一、目的 3
二、内容 3
2.1 UML工具简介 3
2.2结构化分析与设计 3
2.2.1结构化系统分析 3
2.2.1.1业务流程分析 3
2.2.1.2数据流程分析 4
2.2.1.3数据字典 5
2.2.1.4处理逻辑说明 7
2.2.1.5实体关系分析 7
2.2.2结构化系统设计 7
2.2.2.1系统功能结构设计 7
2.2.2.2代码设计 8
2.2.2.3数据库设计 19
2.2.2.4数据表关系设计 22
2.2.2.5各功能模块设计 22
三.面向对象分析与设计 23
3.1用例模型 23
3.2静态建模 25
3.3动态建模 27
四. 系统实现 29
五. 总结 30
一、目的
《信息系统分析与设计》结课报告对于巩固本课程基本知识,加强学生的实际动手能力和提高学生综合素质十分必要。通过本结课报告,使学生了解信息系统分析与设计的理论,掌握信息系统分析与设计的方法,提高分析问题和解决问题的能力。
摘要:UML是当前面向对象分析和设计过程中使用的一种建模语言,是重要的图形化建模工具。UML能让系统开发者用标准的、易于理解的方式表达出对系统正确、完整的认识,并有利于在开发团队中进行有效地沟通和共享。本文以高校教材管理系统的开发为背景,使用UML进行高校教材管理系统的建模,进行软件开发,以缩短项目开发周期,降低了代码数量,提高了系统的可维护性,以摆脱传统的手工管理模式,从而便于管理决策人员迅速掌握情况,加快教务管理工作的现代化进程。
在高校教学管理中,考试是其中重要的一环。随着高校学生的逐年增加,人工的考务管理方式也出现越来越多的错误和漏洞,因此考务管理的信息化已经成为教学管理中的重要工作。伴随时代信息化的高速发展,考务管理信息系统也有了很大进步,考务信息系统已经能精确做好考试课程的报名工作.考场安排工作,使考前考生与监考人员有序进入考场,考后成绩评定客观公正等。
二、内容
根据选择的题目,搜集所完成系统的相关资料;
2.1 UML工具简介
统一建模语言(UML)是非专利的第三代建模和规范语言。UML可以贯穿软件开发周期中的每一个阶段,因此被OMG采纳作为行业标准。UML最适于数据建模,业务建模,对象建模,组件建模等﹐并同时可以对任何具有静态结构和动态行为的系统进行建模。UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML,工具转化成指定的程序语言代码。IBM 的 Rational Rose和 MS 的 Visio 都是UML工具软件。
2.2结构化分析与设计
2.2.1结构化系统分析
2.2.1.1业务流程分析
一个成功的系统都必须满足所有终端用户的需求,那么考务管理系统能够也应该满足监考人员、考生和考务管理人员等的需求,为他们提供有效方便的使用方法。用例可以描述终端用户的系统行为。一般来说,用例都是由用例图和用例规约文档两部分构成用例图能够给人以直观的感受,用例规约文档将描述与这些用例图中情景密切相关的步骤与流程,用来详细描述用例图中每个用例。每一个用例都将表示系统的功能方面,它描述了操作人员如何与系统进行交互,从而执行该用例。具体来讲,用户主要分为三类:学生、教师、考务管理人员。其中学生特点是数据量庞大,不同院系的学生存在交叉性.所选科目相差较大。监考教师可以查看自己的监考时间,监考人员一般由教师组成。考务管理人员能设置排考参数,进行最终的考场编排工作,进行编排结果的发布。
2.2.1.2数据流程分析
考场安排模块
该模块主要根据任务陈述中考场安排约束条件进行考场安排。用户只需选择学院,课程及指定一个考试时间,系统便可根据选择的学院,课程,时间进行自动考场安排。具体安排步骤如下:
a)用户选择一个学院,选择一门课程,指定一个时间(如,数计学院,C#程序设计,2019-4-30上午);
b)系统根据指定的课程,查找选修了该门课程的班级,并给将数据显示予用户(可以是单个班级信息,也可能是多个班级信息);
c)用户点击安排按钮,系统根据提供的信息,开始查询符合条件的资源进行安排;
d)系统检测冲突,首先检测时间是否相同,根据时间检测结果进行下一步操作,e或者f;
e)若时间相同检测班级,根据班级检测结果进行下一步g 或h,f)若时间不同,则显示安排结果,给出成功提示;
f)若时间不同,则显示安排结果,给出成功提示;g)若班级冲突,则提示冲突原因,及操作提示;
h)若班级不冲突,检测考场是否冲突,根据检测结果进行下一步i或
j;
i)若考场冲突,则提示冲突原因,及操作提示。
j)若考场不冲突,则检测监考老师是否冲突,根据结果进行下一步k或l;
k)若监考老师冲突,则提示冲突原因,及操作提示;
l)若监考老师不冲突,则提示考场安排成功。
该过程的流程图如下:
(在word中无法复制)
2.2.1.3数据字典
数据元素条目:
名称:学号
别名:stu_ID
说明:识别学生身份
类型:字符型
长度:5位
范围:19000-99999
取之含义:前两位表示学生所在年级,后三位表明学生编号
数据元素条目:
名称:姓名
别名:stu_NAME
说明:学生姓名
类型:字符型
长度:不限
取值范围:任意

数据字典中数据流和数据项的描述
数据项名:学生编号
说明:标识每个学生身份
类型:CHAR
长度:5
别名:学号
取值范围:19000-99999
数据流名:考试申请
说明:由学生个人信息,得知考试信息
流至过程:身份验证
数据结构:学生个人信息
欲考试的课程信息
数据结构:学生个人信息
说明:说明了学生的个人情况。
组成:帐号 密码
2.2.1.4处理逻辑说明
该系统为学生、老师提高基本信息查询,成绩查询,考试查询等方面的信息资料。在此之上系统提供考场安排,座位安排,考试公告管理,学生、教师信息管理等系统管理功能,对老师,学生信息进行动态管理,考场灵活布置,免去人为安排,处理的繁琐。减轻工作强度,把考务管理工作从繁重重复的劳动中解放出来。
2.2.1.5实体关系分析
该考务管理系统主要是对高校考务信息进行管理,方便高校考场安排工作,方便学生、教师考试信息查询,减少信息管理的工作量。系统开发中要考虑的重要约束是考场安排冲突检测问题。主要有:
a)同一个班级的同学考试时,务必同坐一个教室;
b)同一个班级,不可以同时进行两门以上的考试;
c)参加同一门课程考试的所有班级必须安排在同一时间考;
d)同一个考场不能同时被占用。
2.2.2结构化系统设计
2.2.2.1系统功能结构设计
(在word中无法复制)
2.2.2.2代码设计
前端实现为JSP,后台实现为Java
登录模块:
<%@ page contentType=“text/html; charset=gb2312” language=“java”%>
<%@ taglib uri=“/WEB-INF/struts-html.tld” prefix=“html” %>

高校考务管理
 
  当前位置:→ 考生注册 >>> 返回首页 
 
考生姓名: *
密    码:(密码由6到20位的数字或字母组成) *
确认密码: *
性    别: 男 女
提示问题: (如我的生日) *
问题答案: (如7月17日)*
专    业:
身份证号: *
     
<%@ include file="copyright.jsp"%> 管理员登录模块: package com.wgh.action; import javax.servlet.http.*; import org.apache.struts.action.*; import com.wgh.actionForm.ManagerForm; import com.wgh.dao.ManagerDAO; public class Manager extends Action { private ManagerDAO managerDAO = null; public Manager() { this.managerDAO = new ManagerDAO(); } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String action = request.getParameter("action"); System.out.println("获取的查询字符串:" + action); if (action == null || "".equals(action)) { return mapping.findForward("error"); } else if ("login".equals(action)) { return managerLogin(mapping, form, request, response); } else if ("managerQuery".equals(action)) { return managerQuery(mapping, form, request, response); } else if ("managerAdd".equals(action)) { return managerAdd(mapping, form, request, response); } else if ("managerDel".equals(action)) { return managerDel(mapping, form, request, response); } else if ("queryPWD".equals(action)) { return pwdQuery(mapping, form, request, response); } else if ("modifypwd".equals(action)) { return modifypwd(mapping, form, request, response); } request.setAttribute("error", "操作失败!"); return mapping.findForward("error"); } // 管理员身份验证 public ActionForward managerLogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ManagerForm managerForm = (ManagerForm) form; int ret = managerDAO.checkManager(managerForm); System.out.print("验证结果ret的值:" + ret); if (ret == 2) { request.setAttribute("error", "您输入的管理员名称或密码错误!"); return mapping.findForward("error"); } else { HttpSession session = request.getSession(); session.setAttribute("manager", managerForm.getName()); return mapping.findForward("managerLoginok"); } } // 查询管理员信息 private ActionForward managerQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { request.setAttribute("managerQuery", managerDAO.query(0)); return mapping.findForward("managerQuery"); } // 添加管理员信息 private ActionForward managerAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ManagerForm managerForm = (ManagerForm) form; managerForm.setPwd(managerForm.getPwd()); int ret = managerDAO.insert(managerForm); System.out.println("返回值ret:" + ret); if (ret == 1) { return mapping.findForward("managerAdd"); } else if (ret == 2) { request.setAttribute("error", "该管理员信息已经添加!"); return mapping.findForward("error"); } else { request.setAttribute("error", "添加管理员信息失败!"); return mapping.findForward("error"); } } // 修改密码时查询 private ActionForward pwdQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { request.setAttribute("pwdQueryif", managerDAO.query(Integer.parseInt(request.getParameter("id")))); return mapping.findForward("pwdQueryModify"); } // 修改管理员密码 private ActionForward modifypwd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ManagerForm managerForm = (ManagerForm) form; int ret = managerDAO.updatePwd(managerForm); if (ret == 0) { request.setAttribute("error", "修改管理员密码失败!"); return mapping.findForward("error"); } else { return mapping.findForward("pwdModify"); } } // 删除管理员信息 private ActionForward managerDel(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ManagerForm managerForm = (ManagerForm) form; managerForm.setID(Integer.parseInt(request.getParameter("id"))); int ret = managerDAO.delete(managerForm); if (ret == 0) { request.setAttribute("error", "删除管理员信息失败!"); return mapping.findForward("error"); } else { return mapping.findForward("managerDel"); } } }

2.2.2.3数据库设计
本系统对数据库的依赖性非常大,原始数据和编排结果都将保存在数据库中,由此可见,设计合理的表结构将极大地提高系统的效率,提高编排的效果,减少数据冗余度。数据库设计是整个系统开发过程中的重要环节。
本系统需要保存的原始数据有:考务人员信息、教师信息、学生信息、院系年级、科目及教室等信息,需要保存的编排结果数据有:科目编排结果、监考人员编排结果绿果。系统主要数据表如下:

教务人员信息表(Mtable)
序号 名称 字段名称 数据类型 主键 非空
1 编号 Manager-id Int Yes NO
2 姓名 Manager-name Varchar NO NO
3 登录密码 Manager-password Varchar NO NO
4 权限值 Permission Char NO YES
教师信息表(Ttable)
序号 名称 字段名称 数据类型 主键 非空
1 编号 Teacher_id Int Yes NO
2 姓名 TName Varchar NO NO
3 性别 TSex Char NO Yes
4 年龄 Tage Char NO Yes
5 地址 TAddress Varchar NO Yes
6 联系方式 TTel Varchar NO Yes
7 权限值 TPermission Char NO NO
8 登录密码 TPassword Varchar NO NO
学生信息表(Stable)
序号 名称 字段名称 数据类型 主键 非空
1 编号 stu_id Int Yes NO
2 姓名 SName Varchar NO NO
3 性别 SSex Char NO Yes
4 年龄 Sage Char NO Yes
5 地址 SAddress Varchar NO Yes
6 联系方式 STel Varchar NO Yes
7 权限值 SPermission Char NO NO
8 登录密码 SPassword Varchar NO NO
班级信息表(Ctable)
序号 名称 字段名称 类型 主键 非空
1 班级编号 class_id Int Yes NO
2 班级人数 Classcount Char NO NO
3 所属系别 CollageName Varchar NO NO

考试信息表(examination)
序号 名称 字段名称 类型 主键 非空
1 编号 Exam_id Int Yes NO
2 科目名称 examname Varchar NO NO
3 考试班级 examclass Varchar NO NO
4 考场编号 CR_id Int NO NO
5 开始时间 stime Varchar NO NO
6 结束时间 Etime Varchar NO NO
7 监考人员1 Inuber1 Varchar NO NO
8 监考人员2 Inuber2 Varchar NO NO
教室信息表(CRtable)
序号 名称 字段名称 类型 主键 非空
1 教室编号 CR_id Int Yes NO
2 教室名称 CRName Varchar NO NO
3 容纳人数 CRCount Varchar NO NO
课程信息表(Coursetable)
序号 名称 字段名称 类型 主键 非空
1 课程编号 Id Int Yes NO
2 课程名称 name Varchar NO NO
2.2.2.4数据表关系设计
在设计完数据库表之后,还得设计个表之间的关系。可通过主键约束和外键约束来维持被参照表和参照表之间的数据一致性。图是通过ERwin-E具来做的,其中PK表示主键,FK表示外键。
2.2.2.5各功能模块设计
第一层客户浏览器,它是用户与整个系统的接口。客户程序采用一个通用的浏览器软件,如IE等。第二层为Web服务器。它启动相应的进程来响应客户的请求。第三层为数据库,通过ASP.NET调用数据库中数据动态生成HTML代码或XML数据库,其中嵌入处理结果,返回到客户端浏览器。

三.面向对象分析与设计
3.1用例模型
这是一个通过各角色的目的来找寻用例的过程。学生希望通过考务管理系统获得自己科目考试的各种信息,包括考试时间、地点等;监考教师需要查看自己的监考时间和提出特殊要求,并获得监考信息;考务管理人员进行具体的考场编排、调整工作。上面仅仅考虑了业务上的需求,系统对管理信息有各种权限的管理,所以必须进行用户权限管理,所以必须增加用户管理模块。
系统顶层用例图:
在这里插入图片描述

在这里插入图片描述
其他略
3.2静态建模
类图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

包图
在这里插入图片描述

构件图
急急急在这里插入图片描述

部署图
在这里插入图片描述
3.3动态建模

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

学生活动图
在这里插入图片描述

四.系统实现
大多数高校学生早已使用过微软的Windows操作平台,而考务管理系统正是基于微软Windows操作平台来开发的客户端,相信在学过计算机基础的同学们眼中,熟悉这样一个简单的系统是件非常容易的事。而且本系统友好的用户界面设计,能够引导用户很快地掌握系统的使用方法。
本系统使用Microsoft Visual Studio 2008、Microsoft sQL Server2005、Office2007等软件,结合Java 技术进行开发,都是微软的产品,软件友好、操作简单的用户界面一直得到业界开发人员的好评。所以这样的结合无疑是较为成功的解决方案。Microsoft SQL Server 2005数据库不会像ORACLE那样耗资源,在于高校这种数据量不是巨大的环境下足以应付。而Java是在程序设计中较为流行的技术,稳定性也很好,技术支持资料容易查找,所以在技术实现上应该是相对容易的。
用户个性化页面是在用户登陆后浏览网页的过程中由服务器即时生成再返回给用户浏览器的,它事先并不存在于服务器。显然单纯的HTML无法提供这种页面,必须使用具有运算功能的Web技术来实现。在比较了现今几种动态页面开发技术后,结合学校情况,我们选择了比较成熟和先进的 Tomcat+SQLServer2000+JSP技术。它提供了强大的Web Computing功能和数据库操作功能。
Windows 2000 Server是Windows 2000系列的主流商用服务器,它提供了文件与打印服务、应用程序服务、Web服务和通信服务等。它采用全新的活动目录,活动目录采用了Internet的标准技术,是一套具有扩展性的多用途目录服务技术。
数据库(Database)技术是目前计算机处理与存储数据的最有效、最成功的技术。网络数据库是指:以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存储查询等操作的系统。简单的说,一个网络数据库就是用户利用浏览器作为输入接口,输入所需要的数据,浏览器将这些数据传送给网站,而网站再对这些数据进行处理。
本系统采用SQL Server 2005数据库。Microsoft SQL Server 2005由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。SQL Server 2005集成了Internet 功能,提供了完整的XML支持。SQL Server 2005支持两种语言:运行在IIS上的Internet应用程序可以对映射架构使用X Path查询。
五.总结
考务管理系统的开发,使得高校考务管理工作逐渐从手动劳动的环境中脱离出来,方便高校考务管理的同时提高了工作效率,实现了考场的智能化安排。然而受个人技术的局限性,系统在某些方面(如画面美化设计、效率问题考虑)还有待改进。通过这个系统的开发让我学到了很多以前没有用过的知识,如一些联动效果,无刷新效果,存储过程的技术等等,同时,锻炼了自己的独立思考能力和实际操作能力。
系统整体构建设计采用B/S模式,基于JSP技术解决Web形式下的考务管理问题,实现权限控制,方便用户操作和使用。适用于管理员、教师、学生三类人员的使用。主要功能:管理员、教师、学生等信息管理功能;考场信息、考试信息管理功能,包括安排监考人员,安排考试时间,考试班级信息管理,力求避免资源冲突;教务员可以统计考试情况、教室使用情况、教师监考情况等信息功能;教师可以查询自己的监考安排等信息,学生可以查询自己的考试安排情况等。
考务管理是各大学校教学管理的重中之重,对学校的教学工作有重要的影响。其管理模式的科学化与规范化、管理手段的信息化与自动化建设将对学校的教学工作有重要的影响。
经过两个星期的努力,基于WEB的考务管理系统的设计与实现终于呈现在我们面前。通过对本题目的分析,设计出了系统的功能模块,以及各功能模块的子模块。但由于时间紧、相关的经验少,考虑的不够周全,系统还存在一些问题,所以还需要不断学习新的技术,不断地改进。
在这两个星期的时间里,我参考了大量关于系统分析和设计方面的书籍。这些书籍带给我很大的启发,也让我了解到自己无论在理论上还是将技术转化到应用方面都有很长的路要走。
总之,毕业设计不但让我在理论方面开拓了视野,而且在技术的学习能力方面也有所提高。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/996356
推荐阅读
相关标签
  

闽ICP备14008679号