最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

软件工程专业——学生选课系统设计

来源:动视网 责编:小OO 时间:2025-10-02 00:51:39
文档

软件工程专业——学生选课系统设计

学生选课系统实验报告项目名称:学生选课系统姓名:学号:班级:指导老师:一.课程设计的目的与要求通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计和综合分析,解决问题的能力。具体如下:学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;1.学习使用MyEclipse开发工具的使用。2.进一步加强和提高软件工程文档的编写能力;3.培养协作能力和团队精神。一.设计正文1.概述1.1课程题目:学生选课系统1.2
推荐度:
导读学生选课系统实验报告项目名称:学生选课系统姓名:学号:班级:指导老师:一.课程设计的目的与要求通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计和综合分析,解决问题的能力。具体如下:学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;1.学习使用MyEclipse开发工具的使用。2.进一步加强和提高软件工程文档的编写能力;3.培养协作能力和团队精神。一.设计正文1.概述1.1课程题目:学生选课系统1.2
 学生选课系统实验报告

 

项目名称:学生选课系统

                                  

姓名:

学号:

班级:

指导老师:

一.课程设计的目的与要求

通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计和综合分析,解决问题的能力。

具体如下:

学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;

1. 学习使用MyEclipse开发工具的使用。

2.进一步加强和提高软件工程文档的编写能力;

3.培养协作能力和团队精神。

一.设计正文

1.概述

1.1 课程题目:学生选课系统

1.2系统的主要目标:

 本系统的目标是实现选课系统需所需的各种基本功能,包括学生选课,教师查看选修的课程,提交课程成绩功能以及管理添加学生,维护学生的信息,成绩管理,添加教师,维护教师的信息。维护选修课程,查看学生的信息,查看教师的信息,查看课程的信息。更新学生,老师,和课程的信息。包括增加修改删除查找。

 1.3 系统的开发环境及运行环境

 操作系统:windows

 建模工具

 数据库系统:sqlserver2005

 开发工具:MyEclipse8.6

 服务器: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

字段名字段类型字段长度是否为空是否为主键描述
tnovarcher10教师号
teacher pessword

varcher10密码
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 {

 管理员登录

 增加学生

 根据学生的学号修改学生的信息

 根据学号删除学生的全部信息

 根据学号查询学生的信息

 查询所有学生的信息

 增加老师

 根据教师号修改教师的信息

 根据教师号删除教师的信息

 根据教师号查询教师的信息

 查询所有教师的信息

 增加课程

 根据课程号修改课程的信息

 根据课程号删除课程的信息

 根据课程号查询课程的信息

 查询所有课程的信息

 退出系统

}

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 {

 登录系统

 选课

 查询所有已选课程

 查询自身的信息

 查询所选课程的成绩

 退课

 退出系统

}

3.老师模块底层代码:

package xiangmu.dao;

import java.util.List;

import xiangmu.po.student;

import xiangmu.po.teacher;

public interface TeacherDao {

 登录系统

 查询所有自身所带课程的所有学生的信息

 输入成绩(在上一步的结果上,输入成绩)

 查询自身的信息

 退出系统

}

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{

      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);

     }

      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 {

      throws ServletException, IOException {

      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 {

      throws ServletException, IOException {

     this.doPost(request, 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 {

      throws ServletException, IOException {

      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.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的相关增删改查的操作。

文档

软件工程专业——学生选课系统设计

学生选课系统实验报告项目名称:学生选课系统姓名:学号:班级:指导老师:一.课程设计的目的与要求通过软件开发的实战训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计和综合分析,解决问题的能力。具体如下:学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;1.学习使用MyEclipse开发工具的使用。2.进一步加强和提高软件工程文档的编写能力;3.培养协作能力和团队精神。一.设计正文1.概述1.1课程题目:学生选课系统1.2
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top