软件工程专业学生选课系统设计样本.doc
《软件工程专业学生选课系统设计样本.doc》由会员分享,可在线阅读,更多相关《软件工程专业学生选课系统设计样本.doc(22页珍藏版)》请在咨信网上搜索。
学生选课系统实验报告 项目名称:学生选课系统 姓名: 学号: 班级: 指引教师: 一. 课程设计目与规定 通过软件开发实战训练,进一步掌握软件工程办法和技术,提高软件开发实际能力,培养工程设计和综合分析,解决问题能力。 详细如下: 学习和实践在分析和设计计算机应用系统所需要知识,涉及面向对象系统分析与设计,编码和测试方面知识; 1. 学习使用MyEclipse开发工具使用。 2. 进一步加强和提高软件工程文档编写能力; 3. 培养协作能力和团队精神。 一. 设计正文 1. 概述 1.1 课程题目:学生选课系统 1.2系统重要目的: 本系统目的是实现选课系统需所需各种基本功能,涉及学生选课,教师查看选修课程,提交课程成绩功能以及管理添加学生,维护学生信息,成绩管理,添加教师,维护教师信息。维护选修课程,查看学生信息,查看教师信息,查看课程信息。更新学生,教师,和课程信息。涉及增长修改删除查找。 1.3 系统开发环境及运营环境 操作系统:windows 建模工具 数据库系统:sqlserver 开发工具:MyEclipse8.6 WEB服务器:Tomcat 2. 系统需求分析 学生选课系统重要满足来自三个方面需求,这三个方面分别是学生顾客,教师顾客和管理员顾客,也即是三类顾客角色。 (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 字段名 字段类型 字段长度 与否为空 与否为主键 描述 tno varcher 10 是 教师号 teacher pessword varcher 10 是 密码 tname varcher 10 是 姓名 tsex varcher 5 是 性别 dno varcher 10 否 系别 cnumber varcher 10 否 所带课程号 课程表t-course 字段名 字段类型 字段长度 与否为空 与否为主键 描述 cname varcher 10 否 课程名 cno varcher 10 是 课程号 csore double 否 课程学分 dno varcher 10 否 课程系别 成绩表t-score 字段名 字段类型 字段长度 与否为空 与否为主键 描述 cno varcher 10 否 课程号 son varcher 10 否 学号 score varcher 10 是 成绩 学生表t-student 字段名 字段类型 字段长度 与否为空 与否为主键 描述 sno varcher 10 是 学号 sname varcher 10 否 姓名 ssex varcher 5 否 性别 dno varcher 10 否 系别 sage int 否 年龄 spassword varcher 10 否 密码 管理员t-manager 字段名 字段类型 字段长度 与否为空 与否为主键 描述 manager varcher 10 是 账号 managerpassword varcher 10 否 密码 系表 字段名 字段类型 字段长度 与否为空 与否为主键 描述 dno varcher 10 是 系号 dname varcher 10 否 系名 五.程序某些代码: 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<student> 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<teacher> 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<course> 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<StuChengJi> xunAllKeChengbyStudent(String sno); //查询自身信息 public student xunStudent(String sno); //查询所选课程成绩 public List<score> 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<student> 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 HttpServlet{ private static final long serialVersionUID = 1L; @Override protected 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); } } @Override protected 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_course( cno varchar(10) primary key , cname varchar(10) , cscore varchar(5) , dno varchar(10) foreign KEY (dno) REFERENCES t_dept(dno) ) //创立系表 create table t_dept( dno varchar(10) primary key, dname varchar(10) ) //创立学生表 create table t_student( sno varchar(10) primary key, spassword varchar(10), sname varchar(10), ssex varchar(5), sage int , dno varchar(10) foreign KEY (dno) REFERENCES t_dept(dno), ) //创立教师表 create table t_teacher( tno varchar(10) primary key, tpassword varchar(10) , tname varchar(10), tsex varchar(5) , dno varchar(10) foreign KEY(dno) REFERENCES t_dept(dno), cno varchar(10) foreign KEY(cno) REFERENCES t_course(cno) ) //创立成绩表 create table t_score( cno varchar(10) foreign KEY(cno) REFERENCES t_course(cno), sno varchar(10) foreign KEY(sno) REFERENCES t_student(sno), sscore varchar(5), primary KEY(sno,cno) ) //创立管理员表 create table t_manager( managerid varchar(10) primary KEY, managerpassword varchar(10) ) 七. 程序某些界面: 1.学生界面: 2.教师操作界面某些截图: 3.管理员操作界面某些截图: 八. 总结: 纯熟掌握了学生选课有关业务逻辑,并且可以纯熟掌握关于SSH有关增删改查操作。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 专业 学生 选课 系统 设计 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文