基于ASPNET电子邮件管理系统毕业论文.doc_第1页
基于ASPNET电子邮件管理系统毕业论文.doc_第2页
基于ASPNET电子邮件管理系统毕业论文.doc_第3页
基于ASPNET电子邮件管理系统毕业论文.doc_第4页
基于ASPNET电子邮件管理系统毕业论文.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2011 Annual Graduation Thesis (Project) of the College Undergraduate Design and Implementation of E-mail System Based on ASP.NET(C#)Department: College of Electronic and Information EngineeringMajor: Computer Science and TechnologyGrade: 2007Students Name: Zhu Qin-fengStudent No.: 07424011016Tutor: Associate Professor Ma Yu-chun Finished by May, 2011毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解琼州学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名:日期: 日期: 朱钦锋 毕业论文(设计)答辩委员会(答辩小组)成员名单姓名职称单位备注电子信息工程学院电子信息工程学院电子信息工程学院电子信息工程学院琼州学院本科毕业论文 (设计)摘 要随着Internet技术的飞速发展,网络已经成为生活中不可缺少的一部分。网络中的通信大多是通过E-mail来实现的。电子邮件作为一种通过网络实现相互传送和接收信息的现代化通信方式。通过网络的电子邮件系统,用户可以非常快速的方式与世界上任何一个角落的网络用户联系,因此邮件的使用尤为重要。基于电子邮件管理系统是通过网络来实现信息的传送和接收,考虑到电子邮件管理系统以后维护性和扩展性,采用ASP.NET(C#)+ SQL Server 2005技术,以B/S模型来实现。项目开发过程中采用N层模型,将整个电子邮件管理系统分成N个模块,分别一一实现,提高了系统的管理性和扩展性,同时也极大满足用户对个人信息管理和维护。通过对项目的需求分析得出,电子邮件管理系统可以实现以下的基本功能:用户注册、邮件收发管理、联系人管理、空间音乐管理等。关键词:ASP.NET;C#;N层模式;SQL Server 2005;AJAXABSTRACTWith the rapid development of Internet technology, the network has become an indispensable part of life.Most of the communication network via E-mail to achieve.E-mail as a network to send and receive information with each other modern means of communication.E-mail system through the network, the way the user can very quickly anywhere in the world of web users link, so e-mail use is particularly important.E-mail management system is based on the network to achieve information transmission and receiving, after taking into account the e-mail management system maintenance and extensibility, using ASP.NET (C #) + SQL Server 2005 technology to B / S model to achieve.Project development process using N-tier model, the whole e-mail management system is divided into N modules, each one by one to achieve, to improve the system of management and scalability, but also great to meet users of personal information management and maintenance.Through analysis of the projects needs come, e-mail management system can achieve the following basic functions: user registration, mail management, contact management, space music management and so on.Keywords: ASP.NET; C #; N layer model; SQL Server 2005; AJAX目 录第一章 引言11.1背景与意义11.2 本文的主要工作11.3 论文的组织结构2第二章 系统设计32.1 电子邮件管理系统的需求分析32.2电子邮件管理系统设计思想32.3 电子邮件管理系统的可行性分析3第三章 系统前期工作与主要技术53.1配置系统服务器端环境53.2利用Visual Studio 2008开发环境调试程序53.3 N层模式53.4 分页显示数据63.5 AJAX实现方式6第四章 系统文件结构和功能框架结构74.1文件结构74.2功能框架结构8第五章 系统数据库设计105.1数据字典105.2 E-R实体模型14第六章 系统N层搭建176.1 系统Web全部配置176.2 系统页面统一布局176.3 数据接入层搭建176.4 数据协助层搭建186.5 逻辑层搭建18第七章 系统功能模块设计207.1 用户注册模块207.2 邮件服务器配置模块207.3 邮件草稿箱模块217.4 发送邮件模块227.5 接收邮件模块227.6 通讯录管理模块237.7 时间日历模块247.8空间音乐模块247.9用户信息更改模块267.10 系统功能测试26第八章 总结与展望28参考文献29附录30致 谢44琼州学院本科毕业论文 (设计)第一章 引言1.1背景与意义在当今信息发展如此迅速的时代,一切都已经与计算机网络息息相关,很多东西已经慢慢离不开计算机网络了,网络正以一种前所未有的冲击力在影响着人们的活动,包括人们的生产和日常生活。在早些时候人们之间通过书信来相互联系,互联网的快速发展,使得人们可以通过网络来发送邮件既快捷又不用花费,发送邮件的内容可以多样式,而不是仅仅规格在文字上。随着互联网的普及,网络上有越来越多的门户网站提供了电子邮件服务功能,一般的用户只要在该网站上注册后,就可以享受免费发送邮件和存储文件的功能。每一个门户网站在各个方面都有自己的优势和劣势,像雅虎邮箱比较安全,163邮箱发送邮件比较快速,QQ邮箱登录比较方便(对QQ用户而言)等。为此,有的用户可能有很多邮箱,当用户要查看某一个邮箱中电子邮件时,就必须要登录到相关的门户网站,对多邮箱用户来说这是一个非常繁琐的事情。 综合上述各方面的因素,为多邮箱用户开发一个电子邮件管理系统,以实现统一管理多邮箱的电子邮件势在必行。电子邮件管理系统就是在这样的背景下产生的。电子邮件管理系统的出现,为多邮箱用户提供了统一管理电子邮件的平台,再也不必一一登录各个邮箱门户网站了。1.2 本文的主要工作电子邮件管理系统采用B/S的开发模式,DIV+CSS对界面进行布局,考虑到用户对系统界面的要求,使用母版页统一规划页面。根据需求分析,创建数据库,并且制定表中的字段规范,满足业务的需要,在此基础上注意提供系统的性能。 参考网络上邮箱门户网站的电子邮件管理的流程,将整个电子邮件管理系统分为几个功能模块。系统的主要的功能模块分为:电子邮件收发模块,用户注册登录模块,用户个人信息管理模块,通讯录管理模块,空间音乐管理模块。这些模块主要分三层(数据接入层、逻辑层、业务层)来实现。数据接入层主要负责数据库的连接和数据库的原子操作;逻辑层主要负责把具体事物进行类化,按照具体事物的属性和行为编辑类的属性和方法;业务层主要是根据客户端用户的行为进行操作,实现一种交互。后面系统功能模块的实现也将会通过三层模式进行讲解。1.3 论文的组织结构第一章绪论,结合当前实际介绍本系统实现的背景和意义,见要的说明了本文的主要工作。第二章,对整个系统开发的设计进行分析。第三章,简要的介绍本系统开发过程中运用到的主要技术和技巧。第四章,主要展示整个系统的框架结构和文件结构,并对系统的框架结构和文件结构进行简要的讲解。第五章,为整个系统编程过程中的重点,着重地讲解系统数据库的设计。第六章,讲解始终贯穿整个系统开发过程中的N层设计思想,并结合开发过程来分析。第七章, 讲解整个系统的功能模块的实现。43第二章 系统设计2.1 电子邮件管理系统的需求分析电子邮件管理系统的整体要求:技术上,ASP.NET 3.0 + SQL Server 2005技术为基础,整个WEB系统的布局要求用CSS+DIV布局,系统的界面要求简洁,界面的颜色要求纯朴大方,在网站适当的地方实现提示。功能上,实现用户的注册,实现用户的登陆,实现电子邮件的发送,实现电子邮件的接收,电子邮件信箱的保存、删除、修改和转发,联系人的添加,联系人的删除和修该。2.2电子邮件管理系统设计思想电子邮件管理系统所采用的是B/S模型,设计的页面尽量简洁明朗,界面匹配的颜色要清淡,要求界面统一,当用户操作是知道自己所在的位置和操作的意义。电子邮件管理系统从设计上讲,打算分层设计。从用户的角度看,分为内容层、结构层、行为层,在为网站构建的时候要把这些想关的层文件分类分开管理,当其中一层变化或是更改的时候不影响其他的层,实现各层之间独立管理。从程序员的角度上看,将层序代码分层管理,可以按照三层思想分为数据接入层、逻辑层、业务层,各个层之间实现独立管理。最下一层为数据接入层,在数据接入层之上的为逻辑层,最上的是业务层,实现每一次封装对上层的不可见并为上层提供服务。综上,该系统设计的思想是由整体到部分管理的思想。2.3 电子邮件管理系统的可行性分析可行性研究是为了弄清楚开发的项目是不是可以实现和值得进行研究的过程,这也是开发过程中的比不可少的一个环节,决定了项目开发还是不开发。下面是为电子邮件管理系统总结的几点可行性分析: 技术可行性:电子邮件管理系统采用的ASP.NET(C#) + SQL Server 2005技术,ASP.NET和SQL Server 2005技术发展的相当成熟,开发语言采用的是C#,Div+CSS布局,Javascript实现页面的部分动态效果,综上描述很容易实现电子邮件管理系统。运行可行性:只要在运行的计算机上有.NET Framework3.0和SQL Server 2005就可以在IIS中运行。法律可行性:该系统中涉及的插件和组件全部是免费的,界面的设计完全是个人独特的设计,所以不存在盗窃抄袭的法律上问题。第三章 系统前期工作与主要技术3.1配置系统服务器端环境Win7自带有IIS,安装好IIS7后,主要配置站点,在IIS中有默认的起始页。在【默认文档】中添加自定义起始页,添加为Login.aspx,把系统文件添加到IIS7网站子目录下,设置好端口和验证方式。当想查看系统运行的情况,可以通过IE浏览器对系统进行访问,这种方式比在Visual Studio 2008中通过调试来的更快捷和方便。3.2利用Visual Studio 2008开发环境调试程序Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。电子邮件管理系统的开发使用的是Visual Studio 2008。在系统设计的过程中,难免会碰到很多错误,利用Visual Studio 2008开发工具的调试功能可以很容易的发现错误,使错误得到及时的更正。有两种调试方式,一种是运行整个系统,当出现错误是页面会提示哪里出错了,并且给出错误的地方,可以设计调试点对错误数据进行读取;另一种,单个页面调试,右键点击运行就可以了。3.3 N层模式N层模式是建立在类的封装的基础上的,即下层类对上层类提供服务,每一层类之间保持独立性,这种独立性是建立在任务的独立性上。ASP.NET后台典型的N层是三层即数据访问层、业务逻辑层、页面层。其中,数据访问层只处理链接数据库、从数据库中读取数据,业务逻辑层则负责对实体(一般是按照E-R图实体建立的)的管理和操作,而页面层则是对用户在页面上操作进行交互。每一层中封装了很多类,每一个类有自己的属性和操作,共同组织起来使后台代码编辑更有层次感。对于Web系统,用户看到的是前台,前台的布局工作也尤为重要。目前流行的是DIV+CSS布局,它应用在Web网页前端的结构层,页面的样式部分一般都放在单独的样式文件中,样式文件在作用上也可以分层管理。一般的样式文件分为基础层(包括重写、定义单个样式类)、特殊层(针对页面特殊部分)。另一个是Web网页前端的行为层,他主要是及时的反应用户的行为动作,该层实现的脚本语言JavaScript,但是目前有很多免费的JavaScript封装包,像JQuery等。总之,分层模式带来的不仅仅是代码书写的简介,而且给程序员更好的逻辑层次感。能为写出高质量代码给出方向。3.4 分页显示数据Visual Studio 2008 提供了多种数据绑定控件,不像ASP一样通过循环语句来读取数据集,Visual Studio 2008 提供了功能强大的ADO.NET数据处理类和数据绑定控件。在本系统开发过程中,很多地方要显示大量数据,但有不希望数据在浏览页面显示的过长,为此设计了数据显示的分页功能。分页功能主要是通过PagedDataSource类的属性和方法来实现。首先,对PagedDataSource对象的AllowPaging、PageSize属性进行设置;然后,通过回传事件改变PagedDataSource对象的CurrentPageIndex属性值;最后,将数据绑定控件的数据源属性值设置为PagedDataSource对象,使用DataBind方法绑定数据。3.5 AJAX实现方式AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX的主要是思想使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过XMLHttpRequest对象,使得页面在不回传的情况下与 Web 服务器交换数据。实现方式,一种是使用Visual Studio 2008 中ScriptManager 、UpdatePanel、Timer控件组合来实现的。第二种是通过编写使用原生态的JavaScript代码实现,但现在网络上流行用JavaScipt开发包(如:JQuery、Prototype、Dojo、ExtJS等)编写高效的JavaScript代码。在很多页面实现对数据的删除、添加、改动等都希望出现提示等功能,在常规的HTML代码中,通过在标签中添加onclick事件来实现。在.NET中,其实现方法很相似,.NET为服务器控件设置了Attributes属性,通过Add方法为控件添加脚本事件。第四章 系统文件结构和功能框架结构4.1文件结构电子邮件管理系统的文件组织是整个系统设计的重要部分,文件的组织形式和文件在系统中的功能密切相关,比如CSS文件夹中的文件,存放着系统设计页面的样式文件和样式所需的图片资源文件。最好以文件夹的形式组织不同功能的文件,分清文件夹的层次结构。整个系统的文件结构如图4-1所示。图4-1系统文件结构图系统的文件结构中部分文件夹和文件的作用说明如表4-2所示。文件名或文件夹名说明APP_Code 存放各种功能的自定义类APP_Data存放数据库文件Bin存放Jmail插件和FCKEditor插件css存放系统页面布局相关的样式文件fckeditor存放FCKEditor插件的源文件File存放图片等其他文件script存放系统页面的Javascript脚本文件UserControls存放自定义的用户控件Login.aspx用户登录页面Register.aspx用户注册页面ChangeUserInf.aspx更改用户信息页面MailMasterPage.master系统母版页MailServerConfig.aspx邮箱服务器配置页面CheckCode.aspx注册码生成页面AddFriend.aspx添加好友页面SentOutEmail.aspx发送邮件页面LetterDetail.aspx电子邮件详细信息页面EditEmail.aspx编辑电子邮件页面MuiscList.aspx音乐管理页面FriendInf.aspx通讯录管理页面SentedEmail.aspx已发送邮件页面表4-2 文件结构4.2功能框架结构电子邮件管理系统主要分为用户模块、邮件管理模块、通讯录管理模块、空间音乐盒模块四大功能模块,各个模块之间通过用户登录名进行联系,设计的主要目标是使各个模块间在功能上实现独立,任何一个模块不管是在功能上还是在设计上进行扩展时,不影响其他模块的功能和性能,整个系统的功能框架结构如图4-3所示。图4-3 系统功能结构图第五章 系统数据库设计5.1数据字典数据字典(DD,Data Dictionary):是以特定格式记录下来的、对系统的数据流程图中各个基本要素(数据流、加工、存储和外部项)的内容和特征所作的完整的定义和说明。数据字典是对数据流程图的重要补充和说明,是对系统所用到的所有表结构的描述。下面简要列出本电子邮件管理系统的所有数据字典。User数据表中字段UserID为整型自增长,字段LoginName是User表与其它表之间产生关联的关键字段,字段Picture存储的是用户个人头像图片的路径位置,User数据表设计如表5-1所示。表5-1 User数据表序号字段类型说明1UserIDInt主键2LoginNameVarchar(50)登录名3UserNameVarchar(50)用户名4PasswordVarchar(50)密码5EmailVarchar(50)电子邮箱6PictureVarchar(100)用户图像SentedLetter数据表中字段LoginName表示用户登录名,其取值与User数据表中的字段LoginName对应,字段SentMailName存储放送邮件的邮箱地址,AttachmentLocation字段存储已发送邮件的附件存储路径,AttachmentFileName字段存储已发送邮件的附件名称。SentedLetter数据表设计如表5-2所示表5-2 SentedLetter数据表序号字段类型说明1IDInt主键2LoginNameVarchar(50)登录名3SentMailNameVarchar(50)放送邮箱4SubjectVarchar(100)主题5ContentTxtText内容序号字段类型说明6AttachmentLocationVarchar(100)附件位置7AttachmentFileNameVarchar(50)附件名称8ToNameVarchar(50)接收邮箱ReceiveLetter数据表中字段LoginName表示用户登录名,其取值与User数据表中的字段LoginName对应,字段SentMailName存储放送邮件的邮箱地址,AttachmentLocation字段存储已发送邮件的附件存储路径,AttachmentFileName字段存储已发送邮件的附件名称。ReceiveLetter数据表设计如表5-3所示表5-3 ReceiveLetter数据表序号字段类型说明1IDInt 主键2LoginNameVarchar(50)登录名3SentMailTimeVarchar(50)发送邮件时间4SubjectVarchar(100)邮件主题5SentMailBoxVarchar(50)放送邮件邮箱6ContentTxtText内容7AttachmentLocationVarchar(100)附件位置8SentPersonVarchar(50)发送人名称9AttachmentFileNameVarchar(50)附件名称DraftLetter数据表中字段LoginName表示用户登录名,其取值与User数据表中的字段LoginName对应,字段SentMailName存储放送邮件的邮箱地址,AttachmentLocation字段存储已发送邮件的附件存储路径,AttachmentFileName字段存储已发送邮件的附件名称。DraftLetter数据表设计如表5-4所示表5-4 DraftLetter数据表序号字段类型说明1IDInt主键序号字段类型说明2LoginNameVarchar(50)登录名3SentMailTimeVarchar(50)发送邮件时间4SubjectVarchar(100)邮件主题5ContentTxtVarchar(100)邮件内容6AttachmentLocationVarchar(100)附件位置7AttachmentFileNameVarchar(50)附件名称8ToNameVarchar(50)接收者名称MailSInf数据表中字段LoginName取值与User表中字段LoginName取值相对应,字段SMTP存储邮箱SMTP服务器信息,字段POP3Server存储邮箱POP3服务器信息,MailSInf数据表设计如表5-5所示。表5-5 MailSInf数据表序号字段类型说明1MailServerIDInt主键2LoginNameVarchar(50)登录名3MailServerUserNameVarchar(50)邮箱名4MailServerPasswordVarchar(50)邮箱密码5SMTPVarchar(50)SMTP服务器6POP3ServerVarchar(50)POP3服务器MFriend数据表中字段Type表示联系人类型,其取值与MFriendType数据表中字段TypeName对应。MFriend数据表设计如表5-6所示。表5-6 MFriend数据表序号字段类型说明1IDInt主键2LoginNameVarchar(50)登录名3NameVarchar(50)联系人名4MailBoxVarchar(50)电子邮箱序号字段类型说明5TypeVarchar(50)联系人类型6PictureBigVarchar(100)大头像7PictureSmallVarchar(100)小头像8AddressVarchar(100)地址9QQVarchar(50)QQ号码10TelephoneVarchar(50)电话号码MFriendType数据表设计如表5-7所示。表5-7 MFriendType数据表序号字段类型说明1IDInt主键2TypeNameVarchar(50)联系人类型名Music数据表中字段LoginName表示用户登录名,其取值与User数据表中的字段LoginName对应。Music数据表设计如表5-8所示。表5-8 Music数据表序号字段类型说明1IDInt主键2LoginNameVarchar(50)登录名3MusicNameVarchar(50)歌曲名4MusicPathVarchar(100)歌曲位置系统数据表设计是整个系统设计的核心,根据以上二维关系数据表,建立E-R图实体模型。E-R图实体模型建立将为后续建立逻辑层的类提供参考,方便了逻辑层的搭建,而业务层建立在逻辑层之上,整个系统能安全高效的运行完全靠最上层业务层实现。所以,在搭建逻辑层是要考虑系统设计的需求和后台数据库数据的支持。数据表的设计要考虑到程序的扩展和安全性,为此,在设计字段的时候慎重考虑设计字段的数据类型。5.2 E-R实体模型用户实体E-R图,其中LoginName为用户登录名,实体设计如图5-1所示。IDPictureEmailPasswordUserLoginNameUserName图5-1 用户实体歌曲实体E-R图,其中MusicPath为歌曲存储路径,实体设计如图5-2所示。MusicIDMusicPathLoginNameMusicName图5-2 歌曲实体SMTPMailServerUserNameMailServerPasswordMailSInfPOP3ServerLoginNameMailServerID邮件服务器实体E-R图如图5-3所示。图5-3 邮件服务器实体联系人实体E-R图,其中Name为联系人的姓名,PictureSmall为联系人的头像小图片,联系人实体设计如图5-4所示。MFriendQQTelephoneNameMailBoxTypeLoginNameAddressPictureBigPictureSmall图5-4 联系人实体草稿箱实体E-R图,AttachmentFileName为附件名称,AttachmentLocation为附件存储的位置,LoginName为附件所属用户的登录名。草稿箱实体设计图如图5-6所示。,在此只列出草稿箱邮件实体E-R图,如图5-6所示。AttachmentLocationSentMailTimeAttachmentFileNameDraftLetterIDToNameLoginNameContentTxtSubject图5-6 草稿箱邮件实体联系人类型实体E-R图,其中TypeName为联系人类型名称,联系人实体设计图如图5-5所示。IDMFriendTypeTypeName图5-5 联系人类型实体草稿箱邮件实体、收件箱邮件实体、已发送邮件实体很相似实体E-R构建对后面功能模块类的构建有着参考辅助作用,为N层构建模型做好铺垫,同时也是整个系统设计过程中的重点。第六章 系统N层搭建6.1 系统Web全部配置本系统的开发工具是Visual Studio Express 2008和SQLServer2005,在开发的初期要对整个系统进行整体的配置。系统的配置文件Web.config,它的编写格式是采用XML来编写的,所以在配置是要注意节点之间的包含关系。首先,要在整个系统配置文件中配置数据库链接字符串,打开配置文件Web.config,在中的节点下添加节点,节点中内容为链接数据库的验证字符串,同时也为了满足DataGridView控件引用DataSource控件,另在节点下写入;其次,电子 邮件管理系统在放送邮件是要用到FCKeditor,也在节点下添加同时也要在项目中应用用FCKeditor.dll文件,并且把FCKeditor文件放在系统目录下。最后,电子邮件管理系统中涉及到文件传输大小的配置,在节点下写入调整上传文件的大小,和上传的时间。6.2 系统页面统一布局页面布局采用DIV+CSS布局,并且为整个系统定做一个模板,模板文件为MailMasterPage.master,模板框架分为头部、主体内容、脚部三大部分。主体内容又分为左中右三个部分,在进行了整体布局过后,考虑到系统界面的统一性,分别为模板的头部和模板的底部建立用户控件WebHeader.ascx、WebFooter.ascx。另外CSS文件放在项目文件下的css文件夹中(注意css文件夹下的样式文件引用的图片放在css文件夹下的Pictures文件夹中)。整个模板的样式文件是在css文件夹下的masterpage.css文件。6.3 数据接入层搭建数据接入层主要负责数据库的链接和对数据库不可再分的子操作。在这一层主要应用的是ADO.NET数据操作模型。在这一层中建立基类DataBase,该文件放在APP_Code中,DataBase完成的功能是链接数据库,执行查询操作和非查询操作。查询操作返回DataSet、SqlDataReader、DataRow对象操作,非查询操作返回的是整型数据或者是布尔值,通过返回的数据判断操作是否成功。这一层是构建其它层的基础,在构建这一层是一定要主要操作的原子性。6.4 数据协助层搭建这一层从字面上看就知道这是一个辅助层,主要完成数据安全的读取、格式化数据、安全有效的组织SQL语言等。在这一层中建立了SqlStringFormat、GetSafeData、MString类,SqlStringFormat类主要实现接收字符串,然后对字符串处理返回适合数据库操作的字符串。GetSafeData类主要是实现对数据集中数据打安全读取。这一层也是为顶层逻辑层提供服务。6.5 逻辑层搭建所谓的逻辑层主要是针对数据库中的表来建立的。最基本的建立方式按照E-R图中的实体建立相应的类,按照E-R图中的实体的属性构建类中类的属性,再根据需要编写对类实体对象的操作,也就是在类中构建类的方法,从而实现对对象或者类的操作。这一层的构建不仅在逻辑上使编写的代码有层次感,而且是页面后台代码更容易实现操作而不必写很复杂的代码。在整个系统中,自定义创建了MPicture、MMusic、MFriend、MFile、MEcode、MailServerInf、MailSentedInf、MailReceiveInf、EUser、ControlHelper类,他们的功能如图6-1所示。类名功能说明Mpicture处理图片大小MMusic处理音乐文件信息MFriend处理联系人信息MFile处理上传文件的名称和保存路径MEcode对存取数据库中的字符串进行处理MailServerInf处理邮箱服务器配置MailSentedInf处理已经发送的邮件信息MailReceiveInf处理已经接收的邮件信息类名功能说明EUser处理用户信息ControlHelper处理服务器控件的属性SqlStringFormat处理SQL查询字符串MString处理字符串的长度和对字符串的重写GetSafeData验证从数据库服务器端取出的数据DataBase对数据库的基本操作图6-1 逻辑层中的类第七章 系统功能模块设计7.1 用户注册模块用户注册模块是进入电子邮件管理系统的接口。它主要是提供用户注册,让用户填写相关个人信息,成为电子邮件管理系统的注册用户。主要提供的功能是检测用户在注册是是否按照要求填写信息字段,检测系统中是否有相同的注册用户名,当用户填写的注册信息合法时,提示注册成功并实现页面跳转。用户注册页面如图7-1所示。图7-1 用户注册模块页面7.2 邮件服务器配置模块邮件服务器配置模块主要的功能是配置用户自己的邮箱相关信息,这些信息在用户发送邮件、接收邮件时是必不可少的。填写服务器配置表单时,设置了验证设置,而且在该页面也提供了对表单信息的重设,在表单的下面提供了邮件服务器配置信息转换,支持多邮件服务器转换。功能的实现主要是通过Repeater控件实现数据集绑定,通过Repeater控件ItemDataBound事件绑定JavaScript函数来提示信息,通过Repeater控件的ItemCommand事件与LinkButton按钮属性CommandArgument和CommandName实现对数据的动态操作。邮件服务器配置页面如图7-2所示。图7-2 邮件服务器配置页面7.3 邮件草稿箱模块邮件草稿箱模块主要的功能是存储用户已经写好的邮件并记录存储时间。该模块上提供对草稿箱中邮件的编辑删除和查看,在单击编辑后还可以看见提供邮件转发的功能模块,单击收件人可以查看收件人的相关信息。邮件草稿箱页面如图7-3所示。图7-3邮件草稿箱页面7.4 发送邮件模块发送邮件模块主要功能是提供邮件的编写和发送功能。该模块和服务器配置模块关系密切,如果没有进行服务器配置,该邮件是不可能发送成功的。该模块也是该系统中主要的模块,发送功能的实现主要是通过Jmail插件和FCKeditor插件来实现的,在Visual Studio Express 2008中建立Bin文件夹,右键点击选择【添加引用】在选项卡中可以看到【浏览】选项卡,选择Jmail插件所在文件的Jmail.dll就可以了,同理添加引用FCKeditor插件。同时也必须在配置文件web.config中注册插件。注意插件的文件一定要放到所建项目目录下面,这样才能保证对插件的注册成功。在编写邮件发送功能时,先实例化插件对象,然后使用插件封装好的方法和属性,就能实现邮件发送了,一定要注意设置Jmail插件发送邮件的编码方式。发送邮件页面如图7-4所示。图7-4发送邮件页面7.5 接收邮件模块接收邮件模块主要功能是从服务器端把邮件下载到本地系统。主要的实现方法是通过调用Jmail插件来实现对服务器端数据的读取,通过数据流把读取的数据下载到本地系统的数据库中。接收邮件模块提供了对邮件编辑、删除、查看、附件下载的功能,数据的绑定是通过Repeater控件的DataBind方法实现,Repeater控件的数据源采用PagedDataSource类的DefaultView数据集模式来实现动态的分页效果。接收邮件页面如图7-5所示。图7-5 接收邮件页面7.6 通讯录管理模块通讯录管理模块主要功能是管理用户联系人资料。该模块主要通过添加联系人,对联系人信息进行编辑、删除、修改的功能,并且还可以对用户进行分类。添加联系人页面如图7-6所示。图7-6添加联系人页面通讯录管理页面如图7-7所示图7-7通讯录管理页面7.7 时间日历模块时间按日历模块主要功能是读取本地系统的时间,给用户以直观的时间表达。主要是通过日历控件和AJAX实现的。具体的实现方法是使用了Visual Studio Express 2008 自带的AJAX控件,具体控件是ScriptManager控件、UpdatePanel控件、Timer控件,设置Timer控件的Interval属性,同时在Timer控件的Tick事件编写代码实现Label控件动态的改变时间。使用AJAX可以实现页面动态的局部刷新。时间日历效果如图7-8所示。图7-8时间日历页面7.8空间音乐模块空间音乐模块主要的功能实现音乐的添加和删除及音乐的播放。主要是通过文件的上传和控制Mediaplayer组件来实现的。Mediaplayer组件不用在项目里进行注册,它只需要在.aspx文件源文件相应的地方插入就可以了,后台数据的读取是通过DataList控件中的按钮单击事件来实现的,根据数据表Music建立MMusic类实现对音乐信息操作的封装。音乐编辑界面提供了对文件的上传功能,用户可以根据自己的爱好为音乐文件命名。在页面的下方,给出了互联网上大型音乐网站的链接,方便用户及时的更新个人的音乐空间的音乐。音乐编辑页面如图7-9所示。图7-9音乐编辑页面歌曲播放效果界面如图7-10所示,该界面是通过Mediaplayer组件和Datalist控件来实现的,数据的绑定是通过Datalist控件的DataBind方法来实现的,界面的布局设计主要是通过CSS+DIV 来控制,CSS+DIV控制界面的显示效果不仅使文件清晰同时也会减少网页传输时的内容量,减少服务器的负担。用CSS+DIV布局再结合Datalist控件的本身自带的属性很容易实现一种播放列表效果。最终,歌曲播放效果页面如图7-10所示。图7-10歌曲播放效果页面7.9用户信息更改模块用户可以对自己的密码、个人照片等信息进行修改,修改后的信息会马上显示出来。主要是通过母版的FindContorl方法实现来更新用户控件中的控件信息,用户信息更改页面如图7-11所示。图7-11用户信息更改页面7.10 系统功能测试系统的功能测试分在两个阶段测试,第一阶段是在每一个功能模块设计完成后进行测试,第二个阶段是在整个系统开发完成后进行测试。第一个阶段的测试主要是针对每一个功能模块逻辑的测试与输入数据安全测试。第二阶段的测试主要是针对整个系统功能模块之间通信的测试,保证数据能在给个模块间进行传递。系统功能测试是系统设计的最后一个环节,也是对系统进行质量验证的关键。系统的测试主要测试邮件发送模块和邮件接收模块,分不同的邮箱对着两个模块进行测试,最终表明,系统支持多邮箱发送邮件和接收邮件。第八章 总结与展望电子邮件管理系统是使用ASP.NET(C#) + SQL Server 2005实现的,由于是采用B/S模式,在页面布局上使用目前流行的CSS + DIV布局,为了使页面更加美观使用Photoshop专做了一些按钮。鉴于网络上一些大型邮件网站(如:163,QQ,Sina等),在页面的布局上实现一致的效果,使用户更加熟悉。目前,ASP.NET(C#) + SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论