1、ijava 同学录管理系统摘 要互联网技术的出现促进了 21 世纪科技信息的飞速发展,当今在政治、科研、金融、教育、通信等诸多领域都有着广泛的应用,它为人类的发展提供了广阔的空间,大大丰富了人们的文化生活。在通信领域互联网为人们提供了快捷的联系方式,缩小人们之间的距离。同学录管理系统就是为了方便班级同学之间的学习与交流,有效管理班级事务的网络平台。本网站基于 B/S 模式,在 MYECLIPSE 集成开发环境下采用 JSP 语言和 JAVA 相关技术开发完成。本网站由班级成员通讯录、班级相册、照片上传、成员注册、成员登录、我的信息、班级论坛、公告信息、系统后台构成,其中用户通过查询成员通讯录可
2、查询同学信息;在线论坛提供交流平台,用户可进行留言;公告信息实现网上公告功能;系统后台是为了管理员对网站的管理。本网站能促进班级内学生交流学习,实现用户自由访问,促进学习相互了解,增强班级凝聚力。关键字:同学录;B/S 模式;JSPiiJava alumni management systemAbstractThe advent of Internet technology to promote the rapid development of information technology in the 21st century, today in the political, scienti
3、fic, financial, education, communications and many other fields have a wide range of applications, which provides a broad space for human development and greatly enrich peoples cultural life. In the field of communication the Internet has provided people with contact shortcuts to narrow the distance
4、 between people. Classmates management system is to facilitate learning and the exchange of students between classes, class network platform to effectively manage the transaction.This site based B / S mode, in MYECLIPSE integrated development environment using JSP JAVA language and related technolog
5、y development is completed.This website is operated by members of the class book, class photo albums, upload photos, member registration, member login, my information, class forums, bulletin information systems constitute the background, where the user can query the address book information by query
6、ing the student members; online forums provide AC platform, users can leave a message; announcement information to achieve online bulletin function; system administrators to manage the background to the site. This site can promote student exchanges within the classroom learning, to achieve free acce
7、ss to users, and promote mutual understanding learning, enhance class cohesion.Key words: Classmates; B/S mode; JSP目 录摘 要 .iAbstract.ii1. 引言 .11.1 设计背景 .11.2 系统配置 .11.3 开发技术与工具 .11.3.1 JSP 技术 .11.3.2 B/S 体系结构 .21.3.3 SQL Server 数据库 .41.3.4 myelcipse 开发环境 .42. 系统分析 .52.1 可行性分析 .52.1.1 经济可行性分析 .52.1.2
8、 技术可行性分析 .52.1.3 社会可行性分析 .52.2 需求分析 .52.2.1 功能需求 .62.2.2 性能需求 .72.2.3 出错处理需求 .83. 系统概要设计 .93.1 系统总体要求 .93.2 系统概述 .93.3 系统流程 .93.4 系统模块 .103.5 数据库设计 .113.5.1 数据库分析 .113.5.2 数据库表结构 .154. 系统详细设计 .184.1 用户模块 .184.2 班级相册模块 .204.2.1 图片上载 .204.2.2 相册浏览 .224.3 班级通讯录模块 .254.4 班级论坛模块 .274.5 公告信息模块 .284.6 管理员模
9、块 .315. 系统测试 .32结论 .34参考文献 .35致 谢 .36外文原文 .37中文翻译 .4711. 引言1.1 设计背景近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面,使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要,同学录作为一种方便同学之间联系的实用系统便应运而生。在第 14 次中国互联网络发展状况统计报告中,同学录在经常使用的网络功能调查中占 13.7 %比例。可以看出国内同学录的需求比
10、例如此高,但国内同学录网站的发展却并不令人那么满意。网站的功能完善速度和内容添加幅度过慢,太过急功近利,为追求利润,在服务还不完善前盲目收费;网站过于花俏,用户不易上手;系统安全存在很大隐患,不久前就有消息称 5460 中国同学录网九千万人信息泄露;法律和道德问题管理不规范。众多高校也都已经拥有了同学录网站,然而多数高校仅仅停留在同学录有关的信息发布上。通过互联网联络同学关键是需要建立一个通畅的同学沟通平台,这样可以方便地实现同学与母校、同学与同学之间的沟通,这也是同学录提供的服务中的一个重要内容。同学录是为校友之间进行交流和联系提供的一个平台。通过提供完善的同学录服务和规范同学录的管理,可以
11、达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。随着 Internet 用户的剧增和 Internet 技术的不断发展,信息的经济效益直接体现在生产经营和管理活动中,每个重视信息资源的单位,都能利用信息资源的及时性、准确性,提高工作效率,取得经济效益和社会效益。此时,一个良好的联系方式,能从很大一个程度上提高工作效率,避免不必要的浪费宝贵的时间。1.2 系统配置运行本系统需要满足以下的一些配置要求。硬件环境服务器端/客户端:处理器:i5内存:2047M硬盘空间:251G软件环境操作系统:x86网络协议:TCP/IP浏览器:Internet Explorer 6.0显示器:VGA 或
12、更高分辨率的显示器1.3 开发技术与工具1.3.1 JSP 技术JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP 技术是用 JAVA 语言作为脚本语言的,JSP 网页为整个服务器端的 JAVA 库单元提供了一个接口来服务于 HTTP 的应用程序。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件中插入 Java 程序段2和 JSP 标记,从而形成 JSP 网页。所有程序操作都在服务器端运行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP(Java Serv
13、er Pages) 作为一种新的 Web 应用开发技术,越来越受到开发人员的关注。它为创建高度动态的 Web应用提供了一个独特的开发环境,能够适应市场上绝大多数的服务器产品。JSP 是由多个公司参与合作建立起来的动态网页技术标准。JSP 的具体特征如下:(1)分离内容的生成和演示。使用 JSP 技术,Web 页面开发人员可以使用 HTML标识设计和格式化最终页面。使用 JSP 标识或者 Java 片段来生成页面上的动态内容。生成内容的逻辑被封装在标识和 JavaBean 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。(2)生成可用的组件。绝大多数 JSP 页面依赖于可重用的、跨平台的组
14、件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者让这些组件为更多的使用者或者客户集体所使用。(3)采用标识简化页面开发。Web 页面开发人员不一定都是熟悉脚本语言。 JSP 技术封装了许多功能,这些功能都是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成时所需要的。标准的 JSP 标识能够访问和实例化 JavaBean 组件、设置或者检索组件属性、下载 Applet 以及执行用其它方法更难于编码或耗时的功能。通过开发定制标准库,JSP 技术可以进行相当的扩展,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得 Web 页面开发人员能
15、够使用熟悉的工具和同标识一样执行特定功能的构件来工作。1.3.2 B/S 体系结构B/S(Browser/Server,浏览器/服务器)模式又称 B/S 结构。它是随着 Internet 技术的兴起,对 C/S 模式应用的扩展。在这种结构下,用户工作界面是通过 IE 浏览器来实现的(B/S 模式是在 TCP/IP 的支持下,以 HTTP 为传输协议,客户端通过 Browser 访问 Web 服务器以及与之相连的后台数据库的技术及体系结构。它由浏览器、Web 服务器、应用服务器和数据库服务器组成。客户端的浏览器通过 URL 访问 Web 服务器,Web 服务器请求数据库服务器,并将获得的结果以
16、HTML 形式返回客户端浏览器。)。B/S 模式突破了传统的文件共享及 C/S 模式的限制,实现了更大程度的信息共享,任何用户只要通过浏览器即可访问数据库,从而克服了时间和空间的限制。B/S 模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。1、传统的两层 B/S 结构传统的两层 B/S(Browser/Server,浏览器/ 服务器)结构模式比较适合于小规模、用户较少、单一数据库且在安全、
17、快速的网络环境下 (例如局域网 )运行 。但是,随着应用系统的规模不断扩大 ,复杂性越来越高在多用户、多数据库且非安全的网络环境下(例如 :Internet) ,这种两层结构的应用模型将无法适应 。而且传统的两层结构还存在以下缺陷: (1)它是单一服务器且以局域网为中心的 ,所以难以扩展至大型企业广域网或 Intranet; (2)受限于供应商,程序的升级维护必须由供应商重新开发扩展; (3)软、硬件的组合及集成能力有限;在软件上呈现出胖客户端,用户必须在客户端安装特定的客户端应用程序,而且企业的业务逻辑都写在客户端应用程序中,程序维护困难,程序升级需要每个客户端都要安装新的客户端应用程序,同
18、时,对于程序3开发商来说,程序模块的重用性差,各个模块相对独立。 2、三层 B/S 结构在 Browser/Server 三层体系结构下,表示层(Presentatioon)、功能层(Business Logic)、数据层(Data Service)被割成三个相对独立的单元: 第一层 表示层:Web 浏览器 在表示层中包含系统的显示逻辑,位于客户端。它的任务是由 Web 浏览器向网络上的某一 Web 服务器提出服务请求, Web 服务器对用户身份进行验证后用 HTTP 协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在 Web 浏览器上。 第二层 功能层:具有应用程序扩展功能
19、的 Web 服务器 在功能层中包含系统的事务处理逻辑,位于 Web 服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过 SQL 等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给 Web 服务器,再由 Web 服务器传送回客户端。 第三层 数据层:数据库服务器 在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web 服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给 Web 服务器。 三层 B/S 模式的工作原理是:客户端的浏览器通过 URL 访问 Web 服务器,Web 服务器请
20、求数据库服务器,并将获得的结果以 HTML 形式返回客户端浏览器。这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“ 苗条“ 了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构层与层之间相互独立,任何一层的改变不影响其它层的功能。它从根本上改变了传统的二层 Client/Server 体系结构的缺陷,它是应用系统体系结构中一次深刻的变革。 3
21、、 三层模式的主要优点为 : 良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。 可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入; 较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。 增强了企业对象的重复可用性。 “企业对象” 是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。 三层模式成为真正意义上的“瘦客户端” ,从而具备了很高的稳
22、定性、延展性和执行校率。 三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。1.3.3 SQL Server 数据库SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言4(XML)的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。同时提供了高效的数据库解决方案,可处理海量数据,是个大型的数据库系统。其安全性、稳定性、扩展性、存储数据量都远优于access、mysql 这些小型数据库。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能
23、 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据的应用程序。SQL Server 2005 不仅可以有效地执行大规模联机事务处理,而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备
24、将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。1.3.4 myelcipse 开发环境MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)
25、是对 EclipseIDE 的扩展,利用它我们可以在数据库 和 JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML,JSP,CSS,Javascript 等技术。MyEclipse 是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse 目前支持 Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibe
26、rnate,EJB3,JDBC 数据库链接工具等多项功能。可以说 MyEclipse 是几乎囊括了目前所有主流开源产品的专属 eclipse 开发工具。在结构上,MyEclipse 的特征可以被分为 7 类:1. JavaEE 模型2. WEB 开发工具3. EJB 开发工具4. 应用程序服务器的连接器5. JavaEE 项目部署 服务6. 数据库服务7. MyEclipse 整合帮助对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。2.
27、 系统分析52.1 可行性分析并非任何问题都有简单明显的解决办法,事实上,许多问题不可能在预定系统规模或时间期限之内解决。如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。可行性分析以调查研究的结果为基础,经过可行性调研,进一步论证系统的必要性和可能性。根据目前的形式,网络的竞争越来越大,在这追求高效的社会,开发网站要有市场的需求。可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决,主要通过经济可行性分析、技术可行性分析、社会可行性分析进行确定。2.1.1 经济可行性分析由于该同学录管理系统比较小,所以对于自己的财力方面来说都是
28、可行的。计算机一台和其他的一些相关的附属物品已经具备,并且该系统开发的时间较短,只需一只两个月的时间即可实现。由于该系统相对来说比较简单,系统的维护费用也不高。开发完成后,可以实现准确与快速一体化,大大方便了同学们的联系,因此,该系统的开发在经济上是完全可行的。2.1.2 技术可行性分析根据该同学录管理系统目标来衡量所需的技术是否具备,一般可以从硬软件的性能要求,和技术人员水平等方面去考虑和分析。该同学录管理系统基于 B/S 模式,在MYECLIPSE 集成开发环境下采用 JSP 语言和 JAVA 相关技术开发完成。开发此管理系统的软件在网上都可免费下载安装,系统的软件开发平台已成熟。硬件方面
29、,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可行性越来越高。开发人员水平方面,因为在培训基地已将相关技术学习,因此综合各方面考虑,该系统的开发在经济上是完全可行的。2.1.3 社会可行性分析在现今社会,顺着信息化和计算机技术的高度发展,越来越多的人意识到信息化是提升工作效率不可缺少的重要步骤。本同学录的学生进行交流和联系提供一个平台。利用现代网络资源的优势和技术优势,通过提供完善的同学录服务,和规范同学录的管理,以达到增进同学们之间的感情,方便同学们的联系,通过进入网站了解查看班级公告,发表个人留言等,这样大大减少了班级管理工作任务,提高了信息传播的时效性,并从根本上减少了管理费用
30、。另一方面在当今的信息化时代里,一个班级的声誉在很大程度上都是依靠网络的宣传来实现的,而该同学录管理系统恰恰能够借助现代网络技术大力宣传班级风貌,为校园增色添采,丰富班级文化生活,优化了校园的宣传工作。2.2 需求分析为了开发出能真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析的重点是调查、收集与分析用户在数据管理体制中的信息要求、处理要求、安全性与完整性要求。信息要求是指用户需求从数据库中获得信息的内容和性质。由用户的信息要求可以
31、导出数据要求,即在数据库中需要存储哪些数据。处理要求是指用户要求完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。系统必须能够满足用户的信息要求、处理要求、安全性与完整性要求。6通过对太原理工大学在校同学的深入调查,得到的需求如下:2.2.1 功能需求一、普通用户的功能需求1 前台服务界面能为新用户提供注册/登录功能。2. 能够让用户在同学录管理系统中修改自己的基本资料。3. 注册用户能够查询班级通讯录,查询同学的相关信息。4. 注册用户还能够浏览班级相册并上传照片。5. 注册用户还能够在班级论坛进行发帖留言。6. 注册用户还能够在公告信息栏查看公告信息。二、管理员的
32、功能需求1 系统后台能够为管理员提供登录功能。2 管理员能够对自己的登录密码进行修改。3 管理员能根据新注册用户登记表的信息进行有筛选性地录入,即能够剔出重表,并能记录用户录入的相关信息。4. 管理员能够对网站首页的班级介绍进行编辑和修改。5 管理员能够对用户上传的照片进行删除。6 管理员能够在公告信息栏发布班级公告信息。7 管理员能够在班级论坛上对一些不恰当的留言进行删除。三、用例图1.用例图的含义及画法 用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的
33、服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。 当用例视图在外部用户出现以前出现时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互部分被称作用例。用例使用系统与一个或者多个参与者之间的一系列消息来描述系统中的交互。 用例图包含六个元素,分别是:参与者(Actor)、用例(Use Case) 、关联关系(Association)、包含关系(Include)、扩展关系(Extend) 以及泛化关系(Generalization)。 用例图可一个包含注释和约束,还可一个包含包,用于将模型中的元素组合成更大的模块。有时,可以将用例的实例引入到图中。用例图模型如下所示,参与者用人形图标来标识,用例用椭圆来表示,连线表示它们之间的关系。普通用户和管理员的用例图普通用户用例图如图 2-1 所示