办公自动化论文格式

数据库系统原理

摘 要

《数据库系统原理》课程网站是一个集成了课程介绍、教学资源、课程作业、资源的下载、在线教学视频、在线批改作业、课程论坛等功能的平台。本网站是采用ASP. NET2.0技术与SQL Server的结合开发出而成。本网站实用性强,实现资源共享,改变学生的学习方式,使教师与教师、教师与学生、学生与学生之间的交流有了全新的方式,打破传统课堂的制约,改进教与学的方法,提高数据库课程的教学质量。本文主要讨论了此网站的需求分析,介绍了系统各个模块的功能设计与实现、网页布局、访问数据库以及相关操作信息。

关键字:课程网站,课程论坛,数据库系统原理

I

ABSTRACT

The principle of database system, the course website is an integrated curriculum, teaching resources, the course assignments, resource download, online teaching video, online corrects students' papers, course BBS functions such as platform. This website is USES ASP.NET2.0 technique combining with SQL Server to develop and become. This website practicability, resource sharing, change the student's study way, make the teachers and teachers, teachers and students, communication between students and a new way to break traditional classroom, the restriction, improvement of teaching and learning methods, to improve the teaching quality of course database. This paper mainly discusses the website needs analysis, introduces the function of each module of system design and implementation, and web page layout, and relevant operation information access database.

Key Words:course website,Course BBS, principle of database system

II

数据库系统原理

目 录

摘 要 .................................................................................................................................... I ABSTRACT ........................................................................................................................... II

1. 引言 .................................................................................................................................... 1

1.1 课题背景 .................................................................................................................. 1

1.2 国内外研究现状 ...................................................................................................... 1

1.3 研究内容 .................................................................................................................. 2

1.4 开发方式与工具 ...................................................................................................... 3

2.可行性分析 .......................................................................................................................... 2

2.1经济可行性 ............................................................................................................... 2

2.2技术可行性 ............................................................................................................... 2

2.3管理可行性 ............................................................................................................... 2

2.4社会因素方面的可行性 ........................................................................................... 2

2.5网站建设目标可能存在的问题 ............................................................................... 2

3.需求分析 ........................................................................................................................... 4

3.1用户需求 ................................................................................................................... 4

3.2 功能性需求 .............................................................................................................. 4

4. 系统设计 ............................................................................................................................ 6

4.1网站的架构设计 ....................................................................................................... 6

4.2网页布局 ................................................................................................................... 6

4.3 功能设计 .................................................................................................................. 8

4.4 数据库的分析与设计 .............................................................................................. 9

4.4.1 数据库的设计 ............................................................................................. 9

4.4.2 数据库的连接 ............................................................................................. 14

5. 网站详细设计与实现 ...................................................................................................... 16

5.1 注册以及登录模块 ................................................................................................ 16

5.1.1 注册功能的实现 ......................................................................................... 16

5.1.2 登录功能的实现 ......................................................................................... 17

5.2 个人信息管理模块 ................................................................................................ 18

5.2.1 查看并修改个人基本信息 ......................................................................... 18

5.2.2发表的帖子管理 .......................................................................................... 19

5.3 论坛模块 ................................................................................................................ 21

5.3.2 浏览帖子、发表帖子和回复帖子 ............................................................. 22

5.3.3论坛管理员功能的实现过程 ...................................................................... 26

5.4 资源列表中的留言 ................................................................................................ 29

6. 小结与展望 ...................................................................................................................... 31

6.1 小结 ........................................................................................................................ 31

6.2 展望 ........................................................................................................................ 31

参考文献 ....................................................................................................................... 32

致谢 ............................................................................................................................... 33

III

数据库系统原理

1. 引言

1.1 课题背景

数据库系统是对数据进行存储、管理、处理和维护的软件系统,是现代计算机环境中的一个核心成分。随着计算机技术飞速发展,数据库已广泛应用于社会各行各业,且领域在不断扩展。目前可见的绝大多数计算机应用系统都离不开数据库的支撑。尤其在当今知识经济的时代,信息化、数字化建设的决定因素是这方面的人才,信息处理为整个计算机应用的主要领域,其基础和核心属于数据库范畴,教学中要积极跟踪当前数据库技术发展的水平和趋势来培养计算机学科的人才。

《数据库原理系统》是计算机科学与技术专业的主干课程,它是一门理论性较强,同时又具有很强实践性的面向实际应用的课程,主要是培养学生具有信息分析、数据采集、数据整理以及信息处理等能力。

在21世纪这个信息高度发达、高速流通的时代,计算机的普及以及计算机网络的广泛应用,不少学生反映单纯的书本课堂知识枯燥难懂,知识面狭隘,仅仅在传统的课堂教学传授相关知识已经满足不了他们的需求。因此,传统的课堂教学,不仅难于提高学生学习的自主性,同时也不能充分利用现代化的网络资源。为了使教育跟上时代的步伐,利用网络技术和网络资源,将计算机教育由传统课堂延伸到课外,突破时间和空间的限制,让更多的学习者共享优秀的教育资源,改变学习者的学习方式,由以前单一的、被动的接受学习变成自我探索、发现、协作学习等多种形式的组合学习,达到真正意义的自主学习。课程网站有利于将传统的黑板教学形式改变更为被学生接受的结合电子讲义、多媒体课件、视频、在线作业、论坛交流互为一体的教学形式。

随着我国经济的不断发展,教育事业的不断改善,课程网站必将在未来的教学过程中发挥更大的作用。《数据库系统原理》课程网站的设计与实现正是在这样的情况下产生,它打破了传统的教学模式,使师生之间的交流有了全新的方式,从而改进教与学的方法,促进数据库技术的发展,提高数据库课程的教学质量。

1.2 国内外研究现状

在世界范围内来看,有关数据库系统原理课程网站研究一直都在进行并且不断取得进步,特别是西方发达国家,他们在课程的理论研究与实际运用方法积累了大量的经验,而我们中国国内在有关于数据库系统原理课程网站这一方面也取得了丰硕的成果,如南开大学的数据库系统原理精品课程(http://it.nankai.edu.cn/PDBS/default.aspx)和西北工业大学的数据库原理课程(http://jpkc.nwpu.edu.cn/jp2006/sjkxt/)都是一个比较好的课程网站,很多方面是值得我们借鉴的。

1

引言

图1-1 南开大学数据库系统原理精品课程

图1-2 西北工业大学数据库系统原理课程

但同时是也存在不少的问题:

首先,大部分的课程网站只是将书本上的内容搬迁到了网页上,把教室里的课堂搬到网络上,只有有文字的描述,却没有生动的FLASH动画或视频演示,形式单一,不容易引起学习者的学习兴趣;

其次,利用网络技术提供与学习者互动内容以及学习反馈内容比较少;

最后,对学习者反馈重视不足,缺乏与学习者互动交流平台,使学习者不能真正的互动的活动在其中,致使学习者对课程网站使用的积极性受到一定的制约。

1.3 研究内容

根据国内外的研究现状,确定了课程网站基本的部分包括用户登录模块、资料浏览,

2

数据库系统原理

下载模块。而由于为了给用户在学习,工作上带来更多的方便,我们又确定了一下两个较为符合用户使用习惯的模块:在线上交作业,在线批改作业模块及课程论坛模块。其中,课程网站是由前台和后台两部分组成的,前台部分主要包括用户注册、登录模块,资源浏览、下载模块,在线观看教学视频模块,作业上交模块,课程论坛模块,其中资源浏览,下载模块,作业上交模块只能在用户登录后才能起作用。后台部分包括资源管理模块,学生信息管理模块,在线批改作业模块,论坛管理模块。只有管理员才有这个权利来管理网站。

以上功能的实现让同学们可以充分利用网上的资源进行课堂以外的数据库系统原理的学习。这样,在同学们上网的过程中,既可以及时对所学内容进行巩固,又可以提前对要学习的内容进行预习,做到省时省力。

1.4 开发方式与工具

本课程网站是基于B/S架构课程教学网站,采用目前比较流行的ASP.NET 2.0技术并以Visual Studio 2005为开发工具,后台数据库是SQL Server 2000。在这次的设计过程中,我主要实现了登录和注册、个人信息管理、网络论坛以及后台管理等功能。这些功能是用户之间进行互动的一些主要功能,用户可以通过这些功能进行各种不同方式的交流。这也是网络教学与普通教学的最大区别。

B/S(Browser/Server)结构即浏览器和服务器结构。Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端 (Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。它的优点是维护方便,能够降低总体拥有的成本。

ASP.NET 是Microsoft推出的新型体系结构.NET的一部分,提供了一种以Microsoft.NET Framework为基础开发Web应用程序的全新编程模式,其全新的技术架构将使编程变得更加方便。ASP.NET 是建立在通用语言上的程序架构,可以用于任一台Web服务器来建立更为强大的Web应用程序。它具有比现在的Web开发模式架构更为强大的优势。它是一种建立动态Web应用程序的技术,是.NET框架的一部分,用户可以使用任何人兼容的语言来编写ASP.NET应用程序。使用Visual Basic、C#、J#或ASP.NET页面(Web Forms)进行编译可以提供比脚本语言更出色的性能表现。本课程网站使用c#为开发语言。

一般市场常见的数据库有Oracle、MS SQL Server、IBM DB2、MySQL、Sybase等等,本课程网站选用MS SQL Server 2000作为数据库,有以下理由:

真正的客户机/服务器体系结构;

图形化的用户界面,使系统管理和数据库管理更加直观、简单;

丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;

与WinNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等, 3

引言

SQL Server也可以很好地与Microsoft BackOffice产品集成;

有很好的伸缩性,可以跨平台使用。

提供数据仓库功能,这个功能只在Oracle和其他昂贵的DBMS中才有。

开发工具是选用了Visual Studio 2005。Visual Studio 是一种用于创建Windows应用程序的集成开发环境(Integrated Development Environment,IDE)。迤今为止,Visual Studio是创建.NET应用程序最受欢迎的工具。Visual Studio 2005(简称 VS2005)是Visual Studio.NET的继任者,都为开发人员提供了一套服务,包括一个现代IDE所应具有的全部工具。在Visual Studio 2005 下,我们可以进行C#、Visual Basic、C++、j#等多种语言的程序开发。Visual Studio 2005的界面如图1所示。

图1-3 Visual Studio 2005的界面

4

可行性分析

2.可行性分析

可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。本课题的可行性分析包括以下几个方面的内容。

2.1经济可行性

经济可行性分析主要是对开发项目的成本与效益作出评估,即分析本课题所带来的经济效益是否超过开发和维护网站所需要的费用。成本主要包括开发,运行和维护费用。开发本课程网站之前我们充分利用图书馆免费资源对系统环境和开发工具等相关知识进行学习,本课题的维护和更新工作也不是很繁琐复杂。另外,本课程网站为一个毕业设计,无需开发经费,对于我们在经济上是可以接受的,并且本网站实施后可以方便学生自主学习,共享资源,加强师生间交流,提高教师批改作业效率,减少教师教学生的工作量。所以实现数据库课程网站的建设目标具有经济的可行性的。

2.2技术可行性

本数据库课程网站的技术可行性,从硬件(包括外围设备)的性能要求、软件的性能要求(包括操作系统、网页制作、数据库管理系统及各种软件工具)来说都为项目的开发奠定了基础条件;其中软件环境的开发语言采用ASP.NET2.0语言,数据库服务器方面则用SQL server 2000,其灵活性,安全性和易用性为数据库编程提供了良好的条件。另外,我们多途径充分地利用各种网络资源及图书馆资源。

2.3管理可行性

对于数据库原理课程网站的管理,相对来说是比较容易实现的。最主要是对通过后台管理,管理员可以对课程介绍、教学资源,学生个人信息,学生作业,课程论坛进行添加、删除、编辑的操作。通过这些操作,可以直接修改数据库的内容。

2.4社会因素方面的可行性

本网站仅用于课程教学。不存在商业用途,无法律和政策方面的限制。

2.5网站建设目标可能存在的问题

此网站可能已经吸收了其他优秀的数据库课程网站的有点,同时,在批改作业方面, 2

数据库系统原理

能够为老师和同学带来了方便。但是,可能依然会存在一些问题,例如美工方面,界面的友好性还需要有待提高,发表新帖子内容编辑器过于简单。

3

需求分析

3.需求分析

3.1用户需求

本课程网站用户分为:教师(管理员)和学生,游客。各类用户在使用网站时可以实现的功能:

1、教师登录后,主要负责进行学生基本资料的管理、课程资料管理、学生作业管理、课程论坛管理等。

2、学生登录,主要进行网站的浏览、下载资料、上交作业等。 3、游客可以浏览课程的介绍、论坛的帖子浏览、用户注册等。

图3-1

3.2 功能性需求

1、注册和登录

该功能主要实现学生与老师的安全登录。 ) 注册用户信息

① 对于新用户,单击“注册”按钮,进入用户注册页面; ② 填写相关注册信息,填写完成后单击“注册”按钮; ③ 弹出“注册成功”对话框,即成功注册。 ) 用户登录验证

① 对于已注册的用户,进入用户登录页面;

4

数据库系统原理

② 填写您的用户名和密码; ③ 单击“登录”按钮;

④ 用户名和密码正确,登录成功,进入网站。 2、个人信息管理

该功能主要是实现显示个人基本信息、上交作业记录、作业成绩、发表帖子和回复帖子的记录,修改个人基本信息、发表过的帖子,删除自己发表过帖子。

3、论坛

该功能主要实现用户进入论坛,可以选择某个版块,就某个主题展开讨论,可以发表新的主题,也可以回复其他主题;管理员则可以创建新的版块和分类,编辑和删除版块以及分类,帖子的管理。

4、教学资源留言

为了方便学生对某个资源(如作业、课件、实验、视频等)提出疑问和师生的回复,该功能主要是用户登录后,浏览各种教学资源,在该资源的详细页面中提出疑问,留言会在该文章详细页面显示。同时该问题的信息也会在论坛中对应的版块中显示。

3. 3 非功能性需求

开发平台:Visual Studio 2005集成开发环境、SQL Server 2000数据库管理系统。后缀名为aspx是前台设计页面,后缀名为aspx.cs为后台代码页面。

其它开发工具:Photoshop CS3、Dreamweaver 2008

5

系统分析

4. 系统设计

4.1网站的架构设计

本网站体系结构为三层结构,如下图所示,即将网站划分为表示层(Presentation Tier)、业务层(Business Tier)和数据层(Date Tier)三部分。

图4-1 三层结构

4.2网页布局

1、个人信息管理界面、教学资源详细界面布局

图4-2 个人信息管理界面布局

2、论坛前台界面、注册、个人信息修改界面布局

6

数据库系统原理

图4-3 论坛前台界面布局 3、论坛后台界面布局

图4-4 论坛后台界面布局

为了保持每一部分的界面的一致性,每个页面都会用到母版,而为了方便界面的布局,一共做了三个母版,分别用于个人信息管理、论坛的前台和后台。

7

系统分析

4.3 功能设计

图4-5 功能模块

1、用户登录模块:用户登录的合法性检验和登录成功后角色(权限)数据的读取。 2、注册模块:新用户输入用户名、密码等资料,注册模块首先对用户输入的数据格式进行校验,然后检查数据库中是否存在该用户名;如果不存在则将该注册信息保存到数据库当中,完成用户注册过程。

3、个人信息管理模块:用户登录后可以进入个人信息管理,用Session[“username”]在页面传值,查看并修改自己的个人基本信息,查看上交作业的记录及成绩,浏览发表帖子和回复的记录,并修改或删除记录。

4、论坛模块

该模块有两种用户:浏览者和管理员,他们具有不同的权限,如下图所示。

8

数据库系统原理

图4-6 论坛权限功能图

在添加版块和分区的过程中,管理员首先输入必要的信息,例如版块的标题、说明等,然后提交给数据库,由数据库将内容加入数据库中;修改版块、分区以及用户发表新主题的过程也类似。而用户回复帖子有点不同是系统需要获得用户回复帖子的ID,然后再将回复内容加入数据库中。

5、在教学资源详细页面的留言

用户登录后,在浏览某个资源想详细信息时,在留言版块上输入留言信息,点击“回复”按钮,首先获取该资源的ID,在post表中查找是否存在该文章对应的标题,若无,则把该资源的数据插入到post表中,把回复数据插入到reply表中,然后同时在资源详细页面中和论坛相应的版块中显示;若post表中以存在该文章的信息,则查找该帖子的所有回复,获得新的回复ID,把新回复的数据插入到reply表中,并相应显示。

4.4 数据库的分析与设计

4.4.1 数据库的设计

根据用户需求和管理网站数据间的结构,设计如下关系表:

数据表一:用户登陆信息表(login)用于存放学生及教师的用户信息。 说明

数据项

数据类型

是否为备注

9

系统分析

帐号 密码 权限

ity

姓名 班别 年级 邮箱 性别

数据表二:身份列表(lauthority) 说明 身份ID(key)

身份

数据表三:作业成绩列表(mark)用于存放学生每次上交的作业成绩 说明 账号 作业次数 作业名 成绩 作业提交日期

数据表四:帖子表(post)

数据项 lno hno hname mark date

数据类型

char char varchar varchar datetime

长度 11 2 50 3

是否为空

否 否 否 是 否

(账号、作业次数)

备注

n

数项

sfid shenfe

Int varchar 数据类

4 10

否 否

1 学生,2 教师

是否为

备注

name class grade email sex

varchar

char char char

char

1

1 2 2

是 是 是

2

lno lkey lauthor

char

1

char

1

Int

4

1为学生,2为管理员

1

1

主键

10

数据库系统原理

说明 数据项 数据类型

长度 是否为空

主键,自动备注

帖子ID cardid int 用户名 username varchar(50)

板块ID mid int 贴子标题

cardtitle varchar(50)

帖子内cardconte

nt

text 发表时间

carddate datetime 阅读次数

readnum int 回复数 replynum int

数据表五:模块表(module) 说明 数数据类

据项

板块ID mid int 板块标题 mtivarchar(5tle

0)

板块描述 mdvarchar(5esc

0)

建板时间 mdate

datetime 分区ID listid

int 最后发表主题 title varchar(50)

最后发表帖子

dat

datetime

11

4 否 50 是 4 否 50 否 是 否 4 是 4

长度 是否为空

4 否 50 否 50 否 否 4 否 50 是

编号

备注

主键,自动编号

系统分析

时间

e

最后发表帖子usevarchar(5

作者

rname

0)

最后发表帖子carID

did

int

数据表六:回复帖子表(reply) 说明 数据项 数据类型

回复帖子ID

rid int 帖子ID cardid int 回复内replyconte容

nt

text 回复时间

replydate datetime 楼层 lid int 文章编号

pid int 作者 username varchar(50)

资源ID pid int 作业次数

hno

int

数据表七:分区表(list) 说明 数据项 数据类型

分区ID listid int 分区标题

listname

varchar(50)

50 是 4

长度 是否为空

4 否 4 否 否 否 4 是 4 否 50 否 4 是 4

长度 是否为空

4 否 50

备注 主键,自动编号

备注 主键,自动编号

12

数据库系统原理

为了简化复杂的查询,建立了如下两个视图 视图一:cardview 说明 列 帖子ID cardid 版块ID mid 帖子标cardtitle

帖子内cardconte

nt

发表时carddate

阅读次readnum

回复数 replynum 回复内replycont

ent

回复时replydate

回复人 username 楼层 lid 回帖ID rid

视图二:moduleview 说明 列 帖子ID cardid 版块ID mid 帖子标cardtitle

版块标moduletit

le

发表时carddate

阅读次

readnum

13

表 post post post

post

post

post

post reply

reply

reply reply reply

表 post module post

module

post

post

系统分析

回复数 作者 版块说明

回复人

username

module

replynum username mdesc

post module module

4.4.2 数据库的连接

在ASP.NET开发环境中,主要通过ADO.NET技术建立与数据库的连接。为了提供连接和切断与数据库的连接以及完成各种数据处理,ADO.NET提供两组类:管理提供者和一般数据集。管理者提供主要完成和各种数据库的连接并将本地数据库的改变同数据库同步;一般数据集完成各种数据的处理工作。

本网站主要使用SQL Server 2000数据库,因此可以将ADO.NET的工作体系用图表示出来。

图4-7 ADO.NET工作体系图 通过以下方式来连接数据库

1)引入所使用ADO.NET类的命名空间。

连接SQL Server数据库需要Using System.Data和Using System.Data.SqlClient这两个类,把他们在后台代码文件中引入。

2)创建连接字符串变量,以保存生成连接需要的信息。在ASP.NET中连接数据库主要通过一个叫做web.config的配置文件。通过简单地配置web.config,就可以解决数据库连接字符串的问题:

14

数据库系统原理

其中,在字符串的Data Source部分设置,用localhost作为服务器名本地运行SQL Server服务器;在字符串的Initial Catalog部分的设置,指定要连接的数据库为DBC。

在ASPX页面里,我们就可以这样连接数据库:

3)创建连接数据库的

SqlConnection对象。 4)使用连接,主要进行读取数据、修改和删除数据等操作。

ADO.NET对SQL Server进行访问的主要类有:

SqlConnection:用于建立和SQL Server服务器连接的类,表示打开的数据库连接。 DataSet:包含一组的数据表,以及这些数据表之间的关系。 DataRow:表示数据表对象中的一行记录。

DataClumn:数据列包含列的定义,例如数据类型或名称。 SqlCommand:用于执行SQL语句或数据库存储过程的调用。

SqlDataAdapter:用于填充数据集合或更新数据库,也可以用于存储SQL语句。 SqlDataReader:只读并且直向前读的数据读取器,拥有最高的读取速度。 SqlParameter:为存储过程指定参数。 5)关闭连接。

15

网站详细设计与实现

5. 网站详细设计与实现

5.1 注册以及登录模块

5.1.1 注册功能的实现

功能描述:

① 对于新用户,单击“注册”按钮,进入用户注册页面; ② 填写相关注册信息,填写完成后单击“注册”按钮; ③ 弹出“注册成功”对话框,即成功注册。 详见register.aspx。 界面设计:

图5-1 注册页面 流程描述

16

数据库系统原理

图12 注册流程图

5.1.2 登录功能的实现

(1)功能描述:

① 对于已注册的用户,进入用户登录页面; ② 填写您的用户名和密码; ③ 单击“登录”按钮;

④ 用户名和密码正确,登录成功,进入网站。 详见login.aspx (2)界面设计

图5-2 登录页面 图5-3 成功登录后 (3)流程描述

图5-4 登录流程图

17

网站详细设计与实现

(4)关键技术

在login.aspx文件中添加两个textbox控件和两个Button控件,然后在cs文件中添加按钮单击事件btnLogin_Click和btnCancel_Click。

登录按钮的单击事件btnLogin_Click的主要代码如下:

5.2 个人信息管理模块

5.2.1 查看并修改个人基本信息

(1)功能描述:

①用户登录进入后,点击“个人信息管理”,进入信息管理页面;

②查看个人的基本信息,上交作业的记录及成绩,发表帖子和回复帖子的记录; ③点击“修改”,进入个人资料修改页面,修改个人信息,“提交”; ④弹出“修改成功”对话框,即成功修改。详见edit.apsx。 (2)界面设计

图5-5 修改个人信息

18

数据库系统原理

图5-6 个人信息 (3)流程描述

图15 显示并修改个人信息流程

5.2.2发表的帖子管理

(1)功能描述:

它以表格形式列出当前用户的所有发表的帖子、编辑按钮、删除按钮。 ①当用户按某个主题表的编辑按钮,就会向编辑页面传递选中的帖子ID参数; ②当用户按某个主题表的删除按钮,就会提示“确定删除吗?对话框; (2)界面设计

19

网站详细设计与实现

图5-7 删除提示

图5-8 修改帖子页面 (3)流程描述

显示删除后的信息

图5-9 发表帖子管理流程

20

数据库系统原理

5.3 论坛模块

在界面设计方面,以下几个页面使用的是母版页bbs.master的内容: bbsindex.aspx article.aspx articlelist.aspx deliver.aspx module.aspx

母版页的功能包括:返回论坛首页超链接、返回网站首页超链接、链接用户登录和注册模块。

在article.aspx 、 articlelist.aspx、 module.aspx三个页面都设有站点地图。 5.3.1 论坛首页 1、功能描述:

①显示10条最新发表的帖子,10条最新回复帖子标题,10条热门帖子(阅读数最大); ②分类显示版块列表,包括版块标题、版块描述主题数、最后更新的帖子的标题、作者以及时间;

最新帖子的SQL语句:SELECT TOP 10 cardtitle, cardid FROM post ORDER BY carddate DESC

最新回复的SQl语句:SELECT TOP 10 post.cardtitle, reply.cardid FROM post INNER JOIN reply ON post.cardid = reply.cardid ORDER BY reply.replydate DESC

热门帖子的SQL语句:SELECT TOP 10 cardtitle ,cardid FROM post ORDER BY replynum DESC

详见bbsindex.aspx 2、界面设计

图5-10 论坛首页 (3)流程描述

21

网站详细设计与实现

图5-11 论坛首页流程

5.3.2 浏览帖子、发表帖子和回复帖子

1、浏览帖子

(1)功能描述:浏览帖子主要是实现从数据库中读取帖子信息,然后将帖子以列表的形式进行显示,需要浏览帖子详细内容,只需单击主题列表中的帖子标题,就可以进入帖子的详细内容显示页面。详见module.aspx ,articlelist.aspx ,article.aspx。

(2)界面设计

图5-12 某个版块的文章列表

22

数据库系统原理

图5-13 详细内容页面 (3)流程描述

图 5-14 2、发表帖子

(1)功能描述:需要发表新主题时,单击“发表主题”进入发表主题页面,输入标题和内容,选择所属版块,输入完毕后,单击“发表”按钮;如果需要重新输入信息,可以单击“返回”按钮。详见deliver.aspx。

(2)界面设计

23

网站详细设计与实现

图5-15 发表主题页面 (3)关键技术点

在aspx文件中插入一个Table,在Table中添加两个TextBox控件、两个Button控件和一个DropDownList控件,在aspx.cs文件中绑定DropDownList控件的数据和添加按钮单击事件btnDeliver_Click和btnCancel_Click。

①绑定DropDownList控件的数据:

②发表新主题是要求已登录用户,若没有登录,点击“发表”时做相应的提示:

图5-16 提示

24

数据库系统原理

实现代码:

③登录后,发表主题,将主题信息写入到数据库: 实现选择版块代码:

把帖子信息添加到数据库:

添加数据库结束,获得cardid并更新module表中的信息,在论坛首页中显示

3、回复帖子

(1)功能描述:在浏览帖子详细信息时,可以对此主题进行回复,把回复信息输入后,单击“回复”按钮,详见article.aspx

(2)界面设计

图5-17 快速回复界面 (3)关键技术点

对“发表回复”按钮设置超链接至锚点

在aspx文件中的快速回复所在的table中添加 pageload事件:

//点击“发表回复”按钮,转到锚点处

25

网站详细设计与实现

ImageButton2.Attributes.Add("onclick", "location.href='#section1';return false;"); 获得回帖楼层并显示出楼数,代码如下

更新回复数,代码如下:

5.3.3论坛管理员功能的实现过程

在界面设计方面,以下几个页面使用的是母版页bbs_manager.master的内容: bbsmanager.aspx 、 managearticle.aspx 、 managearticlelist.aspx、managemodule.aspx、 managelist 、

addlist.aspx、 addmodule.aspx 、 moduleedit.aspx 、listedit.aspx

母版页的功能包括:返回论坛首页超链接、返回网站首页超链接(如图24)、站点地图(如图25)。

图5-18 图5-19 站点地图 1、登录模块

(1)功能描述:论坛管理主要是实现论坛的基本管理,所以在进入管理之前,必须先以管理员身份登录到后台管理。

(2)界面设计

2、分类管理

分类管理的主要功能包括新建分类、修改分类、删除分类。

图5-20 管理员登录界面 图5-21 登录后进入论坛管理显示

论坛主要是通过分类对论坛进行组织管理,论坛可以有多个分类,每个分类又可以有

26

数据库系统原理

多个版块,如图28所示,单击“分类管理”,可以看到论坛有“交流与讨论区”和“课间休息室”两个分类。

图5-22 分类管理 (1)删除分类

需要删除分类时,单击“删除”链接即可,使用此功能时,删除论坛分类同时删除下属的所有版块,并且不能恢复。

修改分类

需要修改分类时,可以单击“编辑”,然后进入到listedit.aspx页面(如图29),然后修改分类标题,在单击“提交”按钮。

图5-23 修改分类界面 新建分类

需要新建分类时,在站点地图上点击“添加分类”连接到addlist.aspx页面(如图30),然后输入分类的标题,再点击“添加”按钮,提示“添加成功”,点击“确定”即可。

图5-24 添加分类 3、版块管理

版块管理的主要功能包括添加版块、修改版块、删除版块。 新建版块

需要新建版块时,在站点地图上“版块管理”的子目录点击“添加版块”连接到addlismodule.aspx页面,要确定是在哪一个分类中增加版块,然后输入板块标题和版块说明,然后点击“添加”按钮。

27

网站详细设计与实现

图5-25 添加版块

单击站点地图的“版块管理”可以看到版块的列表,并可以进行版块删除和修改。

图5-26 版块管理 修改版块

需要修改版块时,单击“修改”,转到修改界面,然后输入修改信息,再按“提交”按钮。

图5-27修改版块 删除版块

28

数据库系统原理

需要删除版块时,单击“删除”链接即可,使用此功能时,删除论坛版块同时删除该版块的所有帖子,并且不能恢复。

4、帖子管理

帖子管理主要功能包括删除帖子和删除回复。 删除帖子

删除帖子可以分为:不根据帖子标题直接删除和按版块类别删除,删除帖子同时删除该帖子的所有回复,并且不能恢复。

图5-28 帖子管理全部帖子列表和分版块列表 删除回复

需要删除回复时,点击某以主题标题进入详细页面,然后对某一回复进行删除,也可以选择该主题的所有回复进行删除。

5.4 资源列表中的留言

(1)功能描述:用户登录后,在浏览某个资源想详细信息时,在留言版块上输入留言信息,点击“回复”按钮,留言会在该文章详细页面显示。同时该问题的信息也会在论坛中对应的版块中显示。

(2)界面设计

29

网站详细设计与实现

图5-29 资源详细界面和论坛详细页面 (3)流程描述

图5-30 回复流程

30

数据库系统原理

6. 小结与展望

6.1 小结

该网站是由两个人合作开发的,我负责界面的设计、个人信息的管理和论坛以及论坛管理这些部分,我负责部分功能基本实现,详见网站的设计与实现。

在这次毕业设计中,给我的最大体会就是学到了很多的东西,尽管非常辛苦,但是觉得非常的值得。在选择这个课题的时候,我对Visual studio、asp.net技术和C#语言还是比较陌生的,所以在进行在着手设计之前,首先要学习好Visual studio这个工具,了解它的各个控件的使用,掌握了网站的规划和基本功能的实现技术后,我按照指导老师的要求,对各高校的有关数据系统原理的网站进行细心分析和比对后,开始规划本网站,确定网站的模块、版面的设计、数据库的设计等等。在设计的过程中,我遇到不少问题,我参考书本、问同学以及在网上查找解决方法,例如一个页面有几个按钮时,点击按钮得到的效果不是预期的,然后我就上网查找解决的方法,把 causesVaildation属性为false等。

而在界面设计时,vs2005中进行排版比较麻烦,花费的时间比较多,但效果也不是很好。

这次毕业设计,对我来说是一次挑战,需要扎实的专业知识、比较好的逻辑思维抽象能力,还要有吃苦耐劳的精神和合作沟通的能力。经过这次设计,让我真正的体会到“学以致用”的快乐,我深深的体会到只有不断学习、不断才实践、不断思考才会不断进步。成功确实得来不易。

6.2 展望

首先,由于本人水平有限,开发工具的使用不能够游刃有余,发表帖子的界面过于简单、功能很少等,网站的界面美工有待改善,以后还需要多多摸索学习。

其次,通过努力也可以深入学习数据库系统原理有关的知识,把专业知识的某些思想应用到日常的生活工作中去。

最后,网站进一步改进,完善功能,将有可能投入到实际使用当中,为师生带来教学真正方便,同时加强师生间网络上的交流。

31

致谢

参考文献

[1] 肖金秀、何鹏、王当文等.《ASP.NET案例教案》 [M] .冶金工业出版社,2005 [2] 龙马工作室 编著.ASP.NET 《2.0 从入门到精通》 [M].人民邮电出版社,2008 [3] 源动力小组 编著.ASP.NET 2.0 编程技术(C#版)[M].中国铁道出版社,2008 [4] 智源科技 黎卫东 编著. 《ASP.NET 网络开发入门与实践》[M].人民邮电出版社, 2006

[5] 孟宪会、张慧妍.《ASP.NET 2.0应用开发技术》[M].人民邮电出版社,2006 [6] 陈冠军.《精通ASP.NET 2.0企业级项目开发》[M].人民邮电出版社,2007 [7] 吕洋波.《ASP.NET 2.0宝典》[M].电子工业出版社,2007

[8] 崔永红.《基于Visual C#.NET的动态网站设计与实现》[J].《现代电子技术》,2006 [9] Visual Studio2005入门.Net系列视频教程

http://tech.163.com/special/000915SN/stvs2005.html 2009年-3月-15日

[10] 刘斌、张军.《 ASP.NET+SQL Server 动态网站开发案例精选》[M].清华大学出版社,2006

[11] (美) Ian Lloyd.《HTML与CSS网站设计实践之旅》[M].人民邮电出版社,2006 [12] (美)Scott Mitchell.《ASP.NET 2.0 入门经典》[M].人民邮电出版社,2007

32

数据库系统原理

致谢

本次毕业设计在颜启华老师的悉心指导下,终于得以如期完成。在此衷心地感谢我的指导老师颜老师一直以来的辛勤辅导,定时与我们开会,及时反馈修改意见和进度安排给我,使我的毕业设计得以顺利完成。

感谢我的合作伙伴陈嘉仪,我们一起学习、一起讨论、共同设计,让我享受了一次快乐的设计之旅。

最后感谢和我一起生活了四年的舍友,你们的包容和支持给我坚持和前进的动力!

容秀梅

二〇〇九年五月十三日

33

数据库系统原理

摘 要

《数据库系统原理》课程网站是一个集成了课程介绍、教学资源、课程作业、资源的下载、在线教学视频、在线批改作业、课程论坛等功能的平台。本网站是采用ASP. NET2.0技术与SQL Server的结合开发出而成。本网站实用性强,实现资源共享,改变学生的学习方式,使教师与教师、教师与学生、学生与学生之间的交流有了全新的方式,打破传统课堂的制约,改进教与学的方法,提高数据库课程的教学质量。本文主要讨论了此网站的需求分析,介绍了系统各个模块的功能设计与实现、网页布局、访问数据库以及相关操作信息。

关键字:课程网站,课程论坛,数据库系统原理

I

ABSTRACT

The principle of database system, the course website is an integrated curriculum, teaching resources, the course assignments, resource download, online teaching video, online corrects students' papers, course BBS functions such as platform. This website is USES ASP.NET2.0 technique combining with SQL Server to develop and become. This website practicability, resource sharing, change the student's study way, make the teachers and teachers, teachers and students, communication between students and a new way to break traditional classroom, the restriction, improvement of teaching and learning methods, to improve the teaching quality of course database. This paper mainly discusses the website needs analysis, introduces the function of each module of system design and implementation, and web page layout, and relevant operation information access database.

Key Words:course website,Course BBS, principle of database system

II

数据库系统原理

目 录

摘 要 .................................................................................................................................... I ABSTRACT ........................................................................................................................... II

1. 引言 .................................................................................................................................... 1

1.1 课题背景 .................................................................................................................. 1

1.2 国内外研究现状 ...................................................................................................... 1

1.3 研究内容 .................................................................................................................. 2

1.4 开发方式与工具 ...................................................................................................... 3

2.可行性分析 .......................................................................................................................... 2

2.1经济可行性 ............................................................................................................... 2

2.2技术可行性 ............................................................................................................... 2

2.3管理可行性 ............................................................................................................... 2

2.4社会因素方面的可行性 ........................................................................................... 2

2.5网站建设目标可能存在的问题 ............................................................................... 2

3.需求分析 ........................................................................................................................... 4

3.1用户需求 ................................................................................................................... 4

3.2 功能性需求 .............................................................................................................. 4

4. 系统设计 ............................................................................................................................ 6

4.1网站的架构设计 ....................................................................................................... 6

4.2网页布局 ................................................................................................................... 6

4.3 功能设计 .................................................................................................................. 8

4.4 数据库的分析与设计 .............................................................................................. 9

4.4.1 数据库的设计 ............................................................................................. 9

4.4.2 数据库的连接 ............................................................................................. 14

5. 网站详细设计与实现 ...................................................................................................... 16

5.1 注册以及登录模块 ................................................................................................ 16

5.1.1 注册功能的实现 ......................................................................................... 16

5.1.2 登录功能的实现 ......................................................................................... 17

5.2 个人信息管理模块 ................................................................................................ 18

5.2.1 查看并修改个人基本信息 ......................................................................... 18

5.2.2发表的帖子管理 .......................................................................................... 19

5.3 论坛模块 ................................................................................................................ 21

5.3.2 浏览帖子、发表帖子和回复帖子 ............................................................. 22

5.3.3论坛管理员功能的实现过程 ...................................................................... 26

5.4 资源列表中的留言 ................................................................................................ 29

6. 小结与展望 ...................................................................................................................... 31

6.1 小结 ........................................................................................................................ 31

6.2 展望 ........................................................................................................................ 31

参考文献 ....................................................................................................................... 32

致谢 ............................................................................................................................... 33

III

数据库系统原理

1. 引言

1.1 课题背景

数据库系统是对数据进行存储、管理、处理和维护的软件系统,是现代计算机环境中的一个核心成分。随着计算机技术飞速发展,数据库已广泛应用于社会各行各业,且领域在不断扩展。目前可见的绝大多数计算机应用系统都离不开数据库的支撑。尤其在当今知识经济的时代,信息化、数字化建设的决定因素是这方面的人才,信息处理为整个计算机应用的主要领域,其基础和核心属于数据库范畴,教学中要积极跟踪当前数据库技术发展的水平和趋势来培养计算机学科的人才。

《数据库原理系统》是计算机科学与技术专业的主干课程,它是一门理论性较强,同时又具有很强实践性的面向实际应用的课程,主要是培养学生具有信息分析、数据采集、数据整理以及信息处理等能力。

在21世纪这个信息高度发达、高速流通的时代,计算机的普及以及计算机网络的广泛应用,不少学生反映单纯的书本课堂知识枯燥难懂,知识面狭隘,仅仅在传统的课堂教学传授相关知识已经满足不了他们的需求。因此,传统的课堂教学,不仅难于提高学生学习的自主性,同时也不能充分利用现代化的网络资源。为了使教育跟上时代的步伐,利用网络技术和网络资源,将计算机教育由传统课堂延伸到课外,突破时间和空间的限制,让更多的学习者共享优秀的教育资源,改变学习者的学习方式,由以前单一的、被动的接受学习变成自我探索、发现、协作学习等多种形式的组合学习,达到真正意义的自主学习。课程网站有利于将传统的黑板教学形式改变更为被学生接受的结合电子讲义、多媒体课件、视频、在线作业、论坛交流互为一体的教学形式。

随着我国经济的不断发展,教育事业的不断改善,课程网站必将在未来的教学过程中发挥更大的作用。《数据库系统原理》课程网站的设计与实现正是在这样的情况下产生,它打破了传统的教学模式,使师生之间的交流有了全新的方式,从而改进教与学的方法,促进数据库技术的发展,提高数据库课程的教学质量。

1.2 国内外研究现状

在世界范围内来看,有关数据库系统原理课程网站研究一直都在进行并且不断取得进步,特别是西方发达国家,他们在课程的理论研究与实际运用方法积累了大量的经验,而我们中国国内在有关于数据库系统原理课程网站这一方面也取得了丰硕的成果,如南开大学的数据库系统原理精品课程(http://it.nankai.edu.cn/PDBS/default.aspx)和西北工业大学的数据库原理课程(http://jpkc.nwpu.edu.cn/jp2006/sjkxt/)都是一个比较好的课程网站,很多方面是值得我们借鉴的。

1

引言

图1-1 南开大学数据库系统原理精品课程

图1-2 西北工业大学数据库系统原理课程

但同时是也存在不少的问题:

首先,大部分的课程网站只是将书本上的内容搬迁到了网页上,把教室里的课堂搬到网络上,只有有文字的描述,却没有生动的FLASH动画或视频演示,形式单一,不容易引起学习者的学习兴趣;

其次,利用网络技术提供与学习者互动内容以及学习反馈内容比较少;

最后,对学习者反馈重视不足,缺乏与学习者互动交流平台,使学习者不能真正的互动的活动在其中,致使学习者对课程网站使用的积极性受到一定的制约。

1.3 研究内容

根据国内外的研究现状,确定了课程网站基本的部分包括用户登录模块、资料浏览,

2

数据库系统原理

下载模块。而由于为了给用户在学习,工作上带来更多的方便,我们又确定了一下两个较为符合用户使用习惯的模块:在线上交作业,在线批改作业模块及课程论坛模块。其中,课程网站是由前台和后台两部分组成的,前台部分主要包括用户注册、登录模块,资源浏览、下载模块,在线观看教学视频模块,作业上交模块,课程论坛模块,其中资源浏览,下载模块,作业上交模块只能在用户登录后才能起作用。后台部分包括资源管理模块,学生信息管理模块,在线批改作业模块,论坛管理模块。只有管理员才有这个权利来管理网站。

以上功能的实现让同学们可以充分利用网上的资源进行课堂以外的数据库系统原理的学习。这样,在同学们上网的过程中,既可以及时对所学内容进行巩固,又可以提前对要学习的内容进行预习,做到省时省力。

1.4 开发方式与工具

本课程网站是基于B/S架构课程教学网站,采用目前比较流行的ASP.NET 2.0技术并以Visual Studio 2005为开发工具,后台数据库是SQL Server 2000。在这次的设计过程中,我主要实现了登录和注册、个人信息管理、网络论坛以及后台管理等功能。这些功能是用户之间进行互动的一些主要功能,用户可以通过这些功能进行各种不同方式的交流。这也是网络教学与普通教学的最大区别。

B/S(Browser/Server)结构即浏览器和服务器结构。Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端 (Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。它的优点是维护方便,能够降低总体拥有的成本。

ASP.NET 是Microsoft推出的新型体系结构.NET的一部分,提供了一种以Microsoft.NET Framework为基础开发Web应用程序的全新编程模式,其全新的技术架构将使编程变得更加方便。ASP.NET 是建立在通用语言上的程序架构,可以用于任一台Web服务器来建立更为强大的Web应用程序。它具有比现在的Web开发模式架构更为强大的优势。它是一种建立动态Web应用程序的技术,是.NET框架的一部分,用户可以使用任何人兼容的语言来编写ASP.NET应用程序。使用Visual Basic、C#、J#或ASP.NET页面(Web Forms)进行编译可以提供比脚本语言更出色的性能表现。本课程网站使用c#为开发语言。

一般市场常见的数据库有Oracle、MS SQL Server、IBM DB2、MySQL、Sybase等等,本课程网站选用MS SQL Server 2000作为数据库,有以下理由:

真正的客户机/服务器体系结构;

图形化的用户界面,使系统管理和数据库管理更加直观、简单;

丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;

与WinNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等, 3

引言

SQL Server也可以很好地与Microsoft BackOffice产品集成;

有很好的伸缩性,可以跨平台使用。

提供数据仓库功能,这个功能只在Oracle和其他昂贵的DBMS中才有。

开发工具是选用了Visual Studio 2005。Visual Studio 是一种用于创建Windows应用程序的集成开发环境(Integrated Development Environment,IDE)。迤今为止,Visual Studio是创建.NET应用程序最受欢迎的工具。Visual Studio 2005(简称 VS2005)是Visual Studio.NET的继任者,都为开发人员提供了一套服务,包括一个现代IDE所应具有的全部工具。在Visual Studio 2005 下,我们可以进行C#、Visual Basic、C++、j#等多种语言的程序开发。Visual Studio 2005的界面如图1所示。

图1-3 Visual Studio 2005的界面

4

可行性分析

2.可行性分析

可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。本课题的可行性分析包括以下几个方面的内容。

2.1经济可行性

经济可行性分析主要是对开发项目的成本与效益作出评估,即分析本课题所带来的经济效益是否超过开发和维护网站所需要的费用。成本主要包括开发,运行和维护费用。开发本课程网站之前我们充分利用图书馆免费资源对系统环境和开发工具等相关知识进行学习,本课题的维护和更新工作也不是很繁琐复杂。另外,本课程网站为一个毕业设计,无需开发经费,对于我们在经济上是可以接受的,并且本网站实施后可以方便学生自主学习,共享资源,加强师生间交流,提高教师批改作业效率,减少教师教学生的工作量。所以实现数据库课程网站的建设目标具有经济的可行性的。

2.2技术可行性

本数据库课程网站的技术可行性,从硬件(包括外围设备)的性能要求、软件的性能要求(包括操作系统、网页制作、数据库管理系统及各种软件工具)来说都为项目的开发奠定了基础条件;其中软件环境的开发语言采用ASP.NET2.0语言,数据库服务器方面则用SQL server 2000,其灵活性,安全性和易用性为数据库编程提供了良好的条件。另外,我们多途径充分地利用各种网络资源及图书馆资源。

2.3管理可行性

对于数据库原理课程网站的管理,相对来说是比较容易实现的。最主要是对通过后台管理,管理员可以对课程介绍、教学资源,学生个人信息,学生作业,课程论坛进行添加、删除、编辑的操作。通过这些操作,可以直接修改数据库的内容。

2.4社会因素方面的可行性

本网站仅用于课程教学。不存在商业用途,无法律和政策方面的限制。

2.5网站建设目标可能存在的问题

此网站可能已经吸收了其他优秀的数据库课程网站的有点,同时,在批改作业方面, 2

数据库系统原理

能够为老师和同学带来了方便。但是,可能依然会存在一些问题,例如美工方面,界面的友好性还需要有待提高,发表新帖子内容编辑器过于简单。

3

需求分析

3.需求分析

3.1用户需求

本课程网站用户分为:教师(管理员)和学生,游客。各类用户在使用网站时可以实现的功能:

1、教师登录后,主要负责进行学生基本资料的管理、课程资料管理、学生作业管理、课程论坛管理等。

2、学生登录,主要进行网站的浏览、下载资料、上交作业等。 3、游客可以浏览课程的介绍、论坛的帖子浏览、用户注册等。

图3-1

3.2 功能性需求

1、注册和登录

该功能主要实现学生与老师的安全登录。 ) 注册用户信息

① 对于新用户,单击“注册”按钮,进入用户注册页面; ② 填写相关注册信息,填写完成后单击“注册”按钮; ③ 弹出“注册成功”对话框,即成功注册。 ) 用户登录验证

① 对于已注册的用户,进入用户登录页面;

4

数据库系统原理

② 填写您的用户名和密码; ③ 单击“登录”按钮;

④ 用户名和密码正确,登录成功,进入网站。 2、个人信息管理

该功能主要是实现显示个人基本信息、上交作业记录、作业成绩、发表帖子和回复帖子的记录,修改个人基本信息、发表过的帖子,删除自己发表过帖子。

3、论坛

该功能主要实现用户进入论坛,可以选择某个版块,就某个主题展开讨论,可以发表新的主题,也可以回复其他主题;管理员则可以创建新的版块和分类,编辑和删除版块以及分类,帖子的管理。

4、教学资源留言

为了方便学生对某个资源(如作业、课件、实验、视频等)提出疑问和师生的回复,该功能主要是用户登录后,浏览各种教学资源,在该资源的详细页面中提出疑问,留言会在该文章详细页面显示。同时该问题的信息也会在论坛中对应的版块中显示。

3. 3 非功能性需求

开发平台:Visual Studio 2005集成开发环境、SQL Server 2000数据库管理系统。后缀名为aspx是前台设计页面,后缀名为aspx.cs为后台代码页面。

其它开发工具:Photoshop CS3、Dreamweaver 2008

5

系统分析

4. 系统设计

4.1网站的架构设计

本网站体系结构为三层结构,如下图所示,即将网站划分为表示层(Presentation Tier)、业务层(Business Tier)和数据层(Date Tier)三部分。

图4-1 三层结构

4.2网页布局

1、个人信息管理界面、教学资源详细界面布局

图4-2 个人信息管理界面布局

2、论坛前台界面、注册、个人信息修改界面布局

6

数据库系统原理

图4-3 论坛前台界面布局 3、论坛后台界面布局

图4-4 论坛后台界面布局

为了保持每一部分的界面的一致性,每个页面都会用到母版,而为了方便界面的布局,一共做了三个母版,分别用于个人信息管理、论坛的前台和后台。

7

系统分析

4.3 功能设计

图4-5 功能模块

1、用户登录模块:用户登录的合法性检验和登录成功后角色(权限)数据的读取。 2、注册模块:新用户输入用户名、密码等资料,注册模块首先对用户输入的数据格式进行校验,然后检查数据库中是否存在该用户名;如果不存在则将该注册信息保存到数据库当中,完成用户注册过程。

3、个人信息管理模块:用户登录后可以进入个人信息管理,用Session[“username”]在页面传值,查看并修改自己的个人基本信息,查看上交作业的记录及成绩,浏览发表帖子和回复的记录,并修改或删除记录。

4、论坛模块

该模块有两种用户:浏览者和管理员,他们具有不同的权限,如下图所示。

8

数据库系统原理

图4-6 论坛权限功能图

在添加版块和分区的过程中,管理员首先输入必要的信息,例如版块的标题、说明等,然后提交给数据库,由数据库将内容加入数据库中;修改版块、分区以及用户发表新主题的过程也类似。而用户回复帖子有点不同是系统需要获得用户回复帖子的ID,然后再将回复内容加入数据库中。

5、在教学资源详细页面的留言

用户登录后,在浏览某个资源想详细信息时,在留言版块上输入留言信息,点击“回复”按钮,首先获取该资源的ID,在post表中查找是否存在该文章对应的标题,若无,则把该资源的数据插入到post表中,把回复数据插入到reply表中,然后同时在资源详细页面中和论坛相应的版块中显示;若post表中以存在该文章的信息,则查找该帖子的所有回复,获得新的回复ID,把新回复的数据插入到reply表中,并相应显示。

4.4 数据库的分析与设计

4.4.1 数据库的设计

根据用户需求和管理网站数据间的结构,设计如下关系表:

数据表一:用户登陆信息表(login)用于存放学生及教师的用户信息。 说明

数据项

数据类型

是否为备注

9

系统分析

帐号 密码 权限

ity

姓名 班别 年级 邮箱 性别

数据表二:身份列表(lauthority) 说明 身份ID(key)

身份

数据表三:作业成绩列表(mark)用于存放学生每次上交的作业成绩 说明 账号 作业次数 作业名 成绩 作业提交日期

数据表四:帖子表(post)

数据项 lno hno hname mark date

数据类型

char char varchar varchar datetime

长度 11 2 50 3

是否为空

否 否 否 是 否

(账号、作业次数)

备注

n

数项

sfid shenfe

Int varchar 数据类

4 10

否 否

1 学生,2 教师

是否为

备注

name class grade email sex

varchar

char char char

char

1

1 2 2

是 是 是

2

lno lkey lauthor

char

1

char

1

Int

4

1为学生,2为管理员

1

1

主键

10

数据库系统原理

说明 数据项 数据类型

长度 是否为空

主键,自动备注

帖子ID cardid int 用户名 username varchar(50)

板块ID mid int 贴子标题

cardtitle varchar(50)

帖子内cardconte

nt

text 发表时间

carddate datetime 阅读次数

readnum int 回复数 replynum int

数据表五:模块表(module) 说明 数数据类

据项

板块ID mid int 板块标题 mtivarchar(5tle

0)

板块描述 mdvarchar(5esc

0)

建板时间 mdate

datetime 分区ID listid

int 最后发表主题 title varchar(50)

最后发表帖子

dat

datetime

11

4 否 50 是 4 否 50 否 是 否 4 是 4

长度 是否为空

4 否 50 否 50 否 否 4 否 50 是

编号

备注

主键,自动编号

系统分析

时间

e

最后发表帖子usevarchar(5

作者

rname

0)

最后发表帖子carID

did

int

数据表六:回复帖子表(reply) 说明 数据项 数据类型

回复帖子ID

rid int 帖子ID cardid int 回复内replyconte容

nt

text 回复时间

replydate datetime 楼层 lid int 文章编号

pid int 作者 username varchar(50)

资源ID pid int 作业次数

hno

int

数据表七:分区表(list) 说明 数据项 数据类型

分区ID listid int 分区标题

listname

varchar(50)

50 是 4

长度 是否为空

4 否 4 否 否 否 4 是 4 否 50 否 4 是 4

长度 是否为空

4 否 50

备注 主键,自动编号

备注 主键,自动编号

12

数据库系统原理

为了简化复杂的查询,建立了如下两个视图 视图一:cardview 说明 列 帖子ID cardid 版块ID mid 帖子标cardtitle

帖子内cardconte

nt

发表时carddate

阅读次readnum

回复数 replynum 回复内replycont

ent

回复时replydate

回复人 username 楼层 lid 回帖ID rid

视图二:moduleview 说明 列 帖子ID cardid 版块ID mid 帖子标cardtitle

版块标moduletit

le

发表时carddate

阅读次

readnum

13

表 post post post

post

post

post

post reply

reply

reply reply reply

表 post module post

module

post

post

系统分析

回复数 作者 版块说明

回复人

username

module

replynum username mdesc

post module module

4.4.2 数据库的连接

在ASP.NET开发环境中,主要通过ADO.NET技术建立与数据库的连接。为了提供连接和切断与数据库的连接以及完成各种数据处理,ADO.NET提供两组类:管理提供者和一般数据集。管理者提供主要完成和各种数据库的连接并将本地数据库的改变同数据库同步;一般数据集完成各种数据的处理工作。

本网站主要使用SQL Server 2000数据库,因此可以将ADO.NET的工作体系用图表示出来。

图4-7 ADO.NET工作体系图 通过以下方式来连接数据库

1)引入所使用ADO.NET类的命名空间。

连接SQL Server数据库需要Using System.Data和Using System.Data.SqlClient这两个类,把他们在后台代码文件中引入。

2)创建连接字符串变量,以保存生成连接需要的信息。在ASP.NET中连接数据库主要通过一个叫做web.config的配置文件。通过简单地配置web.config,就可以解决数据库连接字符串的问题:

14

数据库系统原理

其中,在字符串的Data Source部分设置,用localhost作为服务器名本地运行SQL Server服务器;在字符串的Initial Catalog部分的设置,指定要连接的数据库为DBC。

在ASPX页面里,我们就可以这样连接数据库:

3)创建连接数据库的

SqlConnection对象。 4)使用连接,主要进行读取数据、修改和删除数据等操作。

ADO.NET对SQL Server进行访问的主要类有:

SqlConnection:用于建立和SQL Server服务器连接的类,表示打开的数据库连接。 DataSet:包含一组的数据表,以及这些数据表之间的关系。 DataRow:表示数据表对象中的一行记录。

DataClumn:数据列包含列的定义,例如数据类型或名称。 SqlCommand:用于执行SQL语句或数据库存储过程的调用。

SqlDataAdapter:用于填充数据集合或更新数据库,也可以用于存储SQL语句。 SqlDataReader:只读并且直向前读的数据读取器,拥有最高的读取速度。 SqlParameter:为存储过程指定参数。 5)关闭连接。

15

网站详细设计与实现

5. 网站详细设计与实现

5.1 注册以及登录模块

5.1.1 注册功能的实现

功能描述:

① 对于新用户,单击“注册”按钮,进入用户注册页面; ② 填写相关注册信息,填写完成后单击“注册”按钮; ③ 弹出“注册成功”对话框,即成功注册。 详见register.aspx。 界面设计:

图5-1 注册页面 流程描述

16

数据库系统原理

图12 注册流程图

5.1.2 登录功能的实现

(1)功能描述:

① 对于已注册的用户,进入用户登录页面; ② 填写您的用户名和密码; ③ 单击“登录”按钮;

④ 用户名和密码正确,登录成功,进入网站。 详见login.aspx (2)界面设计

图5-2 登录页面 图5-3 成功登录后 (3)流程描述

图5-4 登录流程图

17

网站详细设计与实现

(4)关键技术

在login.aspx文件中添加两个textbox控件和两个Button控件,然后在cs文件中添加按钮单击事件btnLogin_Click和btnCancel_Click。

登录按钮的单击事件btnLogin_Click的主要代码如下:

5.2 个人信息管理模块

5.2.1 查看并修改个人基本信息

(1)功能描述:

①用户登录进入后,点击“个人信息管理”,进入信息管理页面;

②查看个人的基本信息,上交作业的记录及成绩,发表帖子和回复帖子的记录; ③点击“修改”,进入个人资料修改页面,修改个人信息,“提交”; ④弹出“修改成功”对话框,即成功修改。详见edit.apsx。 (2)界面设计

图5-5 修改个人信息

18

数据库系统原理

图5-6 个人信息 (3)流程描述

图15 显示并修改个人信息流程

5.2.2发表的帖子管理

(1)功能描述:

它以表格形式列出当前用户的所有发表的帖子、编辑按钮、删除按钮。 ①当用户按某个主题表的编辑按钮,就会向编辑页面传递选中的帖子ID参数; ②当用户按某个主题表的删除按钮,就会提示“确定删除吗?对话框; (2)界面设计

19

网站详细设计与实现

图5-7 删除提示

图5-8 修改帖子页面 (3)流程描述

显示删除后的信息

图5-9 发表帖子管理流程

20

数据库系统原理

5.3 论坛模块

在界面设计方面,以下几个页面使用的是母版页bbs.master的内容: bbsindex.aspx article.aspx articlelist.aspx deliver.aspx module.aspx

母版页的功能包括:返回论坛首页超链接、返回网站首页超链接、链接用户登录和注册模块。

在article.aspx 、 articlelist.aspx、 module.aspx三个页面都设有站点地图。 5.3.1 论坛首页 1、功能描述:

①显示10条最新发表的帖子,10条最新回复帖子标题,10条热门帖子(阅读数最大); ②分类显示版块列表,包括版块标题、版块描述主题数、最后更新的帖子的标题、作者以及时间;

最新帖子的SQL语句:SELECT TOP 10 cardtitle, cardid FROM post ORDER BY carddate DESC

最新回复的SQl语句:SELECT TOP 10 post.cardtitle, reply.cardid FROM post INNER JOIN reply ON post.cardid = reply.cardid ORDER BY reply.replydate DESC

热门帖子的SQL语句:SELECT TOP 10 cardtitle ,cardid FROM post ORDER BY replynum DESC

详见bbsindex.aspx 2、界面设计

图5-10 论坛首页 (3)流程描述

21

网站详细设计与实现

图5-11 论坛首页流程

5.3.2 浏览帖子、发表帖子和回复帖子

1、浏览帖子

(1)功能描述:浏览帖子主要是实现从数据库中读取帖子信息,然后将帖子以列表的形式进行显示,需要浏览帖子详细内容,只需单击主题列表中的帖子标题,就可以进入帖子的详细内容显示页面。详见module.aspx ,articlelist.aspx ,article.aspx。

(2)界面设计

图5-12 某个版块的文章列表

22

数据库系统原理

图5-13 详细内容页面 (3)流程描述

图 5-14 2、发表帖子

(1)功能描述:需要发表新主题时,单击“发表主题”进入发表主题页面,输入标题和内容,选择所属版块,输入完毕后,单击“发表”按钮;如果需要重新输入信息,可以单击“返回”按钮。详见deliver.aspx。

(2)界面设计

23

网站详细设计与实现

图5-15 发表主题页面 (3)关键技术点

在aspx文件中插入一个Table,在Table中添加两个TextBox控件、两个Button控件和一个DropDownList控件,在aspx.cs文件中绑定DropDownList控件的数据和添加按钮单击事件btnDeliver_Click和btnCancel_Click。

①绑定DropDownList控件的数据:

②发表新主题是要求已登录用户,若没有登录,点击“发表”时做相应的提示:

图5-16 提示

24

数据库系统原理

实现代码:

③登录后,发表主题,将主题信息写入到数据库: 实现选择版块代码:

把帖子信息添加到数据库:

添加数据库结束,获得cardid并更新module表中的信息,在论坛首页中显示

3、回复帖子

(1)功能描述:在浏览帖子详细信息时,可以对此主题进行回复,把回复信息输入后,单击“回复”按钮,详见article.aspx

(2)界面设计

图5-17 快速回复界面 (3)关键技术点

对“发表回复”按钮设置超链接至锚点

在aspx文件中的快速回复所在的table中添加 pageload事件:

//点击“发表回复”按钮,转到锚点处

25

网站详细设计与实现

ImageButton2.Attributes.Add("onclick", "location.href='#section1';return false;"); 获得回帖楼层并显示出楼数,代码如下

更新回复数,代码如下:

5.3.3论坛管理员功能的实现过程

在界面设计方面,以下几个页面使用的是母版页bbs_manager.master的内容: bbsmanager.aspx 、 managearticle.aspx 、 managearticlelist.aspx、managemodule.aspx、 managelist 、

addlist.aspx、 addmodule.aspx 、 moduleedit.aspx 、listedit.aspx

母版页的功能包括:返回论坛首页超链接、返回网站首页超链接(如图24)、站点地图(如图25)。

图5-18 图5-19 站点地图 1、登录模块

(1)功能描述:论坛管理主要是实现论坛的基本管理,所以在进入管理之前,必须先以管理员身份登录到后台管理。

(2)界面设计

2、分类管理

分类管理的主要功能包括新建分类、修改分类、删除分类。

图5-20 管理员登录界面 图5-21 登录后进入论坛管理显示

论坛主要是通过分类对论坛进行组织管理,论坛可以有多个分类,每个分类又可以有

26

数据库系统原理

多个版块,如图28所示,单击“分类管理”,可以看到论坛有“交流与讨论区”和“课间休息室”两个分类。

图5-22 分类管理 (1)删除分类

需要删除分类时,单击“删除”链接即可,使用此功能时,删除论坛分类同时删除下属的所有版块,并且不能恢复。

修改分类

需要修改分类时,可以单击“编辑”,然后进入到listedit.aspx页面(如图29),然后修改分类标题,在单击“提交”按钮。

图5-23 修改分类界面 新建分类

需要新建分类时,在站点地图上点击“添加分类”连接到addlist.aspx页面(如图30),然后输入分类的标题,再点击“添加”按钮,提示“添加成功”,点击“确定”即可。

图5-24 添加分类 3、版块管理

版块管理的主要功能包括添加版块、修改版块、删除版块。 新建版块

需要新建版块时,在站点地图上“版块管理”的子目录点击“添加版块”连接到addlismodule.aspx页面,要确定是在哪一个分类中增加版块,然后输入板块标题和版块说明,然后点击“添加”按钮。

27

网站详细设计与实现

图5-25 添加版块

单击站点地图的“版块管理”可以看到版块的列表,并可以进行版块删除和修改。

图5-26 版块管理 修改版块

需要修改版块时,单击“修改”,转到修改界面,然后输入修改信息,再按“提交”按钮。

图5-27修改版块 删除版块

28

数据库系统原理

需要删除版块时,单击“删除”链接即可,使用此功能时,删除论坛版块同时删除该版块的所有帖子,并且不能恢复。

4、帖子管理

帖子管理主要功能包括删除帖子和删除回复。 删除帖子

删除帖子可以分为:不根据帖子标题直接删除和按版块类别删除,删除帖子同时删除该帖子的所有回复,并且不能恢复。

图5-28 帖子管理全部帖子列表和分版块列表 删除回复

需要删除回复时,点击某以主题标题进入详细页面,然后对某一回复进行删除,也可以选择该主题的所有回复进行删除。

5.4 资源列表中的留言

(1)功能描述:用户登录后,在浏览某个资源想详细信息时,在留言版块上输入留言信息,点击“回复”按钮,留言会在该文章详细页面显示。同时该问题的信息也会在论坛中对应的版块中显示。

(2)界面设计

29

网站详细设计与实现

图5-29 资源详细界面和论坛详细页面 (3)流程描述

图5-30 回复流程

30

数据库系统原理

6. 小结与展望

6.1 小结

该网站是由两个人合作开发的,我负责界面的设计、个人信息的管理和论坛以及论坛管理这些部分,我负责部分功能基本实现,详见网站的设计与实现。

在这次毕业设计中,给我的最大体会就是学到了很多的东西,尽管非常辛苦,但是觉得非常的值得。在选择这个课题的时候,我对Visual studio、asp.net技术和C#语言还是比较陌生的,所以在进行在着手设计之前,首先要学习好Visual studio这个工具,了解它的各个控件的使用,掌握了网站的规划和基本功能的实现技术后,我按照指导老师的要求,对各高校的有关数据系统原理的网站进行细心分析和比对后,开始规划本网站,确定网站的模块、版面的设计、数据库的设计等等。在设计的过程中,我遇到不少问题,我参考书本、问同学以及在网上查找解决方法,例如一个页面有几个按钮时,点击按钮得到的效果不是预期的,然后我就上网查找解决的方法,把 causesVaildation属性为false等。

而在界面设计时,vs2005中进行排版比较麻烦,花费的时间比较多,但效果也不是很好。

这次毕业设计,对我来说是一次挑战,需要扎实的专业知识、比较好的逻辑思维抽象能力,还要有吃苦耐劳的精神和合作沟通的能力。经过这次设计,让我真正的体会到“学以致用”的快乐,我深深的体会到只有不断学习、不断才实践、不断思考才会不断进步。成功确实得来不易。

6.2 展望

首先,由于本人水平有限,开发工具的使用不能够游刃有余,发表帖子的界面过于简单、功能很少等,网站的界面美工有待改善,以后还需要多多摸索学习。

其次,通过努力也可以深入学习数据库系统原理有关的知识,把专业知识的某些思想应用到日常的生活工作中去。

最后,网站进一步改进,完善功能,将有可能投入到实际使用当中,为师生带来教学真正方便,同时加强师生间网络上的交流。

31

致谢

参考文献

[1] 肖金秀、何鹏、王当文等.《ASP.NET案例教案》 [M] .冶金工业出版社,2005 [2] 龙马工作室 编著.ASP.NET 《2.0 从入门到精通》 [M].人民邮电出版社,2008 [3] 源动力小组 编著.ASP.NET 2.0 编程技术(C#版)[M].中国铁道出版社,2008 [4] 智源科技 黎卫东 编著. 《ASP.NET 网络开发入门与实践》[M].人民邮电出版社, 2006

[5] 孟宪会、张慧妍.《ASP.NET 2.0应用开发技术》[M].人民邮电出版社,2006 [6] 陈冠军.《精通ASP.NET 2.0企业级项目开发》[M].人民邮电出版社,2007 [7] 吕洋波.《ASP.NET 2.0宝典》[M].电子工业出版社,2007

[8] 崔永红.《基于Visual C#.NET的动态网站设计与实现》[J].《现代电子技术》,2006 [9] Visual Studio2005入门.Net系列视频教程

http://tech.163.com/special/000915SN/stvs2005.html 2009年-3月-15日

[10] 刘斌、张军.《 ASP.NET+SQL Server 动态网站开发案例精选》[M].清华大学出版社,2006

[11] (美) Ian Lloyd.《HTML与CSS网站设计实践之旅》[M].人民邮电出版社,2006 [12] (美)Scott Mitchell.《ASP.NET 2.0 入门经典》[M].人民邮电出版社,2007

32

数据库系统原理

致谢

本次毕业设计在颜启华老师的悉心指导下,终于得以如期完成。在此衷心地感谢我的指导老师颜老师一直以来的辛勤辅导,定时与我们开会,及时反馈修改意见和进度安排给我,使我的毕业设计得以顺利完成。

感谢我的合作伙伴陈嘉仪,我们一起学习、一起讨论、共同设计,让我享受了一次快乐的设计之旅。

最后感谢和我一起生活了四年的舍友,你们的包容和支持给我坚持和前进的动力!

容秀梅

二〇〇九年五月十三日

33


相关文章

  • 什么是建筑容积率.建筑密度和绿化率?
  • 什么是建筑容积率.建筑密度和绿化率? 简介: 消费者在购房时,除了考虑地理位置和人文环境外,对生活的质量也越来越注重,他们特别关注在商品房销售的广告中常见的"建筑容积率.建筑密度.绿化率"等技术经济指标. 关键字:建筑容 ...查看


  • 企业办公自动化系统开题报告
  • 开题报告填写要求 1.开题报告(含"文献综述")作为毕业设计(论文)答辩委 员会对学生答辩资格审查的依据材料之一.此报告应在指导教师指 导下,由学生在毕业设计(论文)工作前期内完成,经指导教师签 署意见及所在专业审查后生 ...查看


  • 办公软件MSOffice实训论文
  • 深圳信息职业技术学院 SHENZHEN INSTITUTE OF INFORMATION TECHNOLOGY 办公软件 实训报告 班 级 学 号 姓 名 13金融3-2班 1305120219 李嘉欣 办公软件实训报告 目 录 一. 二. ...查看


  • 申请论文答辩流程说明
  • 请首先下载<MBA毕业循环表>,并根据循环表内容及以下要求准备纸质文档,广东地区的学生请到教学点领取<MBA毕业循环表>,异地办学点学生于9月6日前,上海教学点学生于9月13日前提交至MBA中心学位办公室: MBA学 ...查看


  • Word软件使用技巧
  • 摘 要:办公软件Word的基本使用方法已为广大读者所熟悉,本文对word 2003的邮件合并.自动更正.宏的使用等几个使用小技巧做了详细说明. 关键词:Word 邮件合并 自动更正 宏 文档保护 随着计算机技术的发展和普及,计算机已广泛应用 ...查看


  • 吉林大学硕士论文格式参考文献
  • 附件一: 吉林大学博士.硕士学位论文答辩要求 硕士研究生(含专业学位.高校教师和临床医学七年制学生) 1. 要求 (1)论文评阅:应聘请至少两位与论文相关学科的具有副教授以上职务(或相当专业技术职务)的专家为论文评阅人,其中至少有一位是校外 ...查看


  • 办公软件常用的快捷方式
  • OFFICE办公软件的常用快捷方式 Ctrl + A 全选 Ctrl + B 加粗 Ctrl + C 复制 Ctrl + D 格式字体 Ctrl + E 居中 Ctrl + F 查找 Ctrl + G 定位 Ctrl + H 替换 Ctrl ...查看


  • 本科毕业论文写作
  • 郑州大学 毕业论文写作指南 信息工程学院办公室 2007 年 4 月 20 日 第1章 本科毕业论文 本科生毕业论文是学生在毕业前提交的一份具有一定科研价值和实用价值的学术论文. 毕 1 业论文也包括理工科学生的毕业设计. 它是本科学生开始 ...查看


  • 2012级办公自动化考试内容
  • 2012级考试内容: 共四题,每题25分,计120分钟 1.Excel表格 2.Word排版(参照大连海洋大学毕业论文格式) 3.PS印章,制作"熊熊烈火" 4.Flash动画"行星转动,小球围绕大球转&quo ...查看


  • 地籍数据库动态更新机制的探讨
  • 第33卷第4期2008年7月 测绘科学 ScienceofSurveyingandMapping v01.33No-4 Jul. 地籍数据库动态更新机制的探讨 李苏,杨敏华 (中南大学测绘与国土信息工程系,长沙410083) [摘要]地籍管 ...查看


热门内容