摘 要
计算机技术的快速发展,特别是计算机网络的发展,它影响了人们生活的方方面面。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。校友录作为一种方便校友之间联系的实用系统便应运而生。校友录为校友之间进行交流和联系提供了一个平台。通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。本文主要介绍了数据库管理网站的方案论证、结构特性设计及行为特性设计的实现过程,详细论述了总体设计思想、数据库设计和功能模块设计。实现了班级留言、班级相册、班级共享、纸条传情、个人信息管理、管理员信息管理等功能。整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问题,并具有较强的实用作用,使用户在友好的操作界面下完成强大的功能。
关键词: 校友录,信息,管理
目 录
第1章 概 述
1.1 题目背景
计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。校友录作为一种方便校友之间联系的实用系统便应运而生。校友录为校友之间进行交流和联系提供了一个平台。通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。目前网络上已经存在很多校友录,像ChinaRen、网易、新浪、5460等,它们都有各自的特色,当然也有一不足。比如: ChinaRen的校友录,速度快,但功能单一,突出留言功能;5640的 ,则功能比较新颖,界面朴素,但速度慢;新浪的功能较全,但界面很花哨,不易适应。所以我将设计一个校友录管理网站,以友好的界面,快捷的操作完成强大的功能
1.2 项目内容
校友录管理网站是基于SQL SERVER 2000数据库系统开发的应用系统,它充分利用计算机及网络的数据处理、数据协同、数据分析的能力,也从根本上加强并促进了同学间的信息交流、资源共享及有效的管理等,进而增强了交流和管理。
项目的内容主要包括:
1)班级留言:普通文本留言 多彩HTML留言 留言修改
2)班级:相片上传 相片评论 自动缩略图
3)班级共享:共享文件上传
4)纸条传情:给具体某人的小纸条
5)班级管理和班级参数的设置更加方便
6)成员地址簿和班级留言的导出
7)个人信息管理、管理员信息管理
1.3 系统设计目标
1)操作界面友好、功能多、操作简单,查询功能强大
2)数据库设计合理,减少冗余数据,提高系统效率
3)应用JSP技术,前台采用Jbuilder作为编译环境,后台数据库使用SQL Server 2000。
第2章 方案论证
2.1 总体设计思想
一个校友录所应具备的基本功能,主要包括学校搜索、班级搜索、校友/同学搜索、班级留言、成员地址列表、班级相册、班级共享、成员来访记录、个人信息、班级管理等功能。我采用JSP技术,封装数据库操作,所有的数据通过Bean来处理,JSP实现页面的表现,这样就把页面的表现和页面的逻辑相分离。(如下图:)
在数据库连接方面,我使用了数据库连接池,这样可以大大提高系统性能,并尽可能多地重用了消耗内存资源,节省内存,提高服务效率。
在安全方面,对用户的一些重要信息进行MD5加密,因为MD5是不可逆的,所有这会使用户信息更安全。
2.2 E-R图及分析
用E-R图来标识实体间联系是非常直观的。下图充分体现了本系统所涉及的实体间的联系。此E-R图仅是本系统重要实体之间联系的一个简单描述,在以后各章里还将对本系统进行更具体的描述。
2.3 系统设计工具
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。
JSP技术在多个方面加速了动态Web页面的开发:
一.将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
二.强调可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
三.采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。
2.4 经济技术分析
我们每一个人从入学到学业生涯的结束,接触了一批又一批的同窗好友,让这么多的朋友再次相聚却是一件很不容易的事情,而计算机网络的发展为同学间的联系提供了一个方便、快捷直接的方式,校友录管理网站的产生则为其提供了沟通交流的媒介。无论身在何处的人们通过校友录管理网站建立自己所属地区的所属学校。同学之间可以不定地点,不定时间的在网上进行交流,虽然人们可以通过聚会的形式使大家相聚,但却存在很多问题,首先,朋友们生活在不同的城市,使他们相聚在某一地点是不实际的,其次,每个人的工作性质不同,大家所拥有的空闲时间也不一致,若因聚会而请假则会损失一定的资金这对于生活在都市的人们而言也是得不常失的,另外,人们也可通过电话进行交流,但我们所相处过的同学有很多,我们不可能每一次都进行异地的电话联络,这对于经济也是一项损失,综合多方面的因素,只有通过校友录管理网站才可以使人们以经济的价格,便捷的方式,高效全面的联系和曾经的同窗好友进行情感上的沟通。随着校友录管理网站的不断发展,其作用一定会越来越广泛地为人们所接受和喜欢。
第3章 结构特性设计
3.1 结构设计
这一章主要向大家介绍本系统所涉及的具体的数据库结构,本系统后台数据库采用的是SQL Server 2000企业版,下面将做一下简要的介绍。
本系统主要涉及到的数据库中的表有:
省份信息表:用于记录省份的名称和id号。
城市信息表:用于记录城市名称,城市和省份的id号。省份信息表和城市信息表的关系是一对多的关系。
安全信息表:用于记录与安全信息相关的内容,安全码是除有效证件之外最高级别的帐号保护措施。利用安全码不仅可以修复登录密码,还可以修改密码提示问题及答案、重新设置保密邮箱等。
用户注册信息表:用于记录用户名,密码等内容。
用户个人信息表:用于记录用户的个人详细资料。
纸条信息表:用于记录用户与用户之间所传递的站内短消息内容,包括消息发送时间,内容及传递双方的用户名等。
班级信息表:包括班级的创始人,创办日期,班级宣言等班级相关信息。
班级留言信息表:用于记录班级的留言信息。
成员信息表:包括成员名称,所属班级等相关信息。
学校信息表:包括学校名称,级别等相关信息。
3.2 数据库设计
数据库指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
本系统设计了多个表用于信息存储。下面将本系统数据库设计中建立的表列出,运用这些表基本上能存储系统运行涉及的数据。
表 3.1 城市信息表(city)
序号 | 字 段 | 说 明 | 数据类型 | 长度 | 可否为空 |
1 | id | 自动编号 | int | 4 | No |
2 | cityname | 城市名称 | nvarchar | 50 | No |
3 | cityid | 城市id | int | 4 | No |
4 | provid | 所属省份id | int | 4 | No |
本表说明如下:
- 本表的主要作用是用于记录城市名称,城市和省份的id号。省份信息表和城市信息表的关系是一对多的关系。
表 3.2 省份信息表(provice)
序号 | 字 段 | 说 明 | 数据类型 | 长度 | 可否为空 |
1 | id | 自动编号 | int | 4 | No |
2 | provname | 省份名称 | nvarchar | 50 | No |
3 | provid | 省份id | int | 4 | No |
本表说明如下:
- 本表的主要作用是记录省份的名称和id号。
表 3.3 用户安全信息表(psecurityinfo)
序号 | 字 段 | 说 明 | 数据类型 | 长度 | 可否为空 |
1 | securityid | 自动编号 | int | 4 | No |
2 | username | 用户名 | nvarchar | 16 | No |
3 | securityemail | 安全邮箱地址 | nvarchar | 50 | No |
4 | securitycode | 安全码 | nvarchar | 40 | No |
5 | question | 密码提示问题 | nvarchar | 30 | No |
6 | answer | 密码提示问题答案 | nvarchar | 30 | No |
7 | sendmailtime | 修改密码确认信的发送时间 | datetime | 8 | Yes |
本表说明如下:
- 本表的主要作用是用于记录与安全信息相关的内容,安全码是除有效证件之外最高级别的帐号保护措施。利用安全码不仅可以修复登录密码,还可以修改密码提示问题及答案、重新设置保密邮箱等。密码提示问题是用于修复登录密码。如果您忘记了登录密码,可以非常方便地通过您的生日和密码提示问题/答案来重新设定密码。长度不超过30个字符。
表 3.4 用户注册信息表(puser)
序号 | 字 段 | 说 明 | 数据类型 | 长度 | 可否为空 |
1 | userid | 用户id(自动编号) | int | 4 | No |
2 | username | 用户名 | nvarchar | 16 | No |
3 | password | 密码 | nvarchar | 40 | No |
4 | papertype | 证件类型 | int | 4 | No |
5 | papernumber | 证件号码 | nvarchar | 20 | No |
6 | securitied | 是否进行安全设置 | int | 4 | Yes |
7 | dataisfull | 个人资料是否填写完整 | int | 4 | Yes |
8 | usertype | 用户类型 | int | 4 | No |
9 | regtime | 注册时间 | datetime | 8 | No |
10 | lastlogintime | 最后一次登录时间 | datetime | 8 | Yes |
10 | lastloginip | 最后一次登录的ip地址 | nvarchar | 20 | Yes |
11 | logincount | 登录次数 | int | 4 | Yes |
12 | online | 是否在线 | int | 4 | Yes |
本表说明如下:
- 本表的主要作用是用于记录用户名,密码,是否进行安全设置,个人资料是否填写完整等内容。
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。