数据库课程设计
校友信息管理系统设计与实现
计算机科学与工程学院
2015年6月
数据库课程设计
校友信息管理系统设计与实现
小组成员:王 蕾、赵晓君 张跃勇、王清霖
指导教师:***
专 业: 计算机科学与技术
所在单位:计算机科学与工程学院
数据库课程设计(报告) 摘要
数据库技术是计算机软件的一个重要分支,它产生于20世纪60年代,最早是由IBM公司推出的IMS数据库系统。SQL Server是微软公司开发的数据库产品,SQL Server 2000被广泛使用,很多电子商务网站、企业内部信息化平台等都是基于SQL Server产品上。 SQL Server 2000 能够为数据管理与分析带来灵活性,其具有强大的功能。在现在的网络应用中,用户是网络应用的中心,如现今最风靡的校内网都是把用户放到了网络应用的第一位。而校内网的成功和风靡在很大程度上是因为它是一个真实的社交网络,校友信息管理系统也是利用了真实的社交网络进行设计和开发的。
随着互联网的发展,越来越多的交流社区应用被广泛的接受,这些社区的存在都是为了能够加强人与人之间的交流。在针对现有的系统进行调查,拟开发一套校友信息管理系统进行校友联络,这样不仅方便校友之间的联络,也能够加强老校友和新校友的感情。它是面向学生的一个畅通的校友沟通平台,它可以方便地实现校友与母校、校友与校友之间的沟通。现在众多高校都已经拥有了自己的校友信息管理系统网站,从而为学校与校友之间进行交流和联系搭建了一个方便、快捷、通畅的沟通平台。论文通过分析校友信息管理系统的特点,选用Java和SQL Server 2000数据库设计了一套具有注册登录、信息管理、查询信息、修改信息、增加信息、浏览信息等功能的校友信息管理系统,用于实现校友与母校、校友与校友之间的沟通。
关键词:校友 ;信息管理 ; 增加信息 ; 修改信息 ; 数据库
I
数据库课程设计(报告) ABSTRACT
Database technology is an important branch of computer software, which was produced in the 60 's in twentieth Century, and the IMS database system, which was first introduced by IBM company in. Server SQL is the database products of Microsoft Corp, Server SQL 2000 is widely used, many e-commerce sites, enterprise internal information platform, etc. are based on Server SQL products. Server SQL 2000 can bring the flexibility of data management and analysis, it has a powerful function. In today's network applications, the user is the center of network applications, such as the most popular in the campus network is the first place to put the user into the network application. The success and popularity of the campus network is largely because it is a real social network, the alumni information management system is also used to design and development of real social networks.
With the development of the Internet, more and more communication community is widely accepted. The existence of these communities is in order to strengthen the communication between people. In according to the existing system investigation, intends to develop a set of alumni an information management system for alumni, which is not only convenient liaison between the alumni, but also to strengthen the feelings of the old alumni and alumni. It is a smooth communication platform for students, which can easily realize the communication between alumni and alma mater, alumni and alumni. Now many colleges and universities have already had their own alumni website, so as to carry out exchanges and contacts between the school and alumni to build a convenient, fast and smooth communication platform. Through the analysis of the alumni record the characteristics of using Java and SQL Server 2000 database design a set with register and login, information management, information query, modify the information, add information, browse information and other functions of the alumni of the system, to realize the communication between alumni and their alma mater, alumni, and alumni.
Key words : Delphi alumni ; information management ; information management ; information ; modification ; database
II
数据库课程设计(报告) 目录
摘要 ....................................................................................................................................................... I ABSTRACT ............................................................................................................................................. II 目录 ..................................................................................................................................................... III 第1章 概述 ..................................................................................................................................... - 1 - 1.1 项目开发来源 .............................................................................................................................. - 1 - 1.2 项目开发目标及意义 .................................................................................................................. - 1 - 1.3 系统的调研及可行性分析 .......................................................................................................... - 2 - 1.3.1 系统调研 .............................................................................................................................. - 2 - 1.3.2 系统的总体目标 ................................................................................................................... - 2 - 1.3.3 可行性研究........................................................................................................................... - 2 - 第2章 需求分析 ............................................................................................................................. - 4 - 2.1 需求分析...................................................................................................................................... - 4 - 2.1.1 功能需求分析 ....................................................................................................................... - 4 - 2.1.2 数据需求分析 ....................................................................................................................... - 5 - 2.1.3 系统数据字典 ....................................................................................................................... - 6 - 2.1.4 数据存储描述 ....................................................................................................................... - 7 - 第3章 概念结构设计 ..................................................................................................................... - 9 - 3.1 局部E-R图 .................................................................................................................................. - 9 - 3.2 校友信息管理系统E-R图 ......................................................................................................... - 11 - 第4章 逻辑结构设计 ................................................................................................................... - 15 - 4.1 关系模式转换 ............................................................................................................................ - 15 - 4.2 数据关系图 ................................................................................................................................ - 15 - 第5章 物理结构设计 ................................................................................................................... - 17 - 第6章 用户操作界面设计 ............................................................................................................ - 21 - 6.1登录模块 ..................................................................................................................................... - 21 - 6.2注册模块 ..................................................................................................................................... - 21 - 6.3班级查询模块 ............................................................................................................................. - 22 - 6.4 通信录 ........................................................................................................................................ - 25 - 6.5 留言板 ........................................................................................................................................ - 27 - 第7章 软件测试 ........................................................................................................................... - 28 - 7.1 关于效率的考虑 ........................................................................................................................ - 28 - 7.1.1测试目的 .............................................................................................................................. - 28 - 7.1.2测试方法 .............................................................................................................................. - 28 - 7.2容错处理 ..................................................................................................................................... - 29 -
III
数据库课程设计(报告) 7.2.1控件操作控制 ...................................................................................................................... - 29 - 7.2.2键盘操作控制 ...................................................................................................................... - 29 - 7.2.3数据库操作控制 .................................................................................................................. - 29 - 7.3 系统维护 .................................................................................................................................... - 29 - 参考文献 ........................................................................................................................................ - 30 - 附录1—数据库原理课程设计任务书 ............................................................................................ - 31 - 附录2—小组成员分工情况 ........................................................................................................... - 35 - 实现代码 ........................................................................................................................................ - 36 - 总结 ................................................................................................................................................ - 41 -
IV
数据库课程设计(报告) 第1章 概述
1.1 项目开发来源
近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻地改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻地影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去种种陈旧的联系方式,已经不能满足现代生活的需要。校友信息管理系统作为一种方便校友之间联系的实用系统便应运而生。通过提供完善的校友信息管理服务和规范校友信息的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的[1]。
基于我校现在还没有一个用于实现校友与母校之间、校友与校友之间的一个方便、快捷通畅的沟通平台,我参考了其他高校现有的校友信息管理系统和一些在线应用系统(比如chinaren,友联,吉大校友录等),对我校的校友信息管理系统进行了比较全面地设计,为我校设计与开发一个在使用功能全面、用户界面友好、安全性能可靠、可扩充性强等方面都很完善的校友信息管理系统。
我们设计这个系统主要有以下原因: 1)它接近我们的生活,我们对它比较熟悉;
2)我们正在使用的校友信息管理系统里可能存在着一些问题与缺陷。
1.2 项目开发目标及意义
设计一个用与实现校友与母校之间、校友与校友之间的一个方便、快捷通畅的沟通平台,对我校的校友信息管理系统进行比较全面地设计,为我校设计与开发一个在使用功能全面、用户界面友好、安全性能可靠、可扩充性强等方面都很完善的 校友管理系统。
随着高校人数的不断增加, 办学种类的不断变化, 校友数据越来越多, 如果继续通过手工制作或Excel表格存储已无法适应新时代的要求。使用现代化的软件进行校友管理, 可以极大的方便校友会的日常工作, 保证数据的一致性, 及时性, 增进校友会与校友之间的交流沟通, 及时的传达学校,校友会的通知.
- 1 -
数据库课程设计(报告) 1.3 系统的调研及可行性分析
1.3.1 系统调研
通过对同学以及教师的调查显示,实现同学录系统的设计也实现是可行的。以后很有利用价值。同时也确定了该系统要实现的功能。
(1)用户系统中可以实现用户注册(回答问题注册)、用户登录、用户信息的修改更新、用户密码修改、密码重置,用户的操作权限。
(2)留言功能中可以实现班级注册会员发表、修改留言以及查看同学留言。 (3)相册功能中可以实现班级注册会员上传、编辑照片以及查看照片。 (4)查看资料中可以实现班级注册会员搜索、查看、导出同学资料。
1.3.2 系统的总体目标
该系统将实现安全性、易拓展性、易用性和先进的开发技术等目标。
安全性:严格的权限控制,未授权人员无法做相应操作,对在网络传输的信息加密,防止信息被截获泄密。
先进的开发技术:采用数据库连接,通过ADO.NET技术访问数据库,满足频繁访问需求,保证系统灵活高效,多处采用缓存技术,提高系统整体性能。
扩展性:通过采用良好的系统架构,可以使系统拥有良好的可扩展性。能快速应当需求变化,进而改变为适应需求的系统。
易用性:完全B/S结构,用户用浏览器访问系统,无需安装客户端,方便远程访问;界面简洁友好,使用简单。
1.3.3 可行性研究
(1)技术可行性
首先,越来越多的高校都为自己创建了校友信息管理系统,使得学生相互之间也可以进行信息交流,这样的情况为这种校友信息管理系统创造了良好的网络环境。其次,该设计采用的开发语言和数据库开发技术都已经相当成熟,完全能够满足系统的开发要求,为开发工作提供了非常简便实用的开发工具。再次,各大高校及用户的计算机在计算机容量、速度等方面完全能够满足该系统的需求。最后,基本已经掌握了开发这个系统方法和开发工具,并且在调查过程中,已经了解和熟悉了校友信息管理系统的流程。综上所述本系统开发从技术上是可行的。
(2)经济可行性
- 2 -
数据库课程设计(报告) 主要是对高校毕业生及在校生进行分析,对系统的建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行评估。由于该管理系统比较小,所以对于自己的财力方面来说都是可行的。计算机及其他一些相关的附属物品已经具备。并且该系统开发的时间较短,只需两至三个月时间即可实现。由于该系统相对来说比较简单,系统的维护费用也不高。开发完成后,可以实现准确与快速于一体,大大方便了各届校友的联系。因此,该系统的开发在经济上是完全可行的。
(3)社会可行性
主要是对校友信息管理系统进行调查分析。校友信息管理系统目前并不是一个很完善的市场,有很大的可挖掘性和发展潜力,现在尚处于发展阶段。所以开发校友信息管理系统具有很大的潜力,而且面向的对象是自己的校友,有其特有的意义。因此会有很大的发展空间。该系统投入运行后,方便用户操作和使用,更加方便了各届学生的联系,更为同学聚会等活动提供偏便利条件。综上所述本系统开发从社会上是可行的。
(4)研究方法
主要采用行动研究法和经验总结法。在行动研究法中,将研究制定的实施方案和校友信息管理系统开发的实际工作结合起来,比如,制定注册制度:用户注册时必须经过管理员的审核等,有计划,有步骤的进行实际工作的操作。在经验总结法中,由于校友信息管理系统意义的特殊性,将之前的活动的具体情况进行归纳和分析,使之系统化、理论化,上升为经验并进行推广,找出不足之处,制定改进措施。
- 3 -
数据库课程设计(报告) 第2章 需求分析
此校友信息管理系统各功能模块都是由用户自己操作,一般不用设置专门的系统管理员对这些数据进行管理。用户的注册、班级的创建]信息的编辑都是用户的操作权限,要求这些权限是设定在一定范围之内的,所以此系统的安全性要保证。同时,系统的方便性、快捷性也有比较高的要求。本系统工程要满足以下要求:
系统安全性。由于此系统中的操作都是由用用户操办的,的以对于用户的权限设置
比较严格。同时由于校友信息管理系统涉及的用户比较多,若要防止数据的并发现象的出现,数据的编辑必须由合法用户来操作对于班级管理员来说,只允许对本班级的数据进行编辑,无权对其他班级的数据进行编辑。
信息交流。在系统中要加强各地校友之间的联系,为大家提供交流的平台和广泛地
合作机会,以增加学子们的凝聚力,为在校与毕业生建立沟通的渠道,开拓在校生的就业空间。
可扩展性。为了适应系统的变化可以进行功能模块的调整,对于校友信息管理系统
来说,系统要符合用户的需求,能够满足不同用户发布信息和获取资源的要求。系统采用B/S结构,这有利于系统的维护和升级,可以减少维护的成本。
2.1 需求分析
2.1.1 功能需求分析
(1)游客、校友用户、班级管理员均可浏览校园新闻、校友风采、校友留言等。 (2)校友用户可以查找校友并可跟据需要关注该校友、在校友论坛发表留言与浏览其他用户留言。使用校友专享提供的便捷服务。 (3)班级管理员负责管理班级相册与班级留言。 校友信息管理系统的流程图:
- 4 -
数据库课程设计(报告) 登录窗口是 否为注册用 是 否 注册个人信息 是否已 注册班 是 否 查询通是否管 是否已讯录信理员 建立学息 是 否 是 否 建立学 发布、发布 校信息 是否已 编辑留言 建立班 留言 信息 是 否 加入建立班 班级 级信息
图2-1 校友信息管理系统的流程图
2.1.2 数据需求分析
本系统为校友信息管理系统,应具备记录校友信息的功能,同时也要记录校友的班级信息。另外,还必须记录校友在系统中的留言信息。除些之外,该系统还需要管理员对其进行日常的维护工作。
数据需求具体如下:
校友用户(用户编号、注册帐号、密码、姓名、性别、生日、电话,家庭地址、邮箱、工作)
班级(班级编号、班级名称、省份编号、城市编号) 班级管理员(管理员编号、密码、用户名、性别、电话)
- 5 -
数据库课程设计(报告) 学校(学校编号、学校名称、学校类型、学校网址、邮编、地点) 班级类型(类型编号、类型名称) 性能要求分析
校友信息管理系统的使用者是校友用户与班级管理员,班级管理员对相应班级与校友管理的性能以及校友用户与班级查找功能的性能要求较高。
2.1.3 系统数据字典
1)数据流描述:校友信息系统包含的主要数据流包括:用户登录信息(用户名,密码),班级信息,留言信息,用户管理,班级管理员信息,学校信息 数据流名称:用户登录信息
说明:用户登录时输入的用户名和密码 数据流来源:用户输入 数据流去向:登录处理 组成:用户名、密码
2)数据流名称:班级管理员信息
说明:班级管理员登录后管理自己的个人信息和相应的班级信息 数据流来源:班级管理员输入
数据流去向:修改、增加、删除、浏览信息 组成:用户名,密码 3)数据流名称:班级信息
说明:用户登录后申请创建班级,其他用户申请加入该班级,输入相关班级的信息 数据流来源:用户输入
数据流去向:班级管理员修改、浏览班级信息,非管理员用户修改自己个人信息 组成:班级管理员用名,密码 4)数据流名称:留言信息
说明:班级管理员、用户在网页上的留言信息。 数据流来源:班级管理员、用户输入
数据流去向:显示到网页上,用户、班级管理员都可以进行浏览,回复,但是访客不能进行恢复,只能进行浏览
- 6 -
数据库课程设计(报告) 组成:用户、班级管理员浏览记录,班级管理员密码,账户。 5)数据流名称:校友信息
说明:所有注册成为用户的通讯录信息 数据流来源:用户服务输入
数据流去向:用户登录后进行搜索,把符合搜索信息显示给用户浏览 组成:用户名,密码 6)数据流名称:学校信息
说明:用户登录后申请创建学校,其他用户申请加入该学校,输入相关学校的信息。 数据流来源:用户输入
数据流去向:创建人修改、浏览学校信息,非创建人用户修改个人信息 组成:用户名,密码
2.1.4 数据存储描述
校友信息管理系统系统的主要数据存储包括:用户信息,班级管理员信息,班级信息,留言信息、学校信息。 1)数据存储:用户信息 说明:存储全部用户信息
流入数据流:访客,用户信息,用户名,用户密码 流出数据流:用户表
组成:用户名,用户密码,用户编号,性别,邮箱,联系电话,注册日期。 2)数据存储:班级管理员信息
说明:存储班级管理员信息,班级管理员管理相应班级的留言信息以及自己的个人信息管理。
流入数据流:留言信息,用户信息 流出数据流:登录信息
组成:班级管理员编号,用户名,用户密码,性别,联系电话 3)数据存储:班级信息
说明:存储班级信息,用户登录后申请加入已有班级,没有班级可以建立。 流入数据流:用户信息,班级信息
- 7 -
数据库课程设计(报告) 流出数据流:班级信息
组成:班级名称,班级成员姓名,成员年龄,成员性别等。 4)数据存储:通讯录信息 说明:存储通讯录信息
流入数据流:用户信息,通讯录信息 流出数据流:通讯录信息
组成:班级成员姓名,年龄,性别,电话,邮箱,家庭住址等 5)数据存储:留言信息
说明:存储留言信息,用户提交留言并查看回复他人留言簿。 流入数据流:留言信息,用户服务信息,访客信息 流出数据流:留言信息
组成:留言标题,留言用户,留言内容 6)数据存储:学校信息
说明:存储学校信息,用户登录后可申请加入已有学校,没有学校可以建立。 流入数据流:用户信息,学校信息 流出数据流:学校信息
组成:学校名称,学校成员姓名等
- 8 -
数据库课程设计(报告) 第3章 概念结构设计
3.1 局部E-R图
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
数据流图:
用户实体图 对象:用户,用户的属性如图3-1所示:
邮编 街道 省份 用户 城市 班级名 工作 用户名 电话 性别 用户密码 注册帐号 生日
- 9 -
数据库课程设计(报告)
班级实体图 对象:班级,班级的属性如图3-2所示:
班级 班级类型 班级名称 管理员 学校名称 图 3-2 班级实体图
学校实体图 对象:物品,物品的属性如图3-3所示:
学校 网址 街道 邮编 省份 城市 学校名称 类型 网址 图 3-3 学校实体图
留言实体图 对象:留言,留言的属性如图3-4所示:
- 10 -
数据库课程设计(报告) 留言 用户名称 标题 班级名称 内容 图 3-4 留言实体图
管理员实体图 对象:管理员,管理员的属性如图3-5所示:
管理员 电话 用户名 密码 性别 图 3-5 管理员实体图
班级类型实体图 对象:班级类型,班级类型的属性如图3-6所示:
班级类型 类型 图 3-6 班级类型实体
3.2 校友信息管理系统E-R图
各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数
- 11 -
数据库课程设计(报告) 据概念结构,即总E-R图。
- 12 -
数据库课程设计(报告)
图3-7校友信息管理系统E-R图
- 13 -
数据库课程设计(报告) 视图集成后形成一个整体的数据库概念结构,对该整体概念结构还必须进一步验证,确保它能够满足下列条件:
(1)整体概念结构内部必须具有一致性,即不能存在互相矛盾的表达。
(2)整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系。
(3)整体概念结构能满足需要分析阶段所确定的所有要求。 经过消除不必要的冗余数据和冗余联系得到总体E-R图如图3-7所示:
- 14 -
数据库课程设计(报告) 第4章 逻辑结构设计
4.1 关系模式转换
把概念结构设计转化为逻辑结构设计为:
用户(用户ID,班级ID,注册帐号,用户名,用户密码,性别,电话,生日,工作,城市,
省份,街道,邮编)
留言(留言ID,用户ID,班级ID,内容,标题)
班级(班级ID,学校ID,管理员ID,名称,类型ID)
学校(学校ID,名称,类型,网址,邮编,城市,省份,街道) 管理员(管理员ID,用户名,密码,性别,电话) 班级类型(类型ID,类型名称)
4.2 数据关系图
根据以上分析,创建数据库,其中包括六个数据表:用户、留言、班级、学校、管理员、班级类型。
数据关系图如图4-2所示:
- 15 -
数据库课程设计(报告)
图4-2 数据关系图
- 16 -
数据库课程设计(报告) 第5章 物理结构设计
数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。
物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法。数据库的物理设计通常分为两步,第一,确定数据库的物理结构,第二,评价实施空间效率和时间效率。
(1)管理表
管理信息表(tb_admin)主要用于存放所有用户的账号、密码以及其他信息。表tb_admin的结构如表5-1所示。
表5-1 admin表 表名 usrreg class city classtype info province school
(2)用户信息表
用户信息表(tb_user)主要保存站内用户的基本信息。表tb_user的结构如表5-2所示。
表5-2 user表 长度 4 3 30 30 - 17 -
表说明 此表记录所有用户人员的基本信息 此表记录用户注册的班级 此表记录全国城市 此表记录学历 此表记录用户的留言 此表记录全国省份 此表记录用户注册的学校 备注 包括所属大学在的省市 包括所在省市 列名 User_id Class_id Login Name 数据类型 Int Int Varchar Varchar 约束 Not Null Not Null Not Null 说明 用户ID 班级ID 注册帐号 用户名 数据库课程设计(报告) Password Sex Mobile Bth Job City Province Road TB
(3)班级信息表
Varchar Char Varchar Datetime Varchar Varchar Datetime Varchar Varchar 30 2 30 8 50 20 8 50 10 Not Null 用户密码 性别 电话 生日 工作 城市 省份 街道 邮编 班级管理信息表(tb_class)主要保存站内用户所在班级的基本信息。表tb_class的结构如表5-3所示。
表5-3 CLASS表 列名 Class_id Class_name School_id Admin_id Type_id Del_flag
(4)城市信息表
城市信息表(tb_city)主要保存站内城市的基本信息。表tb_city的结构如表5-4所示。
表5-4 city表 列名 City_id City_name Pro_id
(5)班级类型信息表
学历信息表(tb_classtype)主要保存站内用户学历编号和名称的基本信息。表
- 18 -
数据类型 Int Varchar Int Int Int Char 长度 4 30 4 4 4 1 约束 Not Null Not Null Not Null 说明 班级编号 班级名称 学校ID 管理员ID 班级类型 删除标志 数据类型 Int Varchar Int 长度 4 20 4 约束 Not Null 说明 城市编号 城市名 省份编号 数据库课程设计(报告) tb_classtype的结构如表5-5所示。
表5-5 classtype表 列名 Type_id Type_name
(6)留言板信息表
留言板信息表(tb_info)主要保存站内留言板的基本信息。表tb_ info的结构如表4-6所示。
表5-6 info表 列名 Info_id Info_title Info_cnt User_id Calss_id Del_flag Editer
(7)省份信息表
省份信息表(tb_province)主要保存站内省份的基本信息。表tb_ province的结构如表4-7所示。
表5-7 province表
列名 Pro_id Pro_name
(8)学校信息表
学校信息表(tb_school)主要保存站内学校的基本信息。表tb_school的结构如表4-8所示。
- 19 -
数据类型 Int Varchar 长度 4 20 约束 Not Null Not Null 说明 类型ID 类型名称 数据类型 Int Varchar Text Int Int Char Int 长度 4 50 20 4 4 1 4 约束 Not Null Not Null Not Null 说明 留言编号 留言标题 留言内容 用户ID 班级ID 删除标志 编辑标志 数据类型 Int Varchar 长度 4 20 约束 Not Null 说明 省份编号 省份名称 数据库课程设计(报告) 表5-8 school表 列名 School_id Sch_name Sch_type Pro_id City_id Sch_erea Yb Sch_http Del_flag 数据类型 Int Varchar varchar Int Int Varchar Varchar Varchar Char 长度 4 50 20 4 4 20 20 50 1 约束 Not Null 说明 学校编号 学校名称 学校类型 省份编号 城市编号 街道 邮编 学校网址 删除标志 - 20 -
数据库课程设计(报告) 第6章 用户操作界面设计
6.1登录模块
登录界面即为系统首页如图5-1,从首页根据输入的用户名、密码来进行登录操作,通过连接数据库在userreg表中进行相应验证,如果表中有此用户名和密码,则验证通过而进入系统,如果表中没有此用户相应信息,则验证不能通过而继续留在登录首页。
图6-1 登陆界面图
6.2注册模块
该模块主要是用于想加入该网站的同学而设的注册模块,用户需要填完这些才能登陆到校友网。
- 21 -
数据库课程设计(报告) 图6-2注册页面图
6.3班级查询模块
(1)班级信息
班级信息如图5-3包括了以前所注册的班级信息包括班级管理员通信录都可以找到,也可以很快的找到自己所学的班级。
- 22 -
数据库课程设计(报告)
图6-3班级信息图
(2)学校查找
学校查找有三个页面,第一个页面主要是学校所在省份,第二个页面主要是查找学校所在城市,第三个页面时学校所在区域。
- 23 -
数据库课程设计(报告) - 24 -
数据库课程设计(报告) 图6-4学校的查找图
6.4 通信录
在这里用户根据自己的班级找到之后,就可以在自己的班级里面查看已经注册之后同学留下的通信信息。
- 25 -
数据库课程设计(报告) - 26 -
数据库课程设计(报告) 图6-7通讯录图
6.5 留言板
在这里可以跟班级里的同学进行留言、相互交流。班级管理员可以对留言板的删除和编辑。
图6-8留言板图
- 27 -
数据库课程设计(报告) 第7章 软件测试
软件测试的目的,第一是确认软件的质量,其中一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
7.1 关于效率的考虑
7.1.1测试目的
1.测试发现程序中因操作失误而出现的错误。 2.测试发现程序中的隐藏错误。 3.测试发现因算法出现的结果错误。
7.1.2测试方法
程序执行的测试.该方法不适合大单元、大系统的测试,也不适合于评测中心,测试部门的测试。它只适合于很小的单元、可以枚举用例的测试。程序功能的测试,面向需求分析中的功能、性能,设计测试用例,搭建测试环境,输入测试用例,运行被测试的系统,获得测试数据计划相比较,取得测试结果,根据测试结果,形成测试报告。
1.模块测试
分别对每个模块进行测试。然后根据数据流图中各模块之间的调用关系,进行模块接口、局部数据结构、重要的执行通路、出错处理通路进行测试。
测试结果正常。 2.系统调试
对每个输出语句都加断点调试,确定输出无误。
- 28 -
数据库课程设计(报告) 7.2容错处理
7.2.1控件操作控制
1.采用禁止操作的方法
不相容的操作控制。如:添加时删除不允许。 2.采用文字提示的方法
预先提示操作不可行。操作后提示不可行 3,采用事后警告的方法
可以操作但可能出现一些问题。如在删除数据时
7.2.2键盘操作控制
1.根据输入的ASCII码值判断用户的输入操作
2.根据输入的ASCII码值判断,禁止一些非法字符的输入 如登记号为数字,该文本框只能响应数字键 3.对输入的字符进行判断,处理掉不允许的字符或字符串 如登记号文本框已输入字符,在保存时转换为数字。
7.2.3数据库操作控制
1.单机多用户使用
超级用户锁:超级用户可以增删除自己之外的所有用户。 保证该系统中存在一个超级用户 2.多机多用户使用
在数据库维护中,加入独占用户锁,保证数据增、删、改时的一致性。
7.3 系统维护
网站的维护主要包括以下内容个人管理,对个人的资料管理,相片管理用户管理,管理员对用户的审查管理和站内信息管理。
- 29 -
数据库课程设计(报告) 参考文献
[1] (美)埃克尔Java编程思想:机械工业出版社
[2] (美)Cay S.Horstmann Gary Cornell 译者: 叶乃文 邝劲筠 杜永萍《Java核心技术,卷I:基础知识(原书第8版)》 :机械工业出版社
[3] 陈湘.ASP.net与网站开发编程实战[M].第一版.北京:清华大学出版社,2002.5
[4] 李明刚、肖建.ASP.Net web站点高级编程范例[M].第一版.北京:清华大学出版社,2004.4 [5] 张跃廷、房大伟、梁水.ASP.Net范例完全自学手册[M].北京:人民邮电出版社,2009.10 [6] 刘韬.Web数据库开发[M].第一版.北京:化学工业出版社,200.3
[7] 王珊、萨师煊.数据库系统概述[M].第四版.北京:高等教育出版社,2006.5 [8] SQL范例完全自学手册[M].第一版.北京:人民邮电出版社,2009.1 [9] 张海藩.软件工程导论[M].第五版.北京:清华大学出版社,2008.2
- 30 -
数据库课程设计(报告) 附录1—数据库原理课程设计任务书
一、
设计目的
《数据库课程设计》是软件工程专业和计算机科学与技术专业的一个综合性的设计型实验,是培养学生数据库设计、开发、应用能力的重要实践性教学环节。
开设《数据库课程设计》主要目的是:通过本实训,使学生进一步了解数据库的设计方法、掌握一种数据库系统开发工具(如PB、ASP、.NET)的使用。通过设计实际的数据库系统,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高系统分析和解决问题的能力。 二、
设计工作要求
本课程设计要求学生采用项目小组的形式,结合具体软件开发项目,完成以下设计内容:
1. 需求分析
对系统的功能及性能要求进行分析,写出需求规格说明书,并制定需求跟踪矩阵,以便在设计后期创建测试用例以对应需求,若使用面向对象的开发方法,则应确定系统的对象模型,状态模型及处理模型。
2. 数据库设计 2.1 概念结构设计
(1) 画出系统各部分(子系统)E-R模型图
(2) 消除冲突和冗余,合并各部分E-R模型图,形成总体E-R模型图 2.2 逻辑结构设计
(1) 完成E-R模型向关系模型的转换。 (2) 对关系模型进行优化。
(3) 完整性约束设计(如主键约束、外键约束等)。
(4) 完成实体之间的一对一、一对多、多对多策略,具体是以逻辑关联还是
键关联。
(5) 针对具体业务设计多表连接(基本连接、内连接、外连接、交叉连接、
谓词连接、集合连接)及嵌套查询方案,并编写脚本样例。
- 31 -
数据库课程设计(报告) (6) 数据库设计应参照范式和相关规范(包括视图、索引等)。 2.3 物理结构设计
存储结构设计(如数据表的构成,字段名称,字段数据类型,字段长度等) 2.4 建立数据库系统。将所设计表的结构在数据库管理系统上实现,要求生产
备份文件(备份数据库或导出数据库表到文本文件)。
3. 设计用户操作界面。在用户操作界面确定之后,根据系统功能要求设计出界面。明确各界面之间的调用关系及界面调用流程,并确定流程图。 4. 软件设计与实现
在确定系统总体设计方案基础上,首先建立系统架构设计,并设计连接数据库的基本方式,完成系统的模块结构图及模块的功能说明。根据系统功能要求,选择合适的软件开发平台完成程序设计、针对不同的业务逻辑及流程补充数据库设计时的存储过程、触发器、函数设计,并对视图等进行设计。
在这里特别强调选用的开发平台和数据库的连接,在软件开发中,请写出在开发平台的编程环境下如何实现对数据库的操作(增、删、改、查)。要求必须包含级联操作、批量更新操作、游标操作、适当增加事务管理机制。 5. 软件测试
完成软件的测试,结合数据库知识,检测数据操作的正确性、完整性。要求应根据系统的需求设计相应的测试数据方案(特别是一些异常情况的处理),写出测试结果。 三、
设计任务及要求
1. 3-4人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工,写出项目开发计划;
2. 按软件开发的方法,分阶段进行开发;小组可以自己选用相应的开发语言(ASP、C++、.NET不限)和数据库管理系统(Access、SQLServer、Oracle、MySQL不限)。
3. 要求在雪球分析的基础上,做好数据库设计工作,完成系统的功能,并记录主要模块的数据库操作实现部分。
4. 完成设计任务后,以小组为单位,总结全部设计工作,完成课程设计报告,并在规定的时间内提交给指导教师。课程设计报告要求有完整的格式,包括封面、
- 32 -
数据库课程设计(报告) 正文等。正文主要包括需求分析、数据库设计、软件设计和实现主干代码及测试案例。
注:附录中应包括数据库课程设计任务书和小组成员分工情况(由组长写明);此外,注明每人的数据库部分实现代码(每人一份,注上姓名);最后,总结设计和开发过程的经验和教训,写出设计总结(每人一份,要求手写,附在小组报告最后)。报告中请使用VISIO画图;设计报告参照《数据库课程设计报告样例》。 5. 本课题涉及小组成员的集体协作,要求遵守设计时间的安排,有相应的团队精神。
四、
参考题目
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
题目 教室管理信息系统的设计与开发 求职招聘系统的设计与实现 校友信息管理系统设计与实现 高校学生公寓管理系统设计与开发 毕业设计选题系统的设计与实现 试题库管理系统的设计与实现 风雅颂诗坛网站设计与实现 健康信息咨询软件的设计与实现 教师科研成果管理系统 校园社会实践网络信息平台的设计与实现 超市进销存管理系统的设计与实现 高校学生信息管理系统设计与实现 公司人事管理系统的设计与实现 网络考试系统的设计与实现 网上书店的设计与开发 房屋出租平台的设计与实现 快捷酒店管理系统的设计与开发 列车车次信息查询系统的设计与实现 医院网上预约挂号系统的开发 - 33 -
数据库课程设计(报告) 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 五、
时间地点及进度安排
毕业生就业信息管理系统的设计与开发 在线考试系统 中小学教师与家长交流平台的构建与实现 网上报名系统设计与实现 航空公司管理信息系统 运动会成绩管理系统 企业人事工资管理系统 花店销售系统设计与实现 网上调查问卷管理系统的设计与实现 毕业设计选题系统设计与实现 订餐配送平台的设计与实现 在线旅游产品系统的设计与实现 建大教职工评价系统的设计与实现 火车票预订系统 高校助学贷款管理系统 网上旅游系统的设计与实现 实验室仪器设备管理系统的设计与实现 数据库课程设计为期2周,实训地点:实验楼五楼A504,计算机科学与技术和软件工程专业发生在15-16周,网络工程专业发生在18-19周。具体安排如下: 六、
综合设计考核标准
1. 考勤,占40% 2. 理论设计方案,占30% 3. 设计报告,占30%
注:凡有抄袭现象一经发现,小组成员成绩均为不及格。 七、
教师
校内指导教师:张沛露、吕冬梅、袁一平
- 34 -
数据库课程设计(报告) 附录2—小组成员分工情况
- 35 -
数据库课程设计(报告) 实现代码
(姓名)
1.登陆界面核心代码如下:
if(rs.Read()) { } else { }
myConnection.Close();
lblMsg.Text=\"用户名或口令错误!请重新输入!\"; Pwd.Text=\"\";
Session[\"uid\"]=rs[\"id\"].ToString(); Page.Response.Redirect(\"school.aspx\");
2.注册页面核心代码如下:
if(dr.Read())
{
lblStep2.Text=\"您输入的用户名已经存在,选择一个其他的名字!\";
} else {
myConnection.Close();
lblPwd.Text=txtUpwd.Text.ToString(); step1.Visible=false; step2.Visible=true;
span1.InnerHtml=\"您输入的信息是:\"+\"
\";
myConnection.Close();
span1.InnerHtml+=\"登录名:\"+txtAccount.Text.ToString()+\"
\"; span1.InnerHtml+=\"姓名:\"+txtUname.Text.ToString()+\"
\";
span1.InnerHtml+=\"性别:\"+rltSex.SelectedItem.Text.ToString()+\"
\"; span1.InnerHtml+=\"生日:\"+ddlYear.SelectedItem.Text.ToString()+\"年\"+ddlMonth.SelectedItem.Text.ToString()+\"
- 36 -
月
数据库课程设计(报告) \"+ddlDay.SelectedItem.Text.ToString()+\"日\"+\"
\";
3.班级信息核心代码如下:
if(!Page.IsPostBack)
{
strSQL=\"select pro_name from province\"; da=new SqlDataAdapter(strSQL,cn);
if(Session.Count==0) Page.Response.Redirect(\"default.aspx\"); else
if(Session[\"uid\"].ToString()==\"\")
Page.Response.Redirect(\"default.aspx\");
if(!Page.IsPostBack) {
ddlSchtype.Items.Add(\"请选择学校类型\"); ddlSchtype.Items.Add(\"大学\"); ddlSchtype.Items.Add(\"中学\"); ddlSchtype.Items.Add(\"中专\"); ddlSchtype.Items.Add(\"小学\");
city_name
from
city
where
strConn = ConfigurationSettings.AppSettings[\"SQLConnectionString\"];
strSQL=\"select
pro_id=\"+Page.Request[\"pid\"].ToString();
4.学校查找核心代码如下:
public partial class find_class2 : System.Web.UI.Page {
SqlDataAdapter da; DataSet ds;
string strConn,strSQL,strUrl;
protected void Page_Load(object sender, System.EventArgs e) {
if(Session.Count==0) Page.Response.Redirect(\"default.aspx\"); else
if(Session[\"uid\"].ToString()==\"\")
=
Page.Response.Redirect(\"default.aspx\");
strConn
ConfigurationSettings.AppSettings[\"SQLConnectionString\"];
- 37 -
数据库课程设计(报告) );
strSQL=\"select
ddlProve.Items.Add(ds.Tables[\"province\"].Rows[i][\"pro_name\"].ToString()
}
System.Web.UI.WebControls.RegularExpressionValidator da.Dispose();
5.学校区域查找其核心代码如下:
protected
RegularExpressionValidator1;
SqlConnection cn; SqlCommand cmd; SqlDataReader dr; string strConn,strSQL;
protected void Page_Load(object sender, System.EventArgs e)
from
{ school.sch_id,school.sch_name,province.pro_name,city.city_name,sch
ool.sch_erea,sch_num,classtype.type_name school,province,classtype,city\";
da=new SqlDataAdapter(strSQL,cn); da.Dispose(); cn.Close();
strSQL+=\" where city.city_id=\"+Page.Request[\"cid\"].ToString(); strSQL+=\"
and
classtype.type_id=\"+Page.Request[\"typ\"].ToString();
strSQL+=\" and province.pro_id=\"+Page.Request[\"pid\"].ToString();
6.班级注册核心代码如下:
strSQL=\"select type_name from classtype where
type_id=\"+ds.Tables[\"cl\"].Rows[i][\"type_id\"].ToString(); {
strSQL=\"select
- 38 -
{
cmd=new SqlCommand(strSQL,cn); dr=cmd.ExecuteReader();
for(i=0;i name from userreg where 数据库课程设计(报告) id=\"+ds.Tables[\"cl\"].Rows[i][\"admin1\"].ToString() ds.Tables[\"cl\"].Rows[i][\"m1\"]=dr[0].ToString(); dr.Close(); cmd.Dispose(); } ds.Tables[\"cl\"].Rows[i][\"m2\"]=dr[0].ToString(); while(dr.Read()) dr.Close(); cmd.Dispose() 7.通讯录核心代码如下: if(Session.Count==0) Page.Response.Redirect(\"default.aspx\"); else if(Session[\"uid\"].ToString()==\"\") Page.Response.Redirect(\"default.aspx\"); string class_id=Request[\"clid\"].ToString(); j=5-class_id.Length; for(i=0;i sqlconn = string SqlConnection myConnectio myConnection.Open(); strSQL=\"select * from userreg where class_id LIKE ConfigurationSettings.AppSettings[\"SQLConnectionString\"]; n = new SqlConnection(sqlconn); '%\"+class_id+\"%'\"; SqlDataAdapter comm =new SqlDataAdapter(strSQL,myConnection); DataSet ds = new DataSet(); 8.留言板核心代码如下: if(Session[\"uid\"].ToString()==dr[0].ToString()|Session[\"uid\"].ToString()==dr[1].ToString())//为管理员添加固顶选项 if(ds.Tables[0].Rows[i][\"id\"].ToString()==Session[\"uid\"].ToString()|Ses sion[\"uid\"].ToString()==dr[0].ToString()|Session[\"uid\"].ToString()==dr[1].ToString())//为管理员和贴子作者 - 39 - 数据库课程设计(报告) 添加编辑删除选项 { ds.Tables[0].Rows[i][\"editurl\"]=\"href=editinfo.aspx?infoid=\"+ds.Tables[0].Rows[i][\"info_id\"].ToString()+\"> [编辑]\"; ds.Tables[0].Rows[i][\"delurl\"]=\"href=delinfo.aspx?infoid=\"+ds.Tables[0].Rows[i][\"info_id\"].ToString()+\">[删除]\"; } - 40 - 数据库课程设计(报告) 总结 (姓名) 教师评语: 成绩: 指导教师: - 41 - 数据库课程设计(报告) 总结 (姓名) 教师评语: 成绩: 指导教师: - 42 - 数据库课程设计(报告) 总结 (姓名) 教师评语: 成绩: 指导教师: - 43 - 数据库课程设计(报告) 总结 (姓名) 教师评语: 成绩: 指导教师: - 44 - 数据库课程设计(报告) - 45 - 因篇幅问题不能全部显示,请点此查看更多更全内容