数据库课程设计-学生选课系统.doc_第1页
数据库课程设计-学生选课系统.doc_第2页
数据库课程设计-学生选课系统.doc_第3页
数据库课程设计-学生选课系统.doc_第4页
数据库课程设计-学生选课系统.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2012级本科计数据库课程设计报告目录第一章 绪论21.1 开发背景21.2 系统调查21.3 项目开发的意义3第二章 系统需求分析32.1 学生选课系统总体规划32.2 学生选课系统功能模块划分32.3 学生选课系统数据流图52.3.2 学生选课系统数据字典7第三章 数据库的设计93.1 E-R图93.2 数据库系统设计113.3 学生选课系统数据库表结构12第四章 系统设计与实现144.1 MVC模式在系统设计过程中的应用144.1.1 MVC设计思想和结构144.1.2 MVC在本系统中的体现154.2 主要运行界面及功能代码164.2.1 系统实现界面164.2.1 系统实现界面25附录25重点程序代码25全套设计加扣3012250582第一章 绪论1.1 开发背景随着计算机技术和网络通讯技术的飞速发展,现在国内有很多大学的选课方式由传统的选择方式转变成了网上选课,学生可以在网上选择规定范围内的课程,并且可以在网上查询成绩。无需自己去老师那一门一门查,了解自己已得多少学分还需多少学分,即节省了学生的时间,又便于学校的管理。因为传统的选课方式都是手工的,教务处通知各班进行选课,各班班长再通知每个同学,经过统计在上交教务处,这样比较浪费时间。再者选课时不知道所选课人数是否已满,要等向教务处上报统计后才会知道,然后才能重新选择。网上选课系统为同学节省了时间的同时,减少了不必要的步骤,也方便管理员管理。网上选课系统为同学提供了一个自由选择的平台,学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。本系统也为教师提供了很大的方便,教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。本系统方便了学生的选课,同时便于管理,减少大量的人力资源。并且促进了学生的积极性,近而开发了网上选课系统。 1.2 系统调查进入21世纪以来,国内各高校都在积极推动教育体制的改革,为培养更为优秀的新世纪复合型人才做出努力。然而在80年代以前,计算机还没有在国内普及各高校学生选课都是手工完成,不仅教师的工作量大,而且学生查询和检索时也很麻烦。80年代后期,少数高校开始实行学年学分制,学生有了一定程度的选课自由。学生在学校只需要修满学分就可以毕业,并且可以根据自己的喜好选择科目。并且随着PC机的普及,有些高校已经开始应用电脑进行日常管理工作。这时,学生选课系统诞生了。但是,这些系统大多是基于DOS或者WINDOWS的单机版本,不仅界面不友好,而且功能薄弱。各科系之间的数据交流只能借助软盘为中介,费时费力。随着高校的规模扩大,教育体制改革的深化,这类系统已经不能适应管理上的要求。 90年代后期以来,各高校纷纷建立自己的高速校园网;在技术上,客户机/服务器体系结构已经非常成熟,同时浏览器/服务器体系结构正在兴起,这些都为创建大型的学生选课系统创造了条件,满足了数据集中存放,管理运作分布执行的需求。中心数据库存放学生选课系统的相关数据,管理人员通过网络访问数据库进行业务管理;学生和任课教师可以通过浏览器查询相关数据。目前国内各高校均有自己的选课系统。1.3 项目开发的意义网络的飞速发展深刻地影响了人们的日常生活和商业运作方式。社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成系统登录、选修课的申请和查询,给了学生更多课程的选择的权利,也给了学生选择自己喜欢的老师的权利,只有在自己喜欢的老师指教的情况下才能做到资源的最优化配置,而学校也可以方便地对系统进行管理和控制,免去为学生分配老师和分配课程的工作,进而提高工作效率。第二章 系统需求分析2.1 学生选课系统总体规划要完成对学生选课的管理,系统必须管理学校的教师信息,学生选修课程的信息,学校开设的所有课程的信息,学校学院的信息,专业设置的信息,教师开设课程的信息等系统的主要用户是管理员、教师和学生,管理员可以通过超级用户身份登录,对系统进行全面的管理维护, 老师、学生以不同用户的身份登录系统,执行不同的操作拥有各自的权限。 该系统用于提高教务处的工作效率,方便用户之间信息的交流,简化学生选课的流程,使选课管理工作更规范化,系统化,程序化,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课排课相关信息。在学校内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,选课,修改,管理,达到信息共享。2.2 学生选课系统功能模块划分1.学生选课系统的功能模块图图2-1 学生选课系统的功能模块图 2. 具体功能如下:(1) 管理员 维护学生的个人基本信息,实现的学生个人信息的增加,更新,删除等。学生信息包括:学号,姓名,性别,班级,电话,email,籍贯等。 维护教师的个人基本信息,实现的教师个人信息的增加,更新,删除等。教师信息包括:工号,姓名,性别,院系,职称,电话等。 维护课程信息,实现对课程信息的删除,增加,修改。课程信息包括:,课程名,授课教师,课程最大人数,开课人数,起止周,开设院系,学分,上课地点,上课时间等。 选课信息的管理:查看课程详情,查看选课学生名单。 (2)教师 查询和修改个人信息,如电话,邮箱,家庭住址等。对自己的教授的课程情况进行查询 (3)学生 查询和修改个人信息(电话,email,住址)。 进行选课操作,包括查看课程信息,选课,退选,查看已选课程等。 2.3 学生选课系统数据流图 1.顶层数据流图 图2-2 学生选课系统顶层数据流图2. 学生选课系统的零层数据流图 可分解为: 1.0管理学生,2.0管理课程,3.0管理教师,4.0选课中心,5.0个人信息管理五个子功能. 图2-3 学生选课系统的零层数据流图3. 学生选课系统的1层数据流图(1) 学生管理及学生个人信息管理 图2-4 学生管理及学生个人信息管理1层数据流图(2) 课程管理模块 图2-5 课程管理模块1层数据流图 (3)教师管理模块及教师个人信息管理 图2-6 教师管理模块及教师个人信息管理1层数据流图(4) 选课中心模块 图2-6 选课中心模块1层数据流图2.3.2 学生选课系统数据字典数据字典(Data Dictionary,DD)是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。数据字典提供软件分析和设计过程中有关数据的描述信息,在数据流图中出现的命名元素在数据字典中都作为一个词条加以定义,使每个图形元素的名字都有一个确切的解释。数据字典和数据流图共同构成系统的逻辑模型,只有把数据流图和数据流图中每个元素的确切定义放在一起,才能构成系统的需求规格说明,下面是学生选课系统的数据字典:表2-1 学生的基本信息的数据字典数据流名学生基本信息数据来源管理员添加数据去向(1) 学生登录系统、查看、修改(2)老师查看(3)管理员添加、查看、修改、删除数据组成学号+密码+姓名+性别+班级号+电话+邮箱+地址表2-2 教师的基本信息的数据字典数据流名老师信息数据来源管理员添加数据去向(1) 教师登录系统、查看个人资料、修改个人资料(2) 管理员添加、查看、修改、删除数据组成工号+密码+姓名+性别+职称+院系+电话+邮箱数据流名管理员信息数据来源直接写入数据库数据去向 管理员登录系统,修改个人密码数据组成账号+姓名+密码表2-3 管理员的信息的数据字典表2-4课程的基本信息的数据字典数据流名课程基本信息数据来源管理员发布 数据去向(1) 管理员查看、修改、删除(2) 学生查看可选课程列表(3) 教师查看自己教授课程数据组成课程编号+课程名+教师编号+学分+开课人数+最大人数+上课时间+上课地点+学期表2-7表2-5 已选课程的信息的数据字典数据流名已选课程的信息数据来源学生从选课列表选定数据去向(1) 学生查看已选课程信息、学生退课(2) 教师查看学生名单数据组成 学生编号+课程编号 表2-7表2-6 班级信息的数据字典数据流名班级信息数据来源 直接写入数据库(该系统暂未设计班级的录入)数据去向 管理员添加学生从下拉列表选择数据组成班级编号+专业名称+班级名+学院名称第三章 数据库的设计3.1 E-R图 1.系统的总体E-R图 图3-1 系统的总体E-R图 2.学生实体E-R图 图3-2 学生实体E-R图 3.教师实体E-R图 图3-3 教师实体E-R图4. 课程实体E-R图 图3-4 课程实体E-R图5. 班级实体E-R图 图3-5 课程实体E-R图3.2 数据库系统设计本系统涉及的参考表单有:(1)学生信息表属性有:学号、密码、姓名、性别、班级、联系电话、电子邮箱、地址(2)课程信息表属性有:课程编号、课程名称、授课教师、学分、开课人数、最大人数、开课院系、学期、上课时间、上课地点(3)教师信息表属性有:工号、密码、姓名、性别、职称、所在院系、联系电话、电子邮箱 (4)管理员信息表属性有:帐号、姓名、密码 (5)已选课程表:学生编号、课程编号 (6)班级表:班级编号、班级名、专业、院系这些实体之间的联系如下:(1)一个学生可以学习多门课程,一个课程也可以被多个学生所学,所以学生和课程之间是多对多的关系;(2)一个教师可以教多名学生,一个学生也可以被多个老师教,所以学生和老师之间也是多对多关系;(3)一个教师可以教授多门课程,但是一门课程不能被多个老师教,所以老师和课程之间是一对多的关系;(4)一个管理员可以添加多门课程,一个课程不能被多个管理员添加,所以管理员和课程之间是1对多关系(5)一个管理员可以添加多个学生,一个学生不能被多个管理员添加,所以管理员和学生之间是1对多关系(6)一个管理员可以添加多个教师,一名教师不能被多个管理员添加,所以管理员和教师之间是1对多关系各实体的关系模式学生(学号、密码、姓名、性别、班级、电话、电子邮箱、地址)教师(工号、姓名、密码、性别、职称、院系、电子邮箱、电话) 课程(课程编号、课程名称、授课教师编号、学分、开课人数、 最大人数、学期、 上课时间、上课地点) 已选选课(学号、课程编号) 班级(班级编号、班级名称、专业、院系名称) 院系(院系名称)3.3 学生选课系统数据库表结构学生表(student)属性名字段名称数据类型长度备注学号studentNoChar6主键密码passwordchar10不空姓名studentNamechar8不空性别sexbit2不空民族nationalitychar4不空出生日期Birthdatedatetime20不空 班级号classNoint4不空籍贯nativeplacechar50不空课程表(course)属性名字段名称数据类型长度备注课程编号courseNochar6主键课程名称courseNameChar10不空授课老师编号teacherNoChar8不空学分creditint2不空开课人数minnumint3不空最大选课人数maxnumint3不空上课时间weekdayChar8不空上课地点placeChar8不空 已选课程表(selected)属性名字段名称数据类型长度备注课程代号courseNochar6主键课程名studentNochar8不空当前选课人数numberint3不空教师表(teacher)属性名字段名称数据类型长度备注编号teacherNochar6主键姓名teacherNamechar6不空密码passwordchar10不空性别sexbit2不空职称titlechar8不空院系departNamechar6不空电话phonechar12不空 管理员表(admin)属性名字段名称数据类型长度备注姓名namechar6不空帐号accountchar10不空密码passwordchar10不空 班级表(class)属性名字段名称数据类型长度备注班级号classNoint6主键班级名classNamechar10不空专业majorchar10不空所属院系departNamechar10不空第四章 系统设计与实现学生选课系统的设计使用Web初级框架开发的技术,采用三层体系结构模式(用户层、业务逻辑层、数据层),在设计上体现为MVC设计模式。MVC全名是ModelViewController,是模型(model)视图(view)控制器(controler)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。4.1 MVC模式在系统设计过程中的应用4.1.1 MVC设计思想和结构如何将Web应用程序的业务逻辑和表示逻辑分离,以便我们能够在不影响业务逻辑的情况下修改用户界面,或者反之,在不影响表示逻辑的情况下修改业务实现,MVC(ModelViewController即模式视图控制器)正是这样的模式。MVC模式基于用户输入将建模、显示和操作分为三个独立的类。其中M代表模型Model,V代表视图View,C代表控制器Controller24。模式用于管理应用程序域的行为和数据,并响应为获取其状态信息(通常来自于视图)而发出的请求,还会响应更改状态的指令(通常来自于控制器);视图用于管理信息的显示,它代表用户交互界面;控制器用于解释用户的鼠标和键盘输入,以通知模式和(或)视图进行相应的更改,控制器并不做任何的数据处理。MVC要求对应用分层,虽然要花费额外的工作时间,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。4.1.2 MVC在本系统中的体现 Model层: 名称说明Classes.java班级类Course.java课程类Depart.java院系类Selected.java已选课程类Student.java学生类Teacher.java教师类User.java用户类(用于登录)ClassDAO.java数据库访问(classes表)CourseDAO.java数据库访问(course表)DepartDAO.java数据库访问(depart表)SelectedDAO.java数据库访问(selected表)StudentDAO.java数据库访问(student表)TeacherDAO.java数据库访问(teacher表)Controller层: 名称说明CourseAction.java与course有关的业务逻辑DepartAction.java与Depart有关的业务逻辑SelectedAction.java与Selected有关的业务逻辑StudentAction.java与Student有关的业务逻辑TeacherAction.java与Teacher有关的业务逻辑LoginAction.java用户登录系统的业务逻辑LoginoutAction.java用户退出系统的业务逻辑AlterPasswordAction.java用户修改密码的业务逻辑View 层:Admin/add_course.jsp添加课程页面Admin/detail_selected.jsp显示课程详情Admin/edit_course.jsp编辑课程页面Admin/course_info.jsp列出所有课程(提供发布、编辑、删除按钮)Admin/selected_info.jsp显示已选课程(课程详情、选课学生名单)Admin/add_stu.jsp添加学生页面Admin/edit_stu.jsp编辑学生页面Admin/stu_info.jsp列出所有学生(提供添加、编辑、删除按钮)Admin/stu_of_course.jsp显示已经选择某一课程的学生名单Admin/add_tch.jsp添加教师页面Admin/edit_tch.jsp编辑教师页面Admin/teacher_info.jsp列出所有教师(提供添加、编辑、删除按钮)Student/selected_info.jsp列出所有课程(提供查看详情、选课按钮)Student/detail_selected.jsp显示课程详情Student/personal_selected.jsp显示个人所选课程(提供退选按钮)Student/stu_personal_info.jsp显示学生个人资料(可修改)Teacher/stu_of_course.jsp查看某一课程所有选课学生名单(提供学生详情按钮)Teacher/teach_course.jsp显示所有自己教授的课程(提供课程详情按钮)Teacher/detail_course.jsp显示课程详情Teacher/detail_stu.jsp显示学生详情Teacher/tch_personal_info.jsp显示教师个人资料(可修改)4.2 主要运行界面及功能代码4.2.1 系统实现界面1.用户(学生、管理员、教师)登录模块(1)功能描述由于选课系统的特殊性,在首次登录时,用户名和密码是管理员统一分配。输入用户名和密码,单击“登录”按钮,就可以进入主功能页面。如果没有输入用户名和密码或者输入有误,则仍然停留在登录页面。(2) 操作流程图登录页面检验用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论