基于JSP的中小学生家校联系系统(含源文件)


获取项目源文件,联系Q:1225467431,可指导毕设,课设


摘 要
现代化素质教育要求根据孩子自身特点因材施教,要求家长和老师能及时沟通并改进对孩子的教育方式。家校联系系统就是针对目前家校联系方式单一的现象而设计的意在方便家庭和学校沟通的系统,它能够帮助解决家长快速了解学校动态、孩子在校表现以及家长、老师和学校之间的沟通问题。
本系统分为个人信息、新闻公告、学生考勤、学生成绩、学习资料及交流中心六个模块。其中个人资料模块实现了普通用户个人资料的修改,管理员对用户的增删改查,并且能够批量导入。新闻公告模块实现了管理员的发布及普通用户的查看功能。学生考勤模块实现了对学生考勤的动态查询,通过组合条件进行查询。学生成绩模块实现了对成绩的条件组合查询,班级成绩查询及排名的功能。学习资料模块实现了对学习资料的上传下载与搜索的功能。交流中心模块实现写留言、回复留言,查找与删除留言的功能。
系统是基于JSP(Java Server Pages)、My SQL技术在My Eclipse、Tomcat开发环境下设计实现的。在个人资料与学习资料模块采用了现在比较常用的jxl类库及smart upload类库实现文件上传下载与Excel存储的用户数据导入数据库的功能。通过对系统实现的冒烟测试及各功能模块的测试,确定了系统的各模块基本功能正常实现,正常运行,实现了家长、老师、学生之间的零距离沟通。
关键词:家庭,学校,沟通,交流平台
Abstract
Modern quality educations need educators to teach according to children characteristics of their own strengths also need parents and teachers to communicate in time and improve the education mode for children. This system is designed to solve the phenomenon (​app:ds:phenomenon _self​) of simplex contact method between family and school. It can help parents to know school news and his children performance quickly, at the same time help student parent and teachers to communicate with each other.
This system is divided into six modules as follow: personal information, news bulletin, student attendance, student achievements, study materials and exchange center. The personal data module implemented the personal data modification of ordinary users, the management of users by administrator and batch import of users. News bulletin module implemented news release by administrator and view function to ordinary users. Student attendance module implemented the attendance dynamic inquires of student through the combination of the query terms. Student achievement module implemented the function of score dynamic inquires, class scores query and the score rankings. Learning material module implemented the function of study material uploads, downloads and search. Exchange center module implemented to write message, reply message, finding and delete the message function.
The system is designed and implemented by JSP (Java Server Pages), My SQL technology and My Eclipse Tomcat development tools. Jxl class library and smart upload class library are in used in data import and file upload and download module. Through the smoking test and the function test to modules, each module of the system has achieved its basic functions. System has Realize the zero distance communication between parents, teachers and students.
Keywords: Family, School, Communication, Exchange Platform
目 录
TOC 1-3 摘 要 I
Abstract II
1.1开发背景和意义 (1)
1.2可行性报告 (2)
1.3开发技术简介 (3)
1.4论文组织结构 (4)
2.1平台需求分析 (5)
2.2系统功能需求分析 (6)
2.3用例描述 (8)
2.4数据库需求分析 (12)
2.5小结 (15)
3.1总体结构设计 (16)
3.2概要设计 (19)
3.3详细设计 (20)
3.4数据库详细设计 (24)
3.5小结 (27)
4.1环境部署 (28)
4.2公共模块编写 (29)
4.3个人资料模块 (31)
4.4学习资料模块 (35)
4.5成绩管理模块 (37)
4.6小结 (39)
5.1测试计划 (40)
5.2冒烟测试 (40)
5.3新闻公告模块测试 (45)
5.4小结 (49)
6.1工作总结 (50)
6.2工作展望 (51)
致 谢 (52)
参考文献 (53)
1 绪论
家校合作,顾名思义,是指家庭和学校两个相对独立的机构进行的一种旨在促进青少年儿童健康发展的相互配合、相互协调的教育活动。现代教育是一个开放的体系,青少年儿童的成长要接受来自家庭、学校、社会等多方面因素的影响,只有多方面的教育形成合力,才能对青少年儿童的发展起到事半功倍的效果[1]。因此,与青少年儿童的发展关系最为密切的两个机构家庭和学校积极地进行合作,才能促进其身心健康和谐的发展。
1.1开发背景和意义
很多学校管理者和广大教师深知家庭、学校沟通的重要性,但是往往都局限在传统的沟通方式,没有一个良好的家校联系平台,而那些方式、方法在技术飞速发展的今天已经不能满足家长和学校沟通的需要,不再适用了。
在传统的方式下,由于时间、地点等多方面原因,教师一般很少与家长进行面对面的交流,通常学校仅在学期结束时召开统一的家长会,而在家长会上教师往往是与家长进行一对多的交流,教师会将该学期的工作为家长作以简单的介绍,并对学生的假期活动作以简单的安排,同时教师会向家长汇报学生该学期的学习成绩状况。在这种情况下教师很难与家长有更深入的交流。教师有时也会因为一些特殊原因与家长进行单独交流,通过电话或是家访的方式,有时也会通知家长到学校进行面谈。而这时谈话的内容多半是针对一些学生所犯的错误将之告知家长。所以很多学生在得知教师要进行家访和面谈时多半都会有一定的抵触情绪。这些从某一侧面也反映了教师与家长之间缺乏有效的沟通交流[2]。久而久之,家长与学校之间就会形成一个教育互动上的真空地带”,非常不利于对孩子的教育。家长和老师之间这种单一的沟通的方式,已经给孩子,学校,家长带来一些负面影响。
随着Internet的飞速发展和普及,利用其先进信息技术实现在家庭——学校间搭建一座快捷、实时、有效的沟通平台已是一种必然。
1.2可行性报告
1.2.1经济可行性
本系统的使用效益,可以让家长和老师的沟通更加及时方便,省去了一定的时间资源。同时系统的实时反映学生状况,可以减轻监护人的工作量。另一方面学生使用系统的学习模块,省去家长在家配合教学或请辅导老师的情况。同时本系统的开发成本也较低。从这些方面都说明经济的可行。
1.2.2技术可行性
本系统采用My Eclipse(My Eclipse Enterprise Workbench企业级工作平台,简称My Eclipse)工具、My SQL数据库工具及JSP(Java Server Pages)技术进行开发。使用My Eclipse的优势就是它有语法着色,和语法提示[3]。自动配置JDK(Java Development Kit)的环境变量。图形界面操作,简单方便。而My SQL结构体系简单易于使用和部署而且运行速度极快。这两个工具即使对于初学者也很容易上手。对于JSP技术,有学习和实践的经验及老师的指导也不成问题。
1.2.3社会可行性
在国外,目前,美国全国已有一定数量的中学使用了家校联系系统。有条件上网的家长可以在网上查看自己孩子的作业,并用电子邮件向老师提问和反映情况。那些没有计算机的家长则可以拔打固定电话,该电话会自动读出老师在网上发布的信息。当然,家长也可以通过这个电话为老师留下语音信息。
在国内,家校联系系统自2003年9月8日经广东试点成功以来,受到全国教育界专家、学校老师、学生家长的一致好评,被视为家庭与学校沟通联系的桥梁”。对于家校联系平台的开通应用,家长们表示了极大的支持,希望通过这种简便、有效的沟通方式实现家庭和学校间及时互通,促进孩子的健康成长[4]。
从对系统各方面的调研看来,开发本系统是可行的。
1.3开发技术简介
JSP(Java Server Pages)技术是由Sun公司倡导、许多别的公司参与建立的一种动态网页技术标准,类似于其他技术标准如ASP、PHP、Cold Fusion等。它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起。
1.3.1 JSP运行原理
JSP的执行过程主要包括以下步骤:
(1)客户端发出请求(Request)。
(2)JSP容器将JSP翻译成Servlet的源代码。
(3)将产生的Servlet源代码编译,加载到内存执行。
(4)把结果响应(Request)输出至客户端[5]。
1.3.2 JSP的优点
基于Java语言的JSP技术具有很多其他动态网页技术所没有的特点,具体表现在如下方面:
(1)简便性和有效性。JSP动态网页的编写与一般的静态HTML的网页编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序。
(2)程序的独立性。JSP是Java API家族的一部分,它拥有一般的Java程序的跨平台的特性。换句话说,就是拥有程序的对平台的独立性。
(3)程序的兼容性。JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用HTML/DHTML的浏览器,到使用WML的各种手提无线设备(例如,移动电话和个人数字设备PDA),再到使用XML的B2B应用,都可以使用JSP的动态页面。
(4)程序的可重用性。在JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性[6]。
1.4论文组织结构
论文通过分析目前我国家校联系教育的模式、特点及存在问题,再结合考虑我国教育部教育信息化技术标准委员会2001年底制订的中国现代远程教育标准的前提下,利用相关技术设计并实现了网上学校信息化平台——中小学生家校联系系统。
第一章论文首先介绍了课题的开发背景和意义,其次对系统开发的可行性进行了分析,介绍了构建平台的相关开发技术。
第二章从需求分析角度包括平台需求和系统的功能需求及数据库的需求,针对不同用户阐述了系统的需求,同时对相关用例进行了描述。
第三章根据第二章的具体需求,对家校联系系统的总体结构及概要设计进行介绍,重点阐述了系统的概要设计详细设计及数据库的设计过程。
第四章根据第三章的分析,结合目前的主流技术,阐述了环境搭建与部署的过程,介绍了数据库公共模块及两个重难点模块用户信息导入与学习资料上传下载的设计与实现过程。
第五章根据第四章的实现结果进行系统的测试与维护,通过设计测试用例等对系统的相关模块进行测试。
第六章对本文进行了总结和展望,对项目的主要工作,论文的主要内容进行了总结,同时提出了尚未完成的工作,并对网上学校信息化平台的进一步研究进行了展望。
2 需求分析
需求分析是理解真实世界中的问题和用户需求,并找出能满足这些需求的解决方案的过程。需求分析的目的是在开发活动开始以前,对问题的解决方法得到更好的认识。由此可见,需求分析在整个项目过程中具有举足轻重的地位。它甚至决定了以后开发活动的大方向。能否得到一个准确全面的需求分析结果将直接影响软件开发项目的质量和成败。本章将结合本次开发的具体情况,对目标系统的功能性需求、数据库需求进行分析。
2.1平台需求分析
在城市交通和社会情况日益复杂的今天,家长都希望以能很快便捷的获知反馈学生的最新情况,学校的最新动态。有效的避免学生在上课期间逃学,放学外出,隐瞒真实学习行为等情况。那么学生考勤和学生成绩模块便是系统最基本的核心的功能,通过新闻公告模块还可以让家长随时知晓学校的最新动态,也是应当要有的。
经常有上课不认真听讲精神不集中,导致课后作业不会做,知识点落下,久而久之就与其他学生拉开差距,根不上老师教学的步伐。那么学习模块的需求就是为孩子准备的,孩子可以获得老师上课的资料以及时学习和复习以及老师推荐的课外材料以提升能力。
系统开发的初衷就是要让家长和老师之间有很好的沟通平台,同时孩子也需要家长和老师随时给予正确的引导,那么一个交流中心的模块也是必不可少,它让三者之间的交流都变得简单。
通过上面对平台的需求进行分析,可以清楚的知道家校联系系统平台因该至少有以下几个模块的实现:个人资料,新闻公告,学生考勤,学生成绩,学习资料,交流中心等。该家校联系系统的功能框架图如图2-1所示。
家校联系系统的具体实现要以图2-1所述的功能框架为目标,选用合适的技术,使用高效的开发工具,最后编程实现整个框架。
图2-1 家校联系系统功能框架图
2.2系统功能需求分析
下面的内容就将根据平台需求分析的结果对各个模块的功能做进一步的需求分析。
(1)个人资料管理。管理员可以在个人资料模块中对各用户的信息进行添加,查询,修改和删除等的操作。管理员可以单独添加一个用户也可以通过导入Excel到数据库进行批量用户的添加。其他用户可以查看和修改自己的个人信息,但是老师不能修改自己的工号,学生也无权修改自己的学号。
(2)新闻公告发布。管理员拥有唯一的权限操作新闻公告,包括增删改查,其他用户只能浏览管理员发布的新闻公告。发布的新闻公告又分为通知公告和校园新闻两类。
(3)考勤管理。随着现代社会的发展,在不久的将来大多数学校都会采用学生的考勤记录通过考勤设备(如打卡机)来实现,这也大大减轻学校管理人员和老师的工作量。所以本系统采用方式就是留了一个接口用于以后和考勤设备互联实现考勤情况自动导入。现在数据来源暂定为管理员导入。考勤的数据由管理员管理,老师、家长和学生有权限查看,可以按学年学期或年级、班级、日期或学生的学号查看学生的考勤也可以用多个条件的组合进行查询。
(4)成绩管理。老师可以按班级上传成绩,按不同条件查询成绩,修改和删除成绩。家长可以根据不同条件查询成绩(孩子成绩或孩子班级成绩),学生就只能根据查询条件筛选查询自己的成绩。管理员也可以对成绩进行增、删、改、查的管理。
(5)文件上传下载。老师可以上传各种类型的学习资料(包括课内和课外),下载资料,也能够修改自己上传的资料的属性如年级,类型等,对错传或不用的资料可以删除。家长和学生能够下载资料。管理员能够对资料进行管理。老师,家长和学生、管理员都能对资料搜索。
(6)留言板。老师、家长和学生可以相互之间进行交流,可以选择匿名留言,可以很好的保护隐私。也可以选择显示自己的姓名,各用户都可以对自己的留言进行管理。
表2-1 系统用户及对应功能表
参与者 功能描述
游客 访问网站首页、浏览新闻公告,通过网站进行用户注册,(主要针对家长用户的注册)
老师 登录后可以查看自己的个人信息,更改自己的个人信息,查看通知公告,搜索查看考勤,上传所教科目的学生成绩并进行修改、查找或删除学生成绩,上传与下载课内或课外课件资料并对已上传的资料进行修改或查找,给学生或家长留言。
学生 登录后可以查看及更改自己的个人信息,查看新闻通知,查看自己的考勤状况、考试成绩,搜索下载课件资料,给老师、家长留言。
家长 登录后可以查看及修改自己的个人信息,查看新闻通知,按条件组合搜索学生考勤、成绩,可以查看孩子的成绩,还可以查看孩子所在班级的考试成绩并进行排名。搜索下载课件资源,给老师、学生留言。
系统管理员 是本系统的所有功能使用者,包括了对用户资料的增删改查及批量导入,新闻公告的发布,考勤的上传与删除,成绩的上传与修改,文件资料的管理及留言的管理。
以上对该课题的研究,经分析确认,本系统的参与者主要有游客、老师、学生、家长、系统管理员五类。根据不同的参与者,我们可以得到如表2-1所示的需求。
2.3用例描述
根据上述系统参与者,从而画出系统需求的用例图。可以确定参与者与系统功能之间的关系,哪些东西在系统边界之外,用例图是对系统语境的勾画,显示了系统的边界,以及如何使用系统。
本系统的管理员用例图如图2-2所示。
图2-2 管理员用例图
从图2-2可以看出系统的参与者管理员涉及的主要用例有用户资料管理、新闻公告管理、考勤管理、成绩管理、学习资料管理和留言管理。系统的参与者老师用例图如图2-3所示。
图2-3 老师用例图
从图2-3可以看出参与者老师涉及到主要用例有个人资料修改、考勤搜索、成绩搜索、文件管理、和留言管理。本系统的学生用例图如图2-4所示。
图2-4 学生用例图
从图2-4可以看出参与者学生涉及到主要用例有个人资料修改、考勤搜索、成绩搜索、文件下载、和留言管理。本系统的家长用例图如图2-5所示。
图2-5 家长用例图
从图2-5可以看出参与者家长涉及到主要用例有个人资料修改、考勤搜索、成绩搜索、文件下载、和留言管理。本系统的游客用例图如图2-6所示。
图2-6 游客用例图
各个用例之间存在一定的关系,用户资料管理用例包含用户添加、修改、查询、删除、批量导入五个用例。新闻公告管理用例包含新闻公告的添加、修改、查询、删除四个用例。考勤管理用例包含考勤的上传、查询与删除三个用例。成绩管理用例包含成绩的上传、修改、查询、删除四个用例。文件管理用例包含文件的上传、下载、修改、搜索与删除五个用例。留言管理用例包含留言的发布、查询、删除三个用例。现在以用户资料管理和成绩管理为例说明该用例与其它用例的关系。用户资料管理用例关系图如图2-7所示。
图2-7 用户资料管理用例关系图
成绩管理用例关系图如图2-8所示。
图2-8 成绩管理用例关系图
由此,该系统的功能需求已清晰地呈现出来,各模块的功能以及各用户的功能已经很清晰。
2.4数据库需求分析
根据以上对系统的平台及功能需求分析,可以知道系统中主要存在的实体有9个:老师,家长,学生,管理员,新闻公告,考勤,成绩,文件及留言。下面用实体图及E-R图描述各个实体间的关系及其所包含的属性。
学生实体所包含的属性有学号、姓名、性别、年级、班级、学生电话、家长电话及学生住址,如图2-9所示。
图2-9 学生实体图
老师所包含的属性有工号、姓名、性别、课程、联系电话、邮箱及住址,如图2-10所示。
图2-10 老师实体图
在此系统中家长所关注的主要对象是孩子,所以家长的属性相对较少。而且家长用手机号做为关键字也使他的属性变得简单,包括手机号、姓名、性别、职业、邮箱、住址,如图2-11所示。
图2-11 家长实体图
管理员作为系统的管理者,与系统其它实体的联系较少,其属性也较少,包括工号、姓名、联系电话,如图2-12所示。
图2-12 管理员实体图
新闻公告的属性包括新闻标题、类型、时间、发布者及内容,如图2-13所示。
图2-13 新闻公告实体图
考勤和成绩都是相对于学生而言的,其属性相对较多,考勤属性如图2-14所示。
图2-14 考勤实体图
学生的成绩由任课老师进行上传和维护,其属性如图2-15所示。
图2-15 成绩实体图
课件信息也是由老师进行上传和修改,删除,属性如图2-16所示的。
图2-16 课件实体图
留言信息是针对所有用户的,包括收言人,留言人,标题,时间和内容及留言者身份。留言者身份记录留言人是老师、学生、家长或者是管理员,用于查找留言人的姓名。如图2-17所示。
图2-17 留言实体图
根据以上对个实体属性的分析,各实体间也存在着相互的关联,下面就用E-R图来进行分析和描述。由于实体及其属性太多,在这里就以一个简化的E-R图来描述他们之间的关系如图2-18所示。
图2-18 系统E-R图
2.5小结
本章通过从系统平台的需求分析开始着手,逐步推导出系统该实现的功能需求及模块框架,又通过相关用例的描述,清晰的刻画了各个角色应实现的功能,通过数据库需求分析,得出相应实体间的关系,由此,系统的需求已经明了,可以进行下一步的设计工作了。
任何一个完成的系统实现都脱离不了系统设计,没有系统的设计也无法从整体把握这个系统的框架,系统设计是这个系统完成过程中至关重要的一部分,本章将讲述系统总体结构、概要设计、详细设计及数据库设计。
3.1总体结构设计
网上家校联系门户是教师、家长、学生的主要入口及操作平台,同时也是面向学生、家长提供及时沟通的重要窗口,是宣传及实际教学的承载平台。图3-1图3-2和图3-3展示了面向系统不同用户总体结构图,体现系统的模块化结构设计。
系统的前台结构图,根据不同的用户而有所不同,家长和学生的权限相对较低,只有基本的浏览、查询与下载及对留言的管理。如图3-1所示。
图3-1 家长和学生前台结构图
教师的操作权限高于家长和学生,增加了对学生成绩及学习资料的管理操作。教师前台结构图如图3-2所示。
图3-2 教师前台结构图
系统的总体结构图同时也是管理员后台的体系设计。管理员是系统最高权限使用者,他的功能操作包含了系统各个模块。对用户的个人资料可以添加、修改、查找、删除,也可以批量导入用户数据。发布新闻公告并进行修改、查找及删除的操作。对考勤的管理包括对考勤数据的导入及删除或批量删除过期的考勤数据。成绩管理包含对成绩的上传、修改、查找及删除。文件管理包括对文件的上传及审核,未通过可以删除或修改。对留言的管理包含对所有用户的留言进行查看,删除。发表留言。其对应的系统后台结构图如图3-3所示。
图3-3 系统总体结构图
3.2 概要设计
概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。项目的成功取决于设计的好坏,而概要设计则是整个设计的关键部分。概要设计的主要任务是将用户的需求划分为不同的功能,然后将这些功能细分成模块,并给模块一些规则约束,以达到各个模块之间可以相互交流的目的。
3.2.1概要设计原则
概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则:
(1)细分原则;
(2)提高代码重用性;
(3)从上而下层层分析;
(4)一致性原则;
(5)提高独立性,减少耦合;
(6)模块的大小要尽量适中[7]。由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。
3.2.2用户需求模块化
概要设计中最重要的就是确定此项目包括哪些模块。根据上两节的讲述中已经将用户的需求根据模块特征模块画了:个人资料模块,新闻公告模块,学生考勤模块,学生成绩模块,学习资料模块和交流中心模块。各模块各用户的功能已在上两节中详细描述。下面来描述系统概要设计中的类图。
3.2.3类图设计
在家校联系系统中用到的主要类有9个:Student(学生)、Teacher(老师)、Parent(家长)、Admin(管理员)、Attend(考勤)、Exam(考试成绩)、News(新闻公告)、Lefile(学习资料)、Lmessage(留言)。各个类之间拥有一定关系,其中一个老师对象可以上传零个或多个文件,上传多条成绩记录,拥有零条或多条留言信息。学生对象可以下载零或多个文件,有多条考勤及成绩记录,零或多条留言。家长对象可以关注一个或多个学生,下载零个或多个文件,拥有零条或多条留言记录。他们之间的关系如图3-4所示。
图3-4 系统的类图
3.3 详细设计
详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。UML是统一化的一种设计标准。因为统一,所以任何人所做的设计只要符合标准,都可以很容易地让别人看懂,因此,大部分的设计人员目前都采用UML来进行详细设计。
对各模块中部分用例绘制时序图,由于系统中的用例比较多,所能话的时序图也很多,在此仅以上传成绩、搜索成绩和下载文件资料用例的时序图来做说明。
老师上传成绩时,先登录并进入到学生成绩首页,点击上传成绩按钮,判断具有上传权限,则进入上传文件页面,根据选择要上传的学期、班级等条件,输入成绩,点击上传,若上传成功显示上传成功。其时序图如图3-5所示。
图3-5 老师成绩上传时序图
家长搜索成绩先登录进入学生成绩首页,在页面左侧输入条件框中输入想要查找的相关信息条件,可以是单一条件也可以是组合条件,在搜索输入框下有两个按钮:查看孩子成绩,查看班级成绩。点击查看孩子成绩,系统根据用户输入的条件查找出孩子对应的成绩数据进行显示;点击查看班级成绩,系统则根据学号信息,查找出学生所在班级,再根据班级查找对应的成绩记录显示出来。如果查找的数据数据库中不存在,页面则显示无记录”。如果用户未输入任何查找条件进行查找,页面提示请输入查找条件”。其时序图如3-6所示。
图3-6 家长成绩搜索时序图
学生下载文件时,先登录并进入到文件下载页面首页,用户选择了某个文件点击文件右边的下载按钮,系统获取要下载的文件信息,到数据库中查找匹配的文件,如果找到,就到服务器下相应文件夹下提取文件,用户可见页面显示弹出框,用户可以打开或保存文件到某个路径下。如果找不到匹配的数据文件,系统提示用户您要下载的文件不存在。”其时序图如图3-7所示。
与下载文件对应的是老师上传文件的用例功能。老师要进行文件上传,首先成功登陆系统,在学习资料首页点击上传文件”进入到文件上传页面,老师选择了要上传的文件,并填写文件相关的其他信息,点击上传,系统获取文件的相关信息存入数据库中,再将要上传的文件存放到服务器下。这样,在下载时就可以从数据库中查找相关的文件信息筛选下载文件。图3-8和图3-9分别是老师上传文件的状态图和活动图。
图3-7 学生下载文件时序图
下面是状态图示例。老师上传文件的状态图如图3-8所示。
图3-8 老师上传文件状态图
老师上传文件所对应的活动图如图3-9所示。
图3-9 老师上传文件活动图
3.4 数据库详细设计
经过上面的分析,并结合需求分析,对系统中涉及到的一些实体对象提取数据表字段,要遵守3个原则[8]。
(1)每个字段都是不可再分的最小数据单位。
(2)非主键字段必须完全依赖于主键
(3)如果两个表存在关联,必须有字段作为外键进行连接。
根据系统的需求中要实现的功能,各实体表做如下设计。学生信息表如表3-1所示。
表 3-1 学生信息表
字段名 数据类型 备注
学号 varchar(10) 非空、主键
姓名 varchar(10) 非空
密码 varchar (10) 非空
性别 varchar (2) 非空
年级 varchar(10) 非空
班级 varchar(10) 非空
学生电话 varchar(11) 可以为空
家长电话 varchar(11) 非空、外键
学生住址 varchar(50) 可以为空
老师信息表如表3-2所示。
表 3-2 老师信息表
字段名 数据类型 备注
工号 varchar(10) 非空、主键
姓名 varchar(10) 非空
密码 varchar (10)
性别 varchar (2) 非空
课程 varchar(10) 非空
联系电话 varchar(11) 可以为空
邮箱 varchar(15) 可以为空
住址 varchar(50) 可以为空
家长信息表如表3-3所示。
表3-3 家长信息表
字段名 数据类型 备注
手机号 varchar(11) 非空、主键
姓名 varchar(10) 非空
密码 varchar (10) 非空
性别 varchar (2) 非空
职业 varchar(10) 非空
邮箱 varchar(15) 可以为空
住址 varchar(50) 可以为空
新闻公告信息表如表3-4所示。
表3-4 新闻公告表
字段名 数据类型 备注
新闻编号 int(10) 非空、主键
标题 varchar(50) 非空
类型 varchar(10) 非空
时间 date 非空
发布者 varchar(10) 非空
内容 text 非空
学生考勤信息表如表3-5所示。
表3-5 学生考勤表
字段名 数据类型 备注
考勤编号 Int(10) 非空、主键
学年 varchar(10) 非空
学期 varchar (3) 非空
学号 varchar(10) 非空、外键
到校时间 varchar(10) 非空
离校时间 varchar(10) 非空
年级 varchar(10) 非空
班级 varchar(15) 非空
日期 date 非空
备注 varchar(30) 可以为空
学生成绩信息表如表3-6所示。
表3-6 学生成绩表
字段名 数据类型 备注
成绩编号 Int(10) 非空、主键
学年 varchar(10) 非空
学期 varchar (3) 非空
学号 varchar(10) 非空、外键
课程 varchar(10) 非空
考试类型 varchar(10) 非空
时间 date 非空
分数 int(3) 非空
年级 varchar(10) 非空
班级 varchar(10) 非空
上传者 varchar(10) 非空
学习资料信息表如表3-7所示。
表3-7课件信息表
字段名 数据类型 备注
课件编号 int(10) 非空、主键
标题 varchar(50) 非空
类型 varchar(10) 非空
时间 date
年级 varchar(10) 非空
课程 varchar(10) 非空
上传者 varchar(10) 非空
留言信息表如表3-8所示。
表3-8留言信息表
字段名 数据类型 备注
留言编号 int(10) 非空、主键
收言人 varchar(11) 非空
标题 varchar(20) 非空
时间 date 非空
内容 varchar(300) 非空
留言人 varchar(11) 非空
留言人身份 varchar(3) 非空
管理员信息表如表3-9所示。
表3-9 管理员信息表
字段名 数据类型 备注
管理员ID varchar(10) 非空、主键
姓名 varchar(10) 非空
密码 varchar (10) 非空
联系电话 varchar(11) 可以为空
3.5 小结
本章根据系统的需求,从系统的总体结构设计着手,对系统的概要设计和详细设计及数据库的设计进行了详细的分析,描述系统功能的实现过程,直观的体现了业务流程,从而让系统的实现过程变得清晰明了。
系统的实现是整个过程中最核心的部分,一方面检验了设计的合理性又检验了自己的实际操作能力,本章就从系统环境部署、公共模块的实现到系统功能模块的实现过程做详细介绍。
4.1环境部署
本节主要是一些关于JSP+Tomcat开发环境及其安装配置的介绍。
(1)安装JDK
①运行下载的JDK安装程序。
②默认选择下一步,直到完成。
③修改环境变量:系统桌面右击我的电脑”-->属性-->高级-->环境变量;在系统变量”栏点新建”按钮,新建系统变量,其中,变量名:JAVA-HOME,变量值为上面JDK的安装路径,默认为C:Program FilesJavajdk1.6.0_10,确定;再在系统变量”栏找到并修改到变量Path,在其变量值最前端添加JDK安装路径,如下:C:Program FilesJavajdk1.6.0_10in;确定即可[9]。
④验证JDK是否配置成功。打开DOS命令窗体,输入:javac按Enter键,系统输出javac的帮助信息说明已经成功配置。
(2)Tomcat的安装及配置
①将下载的apache-tomcat-6.0.20.zip解压,为方便识别,可将其重命名为tomcat6。然后直接将该文件夹拷贝到目标位置。
②运行tomcat6下bin文件夹中的startup.bat,若前面的JAVA-HOME变量设置没问题,则会弹出一个DOS窗口显示一些信息,最后栏会显示服务启动时间信息,类似Server startup in 768 ms,这就说明Tomcat启动成功。
③在浏览器中输入:http://localhost:8080/则会进入一个管理界面[10]。 
(3)开发环境MyEclipse的安装
直接运行下载的MyEclipse安装程序MyEclipse 8.exe,一直默认直至完成即可。
(4)关联Tomcat服务与MyEclipse开发环境
通常MyEclipse中自带了Tomcat服务,但我们一般不使用它,而是使用自己配置的。设置步骤:
①在ROOT目录中创建一个JSP工程,单击MyEclipse工具栏中的"Deploy MyEclipse J2EE Project to Server..."按钮,进入Project Deployments对话框。
②在对话框中的Project下拉列表中选择刚才新建的JSP工程,然后单Deployments后的Add按钮,打开New Deployment对话框。
③在New Deployment对话框中的Server下拉列表中选择已经安装好的Tomcat版本,然后单击Finish按钮即可。若Server下拉列表中没有已经安装好的Tomcat版本,就单击下边的Edit server connectors...,进入Preferences(Filtered)对话框,然后再从左边列表里打开MyEclipse-->server-->Tomcat,在从Tomcat列表中找到已经安装好的Tomcat,然后选择上边的Enable按钮,单击OK确定即可[11]。
4.2公共模块编写
数据库连接和数据库增、删、改、查操作是每个模块都会用到的代码,将他们都放在一个数据库操作文件中不仅提高代码的重用性,同时减少重复编写的工作量。关键代码如下:
public class DB2 {
//连接数据库
public static Connection getConn() {
Connection conn = null;
try {
Class.forName(com.mysql.jdbc.Driver);
conn = DriverManager.getConnection(jdbc:mysql://localhost:3306/family? characterEncoding=UTF-8, root , root);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace(); }
return conn;
}
//创建Statement对象
public static Statement createStmt(Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace(); }
return stmt;
}
//执行Statement对象,返回单个结果集
public static ResultSet executeQuery(Statement stmt, String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace(); }
return rs;
}
//执行Statement对象,返回本次操作影响的行数
public static int executeUpdate(Statement stmt, String sql) {
int ret = 0;
try {
ret = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace(); }
finally {
close(stmt); }
return ret;
}
}
4.3个人资料模块
各个用户的操作都是在登录系统之后进行的,系统的登录界面如图4-1所示。
图4-1 家校联系系统操作主界面
个人资料模块的难点在于管理员对用户数据的批量导入。要实现管理员可以通过导入Excel数据文件向数据库中添加用户信息,减轻管理员用户添加的工作量。系统通过一个表单的文件域将Excel文件先上传到服务器上,再获取路径读取Excel中的用户信息并导入到数据库中,系统使用了jxl.jar来帮助实现。导入用户信息的jsp页面如图4-2所示。
图4-2 用户添加页面
Servlet处理导入数据的关键代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 前期准备获取数据
request.setCharacterEncoding(utf-8);
String StudentID=null;
String sname=null;
String password=null;
String ssex=null;
String grade=null;
String classes=null;
String stellphone=null;
String Ptellphone=null;
String saddress=null;
int flag=0;
Connection conn2 = DB2.getConn();
if(conn2 == null)
{ System.out.println(数据库连接失败!); }
// 新建一个SmartUpload对象
SmartUpload mySmartUpload = new SmartUpload();
// 上传初始化
mySmartUpload.initialize(config, request, response);
try{// 上传文件
mySmartUpload.upload();
Files files = mySmartUpload.getFiles();
com.jspsmart.upload.File myFile = files.getFile(0);
// 将上传文件全部保存到指定目录
myFile.saveAs(/document/ + myFile.getFileName(), mySmartUpload. Save_virtual);
// 获取上传文件的绝对路径
String request1 = request.getSession().getServletContext().getRealPath(/document/ +myFile.getFilePathName());
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+ request.getServerPort()+path+/+document+/+myFile.getFilePathName();
Statement st2 = conn2.createStatement();
String sql=null;
int rs2;
InputStream is = new FileInputStream(request1);//写入到FileInputStream
Workbook book = Workbook.getWorkbook(is);
Sheet sheet = book.getSheet(0);
for (int i = 1; i < sheet.getRows(); i++)//按行读取数据
{
StudentID=sheet.getCell(0, i).getContents();
sname=sheet.getCell(1, i).getContents();
password=sheet.getCell(2, i).getContents();
ssex=sheet.getCell(3, i).getContents();
grade=sheet.getCell(4, i).getContents();
classes=sheet.getCell(5, i).getContents();
stellphone=sheet.getCell(6, i).getContents();
Ptellphone=sheet.getCell(7, i).getContents();
saddress=sheet.getCell(8, i).getContents();
//插入数据库
sql=insert into student(StudentID,sname,password,ssex,grade,classes,stellphone, Ptellphone,saddress) values(+StudentID+,+sname+,+password+,+ssex+,+grade+,+ classes+,+stellphone+,+Ptellphone+,+saddress+);
rs2 =st2.executeUpdate(sql);
if(rs2==1){flag=0;}
else{flag++;}
}
book.close();
// 转发到原来页面
response.setContentType(text/html;charset=utf-8);
String url = null;
url = /family/userexceladds.jsp;
if(flag==0)
response.sendRedirect(url);
} catch (Exception e) {
e.printStackTrace();
}finally {
DB2.close(conn2);
}
}
4.4学习资料模块
在学习资料模块,家长、学生和老师可以对文件进行下载,老师可以上传文件。
(1)上传文件。老师登录后,进入到学习资料首页,可以点击上传文件进行文件的上传,并且可以对单个或多个同类文件同时上传。文件上传页面显示如图4-3所示。
图4-3 上传文件
处理文件上传的Servlet实现将文件上传到服务器,其关键代码与上文将Excel文件上传到服务器类似,这里不再重复。
(2)下载文件。用户登录后,进入到学习资料首页,可以点击下载按钮对文件进行下载操作,也可以在搜索之后或点更多”之后选择相应文件下载。文件下载页面显示如图4-4所示。
图4-4 下载文件
处理文件下载的Servlet关键代码:ProcessDownload.java
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding(utf-8);
SmartUpload down = new SmartUpload();
String fileName = request.getParameter(fileName);
down.initialize(config, request, response);
// 设定contentDisposition为null以禁止浏览器自动打开文件,保证点击链接后是下载文件。
down.setContentDisposition(null);
// 获取文件路径
StringBuffer path = new StringBuffer();
path.append(this.getServletContext().getRealPath(/));
path.append(document).append(\);
path.append(fileName);
try {
// 下载文件
down.downloadFile(path.toString());
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SmartUploadException e) {
e.printStackTrace();
}
}
4.5 成绩管理模块
成绩管理模块包括对学生成绩的上传、修改、查找及删除。对家长用户来说,学习成绩是很关注的内容,所以这一节介绍成绩管理的核心功能:学生成绩的查找。
(1)家长进入学生成绩首页,在页面左侧输入查找条件,点击查询孩子成绩,页面显示效果如图4-5所示。
图4-5 查找孩子成绩
(2)家长点击查看班级成绩,页面效果如图4-6所示。
图4-6 查找孩子班级成绩
系统通过一个表单,用两个提交按钮通过JavaScript实现获取用户选择的查找条件及查找的是孩子成绩还是班级成绩,如果获取的查找条件不为空,追加到sql语句中,再根据这个sql语句到数据库中查找记录。处理成绩查找的关键代码如下所示。
//判断从表单获取的数据是否为空
if(!(eyear==&&eterm==&&etype==&&course==&&StudentID==))
{//连接学生表和成绩表,从学生表获取学生姓名
sql2.append(select sname,exam.* from student,exam where student.StudentID=exam.StudentID AND exam.grade=+grade+ AND exam.classes=+classes+);//向sql2中追加基本的查询语句
if(eyear!=){ sql2.append( AND eyear=+eyear+); }
if(eterm!=){ sql2.append( AND eterm=+eterm+); }
if(etype!=){ sql2.append( AND etype=+etype+); }
if(course!=){ sql2.append( AND course=+course+); }
//将班级分数按从高到低排列
sql2.append( ORDER BY escore desc);
sqlQuery=sql2.toString();
rs2 = st2.executeQuery(sqlQuery);
}
4.6 小结
本章介绍了系统中主要功能模块的实现过程,包括对新闻公告模块管理员增删改查和学习资料模块老师上传下载的实现描述,给出了部分截图及关键代码,还有其他模块的实现再次不做一一介绍,详细见系统。
软件测试的目的[12],第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
5.1 测试计划
(1)测试对象:对家校联系系统的各模块的测试。
(2)测试范围:各模块的功能,界面,性能等得测试。
(3)资源要求:人力资源,暂由本人进行测试的设计实施及分析总结。环境资源,处理器型号:AMD/Intel 1.6GHZ及以上。内存容量:512MB及以上。操作系统:Windows XP。浏览器:IE6/IE7/Mozilla Firefox12.0。测试工具:手工测试。
(4)测试实施:
测试安排:制定测试计划,搭建测试环境,设计测试用例,冒烟测试,执行测试用例,完成测试报告,
测试策略:测试需求主要来自上文第二章和第三章的内容。测试类型包括功能测试,性能测试和接口测试。
5.2 冒烟测试
冒烟测试[13]的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。其目的是确认软件基本功能正常,可以进行后续的正式测试工作。下面就以该系统的一个老师的身份进行冒烟测试,以确认基本功能的完成情况。如表5-1所示。
表5-1 冒烟测试
用例目的 功能是否相应实现
前提条件 用户名(eg.10001),密码(eg.123)
步骤 预期结果 实际结果
1.以老师的身份登录系统 登录首页,称呼正确,登录区域不可用 与预期结果一致
2.点击个人资料并修改 修改成功数据更新 与期望结果一致
3.点击新闻公告,选择一条新闻公告点击查看 显示公告内容 与期望结果一致
4.点击底部的上一条”连接 跳转到显示上一条新闻公告 与期望结果一致
5.点击学生考勤 进入模块首页,显示最新上传的考勤 与期望结果一致
6.输入学年,学期,班级,日期查看考勤 按查找条件正确显示 与期望结果一致
7.点击学生成绩,点击上传成绩 跳转到成绩上传页面 与期望结果一致
8.填写上传成绩的相关信息,上传 显示上传成功并插入到数据库 与期望结果一致
9.在学生成绩首页查找刚才上传的成绩记录 正确显示 与期望结果一致
10.选择其中一条记录点击修改 分数栏可编辑 与期望结果一致
11.更改分数并提交 修改成功并保存到数据库 与期望结果一致
12.选择一条记录点击删除 记录被删除 与期望结果一致
13.点击学习资料,选择一个文件点击下载 弹出下载对话框 与期望结果一致
14.点击保存到相应路径 下载成功 与期望结果一致
15.返回,点击上传文件 跳转到上传文件页面 与期望结果一致
16.输入上传文件的信息点击上传 文件上传成功 与期望结果一致
17.返回,搜索刚才上传的相关文件 查找出五年级语文的相关文件 与期望结果一致
18.点击交流中心 显示大家给我的留言 与期望结果一致
19.选中一条留言点击查看 显示留言信息 与期望结果一致
20.返回,点击回复 跳转到写留言页面且收言人已填 与期望结果一致
21.填写留言信息并提交 留言成功并存入数据库 与期望结果一致
22.返回,选择一条留言点击删除 留言删除 与期望结果一致
23.点击退出按钮。 退出系统 与期望结果一致
由于冒烟测试的步骤较多,现就以其中的关键步骤对冒烟测试的部分实际结果进行截图。
步骤3实际结果如图5-1所示。
图5-1 新闻公告查看
步骤6实际结果如图5-2所示。
图5-2 考勤搜索
步骤8实际结果如图5-3所示。
图5-3 成绩上传
步骤9实际结果如图5-4所示。
图5-4 成绩搜索
步骤13实际结果如图5-5所示。由于文件的上传与下载在系统的实现章节已有截图,这里不再重复。
图5-5 学习资料首页
步骤18实际结果如图5-6所示。
图5-6 交流中心首页
步骤20实际结果如图5-7所示。
图5-7 点击回复留言
总结:经过以上的冒烟测试可以确认系统的基本功能已经实现,没有什么大的问题,现在就可以继续进行各模块的功能测试了,由于系统的模块较多,现列举新闻公告模块进行模块测试。
5.3新闻公告模块测试
在这一部分将新闻公告分为了新闻公告的添加、查找、删除、修改和浏览五个部分进行测试,在各表的测试用例之后附了部分关键截图。添加新闻公告测试如表5-2所示。
表5-2 新闻公告添加测试
功能描述 新闻公告添加功能
用例目的 功能是否相应实现
前提条件 管理员进入新闻公告管理页面
输入/动作 预期结果 实际结果
1.点击添加新闻公告 跳转到新闻添加页面,显示新闻信息输入框(5个) 与期望结果一致
续表5-2 新闻公告添加测试
2.不做任何信息的输入,点击提交按钮 页面提示请输入标题 与期望结果一致
3.输入标题点击提交 提示请输入类别 与期望结果一致
4.输入类别点击提交 提示请输入时间 与期望结果一致
5.输入发布时间点击提交 提示请输入发布者 与期望结果一致
6.输入发布者点击提交 提示请输入内容 与期望结果相同
7.输入内容点击提交 显示添加成功 与期望结果一致
8.在数据库news表查看数据 数据正确添加到数据库 与期望结果一致
9.返回,继续进行添加在信息框中输入信息点击重置 信息框中的内容消失 与期望结果一致
表5-2步骤2 实际结果如图5-8所示。
图5-8 未输入信息点击提交
查找新闻公告测试如表5-3所示。
表5-3 新闻公告查找测试
功能描述 新闻公告查找功能
用例目的 功能是否相应实现
前提条件 管理员进入新闻公告管理页面
输入/动作 预期结果 实际结果
1.查找框为空,点击查找 跳转到新闻查找页面,显示请输入查找标题 与期望结果一致
续表5-3 新闻公告查找测试
2.返回到新闻首页,输入特殊字符如¥%&,点击查找 跳转到新闻查找页面,显示无记录 与期望结果一致
3.输入正常的中文标题(但数据库中不存在)点击查找 跳转到新闻查找页面,显示无记录 与期望结果一致
4.输入正常的中文标题(数据库中存在)点击查找 跳转到新闻查找页面,显示与查找标题相同的所有记录 与期望结果一致
5.在数据库news表中查看该标题对应的记录数 与查找出的记录数相同 与期望结果一致
表5-3步骤1的实际结果如图5-9所示。
图5-9 未输入查找标题
修改新闻公告测试如表5-4所示。
表5-4 新闻公告修改测试
功能描述 新闻公告修改功能
用例目的 功能是否相应实现
前提条件 管理员进入新闻公告管理页面
输入/动作 预期结果 实际结果
1.输入正常的中文标题(数据库中存在)点击查找 跳转到新闻查找页面,显示相应查找记录 与期望结果一致
2.选择一条记录后的修改按钮点击 跳转到新闻修改页面,所有输入框可编辑 与期望结果一致
3.将征文活动通知改为征文通知(也可修改其他),点击提交 显示修改成功。 与期望结果一致
4.在数据库news表中查看修改数据 修改后的结果已经保存到数据库 与期望结果一致
表5-4步骤3的实际结果如图5-10和5-11所示。页面显示如图5-10所示。
图5-10 页面新闻公告修改显示
数据库中记录如图5-11所示。
图5-11新闻公告修改数据库显示
删除新闻公告测试如表5-5所示。
表5-5 新闻公告删除测试
功能描述 新闻公告删除功能
用例目的 功能是否相应实现
前提条件 管理员进入新闻公告管理页面
输入/动作 预期结果 实际结果
1.输入正常的中文标题(数据库中存在)点击查找 跳转到新闻查找页面,显示相应查找记录 与期望结果一致
2.选择一条记录后的删除按钮点击 页面提示:确认删除? 与期望结果一致
3.点击取消 该记录没有删除存在于数据库中 与期望结果一致
4.点击确定 记录删除,数据库中不存在 与期望结果一致
用户浏览新闻公告测试如表5-6所示。
表5-6 新闻公告浏览测试
功能描述 新闻公告浏览功能
用例目的 功能是否相应实现
前提条件 管理员进入新闻公告管理页面
输入/动作 预期结果 实际结果
1.在新闻公告首页选择中间一条记录点击标题 跳转到详细内容显示页面,页面底端显示上一条,下一条 与期望结果一致
2.点击上一条 显示上一条新闻公告 与期望结果一致
3.点击下一条 显示下一条新闻公告 与期望结果一致
4.点击页面左侧新闻公告的链接 显示相应的记录内容 与期望结果一致
表5-6步骤1实际结果如图5-12所示。
图5-12选择一条新闻公告查看
表5-6步骤2实际结果如图5-13所示。
图5-13点击上一条
5.4小结
本章通过一个测试的计划安排描述,一个冒烟测试以及对新闻公告模块的功能测试对系统的实现状况做了大致的介绍。根据以上所展示的测试结果及对其他模块的测试结果表明,说系统的功能已经基本正常实现,但是还存在一些可优化及严重及较低的错误,如界面的显示。通过修改相关代码及进行回归测试可以得到解决。另一方面,系统的易用性,可靠性,兼容性,安全性等测试还要通过其他用户及其他平台的搭建才能进行测试。
6.1工作总结
回顾系统从需求考虑、分析到设计实现的这个过程,就是从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰的整个过程。其中自己也学到了很多东西。
(1)不要害怕自己不会做,要敢于去尝试,试了你才知道自己到底会不会,不会的话哪里不会,既然知道哪里不会就去学,学了就会了。
(2)在遇到自己不会做的情况下,首先可以在自己已有知识的基础上想想简便的解决办法,上网查查这种功能是否可以实现,如果不行,可以通过多方面渠道了解基本的实现想法或思路,如上网查资料,到图书馆借阅资料,请教同学等,当别人给了你指点,有一定了解之后如果还是不会,那就是对这方面的知识掌握还不够,那就要自己去充电,找资料来研究。经过一定的时间,肯定就会有思路了,那就按照这个思路去做,很多时候是能行的,但是也有些时候还是不行的,明明就是按照书上的思路写的做的,也在网上查了很多资料,可是就是不行,这时就很急,就在考虑要不要换一种实现方法,但是现在这个已经做得差不多了,也许就差一步,放弃真的很可惜,换一种方法首先是个大工程,要改很多东西,其次还是不知道能不能实现想要的功能。所以要慎重。这是就可以把它先放放,先去做别的模块了,也许哪天早上一醒来忽然就想到解决办法了,或者你在网上查找其他资料的时候一不小心就看到你之前找了很久都没找到解决办法的问题答案了。实在不行就请教高手帮忙调试。
(3)学会参考别人写的代码,如果你已经掌握了那些知识,你可以参考别人的思路,说不定他的代码比较简洁效率会比较高。如果你没有掌握那些知识,那就更要看了,这正好是一个实例教你怎么用,我们课本的知识只是知识,运用比较少,所以有些知识你也知道就是不知道怎么用,知识关键还是要会用。
6.2工作展望
这个系统的实现情况来看,用于实际当中还是有待提高性能与稳定性。有很多地方可以进行优化尤其是界面,一个好的成功的网站界面必定是非常美观与友好的。另一个方面,系统还可以继续扩展各方面的应用功能,如通讯录,文章发表等,使家校联系的互动性更加充分。
同时,这个系统的实现对我以后所进行的测试工作也有很大的帮助。比如对SQL语句更加熟悉了,测试也需要涉及到数据库确认数据存储的正确性。对一般的小错误也知道错在哪了,可以和开发人员有很好的沟通。对于集成测试,更是需要懂得更多的开发知识,才能找出错误。
当然也还有很多自己还不会的知识,在以后的工作中还要继续保持这种学习的心态,多学习才能提升自己。
致 谢
论文完成之际,谨向我的导师王超教授致以衷心的谢意!导师渊博的科学知识、敏锐的学术思维、严谨求实的治学态度和不断进取的科研作风使本人受益匪浅。在论文撰写期间,恩师不辞辛劳的指导以及鼓励,对我在专业方向上的进一步发展产生了积极的影响。在此向王教授表示崇高的敬意和最衷心的感谢。
同时也非常感谢所有教过我,关心和帮助过我的老师,是你们教会我最基础的东西,没有这些基本的知识就不可能那么快的学会其他知识。再之,感谢所有给予过我帮助的同学和朋友,感谢你们一次次的帮我解答疑问,排除困难。愿老师们,同学们身体健康、工作愉快!
由于笔者经验不足、能力有限,论文中难免有缺陷和不足,恳请各位老师和同学多多指正。
参考文献
[1] 马忠虎.家校合作[M].北京:教育科学出版社,2001. 25~30,
[2] 张旺.家长参与子女教育是教育发展之需[J].中国家庭教育杂志,2006,02:1~10
[3] 刘长炯.MyEclipse6 Java开发中文教程[M].北京:中国水利水电出版社,2009.1~10
[4] 拓思教育网家校通”参考材料 (​http:​/​​/​blog.163.com​/​lf_2000​/​blog​/​static​/​1454248200710294469377​/​ 阅读全文 _blank​):http://blog.163.com/lf_2000/blog/
[5] 王红.Java Web应用开发技术实用教程[M].北京:中国水利水电出版社,2009.1~10
[6] 张跃平,耿祥义.Jsp程序设计[M].北京:清华大学出版社,2009.25~30
[7] 杨少波,卢苇.J2EE项目实训--UML及设计模式[M].北京:清华大学出版,2008.78~90
[8] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2010.50~65
[9] 吴鹏.动态网页设计(JSP) (​http:​/​​/​www.amazon.cn​/​%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1%E5%92%8C%E7%BD%91%E7%AB%99%E5%BB%BA%E8%AE%BE%E8%81%8C%E4%B8%9A%E6%A0%B8%E5%BF%83%E8%83%BD%E5%8A%9B%E8%AF%BE%E7%A8%8B-%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1-%E5%90%B4%E9%B9%8F​/​dp​/​B00114JCAS​/​ref=sr_1_3?s=books&ie=UTF8&qid=1336627548&sr=1-3 _blank​) [M].北京:高等教育出版社,2006.94~100
[10] 封超,晃阳.Tomcat与Java Web开发技术详解[M].北京:清华大学出版社,2008.47~62
[11] 张娜.Java Web开发技术教程[M].北京:清华大学出版社,2011.37~52
[12] 蔡建平.软件测试大学教程 (​http:​/​​/​www.amazon.cn​/​JAVASCRIPT%E8%AF%AD%E8%A8%80%E7%B2%BE%E9%AB%93%E4%B8%8E%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5-%E5%91%A8%E7%88%B1%E6%B0%91​/​dp​/​B0017KOV8E​/​ref=sr_1_43?s=books&ie=UTF8&qid=1336627387&sr=1-43 _blank​)[M].北京:清华大学出版社,2009.16~24
[13] 杜庆峰.高级软件测试技术 (​http:​/​​/​www.amazon.cn​/​JavaScript%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B-%E9%98%AE%E6%96%87%E6%B1%9F​/​dp​/​B003WJJ2AU​/​ref=sr_1_24?s=books&ie=UTF8&qid=1336626983&sr=1-24 _blank​)[M].北京:清华大学出版社,2011.65~87
[14] 蔡敏,徐慧慧,黄炳强.UML与Rose建模教程[M].北京:人民邮电出版社,2011. 250~305
[15] 大藤幹,半场方人.HTML & CSS & JavaScript语法词典[M].北京:中国青年电子出版社,2007. 205~225
[16] JSP编程论坛.http://bbs.bccn.net/forum-12-1.html
中小学生家校联系系统
个人资料
管理
新闻公告
发布
考勤
管理
成绩
管理
文件上传下载
留言板
1
获取项目源文件,联系Q:1225467431,可指导其它毕设,课设

猜你喜欢

转载自blog.csdn.net/u010783228/article/details/86438905
今日推荐