高校签到管理软件设计软件综合课程设计.docx
《高校签到管理软件设计软件综合课程设计.docx》由会员分享,可在线阅读,更多相关《高校签到管理软件设计软件综合课程设计.docx(16页珍藏版)》请在冰点文库上搜索。
高校签到管理软件设计软件综合课程设计
沈阳航空航天大学
课程设计报告
课程设计名称:
软件综合课程设计
课程设计题目:
高校签到管理软件设计
院(系):
计算机学院
专业:
计算机科学与技术
班级:
学号:
姓名:
指导教师:
完成日期:
2017年1月10日
目录
第1章需求分析1
1.1题目的内容与要求1
1.2题目分析1
第2章概要设计2
2.1数据库概念模型的设计2
2.2总体结构2
第3章详细设计4
3.1显示模块4
3.2教师签到查询管理模块4
3.3学生签到管理模块5
3.4教师课程录入模块6
3.5学生教师信息注册模块6
第4章调试分析7
第5章使用说明与执行结果8
5.1数据库与网站的连接问题8
5.2运行操作及结果8
参考文献15
第1章需求分析
1.1题目的内容与要求
根据任务书要求,需要简单实现医院信息管理系统中的教师签到查询、学生签到、教师课程录入和学生教师信息注册,实现用户界面友好。
实现用户管理,包括用户信息增删改和用户权限管理功能;签到记录,接收来自签到机的签到数据,并存放在数据库中;签到查询,根据用户类型,学生能够查询本人签到数据,教师能够查询所授学科的签到情况;签到数据批量导出,教师/管理员用户能够批量导出学生签到数据至Excel等软件,方便成绩统计。
1.2题目分析
根据课设题目可知,本系统的实现需采用数据库与网页相连接,界面可采用html语言显示并提示数据的录入、查询等操作,静态查看基本管理信息,动态实现对数据库的查询浏览,更改添加。
数据库要实现动态连接,查询数据信息。
要求表的设计合理,界面美观实用。
从结构看,应该可以分成如下几个功能模块,每个功能模块的大概功能:
教师签到查询可通过输入查询要求:
课程的日期,上课时间,课程编号来查出签到人数,并作出签到记录,进行课程考勤;学生签到中要实现指纹录入,并从数据库中调取学生信息,进行比对,实现签到记录;教师课程录入中要实现对课程基本信息的内容,并存入到数据库中;学生教师信息注册需要学生和老师在学期初进行信息录入,存储必要信息。
该系统将采用python语言及diango框架编写。
第2章概要设计
2.1数据库概念模型的设计
根据签到系统管理程序的要求,概念模型一共有两个实体,分别为学生实体、教师实体。
其中,学生实体包括学号、签到号、姓名、主修课四个属性,学号是学生实体的主键;教师实体包括教师编号、姓名、教授课程三个属性,教师编号是教师实体的主键。
图2.1签到管理系统E-R图
2.2总体结构
本程序主要分为五个模块(功能模块图见图2.2):
显示模块,教师签到查询模块、学生签到模块、教师课程录入模块和学生教师信息注册模块。
显示模块:
显示每个模块下的网页界面显示内容及跳转操作;教师签到查询模块:
在登陆教师管理员界面,选择查询课程及上课时间,可得到一张学生签到表;学生签到模块:
通过录入指纹,向数据库中录入学生信息;教师课程录入模块:
教师可通过教师教课表向数据库中录入课程信息,提供签到准备;学生教师信息注册模块:
教师和学生对个人信息进行录入可供查询。
图2.2签到管理系统功能模块图
第3章详细设计
3.1显示模块
实现整个程序的界面显示,界面跳转操作,通过html语言显示整个系统以及功能项目的简单界面。
通过表单、文本框等实现数据录入;通过列表来实现数据查询并显示;通过设置网址实现页面跳转。
图3.1显示功能模块图
3.2教师签到查询管理模块
教师签到查询模块:
教师签到查询管理分为前期教师课程情况录入,并设置查询要求,可通过要求从数据库中调取学生签到数据,判断学生该课程考勤是否合格,并作出考勤记录。
图3.2教师签到查询流程图
教师实体包括教师编号、姓名、教授课程三个属性,教师编号是教师实体的主键。
教师表如下所示:
表3.1教师实体表
3.3学生签到管理模块
学生签到管理模块:
学生签到需要通过指纹录入调取数据库信息,并将签到信息(时间、姓名、学号等)存入数据库。
学生实体包括学号、签到号、姓名、主修课四个属性,学号是学生实体的主键。
教师可教授多个学生,学生可以被多个教师教授,属于多对多的关系。
表3.2学生实体表
3.4教师课程录入模块
教师课程录入模块:
教师课程录入需要输入课程号、课程开始时间、课程结束时间等信息,并同步到数据库中,方便查询,并显示在列表。
3.5学生教师信息注册模块
学生教师信息注册模块:
教师拥有管理员账号,可在管理员权限下,可进行课程录入,并查看所有学生签到信息;学生可注册自己账号,并查询自己签到情况,并同步到数据库中,并显示在列表。
第4章调试分析
问题描述:
(1)在改完表门诊管理的输出方式(包括改了数据库类型),页面不发生跳转解决方法:
重新更新一次数据库
(2)下拉菜单输出没有默认值,只有下拉框解决方法:
在表单类中添加deflaut
(3)页面跳转后提示违反非空约束解决方法:
将数据的初值允许不填
(4)命令行下提示不分配地址Outpatient/xxxx/解决方法:
核查控制该url的正则表达式
(5)页面跳转后提示dayprice为空值,违反非空约束解决方法:
将classMeta:
model=Hospitalizefields="__all__"删除
(6)住院登记的跳转问题解决方法:
移除住院登记表单对住院类的依赖,设置可空
(7)命令行提示找不到**表单解决方法:
在views.py下添加from**.formsimport**_AddForm
(8)有些页面无法跳转可能是跳转html写错解决方法:
如returnrender(request,'XXXX.html',locals())
(9)在更改了数据库后,一定要重新同步数据库解决方法:
记得删掉migrations文件夹下的0001_initial.py文件
(10)在最初配置虚拟环境时,执行activate.bat后进不去hospital文件解决方法:
要记得退出,执行cd..,再进hospital
第5章使用说明与执行结果
5.1数据库与网站的连接问题
利用python语言与django框架,在models.py下写好数据库属性后,在通过在命令行下敲入pythonmanage.pymakemigrations和pythonmanage.pymigrate创建数据库,并通过pythonmanage.pyrunserver运行网页,可实现数据库与网站的连接。
5.2运行操作及结果
点击药品录入:
点击药价查询:
点击药价修改:
点击药价统计:
点击临界查询:
点击挂号:
点击住院登记:
点击消费录入:
点击医疗费用查询:
参考文献
[1]数据库系统概论(第四版)王珊萨师煊北京:
高等教育出版社,2006
[2]HeadFirstPython(中文版)PaulBarry中国电力出版社,2012
[3]Python编程指南AlexBradbury机械工业出版社,2013
[4]数据库系统概念(第三版)Silberschatz机械工业出版社,2009
[5]简明Python教程Swaroop机械工业出版社,2010
课程设计总结:
首先感谢老师给予我自己选择题目的机会,本次课设,我选择的题目是高校学生考勤系统,这个系统往简单了说不复杂,但是如果想做好,在数据库、查询优化方面要下很多功夫,本身对python有一些基础,同时没学过JAVA,所以不得不选择Django框架来完成,确定开发工具后就上网找了一些视频并结合django官方文档逐渐垒代码,一开始很慢,可能一周写一个模块,但是随着熟练度的增加和对题目理解的深入,开发速度逐渐提了上来。
实验过程中最让我困扰的是数据约束和权限的约束,作为一个考勤系统,涉及到学生、教师、管理员三种身份,不同的身份有不同的权限,也对应着不同的页面。
在开发的过程中,时常出现页面乱跳转,不跳转等问题,虽然造成这个情况的原因有很多,但在不断总结中积累了一些经验,知道了一些比较常见的不跳转的原因,也渐渐掌握了一些限制语句的写法。
我在反复思考的过程中,提高了独立设计思维的灵敏度,增强了找出及解决问题的方法和能力。
通过这次课程设计,锻炼了我的动脑能力,使我理论联系实际,使所学的知识不再枯燥无味,并通过运用课本知识来设计自己的签到系统,激发了我对软件应用开发的兴趣。
指导教师评语:
指导教师(签字):
年月日
课程设计成绩