项目名称:学生选课系统
姓名:
学号:
班级
指导老师:
. 课程设计目求
通软件开发实战训练进步掌握软件工程方法技术提高软件开发实际力培养工程设计综合分析解决问题力
具体:
学实践分析设计计算机应系统需知识包括面象系统分析设计编码测试方面知识
1 学MyEclipse开发工具
2 进步加强提高软件工程文档编写力
3 培养协作力团队精神
. 设计正文
1 概述
11 课程题目:学生选课系统
12系统目标:
系统目标实现选课系统需需种基功包括学生选课教师查选修课程提交课程成绩功理添加学生维护学生信息成绩理添加教师维护教师信息维护选修课程查学生信息查教师信息查课程信息更新学生老师课程信息包括增加修改删查找
13 系统开发环境运行环境
操作系统:windows
建模工具
数库系统:sqlserver2005
开发工具:MyEclipse86
WEB服务器:Tomcat
2 系统需求分析
学生选课系统满足三方面需求三方面分学生户教师户理员户三类户角色
(1) 学生户需求者需求功查询选课程查选课情况进行选课
(2) 教师户需求功查教授课程课程学生选修利系统提交学生成绩
(3) 理员户功需求较复杂包括学生信息教师信息课程信息进行理学生信息理子模块中实现学生信息添加修改删操作输入查询条件进行查询操作教室理模块中实现教师信息添加修改删查询操作课程理子模块中实现课程添加修改删操作查询操作
系统理员户教师户学生户身份权限进行严格划分理员拥高权限查维护系统中信息添加学生添加课程修改课程信息等教师拥查开设课程信息提交开设课程成绩权限学生拥选课权限
21 系统例图
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查询身信息
四.系统数字典:
教师号Tteacher
字段名
字段类型
字段长度
否空
否键
描述
tno
varcher
10
教师号
teacher pessword
varcher
10
密码
tname
varcher
10
姓名
tsex
varcher
5
性
dno
varcher
10
否
系
cnumber
varcher
10
否
带课程号
课程表tcourse
字段名
字段类型
字段长度
否空
否键
描述
cname
varcher
10
否
课程名
cno
varcher
10
课程号
csore
double
否
课程学分
dno
varcher
10
否
课程系
成绩表tscore
字段名
字段类型
字段长度
否空
否键
描述
cno
varcher
10
否
课程号
son
varcher
10
否
学号
score
varcher
10
成绩
学生表tstudent
字段名
字段类型
字段长度
否空
否键
描述
sno
varcher
10
学号
sname
varcher
10
否
姓名
ssex
varcher
5
否
性
dno
varcher
10
否
系
sage
int
否
年龄
spassword
varcher
10
否
密码
理员tmanager
字段名
字段类型
字段长度
否空
否键
描述
manager
varcher
10
账号
managerpassword
varcher
10
否
密码
系表
字段名
字段类型
字段长度
否空
否键
描述
dno
varcher
10
系号
dname
varcher
10
否
系名
五程序部分代码:
1.理员底层代码:
package xiangmudao
import javautilList
import xiangmupocourse
import xiangmupomanager
import xiangmupostudent
import xiangmupoteacher
public interface ManagerDao {
理员登录
public boolean inToSystem(manager m)
增加学生
public boolean addStudentforManager(student s)
根学生学号修改学生信息
public boolean updateStudentforManager(String snostudent s)
根学号删学生全部信息
public boolean deleteStudentforManager(String sno)
根学号查询学生信息
public student selectStudentforManager(String sno)
查询学生信息
public List
增加老师
public boolean addTeacherforManager(teacher t)
根教师号修改教师信息
public boolean updateTeacherforManager(String tnoteacher t)
根教师号删教师信息
public boolean deleteTeacherforManager(String tno)
根教师号查询教师信息
public teacher selectTeacherforManager(String tno)
查询教师信息
public List
增加课程
public boolean addCourseforManager(course c)
根课程号修改课程信息
public boolean updateCourseforManager(String cnocourse c)
根课程号删课程信息
public boolean deleteCourseforManager(String cno)
根课程号查询课程信息
public course selectCourseforManager(String cno)
查询课程信息
public List
退出系统
public void backSystem()
}
2学生模块底层代码:
package xiangmudao
import javautilList
import xiangmupoStuChengJi
import xiangmupocourse
import xiangmuposcore
import xiangmupostudent
public interface StudentDao {
登录系统
public boolean inToSystembyStudent(String snoString spassword)
选课
public boolean xunKebyStudent(String snoString cno)
查询已选课程
public List
查询身信息
public student xunStudent(String sno)
查询选课程成绩
public List
退课
public boolean deleteCoursebyStudent(String snocourse c)
退出系统
public void backSystembyStudent()
}
3老师模块底层代码:
package xiangmudao
import javautilList
import xiangmupostudent
import xiangmupoteacher
public interface TeacherDao {
登录系统
public boolean inToSystembyTeacher(String tnoString tpassword)
查询身带课程学生信息
public List
输入成绩(步结果输入成绩)
public boolean chengjibyTeacher(String snoString sscoreString cno)
查询身信息
public teacher xunTeacherbyTeacher(String tno)
退出系统
}
5界面servlet代码:
package xiangmugongneng
import javaioIOException
import javaioPrintWriter
import javaxservletServletException
import javaxservlethttpHttpServlet
import javaxservlethttpHttpServletRequest
import javaxservlethttpHttpServletResponse
public class main extends HttpServlet{
private static final long serialVersionUID 1L
@Override
protected void doGet(HttpServletRequest req HttpServletResponse resp)
throws ServletException IOException {
reqsetCharacterEncoding(utf8)
respsetContentType(texthtmlcharsetutf8)
PrintWriter out respgetWriter()
String username reqgetParameter(username)
String password reqgetParameter(password)
String yonghu reqgetParameter(yonghu)
if(yonghuequals(student)){
reqgetRequestDispatcher(studentcaozuo)forward(req resp)
}else if(yonghuequals(teacher)){
reqgetRequestDispatcher(teachercaozuo)forward(req resp)
}else if(yonghuequals(manager)){
reqgetRequestDispatcher(managercaozuo)forward(req resp)
}
}
@Override
protected void doPost(HttpServletRequest req HttpServletResponse resp)
throws ServletException IOException {
thisdoGet(req resp)
}
}
6. 理员界面代码:
package xiangmugongneng
import javaioIOException
import javaioPrintWriter
import javaxservletServletException
import javaxservlethttpHttpServlet
import javaxservlethttpHttpServletRequest
import javaxservlethttpHttpServletResponse
import xiangmudaoimplManagerDaoimpl
import xiangmupomanager
public class managercaozuo extends HttpServlet {
private static final long serialVersionUID 1L
public void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
thisdoPost(request response)
}
public void doPost(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
PrintWriter out responsegetWriter()
String username requestgetParameter(username)
String password requestgetParameter(password)
manager m new manager(usernamepassword)
ManagerDaoimpl mipml new ManagerDaoimpl()
if(mipmlinToSystem(m)){
requestgetRequestDispatcher(managergongnengjsp)forward(request response)
}else{
requestgetRequestDispatcher(managerdengluerror)forward(request response)
}
outprintln(username)
outprintln(password)
}
}
7学生模块界面代码:
package xiangmugongneng
import javaioIOException
import javaioPrintWriter
import javaxservletServletException
import javaxservlethttpHttpServlet
import javaxservlethttpHttpServletRequest
import javaxservlethttpHttpServletResponse
import javaxservlethttpHttpSession
import xiangmudaoimplStudentDaoimpl
public class studentcaozuo extends HttpServlet {
private static final long serialVersionUID 1L
public void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
thisdoPost(request response)
}
public void doPost(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
PrintWriter out responsegetWriter()
String sno requestgetParameter(username)
String spassword requestgetParameter(password)
StudentDaoimpl simpl new StudentDaoimpl()
String sname simplchaSnameforSno(sno)
HttpSession sessionsno requestgetSession()
HttpSession sessionsname requestgetSession()
sessionsnosetAttribute(sno sno)
sessionsnamesetAttribute(sname sname)
if(simplinToSystembyStudent(sno spassword)){
requestgetRequestDispatcher(studentstudentgongnengjsp)forward(request response)
}else{
requestgetRequestDispatcher(managerdengluerror)forward(request response)
}
outprintln(sno)
outprintln(spassword)
}
}
8老师界面servlet代码:
package xiangmugongneng
import javaioIOException
import javaioPrintWriter
import javaxservletServletException
import javaxservlethttpHttpServlet
import javaxservlethttpHttpServletRequest
import javaxservlethttpHttpServletResponse
import xiangmudaoimplTeacherDaoimpl
public class teachercaozuo extends HttpServlet {
private static final long serialVersionUID 1L
public void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
thisdoPost(request response)
}
public void doPost(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
PrintWriter out responsegetWriter()
String tno requestgetParameter(username)
String tpassword requestgetParameter(password)
TeacherDaoimpl timpl new TeacherDaoimpl()
String tname timplchaTnameforTno(tno)
if(timplinToSystembyTeacher(tno tpassword)){
requestgetRequestDispatcher(teacherteachergongnengjsptname+tname+)forward(request response)
}else{
requestgetRequestDispatcher(managerdengluerror)forward(request response)
}
outprintln(tno)
outprintln(tpassword)
outflush()
outclose()
}
}
六. 数库设计代码:
创建课程表
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(snocno)
)
创建理员表
create table t_manager(
managerid varchar(10) primary KEY
managerpassword varchar(10)
)
七. 程序部分界面:
1.学生界面:
2老师操作界面部分截图:
3理员操作界面部分截图:
八. 总结:
熟练掌握学生选课相关业务逻辑够熟练掌握关SSH相关增删改查操作
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档