




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . I / 39摘摘 要要电子是 Internet 应用服务之一,也是使用最多的互联网服务。电子系统通过 Internet,实现各类信息的传送、接受贮存等处理,将传送到世界的各个角落。电子系统经过几十年的发展,已经形成了完善的技术体系。用户最初只能通过Outlook,Foxmail 等客户端软件来收发自己的,但单纯的客户端程序进行的收发已经不能满足用户移动办公的需要。Web 技术的出现,彻底解决了用户办公的需要,其快捷、方便的优点吸引了众多的网络用户。用户无须安装任何 Email 客户端软件,只需使用浏览器打开放在服务器上的特定网页即可进行 Email 收发与相关操作。J2EE、A
2、JAX 技术等新的 Web 技术的层出为系统的更新带来了巨大的突破。本文着重阐述了实现基于 J2EE 的 Hibernate 技术和 AJAX 技术的 Web 系统的理论基础、设计思想、系统架构、开发过程以与对以上容的总结与展望。论文前半部分着重论述了 Hibernate、AJAX 和 JavaMail 技术,阐释了电子系统的工作原理与传送过程,探寻如何开发服务。简单介绍了与系统相关的几个重要协议。熟悉按照这些协议、规进行的电子的传送过程。论文后半部分是对系统的各个模块进行分析、设计和编码。包括系统整体设计思想,模块设计思想以与各功能模块实现的流程图等。最后对该系统进行了总结和展望。关键词:电
3、子,系统,协议ABSTRACTABSTRACT. . . . II / 39Email is one of Internet applications and also the service users use most.Electronic Mail System fulfills transmission, receiving, storing management of allkinds of signals through Internet which connects the whole world, sending mails toevery corner of the worl
4、d. With many years development, Email System has formedconsummate technology architecture. Users can only use client softwares such asOutlook, Foxmail to receive and send their own mails at first, but this cant satisfy therequirement of users moving office. With the appearance of Web Mail technique,
5、 theproblem has been completely solved. Many network users are attracted by itsadvantages of speediness and convenience. Users can implement Email receiving,Email sending and so on by opening certain Web pages on Servers through Browserswithout installing any Email Client softwares.The layer of the
6、new Web technique of the J2EE, AJAX technique .etc. for mail system of renewal bring huge of break. This paper emphasizes expatiating on the implementation of Web Mail system based on the Hibernate of J2EE platform and AJAX , including their theory foundation, design idea, system structure, developm
7、ent process, sum-up and expectation of all above. The first half part of the paper discusses the Hibernate and the AJAX architecture and JavaMail mail technique, explaining the work principia of Email system and the transmission process of Email, exploring how these technologies use JavaMail API to
8、provide standard mail service. Then the paper simply introduces several important protocols correlative with mail system and comprehends the transmission process of Email according to these protocols and criterions. The other half part of this paper sets forth analyse, design and coding of each modu
9、le in the mail system, including systems whole design idea, modules design idea, implementation flow chart of each module, etc. In the end, the summarization of the Web Mail system is simply discussed in this paper. . . . III / 39KeywordsKeywords: Email, Mail System ,Mail Protocols目录目录摘要 IABSTRACTII
10、第 1 章引言 11.1 背景 11.2 研究容 2第 2 章系统开发方法 32.1 AJAX 客户端开发 32.1.1 AJAX 的异步能力 32.1.2 AJAX 丰富页面操作 32.2 数据库访问技术分析 42.2.1 JDBC 数据库访问技术 42.2.2 Hibernate 中间件 42.3 J2EE 开发 52.4 开发环境介绍 62.4.1 DREAMWEAVER62.4.2 MyEclipse 6.062.4.3 Microsoft SQLServer 200072.4.4 Tomcat 6.082.5 本章小结 9第 3 章系统需求分析 103.1 系统设计原理 103.2
11、系统主要功能要求 113.3 本章小结 13第 4 章数据库设计 144.1 数据库结构分析 144.2 概念结构设计 154.3 逻辑结构设计 174.4 数据库安全性和完整性 19. . . . IV / 394.4.1 数据库的安全性 194.4.2 数据完整性 194.5 本章小结 20第 5 章系统详细设计与实现 215.1 管理设计 215.1.1 异步发送电子 215.1.2 利用 POP3 协议接收电子 255.2 标签管理设计 285.2.1 添加标签 285.2.2 修改标签 285.2.3 删除标签 285.2.4 使用标签 295.3 通讯录设计 315.3.1 组信息
12、的管理 315.3.2 联系人管理 325.4 软件测试与完善 335.5 本章小结 34第 6 章结束语.35致 36参考文献 37. . . . 1 / 39第第 1 1 章章 引言引言1.11.1 背景背景电子是 Internet 应用服务之一,通过网络,可以以非常低廉的价格、非常快速度的方式,与世界上任何一个网络用户联络,这些电子可以包含文字、图像、声音或其他多媒体信息。根据中国互联网络信息中心 2008 年 1 月发布的最新中国互联网络发展状况统计报告 ,目前我国上网用户已达到 2.1 亿人,其中电子使用率是 56.5%,这意味着有过亿的网民在使用电子1。随着中国 Internet应
13、用的日益普与和逐步深入,这些数字仍在不断增长。在全球围来看,每天有数十亿封电子在全球传递。电子已成为用户不可或缺的需要。如何提高电子系统的性能成为各大电子服务商竞争的焦点。新的 Web 技术的出现为 Web 系统的更新带来了巨大的突破。如 Gmail 运用 JavaScript,建立了一个良好的使用者介面;同时应用 AJAX 技术也使速度相当快2。163 新版在“极速风格”升级中创新使用了 AJAX 技术,令系统响应和页面加载更加流畅,使得 Web系统的工作性能接近基于桌面的客户端软件3。通过将 AJAX 技术用于 Web 开发主要有两方面的优点:一是加载动态化4。当用户登录时,可感受到超快速
14、的系统响应和流畅的页面加载,甚至不用打断交互流程进行重新加载,就可以动态更新。因为 AJAX 技术的应用已将很多必要的信息缓存在终端用户的电脑里,不需要再浪费带宽访问服务器5。也就是说,当用户要阅读一封时,AJAX 技术立即重新配置页面,用户无须等待就可以看到结果6。二是操作客户端化。AJAX 技术的应用还进一步提高了 Web 系统的易用性和界面友好度7。如:用户可在不同的窗口中浏览多个,收信的同时可以写信,发的同时可以读信,无需太多操作就可以重排顺序。用户还可以直接使用键盘操作打开写信页面、阅读新或删除,并且在 Web 页面中可以用鼠标将拖动至任意文件夹。基于 AJAX 技术的 Web 开发
15、定能为客户带来更多、更新的浏览体验8。本系统就是在这个背景下提出来的,希望通过本系统能够进一步掌握新的学习 Web 技术,了解网络原理和实现过程,体验 AJAX 异步通信在 Web 系统应用中. . . . 2 / 39带来的好处,以与 Hibernate 等 J2EE 框架在 Web 开发过程中的运用。1.21.2 研究容研究容本系统采用 J2EE 和 AJAX 技术,利用 JavaMail 开发包提供的功能,完成系统的设计。其中,AJAX 技术主要是应用在表现层上,这是因为 AJAX 在表现层上错提供了强大的功能,除了能给用户在使用上带来给多的美观外,AJAX 最主要的特点就是使用 XML
16、 Request 对象异步发送请求,将 AJAX 的异步能力与的发送相结合,实现发送异步化,这将会使用户从长久的等待发送过程中解脱出来,无需等待发送结束即可转向其他操作。利用 AJAX 技术将使页面操作更加丰富9。采用 Hibernate 处理持久化。通过 Hibernate 提供的在 Java 对象与关系数据库之间的桥梁作用,实现两者之间的自动转换。数据的存储无需通过繁琐的 SQL 操作,只需对持久化类操作,并结合 Hibernate 提供的功能,就可实现复杂的数据存储过程。Hibernate 的使用,简化了系统的设计,同时也为系统的设计和维护带来更多的方便10。Sun 公司为方便 Java
17、 开发人员在应用程序中能够实现发送和接受功能而提高了一套标准的开发包,这套开发包包括面向普通开发人员调用的 JavaMail API 和实现了 SMTP、POP3、IMAP 等底层协议的服务提供程序。只要调用 JavaMail 开发包中的相应的 API 类,就可以完成的发送和接受功能11。第第 2 2 章章 系统开发方法系统开发方法2.12.1 AJAXAJAX 客户端开发客户端开发AJAX 在浏览器和服务器之间添加 AJAX 中间层,允许浏览器异步发送请求,同时允许动态加载服务器响应。用户的请求不再直接向服务器提交,从而避免丢弃当前页面,而是使用 XML Request 异步地向服务器发送请
18、求。 .1AJAXAJAX 的异步能力的异步能力AJAX技术的核心是对象XML Request。通过使用XML Request对象,浏览器通过客户端脚本与服务器交换数据,Web页面无须频繁的重新加载,其容也由客户端脚本动态更新。异步是指基于AJAX的应用于服务器通信的方式。对于传统的Web应用,每次. . . . 3 / 39用户发送请求或向服务器请求获得数据时,浏览器都会完全丢失当前页面,而等待重新加载新的页面。在服务器完全响应之前,用户的浏览器将会是一片空白,用户的动作必须中断。异步是指用户发送请求后,完全无须等待,请求在后台发送,不会阻塞用户的当前活动。用户无须等待第一次
19、请求得到完全响应,可以立即发送第二次请求。使用AJAX的异步模式,浏览器就不必等待用户请求操作,无须重新下载整个页面,一样可以显示服务器的响应数据。.2AJAXAJAX 丰富页面操作丰富页面操作AJAX 并不是一门全新的技术,它所基于的技术大都是成熟的技术,如JavaScript,DOM,CSS 和 XML 等。JavaScript 是一种跨平台的脚步语言,虽然很多地方也称 JavaScript 为面向对象的语言,但 JavaScript 并不是一种纯粹的面向对象的语言。JavaScript简单、易用,而且在绝大部分浏览器中都运行良好。JavaScript 脚本是 AJAX 技
20、术中另一个重要的部分,是 AJAX 技术的编程脚本。JavaScript 主要完成如下事件:创建 XML Request 对象,通过 XML Request 向服务器发送请求,创建回调函数,监视服务器响应状态,当服务器响应完成后回调函数启动,回调函数通过 DOM 动态更新 HTML 页面。JavaScript 技术是 AJAX 技术的黏合剂,通过JavaScript 将其他几个技术有机地结合在一起,从而形成 AJAX 技术。DOM 是操作 HTML 和 XML 文件的一组 API,它提供了文件的结构表示。通过使用 DOM,可以采用编程方式操作文档结构,还可以改变文档的容。通过使用DOM,HTM
21、L 页面以一种结构化方式组织在一起,HTML 页面的容以节点方式组织。Web 程序开发者可增加文件的节点、属性与事件,从而提供对 HTML 页面的动态更新,例如,document 就代表 HTML 文件本身,table 对象则代表 HTML 的表格对象等。DOM 为 JavaScript 或程序语言提供操作网页容的方式。在 Web 页面上采用 CSS 技术,可以有效的对页面的布局、字体、颜色、背景和其他效果实现更加精确的控制。通过 CSS 技术,只要对相应的代码做一些修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。XML 文档是一种结构化文档,用于简单数据的表示和交换,用于
22、面向消息的计算,以与与用户相关,表示相关的上下文。. . . . 4 / 392.22.2 数据库访问技术数据库访问技术分析分析.1JDBCJDBC 数据库访问技术数据库访问技术JDBC 是一种用于执行 SQL 语言的 JavaTM API。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯 Java API 来编写数据库应用程序。有了 JDBC,向各种数据库发送SQL 语句就是一件很容易的事。而且使用 Java 编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将 Java 和 JDB
23、C 结合起来将是程序员只须写一遍程序就可以让它在任何平台上运行。Java 具有坚固、安全、易于理解和可以从网络上自动下载等特性是编写数据库应用的杰出语言。所需要的只是Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。JDBC 扩展了 Java 的功能。JDBC 使信息传播变得容易经济。Java 和JDBC 可为外部客户提供获取信息更新的更好方法。.2 HibernateHibernate 中间件中间件Hibernate 是一个免费的开源 Java 包,它使得与关系数据库打交道变得十分轻松,就像数据库中包含普通 Java 对象一样。Hib
24、ernate 是采用 ORM 映射机制的持久层开发工具,它是 Java 应用和关系数据库之前的桥梁,负责 Java 对象和关系数据之间的映射。部封装了 JDBC 访问数据库的操作,向上层应用提供了面向对象的数据库访问 API,在 JAVA 应用中使用到 Hibernate 包含如下步骤:创建 Hibernate 配置文件;创建持久类;创建对象、关系、映射文件;通过 Hibernate API 编写访问数据库的代码。创建 Hibernate 的配置文件 Hibernate 从中读取和数据库连接的相关信息,这个配置文件应该位于应用的 classpath 中,主要有两种形式:XML 格式和.Prop
25、erteis 信息文件。创建持久化类就是指需要被 Hibernate 持久化到数据库中的类,持久化类通常都是模型中的实体类,符合 JavaBean 的规,包含一些属性,以与与之对应的 get、set 方法。Hibernate 技术本质上是一个提供数据库服务的中间件。利用数据库以与其他一些配置文件如 perties,XML Mapping 等来为应用程序提供数据持久服务的。. . . . 5 / 392.32.3 J2EEJ2EE 开发开发J2EE 平台通过 JavaMail API 提供标准的服务。JavaMail API 允许在应用程序中以独立于平台、独立于协议的方
26、式收发电子。JavaMail API 的设计是,为收发信息提供与协议无关的访问。它提供平台无关的和协议无关的框架来构建基于Java 技术的和消息传递应用。JavaMail 是 J2EE 规的核心组成部分,它为 Web 应用提供电子服务,把客户端(包含发送方和接收方)分为三层:应用层,JavaMail API 层和协议实现层。(1) JavaMail 应用层应用层可以存在于 J2EE 体系架构中的 Web 层和业务层。典型的应用如:企业应用中利用 JavaMail 向客户发送注册确认通知,向客户发送购物订单信息,以与宣传企业产品信息等等。企业用户也可以利用 JavaMail 收取企业中的,并进行
27、自动处理。所以应用层有三种典型的应用:发送,接收和处理。(2) JavaMail API 层JavaMail API 提供基本的系统的对象,它主要包括 javax.mail 包与其子包。JavaMail 包含的主要的类中,构成 API 的核心类包括:会话(Session )、消息(Message )、地址(Address )、认证(Authenticator )、传输(Transport )、存储(Store)和文件夹(Folder )。所有这些类都可以在 JavaMail API 即javax.mail 的顶层包中找到,使用的子类可在 ernet 包中找到,由它们
28、可以组成典型的系统。(3)JavaMail 协议实现层在服务中,一般来说有 2 种不同类型的协议需要实现。传输(Transport)是Sun 用于服务的原语,该服务能够把消息发送到它的目的地。最常使用的传输类型是普遍采用的 SMTP 传输。而另一个类型是存储(Store),它也是服务,可以连接到这个服务来取得己经传输到用户中的消息。POP3 就是个存储转发的信息交换系统,而 IMAP 被设计成 POP 的超集。协议实现层主要实现 API 层中的 Transport和 Store 服务。. . . . 6 / 392.42.4 开发环境介绍开发环境介绍.1DREAMWEAVERD
29、REAMWEAVER 8 8DREAMWEAVER 是美国 MACROMEDIA 公司开发的集网页制作和管理于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。其特点有以下几方面: 制作效率高:DREAMWEAVER 可以用最快速方式 Fireworks,FreeHand,或Photoshop 等档案移至网页上。 管理方便:使用地图可以快速制作雏形,设计,更新和重组网页。改变网页位置或档案名称,DREAMWEAVER 会自动更新所有连结。 控制能力强:DREAMWEAVER 是唯一提供
30、Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。 全方位的呈现:利用 DREAMWEAVER 设计的网页,可以全方位的呈现在任何平台的热门浏览器上。本系统采用 DREAMWEAVER 8 进行页面设计与 CSS 样式的编写。.2MyEclipseMyEclipse 6.06.0MyEclipse 企业级工作平台是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts,
31、 JSF, CSS, JavaScript, SQL, Hibernate。在结构上,MyEclipse 的特征可以被分为 7 类:J2EE 模型、WEB 开发工具、E 开发工具、 应用程序服务器的连接器、J2EE 项目部署服务、 数据库服务、MyEclipse 整合帮助。对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。MyEclipse 是一款功能强大的 J2EE 集成开发环境,支持代码编写、配置、测试以与除错。 MyEclipse
32、6.0 的发布极大的增强了 Eclipse3.3/Europa 集成开发环境的功能,增加了 Java 6 支持的组件和加快了 AJAX 的开发率,革命性的提高了开发者. . . . 7 / 39的开发效率。MyEclipse 6.0 现在提供了一些高级特性,已经和 Spring、Java 持久化结构开发集成在一起。这项非同寻常的整合,允许用户们创建实体管理器和事务 beans,生成实体和 DOA。在以前版本的基础上,MyEclipse 6.0 增强了一些功能,如平台和安装的更多支持,改进了 Java EE 5 和 Spring 的功能部件,支持 AJAX 开发和测试,支持 RAD Web 开发
33、,具备 Matisse4MyEclipse 可视化 Swing设计器,快速 Java EE 部署和测试。.3 MicrosoftMicrosoft SQLServerSQLServer 20002000(1) 非过程化语言SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有 SQL 语句接受集合作为输入,返回集合作为输出。SQL 的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入。 SQL 不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到
34、的结果。所有 SQL 语句使用查询优化器,它是 RDBMS 的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。(2) 统一的语言SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员与许多其它类型的终端用户。基本的 SQL 命令只需很少时间就能学会,最高级的命令在几天便可掌握。 SQL 为许多任务提供了命令,包括: 查询数据 在表中插入、修改和删除记录 建立、修改和删除数据对象 控制对数据和数据对象的存取 保证数据库一致性和完整性以前的数据库管理系统为上
35、述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中。(3) 是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的. . . . 8 / 39技能从一个 RDBMS 转到另一个。所有用 SQL 编写的程序都是可以移植的。SQL Server 2000 是一种关系数据库,它除了支持传统关系数据库组件(如数据库、表)和特性(如表的 JOIN)外,另外也支持当今关系数据库的常用组件,如存储过程、视图等。另外,它还支持目前关系数据库都支持的标准查询语句SQL ( Structured Query Language)。SQL 另外一项重要的
36、特点是它支持数据库复制功能。也就是当在一个数据库执行操作时,可以将其操作结果传至远程的SQL 一样的数据库上,让两边的数据库的数据保持同步。.4 TomcatTomcat 6.06.0Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta项目中的一个核心项目,由 Apache,Sun 和其他一些公司与个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规总能在 Tomcat 中得到体现。 与传统的桌面应用程序不同,Tomcat 中的应用程序是一个 WAR(WebArchive)文件。WAR 是 Su
37、n 提出的一种 Web 应用程序格式,与 JAR 类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有 Html和 JSP 文件或者包含这两种文件的目录,另外还会有一个 WEB-INF 目录,这个目录很重要。通常在 WEB-INF 目录下有一个 web.xml 文件和一个 classes 目录,web.xml 是这个应用的配置文件,而 classes 目录下则包含编译好的 Servlet 类和 JSP 或 Servlet 所依赖的其它类(如 JavaBean) 。通常这些所依赖的类也可以打包成 JAR 放到 WEB-INF 下的 lib 目录下,当然也可以放
38、到系统的 CLASSPATH 中,但那样移植和管理起来不方便。 Tomcat 不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 JSP 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。2.52.5 本章小结本章小结良好的开发环境和开发工具是开发系统的重要条件。本系统利用 JSP 语言的动态性和 Microsoft
39、 SQLServer2000 数据库的强大功能以与 AJAX 得异步能力来. . . . 9 / 39编译程序,并采用 Hibernate 中间件技术连接数据库,来完成对数据库的添加、修改、删除和查询等操作。本章主要对系统的开发环境和开发技术做了一个简要的介绍。通过 AJAX 技术异步通信的特点来分析系统的异步能力设计。通过对数据库访问技术的介绍和比较选择系统采用的 Hibernate 中间件数据库访问技术。通过对 Microsoft SQLServer2000 数据库面向对象、集成环境、处理多种数据信息等特点的分析,系统最终采用了 Microsoft SQLServer2000 数据库进行开
40、发。通过对 JavaMail 的介绍,来了解 JavaMail 的处理能力。通过对 DREAMWEAVER 和 MyEclipse 编程环境的功能介绍来分析选择系统编译的环境。最后,通过对Tomcat 的介绍,分析选择 Tomcat 作为系统的 Web 服务器的优越性。第第 3 3 章章 系统需求分析系统需求分析3.13.1 系统设计原理系统设计原理一个电子系统一般应具有两个子系统:用户代理 MUA(Mail User Agent),又称用户接口,它允许人们读取和发送电子;传输代理 MTA(Mail Transport Agent),它将消息从出发地传到目的地。用户代理是一个本地程序,它提供命
41、令行方式、菜单方式或图形方式的界面来与服务器交互。传输代理是在后台运行的系统程序,在系统间传输电子。用户代理部分至少应该具有以下功能:撰写:给用户提供很方便的编辑信件的环境;显示:能方便地在计算机屏幕上显示出来信(包括信件附上的声音和图像);处理:收信人应能根据情况按不同方式对信件进行处理。传输代理应具有以下功能:传送和代理:电子按照客户服务器方式工作。当用户编辑好要发送的后,就通过用户接口交给传输程序。发送信件时,传输程序作为远程目的计算机服务器的客户,与目的主机建立 TCP 连接,并将传送到目的主机。一接收方计算机的传输程序在收到后,将存放在接收方的中,等待着用户来读取。由于用户代. .
42、. . 10 / 39理的屏蔽作用,用户在发送和接收时看不见传输程序的工作情况;报告:将传送的情况(已交付、被拒绝、丢失等)向发信人报告。目前使用最多的 MUA 应该要算是 Mirosoft 的 Outlook 和 Outlook Express 这类的客户端程序虽然方便,但常碰到的一个问题就是在默认情况下一旦被收进某台电脑中,从其他电脑就读不到这个了,因此必须设置在服务器上保存副本,才能从其他电脑读取。同时,此类客户端程序必须在用户电脑上进行安装配置,这对于需要移动办公的人员来说又显得极为不便,这时候 WebMail 就显出它的方便之处了。WebMail 就是使用者通过浏览器连到 Web 服
43、务器,而由 Web 服务器上的程序负责作收信/发信的动作。使用者直接通过浏览器进行读信/写信等操作,信件其实并不存在于使用者的电脑上。因此无论使用者用的是哪一部电脑,只要可以连上网络,都可以读到以前的和新收到 的信件。另外一个好处是 WebMail 不容易因为读取含有病毒的文档而导致中毒,更不会发生个人系统中毒后,寄送大量病毒信件给其他亲朋好友。如图 3-1 所示,在发信方面,WebMail 程序以 SMTP 协议和服务器上的 MTA 勾通,将信件经由 MTA 送往 Internet。而在信件的处理上,则是通过 POP3 或是 IMAP4进行存取。. . . . 11 / 39图图 3-1We
44、bMail3-1WebMail 收收/ /发信件发信件3.23.2 系统主要功能要求系统主要功能要求根据 Web 系统的目标和特性,系统所需功能可用下图 3-2 表示(1) 系统登入用户输入用户名和密码,系统查询数据库中的信息对密码进行验证。如密码不正确将不能进入系统;如密码正确,系统会自动根据该用户的信息进入系统配置界面。. . . . 12 / 39邮件系统用户管理邮件管理通讯录管理邮件标签管理注册新用户用户信息管理写新邮件收件箱阅读邮件转发邮件删除邮件添加组编辑组属性添加联系人联系人管理添加新标签编辑标签属性给邮件贴标签图图 3-23-2 系统功能系统功能(2) 用户管理注册新用户:系统
45、的开始是用户注册,只有注册成功的用户才可以登录进入系统。用户信息管理:为用户提供用户个人信息的修改和查阅,修改用户信息功能还包括修改密码和修改用户基本信息两个部分。(3) 管理写新:为用户提供撰写新的输入界面,在此,用户可以输入的相关发送地址、主题、容和携带的附件。收件箱:以列表形式显示用户所收到所有。阅读:通过收件箱的,查看的容,包括显示发件人的地址、的主题、的容和所携带的附件。转发:实现将收到的进行转发,用户只需输入转发的目的地址就可以完成的转发操作。删除:删除用户收到的。(4) 通讯录管理添加组:用户创建属于自己的新组。编辑组属性:用户可编辑修改组的信息,如组的名称。添加联系人:用户添加
46、属于所选择组的联系人。联系人管理:用户可修改联系人的相关信息,并通过所修改的信息,可将联系人移动到其他的组。(5) 标签管理添加新标签:用户创建新的标签。编辑标签属性:用户编辑标签的属性,如名称等。给贴标签:用户可以给指定相应的标签。. . . . 13 / 393.33.3 本章小结本章小结需求分析是一个非常重要的过程,因为它具有决策性,方向性,策略性的作用,在软件开发的过程中具有举足轻重的地位。本章主要介绍了项目规划中各个功能模块的作用。通过系统设计图来更好的体现这个框架的结构,使得软件的体系更明确,使得编程过程有的放矢,编程工作更好的有序开展。第第 4 4 章章 数据库设计数据库设计4.
47、14.1 数据库结构分析数据库结构分析数据库设计是数据库应用系统开发过程中首要的和基本的容。数据库是信息系统的核心和基础。它把信息系统中的大量数据按照一定的模型组织起来,提供存储、维护、检索数据的功能,是信息系统可以方便、与时、准确从数据库中获取所需的信息。一个信息系统的各个部分能否紧密的结合在一起以与如何结合,关键在数据库。因此必须对数据库进行合理设计。系统的需求体现在对与相关的各种信息的提供、保存、更新和删除等方面。因此,一个满足需求的数据库必须充分满足对各种信息的输入输出需求。通过前面对系统功能模块的分析与设计,得出该系统对数据库的创建需要满足以下需求:(1) 掌握文件夹中所有的总体信息
48、,如总数,新数等。(2) 从文件夹中能够获得。(3) 每一份都有标题、发件人、收件人等信息。(4) 通过信息,能获得的附件信息。可以查看每个分组的联系人, 。(5) 通过信息,获得所有用户标签贴在上的标签。(6) 通过联系人组可获得组所有的联系人,能对联系人的信息进行维护和修改。进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理) 。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。综合上面对报价系统数据库的需求分析,设计如下的数据项和数据结构:(1) 文件夹的数据项:文件夹编号、文件夹名称、文件夹
49、的总数、文件夹的新总数等信息。. . . . 14 / 39(2) 的数据项:号、标题、的发件人、的发送时间、是否带附件、所属的文件夹号。(3) 附件的数据项:附件号、附件标题、附件、所属号等信息。(4) 标签的数据项:标签号、标签名称。(5) 标签关系的数据项:编号、标签号、号。(6) 用户组的数据项:组号、组名。(7) 联系人的数据项:联系人号、联系人名称、联系人的地址、所属组号等信息。4.24.2 概念结构设计概念结构设计概念结构设计是将分析得到的用户需求抽象为概念模型的过程。即在需求分析的基础上,设计出能够满足用户需求的各种实体以与它们之间的相互关系概念结构设计模型。这样才能更好地、更
50、准确地用某一 DBMS 实现这些需求。它是整个数据库设计的关键。概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是 E-R 模型。设计概念结构通常有四类方法:(1) 自顶向下。即首先定义全局概念结构的框架,然后逐步细化;(2) 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;(3) 逐步扩。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;(4) 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它
51、为骨架集成由自底向上策略中设计的各局部概念结构。其中最经常采用的策略是自底向上方法。即自顶向下进行需求分析,然后再自底向上设计概念结构。系统 E-R 图如图 4-1 所示:. . . . 15 / 39标签持有包含邮件邮件文件夹标签号 PK标签名文件夹号 PK新邮件总数邮件号 PK附件标志发件人主题文件名邮件总数组号 PK组名联系人号联系人邮件地址联系人名联系人组联系人包含1N1NNM. . . . 16 / 39图图 4-14-1 系统总体系统总体 E-RE-R 图图4.34.3 逻辑结构设计逻辑结构设计逻辑结构设计一般分三步进行:(1) 将概念结构转化为一般的关系,网状,层次模型;(2)
52、将转化来的关系,网状,层次模型向特定的 DBMS 支持下的数据模型转换;(3) 对数据模型进行优化。对关系模式进行必要的分解合并和优化,形成以下的逻辑结构:表表 4-14-1 文件夹表文件夹表字段名称数据类型字段大小必填字段默认值备注MailFolderIDint4Y无主键Namevarchar20Y无文件夹名MailTotalint4Y无总数NewMailTotalint4Y无新总数表表 4-24-2 信息表信息表字段名称数据类型字段大小必填字段默认值备注MailIDint4Y无主键MailSubjectvarchar30Y无主题FromAddressvarchar30Y无发件人地址Rece
53、iveDatedatetime8Y无收件时间IsNewtinyint1Y1新标志AttachmentFlatinyint1Y无附件标志. . . . 17 / 39gFolderIDint4Y无文件夹号表表 4-34-3 附件信息表附件信息表字段名称数据类型字段大小必填字段默认值备注AttachmentIDint4Y无主键Namevarchar20Y无附件名表表 4-44-4 标签信息表标签信息表字段名称数据类型字段大小必填字段默认值备注TagIDint4Y无标签号Namevarchar10Y无标签名CreatDatedatetime8Y无创建时间表表 4-54-5 标签联系信息表标签联系信息
54、表字段名称数据类型字段大小必填字段默认值备注MailTagIDint4Y无编号MailID int4Y无号TagIDint4Y无标签号表表 4-64-6 联系人组信息表联系人组信息表字段名称数据类型字段大小必填字段默认值备注GroupIDint4Y无组号GroupNamevarchar10Y无组名xu数字10N无顺序表表 4-74-7 联系人信息表联系人信息表字段名称数据类型字段大小必填字段默认值备注LinkmanIDint4Y无联系人号Namevarchar20Y无联系人名Emailvarchar20Y无地址GroupIDInt4Y无组号表表 4-84-8 用户信息表用户信息表. . . .
55、 18 / 39字段名称数据类型字段大小必填字段默认值备注UserIDint4Y无用户号Namevarchar20Y无用户名Nicknamevarchar10Y无昵称Sextinyint1Y无性别Passwordvarchar2010无用户密码4.44.4 数据库安全性和完整性数据库安全性和完整性.1 数据库的安全性数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统都有这个问题,在数据库系统量数据集中存放,为许多用户共享,使安全问题更为突出。在一般的计算机系统中,安全措施是一级一级设置的。在 DB 存储这一级可采用密码技术,当物
56、理存储设备失窃后,它起到作用。在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。数据库安全可分为二类:系统安全性和数据安全性。系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象与在对象上允许作哪些操作类型。.2 数据完整性数据完整性数据完整性(Data Integrity)是指数据的精确性(Accuracy) 和可靠性(R
57、eliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性(Entity Integrity)、域完整性(Domain Integrity)、参照完整性(Referential Integrity)、用户定义的完整性(User-DefinedIntegrity)。(1) 实体完整性(Entity Integrity)实体完整性规定表的每一行在表中是惟一的实体。表中定义的UNIQUEPRIMARYKEY 和 IDENT99vY 约束就是实体完整性的体现。(2) 域完整性(Domain Integrit
58、y). . . . 19 / 39域完整性是指数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值围、精度等规定。表中的 CHECK、FOREIGN KEY 约束和 DEFAULT、 NOT NULL 定义都属于域完整性的畴。(3) 参照完整性(Referential Integrity)参照完整性是指两个表的主关键字和外关键字的数据应对应一致。它确保了有主关键字的表中对应其它表的外关键字的行存在,即保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。参照完整性是建立在外关键字和主关键字之间或外关键字和惟一性关键字之间的关系上的。在 SQL Server 中,
59、参照完整性作用表现在如下几个方面:禁止在从表中插入包含主表中不存在的关键字的数据行;禁止会导致从表中的相应值孤立的主表中的外关键字值改变;禁止删除在从表中的有对应记录的主表记录。(4) 用户定义的完整性(User-Defined Integrity)不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用所涉与的数据必须满足的语义要求。SQL Server 提供了定义和检验这类完整性的机制,以便用统一的系统方法来处理它们,而不是用应用程序来承担这一功能。其它的完整性类型都支持用户定义的完整性。SQL Ser
60、ver 提供了一些工具来帮助用户实现数据完整性,其中最主要的是:规则(Rule)、缺省值(Default)、约束(Constraint)和触发器(Trigger)。4.54.5 本章小结本章小结本章主要介绍了数据库设计的重要性并对自助装机报价系统的数据库进行了分析与设计。通过分析,系统完成了文件夹表、表、附件表、标签表、联系人组表、联系人表等数据库表的设计,通过系统的需求分析来设计每个表的数据项。通过对数据库概念结构的设计和逻辑结构的设计清晰地展现了系统的数据库总体设计以与主要的表中每一个字段属性。最终通过对数据库的需求分析实现后台对表信息的管理。第第 5 5 章章 系统详细设计与实现系统详细
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手绘金鱼国画与西瓜主题艺术课件
- 数学高段课标及教学培训
- 地震逃生和基本救护知识
- 护理查房病历汇报
- 电工电子技术 课件 7. 三相交流异步电动机电路的连接与测试
- 办公室智慧管理方案
- 统编版2024~2025学年度六年级语文第二学期期中模拟卷(有答案)
- 教育功能唐智松
- 第一单元评估检测题( A 卷)单元测试(无答案)三年级下册数学西师大版
- 建筑工程风险管理案例分析
- 电缆绝缘电阻测试记录簿表格
- 体外冲击波疗法课件
- 天津某污水处理厂厂区建设创“海河杯”精品工程QC成果发布
- 药房消防安全应急预案(通用10篇)
- 机器人辅助腹腔镜腹膜外根治性膀胱全切除课件
- 销售管理(第三版)-熊银解
- 概率论与数理统计公式整理(超全免费版)
- 钢箱梁施工方案1(完整版)
- 情景剧《皇帝选妃》
- 罐内升降机防腐施工方案
- 昆虫的内部解剖和生理
评论
0/150
提交评论