《软件工程专业——学生选课系统设计》由会员分享,可在线阅读,更多相关《软件工程专业——学生选课系统设计(16页珍藏版)》请在金锄头文库上搜索。
1、 学生选课系统实验报告学生选课系统实验报告项目名称:项目名称:学生选课系统姓名:姓名:学号:学号:班级班级:指导老师:指导老师:一课程设计的目的与要求 通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力, 培养工程设计和综合分析,解决问题的能力。 具体如下: 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计, 编码和测试方面的知识; 1. 学习使用 MyEclipse 开发工具的使用。 2.进一步加强和提高软件工程文档的编写能力; 3.培养协作能力和团队精神。 一设计正文 1.概述 1.1 课程题目:学生选课系统 1.2 系统的主要目标
2、:本系统的目标是实现选课系统需所需的各种基本功能,包括学生选课,教师查 看选修的课程,提交课程成绩功能以及管理添加学生,维护学生的信息,成绩管理, 添加教师,维护教师的信息。维护选修课程,查看学生的信息,查看教师的信息, 查看课程的信息。更新学生,老师,和课程的信息。包括增加修改删除查找。1.3 系统的开发环境及运行环境操作系统:windows建模工具数据库系统:sqlserver2005开发工具:MyEclipse8.6WEB 服务器:Tomcat 2.系统的需求分析 学生选课系统的主要满足来自三个方面的需求,这三个方面分别是学生用户,教 师用户和管理员用户,也即是三类用户角色。 (1)学生
3、用户是主要的需求者,主要的需求功能是查询可选课程,查看自己的 选课情况及进行选课。 (2)教师用户主要需求功能是查看自己所教授的课程,课程有哪些学生选修, 以及利用本系统提交学生的成绩 (3)管理员用户的功能需求较为复杂,包括对学生的信息,教师的信息,课程 的信息进行管理。在学生信息管理子模块中实现对学生的信息的添加,修 改,删除操作。还可以输入查询条件进行查询操作。在教室管理模块中实 现对教师信息的添加,修改删除,查询操作。在课程管理的子模块中实现 对课程的添加,修改,删除操作,查询操作。本系统将管理员用户,教师用户,学生用户的身份及权限进行严格的划分,让管 理员拥有最高权限,可以查看,维护
4、系统中的所有信息,如添加学生,添加课程,修改课 程的信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程的成绩的权限; 让学生拥有选课的权限。2.1 系统用例图3.系统的总体设计二管理员模块:1.对老师的操作: 1)增加老师 2)根据教师号码修改教师信息 3)根据教师号码删除教师信息 4)根据教师号码查询教师的信息 5)查询所有教师的信息 2.对学生的操作 1)增加学生 2)根据学号修改学生信息 3)根据学号删除学生信息 4)根据学号查询学生信息 5)查询所有学生信息 3.对课程的操作 1)增加课程 2)根据课程号修改课程信息 3)根据课程号删除课程的信息 4 根据课程号查询课程的信
5、息 5)查询所有课程 二学生模块 1.登录系统 2.选课(只能选修学分小于等于 8 分的课程) 3.查询所有已选的课 4.退可操作 5.查询自身信息 6.查询所有所选课程的成绩 7.退出系统 三老师模块 1.登录系统 2.查询所有已选自带课程的学生信息 3.输入相应科目成绩 4.查询自身信息 四系统的数据字典:教师号 T-teacher字段名字段类型字段长度是否为空是否为主键描述tnovarcher10是教师号teacher pesswordvarcher10是密码tnamevarcher10是姓名tsexvarcher5是性别dnovarcher10否系别cnumbervarcher10否所
6、带课程号课程表 t-course字段名字段类型字段长度是否为空是否为主键描述cnamevarcher10否课程名cnovarcher10是课程号csoredouble否课程的学分dnovarcher10否课程的系别成绩表 t-score字段名字段类型字段长度是否为空是否为主键描述cnovarcher10否课程号sonvarcher10否学号scorevarcher10是成绩学生表 t-student字段名字段类型字段长度是否为空是否为主键描述snovarcher10是学号snamevarcher10否姓名ssexvarcher5否性别dnovarcher10否系别sageint否年龄spass
7、wordvarcher10否密码管理员 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
8、 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); /根据学号查询学生
9、的信息 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); /根据教师号
10、查询教师的信息 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); /根据课程号查
11、询课程的信息 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 in
12、terface 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(Stri
13、ng 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(Str
14、ing 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
15、 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 =
16、 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(“/studen