电子相册系统的设计与实现.docx
《电子相册系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《电子相册系统的设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。
电子相册系统的设计与实现
电子相册系统的设计与实现
哈尔滨理工大学
毕业设计
题目:
电子相册系统设计与实现
院、系:
荣成学院软件工程系
姓名:
xxxxxxx
指导教师:
xxxxx
系主任:
xxxxxxx
2013年6月21日
哈尔滨理工大学毕业设计(论文)评语
学生姓名:
xxxxx学号:
xxxxx
学院:
xxxx专业:
软件工程
任务起止时间:
2013年9月10日至2014年6月21日
毕业设计(论文)题目:
电子相册系统设计与实现
指导教师对毕业设计(论文)的评语:
指导教师签名:
指导教师职称:
评阅教师对毕业设计(论文)的评语:
评阅教师签名:
评阅教师职称:
答辩委员会对毕业设计(论文)的评语:
答辩委员会评定,该生毕业设计(论文)成绩为:
答辩委员会主席签名:
职称:
年月日
教务处制表
哈尔滨理工大学毕业设计(论文)任务书
学生姓名:
xxxxx学号:
1xxxxxxx
学院:
xxxxx专业:
软件工程
任务起止时间:
2013年9月10日至2014年6月21日
毕业设计(论文)题目:
电子相册系统设计与实现
毕业设计工作内容:
随着数码摄影时代的到来,不论是专业摄影师建立图片档案或是向他人展示自己的摄影作品,还是家庭生活摄影,都需要电子相册来保管摄影作品。
如同传统的照相簿,电子相册既有展示功能也有存储和管理功能。
1.实现用户的注册与登录;
2.实现登录用户上传修改照片等功能;
3.支持登录用户的管理相册功能;
4.未注册用户可以浏览照片发表评论等功能;
5.管理员登陆可以添加相册分类;
资料:
1李皎,李玲玲,王朔琛.基于Java的电子相册系统设计与实现[J].软件导刊,2012
2Lanying.MethodofSystemTransferringfromClient/ServetoBrowser/Server[J][J].ComputerandCommunications,2005
3布鲁斯艾克尔(BruceEckel).Java编程思想(第四版).机械工业出版社,2007
4梁立新.项目实战精解基于Struts+Spring+Hibernate的Java应用开发.电子工业出版社,2006
指导教师意见:
签名:
年月日
系主任意见:
签名:
年月日
教务处制表
电子相册系统设计与实现
摘要
随着人们生活水平的逐步提高,旅游照相成了大家必不可少放松项目。
虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的“资料”,就会显得杂乱无章,即不方便欣赏,也不方便管理。
而电子相册具有欣赏、界面美观等特点,传播方便,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。
本系统是一种基于B/S架构的电子相册管理系统,它采用了目前最流行的Java语言进行编写,用到了当今先进的技术如JSP技术、Hibernate、Spring、Struts框架等来实现该系统。
系统分为五大模块:
相册列表模块、新建相册模块、修改资料模块、修改密码模块、添加相册分类模块。
前四大模块是根据注册用户的提供的,注册用户登陆后可以进行添加相册,上传,删除照片,修改资料等一系列操作,最后一个模块是管理员登陆所进行的操作。
而如果是未注册用户只能查看相册中的内容,没有权力进行相应的修改。
关键词 JAVA;电子相册;SSH框架;MVC
TheElectronicAlbumSystemBaseOnSSHFramework
Abstract
Withthegradualimprovementofpeople'slivingstandards,Journeyandphotographisbecomingourindispensableprojectforrelaxing.Althoughthepictureswilleventuallybestoredintotheirowncomputer,butthosepictureswhichhasbrokenbackmemoriesofthepasttime,willbecomedisorganizedafteralongtime.Itisinconvenienttoappreciateandmanage.Electronicalbumhasfeaturesofappreciationandbeautifulinterface.Itiseasilytospread.Thematterofmanagingstoredpictureswillbecomearelaxedthing.Electronicalbumwhichhasbestappreciationwillbecomeaalbumtooltostorepictures.
Thissystemisaalbummanagementsystem,whichisbasedonB/Sstructure.Itscodeusesjavatowritewhichisthemostpopularlanguage.Andtoday'sadvancedtechnologiessuchasJSPtechnology,Hibernate,spring,Strutsframeworkareusedtoimplementthesystem.
Thissystemisdividedintofivemodules,suchasalbumlistmodule,newalbummodule,modifydatamodule,changepasswordmodule,addalbumclassificationmodule.Thetopfourmodulesareprovidedaccordingtoregisteredusers.Registereduserscandoaseriesofoperationssuchasaddalbums,uploadanddeletephotos,modifydataafteropiningsystem.Thelastmoduleisusedtoperformforanopiningadministrator.Andifauserisnotregistereduser,hecanonlyviewthecontentsofthealbum;thereisnopowertomaketheappropriatechanges.
KeywordsJAVA;ElectronPhotoAlbum;SSHFrames;MVC
第1章绪论
随着数码摄影时代的到来,不论是专业摄影师建立图片档案或是向他人展示自己的摄影作品,还是家庭生活摄影,都需要电子相册来保管摄影作品。
如同传统的照相簿,电子相册既有展示功能也有存储和管理功能。
1.1系统开发的背景和意义
随着人们生活水平的逐步提高,旅游成了大家必不可少的放松项目,每当走到一个美丽的景点,每个人都会忍不住拿起数码相机照上几张留做回忆。
虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的资料,就会显得杂乱无章,即不方便欣赏,也不方便管理。
而电子相册具有欣赏、传播方便,界面美观等特点,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。
电子相册是现在时下最流行的一种网络元素[1]。
它可以应该在很多的领域,例如时下最流行的空间及博客就是大量的应该这一技术,而且受到大多数网友的认可及追捧,其以静态照片为素材(获得源方式为扫描仪扫描、数码相机所拍等),配合动感的背景、前景和字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。
制作好的电子相册可以在电脑上,各类影碟机上,以及手机和MP4里都能观看,这是电子相册技术发展到今天的一个新的突破,即不再象传统那样,只能在电脑上或在影碟机上观看了。
并且还可以通过手机将自己的个性化MTV发送给远方的亲朋好友们分享。
当然,如果考虑到长期保存的话,制作成电子相册光盘那是最好的选择,金碟可保存100多年之久,标准VCD、SVCD、DVD格式,兼容性好,通过影牒机即可与家人、朋友、客户观赏;若保存在硬盘上,也便于随时调阅、欣赏,永久保存。
另外随着数码相机、手机照相等功能的普及,想必每个人手上都储存了大量的电子相片,但这此照片如果不进行处理,仅仅以一张张图片的形式放置在电脑上,不仅不易观赏,也不方便分类管理,是否有软件能将这些照片整理成一本本的相册,电子相册系统平台就是一款集相册生成、浏览专业软件。
1.2研究内容
电子相册系统是一种基于B/S架构的系统,它采用目前最流行的java语言编写[2]。
用到了当今先进的技术如jsp技术、Hibernate、Spring、Struts框架等来实现该系统[3]。
采用MVC框架技术提高了系统的可维护性[4]。
本系统所研究的是从电子相册的管理到相册的生成等一系列的问题,大致分为:
前台包括相册列表、新建相册、修改资料、修改密码、技术支持,后台包括相册管理。
本文共分5章,第1章是绪论,第2章是可需求分析,第3章是概要设计,第4章详细设计,第5章是系统测试。
1.3本章小结
在本章中主要介绍了电子相册系统的背景和意义、国内外发展现状和研究内容
第2章需求分析
2.1系统总体目标
为了给那些对照片管理感兴趣的朋友提供一个交流的平台,对有很多照片需要管理的朋友,你在这里可以进行注册成为会员,上传自己的照片,也可以着浏览别人的相册,还可以修改个人资料。
非注册会员你可以浏览电子相册里别人的相片。
对于管理员登陆,可以添加相册分类。
人们交流的方式多种多样,但是,我们在交流的同时希望更多的了解对方的信息,本软件即是根据此需求进行开发的。
让用户能够通过注册信息,登录并更新及查询自己的相册信息,在此基础上,用户还能够有效的掌握和共享其它资源。
从而促进了相册管理的规范化和集成化,使得用户之间的交流更加的便捷。
本软件产品的最终用户来源广泛,相同之处则是为了增进与他人之间的交流。
本软件面向大众,用户使用过程中的操作也不复杂。
基本功能如下:
1.本系统应该具有相片浏览。
2.相片上传。
3.评论相片、编辑、删除相片。
4.用户注册。
5.用户管理。
6.个人信息修改等功能。
具体功能:
本系统用户分为普通用户和管理员两种角色,普通用户的功能包含浏览数据库中包含的所有相册和相片,登录系统后上传专属自己的相片,可以查看他人相片,并且提交自己的评论,对自己的相册和相片进行增删改查等操作,未注册用户在提交满足条件的信息后可以注册成功并且实现登录,用户可以进行个人信息的修改,包括qq、电子邮件、等信息,还可以修改密码,也有退出登录功能。
管理员的功能包含普通用户的所有功能,管理员独有的功能包含添加文件功能。
2.2系统数据流图
1.用户使用该系统,首先需要注册用户,其次需要上传照片,这两个是电子相册系统的输入数据流;而输出数据流包括浏览图片和查看评论。
如图2-1描述的是电子相册系统的顶层数据流图。
图2-1顶层数据流图
2.照片ID是自增列,不显示在前台页面,此外,图片名称和描述需要用户以文本框的形式在前台输入。
如图2-2描述的是用户在上传照片的过程中存在的数据流图。
图2-2上传照片数据流图
3.用户需要输入相册名称和相册简介等信息,输入到电子相册系统。
如图2-3中描述的是新建相册数据流图。
图2-3新建相册数据流图
4.用户需要将需要修改的信息,以文本框的形式输入到电子相册系统,然后存储在数据库中。
如图2-4中,描述的是修改资料的数据流图。
图2-4修改资料数据流图
5.用户需要输入原密码和新密码,验证通过后,新密码将存储在数据库中。
如图2-5中描述的是修改密码数据流图。
图2-5修改密码数据流图
6.只有管理员拥有权限,管理员通过登录验证后,以文本框的形式向电子相册系统中输入相册种类名称,最后存储在数据库中。
如图2-6种描述的是添加相册的数据流图。
图2-6添加相册数据流图
2.3可行性分析
电子相册系统是基于SSH框架来开发的,主要运用jsp技术、SSH、tomcat等相关技术,以Mysql为后台数据库、Tomcat7.0为应用服务器。
这些应用软件都可以在网络上免费下载,并且这些软件都是些最常用的开发工具,都能够快和好的掌握,所以对于本系统在技术上是可以达到的。
随着现化时代的来临和人们生活水平的不断提高,人们的生活方式也变得时尚起来了,校园生活,天真浪漫,同窗友情,张张照片为您定格,欣赏昔日身姿,却因照片静态的表现方式让人觉得枯燥;一项活动结束了,留下一叠杂乱无章的照片;一本本厚重的相册,一张张因保存不善而失去往日风采甚至毁损的照片,真让人有些不忍面对,随着电脑软件的发展,人们都迫切的需要一款软件开管理自己的照片。
于是开发电子相册将给人一种全新的留念方式,所以该软件开发的市场价值是可行的。
1.软硬件需求如下:
(1)操作系统:
windowsxp/7操作系统
(2)界面:
简单明了,易于非专业计算机人员使用
(3)数据:
存入系统中的相片格式为JPEG或者BMP
(4)硬件设备:
PC机、笔记本电脑
(5)数据库:
采用Mysql数据库管理
(6)服务器:
使用Tomcat7.0作为服务器
2.程序相关技术如下:
(1)JAVA:
Java是Sun公司开发的编程语言,使用它可以在各式各样不同的机器、不同操作平台的网络开发环境中开发软件。
不论用户使用的是哪一种WWW浏览器、哪一种计算机、哪一种操作系统,只要WWW浏览器上面注明了“Java”,就可以看到生动的页面。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。
另一方面,Java技术也不断更新。
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
(2)JAVAEE:
J2EE,Java2平台企业版(Java2PlatformEnterpriseEdition),是Sun公司为企业级应用推出的标准平台。
Java平台共分为三个主要版本JavaEE、JavaSE和JavaME。
随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。
现如今,J2EE不仅仅是指一种标准平台(Platform),它更多的表达着一种软件架构和设计思想。
JavaEE本身是一个很好的技术,JavaEE体系结构提供中间层集成框架用来满足没有太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,JavaEE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持。
通过技术人员、厂商以及用户的共同努力,JavaEE一定能够成为用户进行电子商务应用和信息化建设的首选方案。
(3)MYSQL:
本系统采用的是目前比较流行的小型数据库系统MYSQL。
MySQL是瑞典的MySQLAB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统[5]。
MySQL完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。
MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。
提供事务和非事务的存储机制;快速的基于线程的内存分配系统;MySQL采用双重许可,用户可以在GNU许可条款下以免费软件或开放源码软件的方式使用MySQL软件,也可以从MySQLAB公司获得正式的商业许可。
(4)SHH框架:
本系统是基于J2EE的SSH种框架的集成性开发,其中包括STRUTS框架、SPRING框架、HIBERNATE框架,它们在整个模块的开发过程中起着不同的作用[12]。
STRUTS框架主要是MVC结构,而MVC把交互系统的组成分解成模型、视图、控制器三部分[6]。
模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。
视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。
HIBERNATE框架是一个数据持久层框架,是一种实现对象和关系之间映射(O/RMapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库[7]。
它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。
Spring框架是一个开源框架主要有两大特性包括:
依赖注入(IOC)和切面(AOP)在我的这个设计中基本上只体现了其中的一部分也就是IOC依赖注入,所谓的依赖注入就是Spring通过一种称作控制反转(IOC)的技术促进了松耦合[8]。
当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
2.4本章小结
在本章中,通过对电子相册系统的需求分析了该系统所需要的各种因素进行了分析,明确开发该系统所必需的前提条件。
第3章概要设计
3.1系统总体结构
本系统所研究的是从电子相册的管理到相册的生成等一系列的问题,大致分为:
1.相册列表:
此模块是注册用户所创建的相册列表,其创建时要选择所属的相册分类,相册名字由注册用户所规定。
相册封皮也可以由用户设定。
2.新建相册:
此功能是注册用户所拥有的,用户可以自己创建想要的相册。
3.修改资料:
注册用户注册时填写的资料可以在再次登陆时修改。
4.技术支持:
介绍了所用到的知识点。
5.相册分类管理:
此功能是管理员登录时拥有的权限,管理员可以添加相册的分类。
如图3-1描述的是总体结构图,分为前台和后台。
图3-1总体结构图
前台主要是普通用户操作,用户可以使用的功能包含查看相册列表、新建相册、修改资料、修改密码、退出登录,后台主要是管理员操作,完成的主要功能是添加文件的功能。
3.2系统功能模块结构
相册管理系统分为五大模块:
相册列表模块、新建相册模块、修改资料模块、修改密码模块、添加相册模块。
注:
前四大模块是根据注册用户的提供的,而如果是未注册用户只能查看相册中的内容,没有权力进行相应的修改,进行注册后即可实现前四模块。
3.2.1相册列表模块
1.业务描述:
管理相册的相关图片的上传。
2.业务流程:
用户点击相册列表可以浏览相关的相册,当然点击上传图片就可以进入一个上传图片的页面,在该页面中用户可以根据自己的需要上传相应的图片,为图片取名、分类,提交后返回相册列表。
3.输入数据:
记录编号是自增列不显示在前台页面;图片名称、文件简介分别以文本框的形式展示在前台页面中,由用户输入。
4.角色说明:
此功能主要由注册用户和非注册用户使用。
3.2.2新建相册模块
1.业务描述:
添加相册即为用户所处的相册管理模块加入一个新的相册。
2.业务流程:
点击新建相册的界面,进入新建相册的主界面根据提示输入相关的信息后选择提交,则可看到刚刚新添加的那个相册,然后可以根据自己的需要选择是否加入相片,如果加入的话点击相册,然后点击上传相片,根据提示填写相关的信息,然后选择上传路径单击上传,选择提交,这样系统会自动的生成一个大图片和一个小图片,用来显示封面等操作。
3.错误处理:
在填写信息的过程中不允许有不被填写的栏目,系统会给出相应的提示。
4.输入数据:
由用户输入相应的数据信息。
5.输出结果:
其输出结果为在相册列表中给予相应的显示。
6.角色说明:
此功能主要注册用户使用。
3.2.3修改资料模块
1.业务描述:
对注册用户来讲,将他们的资料从后台数据库中读取出来然后根据用户的需要进行相应的修改,根据用户资料采集界面来采集相应的数据,根据这些数据来更新数据库中该用户的相应资料。
如果是未注册的用户可根据提示进行注册。
2.业务流程:
从后台数据库中读取出来然后根据用户的需要进行相应的修改
3.错误处理:
在填写信息的过程中系统会给出相应的提示。
4.输入数据:
由用户输入相应的数据信息。
5.输出结果:
无
6.角色说明:
此功能主要注册用户使用。
3.2.4修改密码模块
1.业务描述:
对注册用户来讲,该模块是用于修改注册用户的登陆系统平台的密码,注册用户可以根据自己的需要来修改其密码。
2.业务流程:
进入修改密码界面,根据提示给出需要修改的信息,输入验证码后提交即可。
3.错误处理:
所有字段必须逐一给出相应的数据信息。
4.输入数据:
由用户输入相应的数据信息。
5.输出结果:
无。
6.角色说明:
此功能主要注册用户使用。
3.2.5添加相册模块
1.业务描述:
该模块由系统的管理员来操作,首先系统管理员要根据其所登陆的相关用户员和密码进行登陆,登陆后可以进行一些关于电子相册管理系统的维护工作这里所提到的是关于相册种类的添加,可以根据后台的添加来进行前台的相关操作。
2.业务流程:
管理员登陆后进行添加操作,填写添加种类的名称点击提交后将在下面相应的下拉菜单中给予显示。
3.错误处理:
所填种类不能为空,若为空则给予相关。
4.输入数据:
由管理员给出所要加入的相关种类。
5.输出结果:
在下拉列表中给显示出相应的种类列表。
6.角色说明:
此功能主要由管理员使用。
3.3系统E-R图
1.管理员实体包含ID、姓名和密码三个属性,在数据库中ID设计为自增,姓名和密码用户自己指定,如图3-2所示。
图3-2管理员E-R图
2.相册实体包含ID、相册名、相册描述、创建时间、访问次数等五个属性,在数据库中ID设计为自增,用户在创建新相册时,需要提交相册名、相册描述等信息,提取系统时间作为创建时间,访问次数根据用户访问次数进行累计,如图3-3所示。
图3-3相册E-R图
3.相册留言实体包含ID、标题、提交时间等属性,在数据库中ID为自增,用户在添加相册时提交标题、内容,提取系统时间为提交时间,如图3-4所示。
图3-4相册留言E-R图
4.相片实体包含ID、名称、相片描述、时间、小相片、大相片、更新时间、封面,在数据中ID设计为自增,用户在添加相片操作时需要输入名称、描述、导入照片所在路径等详细内容,满足条件后提交相片