基于NET的图片共享网站系统的设计与实现.docx
《基于NET的图片共享网站系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于NET的图片共享网站系统的设计与实现.docx(76页珍藏版)》请在冰豆网上搜索。
基于NET的图片共享网站系统的设计与实现
作者姓名:
指导教师:
单位名称:
专业名称:
东北大学
2009年6月
by
Supervisor:
NortheasternUniversity
June2009
毕业设计(论文)任务书
毕业设计(论文)题目:
设计(论文)的基本内容:
(1)了解项目开发背景,以及目前网络常见应用特性。
(2)介绍相关技术,分析系统可行性,以及系统开发和运行环境。
(3)设计基于ASP.NET的图片共享网站系统的总体结构,模块设计和数据库设计以及具体的实现。
主要功能将包括图片信息浏览、图片管理、图片评论和后台管理等功能,本文主要介绍这几项主要功能的的设计和实现。
(4)总结归纳所完成的任务。
毕业设计(论文)专题部分:
题目:
设计或论文专题的基本内容:
学生接受毕业设计(论文)题目日期
第1周
指导教师签字:
2009年3月5日
摘要
随着网络时代的来临,网络化和信息化已经深入到社会生活的各个领域,基于互联网的各类应用蓬勃发展。
基于网络环境的图片共享就是网络用户喜欢的应用之一,是在线分享图片和评论图片的网络应用。
本文围绕图片共享网站系统的设计和开发,设计和实现了一个基于ASP.NET技术的B/S架构的网站系统,采用了多层的Web应用架构,后台使用MicrosoftSQLServer2000数据库。
本文在介绍系统设计与实现相关的软件设计和开发技术的基础上,从网络用户分享图片的需求入手,分析和获取图片共享网站系统的需求,并在其基础上对系统的整体框架、体系结构等进行设计。
然后使用软件工程的分析和设计方法,对系统进行建模,应用软件开发技术描述如何实现图片共享网站系统的各个功能模块,并着重介绍系统实现中使用到的关键技术。
最后介绍如何对该系统进行单元测试和集成测试,以及系统部署后的运行情况。
本文结尾对整个项目的分析、设计和开发进行总结,并提出进一步的改进思路。
关键词:
图片分享;;B/S结构;SQLServer
Abstract
WiththecomingofInternetAge,networkandinformationtechnologieshavepenetratedvariousfieldsofoursociallife,andapplicationsbasedonInternetaregettingrapidgrowth.Photo-sharingbasedonInternetisagoodapplicationbyusers,whichisaplatformforpeopletosharephotosandcommentphotos.
Aphoto-sharingwebsisdesignedandimplementedinthisarticle,whichusesmulti-layerarchitectureofwebapplicationandMicrosoftSQLServer2000database.Basedonintroducingthetechnologiesusedinanalysisanddesign,aroundthedemandofphotosharingofnetworkusers,thisarticleanalyzestherequirementofphoto-sharingwebsystem,anddesignsthetotalframeworkandarchitecture.Thenbymeansofsystemanalysisanddesignofsoftwareengineering,presentsthekeytechnologiesinsystemimplementation.Intheend,thisarticlecontainstheintroductionofsystemtestinganddeployment.Atlastsummarizesthewholeprocessofsystemanalysis,designandimplementationofphoto-sharingwebsystem,andproposesthefutureworkofthissystem.
KeyWords:
Photo-sharing;;B/S;SQLServer
第1章绪论
课题背景
随着计算机技术和网络技术的不断发展,网络和信息技术已经深入到人类活动中的各个领域,对社会生活的各个方面产生了深刻的影响,人类生产和生活的很多方面都已经离不开了网络和信息技术。
本文课题相关的项目就是将网络技术和信息技术应用到人们的日常生活中,提供基于网络环境的图片分享和交流功能,侧重图片共享网站系统的分析、设计和实现。
1.1.1Internet的起源与发展
Internet是在美国较早的军用计算机网ARPANET的基础上经过不断发展变化而形成的。
上世纪90年代初,商业机构开始进入Internet,使Internet开始了商业化的新进程,也成为Internet大发展的强大推动力。
随着商业网络和大量商业公司进入Internet,网上商业应用取得高速的发展,同时也使Internet能为用户提供更多的服务,使Internet迅速普及和发展起来。
现在Internet已发展为多元化,不仅仅单纯为科研服务,正逐步进入到日常生活的各个领域。
近十年来,Internet在规模和结构上都有了很大的发展,已经发展成为一个名副其实的“全球网”。
网络的出现,改变了人们使用计算机的方式;而Internet的出现,又改变了人们使用网络的方式。
Internet使计算机用户不再被局限于分散的计算机上,同时,也使他们脱离了特定网络的约束。
任何人只要进入了Internet,就可以利用网络中和各种计算机上的丰富资源。
Internet的发展经历了研究网、运行网和商业网3个阶段。
至今,全世界没有人能够知道Internet的确切规模。
Internet正以当初人们始料不及的惊人速度向前发展,今天的Internet已经从各个方面逐渐改变人们的工作和生活方式。
人们可以随时从网上了解当天最新的天气信息、新闻动态和旅游信息,可看到当天的报纸和最新杂志,可以足不出户在家里炒股、网上购物、收发电子邮件,享受远程医疗和远程教育等等。
纵观Internet的发展史,可以看出Internet的发展趋势主要表现在运营产业化;应用商业化;互联全球化;互联宽带化和多业务综合平台化、智能化。
随着电信、电视、计算机“三网融合”趋势的加强,未来的互联网将是一个真正的多网合一、多业务综合平台和智能化的平台,未来的互联网是移动+IP+广播多媒体的网络世界,它能融合现今所有的通信业务,并能推动新业务的迅猛发展,给整个信息技术产业带来一场革命。
而互联网的各类应用也将深入到人类生活的方方面面,成为人类日常生活不可或缺的组成部分。
1.1.2互联网应用的常见形式
互联网的各种应用大致分为如下几类:
网络媒体、互联网信息检索、网络通讯、网络社区、网络娱乐、电子商务、网络金融等应用。
总体而言,搜索引擎、即时通信、网络音乐、网络视频等是主流的网络应用。
(1)网络媒体。
它将传统媒体与受众的传播关系转变为双向或多向互动的传播关系,同时网络新闻在表现形式上实现了多媒体整合运作,表现力与感染力更为突出。
(2)信息检索。
搜索引擎是网民在互联网中获取所需信息的基础应用。
城镇网民搜索引擎使用率明显高于农村;20-40岁网民搜索引擎使用率明显高于其他人群;学历越高,搜索引擎使用率越高;收入越高,搜索引擎使用率越高。
搜索引擎应用人群的特点决定了它在互联网领域的高商业价值。
(3)网络通讯。
电子邮件,已经是人们交互和沟通的主要方式之一,是互联网的主要应用之一。
即时通信,也是正在不断发展的一项互联网的重要应用,承载的功能日益丰富,其平台性也使其逐渐成为电子邮件、博客、网络游戏和搜索等多种网络应用重要入口。
(4)网络社区。
其提供了基于网络环境的虚拟交流平台,特别常见的网络社区是交友网站。
通过网络社区,网民可以通过一个类似无距离无束缚的进行有目的的交友方式。
博客也是个很好的网络交流和展示自己的方式,其中SNS元素的加入对博客用户的增长起到了推动作用,博客的影响力进一步加强。
(5)网络娱乐。
主要包括网络游戏、网络音乐和网络视频。
(6)电子商务。
除网络购物外,网络售物和旅行预订也已经初具规模。
(7)网络金融。
包括网上银行和网络炒股等。
(8)网上教育。
网上教育主要应用人群是中小学生和普通在职人员。
随着就业压力的增大,已工作的普通在职人员更加注重专业能力的培养,英语、会计等网上教育课程,由于更容易分配时间,成本相对低廉,得到了在职人员的推崇。
未来几年网上教育将会有较好的发展空间。
综上,网络应用重要的是要有两个特点:
(1)要有分享。
分享就是能够为网络用户提供一个平台,一个分享资源的平台,如:
音乐、图片、视频、新闻等。
这样才能有大量的用户来访问,才能够很好的为网络用户服务。
(2)要有交流。
只分享没有交流是很难获得网络用户的认可的,需要为网络用户提供交流的途径,这样才能很好的分享思想,才能为资源做出一定程度的评价,更好的满足网络用户的需求。
课题系统就是将分享和交流相结合,为网络用户提供一个图片资源共享的网络平台。
论文的研究内容
本课题将在结合基于网络环境图片共享的需求和流行的软件开发技术的基础上,采用软件工程的分析和设计方法,介绍如何分析、设计和实现图片共享网站系统的核心功能。
本课题将主要完成下列工作:
(1)介绍该课题相关的软件设计和开发技术。
包括B/S软件系统架构、Web应用开发模式、.NET框架与ASP.NET技术、XHTML与Javascript浏览器端开发技术和MicrosoftSQLServer2000数据库。
(2)从网络用户图片共享的需求入手,分析和获取图片共享网站系统的需求,并在其基础上对系统的整体框架、体系结构等进行设计。
(3)使用软件工程的分析和设计方法,对系统进行建模,并用UML简单描述该系统。
(4)应用软件开发技术,描述如何实现图片共享网站系统的各个功能模块,并着重介绍系统实现中使用到的关键技术。
(5)介绍如何对系统进行单元测试和集成测试,以及系统部署后的运行情况。
(6)对整个项目的分析、设计和开发进行总结,并提出下一步工作的方向。
论文的组织结构
本文从课题系统实际出发,阐述了基于ASP.NET的图片共享网站系统的设计思想与具体实现,分析了系统设计和开发中使用到的具体技术,并说明了重要流程的实现过程和使用的关键技术。
第1章,绪论。
本章介绍了论文课题提出的背景,在介绍Internet的起源与发展,以及互联网应用常见形式的基础上,对图片共享网站系统作了简单的介绍,并介绍了论文完成的主要工作和论文的组织结构。
第2章,课题主要相关技术。
本章首先介绍了B/S软件系统架构,然后介绍了Web应用开发模式、.NET框架与ASP.NET技术、HTML与Javascript浏览器端开发技术和MicrosoftSQLServer2000数据库。
第3章,系统需求分析。
本章在阐述系统需求分析技术的基础上,结合网络用户图片分享的实际需求,对该系统进行需求分析。
第4章,系统设计。
本章介绍了系统的总体框架设计,以及系统功能模块设计、系统数据库设计和系统界面设计。
第5章,系统实现。
本章首先介绍了系统实现的软硬件环境,然后着重阐述系统实现中的关键技术,最后分别介绍了系统各个模块的具体实现。
第6章,系统测试与部署。
本章首先介绍了系统测试相关技术和要求后,介绍了系统测试与部署的软硬件环境,并对系统测试与部署作了总体评价。
第7章,总结与展望。
本章在对课题系统的设计和开发进行总结后,对课题系统存在的缺陷作了阐述,并提出了下一步的工作内容。
第2章课题主要相关技术
课题系统开发主要应用B/S软件系统架构,使用ASP.NET和XHTML等开发技术。
接下来我们对B/S软件系统架构、Web应用开发模式、.NET框架与技术、XHTML与Javascript浏览器端开发技术和SQLServer2000进行简要介绍。
B/S软件系统架构
B/S软件系统结构是在服务器(Server)上运行和维护应用,通过客户端的浏览器(Browse)访问应用的一种系统架构,即浏览器/服务器结构。
目前Internet流行的Web网站都是一种基于B/S软件系统架构的应用。
相对于传统的C/S(Client/Server,客户/服务器)结构,它具有许多独特的优点:
(1)B/S是一种跨平台的、一点对多点及多点对多点的应用软件架构,减少了开发人员在客户端的工作量,使其可以把注意力集中到怎样合理地组织信息、提供客户服务上来。
(2)B/S具有统一的浏览器客户端软件,不仅节省了开发、维护客户端软件的时间与精力,也方便了用户的使用。
(3)B/S架构中客户端只需运行操作系统和Web浏览器,数据的查询、处理和表示都由服务器完成。
与C/S架构的应用系统相比,客户端变得非常“瘦”,易于测试和维护。
(4)B/S架构可以透明地跨越异质网络、计算机平台,无缝地联合使用数据库、超文本、多媒体等多种形式的信息。
具体的B/S架构相对C/S架构有几个方面的优势:
维护和升级方式简单;成本降低,选择更多;C/S架构的劣势是高昂的维护成本且投资大。
在本次系统开发中,使用基于B/S架构的应用模式和开发技术,很好的满足基于网络环境下的图片共享系统的需求,可以很容易的在互联网上提供服务。
Web应用开发模式
Web应用开发都采用B/S软件系统架构,其应用开发模式大多采用多层体系结构。
但是随着Web应用的日趋复杂,传统的多层体系结构已经不能满足大规模高负载的Web应用开发的需求,基于MVC开发模式的Web应用开发已经逐渐成为主流。
由于课题系统主要是提供部门信息发布的功能,所需要的复杂程度和负载能力都不是很高,所以在开发课题系统的时候采用了传统的多层体系结构,使用ASP.NET和MicrosoftSQLServer2000数据库来实现。
2.1.1Web应用常用的多层体系结构
Web应用系统常常采用如图所示的多层体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能,也可以将多层的功能在一起实现。
图2.1Web系统的多层体系结构
Fig.2.1Multi-tierArchitectureofWebSystems
多层体系结构具有基本的三层结构:
(1)数据访问层:
实现对数据的访问功能,如增加、删除、修改、查询数据。
(2)业务逻辑层:
实现业务的具体逻辑功能,如数据管理等。
(3)页面显示层:
将业务功能在浏览器上显示出来,如分页显示信息等。
除此之外,还可能具有其他的层次。
特别是在业务逻辑层,常常需要根据实际情况增加层次,但总的原则是:
每一层次都完成相对独立的系统功能。
在开发过程中,需要在逻辑上清晰这三层分别实现的功能,并以此设计整个系统的实现,以及管理整个系统的代码文件。
不能把处于不同层次的文件混为一起,否则会造成系统逻辑上的混乱,使庞大的系统难于管理和维护,容易导致系统的失败。
另外,在这三层基础之下,还有更为基础的工作,即数据库的设计模型。
数据库的设计模型是整个系统的基础,一旦确定了数据库的结构,在开发过程中就不要轻易改变,否则会对后面的工作造成巨大的负担。
典型的Web应用模型的基本工作方式为[1]:
客户端用户动作触发一个连接到Web服务器的请求,服务器接收数据进行处理,包括访问后台数据库系统的操作,生成一个HTML页面后传输到客户端(见图2.2)。
图2.2典型的Web应用模型
Fig.2.2ClassicWebApplicationmodel
2.1.2Web应用的MVC开发模式
MVC开发模式即模型-视图-控制(Model-View-Controller,MVC)[2]结构是交互式应用程序广泛使用的一种体系结构。
它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输出模型转化为图形显示的用户交互模型。
MVC体系结构具有三个层面[3]:
模型(Model)、视图(View)和控制(Controller),每个层面有其各自的功能作用,MVC体系结构如图所示。
图MVC模式
Fig.MVCModel
模型层主要负责表达和访问商业数据,执行商业逻辑和操作。
视图层主要负责显示模型层的内容。
控制层主要负责定义应用程序的行为。
在模型层、视图层和控制层之间划分责任可以减少代码的重复度,并使应用程序维护起来更简单。
同时由于数据和商务逻辑的分开,在新的数据源加入和数据显示变化的时候,数据处理也会变得更简单。
MVC设计允许一个开发者将一个好的面向对象的设计与用户接口隔离开来,允许在同样的模型中容易地使用多个接口,并且允许在实现阶段对接口作大的修改而不需要对相应的模型进行修改。
MVC作为架构模式,提供了一个原则,可以按照模型、表达方式和行为等角色把一个应用系统的各个部分之间的耦合解脱、分割开来[4]。
MVC的设计实现理解起来比较容易,但对开发人员的要求比较高。
MVC只是一种基本的设计思想,还需要详细的设计规划。
同时MVC设计模式也存在一些问题,如模型和视图的严格分离可能使得开发调试困难一些,但也比较容易发现错误。
经验表明,MVC由于将应用分为三层,意味着代码文件增多,所以对于文件的管理需要多加考虑。
2.1.3.NET框架综述
Mciorsoft.NET开发平台[5]是一个开发和运行软件的新环境,它使得基于Windows的客户端图形界面程序和基于Internet的Web应用程序的开发更为方便。
.NET平台拥有丰富的运行库服务,来支持多种编程语言编写的组件,具有跨语言和跨平台的互操作能力。
它简化了在高度分布式Internet环境中的应用程序开发,为XMLWbe服务和其他应用程序提供了一个高效安全的开发环境,并且全面支持XML。
图2.4Microsoft.NET系统框架
Fig.2.4Microsoft.NETFramework
(Framework)(包括编程语言和应用程序的集成开发环境)等组成部分。
其中.NETFramework是整个开发平台的基础,它主要包括公共语言运行库及类库,.NET系统框架如图2.4所示。
Microsoft.NETFramework作为一个开发、部署和运行.NET应用程序的集成开发环境,它提供了大量构造.NET应用程序时可用的核心功能。
其中,最关键的两个内核是:
公共语言运行库(CommonLanguageRuntime,CLR)和基础类库(BaseClassLibrary,BCL),它们为.NET平台的实现提供了底层的技术支持。
(1).NET公共语言运行库(CommonLanguageRuntime,CLR)
从Mciorsoft.NET开发框架的整体架构中可以看到,公共语言运行库(CLR)[6]位于Miocrostf.NET架构的最底层,作为.NET框架的执行引擎,它是多种语言的统一运行环境,基于CLR开发的代码称为托管代码(ManagedCode)。
托管代码编译与执行的具体过程如图2.5所示:
图2.5托管代码编译与执行过程
Fig.2.5CompileandExecutionProcessofManagedCode
(2)基础类库(BaseClassLibrary,BCL)
在.NetFramework中,BCL位于CLR之上。
BCL是一套操作系统层级的对象函数库,其中包含了托管代码运行所需的各种具有庞大功能集的软件组件,可供程序语言调用使用。
它为.NET应用程序提供了一个统一的、面向对象的、层次化、可扩展的编程接口,为数据输入输出、安全性等提供了服务和对象模型。
这种统一的编程模式彻底解决了过去由于调用不同类库采用不同的约定而造成系统不稳定的情况。
在基础类库之上,.NET框架为我们提供了诸如数据访问、创建Web服务器应用程序、创建Windows客户端界面所需的其他功能强大的类库。
.NETFramework的命名空间布局图如图2.6所示:
图2.6.NETFramework的命名空间布局图
2.1.4技术
[7],它不仅仅是传统的服务器处理技术ASP(ActiveServerPages)的继承和发展,而且加入.NET提供的高级特性,几乎克服了传统ASP的所有缺点,所提供的性能远远超出传统的Web开发模式,为B/S结构的应用的开发带来了巨大的便利。
相比ASP的优势有:
增强性,ASP.NET是在服务器上运行已编译好的公共语言运行库代码,还可利用早期绑定、实时编译、本机优化和盒外缓存服务等;灵活性,ASP.NET基于公共语言运行库,使.NET框架类库、消息处理和数据库访问解决方案都可从Web无缝访问;简易性,从简单的窗体提交和客户端身份验证到部署和站点配置等执行常见任务变得容易;安全性,借助内置的Windows身份验证和基于每个应用配置,可以保持应用程序是安全的。
图2.7页面生存周期
Fig.2.7LifecycleofASP.NETPages
(Lifecycle)对于开发ASP.NET应用程序来说是非常重要的。
图2.7所示是一张描述ASP.NET2.0的页面生存周期示意图。
XHTML与Javascript浏览器端开发技术
Web应用开发的多层架构中在页面显示层通常使用XHTML、CSS和Javascript技术相结合,提供多媒体页面供用户访问。
W3C(WorldWideWebConsortium,万维网联盟)组织是制定网络标准的一个非赢利组织。
W3C制定的站点标准(SiteStandard)不是某一个标准,而是一系列标准的集合。
网页主要由三部分组成:
结构(Structure)、表现(Presentation)和行为(Behavior)。
对应的标准也分三方面:
结构化标准语言主要包括XHTML和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。
这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(EuropeanComputerManufacturersAssociation)的ECMAScript标准。
此外,W3C还制定了Web内容可访问性标准,用来规范Web站点的易用性和可访问性。
(1)基于XML和XHTML的页面结构标准
XML是eXtensibleMarkupLanguage(可扩展标识语言)的简写[8]。
目前推荐遵循的是W3C于2006年8月16日发布的XML1.0版本(第四版)。
XML是一种能定义其他语言的语言,逐渐用于网络数据的转换和描述。
XHTML是eXtensibleHyperTextMarkupLanguage(可扩展标识语言)的缩写。
在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。
简单的说,建立XHTML的目的就是实现HTML向XML的过渡。
(2)基于CSS的页面表现标准
CSS是Cascading