1 引言
1.1 课题的提出
近年来随着计算机科学技术的高速发展,计算机技术也被广泛应用在我们生活的诸多领域,当然它在高校的信息化进程中也发挥着重要作用。通过先进的计算机网络技术管理高校资源,不仅提高了工作效率,而且提高了管理水平,更提高了服务质量[1]。
高校校友是一个知识体系密集、信息资源丰富、社会能力强的群体,是对自身母校有着特殊感情的群体,是潜藏在母校之外的独有的重要宝贵资源,它以桥梁和纽带的角色有效建立起学校和社会之间的联系,在学校的发展过程中发挥着重要的作用[2,3]。
1.2 课题的现状及其发展
目前世界上各种形式的校友录网站大约28万多个之多,大致有以下几类:1)以收费方式分,有收费校友录和免费校友录,其中以后者居多;2)以提供校友录服务的网站分大致有三种,有大专院校自己网站的校友录;有专门单独的校友录网站;有综合网站上的校友录;3)还有网络校友录和手机校友录之分[4]。
中国校友录发展现状:下面选取两个具有代表性的校友录来看看中国校友录网站发展的具体情况。1)中国人校友录是目前各种校友录中最具代表性、权威性的校友录。它有完善的界面服务,在校友录基本的留言、相册等功能之上,中国校友录还开通了手机校友录,同学大搜捕,星级会员等增值服务。还包括了其他信息服务内容,可以进行天气预报,股市,热点新闻的信息定制,并针对毕业班同学为他们提供全面就业信息及咨询。2)世纪同学录,现有注册用户440914人,注册班级120864个(数据截止到2004年1月10日)[5]。
1.3 本课题的主要工作
本次课题设计的是中北大学校友录管理系统,主要工作任务是实现以下系统功能:校友成员注册、登录、留言,上传并浏览照片、通讯录、系统后台管理。具体实现:校友数据的添加、修改、删除、和查询,已完成校友数据的收集及进行数据电子化;用户之间的互动,包括上传照片,相互留言,查看信息;对中北大学校友录管理系统的用户权限进行管理,以保证数据资源的合理利用。通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的[6]。整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问题,并具有较强的实用作用,使用户在友好的操作界面下完成强大的功能,最终达到信息自由交换,资源自由共享[7]。校友录极大地便捷了校友之间的联系,同时也充分体现出现代社会信息化管理的理念[8,9]。本文叙述了中北大学校友录管理系统的系统目标和需求分析,重点介绍了中北大学校友录管理系统的实现过程,主要包括需求分析,数据库设计,概要设计,详细设计,系统实现,程序文件组织,系统测试和调试[10]。
2 需求分析
2.1 任务描述
本系统开发的首要任务是了解系统最终要实现的功能,这对于定义应用程序的功能十分重要。根据中北大学特点以及校友录系统应具有的基本功能,中北大学校友录管理系统开发完成后应实现以下目标:
用户管理包括注册、登录、完善个人信息、上传个人照片。
留言管理包括发表、查看和删除留言。
通讯录管理包括条件查询自己想要找到的同学的信息。
管理员可以设置学校基本信息,对基本信息可以进行增删改查,管理员还可以发布新闻公告。
2.2 系统功能需求
功能需求主要是对系统最终实现的目标进行分解,使之形成及相互独立又相互联系的整体。中北大学校友录管理系统基本功能分为用户注册、留言、查看相册以及通讯录、个人信息管理和管理员后台管理。系统存在两种用户:第一类是校友,他们是用浏览器查看留言,发表留言,浏览相册,查看通讯录等等;第二类是管理员,他管理整个校友录的站点。针对不同的用户有不同的用户功能需求:
(1)校友的需求
新用户通过输入自己基本信息验证自己是否是中北大学学生,通过之后可以注册账号,并由唯一用户名来识别。
要使用校友录系统中的功能,用户必须先登录。登录的用户在通讯录模块可以通过学号或者班级或者学院或者年级或者专业对其他用户进行查询,在搜索结果中可以查看用户最近的联系信息,方便校友之间交流。在留言板模块所有用户可以浏览其他同学发表的留言也可以自己发表留言,方便大家沟通。在相册模块可以共享校友上传的照片。在个人信息管理模块用户可以上传照片到服务器文件中,也完善个人信息比如电话、通讯地址、工作单位、职业等,也可以修改自己密码。
(2)管理员的需求
管理员通过后台管理功能实现对注册用户进行管理并对网站的参数进行定义,包括学院、专业、班级、年级、校友等基本信息设置,以及对基本信息进行修改、删除、更新、查看操作,管理员还具有发布、更新、删除公告等权限。
2.3 系统数据需求
中北大学校友录管理系统的需要涉及到的表有用户信息表,校友信息表,留言信息表,照片信息表。其中用户信息表主要有用户名、密码;校友信息表主要有姓名、性别、电话、所在学院、所在班级、所学专业、通讯地址等等;留言信息表有留言编号、留言标题、留言内容、留言人、留言时间等;照片信息表主要有照片编号、照片名称、保存路径、所属相册等。
3 概要设计
这个阶段的工作是划分出系统物理元素,但是每个元素仍然处于黑盒子级,具体的内容将在详细设计中[11]。概要设计的任务还包括设计软结结构,也就是确定系统中的每个程序是由那些模块组成,以及各个模块之间的联系。
3.1 目标设计
本系统一共包括三大模块,每个模块看似独立,其实共享一个数据库,只是访问的表不同而已,依据功能分析,系统在三大块的基础上每一模块有分几个模块,设计的基本目标为:
(1)用户个人信息管理,包括学号,姓名,学院,年级,班级,专业,性别等信息的完善添加以及更新;修改密码;上传照片。
(2)后台信息管理,包括基本信息设置:学院、班级、年级、名族、校友、专业、年级等基本信息设置,以及基本信息的增、删、改、查等基本操作。
(3)主界面,包括用户注册、登录,查看留言,发表留言,浏览相册,浏览通讯录。
(4)操作界面友好、功能全、操作方便简单、查询功能强大。
(5)数据库设计合理,减少冗余数据,太高系统效率。
(6)系统具有灵活、严格权限设定功能。
3.2 系统总体功能设计
通过需求分析,中北大学校友录管理系统是为了实现处于各个地方的校友联系起来,建立一个“大家庭”,方便大家交流沟通。主要功能如下:
(1)用户注册
要申请的新用户必须先填写基本信息验证自己是否是中北大学校友,通过之后方可注册,否则不能注册。
申请账号:验证信息之后进入注册页面,填写新的帐号,一经注册不能修改。设置自己密码,密码是可以修改的。
(2)用户登录
只要正确的账号和密码才能登录。
(3)个人信息完善
用户可以添加自己信息包括电话、Email、QQ、通讯地址、工作单位、职业、生日。方便大家联系到自己。也可以通过此功能修改自己信息。
(4)用户上传照片
用户可以将自己照片上传于网页与大家分享。标题是必填项。
也可以删除自己上传照片。
(5)留言板
登录的用户可以浏览大家发表的留言,也可以自己发表留言,并且将在主页中显示为第一条留言,显示发表时间。
(6)浏览照片
任何人都可以使用这个功能,显示所有校友上传的照片。
(7)查看通讯录
每个用户都可以使用,可以通过单个条件查询自己要找同学的联系方式。条件查询包括通过学院、学号、姓名、专业、年级、班级六个条件。
(8)管理员入口
基本信息设置:学院、专业、班级、年级、校友基本信息的增、删、改、查功能,动态管理:发布新闻公告等,显示在首页中。
中北大学校友录管理系统功能模块图如图3.1所示。
图3.1 系统功能模块图
3.3 数据库总体设计
数据库存放计算机内有组织可供想的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享[12]。
下面简单介绍一下本系统主要功能模块的主要实体信息:
校友实体信息,是中北大学校友录管理系统的中心实体,存放每个校友的基本信息,有学号、姓名、性别、名族、出生日期、入学年份、所在学院、所在班级、所学专业、电话、QQ、Email、通讯地址、工作单位、职业。其中学号是唯一标识。校友E-R图如图3.2所示。
图3.2 校友实体E-R图
照片实体信息,是相册的内部对象,主要存放照片的详细信息,包括照片编号、照片标题、照片保存路径、照片描述、所属相册。其中照片编号是唯一标识。照片E-R图如图3.3所示。
图3.3 照片实体E-R图
留言实体信息,主要存放校友发表的留言信息,有留言编号、留言标题、留言内容、留言时间、留言人。其中留言编号是唯一标识。留言E-R图如图3.4所示。
图3.4 留言实体E-R图
用户实体信息,主要存放校友注册的帐号信息,有用户名和密码,其中用户名是唯一标识。用户实体E-R图如图3.5所示。
图3.5 用户实体E-R图
4 详细设计
4.1 数据库设计
所有的web项目都是基于数据库的,所以数据库设计是一个非常重要的环节,对于指定的应用环境,功能确定之后,通过合理的逻辑设计和有效的物理设计构造最优的数据库模式,在逻辑上满足用户需求[13]。逻辑结构确定之后,进行关系数据的设计,将实体模型转换成关系模型,建立数据表,建立字段,确定每个字段的数据类型和数据长度的值域,数据标的主键[14]。以下是中北大学校友录管理系统的数据库关系模式信息如下:
用户信息表(用户名、密码)用来记录用户注册的帐号相关信息,详细字段结构见表4.1所示。
表4.1 user表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | User | 用户名 | 文本 | 10 | 否 |
2 | Pwd | 密码 | 文本 | 10 | 否 |
学院信息表(学院编号、学院名称)用来记录学院的基本信息,详细字段结构见表4.2所示。
表4.2 paras表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | ParasID | 学院编号 | 数字 | 2 | 否 |
2 | ParasName | 学院名称 | 文本 | 20 | 否 |
专业信息表(专业编号、专业名称、所属学院)用来记录专业基本信息,详细字段结构见表4.3所示。
表4.3 special表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | SpecialID | 专业编号 | 数字 | 10 | 否 |
2 | SpecialName | 专业名称 | 文本 | 10 | 否 |
3 | ParasID | 所属学院 | 数字 | 2 | 否 |
班级信息表(班级编号、班级名称、所属学院、所学专业)用来记录班级基本信息,详细字段结构见表4.4所示。
表4.4 banji表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | ClassID | 班级编号 | 数字 | 10 | 否 |
2 | ClassName | 班级名称 | 文本 | 10 | 否 |
3 | ParasID | 所属学院 | 数字 | 2 | 否 |
4 | SpecialID | 所学专业 | 数字 | 10 | 否 |
留言基本信息表(照片编号、标题、内容、留言人、留言时间)用来记录留言基本信息,详细字段结构见表4.5所示。
表4.5 picture表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | BoardID | 留言编号 | 数字 | 10 | 否 |
2 | BoardName | 标题 | 文本 | 10 | 否 |
3 | Content | 内容 | 文本 | 50 | 否 |
4 | BoardTime | 留言时间 | 日期/时间 | 10 | 否 |
5 | SchoolmeteID | 留言人 | 数字 | 10 | 否 |
校友基本信息表(所在学院、所在班级、所学专业、入学年份、姓名、性别、学号)用来记录校友基本信息,详细字段结构见表4.6所示。
表4.6 schoolmate表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | SchoolmateID | 学号 | 数字 | 10 | 否 |
2 | SchoolmateName | 姓名 | 文本 | 10 | 否 |
3 | Sex | 性别 | 文本 | 2 | 否 |
4 | ParasID | 所属学院 | 数字 | 2 | 否 |
5 | SpecialID | 所学专业 | 数字 | 10 | 否 |
6 | GradeID | 入学年份 | 数字 | 3 | 否 |
7 | ClassID | 所在班级 | 数字 | 10 | 否 |
年级信息表(年级编号、年级名称)用来记录年级的基本信息,详细字段结构见表4.7所示。
表4.7 grade表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | GradeID | 年级编号 | 数字 | 3 | 否 |
2 | GradeName | 年级名称 | 文本 | 10 | 否 |
学生基本信息表(学号、电话、QQ、Email、工作单位、职业、生日、通讯地址、民族)记录校友完善的个人信息,详细字段结构见表4.8所示。
表4.8 student表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | SchoolmateID | 学号 | 数字 | 10 | 否 |
2 | Phone | 电话 | 文本 | 10 | 可以 |
3 | 文本 | 15 | 可以 | ||
4 | 邮箱 | 文本 | 20 | 可以 | |
5 | Workshop | 工作单位 | 文本 | 20 | 可以 |
6 | Occucipation | 职业 | 文本 | 20 | 可以 |
7 | Birthday | 生日 | 日期/时间 | 10 | 可以 |
8 | Address | 通讯地址 | 文本 | 20 | 可以 |
9 | Nation | 民族 | 文本 | 8 | 可以 |
照片基本信息表(照片标号、照片标题、保存路径、照片描述、所属相册)用来记录照片基本信息,详细字段结构见表4.9所示。
表4.9 picture表
序号 | 字段 | 说明 | 数据类型 | 长度 | 可否为空 |
1 | PictureID | 照片编号 | 数字 | 10 | 否 |
2 | PictureName | 照片名称 | 文本 | 10 | 否 |
3 | Content | 描述 | 文本 | 50 | 否 |
4 | Path | 保存路径 | 文本 | 20 | 否 |
4.2 功能模块设计
模块化设计可以提高代码重用性,可维护性和稳定性。可以模块化的部分有:
每个网页的头和尾重复使用多次,可以设置母版页。
(1)网页的头和尾或者其他部分也可以独立,所以可以将头和尾分别设置成一个用户控件来使用。
(2)页面的整体布局。一般地,为了整个网站的风格一致,事先设计一个整夜的页面布局,然后只要填充不同的栏目和内容就可以。
(3)链接数据库的代码可以放到一个文件中。
校友录首页主要是导航的功能,是各个重要功能模块的入口点,有着极其重要的地位,它界面的友好、美观,直接影响着大多数用户的心态。它的实用性和操作的难易度也直接影响着用户的使用。本系统主页界面简洁、美观、友好,实用和操作简单,给人感觉清新、明了。主页最上边采用通用的用户帐号和密码登录机制。在其下面出现的是导航列表,它们分别是:最新动态、个人信息管理、留言板、相册、后台管理入口、通讯录。从名称上我们就可以了解它们的功能,根据用户权限的不同,用户可以使用的导航相应的不同。导航下面是主体内容。给人一目了然的感觉。
注册模块的主要功能是注册成为本站成员。根据校友录的需求,此页需要先进行校友验证,输入校友资料通过验证之后才能进行下一步填写帐号(唯一标识)、用户密码,点击“注册”将数据提交到数据库储存数据。如果数据符合注册条件,那么将提示注册成功,并转到登录页面,否则,将会提示信息具体哪一个地方不符合要求,并返回到错误信息的地方,以便改正。
相册模块,能够放置自己喜欢的照片。本系统网站使用简单,只需要通过自己注册的账号和密码登录系统,然后进入相册区,就可以浏览照片。
后台管理模块是确保网站正常运行的基础。后台功能设计的是否合理,功能是否强大直接导致网站的使用情况。根据本系统的需求分析和详细设计,我们可以知道本系统的后台管理员管理网站的公告动态发布、删除、修改以及回复,网站的所有基本信息和用户的添加、删除、修改。
校友录模块是放置校友通讯录的页面,登录的用户在首页导航条中点击校友录就可以进入校友录模块,在页面中可以条件查询自己要找的同学的通讯信息。
本系统的条件查询是单条件查询,包括学院、专业、班级、年级、姓名、学号六个条件,查询操作简单方便。
留言板模块,只要注册成功的用户登录系统之后在首页导航条中点击留言板就可以进入留言模块,在这个页面中你可以查看其他人的留言。如果你也想要留言的话,可以点击“签写留言”进行留言,输入相关信息之后点击“提交”按钮,就成功留言了,点击“返回留言板”按钮就可以看见自己的留言。
个人信息管理模块主要功能是完善自身信息、修改密码、上传照片。在这里只要点击“个人信息”完善或者更改信息,信息主要包括电话,QQ,Email,通讯地址,工作单位,职业。这里的信息填写的是用户的真实信息,以保证通讯录的信息真实可信,但是有些信息不想被别人看到时可以填写保密。点击“修改密码”就可以更改自己的密码。上传照片功能可以选择自己想要上传图片供大家在相册模块分享。
5 系统实现
下面介绍各个功能模块的实现内容:
(1)注册用户
进入系统后,点击注册便进入校友验证界面,注册用户需要填写自己个人信息,包括学院、学号、姓名、班级、专业、年级、性别,所有信息必须全部填写,点击提交之后所有信息核对无误才能进行下一步注册,否则不能注册。可以注册的用户需要填写用户名和密码。校友验证界面如图5.1所示。注册界面如图5.2所示。
图5.1 校友验证界面
图5.2 用户注册界面
核心代码如下:
if (txtUserName.Text == null)
{
Response.Write("");
}
else
{
using ( OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
Server.MapPath("~/zbxyl.accdb")))
{
OleDbCommand cmd =
new OleDbCommand(
"insert into [user]([Username],[Pwd])values('" + txtUserName.Text + "','" + txtUserPwd.Text + "')",
conn);
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
conn.Close();
Response.Write("");
this.Button1.Enabled = true;
this.Button2.Enabled = false;
}
else
{
conn.Close();
Response.Write("");
}
}
(2)上传照片模块
这个模块主要是上传自己照片到网页与其他同学共享。这里可以上传jpg,png,gif格式的照片,成功上传后提示“成功上传到数据库…”,并在栏目的下方显示刚刚上传的照片,在这里还可以直接删除照片。若上传不成功会显示错误信息。
界面如图5.3所示。
图5.3 上传照片界面
核心代码如下:
private void Get()
{
using (
OleDbConnection conn =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
Server.MapPath("~/zbxyl.accdb")))
{
OleDbDataAdapter da =
new OleDbDataAdapter(
"select * from picture order by PictureID desc", conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataKeyNames = new[] { "PictureID" };
GridView1.DataBind();
}
}
protected void btnSavePhoto_Click(object sender, EventArgs e)
{
string path = ;
string ext = path.Substring(path.LastIndexOf(".") + 1);if (ext.ToLower() == "jpg" || ext.ToLower() == "bmp" || ext.ToLower() == "gif" || ext.ToLower() == "png" ||
ext.ToLower() == "tif")
{
string sPath = Server.MapPath("..\\Photo\\NormalPics\\" + txtTitle.Text + "." + ext);path = "..\\Photo\\NormalPics\\" + txtTitle.Text + "." + ext;
using (
OleDbConnection conn =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
Server.MapPath("~/zbxyl.accdb")))
{
OleDbCommand cmd =
new OleDbCommand(
"insert into [picture] (PictureName,PicContent,PicPath,PhotoName)values('" +
txtTitle.Text + "','" + txtContent.Text + "','" + path + "','" + ddlPicType.Text + "')", conn);
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
conn.Close();
Get();
(sPath);
Response.Write("");
this.txtTitle.Text = "";
this.txtContent.Text = "";
}
else
{
conn.Close();
Response.Write("");
}
}
}
else
{
Response.Write("");
}
}
(3)相册浏览模块
此页面功能为查看照片,显示所有的照片,该页面使用分页机制,每页可显示12张照片,超过12张照片可在页面右下角点击“下一页”或“上一页”浏览。界面如图5.4所示。
图5.4 浏览照片界面
(4)通讯录模块
此页面功能为查看通讯录,通过条件查询可以找到目标同学。界面如图5.5所示。
图5.5 通讯录界面
核心代码如下:
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
Server.MapPath("~/zbxyl.accdb"));
OleDbCommand cmd = new OleDbCommand();//声明一个OleDbCommand的 cmd对象,并将其实例化
cmd.Connection = con;
con.Open();
DataSet ds = new DataSet();
if (this.rbtnxy.Checked == true)
{
OleDbDataAdapter sda = new OleDbDataAdapter("select * from aluml where paras='" + this.ddlxy.SelectedItem.Text.ToString() + "'", con);
sda.Fill(ds, "aluml");
this.gvXw.DataSource = ds;
this.gvXw.DataBind();
}
if (this.rbtnzy.Checked == true)
{
OleDbDataAdapter sda = new OleDbDataAdapter("select * from aluml where special='" + this.txtzy.Text + "'", con);
sda.Fill(ds, "aluml");
this.gvXw.DataSource = ds;
this.gvXw.DataBind();
}
if (this.rbtnbj.Checked == true)
{
OleDbDataAdapter sda = new OleDbDataAdapter("select * from aluml where banji='" + this.txtbj.Text + "'", con);
sda.Fill(ds, "aluml");
this.gvXw.DataSource = ds;
this.gvXw.DataBind();
}
if (this.rbtnxm.Checked == true)
{
OleDbDataAdapter sda = new OleDbDataAdapter("select * from aluml where schoolmatename='" + this.txtxm.Text + "'", con);
sda.Fill(ds, "aluml");
this.gvXw.DataSource = ds;
this.gvXw.DataBind();
}
if (this.rbtnnj.Checked == true)
{
OleDbDataAdapter sda = new OleDbDataAdapter("select * from aluml where grade='" + this.txtnj.Text + "'", con);
sda.Fill(ds, "aluml");
this.gvXw.DataSource = ds;
this.gvXw.DataBind();
}
if (this.rbtnxh.Checked == true)
{
OleDbDataAdapter sda = new OleDbDataAdapter("select * from aluml where schoolmateid='" + this.txtxh.Text + "'", con);
sda.Fill(ds, "aluml");
this.gvXw.DataSource = ds;
this.gvXw.DataBind();
}
(5)留言板模块
此页面功能为查看留言,如果想要自己发表留言,点击左下角“签写留言”就可进入签写留言界面,填写完信息之后点击“提交”即可留言成功,点击“回到留言板”就可以看到自己刚刚发表的留言内容。查看界面如图5.6所示。发表留言界面如图5.7所示
图5.6 查看留言界面
图5.7 发表留言界面
核心代码如下:
string dt = DateTime.Now.ToString();
string conStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
Server.MapPath("~/zbxyl.accdb");
string insertStr = "insert into classboard (SchoolmateName,Content,Ddate,ip) Values ('" + txtName.Text + "','" + txtContent.Text + "','" + dt + "','" + Request.ServerVariables["REMOTE_HOST"].ToString() + "')";
OleDbConnection conn = new OleDbConnection(conStr);
conn.Open();
OleDbCommand comm = new OleDbCommand(insertStr, conn);
comm.ExecuteNonQuery();
conn.Close();
Response.Redirect("~/Default.aspx");
(6)管理员界面
在管理员界面中包括网站发布新闻和基本信息管理模块,在此模块管理员可对
系统进行设置,界面如图5.8所示。
图5.8 管理员界面
6 系统调试与测试
6.1 系统调试
开发过程中,必然会出现错误。容易发现和改正的错误有在程序运行时会自动踢死语句语法方面的错误,并且直接请求改正。难以发现的错误有在程序执行时有一些比较隐秘的错误,只能逐步排查才能发现并纠正。只有经过认真的调试最后实现系统的正常运行。
6.2 系统测试
为了保证软件质量,需要进行软件测试,发现错误。软件测试在软件生命周期中占据重要的地位,测试存在于生命周期的每一阶段,尽可能早的发现错误并加以修改,否则错误的延时扩散常常会导致最后测试的巨大困难[15]。测试包括代码审查、单元测试、集成测试、确认测试和系统测试。
下面举例说明在中北大学校友录管理系统涉及到的单元测试。
(1)注册模块测试实例
分析得注册功能模块隐含的输入条件要求有:用户名必须是数据库中不存在的,设计测试实例如表6.1所示。
等价类划分 | 测试数据 | 预期结果 | 实测结果 | ||
用户名 | 密码 | ||||
有效等价类 | 数据库中不存在的用户名 | Lihua | caiyan | 注册成功 | 注册成功 |
无效等价类 | 用户名在数据库中已经存在 | caiyan | Hhhl | 用户名已经存在,请重新填写 | 用户名已经存在,请重新填写 |
用户名在数据库中不存在,密码为空 | Lfh | 密码不能为空 | 密码不能为空 | ||
用户名为空 | 用户名和密码不能为空 | 用户名和密码 不能为空 | |||
表6.1 注册测试用例
(2)登录模块测试实例
分析得登录功能模块隐含的输入条件要求有:用户名和密码必须是存在于数据库中且相匹配的,设计测试实例如表6.2所示。
等价类划分 | 测试数据 | 预期结果 | 实测结果 | ||
用户名 | 密码 | ||||
有效等价类 | 数据库中存在的匹配的用户名和密码 | caiyan | caiyan | 登录成功 | 登录成功 |
无效等价类 | 用户名正确 密码不正确 | caiyan | Hhhl | 登陆不成功,提示用户名和密码不符 | 登陆不成功,提示用户名和密码不符 |
用户名为空 密码正确 | caiyan | 登陆不成功,提示用户名不能为空 | 登陆不成功,提示用户名不能为空 | ||
用户名正确 密码为空 | caiyan | 登陆不成功,提示密码不能为空 | 登陆不成功,提示密码不能为空 | ||
用户名和密码都为空 | 登陆不成功,提示用户名不能为空 | 登陆不成功,提示用户名不能为空 | |||
表6.2 登录测试用例
7 结论
7.1 设计结论
中北大学校友录管理系统经过测试,能实现校友管理的基本功能,本次系统设计主要包括需求分析、功能模块划分以及系统流程的分析。根据需求总结系统目标,然后根据设计好的功能划分系统功能模块,最后设计系统流程。
由于时间以及能力等各方面因素,系统还存在一些不足,值得今后进一步改进。
7.2 心得体会
到此,整个毕业设计即将完成,而大学生活也就快结束了,这次的毕业设计使我更进一步掌握了软件开发的专业知识。
在整个设计过程中也遇到了不少问题。比如各个模块之间的冲突,有时添加某一个功能可能就会影响另一个功能,要在有限的资源下完成一个东西需要精细地考虑各种因素。
虽然遇到问题,但是这次的毕业设计对我来说是一次很好的锻炼和提高的机会,事实证明确实是这样的。
通过这次毕业设计我明白了学习方法的重要性,除了应该广泛查阅资料之外还应该对这些知识消化理解,从而掌握研究问题的能力而不只是去使用东西的能力。
参 考 文 献
[1] 刘震. 广播电视大学校友录系统的实现[J]. 江苏广播电视大学学报. 2009(01)
[2] 王文越. 校友录管理信息系统研究[J]. 中小企业管理与科技(下旬刊). 2012(10)
[3] 胡艳娥. 高校校友资源的开发与管理浅析[J]. 理工高教研究. 2009(05)
[4] 朱玉华. 虚拟世界中的真实家园——中国校友录网站的服务功能及其发展状况分析[J].南昌高专学报. 2004(04)
[5] 陈俊杰. 主流校友录大比拼[J]. 电脑迷. 2004(12)
[6] 郭康康. 基于B/S结构的校友录系统设计与实现[D]. 电子科技大学. 2011
[7] 周园. 基于WEB的独立学院学院校友管理系统的设计与实现[J]. 信息与电脑(理论版). 2011(06)
[8] 郝钢. 基于WEB校友管理系统的设计与实现[D].电子科技大学. 2012
[9] 王婷婷,汪建武. 高校校友档案价值与建设新探[J]. 兰台世界. 2010(22)
[10] 舒惠. 高校校友资源的开发与管理浅析[J]. 兰台世界. 2007(09)
[11] 张洁珍. 基于Web的校友信息管理系统的设计与实现[J]. 科技资讯. 2009(11)
[12] 王民川. 基于WEB校友录的设计实现[J]. 才智. 2011(05)
[13] 麻炅,冉婧. 基于ASP的校友录信息系统设计 [J].信息通信. 2014(03)
[14] 董婧. 基于ASP.NET的校友录系统设计与实现[D]. 中国科技信息. 2011(12)
[15] 张伟聪. 我校校友会校友信息与查询系统的构建[J].广东医学院学报. 2008(08)
致 谢
首先特别感谢我的指导老师李玉蓉老师。本毕业设计和论文是在李老师悉心指导和帮助下完成的,感谢老师在毕业设计和撰写论文时提供的建议和给我的启示,毕业设计和论文才能顺利进行,在这里我向李老师表示衷心的感谢!在此也感谢中北大学提供的良好的学习环境,感谢母校四年里对我的教育和培养,也感谢曾经帮助关心过我的老师和同学,我学到了很多专业知识和为人处事的道理,这将是我以后工作学习中必须具备的能力。
最后,再次向所有帮助过我的人表示最诚挚的谢意!
本文来源:https://www.2haoxitong.net/k/doc/6a697d48f32d2af90242a8956bec0975f465a48f.html
文档为doc格式