java-ee-学生选课管理系统大作业报告.doc
《java-ee-学生选课管理系统大作业报告.doc》由会员分享,可在线阅读,更多相关《java-ee-学生选课管理系统大作业报告.doc(47页珍藏版)》请在咨信网上搜索。
重庆科技学院 《JavaEE企业级开发技术》非标准答案考试试题 题 目: 学生选课成绩管理系统实现 学生姓名: 张XX 学 号: 2018XXXXXX 学 院: 智能技术与工程学院 专业班级: 计科XXX 完成日期:2019年 12月30日 成绩(百分制): 授 课 教 师: 试题题目: 试题内容及要求: 同学们根据观察自身生活环境,学习工作环境,身边的商业实体,建议自拟题目,设计一个软件系统,并实现。 系统实现具体要求如下: 1. 要有整个软件比较详细的系统功能说明。 2. 整个系统设计要有前端(UI设计)、业务层设计( Biz),控制层设计(Controller),数据持久层设计( DAO),及数据库设计( DB),数据库表不少于3张。 3. 要有详细的配置文件说明(Spring,MyBatis,SpringMVC,web 等)。 4. 系统整个界面美观,功能完备,能正常运行。 5. 形成完整的系统设计报告,报告格式规范。 备注:可供参考的系统题目 l 银行管理系统 l 图书管理系统 l 成绩管理系统 l 工资管理系统 l 商店销售系统 l 理发店客户管理系统 l 快递客户管理系统 评分 1 2 3 4 5 总分 目录 一 需求分析 4 (一) 项目设计目标 4 (二) 功能需求 4 二 概要设计 7 (一) 数据库设计 7 (二) 数据库实施 9 三 功能实现 13 (一) 模块设计 13 (二) 框架设计 14 (三) 编程实现 14 (四) 模块设计与实现 41 四 总结 47 一 需求分析 (一) 项目设计目标 本系统针对学生选课成绩进行管理,通过本系统对学生选课成绩管理进行有效管理。根据对学生选课管理系统的要求,制定简易学生管理系统。因为最终使用的用户都是普通的老师学生,并不具全都备良好地计算机使用水平,所以本系统的界面比较简洁、美观,使用也比较方便,操作几次就可以熟悉使用方式,不需要针对最终用户进行使用培训。 本系统可以达到以下目标: (1)、灵活的人机交互界面,操作简单方便、界面简洁美观; (2)、可以通过菜单、导航栏灵活的操作; (3)、对学生选课成绩管理功能; (4)、可以实现对信息的查询; (5)、可以修改管理员密码; (6)、系统最大限度的实现了易维护性和易操作性; (7)、系统运行稳定、安全可靠。 (二) 功能需求 选课与成绩管理功能模块表: 模块名称: 登录模块 模块标识 Login 功能: 使用学号、教师账号、管理员帐号登录 输入: 学号或工号或admin 处理: 后端进行登录操作 输出: 登录成功跳转至对应的系统主页 失败后跳回登录页面并提示错误信息 表1.2.1 模块名称: 教师管理模块 模块标识 AdminTeacher 功能: 对教师信息进行管理 输入: 增加教师信息、删除教师信息、修改教师信息、查询教师信息 处理: 1、 可以添加新的教师信息 2、根据ID修改教师信息 3、根据ID删除教师信息 4、根据教师姓名查询教师信息 输出: 操作成功或失败进行提示 表1.2.2 模块名称: 学生管理模块 模块标识 AdminCourse 功能: 对学生信息进行管理 输入: 增加学生信息、删除学生信息、修改学生信息、查询学生信息 处理: 2、 可以添加新的学生信息 2、根据ID修改学生信息 3、根据ID删除学生信息 4、根据教师姓名查询学生信息 输出: 操作成功或失败进行提示 表1.2.3 模块名称: 课程管理模块 模块标识 AdminCourse 功能: 对课程信息进行管理 输入: 增加课程信息、删除教课程信息、修改课程信息、查询课程信息 处理: 1、 可以添加新的课程信息 2、根据ID修改课程信息 3、根据ID删除课程信息 4、根据教师姓名查询课程信息 输出: 操作成功或失败进行提示 表1.2.4 模块名称: 学生选课模块 模块标识 ChooseCourse 功能: 学生完成对课程的选择和取消 输入: 1、 如果没有选择该课程可以进行课程选择,如果已经选择了,只能取消课程 2、 查询课程 处理: 如果学生选择了课程,数据提交到后台,然后将数据写入数据库 输出: 操作成功或失败进行提示 表1.2.5 模块名称: 课表查询模块 模块标识 ClassTable 功能: 学生只能查询自己的课程表 输入: 查询自己的课程表 处理: 根据学生登录的账号,查询已选择的课程信息表 输出: 显示自己的课程表 表1.2.6 模块名称: 成绩查询模块 模块标识 StudengGrade 功能: 学生可以对自己各科的成绩进行查询 输入: 查询成绩 处理: 根据学生登录的账号,查询相关的成绩 输出: 显示自己的各科的成绩 表1.2.7 模块名称: 成绩管理模块 模块标识 TeacherGrades 功能: 教师可以查询选择了自己课程的学生信息以及成绩信息 输入: 输入相应的成绩 处理: 后台获取输入的成绩,然后更新数据库中学生对应的成绩 输出: 显示选择自己课程的所有学生的信息和成绩 表1.2.8 模块名称: 密码修改模块 模块标识 ChangePassword 功能: 每个账户都能修改自己的密码 输入: 输入原密码和新密码 处理: 后台获取用户输入的密码进行判断,如果成功就修改数据库信息 输出: 返回登录界面 表1.2.9 二 概要设计 (一) 数据库设计 1、 构成系统的实体 2、 系统总体E-R图 3、 E-R图转化成物理模型 4、 学生选课管理系统的数据字典 字段名 类型 是否主键 说明 adminId varchar(20) 是 管理员ID adminPassword varchar(20) 否 管理员的密码 表2.1.1 系统管理员表 字段名 类型 是否主键 说明 couId varchar(20) 是 课程ID couName varchar(20) 否 课程名 couTime varchar(20) 否 课程时间 couPlace varchar(20) 否 课程地点 couTeacherId varchar(20) 否 课程任课老师的ID couItem varchar(20) 否 课程的学期 表2.1.2 课程信息表 字段名 类型 是否主键 说明 gradeCouId varchar(20) 是 课程成绩ID gradeCouName varchar(20) 否 成绩对应的课程名 gradeCouTime varchar(20) 否 成绩对应课程的时间 gradeTeacherId varchar(20), 否 任课老师的ID gradeCouItem Varchar(20) 否 所属学期 gradeStuId varchar 否 成绩对应的学生的ID gradeTest VARCHAR 否 分数 表2.1.3 成绩表 字段名 类型 是否主键 说明 stuId varchar(20) 是 学生ID stuName varchar(20) 否 学生的密码 stuSex varchar(2), 否 学生的性别 stuBirthday varchar(20), 否 学生的生日 stuAddress varchar(40) 否 学生的地址 stuMajor varchar(20) 否 学生的专业 表2.1.4 学生信息表 字段名 类型 是否主键 说明 teaId varchar(20) 是 教师ID teaName varchar(20) 否 教师姓名 teaSex varchar(20) 否 教师的性别 teaBirthday varchar(20) 否 教师的生日 teaAddress varchar(20) 否 教师的地址 teaDep varchar(20) 否 教师属于哪个系 teaPassword varchar(20) 否 教师的密码 表2.1.5 教师信息表 (二) 数据库实施 1、 数据库脚本实现 drop table if exists admin; drop index Relationship_7_FK on course; drop index Relationship_4_FK on course; drop index Relationship_2_FK on course; drop table if exists course; drop index Relationship_6_FK on grades; drop table if exists grades; drop index Relationship_5_FK on student; drop index Relationship_3_FK on student; drop index Relationship_1_FK on student; drop table if exists student; drop table if exists teacher; /*=========================================================*/ /* Table: admin */ /*==========================================================*/ create table admin ( adminId varchar(20) not null, adminPassword varchar(20), adminLimit varchar(2), primary key (adminId) ) type = InnoDB; /*==========================================================*/ /* Table: course */ /*==========================================================*/ create table course ( couId varchar(20) not null, adminId varchar(20), stuId varchar(20), teaId varchar(20), couName varchar(20), couTime varchar(20), couPlace varchar(20), couItem varchar(20), primary key (couId) ) type = InnoDB; /*==========================================================*/ /* Index: Relationship_2_FK */ /*=========================================================*/ create index Relationship_2_FK on course ( adminId ); /*=========================================================*/ /* Index: Relationship_4_FK */ /*==========================================================*/ create index Relationship_4_FK on course ( stuId ); /*==========================================================*/ /* Index: Relationship_7_FK */ /*==========================================================*/ create index Relationship_7_FK on course ( teaId ); /*========================================================*/ /* Table: grades */ /*==========================================================*/ create table grades ( gradeCouId varchar(20) not null, teaId varchar(20), gradeCouName varchar(20), gradeCouTime varchar(20), gradeCouPlace varchar(20), gradeTeacherId varchar(20), gradeCouItem varchar(20), gradeStuId varchar(20), gradeTest float(3), primary key (gradeCouId) ) type = InnoDB; /*==========================================================*/ /* Index: Relationship_6_FK */ /*==========================================================*/ create index Relationship_6_FK on grades ( teaId ); /*=========================================================*/ /* Table: student */ /*========================================================*/ create table student ( stuId varchar(20) not null, adminId varchar(20), teaId varchar(20), gradeCouId varchar(20), stuName varchar(20), stuSex varchar(2), stuBirthday varchar(20), stuAddress varchar(40), stuMajor varchar(20), stuPassword varchar(20), primary key (stuId) ) type = InnoDB; /*=========================================================*/ /* Index: Relationship_1_FK */ /*=========================================================*/ create index Relationship_1_FK on student ( adminId ); /*=======================================================*/ /* Index: Relationship_3_FK */ /*======================================================*/ create index Relationship_3_FK on student ( teaId ); /*======================================================*/ /* Index: Relationship_5_FK */ /*========================================================*/ create index Relationship_5_FK on student ( gradeCouId ); /*=======================================================*/ /* Table: teacher */ /*======================================================*/ create table teacher ( teaId varchar(20) not null, teaName varchar(20), teaSex varchar(2), teaBirthday varchar(20), teaAddress varchar(40), teaDep varchar(20), teaPassword varchar(20), primary key (teaId) ) type = InnoDB; alter table course add constraint FK_Relationship_2 foreign key (adminId) references admin (adminId) on delete restrict on update restrict; alter table course add constraint FK_Relationship_4 foreign key (stuId) references student (stuId) on delete restrict on update restrict; alter table course add constraint FK_Relationship_7 foreign key (teaId) references teacher (teaId) on delete restrict on update restrict; alter table grades add constraint FK_Relationship_6 foreign key (teaId) references teacher (teaId) on delete restrict on update restrict; alter table student add constraint FK_Relationship_1 foreign key (adminId) references admin (adminId) on delete restrict on update restrict; alter table student add constraint FK_Relationship_3 foreign key (teaId) references teacher (teaId) on delete restrict on update restrict; alter table student add constraint FK_Relationship_5 foreign key (gradeCouId) references grades (gradeCouId) on delete restrict on update restrict; 三 功能实现 (一) 模块设计 本系统一共有三大模块,管理员模块、教师模块、学生模块。其中管理员模块包括教师信息管理模块、学生信息管理模块、课程信息管理模块。教师模块包括成绩管理模块。学生模块包括课程选择模块、课表查询模块、成绩查询模块 1) 登录模块 ① 登录模块:根据登陆者帐号判断其身份是管理员、教师还是学生 ② 注销模块:注销会清除当前登录者的session信息,并退出系统 2) 管理员模块 管理员可以对教师信息、学生信息、课程信息进行增删改查。 3) 学生模块 学生可以进行课程选择、课表查询、成绩查询。 4) 教师模块 教师可以对选择自己课程的学生进行查询已经成绩的修改 (二) 框架设计 根据SSM的编程设计,首先进行前端页面搭建好,然后在根据数据库的设计中的实体,建立相应的实体类,创建实体MODEL文件,在建DAO文件,创建BIZ业务逻辑的实现类,在建立CONTROLLER文件,从而完成整个项目的框架代码。 (三) 编程实现 1、 数据库连接 (1)、db.properties文件,数据库连接的驱动器和地址。 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=root jdbc.password= (2)、applicationContext.xml文件,事务管理传播行为以及切面的配置。在事务的传播行为中,只有查询方法的事务为只读,添加、修改和删除的操作必须纳入事务管理。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd" > <!-- 扫描除controller之外的包 --> <context:component-scan base-package="com.cqust"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan> <!-- 扫描jdbc连接信息的properties文件 --> <context:property-placeholder location="classpath:db.properties" /> <!-- 数据源 --> <bean id="dataSource" class="mons.dbcp2.BasicDataSource"> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!-- 事务管理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 整合mybatis --> <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 配置数据源 --> <property name="dataSource" ref="dataSource"/> <!-- 配置mybatis的配置文件位置 --> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> <!-- 配置扫描mybatis接口的实现,将其加入到ioc容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.cqust.mapper"></property> </bean> <!-- <context:component-scan base-package="com.itheima.service"/> --> <!-- 配置sqlSession --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactoryBean"></constructor-arg> <constructor-arg name="executorType" value="BATCH"></constructor-arg> </bean> <!-- 配置事务切入点 --> <aop:config> <aop:pointcut expression="execution(* com.cqust.service..*(..))" id="txPointCut" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut" /> </aop:config> <!-- 配置事务属性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="*" /> <tx:method name="get*" read-only="true" /> <tx:method name="find*" read-only="true" /> </tx:attributes> </tx:advice> </beans> (3)Mybatis.xml配置文件。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 驼峰式命名规则 --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <typeAliases> <package name="com.cqust.model"/> </typeAliases> <mappers> <mapper resource="com/cqust/mapper/AdminCourseMapper.xml"/> <mapper resource="com/cqust/mapper/GradesMapper.xml"/> </mappers> </configuration> 2、 设计实体类 (1)、管理员实体类 package com.cqust.model; public class Admin { private String adminId;//管理员ID private String adminPassword;//管理员密码 private String adminLimit;//管理员权限 public String getAdminId() { return adminId; } public void setAdminId(String adminId) { this.adminId = adminId; } public String getAdminPassword() { return adminPassword; } public void setAdminPassword(String adminPassword) {- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java ee 学生 选课 管理 系统 作业 报告
咨信网温馨提示:
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。
关于本文