实验课程管理系统1

更新时间:2024-04-08 14:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

前 言

随着科技,经济及社会的不断发展与进步,国家在教育事业上的投入越来越大,学校教学管理的重要性日渐突出,然而传统的手工作业的实验课程管理方式极大的束缚了人的创造和想象力,埋没了人的智慧和潜能,使人们耗费了大量的时间和精力去手工处理那些繁杂重复的工作。手工处理的延时和差错,正是现代化管理中应去除的弊端。用先进的、现代化的工具代替手工作业,无疑是生产力发展的方向。基于web的实验课程管理系统,正是适应了学校对于课程安排,对于教学任务下达,查看,以及对学生反馈信息的整理与评论,极大地提高了教学的效率。让学生,教师在有限的时间内做更多的事情,也顺应了高校教育技术发展的潮流。

随着网络技术的高速发展,网络的普及也越来越大众化,人们普遍使用计算机代替手工作业来提高个人工作效率。利用网络通讯技术及先进的网络应用平台,建立一个安全、可靠、开放、高效的信息网络和管理系统,这样更有助于提高整体工作效率。

实验课程管理系统的总体目标是:“以高效的网络应用为基础,建立起基于网络Web的实验课程管理系统。让高校的实验教学更加方便,具体。让教师,学生对于学习,实验的效率更加高效。”,本系统也是为实现这一根本目标建立的,它可以实现高效管理现代化、信息资源化、传输网络化。实验课程系统开发的真正意义不是简单的借助电脑处理收发简单的实验教学任务的安排,而是通过网络系统的各种应用,使独立的用户能实现信息查看,教学任务安排,合理组织实验课程和各种信息的处理等,全面提高高校实验教学效率,实现信息化平台。

在现代教学中,网络发挥的作用越来越大。学校的一些管理平台,一些教务管理,都向网络发面发展。一来方便教师的远程教学管理,再次也是方便学生对自己的相关信息的查看,对教师教学任务安排的查看。在教学这块,对于课程的安排至关重要,实验又是对课程的一些观点,一些知识的实践和直观的探讨。实验也是一种能轻易让学生接受的教学方式。但是对于课程实验来说,多数学校还是停留在手工管理阶段,没有一个方便学生与老师交流的平台。那么现在对于现代教学来说,网络是基础,怎样来运用好网络,怎样合理的融入这个信息化的时代,让教育面向世界,面向现代化。在国外和许多国内的一流大学,对于教育这块在计算机网络,学校硬件,软件上的投入相当大。那么纵观现在普遍的教育形势,对于完善学生和教师教育教学功能,为各用户提供方便的一个软件系统是一种必然趋势。

I

目 录

摘 要 ..................................................................... IV 关键词:B/S模式,数据库管理,实验课程管理系统,GRAILS技术 ................. IV ABSTRACT .................................................................... V 第1章 绪 论 ............................................................... 1 1.1 课题的研究背景 ........................................................ 1 1.2 课题的研究意义 ........................................................ 1 1.3 现状分析 .............................................................. 2 1.4 程序设计思想 .......................................................... 2 第2章 需求分析 ............................................................ 3 2.1 实验课程管理系统概述 .................................................. 3 2.1.1 用户简介 ............................................................. 3 2.1.2 项目目的和目标 ....................................................... 3 2.2 系统用户分析 .......................................................... 3 2.3可行性分析 ............................................................. 4 2.4 UML用户功能建模 ...................................................... 4 2.5 功能需求分析及功能总述 ................................................ 5 2.5.1 功能需求分析 ......................................................... 5 2.5.2 功能总述 ............................................................. 5 2.5.3 系统运行流程分析 ..................................................... 7 2.6 性能需求分析 .......................................................... 8 2.6.1 实用性 ............................................................... 8 2.6.2 安全可靠 ............................................................. 9 2.6.3 可扩展性 ............................................................. 9 2.6.4 易维护性 ............................................................. 9 2.7 目标系统假设与约束条件 ................................................ 9 2.7.1 硬件环境 ............................................................. 9 2.7.2 软件环境 ............................................................. 9 2.7.3 软件介绍 ............................................................ 10 2.8 数据需求分析 ......................................................... 12 2.8.1 实体及其属性图 ...................................................... 12 2.8.2 数据存储性能分析 .................................................... 15 第3章 总体设计 ........................................................... 16 3.1 设计目标 ............................................................. 16

II

2011届通信工程专业毕业设计

3.1.1设计架构 ............................................................. 16 3.2 功能总体设计 ......................................................... 18 3.2.1 系统的功能特点 ...................................................... 18 3.2.2 系统模块设计 ........................................................ 18 3.3 数据库设计 ........................................................... 20 3.3.1 数据库的需求分析 .................................................... 20 3.3.2 数据库的总体设计 .................................................... 20 3.3.3 数据库的逻辑设计 .................................................... 20 第4章 详细设计及实现 ..................................................... 23 4.1 技术背景 ............................................. 错误!未定义书签。 4.2 功能详细设计 ......................................................... 23 4.2.1 网站的表示层设计 .................................................... 23 4.2.2 管理员用户系统主要功能界面 .......................................... 25 4.2.3 教师用户系统主要功能界面 ............................................ 30 4.2.4学生用户系统主要功能界面 (这块主要是同伴做的) ..................... 38 第5章 系统测试及分析 ..................................................... 39 5.1软件测试的目的和原则 .................................................. 39 5.2测试实例的研究与选择 .................................................. 39 5.3测试环境与测试条件 .................................................... 39 5.4测试结果 .............................................................. 39 第6章 设计总结 ........................................................... 41 致 谢 ..................................................................... 42 参考文献 ................................................................... 43

III

摘 要

本论文所开发的系统主要针对学校对于课程实验的管理,主要包括了用户信息管理、教学任务安排、实验项目安排、资料的整理、实验报告下载。在开发平台及技术选择上,本文充分讨论了各种主流技术,最终选择了NetBeans作为开发工具,grails作为开发语言,groovy作为开发平台,Mysql作为数据库管理工具,还使用了B/S模式系统开发技术。在开发过程中我们利用了三层架构MVC的开发方法,完成了一个完整的实验课程管理系统。本系统充分考虑用户需求,小巧而实用,很好的完成了基础信息管理和流程控制,极大提高了学校实验课程管理的效率。

关键词:B/S模式,数据库管理,实验课程管理系统,grails技术

IV

2011届通信工程专业毕业设计

ABSTRACT

System developed in this thesis focused on the management of the school experiment for the course, including the user information management, the task of teaching arrangements, arrangements for pilot projects, data collation, lab reports to download.In the development of platform and technology choices, the paper discusses the various mainstream technology sufficiently, and ultimately chose the NetBeans as a development tool, grails as a development language, groovy as a development platform, Mysql as a database management tool, also used the B / S Mode Systemtechnology.In the development process, we use a three-tier MVC development approach, completed a comprehensive course management system experiment.Full account of user needs of the system, compact and functional, complete the foundation for good information management and process control, greatly increasing the efficiency of school management experiment course.

Keywords: B / S model, database management, experimental course management system, grails Technology

V

2011届通信工程专业毕业设计

第1章 绪 论

随着计算机网络的发展,网络已经成为人们发布、获取信息的重要方式,在人们的工作和生活中发挥着越来越重要的作用。网络已经广泛应用于生活中的各个领域,在网络上为用户提供方便快速的服务。在现代教学里,网络发挥的作用越来越大。学校的一些管理平台、教务管理,都向网络发面发展。一来能方便教师的远程教学管理,再次也能方便学生对自己的相关信息的查看,对教师教学任务安排的查看。在教学系统方面,课程的安排至关重要,实验又是对课程的相关知识的实践和直观的探讨。同时,实验也是一种容易让学生接受的教学方式。

1.1 课题的研究背景

但是对于课程实验来说,多数学校还是停留在手工管理阶段,没有一个方便学生与老师交流的平台。那么现在对于现代教学来说,网络是基础,怎样来运用好网络,怎样合理的融入这个信息化的时代,让教育面向世界,面向现代化。在国外和许多国内的一流大学,对于教育这块在计算机网络,学校硬件,软件上的投入相当大。很早就有了自己的教学系统。那么纵观现在普遍的教育形势,对于完善学生和教师教育教学功能,为各用户提供方便的一个软件系统是一种必然趋势。

1.2 课题的研究意义

应用本系统,高校实验室可以方便快速的进行管理,既方便了学校的教学管理,也方便了教师,也为学生提供了快捷方便。教师和学生能够在网上进行授课和学习,教师可以方便地进行查询个人信息、查询学生基本情况、查询课程信息、安排教学实验,分配教学任务,学生成绩查询、上传课件、修改密码、重新登录功能;学生能够进行查询个人信息、选择自己的实验任务、课程信息查询、成绩查询、修改密码、上传实验和作业、重新登录的功能。同时学校也可以根据自己的情况,安排实验项目,安排课程,发布各个学期的教学计划和任务。

软件系统采用流行的B/S结构,用户只要可以上网即可使用本系统提供的服务,不需要安装任何软件,数据共享。软件采用模块级安全管理,系统安全性高。软件对在使用过程中可能出现的外部意外情况,如断电、网络中断等均进行了妥善处理,可

1

刘洋:实验课程管理系统

以确保用户数据的完整性,同时在外部故障消除后,系统仍能继续操作。系统软件采用NetBeans IDE 6.8平台进行开发,软件的维护简单。

1.3 现状分析

实验课程管理系统是各大高校所不可缺少的一部分,随着计算机水平的快速提高,实验课程管理系统也在不断地发展和完善。

如果学校实验室仍采用手工管理学生信息的方法,不仅效率低、易出错、手续繁琐,而且耗费大量的人力物力。

1.4 程序设计思想

本实验课程管理系统中,运用到了grails敏捷开发,页面是gsp,Javascript语言。本系统主要内容包括教师,学生和管理员的功能模块。管理员模块:个人信息查询,教学课程安排,实验的安排,教师账号管理。教师模块:教师信息的查询、实验内容的上传、修改密码、学生实验安排、课程查询和实验报告成绩的给定评分。学生模块:学生个人信息查询、实验查询、成绩查询、修改密码、上传实验报告、下载教师上传的资料,在线查看资料等。

但由于时间上的关系,本系统数据库的测试数据并不多。

2

2011届通信工程专业毕业设计

第2章 需求分析

2.1 实验课程管理系统概述

实验课程管理系统是各大高校所不可缺少的一部分,随着计算机水平的快速提高,实验课程管理系统也在不断地发展和完善。本管理系统主要包括了学生的信息管理和教师信息管理,以及实验教学任务的管理,基本上实现了实验管理系统所必需的功能。 2.1.1 用户简介

该系统主要分为三个用户体验群体,一个是学生,一个是老师,还有一个是管理员。对于这三个体验群的要求就是具有一定的计算机操作能力。 2.1.2 项目目的和目标

管理员可以对本系统进行维护,但先要进行身份验证,成功后才可以实施管理员的权限。它具有开放性强﹑操作性强﹑工作效率高等特点。教师具有以下操作功能:教师信息查询、实验内容的上传、修改密码、课程查看、学生报告查看和各次成绩的给定。学生可以登录本系统进行相应查询自己的学籍信息、课程、教学实验任务,成绩信息、上传学生作业和修改密码等操作。

本实验课程管理系统主要通过权限来实现操作,根据用户不同的权限来实现具体的操作。

2.2 系统用户分析

“实验课程管理系统”有三种用户:普通管理员(教师)和学生,以及学校管理员。如下表就是提供了不同用户的使用权限。

表 2-1 实验课程管理系统用户表

用户角色 学校管理员 权限 个人信息查询,教学课程安排,实验的安排,教师账号管理 3

刘洋:实验课程管理系统

教师信息查询、课程信息查询、实验项目安排,实验课件的上传、修改密码、教师 学生 成绩信息查询、注销。 查询自己的学籍信息、实验课程、成绩信息、上传学生作业、修改密码、注销。 2.3可行性分析

因为由于系统并不十分复杂,且操作起来也非常简单,所以开发费用比较低。另外,考虑到现在已经有的硬件设备如服务器等都有,调整的硬件投入亦很低。

由于已往的实验课程管理完全或大部分都靠人力亲为,浪费人力、物力、财力,而实验课程是教学质量的体现,师资队伍是关键,管理是保证。同时,按照“教育要面向现代化,面向世界,面向未来”的要求,实验课程教学和管理也要和时代同步,与时俱进。加强实验课程系统管理,既能保证完成实验教学任务,满足科学研究的需要,又可以节省人力、物力、财力。

2.4 UML用户功能建模

以下根据各个用户的职能进行建模。主要包括三个功能模块。 1、学生信息管理模块

学生可以进行的主要功能:查询自己的学籍信息、实验课程、成绩信息、上传学生作业、修改密码、注销。

2、教师信息管理模块

教师可以进行的主要功能:教师信息的查询、实验内容的上传、修改密码、课程查看、学生出勤和各次成绩的给定等。

3、管理员信息管理模块

管理员可以进行的主要功能:所有教师信息的查询、个人信息查询,教学课程安排,实验的安排,教师账号管理,自己账号的管理,权限设定,增添,删除过期的信息等。

以下是实验信息管理系统流程图

4

2011届通信工程专业毕业设计

实验课程管理系统系统登录学生登录管理员登录上查个查添添添传选看人询加加加课择学密个实实教程实生码人验验师实验实修信课项信验课验改息程目息资程报料告教师登录 图2-1 管理系统流程图2.5 功能需求分析及功能总述

2.5.1 功能需求分析

学生用户包括用户信息登录界面、个人信息界面、待选课程信息界面、修改密码

界面、注册界面、上传报告界面、查看资料界面;教师用户包括用户信息登录界面、个人信息界面、实验内容的上传界面、修改密码界面、待选课程信息界面、实验安排界面、查看报告界面,评分界面等;管理员用户包括用户信息登陆、个人信息界面、课程安排界面、实验安排界面、教师信息管理界面等。 2.5.2 功能总述

系统需要完成的功能主要有:教师用户管理(前台)、学生用户管理(前台)5

选择下查载看实课验程资实料验

上查传看实实验验报报告告、管

刘洋:实验课程管理系统

理员用户管理(前台)、个人信息查看(学生用户)、个人信息查看(教师用户)、个人信息查看(管理员用户)、学生成绩信息查看(学生用户)、成绩信息(教师用户)、课程查看、上传报告、修改密码、重新登录等模块、上传资料、在线查看报告查看资料、下载报告、下载资料等。

1、教师用户管理(前台)

教师用户管理(前台)要实现教师用户登录功能,教师用户登录要对用户输入的用户账号,密码进行验证,验证通过后,该用户可以使用实验课程管理系统中自己拥有权限的那部分功能,否则拒绝使用。

2、学生用户管理(前台)

学生用户管理(前台)要实现学生用户登录功能,学生用户登录要对用户输入的用户账号,密码进行验证,验证通过后,该用户可以使用实验课程管理系统中自己拥有权限的那部分功能,否则拒绝使用。

3、管理员用户管理(前台)

管理员用户管理(前台)要实现管理员登录功能,管理员登录要对用户输入的用户账号,密码进行验证,验证通过后,该用户可以使用实验课程管理系统中自己拥有权限的那部分功能,否则拒绝使用。

4、个人信息查询(学生用户)

个人信息查询实现学生个人信息的查询,主要包括:学号、姓名、性别、密码、所选课程、所选实验、实验报告、授课教师等。

5、个人信息查询(教师用户)

个人信息查询实现教师个人信息的查询,主要包括:姓名、性别、密码、邮箱、所在学院信息、所教课程、所教实验、所教学生。

6、个人信息查询(管理员用户)

个人信息查询实现管理员个人信息的查询,主要包括:姓名、密码。 7、学生成绩信息查询

学生可以通过该功能实现查询自己对应的实验课程成绩的功能。 8、成绩信息管理(教师用户)

教师用户可以通过该系统进行报告成绩的评定和进行评语。 9、课程查询

教师用户和学生用户信息管理中都有该项操作,用户可以查询课程的相关信息,包括:课程号、课程名、课程开放时间、课时、课程描述等信息。

10、上传报告

6

2011届通信工程专业毕业设计

上传报告系统管理要实现报告的上传功能。学生可以通过该系统进行实验报告的上传,同时也可以查看自己报告的分数和评语。

11、在线查看功能

在线查看功能提供了了对于实验报告和老师上传的资料的在线查看功能。 12、下载功能

下载功能是直接调用的浏览器自己的下载系统。 13、修改密码

用户可以进行密码的修改操作,通过搞系统可以设置新的密码。 14、重新登录

当用户想退出该界面时,进行重新登录就可以注销,进入到登陆界面。 2.5.3 系统运行流程分析

1、用户登录流程

用户进入登陆页面进行登陆,填写用户名和密码,系统验证用户登录信息,如果验证信息没有通过,系统显示提醒信息并要求用户重新输入;如果验证通过,系统进入对应的主页面并显示相应的信息,在登陆未成功之前的任何时候,用户都可以放弃登陆。

2、个人信息查询流程

用于为用户提供个人信息查询,根据用户自己显示其个人信息。用户进入个人查询页面后,将会显示登录用户的所有信息,用户可以进行核实等操作。

3、课程信息查询流程

只有相应权限的用户可以进行课程查询和显示课程列表,可以根据自己的要求来看看相应的课程。管理员和教师可以查看课程列表,学生只能查看自己已选课程的信息。

4、实验项目的管理流程

当管理员和教师在选择好相应的课程后,可以对该课程下面的实验项目进行安排。可以新增,也可以选择以前的实验项目。同时也可以对已有的实验项目进行管理。可以安排上该实验的学生等。

5、资料上传管理流程

管理员或教师选择好实验项目后,就可以对该实验项目上传资料,比如实验报告格式,实验相应的文档等。

7

刘洋:实验课程管理系统

6、成绩信息流程流程

学生进入相应的实验项目页面后,可以查看自己的报告。进入查看页面就能看到教师对自己报告的评分和评语。教师可以通过查看学生上交报告的情况进行成绩的评定。

7、修改密码流程

进入修改密码页面后,通过输入新密码进行旧密码的更改。。 8、注销流程

用户通过重新登录进行退出或注销。

2.6 性能需求分析

性能稳定是一个模糊的概念,它与服务器配置、网络状态、程序可靠度等多方面有关,这里只对程序性能的稳定做出需求。

要实现一个时刻稳定运行的程序并不是一件容易的事,并且程序还应在暴力负荷压力下能够稳定或较稳定运行。

因此,系统最终能达到的稳定性效果表述如下: 1.程序能够连续运行期间无崩溃性错误; 2.能够承担千人级别的压力测试; 3.能够实现错误日志体系,便于维护; 4.程序尽量减少逻辑性错误; 5.减少程序代码的BUG。

本实验课程系统是一个比较小型的系统,在一般的计算机上都能运行、运行时间相对较短在用户可接收范围内、由于设置了用户登录权限因此安全保密性好。

实验课程管理系统分析情况:

1、学生信息管理。包括学生的学号、学生的密码。其中学号和密码是唯一的。 2、教师信息管理。教师的账号、教师的密码。账号和密码是唯一的。 3、管理员信息管理。管理员的账号、管理员的密码。账号和密码是唯一的。 2.6.1 实用性

系统的最终目的是更好的方便员工管理以及员工之间的交流和沟通,给管理者和员工之间创造了很好的平台。

8

2011届通信工程专业毕业设计

2.6.2 安全可靠

系统的安全是系统开发人员必须考虑的重要因素之一,因为这涉及到网站的建设者、网站用户的诸多安全问题,如果不处理好,可能会给系统的使用者和管理者带来严重问题。同时Web应用程序的安全解决方案不仅是技术问题,还涉及到管理等多个方面。

网站需防止用户跳过安全验证后进入非法页面,同时在用户登陆时进行身份验证,不能让一些非法的SQL注入,同时,不同身份的用户将有不同的操作界面,防止恶意页面跳转。 2.6.3 可扩展性

本系统的可扩展性主要体现在数据库设计上,比如在员工基本信息表设计时,对应的字段大小类型等都采用了统一的数据形式,所有的表设计的时候都是统一格式的命名,所以方便进行扩展。 2.6.4 易维护性

维护性是指产品进行维护时的难易程度,其中包括理解、更正、改进的难易程度。可以说软件的维护就是软件的再生。本系统是采用三层架构,操作很方便,逻辑明晰,而且很方便维护。

2.7 目标系统假设与约束条件

2.7.1 硬件环境

建议硬盘空间:1GB以上。

建议内存:512MB或者更高。 建议CPU:1.8GHz以上。

2.7.2 软件环境

操作系统:Microsoft Windows 2000/NT/XP/vista 或更高版本。

9

刘洋:实验课程管理系统

数据库系统:MYSQL。

开发平台和语言:NetBeans IDE 6.8、grails敏捷开发。

2.7.3 软件介绍

NetBeans 由Sun公司在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。 http://www.netbeans.org 已经获得业界广泛认可,并支持NetBeans扩展IDE模块目录中大约100多个模块。

NetBeans是一个全功能的开放源码Java IDE,可以帮助开发人员编写、编译、调试和部署Java应用,并将版本控制和XML编辑融入其众多功能之中。NetBeans 可支持Java 2平台标准版(J2SE)应用的创建、采用JSP和Servlet的2层Web应用的创建,以及用于2层Web应用的API及软件的核心组的创建。此外,NetBeans 最新牒还预装了两个Web服务器,即Tomcat和GlassFish,从而免除了繁琐的配置和安装过程。所有这些都为Java开发人员创造了一个可扩展的开放源多平台的Java IDE,以支持他们在各自所选择的环境中从事开发工作,如Solaris、Linux、Windows或Macintosh。

NetBeans是一个为软件开发者而设计的自由、开放的IDE(集成开发环境),你可以在这里获得许多需要的工具,包括建立桌面应用、企业级应用、WEB开发和JAVA移动应用程序开发、C/C++,甚至Ruby。NetBeans可以非常方便的安装于多种操作系统平台,包括Windows,Linux,Mac OS和Solaris等操作系统

NetBeans IDE6.1版本提供了几种新功能和一些功能的增强。提供了强大的JavaScript编辑功能,支持使用Sping的WEB框架,并加强了与MySQL的整合,便NetBeans比较方便的使用MySQL数据库,NetBeans 6.1增强了性能,启动速度提升40%。在建立一个大工程时,有较低的内存消耗和更快的响应速度。

NetBeans 6.5 是一个升级版,通过相对较短的发行周期和目标明确的特性清单来定义,在 PHP 编辑与调试、Ajax 动态网页设计和数据库工具设计等领域尤其突出。NetBeans 6.5 将以 6.1 主要发行版或更新中心中可用的特性为基础,包括 JavaScript 编辑器、Ruby & Rails 工具设计、jMaki、PHP 早期访问和 JavaScript 调试器预览。

NetBeans 6.5 将继续以核心价值为基础 —— 卓越的即开即用式体验和出色的 Java SE/EE/ME 平台特性支持。虽然此发行版并未引起重大关注,但是针对 Java SE & EE 的底层结构改进将增加最终用户系统的响应性和健壮性。

10

2011届通信工程专业毕业设计

NetBeans 6.5 将解决 Project 系统领域中的一些缺陷,使其在自定义项目结构方面具有更好的灵活性。这使用户能够更加容易地将现有项目迁移到 NetBeans 中。

6.1 版将提供一组预先配置的 NetBeans 发行版,允许用户根据自己最可能用到的技术来调整下载和安装体验。随着 6.5 版中第一类 PHP 工具的出现,下载页面中将添加一个为 PHP 提供最优化 IDE 开发环境的新配置。将为 Linux(Ubuntu、Debian 等)和 OpenSolaris IPS 生成本机软件包。

NetBeans 6.5 将支持 GlassFish v2 ur2 (SJSAS91_UR2)。IDE 需要 Java SE 6 才能运行,但之前版本的 Java SE 应用程序开发仍然受支持。

除 GlassFish v2 之外,NetBeans 6.5 还绑定和支持一个限制版本的 GlassFish v3,主要针对当前以“v3 Lite”著称的 Web 层开发。由于 v3 不能取代 v2,这两个中间件都将绑定在 Web/JavaEE 和 Full 配置中。GlassFish v3 Ruby 运行库支持将绑定在 NetBeans Ruby 配置中。

UML 工具包将经历重大变更,使用开源 NetBeans Visual Library 取代闭源图像库 Tom Sawyer。此次迁移还包括少数的 UI 增强和优化。

NB 6.5 的核心平台将与之前的 6.x 版保持兼容。它支持以前声明为 _stable_ 的所有核心 API。 然而,对 Generic Scripting Framework (GSF) 和 Java Parsing API 底层结构的某些改变可要求不兼容。依赖于 6.1 版 GSF 和 Java Parsing API 工作的客户机需要升级到 NB 6.5 版。

Grails框架:如今的Java Web开发对于需求来说已经变得过于复杂。当今众多Java领域的Web开发框架不仅使用复杂,而且并没有很好的遵循Don’t Repeat Yourself(DRY)原则。像Rails,Django和TurboGears这样的动态框架在Web开发领域开辟了一条新的道路,Grails基于这些概念之上,采用动态方法减小了Java平台上进行Web开发的复杂度,不过与那些框架不同的是,Grails是构建在Spring和Hibernate等Java已有的技术之上的。Grails是一个full-stack框架,它借助于核心技术与相关的插件(plug-in)来解决Web开发中方方面面的问题,其中包括: 易于使用的基于Hibernate的对象-关系映射(ORM)层 称为Groovy Server Pages (GSP)的表现层技术 基于Spring MVC的控制器层 构建于Gant 上的命令行脚本运行环境 内置Jetty服务器,不用重新启动服务器就可以进行重新加载 利用内置的Spring 容器实现依赖注入 基于Spring的MessageSource核心概念,提供了对国际化(i18n)的支持 基于Spring事务抽象概念,实现事务服务层 借助于功能强大的Groovy动态语言和领域特定语言(Domain Specific Language,DSL),以上那些特性变得非常易用。

Mysql:是一个小型关系型数据库管理系统,目前MySQL被广泛地应用在Internet

11

刘洋:实验课程管理系统

上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

特点:

1、使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。 2、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

3、为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4、支持多线程,充分利用CPU资源。

5、优化的SQL查询算法,有效地提高查询速度。

6、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 7、提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 8、提供用于管理、检查、优化数据库操作的管理工具。 9、可以处理拥有上千万条记录的大型数据库。

2.8 数据需求分析

2.8.1 实体及其属性图

图2-2 管理员E-R图

12

GB 2312、2011届通信工程专业毕业设计

图2-3 学生E-R图

图2-4 教师E-R图

图2-5 课程E-R图

13

刘洋:实验课程管理系统

图2-6 实验项目E-R图

图2-7 资料E-R图

图2-8 实验报告E-R图

14

2011届通信工程专业毕业设计

2.8.2 数据存储性能分析

由上面的E-R图可以看出,数据库中需要存储大量的信息,在设计时需要考虑数据存储的稳定性和查询的效率等问题。而在数据的安全性方面,需要对用户名、密码进行加密,防止密码的泄露。

15

刘洋:实验课程管理系统

第3章 总体设计

3.1 设计目标

设计一个基于B/S(浏览器/服务器)架构的实验课程管理系统。用户可以通过网络在任意地方使用系统为高校实验提供一个教师和学生学习展示平台,为用户提供一个界面美观、操作友好的信息查看和交流的平台。3.1.1实验课程管理系统采用显而易见。鉴于以前的系统以及对以后业务流程和需求变化的综合考虑,我决定采用B/S结构模式。1.维护和升级方式简单目前,特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,服务器。2.成本降低,选择更多大家都知道服务器操作系统上构的应用管理软件,只需安装在作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用桌面操作系统电脑不受影响,这就使的最流行免费的IE或者其他浏览器访问服务器,根据权限的不同对数据进行操作。 B/S模式,使用B/S模式的优势是很明显的,但是缺点也

B/S架构的产品明显体现着更为方便的B/S架构的软件只需要管理服务器就行,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”

Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在Windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架Linux服务器上即可,而且安全性高。所以服务器操Windows作为Linux操作系统快速发展起来,

16

设计架构

软件系统的改进和升级越来越频繁,

2011届通信工程专业毕业设计

Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。 3.应用服务器运行数据负荷较重

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。这也是B/S致命的缺点,但是这种形式正在随着Ajax技术的出现而有所改变,相信不久的将来“胖”客户端,“瘦”服务系统的出现也不是没有可能。

4.鉴于以上的分析考虑,我们选择B/S架构,该架构在本系统上实施的优点很是明显:版本不成熟,所以维护升级相对频繁,而且使用人员不是很多,服务器完全有能力满足现有需求,不必再对硬件系统进行升级换代,利用现有的资源就可保证整个系统满足用户需求。 系统的架构图:

实验课程管理系统管理员管理模块教师管理模块学生管理模块个人信息管理实验信息管理课程信息管理教师信息管理管理员密码修改学生信息查询个人信息管理密码修改上传实验资料课程信息管理实验项目安排查看实验报告个人信息管理课程信息查询实验信息查询实验成绩查询个人密码修改上传实验报告下载实验资料图3-1 系统主要架构图

17

刘洋:实验课程管理系统

3.2 功能总体设计

3.2.1 系统的功能特点

1、操作简单、界面友好:合理的页面布局,使得信息的录入工作更简便,许多选项包括功能类别等只需要点击鼠标加以选择就可以完成。

2、即时可见:对信息的处理(录入、修改、删除)将立即在页面的对应栏目中显示出来,达到“即时操作、即时生效”的功能,方便用户查看最新的信息。

3、功能完善:在系统中用户可以浏览相关信息进行相应的功能操作。 3.2.2 系统模块设计

在系统中存在三类用户:教师用户和学生用户以及管理员,三种用户分别拥有不同的权限。下图是实验课程管理系统的系统流程图。

在该系统里程图中包括三个模块: 1、学生管理模块

个人信息管理、课程信息查询、实验信息查询、成绩查询、密码管理、提交报告、下载资料。

图3-2 学生用户功能分析

2、教师管理模块

教师信息管理、实验资料上传、修改密码、课程信息管理、实验项目安排、查看报告、查看学生信息。

18

2011届通信工程专业毕业设计

图3-3 教师功能分析

3、管理员管理模块

管理员信息管理、实验信息管理、修改密码、课程信息管理、教师信息管理。 用户可以进行下图所示的各项功能。

图3-4 管理员功能分析

19

刘洋:实验课程管理系统

3.3 数据库设计

3.3.1 数据库的需求分析

数据库的需求分析是数据库设计的重要阶段,一个完整的有效地数据库需求分析对于系统的成败起着至关重要的作用。分析应该根据实验课程管理系统所需要功能建立数据库中的表。 3.3.2 数据库的总体设计

数据库的总体设计是完成数据库的第一步,其中包括对数据库的结构设计、功能设计、内容设计,另外还包括对数据库的安全设计。数据库设计所依据的内容是是系统分析阶段的数据字典,所对应的工具是E-R图。 3.3.3 数据库的逻辑设计

数据库是系统的数据层的实现,系统业务逻辑层可访问、操作数据层。根据系统的需求分析及提及出来的业务逻辑模型,可以初步分析出系统数据层。设计关系数据库的时候,一般是先将需求抽象成模型,并将模型转化成具体的表。

以下是本系统用到的主要数据库表。 表和字段如下:

表3-1 管理员:User

字段名 ID Name Password 含义 登录用户类别编号 登录用户姓名 登录用户的密码 类型 int varchar(50) varchar(50) 是否允许为空/主键 否 否/主键 否

开始界面表包括用户类别编号、登录用户所属类别名称。

表3-2 课程信息表:Course

字段名 ID Name 含义 数据库中编号 课程名称 课程编号 课程开始时间 课程结束时间 课程简介 20

类型 Bigint varchar(25) varchar(50) Date() Date() varchar(50) 是否允许为空/主键 否/主键 否 否 否 否 否 Cnumber startTime lastTime introduce 2011届通信工程专业毕业设计

xueshi 课时 varchar(50) 否 课程信息表:Course 包括:课序号、课程名称、课程介绍、课程起止时间、课时。

表3-3 学生信息表:Student

字段名 ID Name Password sex acdemy Number 含义 数据库中编号 姓名 密码 性别 学院 学号 类型 Bigint Varchar(25) Varchar(18) Varchar(25) Varchar(50) Varchar(255) 是否允许为空/主键 否/主键 否 否 否 否 是 学生信息表:Student 包括:名字、密码、性别、院系、学号。

表3-4 实验信息表:experiment

字段名 Id Course_id enumber Test_time name 含义 数据库编号 课程编号 实验编号 上课时间 实验名称 类型 bigint(20) Bigint(20) varchar(255) Datetime(0) varchar(255) 是否允许为空/主键 否/主键 否/外键 否 否 否 实验信息表:experiment包括:实验编号、名称、上课时间、数据库编号、对应课程ID。

表3-5 教师信息表:Teacher

字段名 ID Sex email Name password academy 含义 数据库中编号 性别 邮箱 名称 密码 学院 类型 Bigint(20) Varchar(25) varchar(255) Varchar(25) Varchar(18) varchar(255) 是否允许为空/主键 否/主键 否 否 否 否 否

教师信息表:Teacher 包括:性别、邮箱、密码、账号、所在学院、数据库中编号。

表3-6 报告信息表:report

字段名 Id Name Report_time address 含义 编号 名称 提交报告时间 上传资料地址 21

类型 Varchar(20) Varchar(255) Datetime() varchar(255) 是否允许为空/主键 否/主键 否 否 否 刘洋:实验课程管理系统

Experiment_id Pingfen Pingyu 所属实验ID 教师所在学院 评语 Varchar(20) Varchar(255) varchar(255) 否/外键 是 是 实验报告信息表:report 包括:数据库中编号、名称、提交时间、存放地址、评分、评语、对应的实验项目。

表3-7 资料信息表:information

字段名 Id Name Address Experiment_id

含义 编号 名称 存放地址 所属实验编号 类型 Varchar(20) Varchar255) Varchar(255) Bigint(20) 是否允许为空/主键 否/主键 否 否 否/外键 资料信息表:information 包括:编号、名称、存放地址、所属实验编号。 数据库联系示意图如下:

22

2011届通信工程专业毕业设计

第4章 详细设计及实现

4.1 功能详细设计

4.1.1 网站的表示层设计

界面设计是网站设计中非常重要的一个环节。有时它将直接影响到网站运营的成败。我们知道一个成功的界面应该能达到让用户一目了然的目的,使用户不必花费很大功夫在登陆框架上,与此同时,一个优美的界面往往会给人们带来一种愉快的心情。在网站的基本页面设计时应更多的考虑到用户对网站的接受程度,使用户能够在很短的时间内把握网站功能的实现过程。因此在设计过程中应该突出功能模块重点和网站各个网页的风格。模板页是gsp中新增的功能,它能保证整个网站的风格统一,使用

户不必再花时间熟悉

其他页面的操作,以下是网站的首页,该网站使用了白色为主颜色,使人能够在使用过程中感受到很空明的感觉。如图所示:

图4-1 实验课程管理系统首页

关于登陆界面以及对于界面传递参数的处理,主要是来自userControl来控制的。 代码如下:

GSP页面上的代码(部分)

23

刘洋:实验课程管理系统

//这是用户角色选择页面的实现代码用了三个radio单选标签,当选中时,

提交表单时,他会传递他的value参数。然后在control里面用params.limits得到传来的value参数。

Control中代码如下 def login = {}

def authenticate = {

def limits=params?.limits //得到传来的value值,用于判断用户角色类型 if(limits.equals(\ //if语句,判断用户的类型,然后执行权限判断

def user1 = User.findByNameAndPassword(params.name, params.password)//判断传来的 值是否与数据库中的一样 if(user1){

session.user = user1 //把得到的数据库中的对象存入session中为后面调用做准备。 session.contrl=\ session.tongy=user1 session.limit=limits

flash.message = \欢迎${params.name}管理员,进入课程管理系统!\中的信息是为了在页面上显示欢迎,或是验证出错是的提醒

redirect(controller:\action:\中利用redirect来实现不同控制器的跳转。它里面有controller的值。还有相应的处理action的值。这句的意思是直接跳到课程里,显示课程列表。

}else{flash.message = \ redirect(action:\如果验证信息不对,他会跳转到action 为login的控制类中,调相对应的login.gsp页面 }else if(limits.equals(\

def teacher1 = Teacher.findByNameAndPassword(params.name, params.password) if(teacher1){

session.teacher = teacher1 session.contrl=\ session.tongy=teacher1 session.limit=limits

flash.message = \欢迎您${params.name}老师,进入课程管理系统!\ redirect(controller:\

}else{ flash.message = \ redirect(action:\ }else if(limits.equals(\

def student1 = Student.findByNameAndPassword(params.name, params.password) if(student1){

session.student = student1 session.contrl=\ session.tongy=student1 session.limit=limits

flash.message = \欢迎你${params.name}同学,进入课程管理系统!\ redirect(controller:\ }else{

flash.message = \ redirect(action:\ } }else{

flash.message = \

24

2011届通信工程专业毕业设计

redirect(action:\ } }

主页内容主要包括导三个进入入口:学生进入和教师进入以及管理员进入口。根据不同的用户类别进行选择登陆。 4.1.2 管理员用户系统主要功能界面

系统前台的主要功能直接面向客户,是网站功能模块与用户之间的桥梁。 1、用户登录界面

当你是管理员用户时点击登录入口,程序运行后出现如图界面,如用户名不存在或密码错误时提示错误信息并会显示密码错误或用户名不存在的错误提示:

图4-2 用户登录页面

在该界面中我们可以看到有如下功能模块:回到主页和注册账号(仅限学生用

户)。

2、管理员登陆成功界面

当用户在用户登陆模块处进行用户账号和密码的输入点击登陆按钮后会出现如图界面(前提是登陆账号和密码都存在的情况下)

运行结果:

25

刘洋:实验课程管理系统

图4-3 管理员登录成功页面

当正确进入管理员信息管理系统后,你将会看到。管理员的一些功能(请看导航条),上边和左边都是一些快捷的导航条。右边是主体内容也是内容显示区域。登入后可以看到现有的课程列表。

3、管理员信息查询界面

当管理员点击个人信息按钮时,会出现如图界面:

图4-4 管理员信息查询页面

该界面包括管理员的基本信息:姓名、密码。 Control中代码如下:

26

2011届通信工程专业毕业设计

的ID值

/>

4、管理员可以进行实验课程管理。

图4-5 管理员信息添加课程页面和显示页面

管理员信息添加课程页面的控制代码:

def create = {

def courseInstance = new Course() //创建一个新的课程

courseInstance.properties = params //把页面上传递过来保存在params上的值,一一对应赋值给新课程

return [courseInstance: courseInstance] }

def show = {

def courseInstance = Course.get(params.id) //从页面传来的id值,用get()方法。从课

27

刘洋:实验课程管理系统

程的list()中的到相对应的ID的属性,赋值给变量courseInstance。

if (!courseInstance) { //判断语句,如果courseInstance中的值是空的,那么就给你提示,然后直接跳转到list.gsp页面。否则就跳到show.gsp页面,显示相应的ID的属性到页面。

flash.message = \'default.not.found.message', args: [message(code: 'course.label', default: 'Course'), params.id])}\ redirect(action: \ } else {

[courseInstance: courseInstance] } }

在该页面中,管理员可以课程进行创建,但创建完成后,会有一页面,显示你增加的课程的详细信息。在这页面中,你可以根据你的要求编辑课程。如下图所示:

图4-6 管理员编辑课程页面

管理员编辑课程的controller代码:

def edit = {

def courseInstance = Course.get(params.id) //取得相应的ID的全部属性

session.courseInst=courseInstance//把得到的一个list()对象保存在session中等待修改 if (!courseInstance) {

flash.message = \'course.label', default: 'Course'), params.id])}\ redirect(action: \ } else {

return [courseInstance: courseInstance] }

}//当点击更新的时候,他就会跳到update的Action里面。把页面的信息传进去,进行更新

在该页面中,管理员可对以前编辑的课程进行修改,同时也是对教学任务的安排,你可以安排课程的授课教师。同时你还可以对该课程添加其下的相关实验。如下图所示:

28

2011届通信工程专业毕业设计

图4-7 管理员添加实验项目页面

4、管理员也可以查看,实验项目列表,教师列表,方便操作和修改。如下图所示:

图4-8 管理员查询教师,和实验列表

列表的实现代码在controller控制器中都是通过action为list来控制的。显示页面都是对应的list.gsp页面,代码如下:

def list = { //实验的list控制器

params.max = Math.min(params.max ? params.int('max') : 5, 100) //这主要是实现分页的 [experimentInstanceList: Experiment.list(params), experimentInstanceTotal:

Experiment.count()] }

def list = { //教师的list控制器

29

刘洋:实验课程管理系统

params.max = Math.min(params.max ? params.int('max') : 6, 100) //这主要是实现分页的 [teacherInstanceList: Teacher.list(params), teacherInstanceTotal: Teacher.count()] }

在上图所示的两个页面中,管理员可以查看实验项目列表,教师列表。同样的他们的ID都是一个超链接,都可以到自己的信息显示页面。

5、管理员添加教师用户界面。如下图所示:

图4-9 管理员添加教师用户页面

在该页面中,管理员可以根据需要添加教师。 4.1.3 教师用户系统主要功能界面

1、教师登陆界面

图4-10 教师登录界面

当你是教师用户时,选择教师入口进行登录。当正确进入教师信息管理系统后,教师可以进行相关功能。

2、教师登陆后主界面:

该页面主要是显示的是,管理员安排教学任务,教师登陆后可以看见自己待选的课程。

同时也是教师权限功能(如:添加实验,上传资料,查看报告等)的主界面。如下图所示:

30

2011届通信工程专业毕业设计

图4-10 教师功能主界面 在TCC.gsp中显示的页面代码:

code=\待选课程:\

id=\建立一个link链接。通过查找teacherInstance中course属性得到,教师需要安排的课程

3、教师个人信息查询界面

当教师点击个人信息按钮时,会出现如图界面:

该界面包括教师的个人信息:名字、性别、密码、电子邮件、学院、所授课程、所教学生、所授实验。这个页面时通过传递登陆教师信息的ID(主键)然后调用action 为show,把ID传给它,得到下面的页面。

31

刘洋:实验课程管理系统

图4-11 教师个人信息界面

4、教师用户添加实验项目界面

当教师点添加实验时,就会出项实验项目添加界面。主要包括:实验名称、所属课程、实验编号、实验时间。教师可根据实验的具体内容,选择相应的所属课程。当添加完成后会出现你添加实验的具体信息,你可以根据需求做相应的改变。可以点击编辑后,选择要做实验的学生。也可以添加实验资料,以供学生下载用。

图4-12 教师添加实验界面

32

2011届通信工程专业毕业设计

图4-13 教师添加实验完成显示界面

图4-14 教师编辑实验显示界面

这几个页面的控制累里面的action。一个是create,一个是show,还有一个是edit当点击更新时,还会调用一个update来处理页面的数据。 代码如下:

Controller: def create = {

def experimentInstance = new Experiment() experimentInstance.properties = params

return [experimentInstance: experimentInstance] } def save = {

def experimentInstance = new Experiment(params) if (experimentInstance.save(flush: true)) {

flash.message = \'default.created.message', args: [message(code:

'experiment.label', default: 'Experiment'), experimentInstance.id])}\ redirect(action: \ else {

render(view: \ } } def show = {

def experimentInstance = Experiment.get(params.id) if (!experimentInstance) {

flash.message = \'default.not.found.message', args: [message(code:

'experiment.label', default: 'Experiment'), params.id])}\ redirect(action: \ } else {

[experimentInstance: experimentInstance]} }

33

刘洋:实验课程管理系统

def edit = {

def experimentInstance = Experiment.get(params.id) if (!experimentInstance) {

flash.message = \'default.not.found.message', args: [message(code:

'experiment.label', default: 'Experiment'), params.id])}\ redirect(action: \ else {

return [experimentInstance: experimentInstance] } } def update = {

def experimentInstance = Experiment.get(params.id) if (experimentInstance) { if (params.version) {

def version = params.version.toLong() if (experimentInstance.version > version) {

experimentInstance.errors.rejectValue(\

\[message(code: 'experiment.label', default: 'Experiment')] as Object[], \

render(view: \ return } }

experimentInstance.properties = params

if (!experimentInstance.hasErrors() && experimentInstance.save(flush: true)) {

flash.message = \'default.updated.message', args: [message(code:

'experiment.label', default: 'Experiment'), experimentInstance.id])}\ redirect(action: \ else {

render(view: \ else {

flash.message = \'default.not.found.message', args: [message(code:

'experiment.label', default: 'Experiment'), params.id])}\ redirect(action: \ }

5、教师用户上传资料页面界面

当教师点击上传资料时,系统运行后出现所示界面:

34

2011届通信工程专业毕业设计

图4-15 教师上传资料界面

在该界面中有资料名称、地址(根据上传的地址自动生成)、所属实验、文件(上传时选择)。

实现上传代码:control中的代码

def save = {

def informationInstance = new Information(params) //把页面保存在params里面的资料信息,赋值个一个list()变量informationInstance

def uploadedFile = request.getFile('informationfile')// 这里使用 request.getFile() 方法获得上传的文件的引用。有了该引用后,便可以对它进行各种类型的内省。

if(!uploadedFile.empty){

println \ println \

println \ println \

println \

//如果知道 Grails 在幕后使用 Spring MVC 框架,那么对此不应感到奇怪:上传的文件是作为 CommonsMultipartFile 对象提供给控制器的

def gspRootDir = servletContext.getRealPath(\得到上传资料的实际地址 def webRootDir = servletContext.getRealPath(\ println \

def gspDir = new File(gspRootDir, \调用函数,把资料上传的信息,保存到一个服务器上的磁盘上

def path=uploadedFile.originalFilename.toString()

def allpath=\ println \ println \

println \

informationInstance.address=\把得到的新地址赋值给数据库的addrss参量

gspDir.mkdirs()

uploadedFile.transferTo( new File( gspDir, uploadedFile.originalFilename))// 在 Web root 下创建 payload/jsmith 目录后,就可以使用 uploadedFile.transferTo() 方法将文件保存到磁盘。File.mkdirs() 方法是无损的,所以可以多次调用该方法,而不必担心当目录已经存在时会丢失已有的文件。

接下来,将一个 String 字段添加到 Entry 类,以存储 filename }

if(!informationInstance.hasErrors() && informationInstance.save()) { flash.message = \

35

刘洋:实验课程管理系统

redirect(action:show,id:informationInstance.id) //上传完成。调用action :show.把上传的资料在数据库中的编号传给action。然后转到show/id的页面,显示上传资料的详细信息。

} else {

render(view:'create',model:[informationInstance:informationInstance]) } }

6、实验报告查看界面

当教师点击实验报告查看时,显示此页面:

图4-12 实验报告查看页面

在此页面中,你可以查看到某一实验下,学生们上传的所有实验报告。可以看到上传时间、学生姓名、地址、是否评分、是否评语。当看到没有评分和评语的,你可以进入查看报告页面。如下图:

当你点击查看实验报告时,出现以下界面:

36

2011届通信工程专业毕业设计

图4-13 实验报告在线查看页面

这是一个内嵌的weboffice6.0插件,你可以直接在网上查看报告。然后进行评分,写评语。当学生登录时,他就可以根据实验项目,查看自己的实验报告。查看老师的评分和评语。 实现代码:

//grails中的调用javascript的标签

// 初始化weboffice控件

function WebOffice1_NotifyCtrlReady() {

document.all.WebOffice1.LoadOriginalFile(\

// document.all.WebOffice1.LoadOriginalFile(”文件地址”,”doc”)主要是加载文件,然后以word方式打开

}

WebOffice1_NotifyCtrlReady()

装载控件

37

刘洋:实验课程管理系统

主要参数说明:

id 控件在网页的别名,可以通过别名调用控件的方法、属性 width 控件的宽度,可以使用绝对大小,如width=\。 height 控件的高度

codebase 设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问

codebase的路径下载控件;“#Version”后的是控件的版本,如果用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件

4.2.4学生用户系统主要功能界面

1、学生登录主界面:

图4-14 学生登录后主页面

38

2011届通信工程专业毕业设计

第5章 系统测试及分析

5.1软件测试的目的和原则

在软件生存周期的每个阶段都不可避免地会产生错误,我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。

尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里面更具有它的重要性。

5.2测试实例的研究与选择

测试是对于任何软件程序都必须要有的步骤,详细的测试对于系统以后的正常使用有着至关重要的作用。

对于本系统测试主要数据库连接测试、功能测试、界面链接测试和数据测试。 对于测试实例应该采用如:对于界面要考虑该界面是否符合本系统应有的风格。 对于功能测试要考虑对于一些输入部分容易出错的地方是否作了相应对策以及系统主要功能是否实现。对于数据测试要充分考虑数据的长度是否在给定的范围内。

5.3测试环境与测试条件

测试环境:windows XP+tomcat5.0+mySQL5.0 测试条件:运行tomcat5.0+mysql 5.0

5.4测试结果

系统经过测试实现了基本功能,可以正常使用。但系统的功能还不够完善,在软件投入使用后,必然会有一些隐藏的错误被暴露出来。在以后的学习中,要加强这些方

39

刘洋:实验课程管理系统

面的学习,多查阅相关资料,多实践,积累经验,避免上述的缺憾和限制。 在测试中主要涉及到了以下几个问题:

1、在登陆的时候,多次遇到空的对象异常。代码如下:

Error evaluating expression [session.user.id] on line [28]: java.lang.NullPointerException: Cannot get property 'id' on null object。

解决方法:在整理代码时发现在这里是在页面上的一个数据调用出错。得不到相应的session值。改正如下:

中的session.user.id应改为session.tongy.id。因为session.user是转向针对管理员的session。同时通过这个问题。发现了很多session的引用存在一个session,每次登陆都用的是一个名称。所有,后来就为三个用户分配了自己的session,存放自己相关的属性。

2、在处理实验报告上传的时候,传的地址是直接得到的文件保存的实际地址。但是解析到浏览器上的时候,浏览器对于分隔符”/”解析是”\\”那么在使用是就无法正确找到这个文件。解决方法:在传递到数据库时的地址是http://localhost:8080/EMP_2011/以工程项目所在的服务器地址我主地址,然后利用转义字符把”/”转义成”\\”。 3.对于项目要求把上传的word文件变为后缀名为pdf的文件。前期的实现是调用外部的插件直接转换。但是后来发现这样在设计和使用的时候不方便。而且乱码时有发生。最后这块功能由于时间关系没做完。基本解决思路是。把word文件的内容写出来,用二进制数据流写到新建的一个pdf文件中。改好文件名就行了。这里这样处理,因为数据传输本来就是以二进制来传递的。保证了数据的准确性。

40

2011届通信工程专业毕业设计

第6章 设计总结

在有针对性的分析以后,通过建立实验课程管理系统对于各大高校进行实验管理,逐步将主要功能细化,并转变成所实现功能的模块。该平台采用先进的grails技术,以NetBeans为开发平台,数据库则采用MYSQL,具有良好的可扩展性及可移植性。实现了功能。从而为校园师生带来很大的方便。但由于本人经验有限,解还停留在起步阶段,所以很多预想到的功能还无法独立完成。平台界面也过于粗糙。有不足之处还望谅解。

软件系统采用流行的B/S结构,用户只要可以上网即可使用本系统提供的服务,不需要安装任何软件,数据共享。系统软件采用数据库。软件采用模块级安全管理,系统安全性高。完善的实现了功能需求所要求的各项功能。

经过这一学期的学习和工作,我终于完成了实验课程管理系统的设计开发和论文的写作。从开始接到课题到系统的实现,再到论文的完成,每一步对我都是新的尝试和挑战。在这段时间里,我开始独立的学习和实验,查阅相关的资料,让自己的想法一一得到实现,使自己的作品一步步完善,每一次的改进都让我有所收获,每一次实验的成功都让我欣喜若狂。当然,系统现在还不是很成熟,还有很多可以改进的地方,我也在这次开发中看到了自己的不足,在今后的学习和工作中还要继续努力。

41

加之对groovy平台进行开发,使用grails的了MYSQL 刘洋:实验课程管理系统

致 谢

时光荏苒,转眼间已在重庆交通大学学习了四年的时间,这四年的学习生涯,不仅是我丰富个人知识的重要阶段,也是我提升自身素质与能力的关键时期。在此,特别感谢我的指导老师王勇老师,他认真负责的工作态度,正直谦逊的为人品德,严谨的治学态度,孜孜不倦的科研精神是我学习的楷模,无论在理论上还是在实践中,都给予我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都是一种巨大的帮助,感谢他耐心的辅导。、

在这大学四年的最后时光里,真的是怀着感恩的心,感谢我的学校可爱的交通大学,给了我们这么好的学习环境,感谢我们的学院给我们安排了这么多优秀的教师。让我在大学四年里真正的学到了做人的责任,做事的态度。同时也很感谢我的同学,是他们让我度过了美丽,快乐,难忘的大学生涯。即将他上社会的征程,在这里还要感谢我的父母,生我养我,无私奉献的父母。路漫漫其修远兮吾将上下而求索。

42

2011届通信工程专业毕业设计

参考文献

[1] 苏瑛.基于本体的在线测试系统的研究与设计[D]. 北京交通大学,2009,(11) [2] 马楠.基于Spring的J2EE安全框架的研究与应用[D]. 北京交通大学,2009,(11) [3] 孙奇.基于MVC模式的Web开发框架Ruby on Rails的研究[D]. 北京交通大学,2009,(12)

[4] 何雨.基于决策树的在线学习分析[D]. 北京交通大学,2009,(01) [5] 唐建强.基于RIA技术的Web应用的研究[D]. 北京交通大学,2009,(02) [6] 王智勇.网络课件辅助生成系统的设计和实现[D]. 北京交通大学,2009,(06) [7] 穆利伟.基于Grails的Web应用研究[D]. 北京交通大学,2010,(10) [8] 胡鹏飞.Lucene与中文分词技术的研究及应用[D]. 北京交通大学,2010,(10) [9] 冯静.VTD-XML解析技术的研究与应用[D]. 北京交通大学,2010,(10)

[10] 邱瑛.Web2.0技术在网络教学平台中的研究与应用[D]. 北京交通大学,2010,(12) [11] 张剑平. 现代教育技术[M].北京:高等教育出版社,2006. [12] Jason Rudloph. Getting Started with Grails[M/OL]. http://bookfm.com/book/bookdetail.html?bid=103205

[13] Graeme Rocher,Peter Ledbrook,Marc Palmer. The Grails Framework - Reference Documentation[DB/OL].2008.http://grails.org/doc/1.1/. [14] Scott Davis. IBM Mastering Grails[DB/OL].2008. http://www.ibm.com/developerworks/cn/java/j-grails/.

[15][7] Graeme Rocher.Grails权威指南[M].北京:电子工业出版社,2007. [16] 刘华. 基于网络的建构学习环境的创建探析[J].教育技术导刊,2006,(1). [17] 王其云.创建基于网络的建构学习环境[J].开放教育研究,2003,(1). [18] 钟志贤.论学习环境设计[J].电化教育研究,2005,(7).

[19] 陈燕,万利平. Web2.0时代网络学习环境的构建[J].中国教育技术装备,2009,(9). [20] 丁卫泽.基于ASSURE 模型的学习环境构建[J]. 电化教育研究,2008,(12). [21] 陈琦,张建伟.信息时代的整合性学习模型——信息技术整合于教学的生态观诠释

[DB/OL].

43

本文来源:https://www.bwwdw.com/article/8xpr.html

Top