首页 课程结业报告

课程结业报告

举报
开通vip

课程结业报告1. 成都东软学院 课程结业设计报告 课    程:      数据分析与处理    项目名称: 基于Excel的成绩系统开发 专业班级:      信管系物流管理一班      组    别:        3组            组    员:        詹绍楠          指导教师:        张雪燕                2014年4月 目录 1项目概述    1 1.1 内容    1 1.2 功能    1 1.3 意义    1 2项目实施    1 3 系统需...

课程结业报告
1. 成都东软学院 课程结业设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 课    程:      数据分析与处理    项目名称: 基于Excel的成绩系统开发 专业班级:      信管系物流管理一班      组    别:        3组            组    员:        詹绍楠          指导教师:        张雪燕                2014年4月 目录 1项目概述    1 1.1 内容    1 1.2 功能    1 1.3 意义    1 2项目实施    1 3 系统需求分析    3 3.1 用户身份级别功能分析    3 3.2 学生功能模块分析    4 3.3 教师功能模块分析    4 3.4 管理员功能模块分析    4 4系统概要设计    4 4.1 系统功能结构    5 4.2 系统技术架构    5 4.3 系统类图    6 4.4 系统顺序图    6 4.5 数据库设计    8 5 详细设计及实现    10 5.1 系统开发平台目录结构设计    10 5.2 数据库连接模块和整体流程    10 5.3 用户登录模块    14 5.4 学生操作模块    18 5.5 教师操作模块    21 1 项目概述 在Excel成绩管理系统中,希望处理各班信息及每个学生的学习情况信息,其中班级信息包括班号和名称,学生学习情况信息包括学号,姓名,班号等,及已学课程的课程号及成绩,并能使管理人员过操作界面完成对班级,学生信息的录入及对数据的查找。 基于EXCEL的成绩管理系统以广泛使用的OFFICE软件中的EXCEL为基础平台,采用VBA脚本语言进行二次开发,具有常用的学生成绩管理功能,重要的是充分利用了EXCEL的特点,将数据管理和统计分析功能紧密结合在一起,能够更便捷和充分的对学生成绩和相关数据进行整理和分析,以便了解教与学的效果。对于帮助提高教师管理和分析学生成绩的效率,提高教学质量和教学管理水平都具有重要的意义。 1.1内容 介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、 数据流程分析、功能设计、 数据库设计、 系统物理配置 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 、 系统实现、 系统测试和调试。本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据。。。。。。。。。。。包括功能需求描述、数据库设计等内容。 1.2功能 1、用户管理功能 用户分为管理员、教师用户、学生用户三类。不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 按学生角度管理教师可以看到学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。当教师用鼠标双击某一学生信息时,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分和平均分。在成绩信息中,教师可以对学习成绩进行增加、修改和删除。并能够打印报表。 3、学生对成绩的查看功能 学生用户登录后,学生可以看到自己的学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。成绩信息包括这个学生的所有课程的成绩信息。。。。。。。。。。。。。。。。。。。。。。。。。。 Private Sub CmdOk_Click() Dim Conn As New ADODB.Connection Dim mlink As String mlink = "provider=microsoft.jet.oledb.3.51;data source=score.mdb;" Conn.Open mlink '当用户名密码为空时给出提示 If Text1.Text = "" Then MsgBox "请。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 在frmlogin窗体中如果用户登录成功,将会出现MDI主窗体。 系统主窗体 若是学生用户,则有些菜单项不可用,只能运行本系统的部分功能(即重新登录和信息查询功能可用)。 Option Explicit '''当改变记录集时,需要刷新整个网格控件 Sub RefreshGrid() grdScan.DataMember = "" grdScan.Refresh If DataEnv.rssqlStudent.State <> adStateClosed Then DataEnv.rssqlStudent.Close DataEnv.rssqlStudent.Open grdScan.DataMember = "sqlStudent" grdScan.Ref... 1.3意义 2 项目实施 2.1 开发计划 表2-1:小组成员分工表 姓名 主要负责部分介绍 李依琳 学生基本成绩表和考勤表 罗英 总成绩表等 王莹 整理组合表格与设计PPT 詹绍楠 平时成绩表和期末项目考核成绩表     2.2主要功能模块说明 (对各张工作表的详细表述。要求论理正确、论据确凿、逻辑性强、层次分明、表达确切) 2.2.1 学生基本成绩表 (1) 主控模块 起控制作用,调用其他功能模块,并且实现不需要单独建立一个模块的小功能。 (2) 浏览模块 显示基本信息(学生、学年、课程、教师、成绩比例和操作员)及其相关的成绩(例如,某学生相关的成绩、某课程相关的成绩),并可以逐条浏览。及时反映编辑和查询的结果。 (3) 录入(成绩)模块 用于增加和修改学生成绩记录。一个学生在一个学年的一门课程的成绩是唯一的,当录入时,某学年和课程的成绩不存在就增加一条成绩记录,否则就修改原有成 绩记录。 (4) 删除(成绩)模块 用于删除学生成绩记录。 (5) 增改(成绩比例)模块 可以设置平时成绩、期中成绩和期末成绩占总成绩的比例:总成绩=平时成绩×平时成绩比例+期中成绩×期中成绩比例+期末成绩×期末成绩比例(其中,平时成绩比例+期中成绩比例+期末成绩比例=1)。 2.2.2 学生考勤表 7 **月份考勤表   姓名日期                                 1 √√ √√ △△ √√ △△ △△ √√ △△ △△ △△ √√ △△ △△ △△ √√   2 √√ √√ △△ √√ △△ √√ √√ √√ √△ △△ √√ △△ △△ △△ √√   3 √√ √√ △△ √△ △△ √√ √√ √√ √√ △△ √√ △△ △△ △△ √√   4 √√ √√ △△ √√ △△ √△ √√ √√ √√ △△ √√ △△ △△ △△ △△   5 √√ △△ △△ √√ △△ √√ △△ √√ √△ △△ √√ △△ △△ △△ △△   6 √△ △△ △△ √√ △△ √√ △△ √√ √△ △△ √√ △△ △△ △△ △△   7 √√ △△ △△ √√ △△ √√ △△ √√ √△ △△ √√ △△ △△ △△ √√   8 √√ △△ △△ √√ △△ √√ △△ √√ √√ △△ √√ △△ △△ △△ √√   9 √√ √√ △△ √√ △△ √△ △△ √√ √△ △△ √√ △△ △△ △△ √√   10 √√ √√ △△ √√ △△ √√ √√ √√ △△ △△ √√ △△ △△ △△ √√   11 √√ √√ △△ √√ △△ √√ √√ √√ √√ △△ √√ △△ △△ △△ √√   12 √√ √√ △△ √√ △△ √√ √√ √√ √√ △△ √√ △△ △△ △△ √√   13 √√ √√ △△ √√ △△ √√ √√                   14 √△ √√ △△ √√ △△ √√ √√                   15 √√ √√ △△ √√ △△ √√ √√                   16 √√ √√ △△ √√ △△ √△ √√                   17 √△ √√ △△ √√ △△ √√ √△                   18 √√ √√ △△ √√ △△ √√ √√                   19 √√ △√ △△ △√ △△ △√ √√                   20 √√ √√ △△ √√ △△ √√ √√                   21 √√ △△ △△ √√ △△ √√ √√                   22 √√ √√ △△ √√ △△ √√ √√                   23 √√ √√ △△ √√ △△ √√ √√                   24 √√ √√ △△ √√ △△ √√ √√                   25 √√ √√ △△ √√ △△ √√ √√                   26 √√ √√ △△ √√ △△ √√ √√                   27 √△ √√ △△ √√ △△ √√ √√                   28 √√ √√ △△ √√ △△ √√ √√                   29 √△ √△ △△ √△ △△ √△ √△                   30                                 31                                 合计                                                                                                     班考勤表班考勤表 1 上课时间, 每学期,每个月( 周); 2 开学日期任课老师: 任课老师: 任课老师须知; 3认真考勤,详细记录学生请假,旷课,迟到及早退情况,课后将考勤表送交办公室,以备查,如有学生未请假而旷课,早退,请任课老师及时与家长联系 产生不良后果。 4 安全问题应天天讲,防患于未然,要管理好本班学生,上课期间学生的安全,由任课老师负责,保护学生是教师的职责。 , 安全问题应天天讲,防患于未然,要管理好本班学生,上课期间学生的安全,由任课老师负责,保护学生是教师的职责。 5 新学期第一次课,任课老师须按学生的高矮个排定座位,报名晚的学生不再调座。 , 新学期第一次课,任课老师须按学生的高矮个排定座位,报名晚的学生不再调座。 2.2.3期末成绩表 1.设置表头:A1单元格输入姓名,B1 输入语文 ,C1 输入数学 ,D1 输入 英语 。。。。。 H1 输入总分 ,I1输入名次。 2.输入数据:学生姓名 分数 3.求出总分:H2 编写公式 =B2+C2+D2+。。。 4.复制公式求出所有总分 ,点击H2,鼠标指向H2右下角小圆点,光标变成十字后按住左键不放往下拖动到最底下一名学生。 5.排序: 点前面第一个行号,再按住SHIFT键点最后一个行号,把数据全部选中。然后点数据/排序,按总分,降序 ,确定。 6. I2 单元格输入名次 1,I3输入2,两个单元格都选中,鼠标指向下面小黑点,光标变成十字后按住左键往下拖。。。 7.页面设置,如果学生比较多,科目比较多,设置成B4纸,如果少了就设置成A4纸,主要是要横向放得下才好。 8.调整好字的大小,格的大小。比如设置成14P 的,也可以再加上页眉设置好字的大小。 9.打印预览一下,保存。如果可以连上打印机就可以打印了。 关技术概要 下面主要介绍该系统涉及到的技术及开发工具。 1、JDBC JDBC是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和接口组成。JDBC为工具和数据库开发人员提供了一个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的API,他们能够用纯Java API来编写数据库应用程序。JDBC是一种 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口。 2、Servlet Servlet可称为小服务程序。Servlet和传统的CGI程序及ISPAI(Internet Server API),NSAPI(Netscape Server API)等Web程序开发工具的作用是相同的。在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,不支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。由于Java的跨平台的特性,Servlet也是平台无关的。Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程 机制 综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图 可以同时为多个请求服务,因此Java Servlet效率非常高。和传统的CGI,ISAPI及NSAPI方式相同,Java SERVLET是利用输出HTML语句来实现动态网页的。 3、JSP JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 4、JavaBean JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上传、发送E-Mail以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。 5、AJAX AJAX 是指异步 JavaScript及XML(Asynchronous JavaScript and XML) AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,JavaScript 可在不重载页面的情况与 Web 服务器交换数据。Ajax的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义Web应用的规则正在被重写。因此开发人员必须更注重用户,现在用户已经逐渐习惯如何使用Web应用了。而Ajax正好迎合了客户的这种需求,在无需刷新页面的前提下,用户可以看到动态的数据和效果,这大大提高了用户的满意度。 6、tomcat Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的SERVLET和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。目前最新版本是6.0。 7、MyEclipse MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和Java EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的Java EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS, SQL,Hibernate。 8、3层B/S结构 3层由客户端(浏览器)、服务器、数据库组成。在三层模型中,命令先是被发送到服务的中间层,然后由它将SQL语句发送给数据库。数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。这种模型称为三层式结构。时下流行的B/S结构基本如下图所示: 图2 新型三层结构系统模型 3 系统需求分析 3.1 用户身份级别功能分析 系统设计到三种身份的用户:管理员、教师、学生。 表1:角色功能表 管理员 添加新的教师、学生、添加可选课程删除各种信息 教师 给学生上成绩 学生 选课、查看成绩     图3 系统用例图 3.2 学生功能模块分析 学生是学生成绩管理系统的主体。其他的功能都是为管理学生成绩信息提供服务的。学生选择身份登录后,左边是他的导航,右面显示他的基本信息,他可以在左边点击查看可选课程进行选课、点击查看成绩可以查看已经出成绩的课程的成绩、点击修改密码可以修改自己的密码。 3.3 教师功能模块分析 教师选择身份登录后,就可以进行相应的操作。查看自己教的课程,点击课程就可以查看选此课的所有学生,然后可以给他们上成绩。 3.4 管理员功能模块分析 管理选择身份登录后,可以做一下操作:添加新的教师及信息、添加新的学生及信息、添加新的选课信息、关闭选课、删除离职的教师信息和删除毕业或退学的学生信息。 4系统概要设计 4.1 系统功能结构 系统主要用于对学生成绩的管理。围绕这个核心功能,产生了三种角色。他们的功能主要如表1所示。 4.2 系统技术架构 系统采用B/S三层技术架构,即页面展示层、流程控制层、数据库访问层。这三层分别由Jsp、Servlet、JavaBean担任。 4.3 系统类图 学生、管理员、教师三个角色分别有三个接口,三个接口有三个实现类。学生的实现类(StudentDAOImpl)可以用Student、Lesson、Result三个bean类完成自己的功能,管理员的实现类(ManagerDAOImpl)可以用Student、Lesson、Teacher三个bean类完成自己的工作,教师实现类(TeacherDAOImpl)用Result、Lesson两个bean类完成相应操作。 图4  系统类图 4.4 系统顺序图 顺序图是,一个用户在系统中一个操作中各个细节的时间顺序的集合。下面列举系统中几个典型的顺序图。 1、 管理员添加教师的顺序图。 管理员填写好教师信息后点击添加,这个请求就会发送到服务器,服务器接受到请求后把这个工作交给AddTeacher这个Servlet处理。AddTeacher又调用MannagerDAOImpl中相应的方法将这个Teacher对象保存到数据库中,最后消息一步一步传到管理的页面上。 如下图所示: 图5  管理员添加教师顺序图 2、 学生选课 学生点击选课按钮,请求发送到服务器后,服务器先将传来的信息给Servlet GetLesson处理,GetLesson后调用StudentDAOImpl类的查看是否有可选课程的方法处理。然后将结果返回给用户。如果没有可选课程则该操作结束。如果有可选课程,学生可以选课,在学生选择了课程之后,服务器将这个请求交给Servlet selectLesson处理。selectLesson将Lesson信息传给StudentDAOImpl类中的添加课程的方法将课程添加到数据库中。然后信息返回到学生页面。 图6  学生选课的顺序图 4.5 数据库设计 考虑到数据量比较大,该系统采用ORACLE数据库。数据库中一共4张表:学生表、教师表、课程表、成绩表。表之间的关系如下图所示:    图7 数据库表之间的关系 下面详细介绍各个表的结构: 学生表: 表2:学生表数据库设计 字段名 属性 条件 描述 Student_id Varchar2(20) Not null PK 学生学号 Student_name Varchar2(20) Not null 学生姓名 Password Varchar2(16) Not null default 学号 密码 Sex Varchar2(5) Not null 性别 Professional Varchar2(30) Not null 专业 Photo Varchar2(50) Not null 照片 Age Number(1)   年纪 Grade Number(1) Not null 年级 Student_intro Varchar2(200)   学生基本介绍         教师表: 表3:教师表数据库设计 字段名 属性 条件 描述 Teacher_id Varchar2(20) Not null PK 教师工号 Teacher _name Varchar2(20) Not null 教师姓名 Password Varchar2(16) Not null default 学号 密码 Sex Varchar2(5) Not null 性别 College Varchar2(30) Not null 学院 Photo Varchar2(50) Not null 照片 Age Number(1)   年纪 Teacher _intro Varchar2(200)   教师基本介绍         课程表: 表4:课程表表数据库设计 字段名 属性 条件 描述 Lesson_id Varchar2(20) Not null PK 课程编号 Lesson _name Varchar2(20) Not null 课程名 Teacher_id Varchar2(20) Not null FK 教师编号 Grade Number(1) Not null 所属年级 State Number(1) Not null 是否为可选 Professional Varchar2(30) Not null 所属专业         成绩表: 表5:成绩表数据库设计 字段名 属性 条件 描述 id Number(10) Not null PK 成绩编号 Lesson_id Varchar2(20) Not null FK 课程编号 Student_id Varchar2(20) Not null FK 学生学号 Score Number(3) Not null 得分         有主外键的表之间都存在级联删除和条件判断的功能。例如:当管理员添加一个可选课程时,如果课程的教师工号在教师表中没有,则不能添加该课程;当删除一个学生信息时,与他对应的成绩表中的数据也跟着一起删除。 5 详细设计及实现 5.1 系统开发平台目录结构设计 在开发之前要把目录结构和命名规则定好,下图为该系统的目录结构: 图8 系统的目录结构 Src目录是存放java源代码的地方,beans存放的是实体类,control存放的是SERVLET,DAO存放的是数据访问对象,DAOImpl存放数据库访问对象的实现类,这个是按照抽象编程的原则。dbConn存放的是连接数据库和操作数据库方法类的包。 存放的是数据库驱动和其他引用包。 存放JSP文件、CSS文件、JS文件。 5.2 数据库连接模块和整体流程 该系统使用JDBC连接数据库,首先必须将要使用数据库的连接驱动引入项目。这里我们使用的ORACLE数据库,故引入ojdbc14.jar这个包。首先在database.properties文件中加入连接数据库的基本参数,如下: driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@localhost:1521: user=scott password=admin dbname=management   在通过一个java文件读取配置文件的配置:DBProperty.Java package com.suggestion.database; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class DBProperty { private File file; private String dbstr; @SuppressWarnings("unused") private String name; public DBProperty(){} public String getProper(String properfile,String name){ this.name=name; file = new File(properfile); if(!file.exists()){ dbstr = file.getPath(); }else{ dbstr = "mydatabase.properties"; } InputStream in=getClass().getClassLoader().getResourceAsStream(dbstr); Properties prop=new Properties(); try { prop.load(in); }catch (IOException e) { e.printStackTrace(); } return prop.getProperty(name); } } 再用读取出的数据得到数据库的连接对象:DBConnection.java package com.suggestion.database; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @author leichao * @createtime 2010-12-22 * @version 1.0 */ public class DBConnection { private static DBConnection instance; private String driver; private String url; private String user; private String password; private String dbname; private DBConnection() throws Exception{ DBProperty prop = new DBProperty(); String file="mydatabase.properties"; driver=prop.getProper(file,"driver"); url=prop.getProper(file,"url"); user=prop.getProper(file,"user"); password=prop.getProper(file,"password"); dbname=prop.getProper(file,"dbname"); try{ Class.forName(driver); }catch(Exception e) { e.printStackTrace(); } } public static DBConnection getInstance(){ try{ if(instance==null){ instance=new DBConnection(); } return instance; }catch(Exception e){ e.printStackTrace(); return null; } } public Connection getConnection()throws SQLException{ Connection con; try{ con=DriverManager.getConnection(url+dbname, user, password); return con; }catch(SQLException e){ e.printStackTrace(); } return null; } public void CloseConnection(Connection con){ if(con!=null){ try{ con.close(); }catch(SQLException e){ e.printStackTrace(); } } } public static void main(String agrs[]) throws Exception{ new DBConnection(); } }   这样就得到数据库的连接,后面就可以用连接对象对数据库进行操作了。 系统整体流程如下: 图9 系统的基本流程图 5.3 用户登录模块 当用输入正确的访问地址之后,出现系统登录页面,在用户选择自己的身份后,输入用户名、密码之后会发送一个请求到服务器。如果用户名和密码正确就会跳转到相应的页面,并把用户信息保存在session中,如果在其他页面中没有session信息则用户没有权限访问会跳到登录页面,防止用户乱输入页面地址。如果输入错误会回到登录页面并提示错误。 以下是对登录的操作: package com.me.control; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.me.DAOImpl.StudentDAOImpl; import com.me.DAOImpl.TeacherDAOImpl; import com.me.beans.Student; import com.me.beans.Teacher; /* * 登录控制 * 分为三种情况 */ public class LoginCal extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gbk"); //PrintWriter out = response.getWriter(); String userId = request.getParameter("name"); String pass = request.getParameter("pass"); String who = request.getParameter("hide"); boolean correct = true; StudentDAOImpl sdi; TeacherDAOImpl tdi; Student s ; Teacher t; //判断用户身份 if(who.equals("student")){ s = new Student(); s.setStudent_id(userId); s.setPassword(pass); sdi = new StudentDAOImpl(); if(sdi.login(s)!=null){ correct = false; request.getSession().setAttribute("username", sdi.login(s).getStudent_name()); request.getRequestDispatcher("student.jsp").forward(request, response); } }else if(who.equals("teacher")){ t = new Teacher(); t.setTeacher_id(userId); t.setPassword(pass); tdi = new TeacherDAOImpl(); if(tdi.login(t)!=null){ correct = false; request.getSession().setAttribute("username", tdi.login(t).getTeacher_name()); request.getRequestDispatcher("student.jsp").forward(request, response); } }else{ if(userId.equals("admin") && pass.equals("admin")){ correct = false; request.getSession().setAttribute("username", "admin"); request.getRequestDispatcher("manage.jsp").forward(request, response); } } if(correct){ request.setAttribute("message", "用户名或密码错误!"); request.getRequestDispatcher("login.jsp").forward(request, response); } } }   登录模块整体流程下: 图10 登录模块的基本流程 5.4 学生操作模块 学生成功登陆在左边导航可以选择自己想要进行的操作,它所调用的方法如下: package com.me.DAO; import java.util.ArrayList; import com.me.beans.Lesson; import com.me.beans.Result; import com.me.beans.Student; public interface StudentDAO { //学生查看个人信息 public Student getStudentMessage(int studentId); //学生修改个人信息 public int updataMessage(Student student); //学生查看个人成绩 public ArrayList lookResult(Student student); //学生查看具体某一课程成绩 public ArrayList lookResultByLesson(int lessonId); //学生登录 public Student login(Student student); //学生查看可选课程 public ArrayList getSelectLesson(Student student); //学生选课 public boolean selectLesson(Student student,ArrayList lessons); //学生修改密码 public boolean changePassword(Student student); }   由于篇幅的影响故只列出登录方法的实现如下: public Student login(Student s) { String sql = "select * from student where student_id =? and password=?"; Student student = null ; try { ps = conn.prepareStatement(sql); ps.setString(1, s.getStudent_id()); ps.setString(2, s.getPassword()); rs = ps.executeQuery(); while(rs.next()){ student = new Student(); student.setStudent_id(rs.getString("student_id")); student.setStudent_name(rs.getString("student_name")); student.setStudent_intro(rs.getString("student_intro")); student.setPassword(rs.getString("password")); student.setAge(rs.getInt("age")); student.setGrade(rs.getInt("grade")); student.setPhoto(rs.getString("photo")); student.setProfessional(rs.getString("professional")); student.setSex(rs.getString("sex")); } } catch (SQLException e) { e.printStackTrace(); } return student; }   模块整体流程下 5.5 教师操作模块 教师成功登陆后,可以在浏览器左边的导航中找到自己的操作。教师修改密码和学生修改密码相同,故流程图没有画出。教师的操作调用的方法如下: package com.me.DAO; import com.me.beans.Student; import com.me.beans.Teacher; public interface TeacherDAO { //根据课程给学生打分 public void setScore(int lessonId,int studentId); //教师修改密码 public boolean changePassword(Student student); //教师登录 public Teacher login(Teacher teacher); }   流程如下: 5.6 管理员操作模块 管理员是系统中最重要的角色,论文做重点介绍。他主要对教师、学生、课程三个对象进行操作,他一共有7个方法,入一下代码所示: package com.me.DAO; import java.util.ArrayList; import com.me.beans.Lesson; import com.me.beans.Student; import com.me.beans.Teacher; public interface ManagerDAO { //管理员添加学生信息 public void addStudent(Student student); //管理员添加教师信息 public void addTeacher(Teacher teacher); //管理员添加可选课程 public void addLesson(Lesson lesson); //管理员更改可选课程 public void changeLesson(String lessonId); //管理员删除学生信息 public void deleteStudent(Student student); //管理员删除教师信息 public void deleteTeacher(Teacher teacher); //得到已有教师 public ArrayList getTeacher(); }   最后一个方法是,当管理员添加课程时,要找对应的任课教师。所以该系统有教师才可能添加课程。 基本系统流程如下: 参考文献 [1]张海藩.软件工程导论(第四版):清华出版社,2007 [2]施霞萍,张欢欢,王瑾德,马可幸.Java程序设计:机械工业出版社,2008 [3]程杰.SQL语言与数据库操作技术大全:电子工业出版社,2009 [4]廖若雪.JSP高级编程:机械工业出版社,2009 [5]李长,饶居华,李鹏,王志兵.Eclipse与J2ee应用开发:北京大学出版社, 2008 [6]郭宁,周晓华.软件项目管理[M]:清华出版社, 2007 [7]VivekChopra,Sing Li,Jeff Genender.Apache Tomcat 6高级编程            人民邮电出版社,2009 [8]单东林,张晓菲.巍然锋利的JQuery:人民邮电出版社,2008 [9]David Sawyer McFarland.JavaScript实战手册:机械工业出版社,2009 [10]吴亚峰,纪超.Java SE 6.0编程指南:人民邮电出版社,2007 [11] David Johnson[美,Alexei White[美], Andre Charland[美]. AJAX企业级开发:人民邮电出版社,2009 [12]张小松,王钰,曹跃(译).软件测试:软件测试机械工业出版社,2008 [13] 飞思研发中心.网页美工经典案例教程:电子工业出版社, 2009 [14]宋辉,江峰.Java 服务器程序设计:电子工业出版,2009 [14]杨绍方.Java编程实用技术与案例:清华大学出版社,2009 [14]Robert Lafore.Data Structures & Algorithms in Java:中国电力出版社,2004 6项目总结 6.1结论 学生成绩的评定、保存、查询是学生成绩管理系统的核心功能。当学生毕业时,系统中该学生的信息应该及时的清理,与他相关的成绩信息也应该清理;当有新的学生入校时,他们的信息会被管理员添加到系统中。为了让该系统得以发挥它的功能,我附加了管理员可以添加和删除教师信息的功能。 该学生成绩管理系统采用Java语言,基于MVC架构开发,提高了系统的维护性和可移植性。该系统包含了:学生选课、教师打分、管理员添加课程等五大功能,基本满足了系统的需求。 本文查阅了大量文献资料,对当前我校的成绩管理系统进行了大体的了解,并了解了此系统的流程,进而提出这个系统的建设方案和开发工具的选择,最后完成了学生成绩管理系统。具体来说,主要完成了以下工作: (1)阐述了Java技术和基于Java的集成开发环境MyEclipse的功能特性,提出选用MYECLIPSE作为系统开发的主要开发工具。 (2)对学生成绩管理系统进行了需求分析和系统分析,分析了面向对象的系统开发方法,完成了基于Web的学生成绩管理系统的体系结构设计。 (4)讲述了通过异步通信提高用户体验的原理和实现。 通过本文的研究,该系统可以正常运行。学生可以选课并查看自己的成绩,老师可以给学生打分,管理员可以添加课程信息、学生信息、教师信息和删除各种信息。Java等技术不失为实现基于Web的系统的有力工具,同时具有一定的理论先进性和应用价值。 6.2心得 由于多方面的原因,本课题的研究还有很多不足之处,今后的工作主要体现在以下一些方面: (1)没有用框架开发,数据库的事务边界也不清晰。安全性不是很高。 (2)由于个人的能力有限,系统存在一些设计不合理和错误的地方需要进一步去发现。 (3)由于时间及个人精力的影响,网站的布局不是很合理、颜色搭配不是很好、内容不是很丰富,以后会进一步补充。 (4)由于自己经验不是很丰富,有些业务不是很合理、有些地方注释不够。 6.3小组工作评定 表3-1:小组成员工作系数表 姓名 工作系数 李依琳 2 罗英和杨丽霞 2,2 王莹 2 詹绍楠 2    
本文档为【课程结业报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_153723
暂无简介~
格式:doc
大小:756KB
软件:Word
页数:39
分类:企业经营
上传时间:2018-12-01
浏览量:60