办公自动化系统——公告发布与论坛模块设计与实现---毕业论文_第1页
办公自动化系统——公告发布与论坛模块设计与实现---毕业论文_第2页
办公自动化系统——公告发布与论坛模块设计与实现---毕业论文_第3页
办公自动化系统——公告发布与论坛模块设计与实现---毕业论文_第4页
办公自动化系统——公告发布与论坛模块设计与实现---毕业论文_第5页
免费预览已结束,剩余45页可下载查看

下载本文档

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

文档简介

本 科 毕 业 论 文 办公自动化系统公告发布与论坛模块设计与实现Office Automation SystemNews and Forum Module姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘要在科技化、网络化的时代背景下,我们的工作管理方式也有更大的变革,原有的办公管理模式已经渐渐突现出它效率低、耗费人力资源等诸多不便和不利的因素,如何能利用最新的科技,为我们企业的管理带来更方便、更高效的工作已经成为现代企业管理中最关键、最棘手的问题。我们所研究的课题办公自动化系统,就是为了提高办公效率、方便企业管理而设计的。可以这样简单地理解办公自动化: 办公自动化是指利用先进的科学技术,使办公人员通过网络,管理和传输信息,改变传统办公的面貌,提高办公效率和质量,辅助办公决策,实现无纸化办公。本文所设计的办公自动化系统采用将办公和计算机网络结合起来的办公方式,是信息化社会的产物,它克服了以往办公软件中功能单一,且系统操作复杂,管理不便的问题。通过网络有效的建立了公司内部资料管理以及信息的交流平台,使部门内部人员可跨越时间、地点协同工作,让公司内部信息交流可以更加便捷,使办公效率大大提高,使企业管理更加现代化、科技化。通过办公系统,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。本文设计的办公自动化系统结合分析了现代办公过程的总体需求,大致划分为五个模块:邮件与通讯录模块、公告发布与论坛模块、公文流转模块、娱乐生活模块和前后台管理模块。本文主要是对公告发布与论坛的设计与实现进行详细的介绍。关键词: 办公自动化;公告;论坛AbstractIn the background of cyberization and technology, the way of our management has changed a lot. The former office management model has presented some inconvenient and disadvantage, such as low efficiency and waste of the manpower resource. Make use of the latest technology, to bring our enterprise the most convenient and efficient work becomes the most important and difficult issue for the modern enterprise management. In order to improve the office efficiency and make the enterprise management convenient, we develop and study the system. The topic we study is Office Automation System.Particularly, the Office Automation System is make use of the advanced technology, and make the office worker may manage and transfer the information by network, which has changed the traditional appearance of the office, improved the office efficiency and quality, assistant the office decision, make the office paperless possible.The system is a system of office management which is combined computer networks and office, is a social product of informationization, which handled the problem of singleness function, the complexity of operation and inconvenient management. The system set up the enterprise internal management and the communication of information by network, so that the internal organs may work with Office Automation System beyond time and locations, which made the communication of internal information more convenient, improved the office efficiency a lot and made the enterprise management modernization and technology. After we analyze the requirement of the office process, the system we design has been divided into five modules, which are Individual office module, Documents transfer module, Community information module, Entertainment module and System management module. I will introduce Community information module particularly, including News sub module and Forum sub module.Key words: Office Automatic System; News; Forum目录第一章 引言1第二章 系统总体设计22.1系统需求22.1.1功能性需求22.1.2接口要求32.2开发运行环境32.3基本设计概念和处理流程132.4系统层次结构142.5功能与程序的对应关系15第三章 系统详细设计173.1系统配置介绍173.2关键技术介绍PetShop的使用173.3类设计223.3.1持久类223.3.2数据访问接口类233.3.3业务逻辑类243.4数据库设计253.5页面流程设计263.5.1登录系统页面273.5.2公告信息页面283.5.3论坛信息页面30第四章 系统运行结果32第五章 结束语38参考文献40ContentsChapter1 Introduction1Chapter2 System Design22.1System Requirement22.1.1Funtional Requirement22.1.2Interface Design32.2Development Enviroments32.3Basic Design Concepts and Processes132.4Structure of System Laye142.5Correspondence between Funtions and Procedures15Chapter3 Detail Design173.1Introduction of System Configuration173.2Key Technology- the use of PetShop173.3Class Design223.3.1Persistent Class223.3.2Data Access Object233.3.3Business Logic Class243.4Database Design253.5Process of Pages Design253.5.1Login System263.5.2Community News 283.5.3Forum Information30Chapter4 Interface of System Running32Chapter5 Summary38References4017办公自动化系统第一章 引言在科技日新月异发展的今天,如何实现优化管理,提高工作效率,已经成为办公管理的主要目标了。在此之前,人们曾经开发出众多针对个人提高工作效率的软件来实现这一目标。而后,经过发展,一些利于提高整体办公系统效率的软件已经出现端倪。而随着越来越多方便办公管理的新技术的出现,网上办公自动化这一概念也随之产生了。网上办公自动化不仅兼顾了个人办公效率的提高,更重要的是可以实现群体协同工作。协同工作意味着要进行信息的交流,工作的协调与合作。由于网络的存在,这种交流与协调几乎可以在瞬间完成,并且不必担心对方是否在电话机旁边或是否有传真机可用。这里所说的群体工作,可以包括在地理上分布很广,甚至分布在全球上各个地方,以至于工作时间都不一样的一群工作人员。办公自动化可以和一个企业的业务结合的非常紧密,甚至是定制的。因而可以将诸如信息采集、查询、统计等功能与具体业务密切关联。操作人员只需点击一个按钮就可以得到想要的结果,从而极大得方便了企业领导的管理和决策。随着网上办公自动化的推广,越来越多的企业将通过自己的Intranet网络联接到Internet上,所以这种网上交流的潜力将非常巨大。网上办公自动化已经成为企业界的共识。众多企业认识到,尽快进行网上办公自动化建设,并占据领先地位,将有助于保持竞争优势,使企业的发展形成良性循环。本系统便是本着实现网上办公自动化、方便、快捷的原则,实现高效办公。研究的范围涵盖了办公自动化理论以及软件设计和开发过程,在系统设计完成后解决了原有办公管理方式效率低、资源损耗高的问题。本设计采用了.NET语言和SQL数据库,基于B/S结构和PetShop架构设计,构建一个网上办公系统,系统分为邮件与通讯录模块、公告发布与论坛模块、公文流转模块、娱乐生活模块和前后台管理模块五个部分。本文的内容安排如下:首先对网上办公系统的架构、使用技术进行阐述,然后详细介绍了关键技术的配置使用方法;最后针对公告发布与论坛模块进行了详细设计。办公自动化系统第二章 系统总体设计为了让公司内部信息交流可以更加便捷,大大提高办公效率,系统需要包含信息传递的各方面功能,包括邮箱与通讯录模块和公文流转模块;其中,为了让公司内部人员能更快捷通畅的进行交流和沟通,系统还加入了论坛模块,方便同事之间的信息传递和交流;同时系统还加入了娱乐导航模块,为公司内部人员带来便利的同时还丰富了他们的业余生活。2.1 系统需求2.1.1 功能性需求网上办公系统具体分成以下五个模块,其系统用例图如图2-1所示。1. 邮箱与通讯录模块包括电子邮件和通讯录子模块,主要实现个人办公过程与外界和公司内部的通讯功能。2. 收发公文模块包括收文和发文子模块,办公过程的两个重要的功能,主要实现个人办公过程中公文的流转功能。3. 公告发布与论坛模块包括论坛和公告子模块,主要为个人办公过程提供信息发布和讨论的场所。用户进入论坛模块,可以浏览每个版块里面每个主题的信息,用户可以自主发帖,也可以点击进入自己感兴趣的主题后浏览该主题的回帖,也可以直接跟帖发表。用户进入公告信息模块,可以浏览已发布的公告信息。用户也可以自己起草公告,特殊用户通过审核以后将自动发布到公告信息模块。4. 前后台管理模块包括后台管理和账户权限管理。5. 娱乐生活模块主要实现地图搜索和娱乐信息搜索功能。图2-1 系统用例图除了以上功能性需求之外,系统仍需要满足如下非功能需求:各模块数据库统一;用户界面风格一致,简洁大方,易学易用;能够真正为办公所用,提高办公效率和质量,实现无纸化办公。2.1.2 接口要求虽然系统主要使用者是各企业单位的办公人员,但是本着简单易用的原则,本系统不采用过分复杂的操作,所有操作均是常用的网络使用方法。系统人机接口部分均使用文字输出,不使用任何错误代码。页面之间的跳转在地址栏上进行数据传输,直接在页面上显示所传数据。2.2 开发运行环境本系统开发环境为:开发工具:Microsoft Visual Studio 2005开发语言:.NET 2.0操作系统:Windows XP数据库:SQL Server Manager Express 2005系统运行环境:Windows XP、Internet Explorer下面对本项目选用的Microsoft Visual Studio 2005、.NET 2.0、SQL Server 2005作简要的介绍。1. Microsoft Visual Studio 2005Visual Studio 20051 包含了一系列高效的、智能的开发工具,是一个全方位的工具平台,减少了开发的复杂度,确保能更加轻松发布基于 Framework 的解决方案,包括 Windows、Web、移动和基于Office 的应用。是第三方的生态系统,可以允许利用来自 Visual Studio 行业合作伙伴的参与研发的产品,并体验用来补充 Visual Studio 2005 第三方解决方案的全面部署。其次还改善了团队的沟通,提供高效智能的生命周期工具,通过使用 Visual Studio 2005 Team System,来增强 IT 周期参与者之间的交流与协作。简单的来说Visual Studio 2005只是一个集成开发环境, 可以在VS2005里面使用C+.NET、VB.NET、C#、Java等语言编程。2. .NET 2.0技术介绍.NET Framework是新一代基于Internet的分布式计算应用开发平台。其基本体系结构如图2-3所示:图2-2 .NET Framework体系结构.NET框架由3个主要部分组成:通用语言运行环境CLR,通用类库CCL和ASP.NET。(1)通用语言运行环境CLRCLR运行环境为基于.NET平台的一切提供一个跨所有编程语言的统一的运行环境。CLR通过中间语言(IL)等机制实现基于.NET编程语言的无关性。另外,CLR也为.NET框架带来潜在的平台无关性。(2).NET类库它为开发人员提供了一套可以使用的统一的面向对象、异步、层次结构的可扩展类库,包含许多高度可重用的接口、类型。它不仅支持面向过程语言,还为面向对象语言提供了完美的支持。(3)ASP.NET它是使用.NET框架提供的类库构建而成的,提供了一个Web应用程序模型,该模型由一组控件和一个基本结构组成。它使得Web应用程序的构建变得非常容易。开发人员可以直接使用ASP.NET控件集。在服务器上,控件负责将面向对象的编程模型呈现给Web开发人员,这种编程模型能提供面向对象的编程技术拥有的丰富功能。ASP.NET还提供一些基本的结构服务,其负责通过XML、SOAP等传送服务。下面分别对 .NET Framework 2.0 的几个部分功能做一个简单的介绍。.NET Framework 2.02是目前 Windows 开发的基础,同时也是 .NET Framework 3.0 的基础。图 23 介绍了Framework 的两个组成部分:公共语言运行库 (CLR) 和 .NET Framework 类库。.NET Framework 3.0 的一些组件,包括 WF、WCF 和 WPF,基本上都作为 .NET Framework 类库的扩展而执行。类库的许多部分仍然是开发人员所使用的重要部分,而其他部分则被包含到 .NET Framework 3.0 提供的新技术中。例如,ASP.NET 仍然是创建浏览器可访问的应用程序的基础,ADO.NET 仍然用来与存储数据配合使用。.NET Framework 3.0 开发人员使用 WPF 而非 Windows Forms 来创建本机 Windows GUI,但与 ASP.NET Web Services、.NET Remoting 或 Enterprise Services 相比,他们通常更喜欢 WCF。尽管存在这些变化,但即使在 .NET Framework 3.0 世界中,早期版本的 Framework 仍然是开发人员所使用的核心部分。图2-3 Framework 的组成部分3. SQL Server 2005(1)SQLSQL3全称是“结构化查询语言(Structured Query Language)”SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL同时也是数据库脚本文件的扩展名。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。 结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxporo、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。(2)SQL ServerSQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。(3)SQL Server 2005SQL Server 20054是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。它旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。SQL Server 2005使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。此外,SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。4. B/S架构一、C/S 和 B/S概述管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。那么,什么是基于B/S架构6的系统设计? 下面通过与C/S架构的对比,详细介绍B/S架构。C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。二、C/S和B/S之比较C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,智者见智。1、C/S架构软件的优势与劣势(1)、应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。(2)、数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。(3)、C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。2、B/S架构软件的优势与劣势(1)、维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)、成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)、应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。3,C/S与B/S区别Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。(1)、硬件环境不同C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。(2)、对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。(3)、对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。(4)、软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S对的多重结构,要求构件相对独立的功能。能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。(5)、系统维护不同系统维护是软件生存周期中,开销大,相当重要C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。B/S构件组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。(6)、处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。(7)、用户接口不同C/S多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,降低开发成本。(8)、信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低。B/S信息流向可变化,BB、BC、BG等信息流向的变化,更象交易中心.2.3 基本设计概念和处理流程该系统主要是为了企业单位网上办公需要而设计,所以只有登录身份识别后才能进行操作,同时为了达到简单易用的效果,大的模块功能点都直接出现在首页的菜单里。对于需要多个步骤才能完成的操作,界面需要在醒目位置提示操作方法,并对操作进行序列化,用户只需要简单地一步一步就可以完成所有复杂的操作。如图2-4所示,每一个用户操作的不同模块之间、模块内部需要做到低耦合高内聚。在不同模块之间的操作绝对不能互相影响。同时每一个模块都在用户登录后直观地显示出来,使用户一目了然,简单易用。图2-4系统模块及操作流程2.4 系统层次结构图2-5 系统架构层次本系统采用软件体系架构设计常见的三层架构7,如图2-5所示,包括数据存储层、业务层和WEB表示层。数据存储层采用Mysql数据库进行数据存储,为了实现面向对象技术和数据库技术的适配,增加了Model层即数据持久层。1.数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。2.业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关。如果涉及到数据库的访问,则调用数据访问层。3.表示层:是系统的UI部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。在PetShop中,是利用ASP.Net来设计的,因此包含了许多Web控件和相关逻辑。那么,分层式结构究竟其优势何在?Martin Fowler在Patterns of Enterprise Application Architecture一书中给出了答案:(1)开发人员可以只关注整个结构中的其中某一层;(2)可以很容易的用新的实现来替换原有层次的实现;(3)可以降低层与层之间的依赖;(4)有利于标准化;(5)利于各层逻辑的复用。概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。“金无足赤,人无完人”,分层式结构也不可避免具有一些缺陷:1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。2.5 功能与程序的对应关系本系统主要有建立持久类、业务逻辑类、数据访问接口类和页面操作四个功能部分,如表2-1所示。此表列出了功能点与程序的对应关系,对于页面操作只列出了公告信息子模块、论坛子模块和资源管理模块的详细功能。表2-1系统功能与程序对应关系功能对应程序持久类构建Model下的所有类具体程序如: News.cs(公告类) Page.cs(版块类) Topic.cs(主题类) Reply.cs(回帖类) User.cs(用户类) Role.cs(角色类)数据访问接口的建立IDAL下的所有类具体程序如:INews.cs IPage.cs IReply.cs ITopic.cs IRole.cs IUser.cs业务逻辑类的建立SQLServerDAL下的所有类具体程序如:News.cs Page.cs Reply.cs Topic.cs User.cs Role.cs登录系统./Login. aspx公告列表./NewsList. aspx浏览公告./NewsView. aspx起草公告./AddNews.aspx审批公告./CheckNews.aspx ./CheckNews_Pass.aspx论坛版块列表./ForumList. aspx版块主题列表./TopicList. aspx版块主题信息以及回帖./TopicReply. aspx增加新的帖子./AddTopic. aspx第三章 系统详细设计 本系统采用B/S架构,代码实现时采用了 PetShop框架。该部分主要对系统所使用的关键技术、类设计、数据库设计和页面流程设计进行详细说明。33.1 系统配置介绍本文设计的系统参考了微软的一个范例PetShop框架,PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。3.2 关键技术介绍PetShop的使用PetShop7的表示层是用ASP.Net设计的,也就是说,它应是一个BS系统。在.Net中,标准的BS分层式结构如下图所示:图3-1 .Net中标准的B/S分层式结构随着PetShop版本的更新,其分层式结构也在不断的完善,例如PetShop2.0,就没有采用标准的三层式结构,如图3-2所示:图3-2 PetShop 2.0的体系架构从图3-2中我们可以看到,并没有明显的数据访问层设计。这样的设计虽然提高了数据访问的性能,但也同时导致了业务逻辑层与数据访问的职责混乱。一旦要求支持的数据库发生变化,或者需要修改数据访问的逻辑,由于没有清晰的分层,会导致项目作大的修改。而随着硬件系统性能的提高,以及充分利用缓存、异步处理等机制,分层式结构所带来的性能影响几乎可以忽略不计。PetShop3.0纠正了此前层次不明的问题,将数据访问逻辑作为单独的一层独立出来:图3-3 PetShop 3.0的体系架构PetShop4.0基本上延续了3.0的结构,但在性能上作了一定的改进,引入了缓存和异步处理机制,同时又充分利用了ASP.Net 2.0的新功能MemberShip。公告发布与论坛模块的调用实现如图3-4所示:图3-4 PetShop 4.0的体系架构在数据访问层(DAL)中,采用DAL Interface抽象出数据访问逻辑,并以DAL Factory作为数据访问层对象的工厂模块。DAL Interface支持MS-SQL的SQL Server DAL和具体实现,而Model模块则包含了数据实体对象。其详细的模块结构图如图3-5所示:图3-5 数据访问层的模块结构图可以看到,在数据访问层中,完全采用了“面向接口编程”思想。抽象出来的IDAL模块,脱离了与具体数据库的依赖,从而使得整个数据访问层利于数据库迁移。DALFactory模块专门管理DAL对象的创建,便于业务逻辑层访问。SQLServerDAL和OracleDAL模块均实现IDAL模块的接口,其中包含的逻辑就是对数据库的Select,Insert,Update和Delete操作。此外,抽象出来的IDAL模块,除了解除了向下的依赖之外,对于其上的业务逻辑层,同样仅存在弱依赖关系,如图3-6所示:图3-6 业务逻辑层的模块结构图图3-6中BLL是业务逻辑层的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,而必须通过数据访问层。对数据访问业务的调用,是通过接口模块IDAL来完成的。层与层之间的关系是松散耦合的,与具体的数据访问逻辑无关。因为在PetShop 4.0中引入了异步处理机制。插入订单的策略可以分为同步和异步,两者的插入策略明显不同,但对于调用者而言,插入订单的接口是完全一样的,所以PetShop 4.0中设计了IBLLStrategy模块。在PetShop中,由于业务逻辑相对简单,这种思想体现得不够明显。也正因为此,PetShop将核心的业务逻辑都放到了一个模块BLL中,并没有将具体的实现和抽象严格的按照模块分开。所以表示层和业务逻辑层之间的调用关系,其耦合度相对较高:图3-7 表示层的模块结构图3.3 类设计3.3.1 持久类图3-8中列出了论坛子模块的所有持久类图。这四个类分别对应了数据库的四张表,类属性对应每张表的每个字段,其中外键部分采用对应整行数据的方式,将对应主表的持久类对象作为自己的属性。每一个类的服务主要集中在对每一个属性的读写操作上,即get和set方法。下面是对论坛模块使用的类属性的简单介绍:Page类包含的属性有:pid(版块Id), pname(版块名), ptime(版块创始时间), paut(版主), ptotal(版块包含的帖子数)。Topic类包含的属性有:tid(帖子Id), tname(帖子名), tcon(帖子内容), ttime(帖子发布时间), taut(帖子发布者), ttotal(帖子包含的回复数),trep(帖子最后回复者), pid(帖子所在版块Id)。Reply类包含的属性有:rid(回复Id), rcon(回复内容), rtime(回复时间), userid(回复者Id), tid(回复的帖子Id)。图3-8 论坛子模块持久类图3.3.2 数据访问接口类下面主要是描述数据访问接口类的实现,如图3-9所示,每个持久类对应一个接口类,每个接口类包含对数据访问的操作,以论坛子模块为例,它的接口类分别是IPage、ITopic、IReply和IUser。其主要功能是实现数据访问层和业务逻辑层的接口。这四个子类的主要特性是他们

温馨提示

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

评论

0/150

提交评论