一、项目背景
1.1 选题背景和目的、意义
近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻地改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻地影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去种种陈旧的联系方式,已经不能满足现代生活的需要。校友信息管理系统作为一种方便校友之间联系的实用系统便应运而生。通过提供完善的校友信息管理服务和规范校友信息的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。我们设计这个系统主要有以下原因:一是它接近我们的生活,我们对它比较熟悉;二是我们正在使用的校友信息管理系统里可能存在着一些问题与缺陷。设计一个用与实现校友与母校之间、校友与校友之间的一个方便、快捷通畅的沟通平台,对我校的校友信息管理系统进行比较全面地设计,为我校设计与开发一个在使用功能全面、用户界面友好、安全性能可靠、可扩充性强等方面都很完善的校友管理系统。随着高校人数的不断增加,办学种类的不断变化,校友数据越来越多,如果继续通过手工制作或Excel表格存储已无法适应新时代的要求。使用现代化的软件进行校友管理,可以极大的方便校友会的日常工作,保证数据的一致性,及时性,增进校友会与校友之间的交流沟通,及时的传达学校,校友会的通知。
最终我们讨论,本系统的主要功能有:
(1)添加、删除、修改校友信息
(2)按照某一特定字(姓名,毕业年级,政治面貌,工作地址,工作单位,专业等)查询相关校友的信息(联系方式,电子邮箱等)
(3)实现简单的校友论坛
(4)管理员,用户通过用户名,密码登录
1.2产品面向的用户群体
本产品面向的用户群体主要是:
(1)校友信息管理员:管理员定时对校友信息管理系统进行维护和检查。
(2)毕业生群体:毕业生可以进入校友信息管理系统查询校友信息,与校友进行联络。
(3)在校生群体:在校大学生可以进入校友信息管理系统寻找在自己感兴趣的公司工作的毕业生,并与他们进行联系,获取帮助。
1.3产品中的角色
角色名称 职责描述
管理员 登录,维护校友信息管理系统
用户 登录,发布论坛,修改自己的信息,查询相关校友信息

表1. 1 系统中的角色
1.4开发环境
(1) Eclipse
Eclipse是一个众所周知的跨平台自由集成开发环境。起初,它主要用于Java语言开发。通过安装不同的插件Eclipse,它可以支持不同的计算机语言,例如开发工具,如C和Python。Eclipse本身只是一个框架平台,但是许多插件的支持使得Eclipse具有其他具有相对固定功能的集成开发环境软件难以具备的灵活性。许多软件开发人员使用Eclipse作为开发自己的集成开发环境的框架。
Eclipse最初是由OTI和IBM的集成开发环境产品开发团队从1999年4月开始创建的。IBM提供了初始的Eclipse代码库,包括平台、JDT和PDE。由IBM发起的日食项目已经围绕日食项目发展成为一个巨大的日食联盟。超过150家软件公司参与了Eclipse项目,包括博兰、Rational Software、Red Hat和Sybase。Eclipse是一个开源项目,它实际上是Java的视觉时代的替代品。它的界面类似于以前的Java视觉时代。然而,由于它的开放源代码,任何人都可以免费获得它,并在此基础上开发自己的插件,因此它正受到越来越多的关注。随后,包括甲骨文在内的许多大公司也相继加入了该项目。Eclipse的目标是成为一个能够开发任何语言的集成开发环境。用户只需要下载各种语言的插件。
(2) MySQL 5.0
MySQL 5.0是瑞典MySQL AB公司开发的关系数据库管理系统,目前属于甲骨文公司。Mysql是最流行的关系数据库管理系统。MySQL是网络应用中最好的RDBMS应用软件之一。MySQL是一个关系数据库管理系统。关系数据库将数据存储在不同的表中,而不是将所有数据放在一个大仓库中,因此提高了速度和灵活性。MySQL使用的SQL语言是访问数据库最常用的标准化语言。MySQL软件采用双重授权策略,分为社区版和商业版。由于其体积小、速度快、总拥有成本低,特别是开源代码,MySQL被普遍选为中小型网站开发的网站数据库。由于社区版本的出色性能,PHP和Apache可以形成一个良好的开发环境。
(3) sqlyog for MySQL
面向MySQL的Sqlyog是一个强大的MySQL数据库管理和开发工具。它为专业开发人员提供了一套强大的尖端工具,但是新用户仍然很容易学习。针对MySQL的Sqlyog基于视窗平台,为MySQL量身定制,并提供类似于MySQL的管理界面工具。这种解决方案的出现将解放像PHP和J2EE这样的程序员以及数据库设计者和管理者的大脑,降低开发成本,并给用户带来更高的开发效率。
针对MySQL的Sqlyog使用了一个优秀的图形用户界面,它允许以一种安全而简单的方式快速而轻松地创建、组织、访问和共享信息。用户可以完全控制MySQL数据库并显示不同的管理数据,包括管理用户和访问权限的多功能图形管理工具,便于将数据从一个数据库传输到另一个数据库(本地到远程、远程到远程、远程到本地)进行文件备份。用于MySQL的Sqlyog支持Unicode和到本地或远程MySQL服务器的多个连接。用户可以浏览数据库、创建和删除数据库、编辑数据、创建或执行SQL查询、管理用户权限(安全设置)、备份/恢复数据库、导入/导出数据(支持CSV、TXT、DBF和XML文件类型)等。该软件与任何MySQL 5.0.x服务器版本兼容,并支持触发器和二进制变量二进制/位数据类型等规范。
1.5 开发语言
主要用的是Java语言中的GUI(图形用户界面)和AWT(抽象窗口工具包)编程。
(1) GUI
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口),即人机交互图形用户界面的设计,是指以图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面在视觉上更容易被用户接受。
(2) AWT
抽象窗口工具包(Abstract Windowing Toolkit,缩写为AWT)是Java的平台独立的窗口系统图形和用户界面器件工具包。AWT 是Java基础类 (JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API。 AWT提供了JavaApplet和Java Application中可用的用户图形界面GUI中的基本组件(components)。由于Java是一种独立于平台的编程语言,但图形用户界面通常是依赖于平台的,所以Java使用相应的技术使AWT能够为应用程序提供独立于平台的接口,从而确保同一程序的图形用户界面在外观相似的不同机器上运行。
1.6 软硬件需求
硬件需求
电脑:笔记本电脑或台式电脑
CPU:Pentium以上
内存: 512M以上
软件需求
操作系统版本:Windows XP /Win10/Win7
开发工具:Eclipse
开发语言:Java
所用数据库:Mysql

二、可行性分析
2.1技术可行性
首先,越来越多的高校都为自己创建了校友信息管理系统,使得学生相互之间也可以进行信息交流,这样的情况为这种校友信息管理系统创造了良好的网络环境。其次,该设计采用的开发语言和数据库开发技术都已经相当成熟,完全能够满足系统的开发要求,为开发工作提供了非常简便实用的开发工具。再次,各大高校及用户的计算机在计算机容量、速度等方面完全能够满足该系统的需求。最后,基本已经掌握了开发这个系统方法和开发工具,并且在调查过程中,已经了解和熟悉了校友信息管理系统的流程。综上所述本系统开发从技术上是可行的。
2.2经济可行性
主要是对高校毕业生及在校生进行分析,对系统的建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行评估。由于该管理系统比较小,所以对于自己的财力方面来说都是可行的。计算机及其他一些相关的附属物品已经具备。并且该系统开发的时间较短。由于该系统相对来说比较简单,系统的维护费用也不高。开发完成后,可以实现准确与快速于一体,大大方便了各届校友的联系。因此,该系统的开发在经济上是完全可行的。
2.3社会可行性
主要是对校友信息管理系统进行调查分析。校友信息管理系统目前并不是一个很完善的市场,有很大的可挖掘性和发展潜力,现在尚处于发展阶段。所以开发校友信息管理系统具有很大的潜力,而且面向的对象是自己的校友,有其特有的意义。因此会有很大的发展空间。该系统投入运行后,方便用户操作和使用,更加方便了各届学生的联系,更为同学聚会等活动提供偏便利条件。综上所述本系统开发从社会上是可行的。
2.4数据库设计
本系统使用MySQL数据库,适合我们设计的小型系统。同时,MySQL的使用人数多,有丰富的参考资料。
三、需求分析
此校友信息管理系统各功能模块既可以由用户自己操作,也可以通过专门的系统管理员对这些数据进行管理。用户的登录、信息的修改、班级的创建以及修改,都是用户和管理员共有的操作权限,要求这些权限是设定在一定范围之内的,所以此系统的安全性要保证。同时,系统的方便性、快捷性也有比较高的要求。本系统工程要满足以下要求:
● 系统安全性。由于此系统中的操作都是由用户和管理员操办的,的以对于用户的权限设置比较严格。同时由于校友信息管理系统涉及的用户比较多,若要防止数据的并发现象的出现,数据的编辑必须由合法用户来操作。
登录用户的安全性:系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。
数据安全性:客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。
● 信息交流。在系统中要加强各地校友之间的联系,为大家提供交流的平台和广泛地合作机会,以增加学子们的凝聚力,为在校与毕业生建立沟通的渠道,开拓在校生的就业空间。
● 可扩展性。为了适应系统的变化可以进行功能模块的调整,对于校友信息管理系统来说,系统要符合用户的需求,能够满足不同用户发布信息和获取资源的要求。系统采用的结构有助于系统的维护和升级,可以减少维护的成本。
3.1 功能需求分析
(1) 校友用户、管理员均可浏览校友信息、班级信息、校友留言等。
(2) 校友用户可以查找校友并可跟据需要联系该校友、在校友论坛发表留言与浏览其他用户留言。使用校友专享提供的便捷服务。
(3) 校友用户可以对自己的信息进行修改。
3.2 数据需求分析
本系统为校友信息管理系统,应具备记录校友信息的功能,同时也要记录校友的班级信息。另外,还必须记录校友在系统中的留言信息。除些之外,该系统还需要管理员对其进行日常的维护工作。
数据需求具体如下:
校友用户(用户编号、学号、密码、姓名、性别、电话、邮箱、所在地区、工作单位、年级、政治面貌)
班级(班级编号、班级名称、所在院系)
管理员(管理员编号、密码、用户名)

3.3用户和用户需求
1、产品主要针对的用户群体有:
(1)已毕业的校友
(2)在校学生
2、本产品可以满足的用户需求可分为以下几种:
(1)按关键字查询特定校友信息
(2)修改自己的信息
(3)浏览,发表校友留言
(4)登录
3.3数据库设计:见附件
四、系统分析
4.1系统的需求分析
4.1.1 业务分析
本系统主要包括三种业务流程:登陆业务流程、学生个人信息业务流程、班级业务流程。
4.1.2 登陆业务流程概述
输入用户名、密码,登录到系统,对相关信息进行增、删、改、查以及导入和导出。进行完操作之后,点击安全退出,退出系统。
4.2 系统的概要设计
这一阶段设计的基本目标是解决如何实现系统的问题。它主要涉及系统架构设计,并将给出系统的总体架构设计。根据系统分析产生的分析结果,确定系统由哪些系统和模块组成,这些系统和模块是如何有机结合的,以及每个模块的功能是如何实现的。系统设计的目标是使系统具有所需的功能,同时努力实现高效率、高可靠性、可修改性以及易于掌握和使用。这一阶段是在仔细研究软件需求之后,划分和设计要开发的软件系统,定义系统层次结构和各层之间应该负责的逻辑功能。模块化的基础是将复杂的问题分解成许多容易解决的小问题。原来的问题变得容易解决。模块化设计是根据某些原则将大型软件分成具有独立和相关功能的较小模块。每个模块完成一个特定的子功能。将这些模块组合成一个整体。完成指定的功能并满足问题的要求。采用模块化原理的优点是软件结构清晰,易于测试和调试。从而提高软件的可靠性和可修改性。它有助于软件开发的组织和管理。大型软件可以分别编写不同的模块。
4.3 系统体系结构设计
该系统采用多层架构。视图类用作表示层。除了向客户提供信息之外,它还获得管理员或学生输入的信息。用户输入的简单控制。表单获得用户输入信息后,提交给视图,在这里首先转换获得的数据,然后将相应的数据封装为数据传输对象。视图将封装的数据提交给模型,并使用提交给视图的数据对象来执行复杂的业务逻辑操作。对数据库的访问是在DAO级别。DAO层实现特定的数据库操作方法,服务层调用DAO层方法来实现数据库操作。通过应用这种多层体系结构,提高了系统的可维护性、可扩展性和可移植性。
4.4 功能模块结构设计
从功能模块上可以分为如下几大模块:校友信息的导入、导出模块、删除校友信息模块、修改校友信息模块、查询校友信息模块、添加校友信息模块。
班级信息模块类似有删除班级信息模块、修改班级信息模块、查询班级信息模块、添加班级信息模块。
五、 数据库设计
5.1 数据库设计概述
计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。
对于数据库应用开发者来说,为了使现实世界中的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统将用户的需求转化为有效的数据结构,使数据库结构更容易实现用户的新需求的过程。具体来说,数据库设计是指为给定的应用环境提供确定最佳数据模型和处理模式的逻辑设计,以及确定数据库存储结构和访问方法的物理设计,从而建立一个既能反映现实世界信息和信息连接,满足用户数据要求和处理要求,又能被某个数据库管理系统接受,同时实现系统目标和有效访问数据的数据库。
根据软件工程的思想,数据库设计的周期可以划分为六个阶段:
规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能以及可靠性等方面的设想。
需求分析阶段:仔细理解用户对数据的处理需求,并确定系统的功能和边界。这一阶段的最终结果可以提供一个可用作设计基础的系统规范,包括对软件和硬件环境的要求以及一整套数据流程图。
设计阶段:详细描述需求分析阶段确定的功能。主要工作是概念设计阶段、逻辑设计阶段和物理设计阶段。然后,执行每个阶段的详细内部设计流程。
程序编制阶段:以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。
调试阶段:对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。
运行维护阶段:是整个设计周期中最长的阶段,其工作重点是收集和记录系统的实际运行数据。在操作中,必须维护数据库的完整性,并且必须有效地处理数据故障和数据库恢复。同时,解决开发过程中遗留的问题,纠正错误,提高功能。数据是系统的灵魂,整个系统的运行基础是系统数据库,所以数据库的设计质量对整个系统的功能和效率有很大的影响,所以在设计数据文件和数据库时,充分考虑了数据存储的完整性、可靠性、安全性、数据一致性和易操作性。
完整信息系统的构建不是一步完成的。在目前的软件水平上,很难追求应用系统之间的相互兼容性,但是对于数据兼容性,即数据共享,它既非常重要又相对容易实现。在改善数据共享方面,我们主要可以从数据一致性方面考虑。在我们数据库系统的构建中,为了保证数据的一致性,考虑了以下两个标准:
字段标准:非统一的字段标准是数据库难以共享的主要原因,因为字段的设计在数据库设计的底层,或者可以说是最基本的一层。如果该层不能统一,将直接影响数据库中数据的共享。
代码标准:代码的引入提供了维护数据库中数据一致性的重要手段。此外,该数据库的设计主要遵循以下原则:数据库文件的实用性、数据库文件的安全性、数据库文件的独立性以及节省磁盘空间。
数据库设计是通过合理的逻辑设计和有效的物理设计,在给定的应用环境(DBMS)中构建更好的数据库模式和子模式,来构建数据库和设计应用程序,以满足用户的各种信息需求。物理结构设计的原则如下:
1.尽可能的减少数据冗余和重复。
2.结构设计与操作设计相结合。
3.数据结构具有相对的稳定性。
基于以上设计原则,本系统设计了一个数据库,包含地址信息表、公司信息表、联系方式信息表、毕业年级信息表、基本信息信息表、政治面貌信息表、论坛表、用户信息表、班级信息表以及专业信息表,为了加快系统访问的速度把这些表放在一个数据库中。
5.2 SQL查询语言及使用
SQL语言是结构查询语言的缩写。它是一种用于数据库查询和编程的语言。它已经成为关系数据库中常用的标准。使用这种标准的数据库语言给程序设计和数据库维护带来了极大的方便,并广泛应用于各种数据查询中。JSP和其他应用程序,包括SQLserver2005、mySQL、Foxpro、Orcale等。都支持sql语言。
SQL语言的常见操作包括:建立一个数据库数据表(CREATE TABLE),用于本系统中的学生备份;从数据库中选择一个记录集(SELECT)是最常用的语句,它具有强大的功能,可以有效地访问数据库中一个或多个数据表中的数据,并具有排序、分组等功能。向数据表中添加记录(INSERT);更改合格记录(update)。
程序中的数据库操作对象都支持SQL语句。其一般用途是使用swing的各种控件来接收用户访问数据库的请求,将其转换成事件响应程序代码中的数据库查询语句,并以字符串的形式存在,然后将其传递给相应的数据库操作对象,最后完成对数据库的访问。
5.3 本系统数据库概念结构设计
在系统设计之初,我首先考虑了如何使用数据模型,通过使用数据库的结构和语义来抽象现实世界。模型的结构部分指定了如何描述数据。目前广泛使用的数据模型可以分为两种类型,一种是独立于计算机系统的概念数据模型,如实体连接模型;另一种是直接面向数据库逻辑结构的结构化数据模型。在这个系统中,我第一次使用实体关系模型(ER model)来描述数据库的结构和语义,抽象现实世界。ER模型直接从现实世界中抽象出实体类型和关系,然后使用ER图来表示数据模型。它有两个明显的优点:贴近人们的思维,易于理解;它与计算机无关,很容易被用户接受。然而,er模型只能解释实体之间的语义关系,不能进一步解释详细的数据结构。这只是数据库设计的第一步。
E-R图是直观表示概念模型的工具,它有三个基本成分:
矩形框,表示实体类型(考虑问题的对象)。
菱形框,表示联系类型(实体间的联系)。
椭圆形框,表示实体的属性。
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。本系统包括的实体有用户实体,学生实体,班级实体。
5.4 本系统数据库逻辑结构设计
由以上的实体图可以得到以下几个关系模式:
学生基本信息(学号,姓名,性别,专业,班级,工作地址,工作单位,手机号,邮箱,毕业年级,政治面貌,论坛)
班级基本信息(班级编号,班级名,所在院系)
用户基本信息(用户编号,登录帐号,登录密码)
5.5 安全保密设计
登录用户的安全性
系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。
数据安全性
客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。

6、管理系统详细设计
数据库设计完成后,就开始进入具体的应用程序的分析与设计阶段。应用程序的分析与设计主要包括了应用程序各个功能模块的总体规划和分析、应用程序界面的选择与设计以及应用程序结构的选择等部分,而系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。
6.1系统登陆模块设计
首先新建用户登录所对应的实体user类,一个user对象代表一个用户,此外,用户表中有的字段,都需要在这个类中反应出来,并且创建空参和满参构造方法,以及set、get和toString方法。

第二步就是对登录的逻辑处理,首先是登陆名以及密码的非空校验,两者有一个为空就不继续访问数据库,直接返回给用户错误的信息,提醒用户更正登录信息。
当用户名或者密码为空的时候点击登录就会出现提示信息。
6.2班级信息模块设计
首先新建班级所对应的实体studentClass类,一个studentClass对象代表一个班级,此外,班级表中有的字段,都需要在这个类中反应出来,并且创建空参和满参构造方法,以及set、get和toString方法。
第二步就是对班级信息逻辑部分的实现了,包括增加删除修改查询,其中添加是单独放在了一个界面,而查询、修改以及删除放在了同一个界面,这样便于维护。
点击添加则会调用添加部分的界面函数,弹出信息添加的界面如图所示,可以输入班级的名称,以及对班级的详细描述进行添加,在输入错误的情况下也可以点击重置,就会清空所有填写的信息,这样便于操作。
点击维护则会调用维护部分的界面函数,弹出信息维护的界面如图所示,可以修改班级的名称,以及对班级的详细描述进行修改。
6.3学生个人信息模块设计
首先新建学生所对应的实体student类,一个student对象代表一个用户,此外,用户表中有的字段,都需要在这个类中反应出来,并且创建空参和满参构造方法,以及set、get和toString方法。
第二步就是对学生个人信息逻辑部分的实现了,包括增加删除修改查询,其中添加是单独放在了一个界面,而查询、修改以及删除放在了同一个界面,这样便于维护,其中手工填写学生的姓名、学号、专业、工作地址、工作单位、手机号、邮箱、政治面貌、毕业年级等,性别通过单选框选择,班级通过下拉菜单进行选择。
在学生信息维护的界面可以对学生信息进行检索,可以通过学生的姓名、政治面貌、学生所在的班级进行筛选,点击选择某位学生的信息,就可以对该学生的信息进行操作了,可以修改其名字、性别、所在的学院、学生的学号、所属的班级、手机号码、邮箱、工作地址等信息。也可以点击删除、删除该学生的信息。
学生的编号是信息维护逻辑操作的关键所在,首先需要通过学生的编号id查出该学生的各类信息反显在前台界面,然后根据前台更新后的信息,先映射到学生的实体类然后通过数据库dao层同步更新数据库的信息,最后达到学生信息的维护。
7、总结

更多推荐

校友信息管理系统