在线相册管理系统的设计与实现文档格式.docx
《在线相册管理系统的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《在线相册管理系统的设计与实现文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
毕业设计(论文)题目:
设计(论文)的基本内容:
随着人民物质生活水平的提高,国家节假日的合理安排,越来越多的人在国家法定节假日选择旅游出行,照片留念已经是旅游当中必备的项目。
在这中情况下,为了进一步方便人门的娱乐和生活,开发了在线相册管理系统。
此在线网络相册主要通过Struts架构、JSP技术、MySQL数据库开发,主要有登录模块,相册信息管理模块,查询相册模块组成,并对所实现的部分进行测试和评价。
该课题预期结果可制作出令男女老少皆可操作上手,简单方便的在线相册网站。
毕业设计(论文)专题部分:
题目:
设计或论文专题的基本内容:
学生接受毕业设计(论文)题目日期
第1周
指导教师签字:
2009年12月28日
摘要
本论文就毕业设计的内容,系统地阐述了整个在线相册管理系统的功能及实现。
实现了从用户注册,用户登陆,相册管理,相册查询。
基本上实现了在线相册管理的功能流程,能够实现对相册的管理功能。
本系统界面简单直观,易于操作和使用。
经过分析,通过Struts架构、JSP技术、MySQL数据库开发,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。
本网络相册主要由以下几个模块组成,登录模块,相册信息管理模块,查询相册模块,用户信息管理模块。
分别实现了对信息的添加、删除、修改和查询的功能。
本文主要通过以下几点来对本管理系统进行论述。
需求分析,通过对系统的需求的分析来获得系统中开发的重点。
技术介绍,对本系统中应用的技术进行介绍。
详细设计,通过对需求的进一步计划获取主要的开发信息,为后期的便面打下良好的基础。
系统实现,主要展示了系统的实现画面及相关的信息。
总之本文通过以上几点对该系统进行了论述。
关键词:
JSP,Structs,MySQL
DesignandImplementationofOnlinephotomanagesystem
Abstract
Thegraduationthesisonthecontent,systematicexpositionoftheentireonlinephotoalbummanagementsystemfunctionalityandimplementation.Realizedfromtheuserregistration,userlogin,albummanagement,Albuminquiries.Basicallyrealizedthefunctionsofmanagementprocessesonlinephotoalbum,canbeachievedonthealbum'
smanagement.Thesystemissimpleandintuitiveinterface,easyoperationanduse.
Afteranalysis,throughtheStrutsframework,JSPtechnology,SQLServerdatabasedevelopment,especiallyindatawindowcanbesimpleandeasytomanipulateintelligencedatabaseobjects,thefirstprototypeapplicationsysteminashorttime,then,theinitialprototypesystemneedstoconstantlyreviseandimprove,untiltheformationofaviablesystemofsatisfaction.
TheWebAlbumsmainlybythefollowingmodules,loginmodule,albuminformationmanagementmodule,queryalbummodule,theuserinformationmanagementmodule.Wererealizedontheinformationtoadd,delete,modify,andqueryfunctions.
Inthispaper,thefollowingpointstobediscussedinthismanagementsystem.
Requirementanalysis,throughanalysisofthesystemneedstobefocusedonthedevelopmentofthesystem.
Technicalpresentationsontheapplicationoftechnologiesinthissystemaredescribed.
Detaileddesign,throughthedemandforfurtherplansformajordevelopmentinformation,aslaterwouldsurfaceandlayagoodfoundation.
Systemimplementation,themainscreendisplayoftheSystemandrelatedinformation.
Inthispaper,theabovepointsshortofthesystemarediscussed.
Keywords:
JSP,Struts,MySQL
第1章 绪论
本系统为在线相册管理系统,旨在实现平常百姓对相片的管理,本文也是对这个系统进行论述的一片论文,主要通过如下几个方面进行论述,系统的需求、设计以及系统的实现。
本系统主要对相册及相片进行操作,随着人民物质生活水平的提高,国家节假日的合理安排,越来越多的人在国家法定节假日选择旅游出行,照片留念已经是旅游当中必备的项目。
1.1论文研究主要内容
本论文的主要内容论述了在线相册系统的实现过程,从系统的需求到详细设计概要设计最后到系统实现,本文正是通过这样的过程论述了系统的实现过程。
并且本文结合软件开发中常用的用例图和流程图等进行详细的论述。
论文主要从系统应用的技术角度和系统应用的角度进行论文。
技术方面主要对Structs框架进行了详细的论述,并且对系统的实现过程进行的论述。
1.2国内外现状
国外拥有很多网络相册网站,但大多不够集中,用户群相对分散,例如:
TinyPic免费网络相册,完全支持外链,不用注册即可上传,使用方便,图片大小似乎不限制,但限制图片高度或宽度在1600像素之内,图片格式支持jpg、png、gif和bmp。
Fotki提供无限存储空间免费相册,可以外链,无需注册即可上传图片,单张图片大小限制未知,支持jpg、jpeg、png、psd、gif、bmp、tif、tiff图片格式。
Panoramio是来自西班牙的一家免费网络相册服务商,于2007年被Google收购。
Panoramio为每个用户提供2G容量的存储空间,可以上传单个文件不超过5M大小的JPG图片,图片可以外链,具有包括简体中文在内的多语言版本。
由于Panoramio的服务器现在都是由Google提供的,国内访问速度还是不错。
imgur是一家成长很快的免费网络相册,无需注册为会员(也没有会员管理功能),直接上传图片,非常方便。
在imgur上传图片可以外链,无限存储空间,单个图片限2M以内,支持JPG、GIF、PNG图片格式,具有简单编辑功能,只要你上传的图片每月有至少一次浏览,imgur就会一直为你保存。
Worth1000是美国一个充满创意的影像处理网站,里面有摄影、影像处理、多媒体、文字等主题,有各种各样创意层出不穷的好图,可供浏览者者投票、回应、留言,也可以跟创作者当好朋友。
曾有改图爱好者合成了各种版本的萨达姆图片,而当时正为抓不到老萨而直挠头的美军,甚至表示他们打算从Worth1000下载各种萨达姆的合成照片并进行张贴,以便更早将其捉拿。
Worth1000常常举办各种各样主题的改图大赛,让全世界的改图高手们到这里一展身手。
比赛的主题千奇百怪,比如将明星通通搞瘦、改换纹理、名画与广告等。
Remember是韩国的网上相册网站,用户可以通过网站上传相片,记录生活,同时也可以与网友分享自己的照片。
相较于国外相册而言,中国网络相册市场份额高度集中,大部分仍是基于落后的Web方式管理。
据艾瑞相关数据显示,网易相册、QQ相册和雅虎相册占中国网络相册86.2%市场份额,是国内网民经常使用的相册。
然而,其他一些网络相册作为后起之秀,发展势头依然良好。
二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。
现如今,随着人民生活物质水平的提高,越来越多的人拥有了相机、数码相机、DV,甚至很多手机的拍照功能也能另人满意!
然而传统的相册已经不能满足人们的需要!
更多的人希望将自己的照片与他人分享!
所以一个专门为人们提供照片存储展示的网站会吸引很多人的眼球!
第2章 关键技术介绍
2.1关键性开发技术的介绍
2.1.1Structs架构介绍
Struts框架实质上就是在JSPModel2的基础上实现的一个MVC框架。
Struts是Apache的Jakarta项目中的一个子项目,提供了一种MVC的轻量级实现。
MVC架构把系统分成了三个部分和层次,Model、View和Controller。
在Struts框架中,视图(View)部分由JSP和Struts客户化标签构成,控制器(Controller)部分由ActionServlet和Action构成,模型(Model)部分由JavaBean和EJB构成。
(1)Struts工作原理
Struts是MVC的一种实现,它将Servlet和JSP联合在一起用来实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
Struts有一组相互协作的类(组件)、Serlvet以及JSPTaglib组成。
基于Struts框架开发Web应用程序基都符合JSPModel2的设计标准,可以说是MVC设计模式的一种。
Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。
控制器:
ActionServlet、RequestProcessor和Action都属于Controller层,其中ActionServlet和RequestProcessor类struts已经实现我们不需要关心它的实现,在使用时我们需要生成自己的Action子类,并且重载父类的execute方法,在我的程序中所有的action必须要继承BasicAction类,该类里实现了一些execute方法和一些公用的方法,在自己所写的action类里只需写自己用的方法就可以了。
ActionServlet起着一个控制器(Controller)的作用。
ActionServlet是一个控制组件充当Struts框架中的中央控制器。
这个控制组件提供了处理来至于客户端请求的功能。
控制器通过接收到的请求找到相应的Action类来进行相应的处理。
另外控制组件也负责把用户发送的请求中的数据的属性提交到ActionForm中(通常称之为FromBean),并传给Action类(通常称之为ActionBean)。
Action类实现核心业务逻辑,它可以访问javabean或调用EJB。
所有这些控制逻辑都是利用Struts-config.xml文件来配置。
视图:
主要负责与用户的交互(包括让用户输入信息和显示执行结果)。
当Action把执行的结果返回给视图的时候,视图利用html,taglib,bean,logic等标签来显示数据。
模型:
实现具体的业务功能,模型代表应用的业务数据和逻辑。
在Struts中,主要是通过JavaBean或EJB来执行相应的处理。
(2)Struts框架的优缺点
优点:
Struts为JavaWeb应用提供了现成的通用的框架。
Struts可以大大提高WEB应用的开发速度。
如果没有Struts,开发人员将不得不首先花大量的时间和精力来设计,开发自己的框架。
如果在Web应用中恰到好处地使用Struts,将把从头开始设计框架的时间节省下来,使得开发人员可以把精力集中在如何解决实际业务问题上。
而且Struts本身是一群经验丰富的Web开发专家的集体智慧结晶,在全世界范围内得到了广泛运用并得到了一致认可。
因为对于开发大型复杂的Web应用,Struts是不错的框架选择。
缺点:
Struts由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。
每个构件在使用之前都需要经过彻底的测试。
一旦构件经过了测试,就可以毫无顾忌的重用它们了。
2.1.2MVC介绍
MVC最初是在Smalltalk-80中被用来构件用户界面的。
M代表模型Model,V代表视图View,C代表控制器Controller。
MVC的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。
同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。
MVC设计模式有三部分组成。
模型是应用对象,没有用户界面;
视图表示他在屏幕上的显示,代表流向用户的数据;
控制器定义用户界面对用户输入的响应方式,负责把用户动作转成针对Model的操作;
Model通过更新View的数据来反映数据的变化。
(1)视图
代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHML,XML和Applet。
随着应用的复杂性和规模性,界面的处理也变得具有挑战性。
一个应用有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上述巨的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交予模型(Model)处理。
比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
(2)模型
包括业务流程/状态的处理以及业务规则的制定。
模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
MVC并没有提供模型的设计方法,而只告诉用户应该组织管理这些模型,以便于模型的重构和提高重用性。
业务模型还有一个很重要的模型那就是数据模型。
数据模型主要是指实体对象的数据保存。
比如将一张订单保存到数据库,从数据库获取订单。
可已经这个模型单独列出,所有有关数据库的操作只限制在该模型中。
(3)控制
可以理解从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。
划分控制层的作用也很明显,他清楚地告诉你,他就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
控制层并不做任何的数据处理。
例如,用户点击一个链接,控制层接收请求后,并不处理业务信息,他只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
因此,一个模型可能对应多个视图,一个视图可能对应多个模型。
(4)MVC优势
在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其他层中的代码。
在MVC模式中,由于按层把系统绕开,那么就能更好的实现开发中的分工。
网页设计人员可以进行开发视图层中的JSP,而对业务熟悉的开发人员可开发业务层,而其他开发人员可开发控制层。
分层后更有利于组件的重用。
如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。
2.1.3JSP介绍
JavaServerPage或简称为JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一个Server端框架,基于这个框架,开发人员可以综合使用HTML,XML,JAVA语言以及其他脚本语言,灵活,快速地创建和维护动态网页,特别是目前的商业系统。
作为JavaTM技术的一部分,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于平台的应用程序,而且具有非常强的可伸缩性。
同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变祖国网页布局。
这样跨平台的特性己包含了目前大部份网站服务器配置环境,再加上它的语法写作方式可媲美ASP般的易学易懂,而且在网络安全技术方面甚至已超越ASP技术。
所以,相信很快的时间内极有可能取代现有网页编译技术,而成为商业网站的新标准。
2.1.4MyEclipse介绍
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
2.1.5MySQL介绍
(1)SQLServer包括了新增加的执行计数器,它使得可以更细粒度的对数据库管理系统(DatabaseManagementSyste,DBMS)日志记录的不同阶段所耗费的时间进行计时。
(2)SQLServer包括动态管理视图(DynamicManagementView)和对现有的视图的扩展,以此来显示镜像会话的更多信息。
热添加CPU。
为了在线添加内存资源而扩展SQLServer中的已有的支持,热添加CPU使数据库可以按需扩展。
事实上,CPU资源可以添加到SQLServer所在的硬件平台上而不需要停止应用程序。
公司在面对不断增长的压力,要提供可预计的响应和对随着用户数目的增长而不断增长的数据量进行管理。
SQLServer提供了一个广泛的功能集合,使你的数据平台上的所有工作负载的执行都是可扩展的和可预测的。
性能数据的采集。
性能调整和排除故障对于管理员来说是耗费时间的工作。
为了给管理员提供全面的执行洞察力,SQLServer推出了范围更大的数据采集,一个用于存储性能数据的新的集中的数据库,以及新的报表和监控工具。
扩展事件。
SQLServer扩展事件是一个用于服务器系统的一般的事件处理系统。
扩展事件基础设施是一个轻量级的机制,它支持对服务器运行过程中产生的事件的捕获、过滤和响应。
这个对事件进行响应的能力使用户可以通过增加前后文关联数据,例如TransactSQL对所有事件调用堆栈或查询计划句柄,以此来快速的诊断运行时问题。
事件捕获可以按几种不同的类型输出,包括Windows事件跟踪(EventTracingforWindows,ETW)。
当扩展事件输出到ETW时,操作系统和应用程序就可以关联了,这使得可以作更全面的系统跟踪。
备份压缩。
保持在线进行基于磁盘的备份是很昂贵而且很耗时的。
有了SQLServer备份压缩,需要的磁盘I/O减少了,在线备份所需要的存储空间也减少了,而且备份的速度明显加快了。
数据压缩。
改进的数据压缩使数据可以更有效的存储,并且降低了数据的存储要求。
数据压缩还为大型的限制输入/输出的工作负载例如数据仓库提供了显著的性能改进。
资源监控器。
SQLServer随着资源监控器的推出使公司可以提供持续的和可预测的响应给终端用户。
资源监控器使数据库管理员可以为不同的工作负载定义资源限制和优先权,这使得并发工作负载可以为终端用户提供稳定的性能。
稳定的计划。
SQLServer通过提供了一个新的制定查询计划的功能,从而提供了更好的查询执行稳定性和可预测性,使公司可以在硬件服务器更换、服务器升级和产品部署中提供稳定的查询计划。
高效性。
SQLServer降低了管理系统、.NET架构和VisualStudio®
TeamSystem的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。
鉴于SQLServer的以上特点我们选择了它,为我们的基于web的系统提供数据验证,数据录入,查询等一系列操作的后台数据库支持。
2.1.6J2EE体系介绍
J2EE体系包括JSP、Servlet、EJB、WEBSERVICE等多项技术。
这些技术的出现给电子商务时代的WEB应用开发提供了一个非常有竞争力的选择。
怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。
J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制
2.1.1JSPModel1
在利用JSP技术来实现WEB应用的实例中,由于JSP技术的发展非常迅速而且这门技术非常容易掌握,所以它很快的就成为了WEB开发中主要应用的技术。
在使用JSP进行开发时,可以很快的将HTML,业务逻辑等技术在一个页面同时应用在一起,这种以JSP为中心的开发方式就是JSPModel1的体系结构,其中JSP既要负责业务流程控制,又要负责提供表示层数据,同时充当视图和控制器,未能实现这两个模块之间的分离。
在使用JSPModel1后所出现的一系列问题:
(1)耦合性和业务逻辑与数据修改:
使得HTML代码和JAVA代码呈现出高耦合的现象,更改业务逻辑和数据需要牵涉的很多的页面,这样会使得后期的维护相当的困难。
(2)内嵌的流程逻辑:
要理解应用程序的整个流程,必须浏览所有网页,这是的工作量增大而且很难理解其中的业务逻辑
(3)调试困难:
例如在一个网页中出现了HTML代码,JAVA代码,和JavaScript代码,使得调试相当的困难。
2.1.2JSPModel2
在JSPModel2中,充分的实现了MVC的思想,用JSP负责视