软件工程课设教务管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教务管理系统
一、概述
1、选题的背景和意义
现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。

如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。

教务管理系统是一个庞大而复杂的系统,它包括对教师信息的管理、对课程资料的管理、对学生信息的管理等主要功能。

教务管理系统是每所高校的一项必不可少的内容,但最基本的还是教务管理系统数据库的设计,它的好坏直接影响到学校的主要工作。

因此,本数据库设计的总体目标就是在教学管理中更方便的实现对信息系统化、自动化的管理,减少工作繁琐度,增加效率、方便性。

二、需求分析
1、系统概述:
该教学系统主要提供数据维护、学生选课和教师授课信息查询功能。

其实现的功能有:系统中对教师、学生基本信息的录入;系统中对教师、学生的基本信息的查询;查询学生的选课情况;查询教师的授课情况;还包括学生选课功能。

该数据库系统包括学生密码表、学生信息表、教师密码表、学生选课表、课程匹配表、管理员密码表七个关系表,基本情况如下:三张密码表均有相应账号和密码;教师信息表有工作证号、姓名、性别、族别、政治面貌、出生年月、联系方式、所在系、所在学院、职称;学生表有学号、姓名、性别、族别、政治面貌、出生年月、联系方式、班号、所在系、所在学院;课程有课程名、学分、名额、上课时间信息;授课表有课程号、工作证号信息;学生选课表有课程名称、课程号、授课老师、授课时间、授课地点、授课地点、剩余容量、工作证号、成绩、课程匹配表则有课程号、学号、学生姓名、班号、所在专业、所在学院、成绩。

每个学生都属于一个班,每个教师也都属于一个系。

一名教师可以教多门课,一门课可以有几位主讲老师,一名同学可以选多门课。

学生、教师都可以有重名,工作证号、学号可以作为标识。

2、系统中的实体:
(1)教师:工作证号、姓名、性别、职称、电话等;
(2)学生:学号、姓名、性别、出生年月、职位、电话等;
(3)班级:班号、最低总学分、人数等;
(4)系:系代号、系名、系办公室电话等;
(5)课程:课序号、课名、学分、上课时间、名额等。

3、实体间关系:
(1)每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系;(2)每个班的班主任都由一名教师担任;
(3)一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课程号是唯一的);
(4)一名同学可以选多门课,一门课可被若干同学选中;
(5)一名同学选中的课若已学完,应该记录有相应成绩;
(6)本单位学生、教师都可以有重名,工作证号、学号可以作为标识。

4、系统的需求:
(1)教学系统主要提供数据维护、选课和信息查询;
(2)系统中各对象的基本信息录入与查询;
(3)指定班、系的学生信息查询;
(4)学生的成绩、学分情况查询;
(5)教师授课情况和学生选课情况查询。

5、系统的组成:
教务管理系统包括教师管理子系统、学生管理子系统、管理员管理子系统。

其中各个系统中拥有独自的一套查询、添加、删除、更新操作。

系统管理员进行数据维护的操作。

6、用例图:
(1)教务处管理员:
(2)学生:
(3)教师:
7、类图
(1)总体设计类图:
(2)界面类图:
(3)跳转关系类图:1
三、设计
1、顺序图分析
顺序图用于描述系统每个行为的对象类和这些对象类之间所传递的消息的时间顺序。

教务管理系统包括新生入学顺序图、学生信息查询顺序图、学生毕业顺序图。

(1)新生入学顺序图
(2)学生信息查询顺序图
(3)学生毕业顺序图
(4)学生选课顺序图
(5)选课查询顺序图
(6)选择课程顺序图
2、状态图分析
(1)学生生命周期状态图
(2)教师生命周期状态图
(3)教务员生命周期状态图
(4)用户登录状态图
(5)学生成绩管理生命周期状态图
(6)教师成绩管理生命周期状态图
(7)教务员管理模块生命周期状态图
四、实现
1、登录界面
3、教师管理界面
5、授课管理界面
6、教师操作页面
7、学生操作界面
五、个人小结
数据库课程设计是我上大学以来的最痛苦的一个课程设计。

在本学期平时的学习中,我觉得数据库相较于C++程序编写与有关运用数据结构的程序编写来说,
相对容易简单。

本以为这次的课程设计也不过很简单就能完成。

可是万万没想到,真的从设计到开发出一个数据库系统远比编程可怕多了。

首先,数据库的需求设计简直是让我们这种之前没有过设计经验的人摸不到头脑,不知从何下手。

也可能由于这学期在学习数据库时没有让我们想着设计一个大型的需要注意细节的数据库,所以感觉概念都很模糊。

在三个题目:教务、书店、病房中,我选择了看起来好像参与者比较少,比较简单的教务管理系统。

但是着手设计起来真的是很难。

一开始遇到很大挫折,在尝试了两天的C++后,我觉得很难,于是,开始自学C#,相比C++,C#相对简单一点,去图书馆翻遍了《C#编程宝典》之类的书后,在室友引导下开始设计。

一开始觉得自己设计的数据库没问题,觉得不难,但是越往后做发现很多数据再传递的时候走不到共享,一方面是自己编程能力不够,对于有些知识掌握太少,在显示值、单元格传值的时候很难,后来决定改变设计,从改变SQL的表格入手,删除了不必要的表,尽量用少的表完成,这样一来对窗体设计要求更高,还有就是对SQL高级查询语句的要求更高。

有一些问题在最后几天难住我了,最后和学长,室友,以及大量去论坛求助,百度找方法,看博客加上自己摸索,一个一个解决了,受益匪浅。

总的来说,在数据库建表的过程中,一开始没有按照数据库规范建表,导致后边产生一系列问题,又重新建立数据库,做了很多无用功,这才意识到按步骤规范建立数据库的重要性。

总之,通过本次课程设计反映出了很多在理论课上看不到的问题,收获也很多,在提高了实践水平的同时也锻炼了自己的自学能力。

相关文档
最新文档