




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文 办公自动化系统外部邮箱和通讯录的设计与实现Office Automation SystemDesign and Implement of Outer Mailbox and Address List姓 名: 学 号:学院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 年 月摘要办公自动化系统(OA,Office Automation System)是基于先进的网络互连基础上的分布式软件系统。它通过有效的资源共享和信息交流、发布,达到降低劳动强度、提高工作效率、优化管理流程的目的。网上办公系统通过先进成熟的计算机和网络通信技术,解决了传统办公在沟通、协作、控制等方面存在的问题。它为企业领导提供了有力的决策支持和监督控制手段,实现了企业的办公现代化、信息资源化、传输网络化和决策科学化。作为毕业设计课题,我们设计开发了一个实用的网上办公系统,采用领先的B/S(浏览器/服务器)操作方式,使得企业员工的网络办公不受地域限制,并且为企业提供了一个稳定、易用而又高效的网络办公环境。本文从.net平台的介绍和MVC 设计模式的特点入手,重点论述了基于.net开发平台的办公自动化系统的架构和外部邮箱、通讯录模块的设计与实现方法,并展示了软件的运行及测试结果,最后对本课题开发的外部邮箱和通讯录的设计思想作出总结,并且对这些功能在未来网上办公自动化系统中的运用和发展前景作出展望。关键词:办公自动化;外部邮箱;通讯录AbstractOffice Automation System is a distributing software system which is based on advanced interaction of network. It is more effective on resource sharing, information exchange and publication so as to reduce labor intensity, improve work efficiency and optimize management process. Online Office Automation System resolves the problems of traditional office working in communication, cooperation and controlling by advanced and mature technology of computer and communication networking. It offers powerful decision-making and monitor-controlling methods for leaders of corporations and makes corporations modernization of office, reclamation of information, networking of transmission and scientization of decision come true.As the task of graduation project, we design and develop a functional system of online office which adopts the advanced manipulation mode of B/S (Browser/Server).While, it makes office working not be restrained by region and offers a stable , easy and effective circumstance as well.The thesis starts with the introduction of dot net platform and the design pattern of MVC, however, it focuses on the construction of Office Automation System based on .net platform and the implement of outer mailbox as well as address list module. Also I will show you running and testing results of this software, then summarize the design ideas of outer mailbox and address list. Finally, the prospect of these two functional modules on Office Automation System is proposed on this paper.Keywords: Office Automation; outer mailbox; address list目录第一章引言1第二章系统相关技术概述32.1 .net平台简介32.2 net中的MVC设计模式4第三章 系统总体设计83.1 系统概述及需求83.1.1 开发背景83.1.2 总体目标83.1.3 功能需求93.1.4 接口要求123.2基本设计概念和处理流程133.3系统总体架构143.4 开发运行环境19第四章系统详细设计与实现204.1 系统MVC框架设计204.2外部邮箱模块设计与实现234.2.1 相关技术概述234.2.2 模块总体设计254.2.3 发送邮件部分设计264.2.4 接收邮件部分设计274.3 通讯录模块设计与实现304.4 数据库存储模块设计31第五章系统模块运行结果355.1 系统测试355.2运行结果36第六章结束语42参考文献44致谢语46ContentsChapter 1Introduction1Chapter 2System Related Technologies Outline32.1 Introduction to .NET Platform32.2 MVC Design Pattern in .NET4Chapter 3 System Overall Design83.1 System Profiler and Requiremen83.1.1 Development Background83.1.2 Overall Objectve83.1.3 Functional Requirements93.1.4 Interface Requirements123.2 Basic Design Concepts and Processes133.3 System Overall Architecture143.4 Development Environments19Chapter 4System Detail Design and Implement204.1 System MVC Framework Design204.2 Exterior Mailbox Module Design and Implement234.2.1 Related Technology Outline234.2.2 Module Overall Design254.2.3 Design for Sending Email264.2.4 Design for Receiving Email274.3 Address List Module Design and Implement304.4 Data Storage Module Design31Chapter 5System Modules Running Results355.1 System Testing355.2 Running Results36Chapter 6Summarize42References44Acknowlegement46办公自动化系统第一章引言进入21世纪,随着全球信息化步伐的加快和Internet的迅猛发展,信息化的社会方式正逐步席卷全球,网络经济正在全球崛起。办公自动化作为各种先进设备和各种软件功能的有机结合体,是现代信息社会的重要标志之一。伴随着国内电子政务和企业信息化的发展,市场上出现的办公自动化系统越来越多。根据技术和市场的发展,我们把它们归结为四代产品:第一代,基于RDBMS的办公自动化产品具有简单的公文流转等办公功能;第二代,基于IBM Lotus NOTES(简称NOTES) 客户端的办公自动化产品具有复杂的公文流转等办公功能,但需要客户端安装,不便于客户端维护;第三代,基于 NOTES的浏览器界面办公自动化产品克服第二代的缺点,但在企业信息门户,知识共享等方面存在缺点;第四代,融入办公自动化和企业信息门户功能的新一代办公自动化系统具有内外网结合的协同办公功能。当代社会已经进入信息时代,信息技术革命使社会的各个领域都发生了翻天覆地的变化,每个企业都必须紧跟时代的步伐,加强企业竞争力,提升现代化企业的管理能力,以适应整个社会的发展变化。企业对信息需求的增长,使计算机、网络技术已经渗透到企业的日常工作中。传统的办公模式、对信息的处理方法,早已不能满足企业对大量信息的快速传递与处理的需求。一个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决定着企业的发展方向。从传统的办公模式向自动化办公管理模式转变,提高企业的信息处理能力,以增强企业的市场竞争力,成了企业发展过程中的首要问题。中小企业办公自动化管理系统的应用满足了企业的办公网络化、自动化的管理需求,提高了企业内部的管理水平,进而全面提升了企业在市场竞争中的综合竞争力。基于网上办公自动化系统发展的基础,本人同郭丽红、林玲、吴冬青、张小平和廖忠涛六人在导师的亲自指导下共同合作完成了一个实用的网上办公系统。它采用领先的B/S(浏览器/服务器)操作方式,使得网络办公不受地域限制,并且为企业提供了一个稳定、易用而又高效的网络办公环境。此外,通过完成该毕设项目,可以进一步的熟悉软件工程的全过程,并且锻炼自己的编程能力。该网上办公自动化系统主要包括内部收发文、待办工作、内部文件交流、外部邮箱、通讯录、公告、论坛、网络硬盘、搜索、后台帐号和权限管理、角色管理、日历日程、生活娱乐等功能。在实际的项目开发中,本人主要负责外部邮箱和通讯录两个模块的设计和实现。通过外部邮箱功能可以与企业外部人员进行非实时的通信,方便同企业外部人员进行信息交流与沟通。外部邮箱是一种用电子手段提供信息交流的通信方式,它通过连接全世界的Internet,实现各类信号的传送、接收和存储等处理过程,是全球多种网络上使用最普遍的一项服务。而对于本系统中的通讯录,首先,它可以快速、安全地备份您当前的通讯录,并以excel表格的形式保存到您的本地计算机;其次,它具有方便而又快速的信息查找功能;再次,您可以通过在线编辑或者更新通讯簿中的任何一条联系人信息,实现快速又方便的通讯录管理功能。外部邮箱必须利用电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)来发送邮件,并且通过pop3来接收邮件服务器上的邮件。本次毕业设计开发的办公自动化系统没有自己的邮件服务器,但电子邮件必须通过邮件服务器来传递文档,因此,本人借助外部现成的邮件服务器来进行收信和写信。在本系统中,每个用户在注册的时候系统自动为其创建一条记录,包括用户邮箱和通讯录的默认文件夹信息。当用户第一次登录邮箱时,系统提醒用户激活邮箱功能,用户需要输入一个现成的外部邮箱地址和相应的邮件服务器地址才能成功激活。在用户激活邮箱功能以后,就可以进行收信、发信或者对信件进行管理等操作。本文从.net平台的介绍和MVC 设计模式的特点入手,重点论述了基于.net开发平台的办公自动化系统的架构和外部邮箱、通讯录的设计与实现方法,并展示了软件的运行及测试结果,最后对本课题开发的外部邮箱和通讯录的设计思想作出总结,并且对这些功能在未来网上办公自动化系统中的运用和发展情景作出展望。第二章系统相关技术概述2.1 .net平台简介Microsoft.NET 是 Microsoft.NET XML Web Services 平台。XML Web Services 允许应用程序通过 Internet 进行通讯和共享数据,而不管采用的是哪种操作系统,设备或编程语言。Microsoft.NET 平台提供XML Web Services 并将这些服务集成在一起,为个人用户的好处是无缝的,吸引人的体验1。.NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发者工具和ASP.NET。而ASP.net是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式更具有强大的的优势。ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序1。利用asp技术可以写出很多很漂亮的动态网页,动态网页是网页中包含有需要在Web服务器执行的代码。当我们向Web服务器请求一个动态网页的时候,对于页面的HTML代码部分,Web服务器直接传送给浏览器了,而对于需要在Web服务器执行的代码,自然是Web服务器执行该部分代码并将最终的执行结果也就是HTML代码传送给浏览器,因为浏览器不认识动态代码。也就是不论以何种语言编写的动态网页,到达浏览器的时候都是HTML代码。当然不同的编程语言编写的动态网页,Web服务器会以不同的方式运行这些代码,更专业一点的说法是Web服务器会交给不同的程序去执行这些代码,这些执行代码的程序我们称之为脚本引擎。目前比较流行的Web服务器有IIS(Internet Information Server)和Apache。前者是微软开发的,具有微软一贯的使用简单的特点,它运行Windows操作系统上,而Apache是一个开源软件,有Windows和Linux等系统下版本。我们做开发主要是使用IIS,在此项目中使用的web服务器就是IIS。ASP.NET 支持 XML Web services。XML Web services 是包含业务功能的组件,利用该业务功能,应用程序可以使用 HTTP 和 XML 消息等标准跨越防火墙交换信息。XML Web services 不用依靠特定的组件技术或对象调用约定1,2。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问 XML Web services。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。2.2 net中的MVC设计模式本系统程序内部结构采用的是MVC 三层框架模式,ASP.net提供了一个很好的实现这种经典设计模式的类似环境。开发者通过在ASPX页面中开发用户接口来实现视图;控制器的功能在逻辑功能代码(.cs)中实现;模型通常对应应用系统的业务部分。在ASP.NET中实现这种设计而提供的一个多层系统,较经典的ASP结构实现的系统来说有明显的优点。将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来可以让你设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法3。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2-1所示:图2-1:MVC组件类型的关系和功能Model 为模型层,这和下图的model类(实体类)是不一样的。MVC系统中的模型从概念上可以分为两类系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从ProcessBase类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现时把做什么(业务处理)和如何做(业务实体)分离。这样可以实现业务逻辑的重用4。Controller 为控制器,它接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web 页面中的超链接和发送HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。View 是用户视图,用户直接接触到的就是视图,是由一些HTML 等元素组成的用户界面。视图是模型的表示,它提供用户交互界面。使用多个包含单显示页面的用户控件,复杂的Web页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些Web页面的开发和维护。视图部分大致处理流程如下:首先,模板页面定义了页面的布局;页面配置文件定义视图标签的具体内容(用户控件);然后,由页面布局策略类初始化并加载页面;每个用户控件根据它自己的配置进行初始化,加载校验器并设置参数,以及事件的委托等;用户提交后,通过了表示层的校验,用户控件把数据自动提交给业务实体5。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层,如图2-2所示:图2-2:三层的分层式结构数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。本系统使用的数据访问层中,并没有使用ORM,从而导致了代码量的增加,可以看作是整个设计框架实现中的一大败笔。业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关。以电子邮件模块例,业务逻辑层的相关设计,均和电子邮件模块特有的逻辑相关,例如写邮件,发邮件,新建文件夹等等。如果涉及到数据库的访问,则调用数据访问层。表示层:是系统的UI部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。在本系统的设计中,是利用ASP.Net来设计的,因此包含了许多Web控件和相关逻辑5。第三章 系统总体设计3.1 系统概述及需求3.1.1 开发背景全球性的网络化、信息化进程正改变着人们的生活方式,Internet技术应用以及电子商务的飞速增长给人们生活工作的各个层面带来了深刻的影响。回顾我国政务信息化的进程,大致可分为三个阶段:(1)以桌面字处理工具为典型的个人办公工具软件阶段, 计算机应用提高了个人工作效率。(2)基于关系型数据库技术,以C/S体系结构应用为特征阶段,这一阶段基本实现了部门级的数据处理、公文处理等的自动化。(3)基于符合Internet/Intranet技术标准的平台应用阶段,这一阶段,不仅在技术上有了很大进步,而且应用范围已从部门内部、部门之间扩展到行业/系统内部,乃至跨部委跨系统6。目前办公自动化系统较成熟的模式是客户/服务器方式,而新一代的办公自动化系统则应是Internet/Intranet方式,即B/S(Browser/Server,B/S)结构,这样的办公自动化系统才更能适应目前及未来的发展要求。该课题就是基于B/S架构的网上办公自动化系统的设计与实现,采用领先的B/S(浏览器/服务器)操作方式,使得网络办公不受地域限制为企业提供一个安全、稳定、高效、易用而快捷的网络办公环境。该项目为厦门大学软件学院05级学生毕业设计的内容,是由、郭丽红、林玲、吴冬青、张小平和廖忠涛六人共同合作完成的,并且是由导师亲自指导的。在这个项目中我们每个成员负责设计和实现几个模块,这几个模块最终就组成了我们需要的基于B/S架构的网上办公系统。3.1.2 总体目标我们设计的是网上办公自动化系统,要求具有收文、发文、论坛、信息发布、搜索、邮件发送、通讯录、后台管理、娱乐生活等功能。建立办公自动化系统的总体目标为:以确保系统实用、可靠、先进为原则,构造企业级通信平台,实现电子邮件管理;建立以信息流转为核心的办公自动化系统;实现信息管理自动化、无纸化作业;结合公共信息管理、个人事务管理以及档案管理,在统一工作桌面下实现企业级信息共享,建立业务流程自动化、图文传递电子化、文档一体化等的办公自动化系统,最终提高企业工作效率和管理水平,增强企业的竞争力;为客户端提供简单易用的操作界面;具有方便使用,安全性高的在线权限管理系统;更进一步,还可借助于Internet/Intranet技术,把企业的有关信息对内对外进行实时发布,以提高企业形象和知名度,增强企业的凝聚力17。3.1.3 功能需求网上办公系统主要包括以下功能模块:内部收发文,待办工作,外部邮箱功能,通讯录,公告,论坛,网络硬盘,搜索,共享,后台帐号和权限管理,角色管理,日历日程,生活娱乐等功能。外部邮箱和通讯录两个模块的设计与实现,本人负责的模块为:1.外部邮箱模块该模块是一种用电子手段提供信息交换的通信方式。用过网络的电子邮件系统,用户可以用非常低廉的价格(不管发送到哪里,都只需要负担电话费和网费即可),以非常快速的方式发送到世界上任何你指定的目的地,使得公司内部员工足不出户就可以和世界上任何一个角落的网络用户联系6。并且公司内部文件可以通过内部网站的收发文系统发送到电子邮件系统,再由电子邮件系统将文件发送到世界各个角落。最重要的是,电子邮件是整个网间网以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人通信的需求。功能包括:(1) 发送邮件/接收邮件:邮件包括发件人,收件人,主题,附件和 正文等。(2) 具有收件箱存放发送的邮件,发件箱存放已发送的邮件,垃圾 箱存放被暂时删除的邮件。(3) 具有我的文件夹管理功能,可以新建/删除/修改文件夹信息。(4) 对邮箱设置自动回复功能,可以编辑自动回复的模板,并且选择合适的自动回复模板为邮箱设置自动回复功能。(5) 新建/删除/修改邮箱联系人信息。(6) 系统通知,可以查看来自邮件系统的通知,管理员有权限发送系统邮件。(7) 对邮件进行的管理,具体包括增/删/改邮件信息,将邮件收藏到特定的文件夹下面。图3-1显示了外部邮箱的用例图,具体包括系统用户的一些常用功能。图3-1:外部邮箱用例图2.通讯录模块通讯录一般在日常生活中用笔记录,该模块要求公司网上办公系统也拥有这个功能。主要是记录一些主要联系人的联系方式,方便员工进行即时通信。主要包括以下功能:(1) 新建/删除/修改联系人的信息:具体包括姓名,手机/电话号码、Email、QQ、MSN、单位(写明具体部门)、职位、通信地址等通信录信息。(2) 对联系人进行分组管理,可以新建、编辑、删除联系人组。(3) 支持通过Excel格式批量导入联系人。(4) 对联系人进行快速搜索,可以通过姓名或其他关键字进行搜索。(5) 浏览通讯录信息,具体包括浏览不同联系人组下面的联系人信息和全部联系人信息。(6) 对通讯录信息进行即时的备份,支持excel格式导出联系人信息。图3-2显示了个人通讯录的用例图,具体包括通讯录模块的主要功能点。图3-2:个人通讯录用例图3.1.4 接口要求外部接口:1. 通讯接口要求安装TCP/IP 协议。2. 服务器端要求安装Microsoft Visual Studio 2005 和Microsoft SQL Server 2005。3. 客户端要求为Windows98Se 以上,并且安装有6.0 以上的IE 版本。4. 用户通过网页来访问网站,通过输入页面的URL地址进行访问,也可以通过点击网页上的连接来跳转页面的访问。5. 系统响应用户的正确输入为输出正确的数据结果到新的跳转页面,对不正确的输入则弹出新的页面报予提示性的错误信息。内部接口:1. 表现层和控制层的接口设计:通过相关的配置文件,在用户启动相关操作之后,首先加载相应的页面,在触发事件的接口方法里面实现控制层的方法,再交由控制层去实现相关的业务操作。2. 控制层与业务层的接口设计:控制层直接调用BLL 里面的业务接口,BLL 层的业务接口直接去调用DALFactory 和IDAL 接口来实现具体的业务方法,而SQLServerDAL 则实现了IDAL 的接口方法。3. 业务层与持久层的接口设计:由对应的BLL 直接调用对应的Model。3.2基本设计概念和处理流程该系统是基于 B/S(Browser/Server)架构的三层体系结构,即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统的维护与升级的成本和工作量,降低了用户的总体成本。系统主要是为了企业员工网上办公的需要而设计的,所以要求只有登录后才能进行操作,同时为了达到简单易用的效果,大的功能点都直接出现在模板页的横条菜单栏中。而对于外部邮箱和通讯录的子功能点则通过各自模块左边导航条的树形菜单进行提示,用户可以直接点击树形节点转到需要的页面进行信息浏览和相关操作。在这个系统中,本人负责的模块是电子邮件和个人通讯录,因此下面就外部邮件和个人通讯录的操作流程做了一些概括性的介绍。如图3-3所示:注册用户身份验证退出系统主页个人通讯录电子邮件收文发文订餐系统游戏电子地图论坛后台管理日程安排图3-3:系统总体操作流程3.3系统总体架构进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。Model objectsASP.NET Web SitesBusiness ComponentsDAL InterfaceDAL FactoryUser Interface ProcessingPresentation LayerEnterprise ServicesBusiness Logic LayerData Access LayerSQL Server DALOracle DAL图3-4:系统总体框架图由图3-4可以看出松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。如果降低层与层间的依赖性,既可以良好地保证未来的可扩展,并且在复用性上也是具有明显的优势的。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发7。在本系统中用到的各个模块之间的接口如图3-5所示:图3-5:系统总体框架界面后台代码调用BLL层的业务方法,BLL层的具体业务方法调用继承IDAL接口的实现类SQLServerDAL中的方法,而SQLServerDAL中定义的方法负责将实体和后台数据库进行绑定,实现前台操作和后台数据库的同步更新。在数据访问层(DAL)中,采用DAL Interface抽象出数据访问逻辑,并以DAL Factory作为数据访问层对象的工厂模块。对于DAL Interface而言,分别有支持MS-SQL的SQL Server DAL和支持Oracle的Oracle DAL具体实现(本系统用的是MS-SQL)。而Model模块则包含了数据实体对象5。其详细的模块结构图如图3-6所示:图3-6:数据访问层的模块结构图可以看到,在数据访问层中,完全采用了“面向接口编程”思想。抽象出来的IDAL模块,脱离了与具体数据库的依赖,从而使得整个数据访问层有利于数据库迁移。DALFactory模块专门管理DAL对象的创建,便于业务逻辑层访问。SQLServerDAL和OracleDAL模块均实现IDAL模块的接口,其中包含的逻辑就是对数据库的Select,Insert,Update和Delete操作。因为数据库类型的不同,对数据库的操作也有所不同,代码也会因此有所区别。此外,抽象出来的IDAL模块,除了解除了向下的依赖之外,对于其上的业务逻辑层,同样仅存在弱依赖关系,如图3-7所示:图3-7:业务逻辑层的模块结构图图3-7中BLL是业务逻辑层的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,而必须通过数据访问层。注意图中对数据访问业务的调用,是通过接口模块IDAL来完成的。既然与具体的数据访问逻辑无关,则层与层之间的关系就是松散耦合的。如果此时需要修改数据访问层的具体实现,只要不涉及到IDAL的接口定义,那么业务逻辑层就不会受到任何影响。毕竟,具体实现的SQLServerDAL和OracalDAL根本就与业务逻辑层没有半点关系。由于业务逻辑相对简单,所以在本系统的设计中我们将核心的业务逻辑都放到了一个模块BLL中,并没有将具体的实现和抽象严格的按照模块分开。所以表示层和业务逻辑层之间的调用关系,其耦合度相对较高,但是这样的设计实现相对来说比较简单,层次清晰明显。其表示层和业务逻辑层的关系如图3-8所示:图3-8:表示层的模块结构图3.4 开发运行环境服务器端:(1) 硬件环境:P42.8E CUP,256M内存,1G以上硬盘空间。(2) 系统软件:操做系统windows2000/XP/Pro2003,IIS和MVS 2005, SQL Server 2005数据库以及JETDB数据库驱动。(3) 数据库:Microsoft SQL Server 2005。客户端:(1) 硬件环境:P42.8E CUP,256M内存,1G以上硬盘空间。(2) 系统软件:Windows98Se以上,IE6.0以上版本。 第四章系统详细设计与实现4.1 系统MVC框架设计本文在前面两个章节中介绍了MVC设计模式的原理和本系统的总体框架的设计,在这个章节中将重点对系统的框架的详细设计做个介绍。与软件所处理问题的内在模型相比较,用户界面是需要经常发生变化的,采用MVC设计模式可以在满足对界面要求的同时,使软件的计算模型独立于界面的构成。也可以基于此模型建立大型分布式应用程序框架。在ASP.NET下,视图的实现很简单。可以像开发WINDOWS界面一样直接在集成开发环境下通过拖动控件来完成页面开发。本文中介绍每一个页面都采用复合视图的形式即:一个页面由多个子视图(用户控件)组成;子视图可以是最简单HTML 控件、服务器控件或多个控件嵌套构而成的Web自定义控件。页面都由模板定义,模板定义了页面的布局、用户控件的标签和数目,我们每个成员都指定一个属于自己的模块的模板页,在各自的模板页中可以将模块的左边导航菜单加进去,而没有左边导航条的模块则不需要左边导航条。针对静态的模板内容,如页面上的站点导航,菜单,友好链接,这些使用缺省的模板内容配置;针对动态的模板内容(主要是业务内容), 由于用户的请求不同,只能使用后期绑定,并且针对用户的不同,用户部件的显示内容进行过滤,比如在外部邮箱模块中管理员具有发送系统通知的权限,而普通用户只能接收系统邮件,而不能发送系统邮件。页面的设计是由用户控件根据模板页的配置组成的组合页面,它增强了可重用性,并原型化了站点的布局。图4-1是表示层和业务逻辑层之间的接口关系,表示层的aspx页面全部都放在Email_AddressList这个包中,里面定义了相关的用户控件组件和Images图片包以及一些脚本代码。当表现层用户对服务器发出相关请求的时候,后台代码去调用BLL层的代码,以此来做出对表现层用户请求的相关响应请求。BLL层中的Mail类定义了相应的邮件处理函数,如对邮件进行增、删、改、查和其他相关操作;Mailbox定义相应的邮箱处理操作,如对邮箱帐号信息进行编辑,激活邮箱帐号信息等等;MailAttachment定义了相应邮件对应的附件的处理函数;mailBoxUID则定义了在接收邮件时对邮件唯一ID的写入操作;MailAddressList是对邮箱联系人的相应操作;MailFolder定义了对邮箱文件夹的相关处理操作;MailTemplate定义了对邮箱设置自动回复功能的相关操作;对于通讯录则只用到AddressList和AddressListFolder这两个类,AddressList则定义了通讯录联系人信息的增、删、改、查等操作,AddressListFolder类定义了对通讯录文件夹的读写操作。图4-1:表示层的模块详细设计图图4-2显示的是业务逻辑层之间的相互调用,具体的实现类如图4-2所示:图4-2:逻辑层的模块详细设计图在图4-2中,BLL里面的代码实现仅仅是函数的定义,必须通过DALFactory构造出IDAL对象,再由IDAL的实现类来定义BLL中函数的行为。DALFactory层里面的DataAccess类定义了对每个实体Model类的工厂构造方法。实现代码如下:private readonly IAddressList dal =DataAccess.CreateAddressListTable();IDAL层里面类的定义只是对BLL层里面相应方法的抽象定义,是一个模块接口定义,如IMail接口抽象出了对BLL层里面的实现方法。Model层里面的每个类的定义跟数据库中的表形成一一对应关系,BLL层中函数的实现方法必须调用Model层里面的相关实体类完成对相应数据表的相关读写操作。如图4-3可以看出,本系统的模块设计是通过SQLServerDAL来实现IDAL这个接口模块的,在SQLServerDAL中定义了实现IDAL模块的各个类,并且在每个类中都通过model来实现对数据库的相关操作,具体的包括增、删、改、查。其实现类如图4-3所示:图4-3:IDAL详细设计图4.2外部邮箱模块设计与实现4.2.1 相关技术概述电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向 mail server管理人员申请个信箱账号,就可使用这项快速的邮件服务15。如图4-4所示,现在hostC有一个pop server,在UserPC上的使用者透过POP Client连接到POP Server,经过POP Server检查过username/password后,帮忙user将系统信箱中的信件抓出来回传给user读取,值得注意的是POP Server只负责信件的读取,当user要寄信的时候,user的客户端通过SMTP协议直接将信件交由hostC上的sendmail来传送邮件。图4-4:邮件收发示例图由于要开发的是邮件网页客户端程序,就不得不用到SMTP协议和POP协议。SMTP被用来在因特网上发送邮件, SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮件可以通过连接在不同IPCE上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送9。SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机。或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送11。为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。POP 协议(Post Office Protocol,邮局协议)是一种允许用户从邮件服务器收发邮件的协议。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。4.2.2 模块总体设计在本次毕业设计中,我们没有自己的邮件服务器,并且没有为邮件系统分配一个真实的域名,考虑到这些情况我在设计初期提出了两种备选方案:第一种就是建立一个自己的邮件服务器,并且为企业每位员工分配一个真实的邮件地址,地址后缀是我们为系统分配的真实域名,用户名为每位注册员工的英文缩写;第二种方案就是利用现有的邮件系统,如126、163等,在企业每位员工注册的时候系统自动为员工分配一个邮箱,但是用户在首次进去邮箱的时候必须输入相关的帐号信息来激活邮箱,并且这个帐号信息必须是正确的,以保证能够正确的解析相关的邮件信息,当用户成功激活邮箱以后就可以进入邮箱进行相应的收信和发信功能。综合考虑到自己架设一个邮件系统服务器的技术性,我选择了第二种方案,目的就是在现有邮件服务器的基础上实现系统外部邮箱的功能。其外部邮箱的总体流程图如图4-5所示:图4-5:外部邮箱总体流程图4.2.3 发送邮件部分设计本外部邮箱的写信功能支持多附件形式的发送,当用户进入系统主页面的时候,点击未读邮件可以转到邮箱未读邮件进行查阅未读邮件。但是当用户是第一次登陆邮箱功能的时候,系统将会提醒用户激活邮箱帐号,激活成功以后方可进行收信和发信的功能。当点击发信按钮时,转到发信的相关页面,用户输入需要发送的邮件内容和附近内容,点击发送按钮,此时后台代码去调用相应的smtp协议的相关发信功能,成功经过身份认证以后将邮件的内容发送到接收者的邮箱。具体的实现如图4-6所示:图4-6:发送邮件流程图SMTP对如何将电子邮件从发送方地址传送到接收方这种传输的规则做了规定。SMTP协议的通信模型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,发送SMTP负责向接收SMTP发送SMTP命令,而接收SMTP则负责接收并反馈应答。4.2.4 接收邮件部分设计当用户进行接收邮件时,建立与pop3的连接,并进行身份验证,服务器通过侦听TCP端口110开始POP3服务,当客户主机需要使用服务时,它将与服务器主机建立TCP连接。当连接建立后,POP3发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中考语文热点备考方向 红色文化(含答案)
- 妇科科普知识竞赛题及答案
- 新型绿色建筑材料对温室气体减排的潜力
- 社会保险改革对中小企业融资模式创新的促进
- 传统与现代污水管道改造技术的比较与优化
- 外水量评估与管网漏损分析的相关性
- 外部市场环境变化对企业财务风险的影响
- 汽车营销人才的培养模式与行业需求的契合
- 农产品冷链物流智能化发展方向
- 雨水收集与利用技术在建筑课程中的应用
- 新生儿溢奶吐奶呛奶处理指南
- 初中英语单元整体教学设计现状调查研究
- 上海爱尔眼科医院营销策略:基于市场细分与竞争优势的深入探究
- 服务安全风险管理制度
- 苏教版三年级上册综合实践活动教案
- 2025-2030中国拟薄水铝石市场投资效益与未来供需形势分析报告
- 2025年中国盐业集团有限公司所属企业招聘笔试冲刺题(带答案解析)
- 2024年四川省委网信办遴选公务员真题
- 天车设备安全管理制度
- 活动承办方协议书
- 卫生系统及其功能
评论
0/150
提交评论