校园BBS论坛的设计与实现.docx
精选优质文档-倾情为你奉上攀枝花学院本科毕业设计(论文)校园BBS论坛的设计与实现学生姓名: 学生学号: 院(系): 数学与计算机学院 年级专业: 2012级软件工程 指导教师: 刘继光(教授) 助理指导教师: 二一六年五月专心-专注-专业摘 要我们的社会处于一个信息爆炸的时代,网络在我们的日常生活中扮演着越来越重要的角色。而通过网络的信息交流以其优越的特性使人们的生活更加方便快捷,而BBS(电子公告牌系统Bulletin Board System,英文缩写BBS)作为信息交流的最常见平台,以各种主题为主的BBS深受各个领域人士的喜爱。其中校园BBS在喜爱新鲜事物的充满年轻人的大学校园里早已普及,是学生之间交流信息,共享资源,娱乐休闲的场所。本文通过多种的方式来描述校园BBS论坛的设计与实现过程,例如研究背景与意义、需求分析、可行性分析、数据库设计、功能设计与实现、系统展示等内容。基于ASP.NET技术,采用C#作为网页后台的编程语言,Microsoft Visual Studio 2010作为系统开发工具,Microsoft SQL Server 2008 R2为后台数据库而实现的。主要实现了用户注册、用户的个人信息修改、丢失密码找回、发布主题帖子、回复帖子、帖子搜索、及管理员对用户、帖子、版块的权限操作。并且设置了后台管理,具有管理员权限的用户拥有特殊的操作权限,便于系统的日常维护和管理。关键词 校园BBS,数据库,ASP.NETABSTRACTOur society is in an era of information explosion, the network plays a more and more important role in our daily life. And through the information exchange network because of its superior characteristics make people's life more convenient and quick, and BBS (bulletin board system bulletin board system, the initials BBS) as the most common platform for information exchange, based on a variety of topics of BBS by various sectors of the favorite. The campus BBS in love fresh things full of young people in the university campus has long been popular, is the exchange of information, sharing of resources between students, entertainment places.This paper through a variety of ways to describe the design and the realization process of the campus BBS, such as research background and significance, needs analysis, feasibility analysis, database design, functional design and implementation, system display content. Based on ASP.NET technology, using C# as a web page background programming language, Visual Studio Microsoft 2010 as a system development tool, SQL Server Microsoft 2008 R2 for the background database. Mainly to achieve the user registration, the user's personal information changes, lost password retrieve, post theme posts, reply posts, Posts search, and administrators on users, posts, sections of the right to operate. And set up the backstage management, the user with administrator privileges has the special operation authority, is advantageous for the system daily maintenance and the management.Key words Campus BBS, database, ASP.NET目 录1 绪论1.1系统概述电子公告牌系统(Bulletin Board System,英文缩写BBS),也被称作论坛,作为当今互联网上最著名的服务项目之一。伴随着互联网的迅速扩张及发展,为信息的交流提供了更加方便、快捷的方法,而大学生作为互联网使用的最大群体,使得校园BBS以以下的特点,吸引着更多的人们: BBS的广阔与自由; 网上交流带来的心理满足; 游戏规则的刺激; 可以获得具体实际的帮助; 利于放松和减轻压力; 可以发表观点,肯定自己; 结交朋友。现代生活中无论是成年人还是未成年人都有着对信息的需求,虚拟的网络能够创造一个全新的展示交流信息的平台,能够在其中做很多平时不能轻易完成的事情,它集结了许许多多的内容,在这里各层次的人都可以接触到许多以往生活中难以接触到的信息,当今的人们喜爱结交新朋友,寻找有共同兴趣的人交流讨论,关注一些自己感兴趣的信息,校园论坛为这些有共同爱好的年轻人创造了另一片交流的空间,因此网络上涌现了以各所高校为背景的大量优秀大型校园论坛,而且,在生活的各个方面也能通过使用校园论坛来为我们的生活提供方便,比如校园兼职的广告,如“征友”、“廉价转让”、“招聘人才”及“求职应聘”等启事或一些商家产品广告,依托校园论坛内大量的浏览量,广告效果辐射程度都会很好,在方便人们的过程中,同样能够产生经济效益,为祖国的发展做出微薄的贡献。在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题展开讨论,同时也发表自己的观点供大家品评,但是,言论的自由也会为一些别有用心的用户提供了便利,比如散布一些不健康不合法的内容,所以用户想要使用论坛的各种功能需要用户注册,这样更有利管理用户信息和用户发布的信息,并且需要给BBS的设置管理员,以便及时对这些信息进行过滤、修改、以及删除等,同时管理员还会负责论坛日常的维护,对各大板块的信息、用户的管理,同样为了方便人们寻找感兴趣的主题,论坛也应有各大小板块,对应不同的话题,用来区分所有贴的内容,使得整个BBS论坛的内容井井有条不杂乱,论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及使这些数据库和网页的操作联系起来。1.2研究的背景和意义从20世纪90年代起,世界各国相继启动其面向21世纪的教育信息化建设工程。我国也在2001年发布教育信息化“十五”发展规划,提出用5到10年时间在全国范围内开展教育信息化建设,全面实施“校校通”工程。在我国,信息化建设的进程在教育行业迅速推进,“学校信息化”、“校园网”、“校校通”成为当前网络建设的热点。信息化教育是以现代信息技术为基础的全新教育形式,然而信息技术为教育带来一系列的革新,如服务于个别化学习、拓展了教育内容、丰富了教育方式等,同时也为教育带来了一些负面影响。由于信息技术的广泛发展和互联网的普及,使人类的信息量空前浩繁,大量的、无序的信息混于学习、工作之中反而让人无所适从,根本无法快捷有效地查找自己所需要的信息,“信息疲乏综合症”、“知识匮乏”等现象受到越来越多的心理学家和教育工作者的关注。事实上,问题不是缺少信息,而是如何利用信息。科技的发展推动我们日常生活水平的提高,互联网成为人们快速获取、发布和传递信息的重要渠道,渗透进我们生活的各个方面,在各个领域都发挥着重要的作用,它使我们的社会生活更加紧密,现如今人们已经离不开网络,它以其强大的传播优势能够将获取信息的困难、复杂转化为轻松,简单。论坛作为Internet上最知名的服务之一,为信息的发布、传递、交流消除了地域和时间上的差距。是具有强大交互功能的实时信息交流平台。信息获取的途径变得丰富,使得我们可以更有效的利用时间学习,校园论坛以紧扣校园生活为主题为在校大学生提供了一个相互沟通与交流的平台,它是一条很好的师生、生生交流和沟通的途径。我们可以利用校园论坛系统来进行交互式学习,培养学生利用网络进行交互、协商、沟通,形成共识,分享成果的能力,形成批判性和创造性思维。除了相互沟通相互交流以外,我们还可以在论坛上提出问题或者请求别人的帮助,用户可以阅读他人关于某个主题的看法或者请求,然后根据自己的兴趣爱好在几分钟之间,几分钟以内就可以表达自己的观点或者帮助他人。极大程度上改变了传统方式获取信息的匮乏性,局限性,低效性。1.3开发系统的目标基于网络的论坛社区是各种学习资源组合的场所,为学习者提供了学习环境。实现教学资源共享,方便大学生对本校各项工作的了解以及加深学生、教师与学校之间相互的交流,为在校师生提供一个交流平台以便交流经验,探讨问题的社区,与此同时,丰富师生的校园生活,展现我校风采。让即将成为校友的同学和离开学校的老校友了解学校现在的发展状况。校园BBS论坛的建设,同样有利于学生对时事热点的讨论,现代的大学校园并不是封闭的象牙塔,大学里的学子们对社会热点、时政非常关注,“中日关系”、“社会焦点”、“关注弱势群体”等热点问题一直是大学生们话题的重点。虽然我们没有实际能力去做什么,但却可以在BBS上说出自己的心中所想。我们凭着一颗颗爱国的心,或揭露社会黑暗的一面,或赞美自己观察到的好人好事,或抨击有损国家尊严、领土完整的事件。这些慷慨激昂的言论可以更好地体现青年学子对国家的热爱、对未来的抱负。 大学生们随着年龄的增长,能够结交到的知心朋友越来越少,加上学业和竞争的压力,迫切需要一个可以倾吐、交流的空间,BBS刚好给我们提供了这样一个平台。大学生可以在BBS上讲述自己的情感历程、面临的感情难题以及转载自己搜集到的感人或是给人启示的故事,一起交流、探讨或者商量解决办法。由于大家的年龄、学识、经验、需求都具有同质性,因此彼此之间的沟通和交流更容易理解。BBS使得大学生的情感交流更加透明和坦诚,他们不再羞于表达自己的情感,不管是爱情还是亲情。如此一来,BBS里充满了“人情味”,在这里获得了鼓励、支持和建议,在现实世界里也能更好的与同学、朋友进行沟通。 2 相关技术简介2.1 ASP. NET简介ASP.NET 是.NET Framework的一部分,是一种使嵌入网页中的脚本技术,.NET是建立动态Web应用程序的平台,通过HTTP的请求再动态创建于Web服务器。该技术基于虚拟机,支持多种开发语言,所以具有良好的跨平台性质,用.NET平台支持的语言开发的程序,具有良好的兼容性,并且ASP.NET提供大量的服务器端控件,大大提高了开发的效率。2.1.1 ASP. NET优点及特性ASP. NET作为当前的主流开发技术之一,拥有各种优点和新特性,具体介绍如下: 灵活性和兼容性强。因为ASP.NET兼容绝大多数主流开发语言,提供各种语言所需的插件,由不同语言开发的功能集成在相同的应用程序中非常方便; 处理效率高。ASP.NET采用页面脱离代码技术,一个页面的前后台代码分开保存,方便美工和后台的协同开发,aspx代码生成HTML页面,aspx.cs生成逻辑代码,前台代码运行处理快,而运行时后台代码封装到动态链接库里,保证了系统的安全性; 开发效率,允许用户使用功能完善的Strongly-type编程语言,也允许使用.NET framework,界面设计和程序设计分离,允许使用各种已有或新添加的控件,大大简化编程过程。2.1.2 ASP. NET的原理从发出一个HTTP请求再到展示出HTTP页面,经过了IIS(Windows组件)和.NET framework的大量工作,当一个HTTP请求被IIS接受后,IIS首先通过在服务器端获取所请求页面的可处理的文件,这些文件根据后缀名来区分,获取所需的文件后将其封装到动态链接库里(*.dll),之后经过不同的Httphodule(用于获取当前程序的模块集合)处理,最后传入Httphandler(HTTP处理程序组件)模块处理,整个流程在提高了效率的同时还增加了安全性,加强了对各个缓解的控制力。运行原理如图2.1所示:图2.1 ASP.NET运行原理图2.2 C#语言C#是一种安全的、稳定的、简单的、由C和C+衍生出来的面向对象的运行于.NET Framework上的程序设计语言,所以,显然它具有面向对象语言所应有的标志性特性封装、继承、多态,在继承以上语言的同时去掉它们的复杂性,例如不允许直接操作内存,不允许多重继承,去掉指针,主要用于开发可以在.NET平台上运行的应用程序。且能与.NET框架完全结合。作为一个一直在进步的编程语言,他的类非常多,上手快易于开发,最重要的是与COM(Win32技术组件)完美集成,生成的类作为一个COM使用。2.3 LINQLINQ(Language Integrated Query)语言集成查询,是用于C#和Visual Basic语言的扩展,它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。在此技术诞生之前,绝大多数关于数据库的操作都是将SQL语句写成一个String再通过ADO.NET传给SQL Server ,缺陷非常明显,就是当SQL语句有错误时,只有运行时才知道,使用LINQ技术可以帮助我们快速的完成对数据库的相关操作并且可以绕过关于数据库语句的知识,直接使用LINQ的功能,在降低开发难度的同时,也降低了开发的门槛,它提前实现构架数据访问层,极大的简化了程序与数据库间的交流,方便程序的开发。LINQ总体架构如图2.2所示:图2.2 LINQ总体架构图2.4 DIV+CSS布局DIV+CSS是Web设计标准,它是一种网页的布局方法,与传统中通过表格布局定位的方法不同,它可以实现网页页面内容与表相分离,在HTML(标准通用标记语言)的基础上改进和优化的XHTML强化了XML应用与数据的转换能力,以适应更多的网络应用需求,实际上DIV+CSS实际上是表示的是XHTML+CSS。DIV元素是用来为HTML文档内大块(Block-Level)的内容提供结构和背景的元素,DIV与Table是XHTML或者 HTML语言中的标记,而CSS(Cascading Style Sheets层叠样式表单)只是一种表现形式。用来定义 HTML元素的显示形式 或 XML 等文件式样。 DIV+CSS布局有如下优点: 符合W3C标准,保证网站不会因为网络应用升级而被淘汰; 兼容广大主流、小众的浏览器; 规范代码编写,提高代码使用率,提高页面浏览速度,缩减带宽成本; 结构直接、清晰,方便被网络爬虫读取信息,便于被搜索引擎捕捉; 表现和结构分离,易于分工合作减少相互关联性; 易于修改网页版面,样式的调整方便,简单的少数CSS文件修改便能产生多种组合生成多网页站点。3 可行性和需求分析3.1可行性分析可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行性。系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。3.1.1法律可行性本次系统开发所使用软件均为正版软件或者开源免费软件,且为学生毕业设计作品,并非用于商业用途,并在相关法律规定下进行开发,系统具有原创性。不会侵犯他人、集体或者国家的利益,因此在法律上是可行的。3.1.2技术可行性校园BBS论坛系统有以下特点:一是处理数据量大,要求及时查询的内容较多;二是数据处理较集中,内部数据处理量大,输出量大。三是及时性,要不断更新最新的数据信息。基于以上三个特点,系统采用SQL Server 2008 R2数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用ASP.NET动态页面,ASP.NET比ASP、PHP有明显的优势;页面布局和页面数据处理很好的分离。数据库的访问采用目前比较流行.NET框架下的LINQ技术,LINQ很好的避免了与数据库的直接操作,提高了数据库的安全性。所以本系统具有技术可行性。3.1.3经济可行性基于国内软件行业现状,校园BBS日常费用很小,主要是对论坛及数据库的维护费用,系统管理员可以时刻对数据库进行管理和维护,保持论坛的安全和信息的及时更新。开发系统所使用的计算机为自有,软件为正版软件或开源免费软件,开发的系统是一个性能稳定,易于维护的系统,开发成本低,且相比于拥有的广告板块所产生的经济效益,所以本系统具有经济可行性。3.1.4操作可行性校园BBS论坛系统面向用户要求交互性强,本系统是基于B/S结构,直接使用Internet或Chrome,等主流浏览器即可访问。系统界面简单、直观,功能完善,操作简单。对任何熟悉计算机操作的用户都可以轻松使用。所以本次开发在操作上是可行的。3.2需求分析校园BBS论坛采用模块化程序设计方法,易于系统的组合和维护,且具备数据库维护功能,根据用户需求进行增删查改等操作。3.2.1 功能概述在性能上,本系统要求能够达到安全稳定。在用户输入相关信息时要严格防范错误和无效数据,要求保证数据的准确性和一致性,并保证相关数据符合实际需求实际意义。具体包含以下要求: 信息及时性,能快速的把握时事分享最新发生的各个领域的信息; 系统可靠性,对多种类型的信息有连续准确的处理,较强的容错能力; 易操作性。用户容易理解和使用该系统,人机交互性强; 可维护性和适应性,方便系统后期的维护和更新; 安全性,用户的信息要得到安全可靠的保护。根据上述要求,校园BBS论坛的基本功能要满足以下几类: 用户相关功能:包括用户注册、用户登录,查看所有主题帖子列表、发表帖子主题、查看帖子、回复帖子,对自己发表或回复的帖子进行修改补充; 帖子相关操作:显示所有的讨论区,各讨论区中所有的主题帖子,帖子主要内容,并提供发表,回复,修改,删除帖子的相关操作,对于不同用户提供不同的操作权限; 管理员操作: 版主具有所有用户拥有的功能,并且能对所对应的讨论区所有帖子进行修改和删除,系统管理员具有所有用户的功能,并且能对所有讨论区的帖子进行修改和删除,还具有用户管理功能,包括修改用户的个人信息或删除用户及各种信息的审核; 数据库模块;实现对数据库的连接和访问。3.2.2 功能需求为了系统的各模块功能够正常使用、系统更加人性化,也为了满足系统的实用性及安全性,本系统初步设置了3种角色:游客,用户,管理员。 游客功能:游客可以浏览开放的板块和帖子内容,也可以注册,但是不能以游客的身份发布帖子,同样也不可以回复帖子,以此来防范大量的虚假网络信息,违法信息及广告; 普通用户功能:浏览帖子、发布帖子、回复帖子、举报违规帖子、修改个人密码、删除个人帖子、修改个人信息、个人账户找回、申请版主。普通用户功能图见图3.1所示:图3.1 普通用户功能图 建立在普通用户的基础上,管理员还有如下功能:修改用户信息、审核用户信息、删除用户、审核板块、新增板块、删除板块、修改板块信息、新增帖子、修改帖子信息、删除用户帖子、审核用户帖子。管理员功能图见图3.2所示:图3.2 管理员功能4 总体设计至此,本系统的开发阶段进入总体设计阶段,经过需求分析阶段,清楚了用户的需求后,根据需求分析阶段所确定的系统的逻辑模型,完成系统的总体模型设计。4.1 设计目标为可维护性和可读性带来方便,以及以后升级的同时降低复杂程度。本系统采用分模块的设计方法。系统分成各个单一的模块,单个模块功能纯粹独立,与模块间的联系少接口简单化,尽量做到高内聚低耦合。以此为前提,校园BBS论坛主要由前后台两部分组成,前台包括搜索帖子,浏览帖子,用户功能,账户登录、找回,及举报等,后台主要由管理员操作组成,用于管理用户,管理板块,管理帖子内容和系统的日常维护等。同时由于BBS数据流大,所以应尽量满足以下几个目标: 采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠; 全面展示系统所有分类的帖子; 给用户提供一个方便快捷的主题信息查看功能; 实现在线发布帖子; 提供登录模块,主要用于用户登录后发布帖子时留下发表者的信息和管理登录后台系统进行管理操作; 用户随时都可以查看自己发布的帖子; 系统运行稳定、安全可靠,并最大限度实现易维护性和易操作性。4.2 系统体系结构4.2.1前台的主要功能模块校园BBS论坛前台的主要功能模块见图4.1所示:图4.1 校园BBS论坛前台功能模块图4.2.2后台的主要功能模块校园BBS论坛后台的主要功能模块如图4.2所示:图4.2 校园BBS论坛后台功能模块图4.3系统数据流程图校园BBS论坛系统的数据流程如图4.3所示:图4.3 校园BBS论坛数据流程图4.4数据库设计系统设计中数据库设计是非常重要的组成部分,数据库设计是在给定一个既定的环境下,根据符合语义的逻辑设计,提供一个既定准确的存储结构和物理设计,用以实现系统目标,以提供有效存取数据和数据模型。数据库设计的核心是数据类型的设计,准确的适应性广泛的数据类型能帮助建立良好的数据结构和文件组织,设计不好整个系统的响应速度就会低效,用户体验也会大大折扣,使系统的数据能快速、精确的传递,这也是评价系统的重要指标之一。目前的数据库管理系统中有三种数据类型。有层次模型、网状模型、关系模型,关系模型的数据独立性较高,使用也较为方便,采用关系模型的数据库设计最多。这里将采用SQL Server 2008 R2 关系数据库。在此环境下对增、删、查、改操作都非常方便。4.4.1数据库概念模型设计以下将用E-R图表概念模型。E-R图是分析数据及数据间的联系的。下面具体列出校园BBS论坛的实体图。(1)用户信息实体图:主要属性用户ID,用户名,密码,电话号码,邮箱,注册原因,地址,安全问题,答案,角色(1表示管理员,0表示普通用户),审核(0表示未审核,1表示审核通过),头像路径,申请时间,登录时间。用户信息实体图如图4.4所示:图4.4 用户信息实体图(2)版块信息实体图:主要属性包括版块ID,版块名称,审核(0表示未审核,1表示审核通过),用户ID,创建时间,是否显示(0表示不显示,1表示显示),帖子ID。板块信息实体图如图4.5所示:图4.5 版块实体图(3)帖子信息实体图:主要属性包括帖子ID,标题,内容,审核(0表示未审核,1表示审核通过),用户ID,创建时间,是否显示(0表示不显示,1表示显示),阅读次数,回复次数,资源链接名,资源链接路径,版块ID,举报次数。帖子信息实体图如图4.6所示:图4.6 帖子实体图(4)回帖信息实体图:主要属性包括回复帖子ID,帖子ID,回复人,回复内容,回复时间,审核(0表示未审核,1表示审核通过)。回帖信息实体图如图4.7所示:图4.7 回帖实体图4.4.2数据库实体间联系需求分析导出实体,实体的属性和实体间的联系模型。通过E-R图表关系,并对E-R图进行优化后得到数据库概念的模型,系统E-R图如图4.8所示:图4.8 系统E-R图4.4.3数据表校园BBS 论坛采用的是SQL Server 2008 R2数据库,这里将数据库命名为BBSForum,包括四个数据表dbo.Posts,dbo.ReplyPosts,dbo.Template ,dbo.User。数据表如图4.9所示:图4.9 数据表图4.4.4数据库逻辑设计数据库的逻辑设计是表结构和表关系的设计,本系统逻辑设计有四个表。各表结构的详细设计如下。(1)用户信息表用户表User,主要用于存放用户的信息,表结构如表4.1所示:表4.1 用户信息表字段名数据类型长度是否空主键备注UserIDint10否主键用 户 IDLoginNamenvarchar50是否用 户 名Passwordnvarchar50是否密 码MobilePhonenvarchar50是否电 话 号 码Emailnvarchar50是否邮 箱Reasonnvarchar50是否注 册 原 因Addressnvarchar200是否地 址SafeQuestionnvarchar50是否安 全 问 题Answernvarchar50是否答 案Roleint10是否角色(1 管理员0.普通用户)Auditint10是否审核(0.未审核1.审核通过)HeadURLnvarchar50是否头 像 路 径CreateTimedatetime23是否申 请 时 间LastLoginTimedatetime23是否最后登录时间(2)版块信息表版块信息表Template,主要用于存放版块的信息,表结构如表4.2所示:表4.2 版块信息表字段名数据类型长度是否空主键备注TemplateIDint10否主键版 块 IDNamenvarchar50是否版 块 名 称Auditint10是否审核(0.未审核1.审核通过)UserIDint10是外键用 户 IDCreateTimedatetime23是否创 建 时 间Displayint10是否是否显示(1.显示0.不显示)PIDint10是否帖 子 ID(3)帖子信息表帖子信息表Posts,主要用于存放发布帖子的信息,表结构如表4.3所示:表4.3 帖子信息表字段名数据类型长度是否空主键备注PostsIDint10否主键帖 子 IDTitlenvarchar200是否标 题Contentnvarchar4000是否内 容Auditint10是否审核(0.未审核1.审核通过)UserIDint10是外键用 户 IDCreateTimedatetime23是否创 建 时 间Displayint10是否是否显示(1.显示,0.不显示)ReadTimesint10是否阅 读 次 数ReplyTimesint10是否回 复 次 数ResourcesNamenvarchar50是否资 源 链 接 名ResourcesUrlnvarchar200是否资 源 链 接 路 径TemplateIDint10是外键版 块 IDReportTimesint10是否举 报 次 数(4)回帖信息表回帖信息表ReplyPosts,主要用于存放回复帖子的信息,表结构如表4.4所示:表4.4 回贴信息表字段名数据类型长度是否空主键备注ReplyPostsIDint10否主键回复帖子IDPostsIDint10是外键帖 子 IDUserIDint10是外键回 复 人Contentnvarchar4000是否回 复 内 容CreateTimedatetime23是否回 复 时 间Auditint10是否审核(0.未审核1.审核通过)5 系统实现经过系统分析、系统设计后,进行编码实现阶段。系统的规模越大,实现就越复杂,该阶段是对前面工作的检验,又是面向用户对系统使用的关键阶段,设计需遵循易用、美观、大方的设计准则,给用户提供一个简介直观的操作界面、避免复杂的操作方式。该阶段的主要任务是进行编程语言的选择、程序的编写和调试。5.1部分功能实现5.1.1用户注册用户注册是该系统关于用户一切使用开始,也是用户管理的首要步骤,将信息录入到数据库中。首先需要注册,填写账户和密码、邮箱、地址等各种帐号信息。以下通过编写程序的方式实现用户注册的功能。1) 页面功能设计:用户注册功能的页面设计步骤如下所示:l 创建一个Web窗体,命名为Registered.aspx,用于实现用户注册功能;l 在窗体上首先添加一个1行1列的表格,再在该表格中添加若干个表格,分别在相应的表格中添加TextBox控件,DropDownList控件,Button控件。用户注册用到的主要控件如表5.1所示:表5.1 用户注册页面控件表控件类型控件ID主要属性设置备注txtLoginNameCssClass属性设置为input输入用户名txtPasswordTextMode属性值为Password输入密码txtAPasswordTextMode属性值为Password输入确认密码txtMobilePhoneCssClass属性设置为input输入电话号码txtEmailCssClass属性设置为input输入电子邮箱txtReasonCssClass属性设置为input输入注册原因txtAddressCssClass属性设置为input输入地址txtAnswerCssClass属性设置为input输入答案ddlSafeQuestion系统默认值选择安全问题btnSaveText属性值为提交注册提交注册2) 设计思路与程序代码设计完注册窗体的页面之后,在Web窗体中“提交注册”按钮的单击事件下,添加保存用户注册信息的程序,代码如下:protected void btnSave_Click(object sender, EventArgs e) string _Password = txtPassword.Text.Trim(); string _APassword = txtAPassword.Text.Trim(); if (string.IsNullOrEmpty(_Password) | string.IsNullOrEmpty(_APassword) MessageBox.Show("请输入密码跟确认密码!"); return; if (_Password != _APassword) MessageBox.Show("密码跟确认密码不一致!"); return; Models.User entity = new Project.Models.User(); entity.LoginName = txtLoginName.Text.Trim(); entity.Password = _Password; entity.MobilePhone = txtMobilePhone.Text.Trim(); entity.Email = txtEmail.Text.Trim(); entity.Reason = txtReason.Text.Trim(); entity.Address = txtAddress.Text.Trim(); entity.SafeQuestion = ddlSafeQuestion.Text; entity.Answer = txtAnswer.Text.Trim(); Result result = bll.Add(entity); if (result.Success) MessageBox.ShowAndRedirect(this, result.Message, "Index.aspx");