课程设计学生选的修课程管理系统(共42页).doc

上传人:飞****2 文档编号:13560048 上传时间:2022-04-30 格式:DOC 页数:42 大小:60KB
返回 下载 相关 举报
课程设计学生选的修课程管理系统(共42页).doc_第1页
第1页 / 共42页
课程设计学生选的修课程管理系统(共42页).doc_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《课程设计学生选的修课程管理系统(共42页).doc》由会员分享,可在线阅读,更多相关《课程设计学生选的修课程管理系统(共42页).doc(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上课程设计-学生选修课程管理系统 学生选修课程管理系统 第9小组 学号姓名 具体模块 成绩 备注蔡忠文老师操作模块 组长李梓郡学生操作模块 组员王超课程操作模块 组员张畅数据库设计 组员目录1 可行性分析31.1 经济上的可行性31.2 技术上的可行性31.3 操作上的可行性32 需求分析42.1需求陈述42.2分析建模43 分析设计103.1系统功能结构设计103.3系统软件架构设计144 详细设计165 实现206 测试316.1测试方法316.2测试用例327 总结347.1小组总结347.2个人总结34 1 可行性分析1.1 经济上的可行性 界面友好,操作简单,

2、系统实现可行,因此经济可行。该系统可以容易实现学生、老师和教学系统管理员与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率。1.2 技术上的可行性 随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到一起,以方便个高校管理。在这样一个社会背景下,基于Windows和SQL Server 2005设计出数据库 ,运用先进的ASP.NET技术、先进的C#语言,采用B/S模式开发的大学生选修课管理系统,将学生、老师、管理员有机地结合在一起,有效地提高管理水平和效率。随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。 1.3 操作上的

3、可行性 该系统操作方便,简单。 2 需求分析2.1需求陈述 系统功能模块基本将本系统划分为三大模块,即学生选课模块、教师开课模块以及管理员管理模块。 (1)学生选课模块:在这个模块中,允许学生修改个人信息,浏览基本的课程;并实现主要的选课功能,包括填写选课信息、查看已选课程、修改选课等。 (2)教师开课模块:这个模块主要是让教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。 (3)管理员管理模块:这个模块的功能比较多,主要包括创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通知等等。 (4)通用功能模块:即用户登录、密码修改等功能的实现。2.2分析建模 根

4、据系统需求 角色确定,外部参与者如下: 管理员:对学生和教师基本资料维护,对课程基本资料进行添加、 删除、 更新或查询等; 学生:进行课程预览,选课信息查询,进行选课,成绩查询等; 教师:查询课程,申请教课及课程报名人数情况,进行成绩评定等; 确定用例 与管理员有关的用例: 发布通知、分配帐号密码、注销或修改用户状态、创建课程,定任课老师、设定课程人数、统计学生选课信息; 与学生有关的用例: 修改个人信息、选课操作、修改选课、浏览课程、查询成绩 与教师有关的用例: 申请教课、浏览课题、查询学生选课情况、成绩评定 建立系统用例图 此系统用例图包括:学生选课系统的高层用例图,管理员管理子系统用例图

5、,教师管理子系统用例图以及学生选课子系统的用例图。 系统用例 大学生选修课用例描述 管理员:管理员负责整个选修课系统的全面工作 管理员使用子系统“选课管理”中的教学大纲信息和“科室分配管理”中的教师信息,制定选课表 管理员点击子系统“课程信息管理” 对学生和教师基本资料维护,课程基本资料进行添加、删除、更新或查询等相关操作 学生:进行课程预览,选课信息查询,进行选课,成绩查询等; 教师:查询课程,申请教课及课程报名人数情况,进行成绩评定等; 成绩查询:登录选课系统选择用户“学生”输入密码,提交提示登录成功或错误信息选择“选修课成绩查询”,选择学期查到对应成绩。 成绩管理:教师进行操作,包括教师

6、录入和维护学生的成绩,统计成绩查询成绩,也可进行学生成绩的删除和修改工作。 详细描述如下: 登录:通过用户名及密码登录学生选课系统验证当前用户权限。 课程信息浏览:让学生可以详细的了解课程情况。 选课:学生可以选择要选修的课程 。选课概述:前提条件(正确登录、同一选课选修两次第二次不计学分)点击选课项提交按钮提示选课情况 修改选课:由于主观或客观原因要求退课。修改选课概述:前提条件(限定的课程开设人数已满,或是不足规定人数取消该课程安排的信息,以及个人在规定日期前可以修改选课等) 成绩查询:登录选课系统选择用户“学生”输入密码,提交提示登录成功或错误信息选择“选修课成绩查询”,选择学期查到对应

7、成绩。学生选课系统的高层用例图如图2-1所示 图2-1 学生选课系统的高层用例图 管理子系统用例 (1)用户登录 获取用户输入的用户名及密码; 若出现用户名、密码错误或不匹配现象,反馈错误提示; 在用户名及密码都正确的前提下,支持密码修改。 (2)选课系统 首先发布选课通知,即先对教师发出通知(教师得到通知后才可申请教课),然后对学生发出通知(此时已安排完有关选修课的所有信息) 创建课程指定任课教师 设定课程的人数和开课时间安排 分配账号及密码(由于是管理员操作此部分)。 (3)教师教课申请 获取教师申请教课的信息,包括教师信息及其所要教的课程课程信息; 提供教师浏览课程的功能,即课程时间、教

8、室等的安排;并提供查询学生选课情况的功能,即选此门课程的名单等; 处理和统计教师对学生成绩的评定。 (4)学生选课 提供学生修改个人信息的功能; 提供学生浏览全部选修课信息的功能,然后接受学生的选课操作; 获取学生及其所选课程的信息后,提供学生浏览自己所选课程的安排情况; 得到选课系统的指令,在相应时间内可以让学生修改自己的选课; 将选课系统统计好的成绩信息反馈给学生供其浏览。 管理员管理子系统用例详细描述如下: 发放通知:此用例包含两种情况,一是相对于教师的,二是相对于学生的。相对于教师,即对于选课信息录入后发放给教师的通知,相对于学生即是在安排完选课相应的教师、选课限定人数等规则后发放给学

9、生的通知。 学生及教师列表:对于学生的个人信息、选课信息,教师的个人信息、对应教受的课程信息等的查询、删除、修改等操作。 可选课程列表:在限定人数已满或是人数不够不进行课程开设等情况下对于课程选择的限定。 学生已选课程列表:在课程修完教师评定相应成绩后,对于学生已选课程的成绩统计以及录入发放。 管理员添加及密码修改:根据实际情况进行添加、修改等。 管理员管理子系统用例图如图2-2所示: 图2-2 管理员管理子系统用例图 教师进行查询课程,申请教课及课程报名人数情况,进行成绩评定等工作。 主要是学生选课操作 提供学生修改个人信息的功能; 提供学生浏览全部选修课信息的功能,然后接受学生的选课操作;

10、 获取学生及其所选课程的信息后,提供学生浏览自己所选课程的安排情况; 得到选课系统的指令,在相应时间内可以让学生修改自己的选课。 学生选课子系统如图2-3所示 图2-3学生选课子系统用例图 3 分析设计 3.1系统功能结构设计 首先输入用户名和密码登录系统,系统给出提示,若登录成功后则进行课程信息查询。 然后对信息进行详细查看,例如选课时间安排、教师安排、人数安排等,之后可点击选择课程并提交确认,此时系统也会给出提示,若成功选择给出课程详细信息,否则将提示人数已满的限制信息。 修改所选课程,也必须找到自己已选课程列表并进行删除,然后再按相同方法进行选课,最终完成选课。当然修改课程过程中,也要注

11、意修改时间的限定,因为管理员也要统计学生及其所选课程的信息,所以必须在规定时间进行修改。 经过活动如图3-1所示 图3-1 学生选课操作的活动图 顺序图如图3-2所示 图3-2学生选课操作顺序图 学生选课操作的协作图3-3所示: 图3-3学生选课操作的协作图 参与交互的对象有课程信息模块、课程安排模块及面向教师、学生。此图主要考虑通过对象之间的交互共同完成选课操作的过程,各信息流向及标明的顺序更好诠释出管理员进行管理时所需对象及时间上的配合。管理员管理操作的协作图如下所示: 参与的交互对象有课程信息模块、成绩评定模块、成绩管理模块以及学生。 首先教师进入课程信息模块,选择自已所教授的选修课,进

12、而得到所有学生信息。然后通过反馈的信息及自己记录的考勤情况(如特定安排取消的课时等)进入成绩评定模块。一般是将所有学生进行统一打分,若不是统一的情况或是有修改等情况都可进入成绩管理模块进行相应操作。在规定日期前上交评定成绩信息后再反馈给学生。如图3-4所示: 图3-4教师评定成绩的协作图 学生在选课操作中其生存周期中所处的不同状态、转换时的条件,虽然看似较为简单,但并不可忽视。对于此信息的详细设计,可进一步用于用类状态的设计和编制类。如图3-5所示: 图3-5学生登录选课的状态图 3.2.系统硬件结构设计 类模型是面向对象方法的核心,类模型从对象的角度描述系统的组成,描述对象及相互间的关系。系

13、统已在前面进行过简单描述,通过检查问题陈述中的所有名词短语和代词,得到初始类: 学生 教师 管理员 选课操作选课管理申请教课 成绩管理成绩查询用户管理课程信息可选课程学生已选课程 经过分析最后得到教师、学生、管理员、课程信息及系统维护这几个类。并标识出类的名称及属性。如下图3-6所示: 图3-6类名称及属性3.3系统软件架构设计 3.3.1功能要求: 1 设计数据对象表、视图、规则、函数等,完成学生自主选课,实现对于数据库完整性的检查; 2 根据用户不同,指派不同权利:管理员具有dbo权限,学生具有插入选课表、退课表权限,查询课程表权限,确保数据库的安全性; 3 能够实现对于学生选课信息、课程

14、信息、授课教师信息、教室使用信息的查询; 4 设计触发器/存储过程,优化数据库查询、冲突检测、扩展数据库完整性和数据操纵功能; 5 设计选课时间段,在指定时间段内,允许选课、退课。 6 完成数据库的备份等事务处理,保证数据库的一致性,可靠性。 3.3.2 实现要求 1 根据系统的功能要求,建立了概念模型,设计各功能块的E-R图,对其合并,形成系统总E-R图, 如图3-1所示。 2 利用T-SQL实现数据库,关系表,视图,数据类型,存储过程及其他数据对象的建立、更新、修改及数据库完整性检查。4 详细设计 蔡忠文设计内容: 老师操作模块: 1)增加老师 2)根据教师号码修改教师信息 3)根据教师号

15、码删除教师信息 4)根据教师号码查询教师的信息 5)查询所有教师的信息 李梓郡设计内容: 学生操作模块 1)增加学生 2)根据学号修改学生信息 3)根据学号删除学生信息 4)根据学号查询学生信息 5)查询所有学生信息 王超设计内容: 课程操作模块 1)增加课程 2)根据课程号修改课程信息 3)根据课程号删除课程的信息 4根据课程号查询课程的信息 5)查询所有课程 张畅设计内容: 系统的数据库设计: 本系统设计的是一个以班级为单位的选课数据库,能够实现学生自主选课功能,并能实现学生信息、课程信息、学生选课信息、教室信息、授课教师信息等的创建、更新、删除、修改,数据库完整性检查、冲突检测、查询优化

16、以及数据库角色、权限的分配,实现数据库的备份等事务处理以保证数据的完整性、一致性、安全性、可靠性。E-R图如4-1所示 图4-1 学生选课系统总E-R图 表4-1教师表字段名字段类型字段长度是否为空是否为主键描述tnovarcher 10 是教师号teacher pesswordvarcher 10 是密码tnamevarcher 10 是姓名tsexvarcher 5 是性别dnovarcher 10 否系别cnumbervarcher 10 否所带课程号 4-2课程表字段名字段类型字段长度是否为空是否为主键描述cnamevarcher 10 否 否课程名cnovarcher 10 否 是课

17、程号csoredouble 否 否课程的学分dnovarcher 10 否 否课程的系别 4-3成绩表字段名字段类型字段长度是否为空是否为主键 描述cnovarcher 10 否 课程号sonvarcher 10 否 学号scorevarcher 10 是 成绩 4-4学生表 字段名字段类型字段长度是否为空是否为主键 描述 snovarcher 10 是 学号 snamevarcher 10 否 姓名 ssexvarcher 5 否 性别 dnovarcher 10 否 系别 sageint 否 年龄 spasswordvarcher 10 否 密码 4-5管理员表字段名字段类型字段长度是否为

18、空是否为主键 描述managervarcher 10 是 账号managerpasswordvarcher 10 否 密码 4-6系表 字段名字段类型字段长度是否为空是否为主键 描述 dnovarcher 10 是 系号 dnamevarcher 10 否 系名 5 实现1.管理员底层代码: package xiangmu.dao; import /.t; import /.rse; import /.ager; import /.dent; import /.cher; public interface ManagerDao /管理员登录 public boolean inToSystemm

19、anager m; /增加学生 public boolean addStudentforManagerstudent s; /根据学生的学号修改学生的信息 public boolean updateStudentforManagerString sno,student s; /根据学号删除学生的全部信息 public boolean deleteStudentforManagerString sno; /根据学号查询学生的信息 public student selectStudentforManagerString sno; /查询所有学生的信息 public List selectAllSt

20、udent; /增加老师 public boolean addTeacherforManagerteacher t; /根据教师号修改教师的信息 public boolean updateTeacherforManagerString tno,teacher t; /根据教师号删除教师的信息 public boolean deleteTeacherforManagerString tno; /根据教师号查询教师的信息 public teacher selectTeacherforManagerString tno; /查询所有教师的信息 public List selectAllTeacher

21、; /增加课程 public boolean addCourseforManagercourse c; /根据课程号修改课程的信息 public boolean updateCourseforManagerString cno,course c; /根据课程号删除课程的信息 public boolean deleteCourseforManagerString cno; /根据课程号查询课程的信息 public course selectCourseforManagerString cno; /查询所有课程的信息 public List selectAllCourse; /退出系统 publi

22、c void backSystem; 2.学生模块底层代码: package xiangmu.dao; import /.t; import /.ChengJi; import /.rse; import /.re; import /.dent; public interface StudentDao /登录系统 public boolean inToSystembyStudentString sno,String spassword; /选课 public boolean xunKebyStudentString sno,String cno; /查询所有已选课程 public List x

23、unAllKeChengbyStudentString sno; /查询自身的信息 public student xunStudentString sno; /查询所选课程的成绩 public List xunChengJibyStudentString sno,score s; /退课 public boolean deleteCoursebyStudentString sno,course c; /退出系统 public void backSystembyStudent; 3.老师模块底层代码: package xiangmu.dao; import /.t; import /.dent;

24、 import /.cher; public interface TeacherDao /登录系统 public boolean inToSystembyTeacherString tno,String tpassword; /查询所有自身所带课程的所有学生的信息 public List xunAllStudentbyStudentString tno; /输入成绩(在上一步的结果上,输入成绩) public boolean chengjibyTeacherString sno,String sscore,String cno; /查询自身的信息 public teacher xunTeach

25、erbyTeacherString tno; /退出系统 4.主界面的servlet代码如下: package xiangmu.gongneng; import /.xception; import /.ntWriter; import /.vletException; import /.p.HttpServlet; import /.p.HttpServletRequest; import /.p.HttpServletResponse; public class main extends HttpServlet private static final long serialVersion

26、UID 1L; Override protected void doGetHttpServletRequest req, HttpServletResponse resp throws ServletException, IOException req.setCharacterEncodingutf-8; resp.setContentTypetext/6html;charsetutf-8; PrintWriter out resp.getWriter; String username req.getParameterusername; String password req.getParam

27、eterpassword; String yonghu req.getParameteryonghu; ifyonghu.equalsstudent req.getRequestDispatcher/studentcaozuo.forwardreq, resp; else ifyonghu.equalsteacher req.getRequestDispatcher/teachercaozuo.forwardreq, resp; else ifyonghu.equalsmanager req.getRequestDispatcher/managercaozuo.forwardreq, resp

28、; Override protected void doPostHttpServletRequest req, HttpServletResponse resp throws ServletException, IOException this.doGetreq, resp; 5、管理员界面的代码: package xiangmu.gongneng; import /.xception; import /.ntWriter; import /.vletException; import /.p.HttpServlet; import /.p.HttpServletRequest; import

29、 /.p.HttpServletResponse; import /.agerDaoimpl; import /.ager; public class managercaozuo extends HttpServlet private static final long serialVersionUID 1L; public void doGetHttpServletRequest request, HttpServletResponse response throws ServletException, IOException this.doPostrequest, response; pu

30、blic void doPostHttpServletRequest request, HttpServletResponse response throws ServletException, IOException PrintWriter out response.getWriter; String username request.getParameterusername; String password request.getParameterpassword; manager m new managerusername,password; ManagerDaoimpl mipml n

31、ew ManagerDaoimpl; ifmipml.inToSystemm request.getRequestDispatchermanagergongneng.jsp.forwardrequest, response; else request.getRequestDispatcher/managerdengluerror.forwardrequest, response; out.printlnusername; out.printlnpassword; 6.学生模块界面的代码: package xiangmu.gongneng; import /.xception; import /

32、.ntWriter; import /.vletException; import /.p.HttpServlet; import /.p.HttpServletRequest; import /.p.HttpServletResponse; import /.p.HttpSession; import /.dentDaoimpl; public class studentcaozuo extends HttpServlet private static final long serialVersionUID 1L; public void doGetHttpServletRequest re

33、quest, HttpServletResponse response throws ServletException, IOException this.doPostrequest, response; public void doPostHttpServletRequest request, HttpServletResponse response throws ServletException, IOException PrintWriter out response.getWriter; String sno request.getParameterusername; String s

34、password request.getParameterpassword; StudentDaoimpl simpl new StudentDaoimpl; String sname simpl.chaSnameforSnosno; HttpSession sessionsno request.getSession; HttpSession sessionsname request.getSession; sessionsno.setAttributesno, sno; sessionsname.setAttributesname, sname; ifsimpl.inToSystembySt

35、udentsno, spassword request.getRequestDispatcherstudent/studentgongneng.jsp.forwardrequest, response; else request.getRequestDispatcher/managerdengluerror.forwardrequest, response; out.printlnsno; out.printlnspassword; 7.老师界面的servlet代码: package xiangmu.gongneng; import /.xception; import /.ntWriter;

36、 import /.vletException; import /.p.HttpServlet; import /.p.HttpServletRequest; import /.p.HttpServletResponse; import /.cherDaoimpl; public class teachercaozuo extends HttpServlet private static final long serialVersionUID 1L; public void doGetHttpServletRequest request, HttpServletResponse respons

37、e throws ServletException, IOException this.doPostrequest, response; public void doPostHttpServletRequest request, HttpServletResponse response throws ServletException, IOException PrintWriter out response.getWriter; String tno request.getParameterusername; String tpassword request.getParameterpassw

38、ord; TeacherDaoimpl timpl new TeacherDaoimpl; String tname timpl.chaTnameforTnotno; iftimpl.inToSystembyTeachertno, tpassword request.getRequestDispatcherteacher/teachergongneng.jsp?tname+tname+.forwardrequest, response; else request.getRequestDispatcher/managerdengluerror.forwardrequest, response;

39、out.printlntno; out.printlntpassword; out.flush; out.close; 8、数据库设计的代码: /创建课程表 create table t_course cno varchar10 primary key , cname varchar10 , cscore varchar5 , dno varchar10 foreign KEY dno REFERENCES t_deptdno /创建系表 create table t_dept dno varchar10 primary key, dname varchar10 /创建学生表 create table t_student sno varchar10 primary key, spassword varchar10, sname varchar10, ssex varchar5, sage int , dno varchar10 foreign KEY dno REFERENCES t_deptdno, /创建教师表 create table t_teacher tno varchar10 primary key, tpassword varchar10 , tname

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com