1、 广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站1摘 要华软校友录是为了方便华软校友之间联系而使用的一种系统。主要面向对象是学生群体,它已经成为同学之间联络感情的纽带,它作为校友之间的联系、交流、照片的分享平台,能让在千里之外的同学间彼此相互联系,相互交流,因此校友录网站逐渐成为以班级通讯和交流为主的网路媒介,在网络中得到广泛应用。华软校友录网站采用 B/S 架构,前台使用 ASP.NET 技术框架,并通过 IIS 进行发布,后台采用 SQL Server2005 数据库。系统主要模块的详细设计包括:注册和登陆模块、用户管理模块、班级管理模块,搜索查
2、询模块,系统后台管理模块等。本论文主要论述了华软校友录网站的背景,现状和目的,系统的需求分析、系统设计、解决方案,以及主要模块的详细设计,其中主要论述:用户管理模块(用户注册,用户上传相片,用户发表留言,修改个人信息) ,用户搜索模块(班级搜索,用户搜索)等功能的设计与实现。关键词 ASP.NET;SQLServer2005;B/S 架构;用户搜索广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站2ABSTRACTChinese soft Alumni is to facilitate links between China and the use of
3、 soft alumni of a system. Main groups of object-oriented students, it has become a feel for the bond between students, alumni as the link between the exchange and photo-sharing platform that allows students in distant contact between each other, mutual exchange, Therefore, alumni Web site has become
4、 to the class-based network communication and exchange of media, is widely used in the network.Chinese soft alumni website using B / S architecture, front using ASP.NET technology framework, and publish via IIS, SQL Server 2005 database using the background. Detailed design of the system main module
5、s include: registration and login module, the user management module, class management module, the search query module, the system admin module.This paper mainly discusses the Chinese soft alumni website background, status and purpose, the system needs analysis, system design, solution, and the deta
6、iled design of the main module, which deals in: users management module (user registration, users upload photos the user issued a message, modify personal information), users search module (class search, user search) Design and implementation of such functions.KEY WORDSASP.NET;SQLServer2005 ;B / Sar
7、chitecture;User Search广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站3目录前言 4第一章 项目概述 51.1 项目背景与意义 51.2 项目问题的提出 5第二章 系统需求分析 62.1 系统目标 62.2 系统功能描述 62.3 系统参与者 82.4 业务用例 82.5 系统用例 132.6 业务术语表 21第三章 解决方案 223.1 采用 B/S 体系结构 223.2 采用.NET 开发平台 223.3 使用 ADO.NET 组件 233.4 使用 ASP.NET243.5 使用 ASP.NET 三层架构 263.6 使用存
8、储过程 263.7 系统主要问题的解决方法 27第四章 数据库设计 294.1 数据库需求分析 294.2 数据库概念设计 304.3 数据库逻辑设计 314.3.1 数据库表 314.3.2 数据库表间关系 35第五章 系统设计与实现 375.1 系统设计 375.1.1 逻辑架构设计 375.1.2 物理架构设计 385.1.3 系统功能模块设计 395.2 系统实现 39第六章 系统部署和测试 446.1 系统的部署 446.2 系统测试 456.3 系统存在的不足与改进方案 46第七章 结语 48致谢 49参考文献 50附录 51广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基
9、于 技术设计与实现华软校友录网站4前言自从有了 Internet,我们的网络生活似乎真的越来越热闹。如今各种新生的校园网络产品遍地开花,例如 ChinaRen 校友录,校内网,QQ 校友录,中国校友录,网易校友录,新浪校友录,以及各所学校的校友录等等。校友录已经成为同学之间进行联络的最主要的工具。校友录,是一种为用户提供网上交流、聚会的网络工具,它可以使你和你的朋友、同学、同事、老师与亲人等在网上有一个相互交流的机会。校友录以班级为单位的组织形式系统而有效。校友录的“班级年级学校城市省份”的组织形式与真实学校的形式极为相似,使得用户在使用的时候更为舒适。同时,班级的组织规模大小适中,有效的聚
10、零为整,既便于点对点的联络,又便于集群信息的发布。只要你入了班级或者某一团体的校友录,成为这个校友录团体中的一员,你就可以自由地发表言论、上传图片、班级聊天等等交流活动。当然,班级的创建者(或者是管理员)所拥有的权限会比班级成员多一些,比如留言置顶、留言管理、成员升级等。如果你仅仅是一名浏览者,你就只能是“局外人“,就只有浏览该班级或团体校友录的权利。校友录系统具有班级留言、班级聊天、发送小纸条功能、班级共享、访问记录、班级相册等功能,足以满足用户的大范围交流和小圈子交流,公开交流和私下交流的愿望和需求。在校友录上的交流可以是即时的,只要成员在线就可以进行两人或多人间的直接即时性交流;也可以是
11、延时的,若你想与之交流的人不在线,可以运用留言板、发小纸条等功能来实现延时性交流。校友录还有文本、有表情、有语音,有多媒体等多种形式的交流方式。校友录仍然有其存在的理由和走下去的道路一条定位精准、简洁实用、朴实大气的中庸之道。也许,在未来的网络世界中,联络同窗好友有多种方法,而校友录或许终可以成为我们最经典的选择。广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站5第一章 项目概述1.1 项目背景与意义随着互联网的发展,越来越多的用户已经能够适应基于浏览器的应用程序,即Web 应用,包括 QQ 空间、博客、个人日志等,都是基于浏览器的应用程序。利用互联网
12、,为了实现日志、照片、音乐等共享的问题,现开发华软校友录系统,用于进行校友之间的交流和通信,方便校友与校友之间进行通信。广州大学华软软件学院创办于 2002 年,现有在校生有 10000 多人,拥有强大的网络系统。目前同学之间通讯主要是借助于计算机网络,主要的通讯方式包括BBS、QQ、邮箱联系等。大学时代是梦想最多的时代,感情最纯真,朋友最多的时代,在那时,我们都会遇到很多不同的人,也交了很多知己。但是走上工作岗位,大多数人都会与以前的朋友失去联系。虽然可以通过 QQ,邮件等方式取得联系,但是通过华软校友录网站系统,你可以找到更多想要联系的朋友,使大家彼此相互了解,达到增进校友之间、校友与母校
13、之间的感情、学生与学校之间的联系。针对这样一种情况,华软校友录为华软校友之间进行交流和联系提供的一个平台。利用我校的网络资源优势和技术优势,通过提供完善的校友录服务和规范校友录的管理,以达到增进校友之间、校友与母校之间的感情,从中找到心中的回忆,方便校友联系的目的,并以此加快我校的信息化建设。1.2 项目问题的提出经过对系统的大致分析,我们提出了一些主要问题:1) 如何使用验证控件,验证用户输入。2) 如何实现用户可通过密码问题找回密码。3) 如何实现查询功能。4) 个人支持上传头像,相片。5) 如何实现不同用户(管理员,普通用户)具有不同的访问权限。6) 班级具有相册、留言板、通讯录等功能。
14、广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站6第二章 系统需求分析2.1 系统目标华软校友录系统的开发目标是为了加强现有的用户和用户之间的信息交互,解决传统的校友和校友沟通不便和沟通内容不够丰富的问题,进行用户和用户之间的数据整合和交互。其中总体实现的目标如下:1) 新用户注册:新用户注册相关信息,包括姓名、性别、头像等相关信息修改用户个人信息已注册用户可通过修改页面来修改密码、个人信息以及更新个人头像。2) 忘记密码:当用户忘记了系统登录时的密码,可以通过以下方式取回您的密码:系统会问根据您注册时输入的密码提示信息询问您一个问题,如果您能正确回答
15、,你可以重新设置密码或通过邮件发到用户邮箱。3) 搜索功能:用户输入同学姓名、班级名称来搜索相关校友录。4) 创建班级:当用户没有搜索到该班级时,可自行创建新班级。5) 班级留言:该班级同学可在班级留言板上留言。6) 班级相簿:该班级同学可上传相册。7) 班级通讯录:列出该班级所有同学的信息。8) 生日祝福:根据生日发送祝福邮件,邮件内容在数据库中随机提取。9) 显示个人、班级的人气指数(前 3 名):根据登录次数与班级人数确定人气指数。2.2 系统功能描述华软校友录系统使用者分为三类人:注册用户,班级管理员,系统管理员这个项目是华软校友录网站,其业务描述如下。1) 用户可以修改个人信息,创建
16、和加入班级,发表留言,上传和浏览相片,管理个人信息。2) 班级管理员可以管理班级留言,管理班级相册,管理班级信息。3) 系统管理员负责后台班级、用户、网站管理。广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站7华软校友录用于校友之间的信息交流,校友能够在校友录系统进行注册,注册完毕后管理员审核相应的用户并进行相应的用户操作,当用户的审核通过后,用户就能够在校友录中进行新鲜事的分享。在校友录系统的开发过程中需要确定基本的系统功能,这些基本的系统功能包括如下:1) 用户注册和登录功能:此界面的主要功能是对使用本系统的用户进行用户名、密码、用户身份的验证,只
17、有合法的用户才能使用本系统提供的一些功能。2) 用户搜索功能:用户需要查询校友信息或者一些班级信息,可以通过搜索功能,搜索要查询的用户或者班级,从中获得一些信息。3) 用户留言功能:用户可以查看校友录中班级的留言并进行相应的评论,不仅如此,用户还能够在回复中发布表情,进行文字处理等操作让留言功能更加丰富。4) 留言管理功能:班级管理员需要对校友发布的相应的留言进行管理,如果校友发布了不合法留言,班级管理员可以进行相应的留言的删除操作。5) 用户管理功能:系统管理员和班级管理员需要对用户进行管理,当用户进行了非法操作或者用户注册后发布了不良信息,管理员可以将用户进行删除,在删除的同时系统数据库中
18、的数据也会被删除。6) 相片管理功能:班级管理员可以上传和删除班级相片,进行班级相册的管理。7) 后台管理功能:系统管理员登录系统后台,进行整个系统的维护,包括用户管理,班级管理,以及网站的一些管理。广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站82.3 系统参与者华软校友录的系统主要参与者图:图 2-1 系统参与者图2.4 业务用例业务用例是指系统提供的业务功能与参与者的交互,表现问题领域中各实体间的联系和业务往来活动。它用于建立问题领域的业务用例模型。注册用户业务用例图 2-2 注册用户业务用例图注册用户业务用例描述: 用例名:维护个人信息 小段
19、描述:注册用户修改个人信息 参与者:注册用户广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站9 触发因素:注册用户需要更新个人信息,修改密码等。 输入信息:个人信息内容 结果:更新个人信息成功 过程: 1、查看个人信息 2、修改个人信息 3、更新修改的个人信息 用例名:搜索加入班级 小段描述:用户利用搜索功能查找自己的班级,然后发起加入申请 触发条件:用户想加入班级 输入的信息:用户的想要加入的班级信息(学历、入学年份、系别、班级名称) 结果:搜索班级成功并发起加入申请成功。 过程: 1、搜索用户的班级 2、发起加入申请 3、发送成功 用例名:查看班级
20、相册 小段描述:用户查看班级相册 触发条件:用户需要查看班级相册 输入的信息:无 结果:浏览班级相片成功 后置条件:此用户浏览了班级相册 过程: 1,进入班级相册页面 2,点击浏览相册 用例名:发表留言 小段描述:用户在班级留言 触发条件:用户需要在班级留言板上留言 输入的信息:留言主题,留言内容,留言人广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站10 结果:留言成功 后置条件:此用户发表了班级留言 过程: 1,进入班级留言板 2,输入留言信息 3,发表留言成功班级管理员业务用例图 2-3 班级管理员业务用例图班级管理员业务用例描述: 用例名:管理
21、班级成员 小段描述:班级管理员增加,删除班级成员 参与者:班级管理员 触发因素:一些注册用户想加入本班或者一些不是本班的用户踢出本班。 输入信息:需要加入本班的注册用户信息 结果:增加,删除班级成员成功 过程:广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站11 1、查看班级成员信息 2、增加,删除班级成员信息 用例名:管理班级留言 小段描述:班级管理员回复,删除留言 参与者:班级管理员 触发因素:需要回复的留言,或者不良信息的留言需要删除 输入信息:留言内容信息 结果:回复,删除留言成功 过程: 1、查看留言板 2、回复或者删除不良信息的留言 用例名
22、:管理班级相册 小段描述:班级管理员创建班级相册,增加相片,删除相册 参与者:班级管理员 触发因素:创建班级相册,增加相片,删除相册 输入信息:相册名称,相片 结果:创建相册成功,增加相片成功,删除相片成功 后置条件:班级需要创建班级相册,更新班级相片 过程: 1、查看班级相册信息 2、增加相册,增加相片,删除相片 用例名:管理班级公告 小段描述:班级管理员需要更新班级公告 参与者:班级管理员 触发因素:班级公告需要更新 输入信息:班级公告的内容 结果:更新班级公告成功 后置条件:班级管理员需要修改班级公告 过程: 1、查看班级公告广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于
23、技术设计与实现华软校友录网站12 2、修改班级公告并更新。系统管理员业务用例图 2-4 系统管理员业务用例图系统管理员业务用例描述: 用例名:管理班级 小段描述:系统管理员验证申请的班级以及删除班级。 参与者:系统管理员 触发因素:需要通过验证的班级和非法的班级需要删除。 结果:通过新的班级和删除虚假的班级成功 过程: 1、查看班级创建申请和班级列表 2、通过验证班级和删除非法班级 用例名:管理用户 小段描述:系统管理员删除用户 参与者:系统管理员 触发因素:系统管理员发现非法用户发布不良信息 结果:删除用户成功 过程:广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实
24、现华软校友录网站13 1、查看用户信息 2、删除用户 用例名:管理网站 小段描述:系统管理员管理网站简介,公告,增加,修改,删除院系。 参与者:系统管理员 触发因素:需要修改网站简介,公告,增加,修改,删除院系。 输入信息:网站简介内容,公告。院系名称 结果:更新网站成功,修改院系成功 过程: 1、查看网站简介,公告,院系信息 2、修改网站简介,公告,院系名称。2.5 系统用例系统用例是指参与者与系统的交互,它表现了系统的功能需求和动态行为。注册用户系统用例图 2-5 注册用户系统用例图注册用户系统用例描述: 用例名:登录系统 小段描述:一个用户登录窗口控件输入用户名、登录密码、验证码进行登录
25、 参与者:注册用户广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站14 触发因素:注册用户想要登录校友录系统 输入的信息:用户名、登录密码、验证码 结果:登录成功 后置条件:此注册用户登录了系统 过程: 1、输入登录信息注册用户在系统用户登录窗口控件输入用户名、登录密码、验证码 2、确定登录点击“登录”按钮登录系统 用例名:修改个人信息 小段描述:一个用户登录系统后修改自己的个人资料 参与者:注册用户 触发因素:注册用户想要修改自己的个人资料 输入的信息:用户想要修改的资料,包括:姓名、性别、生日、头像,密码信息等 结果:修改成功 后置条件:此注册用户
26、修改了个人资料 过程: 1、修改个人资料注册用户在相应的控件中输入想要修改的个人资料 2、确认修改点击“提交”按钮确认修改 用例名:发表班级留言 小段描述:一个用户登录系统进入班级后,在班级留言板中发表班级留言。 参与者:注册用户 触发因素:注册用户想要在留言板中发表班级留言 输入的信息:留言标题、留言内容 结果:发表留言成功广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站15 后置条件:此注册用户发表了新的班级留言 过程: 1、发表留言注册用户在留言的控件中输入想要发表的留言的标题和留言内容。 2、确认发表点击“发表”按钮确认发表 用例名:上传班级相
27、片 小段描述:一个用户登录系统进入班级相册后,为班级上传新相片 参与者:注册用户 触发因素:注册用户想要增加新的班级相片 输入的信息:相片名称、相片说明 结果:上传相片成功 后置条件:此注册用户上传了新的班级相片 过程: 1、上传班级相片注册用户在相应的控件中输入想要新上传的相片的名称和相片说明 2、确认上传点击“上传”按钮确认上传 用例名:搜索 小段描述:一个用户登录系统后,在搜索控件中搜索班级或者用户 参与者:注册用户 触发因素:注册用户想搜索班级或者用户信息 输入的信息:班级名称,用户名称 结果:搜索班级或者用户成功 后置条件:此注册用户使用了搜索功能 过程: 1、搜索班级或者用户注册用
28、户在搜索控件中输入班级名称或者用户名称。广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站16 2、点击“确定”按钮确认班级管理员系统用例图 2-6 班级管理员系统用例图班级管理员系统用例描述: 用例名:发表班级留言 小段描述:班级管理员回复留言或者发表新的留言 参与者:班级管理员 触发因素:查看已发表的班级留言信息,进行回复 结果:发表班级留言成功 后置条件:此班级管理员发表了班级留言 过程: 1、查看班级留言 2、发表、回复班级留言 用例名:删除班级留言 小段描述:班级管理员发现恶意的或者违规的留言,将它删除 参与者:班级管理员 触发因素:查看已发表
29、的班级留言信息,发现恶意的或者违规的留言,班级管理员删除处理 结果:删除班级留言成功广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站17 后置条件:班级管理员删除了班级留言 过程: 1、查看班级留言 2、删除班级留言 用例名:上传班级相片 小段描述:班级管理员上传班级相片 参与者:班级管理员 触发条件:班级管理员需要更新班级相册 结果:上传班级相片成功 后置条件:此班级管理员上传了班级相片 过程: 1、查看相片 2、上传相片 用例名:删除班级相片 小段描述:班级管理员将不良的班级相片删除 参与者:班级管理员 触发条件:班级管理员管理相册发现不良的相片,
30、进行删除 结果:删除班级相片成功 后置条件:此班级管理员删除了班级相片 过程: 1、查看相片 2、删除相片 用例名:修改班级资料 小段描述:班级管理员对班级公告更新,发布班级消息 参与者:班级管理员 触发条件:班级管理员根据班级情况更新班级公告 输入的信息:班级公告信息 结果:修改班级公告成功 后置条件:此班级管理员更新了班级公告 过程:广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站18 1、查看班级公告 2、修改班级公告 用例名:删除班级成员 小段描述:班级管理员将不属于班级的成员移除出班级 参与者:班级管理员 触发因素:查看已加入班级成员信息,发
31、现不良或不属于该班级的成员,班级管理员将其移除处理 结果:移除班级成员成功 后置条件:此班级管理员将注册用户移除班级 过程: 1、查看班级成员 2、删除班级成员系统管理员系统用例图 2-7 系统管理员系统用例图系统管理员系统用例描述: 用例名:登录系统 小段描述:系统管理员在登录窗口输入用户名、登录密码、验证码进行登录 参与者:系统管理员 触发因素:系统管理员想要登录校友录后台管理系统 输入的信息:用户名、登录密码、验证码广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站19 结果:登录成功 后置条件:此系统管理员登录了校友录后台管理系统 过程: 1、输
32、入登录信息系统管理员在登录窗口控件输入用户名、登录密码、验证码 2、确定登录点击“登录”按钮登录系统 用例名:审核班级 小段描述:系统管理员登录系统后,显示申请创建的班级的信息,对他们审核处理,是否通过新的班级 参与者:系统管理员 触发因素:查看已申请创建班级的信息,对该情况下系统管理员审核处理,通过班级的创建 结果:班级管理员通过或者拒绝新班级的创建 后置条件:此系统管理员审核了新的班级 过程: 1、查看申请创建班级的信息 2、审核新班级 3、确认或者拒绝创建新班级 用例名:删除班级 小段描述:系统管理员将不正当或者是违规的班级解散 参与者:系统管理员 触发因素:查看已创建班级信息,发现不正
33、当或者是违规的班级,系统管理员解散处理 结果:解散班级成功 后置条件:此系统管理员解散了班级 过程: 1、查看班级 2、删除班级 用例名:删除用户广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站20 小段描述:系统管理员将不良的或者是恶意的注册用户删除 参与者:系统管理员 触发因素:查看已注册的用户的信息,发现将不良的用户信息,系统管理员移除处理 结果:删除用户成功 后置条件:此系统管理员将注册用户删除 过程: 1、查看注册用户 2、删除注册用户 用例名:增加年级 小段描述:系统管理员根据需求,增加年级 参与者:系统管理员 触发因素:系统管理员根据用户
34、的需求,增加新的年级 结果:增加年级成功 后置条件:此系统管理员增加了年级 过程: 1、查看班级 2、增加班级 用例名:增加院系 小段描述:系统管理员根据需求,增加院系 参与者:系统管理员 触发因素:系统管理员根据用户的需求,增加新的院系 结果:增加院系成功 后置条件:此系统管理员增加了院系 过程: 1、查看院系 2、增加院系 用例名:删除院系 小段描述:系统管理员根据需求,删除院系 参与者:系统管理员广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站21 触发因素:系统管理员根据需求,删除院系 结果:删除院系成功 后置条件:此系统管理员删除了院系 过程
35、: 1、查看院系 2、删除院系2.6 业务术语表1) 用户:通过填写用户名、姓名、电话、地址等个人信息注册成为用户。每个注册用户都会分配到一个用户编号2) 用户名:一个全局唯一的字符序列,标识用户。3) 搜索:用户通过搜索功能,搜索出用户或班级的信息。4) 班级管理员:班级创建者赋予注册用户管理权限,成为班级管理员。管理班级的成员(包括通过/拒绝加入班级申请、删除班级成员) 、留言板信息(增加或者删除留言) 、修改班级公告等。5) 加入班级:用户通过搜索找到自己的班级,然后发送加入请求,班级管理员通过请求后才能加入。6) 创建班级:当用户通过搜索班级,发现自己的班级还没被创建时,发送创建班级请
36、求,请求创建自己的班级。系统管理员通过请求后才能创建。广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站22第三章 解决方案3.1 采用 B/S 体系结构C/S 结构,即 Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到 Client 端和 Server 端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S(浏览器/Web 服务器)结构是在 TCP/IP 的支持下,以 HTTP 为传输协议,客户端通过 Browser 向 Web 服务器发送请求,Web
37、服务器部署 Web 引用程序,将程序的结果以 HTML 形式返回客户端浏览器的一种应用模式。在这种结构下用户工作界面是通过浏览器来展现的,最大的好处是用户计算机只需要有浏览器软件就可以应用系统,从而方便使用者能从不同的地点应用系统,当软件需要升级时,只需要对 Web 服务器端进行改变而无需修改客户端,使得维护工作比较简便。在涉及复杂的业务处理时,B/S 应用系统需要数据库服务器提供专门的数据服务,这时B/S 结构可以扩展为 B/S/D 结构。在这种结构中,客户端通过浏览器向 Web 服务器发送请求,Web 服务器上的应用程序向数据库服务器发送请求,数据库服务器将查询结果返回给 Web 服务器,
38、 Web 服务器再以 HTML 形式向客户端浏览器返回结果,在浏览器以页面的形式呈现。从各方面来比较结果来看,校友录网站采用 B/S 更适合。系统是为了充分利用本校的网络资源而建立在广域网上的,面向广大的校友,还要经常进行维护和更新,B/S 结构比 C/S 结构更加适用。3.2 采用.NET 开发平台Java 和.NET 平台都可用于高效开发 B/S 架构软件。.NET 平台由 Microsoft 公司推出,目前已推出.NET 3.5 版本和 Visual Studio 2008 集成开发环境。.NET 框架提供了丰富的组件,有助于提高软件开发效率,可以容易地生成 ASP.NET Web 应用
39、程序和.NET Web Service。.NET 开发平台是一组用于建立 Web 服务器应用程序和 Windows 桌面应用程序的软件组件,用该平台创建的应用程序在 Common Language Runtime(CLR) (通用语广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站23言运行环境) (底层)的控制下运行。CLR 是一个软件引擎,用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。类库集提供了使应用程序可以读写 XML 数据、在 Internet上通信、访问数据库等的代码。所有的类
40、库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入/输出等底层功能。 Web 服务器应用程序通常依赖于 ASP.NET,一个处理 Web 请求的服务器端的库。ASP.NET 又依赖一个用于发送和接收 SOAP 信息的 Web Services 库,以及一个用于以浏览器接收用户输入并动态地生成 Web 页面以示响应的 Web 用户接口(UI) (有时称作 Web 表单) 。Windows 桌面应用程序通过使用 Win 表单库(也称作 Windows表单)可以显示一个图形 UI。与 Java 技术相比,.NET 在开发小型应用系统的时候可
41、以明显缩短开发周期降低开发成本。其不足之处在于 ASP.NET 应用系统目前只能部署在 Windows 系列的操作系统上,可移植性稍差,但这并不是本系统考虑的因素。3.3 使用 ADO.NET 组件ADO.NET 是.NET 框架中一组用于和数据源进行交互的类库。ADO.NET 允许和不同类型的数据源以及数据库进行交互, ADO.NET 提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为 Data Providers,下表列出了一些常见的 ADO.NETData Providers 和允许进行交互的数据源类型。Provider 名 Data Source
42、 描述ODBC Data Provider 使用 ODBC 接口的数据源进行数据库连接OleDbData Provider 使用 OleDb 接口的数据源,例如 Access 数据库连接Oracle Data Provider 提供 Oracle 数据库连接SQL Data Provider 提供 Microsoft SQL Server 数据库连接Data Providers 表ADO.NET 支持两种数据访问方式:保持连接的数据操作和断开连接的数据操作。保持连接下的情况下,所有的数据读写都在数据源上发生,适合于读出的数据不需广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术
43、设计与实现华软校友录网站24重复使用的小数据量操作。断开连接的情况下,将数据源的数据取出到数据集(DataSet)中,供给应用程序访问(增删查改),在必要的时候将数据集的更新写回数据源,这种方式适合于大量重复使用的数据。本系统在.NET 框架下,使用 C#语言编写 ASP.NET 应用程序,采用 ADO.NET 数据访问技术实现数据访问,使用 Microsoft SQL Server 2005 进行数据库开发,采用类型化 DataSet 用于存放校友录数据用于校友录各表间数据的传送。3.4 使用 ASP.NETASP.NET 是微软.NET 框架应用层的一部分,用于开发 B/S 模式的应用程序
44、。ASP.NET 的应用程序可以看成是 HTML+C#(或其他的.NET 编程语言)+Web 控件的组合,使用 ASP.NET 可以快速的形成可发布的 B/S 结构软件产品。ASP.NET 应用程序运行在 Windows 的 IIS 之上。当一个 http 请求被 IIS 机收到之后,IIS 根据请求为其加载相应的 dll 文件,然后在处理过程中将这条请求发送给 HttpHandler。一个 http 请求有可能经过的四条路线,如下图图 3-1 ASP.NET 响应 HTTP 请求路线图第一条路线(上图 1,2,3,4,5,6)当第一次访问这个页面时这个请求首先依次经过 HttpModule
45、和 HttpHandler 的处理,HttpHandler 转到要访问的页面,通过 ASP Engine 来找到页面背后的类,并实例化为一个临时对象,经过对象中的方法处理,将处理后的页面发移交给 Response 对象,然后由 Response 对象将这个页面发送到客户端。第二条路线(上图 7,8,9)当在这个页面上重新提交一些信息,并继续向服务器发送请求时,因为会话已经建立,临时对象在服务器中已经建立,广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站25所以不用再经过初始化页面的工作,故这第二条路线是按照 HttpModule,HttpHandler
46、,然后直接与临时对象交互,然后返回的。第三条路线(上图 10,11,12,13)是在处理请求时如果涉及到需要调用 ASP Cache,既 ASP 缓存的,而临时对象回将直接从 ASP 缓存提取信息并返回。第四条路线(上图14,15)是刷新这个页面的时候,服务器接收到时发现这个请求先前已经处理过了,并将处理结果存储到由一个默认的 HttpModule 管理的输出缓存中了,那么我们就可以直接从这个缓存提取信息并返回,而无需再重新处理一遍了。Web 使用的是无状态的 HTTP,在交互的过程中,保持用户状态成为 Web 开发者的一个大问题。ASP.NET 为保持用户请求之间的数据提供了多种不同的途径。
47、可以使用 Application 对象、cookie、hidden fields、Sessions 或 Cache 对象,以及它们的大量的方法。可以根据特定的环境决定使用哪个对象来保持应用程序请求间的数据。本系统中使用 ASP.NET 开发 Web 应用程序,项目中使用Application,Cookie,Session 等对象保持用户状态。下面简单介绍项目中使用到的这些容器对象。1. Application 对象,Web 应用程序的所有用户共用该对象, Application 对象在应用程序的生命期内始终有效,可以存放任意大小的数据,在本项目中,对在线用户数,历史访问人数的统计可以使用 Ap
48、plication 对象。2. Cookie 对象,存放在系统的用户的本地磁盘上,因此该对象存放的数据只能用于一个用户,存放得时间取决于应用程序的设定,如果不删除可以很长,适合于用来存放小的、简单数据。在本系统中,用户的 ID 可以用Cookie 对象存放。3. Sessions 对象,用来存放一个用户在应用程序中操作的数据,在用户处于活动时,一直保持,当用户不活动时,保持一段时间,这个时间可以设置,默认是 20 分钟。理论上讲,Session 对象中的数据可以是任何大小,但是因为每个用户都有单独的 Session 存储,所有它应该尽量小。本项目中,可以使用 Session 对象存储用户会话所需的信息,这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。广 广州大学华软件学院 软件工程系 邹海辉 毕业论文:基于 技术设计与实现华软校友录网站