




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生选课系统实验报告 项目名称:学生选课系统 姓名:学号:班级:指导老师:一 课程设计的目的与要求通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计和综合分析,解决问题的能力。具体如下:学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;1. 学习使用MyEclipse开发工具的使用。2. 进一步加强和提高软件工程文档的编写能力;3. 培养协作能力和团队精神。一 设计正文1. 概述1.1 课程题目:学生选课系统1.2系统的主要目标: 本系统的目标是实现选课系统需所需的各种基本功能,包括学生选课,教师查看选修的课程,提交课程成绩功能以及管理添加学生,维护学生的信息,成绩管理,添加教师,维护教师的信息。维护选修课程,查看学生的信息,查看教师的信息,查看课程的信息。更新学生,老师,和课程的信息。包括增加修改删除查找。 1.3 系统的开发环境及运行环境 操作系统:windows 建模工具 数据库系统:sqlserver2005 开发工具:MyEclipse8.6 WEB服务器: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是教师号teacher pesswordvarcher10是密码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管理员底层代码: package xiangmu.dao;import java.util.List;import xiangmu.po.course;import xiangmu.po.manager;import xiangmu.po.student;import xiangmu.po.teacher;public interface ManagerDao /管理员登录public boolean inToSystem(manager m); /增加学生public boolean addStudentforManager(student s);/根据学生的学号修改学生的信息public boolean updateStudentforManager(String sno,student s);/根据学号删除学生的全部信息public boolean deleteStudentforManager(String sno);/根据学号查询学生的信息public student selectStudentforManager(String sno);/查询所有学生的信息public List selectAllStudent();/增加老师public boolean addTeacherforManager(teacher t);/根据教师号修改教师的信息public boolean updateTeacherforManager(String tno,teacher t);/根据教师号删除教师的信息public boolean deleteTeacherforManager(String tno);/根据教师号查询教师的信息public teacher selectTeacherforManager(String tno);/查询所有教师的信息public List selectAllTeacher();/增加课程public boolean addCourseforManager(course c);/根据课程号修改课程的信息public boolean updateCourseforManager(String cno,course c);/根据课程号删除课程的信息public boolean deleteCourseforManager(String cno);/根据课程号查询课程的信息public course selectCourseforManager(String cno);/查询所有课程的信息public List selectAllCourse();/退出系统public void backSystem();2.学生模块底层代码:package xiangmu.dao;import java.util.List;import xiangmu.po.StuChengJi;import xiangmu.po.course;import xiangmu.po.score;import xiangmu.po.student;public interface StudentDao /登录系统public boolean inToSystembyStudent(String sno,String spassword);/选课public boolean xunKebyStudent(String sno,String cno); /查询所有已选课程public List xunAllKeChengbyStudent(String sno);/查询自身的信息public student xunStudent(String sno);/查询所选课程的成绩public List xunChengJibyStudent(String sno,score s);/退课public boolean deleteCoursebyStudent(String sno,course c);/退出系统public void backSystembyStudent();3.老师模块底层代码:package xiangmu.dao;import java.util.List;import xiangmu.po.student;import xiangmu.po.teacher;public interface TeacherDao /登录系统public boolean inToSystembyTeacher(String tno,String tpassword);/查询所有自身所带课程的所有学生的信息public List xunAllStudentbyStudent(String tno);/输入成绩(在上一步的结果上,输入成绩)public boolean chengjibyTeacher(String sno,String sscore,String cno);/查询自身的信息public teacher xunTeacherbyTeacher(String tno);/退出系统5.主界面的servlet代码如下:package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class main extends HttpServletprivate static final long serialVersionUID = 1L;Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException req.setCharacterEncoding(utf-8);resp.setContentType(text/html;charset=utf-8);PrintWriter out = resp.getWriter();String username = req.getParameter(username);String password = req.getParameter(password);String yonghu = req.getParameter(yonghu);if(yonghu.equals(student)req.getRequestDispatcher(/studentcaozuo).forward(req, resp);else if(yonghu.equals(teacher)req.getRequestDispatcher(/teachercaozuo).forward(req, resp);else if(yonghu.equals(manager)req.getRequestDispatcher(/managercaozuo).forward(req, resp);Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException this.doGet(req, resp);6 管理员界面的代码: package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import xiangmu.daoimpl.ManagerDaoimpl;import xiangmu.po.manager;public class managercaozuo extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out = response.getWriter(); String username = request.getParameter(username); String password = request.getParameter(password); manager m = new manager(username,password); ManagerDaoimpl mipml = new ManagerDaoimpl(); if(mipml.inToSystem(m) request.getRequestDispatcher(managergongneng.jsp).forward(request, response); else request.getRequestDispatcher(/managerdengluerror).forward(request, response); out.println(username); out.println(password);7.学生模块界面的代码: package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import xiangmu.daoimpl.StudentDaoimpl;public class studentcaozuo extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out = response.getWriter(); String sno = request.getParameter(username); String spassword = request.getParameter(password); StudentDaoimpl simpl = new StudentDaoimpl(); String sname = simpl.chaSnameforSno(sno); HttpSession sessionsno = request.getSession(); HttpSession sessionsname = request.getSession(); sessionsno.setAttribute(sno, sno); sessionsname.setAttribute(sname, sname); if(simpl.inToSystembyStudent(sno, spassword) request.getRequestDispatcher(student/studentgongneng.jsp).forward(request, response); else request.getRequestDispatcher(/managerdengluerror).forward(request, response); out.println(sno); out.println(spassword);8.老师界面的servlet代码:package xiangmu.gongneng;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import xiangmu.daoimpl.TeacherDaoimpl;public class teachercaozuo extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out = response.getWriter(); String tno = request.getParameter(username); String tpassword = request.getParameter(password); TeacherDaoimpl timpl = new TeacherDaoimpl(); String tname = timpl.chaTnameforTno(tno); if(timpl.inToSystembyTeacher(tno, tpassword) request.getRequestDispatcher(teacher/teachergongneng.jsp?tname=+tname+).forward(request, response); else request.getRequestDispatcher(/managerdengluerror).forward(request, response); out.println(tno); out.println(tpassword); out.flush(); out.close(); 六 数据库设计的代码: /创建课程表create table t_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间的推算app课件
- 五轴铣操作培训大纲
- 油画棒花束课件
- 2025版高空作业施工合同签订注意事项与要点
- 二零二五年度建筑劳务临时用工劳动合同管理规范
- 2025版二手车交易车辆抵押贷款服务合同
- 2025版路灯工程知识产权许可合同范本
- 二零二五年度鱼塘承包与渔业教育培训服务合同
- 二零二五年度智能家居设备租赁服务合同汇编
- 二零二五年度教育机构电脑租赁与教学资源合同
- 人教版(2019)高考英语一轮复习:必修1-选择性必修4 共7册必背单词表汇编(字母顺序版)
- LY/T 1788-2023木材性质术语
- 大学美育(第二版) 课件 第四单元:绘画艺术 课件
- 肿瘤学临床教学设计
- 教师成长规划总结反思报告
- 部编版小学语文六年级下册毕业升学模拟测试卷3份 (含答案) (三十六)
- 2024届吉林省高考冲刺生物模拟试题含解析
- TSM0501G 丰田试验测试标准
- 工程全过程造价咨询服务方案工程全过程投标技术方案
- 民事起诉状(网购虚假宣传)律师拟定版本
- 精神发育迟滞的护理查房
评论
0/150
提交评论