您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件工程专业——学生选课系统设计
学生选课系统实验报告项目名称:学生选课系统姓名:学号:班级:指导老师:一.课程设计的目的与要求通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计和综合分析,解决问题的能力。具体如下:学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;1.学习使用MyEclipse开发工具的使用。2.进一步加强和提高软件工程文档的编写能力;3.培养协作能力和团队精神。一.设计正文1.概述1.1课程题目:学生选课系统1.2系统的主要目标:本系统的目标是实现选课系统需所需的各种基本功能,包括学生选课,教师查看选修的课程,提交课程成绩功能以及管理添加学生,维护学生的信息,成绩管理,添加教师,维护教师的信息。维护选修课程,查看学生的信息,查看教师的信息,查看课程的信息。更新学生,老师,和课程的信息。包括增加修改删除查找。1.3系统的开发环境及运行环境操作系统:windows建模工具数据库系统:sqlserver2005开发工具:MyEclipse8.6WEB服务器:Tomcat2.系统的需求分析学生选课系统的主要满足来自三个方面的需求,这三个方面分别是学生用户,教师用户和管理员用户,也即是三类用户角色。(1)学生用户是主要的需求者,主要的需求功能是查询可选课程,查看自己的选课情况及进行选课。(2)教师用户主要需求功能是查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩(3)管理员用户的功能需求较为复杂,包括对学生的信息,教师的信息,课程的信息进行管理。在学生信息管理子模块中实现对学生的信息的添加,修改,删除操作。还可以输入查询条件进行查询操作。在教室管理模块中实现对教师信息的添加,修改删除,查询操作。在课程管理的子模块中实现对课程的添加,修改,删除操作,查询操作。本系统将管理员用户,教师用户,学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看,维护系统中的所有信息,如添加学生,添加课程,修改课程的信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程的成绩的权限;让学生拥有选课的权限。2.1系统用例图3.系统的总体设计二.管理员模块:1.对老师的操作:1)增加老师2)根据教师号码修改教师信息3)根据教师号码删除教师信息4)根据教师号码查询教师的信息5)查询所有教师的信息2.对学生的操作1)增加学生2)根据学号修改学生信息3)根据学号删除学生信息4)根据学号查询学生信息5)查询所有学生信息3.对课程的操作1)增加课程2)根据课程号修改课程信息3)根据课程号删除课程的信息4根据课程号查询课程的信息5)查询所有课程二.学生模块1.登录系统2.选课(只能选修学分小于等于8分的课程)3.查询所有已选的课4.退可操作5.查询自身信息6.查询所有所选课程的成绩7.退出系统三.老师模块1.登录系统2.查询所有已选自带课程的学生信息3.输入相应科目成绩4.查询自身信息四.系统的数据字典:教师号T-teacher字段名字段类型字段长度是否为空是否为主键描述tnovarcher10是教师号teacherpesswordvarcher10是密码tnamevarcher10是姓名tsexvarcher5是性别dnovarcher10否系别cnumbervarcher10否所带课程号课程表t-course字段名字段类型字段长度是否为空是否为主键描述cnamevarcher10否课程名cnovarcher10是课程号csoredouble否课程的学分dnovarcher10否课程的系别成绩表t-score字段名字段类型字段长度是否为空是否为主键描述cnovarcher10否课程号sonvarcher10否学号scorevarcher10是成绩学生表t-student字段名字段类型字段长度是否为空是否为主键描述snovarcher10是学号snamevarcher10否姓名ssexvarcher5否性别dnovarcher10否系别sageint否年龄spasswordvarcher10否密码管理员t-manager字段名字段类型字段长度是否为空是否为主键描述managervarcher10是账号managerpasswordvarcher10否密码系表字段名字段类型字段长度是否为空是否为主键描述dnovarcher10是系号dnamevarcher10否系名五.程序的部分代码:1.管理员底层代码:packagexiangmu.dao;importjava.util.List;importxiangmu.po.course;importxiangmu.po.manager;importxiangmu.po.student;importxiangmu.po.teacher;publicinterfaceManagerDao{//管理员登录publicbooleaninToSystem(managerm);//增加学生publicbooleanaddStudentforManager(students);//根据学生的学号修改学生的信息publicbooleanupdateStudentforManager(Stringsno,students);//根据学号删除学生的全部信息publicbooleandeleteStudentforManager(Stringsno);//根据学号查询学生的信息publicstudentselectStudentforManager(Stringsno);//查询所有学生的信息publicListstudentselectAllStudent();//增加老师publicbooleanaddTeacherforManager(teachert);//根据教师号修改教师的信息publicbooleanupdateTeacherforManager(Stringtno,teachert);//根据教师号删除教师的信息publicbooleandeleteTeacherforManager(Stringtno);//根据教师号查询教师的信息publicteacherselectTeacherforManager(Stringtno);//查询所有教师的信息publicListteacherselectAllTeacher();//增加课程publicbooleanaddCourseforManager(coursec);//根据课程号修改课程的信息publicbooleanupdateCourseforManager(Stringcno,coursec);//根据课程号删除课程的信息publicbooleandeleteCourseforManager(Stringcno);//根据课程号查询课程的信息publiccourseselectCourseforManager(Stringcno);//查询所有课程的信息publicListcourseselectAllCourse();//退出系统publicvoidbackSystem();}2.学生模块底层代码:packagexiangmu.dao;importjava.util.List;importxiangmu.po.StuChengJi;importxiangmu.po.course;importxiangmu.po.score;importxiangmu.po.student;publicinterfaceStudentDao{//登录系统publicbooleaninToSystembyStudent(Stringsno,Stringspassword);//选课publicbooleanxunKebyStudent(Stringsno,Stringcno);//查询所有已选课程publicListStuChengJixunAllKeChengbyStudent(Stringsno);//查询自身的信息publicstudentxunStudent(Stringsno);//查询所选课程的成绩publicListscorexunChengJibyStudent(Stringsno,scores);//退课publicbooleandeleteCoursebyStudent(Stringsno,coursec);//退出系统publicvoidbackSystembyStudent();}3.老师模块底层代码:packagexiangmu.dao;importjava.util.List;importxiangmu.po.student;importxiangmu.po.teacher;publicinterfaceTeacherDao{//登录系统publicbooleaninToSystembyTeacher(Stringtno,Stringtpassword);//查询所有自身所带课程的所有学生的信息publicListstudentxunAllStudentbyStudent(Stringtno);//输入成绩(在上一步的结果上,输入成绩)publicbooleanchengjibyTeacher(Stringsno,Stringsscore,Stringcno);//查询自身的信息publicteacherxunTeacherbyTeacher(Stringtno);//退出系统}5.主界面的servlet代码如下:packagexiangmu.gongneng;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassmainextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{req.setCharacterEncoding(utf-8);resp.setContentType(text/html;charset=utf-8);PrintWriterout=resp.getWriter();Stringusername=req.getParameter(username);Stringpassword=req.getParameter(password);Stringyonghu=req.getParameter(yonghu);if(yonghu.equals(student)){req.getRequestDispatcher(/studentcaozuo).forward(req,resp);}elseif(yonghu.equals(teacher)){req.getRequestDispatcher(/teachercaozuo).forward(req,resp);}elseif(yonghu.equals(manager)){req.getRequestDispatcher(/managercaozuo).forward(req,resp);}}@OverrideprotectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletExcept
本文标题:软件工程专业——学生选课系统设计
链接地址:https://www.777doc.com/doc-6293885 .html