资源描述
摘 要校友录是为了方便校友之间联系而使用的一种系统。校友录,又叫同学录,也是校友录网站的简称。本论文开头论述了同学录系统的产生,现状和发展,以及ASP.NET技术和SQL Server2000数据库管理系统的概况。主要介绍了一个同学录系统的实现过程:主要包括系统的需求分析、系统设计、以及主要模块的详细设计。主要模块的详细设计主要包括:用户注册和登陆模块、用户管理模块、留言模块、照片模块、查询模块、站点访问模块、班级排行榜等等。本课题是基于Windows XP环境的数据库管理,后台数据库采用SQLServer2000,前台使用ASP.NET进行开发,并通过IIS进行发布,属于WEB数据库开发、用于解决实际问题的实例,具有一定的深度,涉及到数据库设计和前端开发工具的开发和设计,与之相似的应用很广泛。关键词:ASP.NET;C#;SQLServer2000;浏览器/服务器;同学录ABSTRACTThe alumnus record is in order to facilitate one kind of system which between the alumnus relates uses. The alumnus records, also is called the schoolmate to record, also is the alumnus records the website the abbreviation. The present paper opening elaborated the schoolmate to record the system the production, the present situation and the development, as well as ASP.NET technology and SQL Server2000 database management system survey. Mainly introduced a schoolmate records the system the realization process: Mainly includes the system the demand analysis, the system design, as well as the main module detailed design. The main module detailed design mainly includes: The user registers and lands the module, the user administration module, the message module, the picture module, the inquiry module, the stand visit module, the class and grade order list and so on 。 This subject is data base administration based on Windows XP environment, backstage supporters database adopts SQLServer2000 the front uses ASP.NET to develop, and release through IIS, is WEB database development , instance used for solving the practical problem, have certain depth , involve database design and development and design of the front developing instrument, the application similar to it is very extensive.Keywords: ASP.NET,C#,SQLServer2000, Browse/Server, Alumni目 录摘 要IABSTRACTII目 录III1 绪论11.1开发背景11.2研究目的及意义11.3本课题的发展前景及趋势21.4课题定义及系统内容简介31.5课题调研及可行性分析42 系统需求分析52.1业务流分析52.2 数据流分析52.3 数据字典83 系统设计103.1系统总体结构设计103.2系统数据模型设计113.3开发环境与运行环境设计144 用户模块设计184.1用户注册与登陆模块设计184.2用户管理模块体系结构设计254.3留言模块详细设计374.4照片管理模块设计395 其它功能模块的设计425.1查询模块的设计425.2站点访问模块的设计435.3最新加入班级排行榜和最热班级排行榜设计436 用户手册446.1系统功能简介446.2运行环境简介446.3系统运行与操作指南457 结束语46致 谢47参考文献48附录(部分)源代码49- IV -1 绪论近年来计算机网络的快速发展,越来越深刻的改变着人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。同学录,也是校友录网站的简称。作为一种方便同学之间联系的实用系统便应运而生。它为校友之间进行交流和联系提供的一个平台。通过提供完善的同学录服务和规范同学录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。1.1开发背景伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体Internet。它的出现打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。制作网页是企业和个人的宣传自己的重要手段,同时也是学习者获取学习信息的重要手段。尤其是在教育领域,在素质教育与终身教育成为必然的今天,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。所以网页也逐渐成为一种新兴的教育资源。也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。信息技术的发展和推广使用,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。现在人口流动性比以前大大增强,同学毕业以后之间聚集在一起的机会很少,群体联系甚为不便,因此校友录作为一种方便校友之间联系的实用系统便应运而生。1.2研究目的及意义现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,联系方式。校友录是为校友之间进行交流和联系提供的一个平台。通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。班级校友录的形式和班级实体的构成是一样的,由管理员负责维护界面。班级相册是校友录最直观、最具吸引力的一个功能。通过简单快捷的方法把照片上传到校友录供朋友们观赏;方便实用的留言版让每一个班级成员或班级友人都有畅所欲言的权利。经过几年的发展校友录发展逐渐趋于成熟,校友录系统无论是在功能、用户界面、安全性、可扩充性等都得到了根本的改进。它们在网民心中占有重要地位。校友录的功能使得它与其他网络工具相比有着其独特的优势。与BBS 相比,其实校友录是另一个意义上的论坛,你同样可以发表自己的言论和看法,不同的是,这是一个表明身份的论坛,不是一个匿名的论坛,它的指向性很明显,因为当你在表达某些看法时,处在集体当中、熟悉你的人可以结合你的背景及对你的了解来理解你的言论;与QQ聊天相比,若要向大家传达一则信息,不需要逐个的发布,可以群发,另外校友录有单独的留言页面,留言可以得到长期保留,可以供人查看,不会因为主机的不同而丢失;与E - mail 相比,校友录有空间量大的相册,操作方便安全,而且文字语言可以借助图示表情,内容表达也更生动。1.3本课题的发展前景及趋势随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任;另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页1。网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。班级校友录的形式和班级实体的构成是一样的,由管理员负责维护界面。班级相册是校友录最直观、最具吸引力的一个功能。通过简单快捷的方法把照片上传到校友录供朋友们观赏;通过班级聊天室可以在网上举行班会校会。班级讨论版块上可以展现每个班的电子黑板报、班级趣事、消息发布或是个别同学推荐的好文章。如果你有重要通知要告诉所有的同学,不用一个个的发信,通过利用群体邮件功能就可以实现。方便实用的留言版让每一个班级成员或班级友人都有畅所欲言的权利。经过几年的发展校友录发展逐渐趋于成熟,校友录系统无论是在功能、用户界面、安全性、可扩充性等都得到了根本的改进。以目前存在的校友录网站来看,大致有以下几类:1)以收费方式分,有收费校友录和免费校友录,其中以后者居多,像中国人的超级校友录就是收费的校友录服务,而像中国同学录、一方校友录等大部分提供的是免费校友录服务;2)以提供校友录服务所在网站分大致有三种,有大专院校自己网站上的校友录,如西北大学校友录;有专门单独的校友录网站,如世纪同学录;有综合网站上的校友录,如中国人校友录、新浪校友录等等,其中以这种校友录居多;3)还有网络校友录和手机校友录之分,手机校友录可以说是网站校友录的一种延伸,扩大了其使用范围,增加了使用的便利性,如西陆论坛网站开设的西陆手机校友录,除具备在线校友录一切功能外,它还可以让用户不再局限于时间、空间上的限制,无需上网可随时随地通过手机发表留言、接收班级留言,掌握班级最新动态,并利用手机短信群发,让信息的传递更简单快捷。现在的校友录正朝着超级校友录的方向发展,超级校友录是第二代产品,是在对免费校友录进行了功能升级和全新版面设计、用户可以在保持现有校友录免费服务完全不受影响的情况下,选择这一付费校友录形式的。超级校友录增加10 项新功能,如“班级留声机”“班级重建计划”“多Skin 选择”等,而“超级校友录”的独立服务器和独立带宽极大提高了访问速度。中国人校友录还扩大了信息服务内容,可以进行天气预报、股市、热点新闻的信息定制,并针对毕业班同学为他们提供全面就业信息及咨询。可以说超级校友录的经营已经大大超越了传统的校友录概念,由校友录衍生的信息服务满足了网民的需要,也让信息的传递更为全面。1.4课题定义及系统内容简介(1)课题定义近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。随着高校扩招,毕业生和在校生群体越来越大。本毕业设计课题所解决的主要问题就是如何通过设计一个切实可行的软件系统来增进校友之间、校友与母校之间的感情,达到方便校友联系的目的。(2)系统内容简介本课题所研究的同学录系统主要由二个部分组成,即用户管理模块(包含查看和发表留言、照片上传、查看班级信息、查询校友、更新个人信息、修改密码、),和管理员管理模块(修改密码、查看班级信息、查看用户信息、删除用户、删除班级、管理照片、管理留言)。运行本系统先由登陆入口登陆,通过用户名、密码和用户权限认验证的用户方可进入系统相应窗口进行浏览与操作。本课题是基于Windows XP环境的数据库管理,后台数据库采用SQLServer2000,前端使用ASP.NET进行开发,并通过IIS进行发布。本课题属于WEB数据库开发、用于解决实际问题的实例,具有一定的深度,涉及到数据库设计和ASP.NET开发工具的开发和设计,与之相似的应用很广泛。1.5课题调研及可行性分析(1)课题调研1本课题要求学生有ASP.NET开发能力,有较强的自学能力以及一定的数据库理论开发功底。2具有对复杂表及多表单个条件进行连接处理的能力。3具体问题再做详细调查研究并与指导老师面谈。4深入研究用户需要,满足用户的要求。(2)可行性分析1经济可行性:随着信息技术的发展和推广使用,计算机的应用和功能的拓展,高校可利用现有的服务器,装上WEB服务器软件,即可成为一台WEB服务器,学生用户只要连上INTERNET利用自己的机器即可使用系统,系统成本主要集中在系统软件的开发上,由于本系统是为学校做的使用系统,校方即管理员只要利用现有的学校网站,装上该应用软件,即可使用系统,对学校不构成经济的负担当系统投入运行后可以为同学之间提供良好的交流平台。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。2技术可行性:对于软件技术要求,现在基于B/S架构的程序设计语言已非常成熟,从刚开始的CGI到现在的ASP,JSP,PHP的百花齐放,再到微软推出ASP.NET为基于B/S程序设计提供了强大的技术支持2。使用其中任何一门语言开发都可以满足要求。WEB服务器软件也很多,其中任意一个都可以胜任。本系统通过WEB页面进行各种操作,只要电脑能够上网即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,通过ASP.NET+SQLServer2000+IIS这一个组合,就可在Windows下进行很好的开发。3操作可行性-界面设计时充分考虑管理人员的习惯,使得操作简单;适应力强;容易扩充,同时提高WEB页面的可浏览性和使用性。(3)本课题的实现途径本课题将应用软件工程原则,严格按照项目计划、需求分析、概念设计、逻辑设计、物理设计、编码、实现与维护等步骤进行。选用SQLServer2000为数据库管理平台、ASP.NET为客户端开发工具,Windows XP下的IIS为服务器,系统架构为B/S两层结构。2 系统需求分析2.1业务流分析业务流程图(transaction flow diagram,简称TFD),就是用一些规定的符号及连接来表示某个具体的业务处理过程3。在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。同学录系统的业务流程:首先由用户注册,登陆系统选择班级加入然后就可以进行发表留言,上传照片等等操作,用户还可以删除自己的留言和照片、修改个人资料、修改个人密码,系统管理员初了拥有一般用户的权限以外还可以进行用户管理,班级管理,留言管理和照片管理等等操作。所有用户都可以查询同学和班级,查看留言和照片。本系统的业务流程如下图2.1所示:登陆系统注册未注册用户已注册用户系统管理员查询发表修改上传删除各种信息所有用户写入图2.1 系统业务流程图后台数据库 2.2 数据流分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的4。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。同学录系统的数据流程:由用户注册,登陆系统选择班级加入然后就可以进行发表留言,上传照片等等操作,用户还可以修改密码,修改个人资料并且删除自己的留言和照片,系统管理员除了拥有一般用户的权限以外还可以进行用户管理,班级管理,留言管理和照片管理等等操作。所有用户都可以查询同学和班级,查看留言和照片。通过对本系统的需求分析,系统的基本功能已经大体确定。数据流图如2.2-2.6所示:同学录系统未注册用户 注册用户数据库查询同学和班级信息查看留言和照片查询同学和班级信息查看照片或留言修改个人信息发表或删除留言发表或删除照片图2.2 同学录系统数据流图注册用户系统管理员登陆系统用户登陆页面管理员登陆页面用户管理页面管理员管理页面用户名、密码用户名、密码D1用户信息表D1用户信息表管理员信息用户信息图2.3 用户登陆数据流图 非 法 的留言返回显示留言主题和内容进入留言模块留言主题和内容提交退出留言板块错误提示图2.4 留言模块数据流图有效的用户名和密码用户名和密码无效的用户名和密码用户信息表登陆验证错误提示上传图片格式不对返回显示图片内容和上传者进入照片模块选定上传的图片提交退出照片模块错误提示图2.5 图片上传模块数据流图有效的用户名和密码用户名和密码无效的用户名和密码用户信息表登陆验证错误提示 无返回结果 显 示 选择或者填写 查 询 查询条件 有效的查 询条件 查询结果 无效的查询 条件 图2.6 查询数据流图2.3 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型5。(1)名字:用户信息别名:无描述:所有管理员用户、学生用户必须先登陆本系统,然后进入用户专区操作本系统提供的各项功能,这样就大大提高了系统的安全性。定义:用户信息=用户ID+用户名+密码+用户类别+真实姓名+性别+住址+电子信箱+联系电话+出生年月+用户博客+MSN+QQ+邮编位置:用来验证用户身份,分配用户权限(2)名字:班级信息别名:无描述:用户根据班级信息选择加入已经存在的班级或者创建新的班级。定义:班级信息=班级ID+班级名称+班级界次+创建时间位置:供用户加入班级时使用(3)名字:班级成员表别名:无描述:班级中所有加入的成员定义:班级成员表=班级ID+用户ID+用户加入的时间位置:供查询班级中成员信息或者用户所属班级(4)名字:留言信息 别名:无 描述:用户发表的留言定义:留言信息=留言ID+发布人+留言主题+留言内容+发布时间 位置:供查看和显示使用(5)名字:照片信息 别名: 无 描述:用户上传的照片 定义:照片信息=照片ID+发布人+照片名称+上传时间位置:供查看和显示使用 3 系统设计3.1系统总体结构设计通过对同学录系统的需求分析并结合实际情况分析,本系统的功能结构图如图3.1所示:同学录系统用户界面用户注册和登陆,加入班级查看留言和照片查询校友和班级查看和发表留言修改注册信息和密码管理个人相册管理个人留言管理员界面查看和发表留言修改注册信息和密码管理个人相册班级管理和用户管理留言管理照片管理图3.1 同学录系统功能结构图3.2系统数据模型设计3.2.1 数据库概念设计数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域6。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。E-R图(实体-关系图)提供了表示实体、属性和联系的方法。* 实体型 :用矩形表示,矩形框内写明实体名* 属性:用椭圆型表示,并用无向边与其相应实体连接起来* 联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接。系统E-R图如3.2-3.6所示:性别姓名班级(1)用户实体E-R图:生日电子邮件用户邮政编码住址邮编个人博客用户名密码图3.2 用户实体E-R图6 (2)管理员实体E-R图如图3.3所示:性别密码用户名权限生日电子邮件管理员密码住址用户名个人博客图3.3 管理员实体E-R图(3)照片实体E-R图如图3.4所示:照片照片编号上传者上传时间照片名图3.4 照片实体E-R图(4)留言实体E-R图如图3.5所示:留言留言内容留言主题留言发布人留言时间留言编号图3.5 留言实体E-R图 (5)系统E-R图如图3.6所示:NNNMNN1管理员留言照片用户发布人留言内容留言主题发布时间上传时间照片名称发布人管理发表和上传图3.6 系统E-R图3.2.2 数据库逻辑结构设计(关系模型)同学录系统的关系模型:管理员信息(用户名、密码、权限、姓名、性别、出生年月、家庭住址、电话号码、电子邮箱、MSN、QQ);学生用户信息(用户名、密码、权限、姓名、性别、出生年月、所在班级、家庭住址、电话号码、电子邮箱、MSN、QQ);照片信息(照片ID、用户名、照片名,上传时间);留言信息(留言ID、权限、留言主题,留言内容,用户名,留言时间);3.2.3 数据结构设计(关系表)根据前面分析的数据流图,E-R图和关系模型,本系统建立一个数据库xylDB,它由表3.1用户信息表(USER)、表3.2班级信息表(CLASS)、表3.3班级成员表(CATALOG)、表3.4留言信息表(MESSAGE)、表3.5照片信息表(PHOTO)等多个表组成。在本系统设计中所用到的关系表及其结构如下表所示:表3.1用户信息表(USER)7字段名字段类型字段大小 用户IDvarchar20密码varchar20真实姓名varchar50性别bit1生日smalldatetime4住址varchar300邮编char6电话varchar50QQvarchar50MSNvarchar100电子邮件varchar100个人博客varchar200是否管理员varchar1表3.2班级信息表(CLASS)字段名字段类型字段大小班级编号bigint8班级名称varchar100班级年界int4创建时间smalldatetime4表3.3班级成员表(CATALOG)字段名字段类型字段大小班级编号bigint8用户IDvarchar20加入时间char10表3.4留言信息表(MESSAGE)字段名字段类型字段大小留言编号bigint8留言主题varchar100留言内容text16留言发布人char20留言日期varchar50表3.5照片信息表(PHOTO)字段名字段类型字段大小照片编号bigint8用户IDvarchar20照片名称varchar50上传时间smalldatetime43.3开发环境与运行环境简介3.3.1 开发环境本系统采用ASP.NET技术进行开发,系统开发软件选择Visual Studio.NET以及SQL Server2000数据库。(1) ASP.NET简介:ASP.NET技术是Microsoft公司推出的新一代动态Web开发工具,是今后电子商务、电子政务、远程教育等Web应用开发的主流技术之一8。ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。与以前的 Web 开发模型相比,ASP.NET 提供了数个重要的优点:增强的性能。ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码之前便提高了性能。世界级的工具支持。ASP.NET 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。威力和灵活性。由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。简易性。ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。可管理性。ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。可缩放性和可用性。ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。自定义性和扩展性。ASP.NET 随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。安全性。借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。 (2)IIS的简介IIS是Internet Information Server的缩写,它是微软公司主推的服务器, IIS与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS内置的安全特性,建立强大、灵活而安全的Internet和Intranet站点。IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(Fele Transfer Protocol,文件传输协议)以及SMTP协议9。IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持VBScript,JScript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器。IIS支持服务器应用的Microsoft BackOffice系列,Microsoft BackOffice系列包括以下内容:1Microsoft Exchange Server 客户/服务器通讯和群组软件;2Mirrosoft Proxy Server 代理服务器;3用于连接IBM企业网络的Microsoft SNA Server;4用于集中管理分布式系统的Microsoft Systems Management Server;5Microsoft Commercial Internet System(MCIS)。IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP,FTP和SMTP,它能够提供快速且集成了现有产品,同时可扩展的Internet服务器。IIS相应性极高,同时系统资源的消耗也是最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager,安全性账号管理器),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Nerwork Management Protocol,简单网络管理协议)之类的NT已有管理工具。IIS支持ISAPI,使用ISAPI可以扩展服务器功能,而使用ISAPI过滤器可以预先处理和事后处理储存在IIS上的数据。用于32位Windows应用程序的Internet扩展可以把FTP,SMTP和HTTP协议置于容易使用且任务集中的界面中,这些界面将Internet应用程序的使用大大简化,IIS也支持MIME(Multipurpose Internet Mail Extensions,多用于Internet邮件扩展),它可以为Internet应用程序的访问提供一个简单的注册项。(3) SQL Server2000简介SQL Server 是一个关系数据库管理系统, SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server 2000可以将数据存储在Web页面上或存储在XML文档内,也可将其存储在数据库中,完全适合构建B2B(商业到商业)或者B2C(商业到客户)模式的电子商务,并且通过支持多层体系结构的客户/服务器模式为Web应用提供高度的可扩展性和高可靠性10,11。SQL Server2000能使各种规模的企业或者组织能够在Web上方便地与客户和供应商进行商业贸易并可以把老式系统集成到下一代的商业解决方案中去。除此以外,SQL Server2000可以协助公司更好地理解客户或者供应商在Web站点上的行为,并快速发现由数字经济所提供的新的商业机会。SQL Server 2000的网络新特性主要表现在以下几个方面: SQL Server 2000 和BizTalk Server 2000 支持集成的XML 结构,允许通过 BizTalk Server 2000 ,直接从数据库应用程序中管理和发送文档; 数据挖掘功能可以自动地从大量的商业信息中进行筛选,帮助客户找出未被发现的新机会,预测在商业中制胜的策略。微软把数据挖掘引擎集成到了SQL Server 2000 的分析服务(即以前版本中的联机分析处理服务)中,从而极大地降低了这个先进而强有力工具的复杂性。分析服务包括了数据挖掘的聚类和决策树算法,并且可以通过OLE DB for Data Mining 很容易地由第三方厂商进行扩展; SQL Server 2000 提供完全集成的、基于标准的XML, 支持它对于Web 开发人和数据库程序员来说都是灵活、高效而且易于使用的。不像其它同 类数据库产品,SQL Server 2000 提供了强有力的工具来处理数据库中的 XML 元素,使开发人员不用编写代码、直接从数据库中取出基于XML 的 数据; SQL Server 2000 允许通过HTTP 协议,在Web 上进行高性能、基于标准 的安全访问,并支持防火墙。基于Web 的客户端拥有访问关系型数据存储和访问分析服务的完全能力12,13。 因此本系统采用ASP.NET技术进行开发,系统开发软件选择Microsoft Visual Studio .NET2003 、Microsoft .NET Framework SDK 以及SQL Server2000数据库。3.3.2 系统运行环境由于本系统使用ASP.NET技术进行开发,因此,系统的运行环境也应符合下列的几项要求:(1)硬件环境:CPU:AMD 2500+内存:256MB显卡:64MB磁盘空间:80G(2)软件要求:Microsoft Windows XP操作系统IIS5.1.NET Framework1.1SQL Server2000IE 6.0 4 用户模块设计4.1用户注册与登陆模块设计用户注册和登陆模块流程图如4.1所示: N主界面 登陆界面 新用户注册 输入用户名、密码, 选择加入班级 用户退出系统 是否符合数据库信息N N 创建新班级是否为已注册用户Y Y图4.1 用户注册和登陆模块流程图144.1.1用户登陆界面设计此界面的主要功能是对使用本系统的用户进行用户名、密码、用户身份的验证,只有合法的用户才能使用本系统。对于初次使用本系统的用户需要先通过注册才能登陆本系统.用户登陆是系统的入口,用户只有通过该入口才能进入系统,进行操作。用户登陆入口使用两个TextBox控件为用户输入用户名和密码,用户填写正确的用户名和密码后,单击“登陆”按钮就可以登陆到系统15。用户登陆系统后登陆入口变成如下界面显示“XX同学,欢迎您!”,下面还有一个退出系统的按钮供用户想退出本系统时使用。用户登陆界面入口使用两个非空验证控件,RequriedFieldValidatorUserName和RequriedFieldValidatorPassword。RFVUserName非空验证控件对用户名称进行验证,RFVPassword对用户密码进行非空验证。这两个非空验证在点击“登陆”按钮时发挥作用。登陆入口界面如图4.2-4.3所示: 图4.3欢迎界面图4.2 用户登陆界面用户点击“登陆”按钮触发事件btn_login_Click(),该事件实现用户的登陆的验证过程。如果用户输入的是正确的用户名和密码,用户就可以登陆到系统中,否则页面弹出用户名或密码错误的对话框如图4.4所示。图4.4 错误对话框用户点击欢迎窗口上的“退出系统”按钮,就可以退出该系统。单击该按钮触发事件LinkButton1_Click()把网页中的session对象清空。这一处理有两个原因。首先,如果用户没有注销就离开了,下一个用户就有可能使用前一个用户未过期的session对象,这样会严重影响到安全性。另外,如果所有用户都不注销,则session对象会继续占用有效的资源直到过期。当用户数量很多的时候,就会造成网络资源的浪费。该事件LinkButton1_Click()的代码如下:private void LinkButton1_Click(object sender, System.EventArgs e)this.Page.Session.Remove(UserID);this.tab_login.Visible=true;tab_logined.Visible=false;4.1.2用户注册界面设计新用户若想登陆本系统使用本系统的一些功能就必须进行用户注册,用户注册时需要输入用户名、用户密码、用户真实姓名、用户地址和用户电子邮件等,设计如图4.5所示: 图4.5 用户注册界面用户注册页面中的13个文本输入框分别用于输入用户的用户名、用户密码、用户真实姓名、用户性别、生日、住址、邮编、联系电话、QQ号码、MSN、电子邮箱和个人Blog等等用户信息。注册页面还使用了5个RequiredFieldValidator非空验证控件和4个RegularExpressionValidator正则表达式控件分别验证用户的输入,非空验证控件RequiredFieldValidator1对用户ID进行非空验证、非空验证控件RequiredFieldValidator2对用户密码进行非空验证、非空验证控件RequiredFieldValidator3对用户确认密码进行非空验证,非空验证控件RequiredFieldValidator4对用户的真实姓名进行非空验证,非空验证控件RequiredFieldValidator7对用户电子邮箱进行非空验证,控件RangeValidator2对输入的日期格式进行验证,RegularExpressionValidator2对用户输入的邮编长度进行验证,RegularExpressionValidator3对用户输入的电子邮件格式进行验证,控件CompareValidator1对用户输入的密码和确认密码的一致性进行验证16。点击“下一步”按钮触发事件btn_reg_Click()。该事件提交新用户的注册信息到用户信息表中,该事件的主要代码如下:private void btn_reg_Click(object sender, System.Web.UI.ImageClickEventArgs e)Class.DataAccess dataAccess=new xyl.Class.DataAccess(); /检查用户名是否存在if(dataAccess.UserIsExists(this.txt_user_id.Text.Trim() Class.JavaScript.Alert(this,用户名:+this.txt_user_id.Text+已经存在!);elsetryif(dataAccess.SaveUserInfo(this.txt_user_id.Text.Trim(),this.txt_password.Text.Trim(),this.txt_name_desc.Text.Trim(),this.dro_sex.SelectedValue,this.txt_birthday.Text.Trim(),this.txt_address.Text.Trim(),this.txt_zipcode.Text,this.txt_tel.Text.Trim(),this.txt_qq.Text.Trim(),this.txt_msn.Text.Trim(),this.txt_email.Text,this.txt_blog.Text)/保存用户信息成功,将用户登入系统this.Page.SessionUserID=this.txt_user_id.Text.Trim();this.Response.Redirect(AddCatalog.aspx);catch(System.Exception Err)Class.JavaScript.Alert(this,Err.Message.ToString();说明:如果输入的用户名已经存在,那么系统将提示“已存在用户名”。点击“取消”按钮触发事件CancelBtn_Click(),该事件实现自动跳转到站点首页Default.aspx的功能。它的代码如下:private void CancelBtn_Click() (object sender, System.EventArgs e)Reponse.Redirect(“Default.aspx”);4.1.3加入班级界面的设计用户如果注册成功单击“下一步”页面将转“AddCatalog.aspx”,在这个页面里用户可以选择加入现有班级,或者创建新的班级。(1)创建新班级如果用户想加入的班级不存在,那么用户自己可以创建新的班级,界面如图4.6所示:图4.6 创建班级界面 用户创建班级时需要在下拉列表框里选择要创建的班级的年份(界次),然后在下面的文本框里写上班级名称,点击“增加班级”就可以创建新的班级。点击“增加班级”触发事件btn_reg_Click()。该事件的代码如下:private void btn_reg_Click(object sender, System.Web.UI.ImageClickEventArgs e)tryif(txt_class_name.Text.Trim().Length0)if(this.dro_add_year.SelectedIndex0)string strInsert=INSERT INTO CLASS (CLASS_DESC, TERM) VALUES (+txt_class_name.Text.Trim()+,+this.dro_add_year.SelectedValue+);Class.DataAccess dataAccess=new xyl.Class.DataAccess();dataAccess.AddSqlCommandText(strInsert);if(dataAccess.ExecDataAdapterUpdate()ShowClass();elseClass.JavaScript.Alert(this,请选择年份!,dro_add_year.ID) ;elseClass.JavaScript.Alert(this,请输入班级名称!,txt_class_name.ID) ;catch(System.Exception Err)Class.JavaScript.Alert(this,Err.Message.ToString();(2)加入已有的班级,界面如图4.7所示:图4.7 加入班级界面用户创建班级后就可以在下一个下拉列表框中选择相应的年份(界次),在所属班级的下拉列表框里就可以看到刚才创建的班级,然后用户就可以选择该班级进行加入。用户选择完要加入的班级以后,点击“加入”按钮提交信息。用户点击“加入”按钮触发事件btn_addcata_Click()。该事件的代码为:private void btn_addcata_Click(object sender, System.Web.UI.ImageClick
展开阅读全文