第4章在线选课系统1、系统设计•系统特点•功能设计•用户界面草图•页面迁移图•页面功能设计2、数据库设计3、JSP页面程序4、系统功能完善4.1系统设计4.1.1系统特点在线选课系统通过Web应用程序的方式实现在线选课的流程。学生登录系统后可以查看所有课程的选课情况,并且可以对选课人数没有满员的课程操作,同时可以查看自己已经选择的课程。教师登录系统后可以查看所有课程的选课情况,也可以添加可选的课程,并充当管理员角色。4.2.2功能设计(1)登录(2)学生选课模块(3)学生选课结果浏览模块(4)教师查看所有课程选择结果模块(5)添加课程模块用例图UseCase学生选课登录选课结果添加课程课程一览学生教师4.2.3用户界面草图登录页面草图用户名:200104002密码:******登录清除学生教师请输入用户名和密码并选择用户种别:学生选课页面草图你可以选择的课程列表如下:欢迎你,×××!选课结果一览退出登录课程编号课程名称授课老师学分上课时间操作限选人数已选人数000001操作系统张三2周一10:00-12:00选课2000000002数据库系统原理张三2周一10:00-12:00选课20011001001Java程序设计张三2周一10:00-12:00选课2000002002计算机网络张三2周一10:00-12:00选课2000002003软件工程张三2周一10:00-12:00选课2000004011人工智能张三2周一10:00-12:00选课200198005001高等数学张三2周一10:00-12:00选课2000010021英语张三2周一10:00-12:00选课200156030001管理信息系统张三2周一10:00-12:00选课2000000201数据挖掘张三2周一10:00-12:00选课2009学生选课结果一览页面草图你已经选择的课程列表如下:欢迎你,×××!继续选课退出登录课程编号课程名称授课老师学分上课时间000001操作系统张三2周一10:00-12:00000002数据库系统原理张三2周一10:00-12:00001001Java程序设计张三2周一10:00-12:00002002计算机网络张三2周一10:00-12:00002003软件工程张三2周一10:00-12:00004011人工智能张三2周一10:00-12:00005001高等数学张三2周一10:00-12:00010021英语张三2周一10:00-12:00030001管理信息系统张三2周一10:00-12:00000201数据挖掘张三2周一10:00-12:00教师查看选课结果一览页面草图目前的选课情况如下:欢迎你,×××!添加新课程退出登录课程编号课程名称授课老师学分上课时间限选人数已选人数000001操作系统张三2周一10:00-12:002000000002数据库系统原理张三2周一10:00-12:0020011001001Java程序设计张三2周一10:00-12:002000002002计算机网络张三2周一10:00-12:002000002003软件工程张三2周一10:00-12:002000004011人工智能张三2周一10:00-12:00200198005001高等数学张三2周一10:00-12:002000010021英语张三2周一10:00-12:00200156030001管理信息系统张三2周一10:00-12:002000000201数据挖掘张三2周一10:00-12:002009教师添加课程页面草图请输入新课程详细信息:欢迎你,×××!课程情况一览退出登录课程编号课程名称教师姓名学分上课时间星期一10:00~12:00星期一10:00~12:00限制人数登录清除4.1.4页面迁移图首页登录选课页面退出退出学生选课结果一览页面链接选课链接教师课程一览页面登录添加课程页面链接链接退出退出在线选课系统页面迁移图4.1.5页面功能基本设计(1)登录页面设计(2)学生选课页面设计(3)选课结果一览页面设计(4)教师课程一览页面设计(5)添加页面设计4.3数据库设计字段名类型长度是否为主键是否为空说明USERNAMEVarchar20是否用户登录用户名PASSWORDVarchar20否否用户登录密码RealNameVarchar20否否用户真实姓名Rolechar1否否0:学生,1:教师(1)用户表USER4.3数据库设计(2)课程信息表Course字段名类型长度是否为主键是否为空说明Course_IDchar6是否课程编号Course_Namevarchar40否否课程名称Teachervarchar40否否授课老师姓名PointInt否否学分Time_1char2否否第一次上课时间Time_2char2否否第二次上课时间LimitedInt否否限选人数4.3数据库设计(3)选课表Elective字段名类型长度是否为主键是否为空说明UserNamevarchar20是否选课学生的用户名Coursechar6是否对应课程编号创建用户表UserCREATETABLEUser(UserNameVarchar(20)NOTNULL,PasswordVarchar(20)NOTNULL,RealNameVarchar(20)NOTNULL,Rolechar(1)NOTNULL,PRIMARYKEY(UserName));创建课程信息表CourseCREATETABLECourse(Course_IDchar(6)NOTNULL,Course_NameVarchar(40)NOTNULL,TeacherVarchar(40)NOTNULL,PointIntNOTNULL,Time_1char(2)NOTNULL,Time_2char(2)NOTNULL,LimitedIntNOTNULL,PRIMARYKEY(Course_ID));创建选课表ElectiveCREATETABLEElective(UserNameVarchar(20)NOTNULL,Course_IDchar(6)NOTNULL,PRIMARYKEY(UserName,Course_ID));4.4.1目录结构4.4JSP程序设计目录对应功能\ch04根目录,放主要的HTML和JSP文件\img图片存放路径,页面上显示的图片都放在这里\common页面用到的JavaScript脚本文件和CSS定义文件\inc页面共通使用的JSP代码块\WEB-INFTomcatWeb应用程序必备文件夹,放置web.xml文件\src放置Servlet的Java代码\classes放置Servlet的Java类文件\lib放置需要用到的第三方工具,如JDBC驱动程序等