网站导航免费论文 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 论文模板 > 计算机论文 > 正文

基于SSH架构的多媒体网站管理系统毕业论文

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 21/03/16

【编者按】:网学网计算机论文为您提供基于SSH架构的多媒体网站管理系统毕业论文参考,解决您在基于SSH架构的多媒体网站管理系统毕业论文学习中工作中的难题,参考学习。

完成日期:1月17日吉林大学珠海学院本科毕业论文(设计)开题报告摘要在目前流行的网络环境之下,有不少诸如视频网站,音乐网站甚至是制图网站,它们满足了大多数网民对于媒体资源的诉求,但是有一些用户并不满足于此。由于当今社会对于版权问题十分重视,这些网站并不能满足所有人的喜好。加上媒体网站只主推一种产品,对于媒体文件之间有效的整合和互相的转换都少有涉及。在资源的购买方面,没有一个有效和规范的环境,在这样的前提下,很难保障上传者和下载者的实际利益。从以上几个方面看,能够推出一个满足用户个性化要求,又不伤害其他人的利益的多媒体网站管理系统是很有必要但是却不容易实现的。经过反复的讨论和论证,针对这样的问题和之前的构想,加上委托方的要求,建立一个私人的,小范围使用的多媒体网络管理系统,既不会伤及版权问题,又可以尽量满足会员的个性要求。在目前的环境之下是一个最好的解决方案。需要指出的是,本网站并不是对所有的网络使用者开放的,而是对定制用户开放的,所有的用户必须得到授权才能进入。关键词:Struts2;Spring;Hibernate;Oracle;网站管理1.1 研究背景在目前运营的提供媒体资源的网站,诸如视频网站,图片网站,音乐网站和一些小说网站等等,都不能提供一个比较完整的多媒体平台,并且受版权影响,并不能呈现所有的媒体文件,有些文件损坏程度比较严重,有些文件本来就是非法转载而来,如果用于教学等其他非商业目的来讲,有些文件又存在水印,字幕不全,非法修改等误导消费者的部分。为了解决在媒体资源之间的转换问题和在维护版权前提下的媒体资源分享问题,由本开发小组发起,准备建立一个新的多媒体网络资源管理系统。在本小组提出基本的系统构想后,应项目的支持者的要求,本系统的设计构想基本定位在一个小范围的私人论坛试运营,之后再完善系统并进一步扩大规模。而最终是希望建成一个具有独立的媒体资源编辑能力并集媒体资源的上传,下载,买卖,共享等为一体的综合性私人论坛。这样作为一个一般用户,不必购买昂贵的软件就可以使用或者购买简易的多媒体相关功能和文件。而对于在市面上并未出现过的多媒体内容,用户也可以在在线浏览之后决定是否购买(只能浏览指定的一部分,带有水印等,并且在浏览过程中不能进行录像和截图操作)。对于版权问题,本站采取尊重原创作者的版权,不仅所有的媒体文件都会标明出处,对于没有版权的作者也会尽量保证他们的权益,对于拥有版权且不能公开转载的作者的作品,将通过协商的方式寻找合适的方式在本站使用他们的资源,有些一定要进行购买的,本站将采用统一的购货方式进行购买。而购买所产生的费用,则通过用户浏览来承担,一部分付费的VIP用户采用月付费承担,剩下的普通用户和一些价格比较昂贵的将再进行单独标价付款后才可以观看。在这些定价之中,网站本身不收取任何费用,所得的费用完全投入多媒体文件的购买。而网站的运营费用则是由论坛内部共同承担,具体操作流程不在本系统的讨论范围之内。经过大量的讨论和论坛内部将近半年时间的问卷调查,设计小组基本上了解了论坛成员对于网站的需求状况,经过总结后小组共同编写了需求说明书并在论坛上公示获得通过,本网站管理系统的设计工作正式启动,其中大部分的设计工作由本人完成,而具体实现则由小组成员分工完成。1.2 开发环境简介1.2.1SSH系统架构简介 SSH架构是目前比较流行的web程序框架,由Struts2+Spring+Hibernate构成,在java开发中可谓是黄金组合,并且这些框架都是开源的框架,这样就大大降低了开发成本。[1]下面对该框架的内容进行必要的简介:A Struts2Struts2是在Struts1和Webwork的基础上进行了很大改进发展而来的,它以Webword为核心,抛弃了Struts1中的大部分内容,使得业务逻辑控制器和Servlet API完全解耦。主要负责业务逻辑的跳转,和MVC的分离。系统中用Struts2架构完成的代码主要实现了各个模块的主要功能。[2]需要指出的是第一期网站使用的前台脚本语言是JSP,这主要是针对Struts2与JSP的兼容性好,但是JSP页面存在响应时间过缓的问题,所以在第二期开发过程之中,小组将前台脚本语言改为PHP开发,这样修改的原因是PHP与数据库mysql服务器兼容性好,而且响应速度也比JSP页面快。B SpringSpring旨在使用javaBean来完成以前只能由EJB完成的事情。主要负责管理,将对象之间的依赖关系交由Spring进行控制。[3]系统中的集成问题都是采用Spring框架制作。C HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库。所以利用hibernate对持久层提供支持。而鉴于hibernate是小组成员以前开发很少使用的部分,这次的开发过程在这里是一个挑战,在设计方面难免会有考虑不周的地方。[4]1.2.2 Mysql数据库简介之所以选择mysql数据库作为最开始使用的数据库服务器,是考虑到其本身体积并不大,对于初级开发者而言相对比较容易操作。而且网站第二阶段的构想,前台的脚本将使用PHP作为脚本语言,选择mysql数据库可以更好地与脚本语言配合。[5]对于第一期和第二期的开发工作,使用mysql作为数据库服务器的确给开发团队带来很大的便利。但是随着开发工作的进行,特别是网站增加了在线编辑媒体文件的功能之后,mysql数据库服务器显然不能满足用户最终的需要,这使得小组在这一阶段之后不得不放弃简单易行的mysql数据库而改用较为复杂的oracle数据库。而之所以在此列出,是因为在本篇论文完成之时,虽然第三阶段的设计工作已经基本完成,但是还没有在开发中实现,所以所看到的系统运行情况仍然停留在mysql数据库的实现阶段。1.2.3 Oracle数据库简介本次开发的最终数据库服务器采用oracle 11g进行开发,oracle数据库是目前世界上被采用最多的数据库管理系统。采用oracle数据库服务器是鉴于它强大的数据处理能力和安全性能。并且在数据库的备份和恢复方面,oracle数据库也拥有其他同类产品所不具有的优势。1.2. 需求分析2.1 需求调研本网站的开发目的是为了满足某论坛的功能扩展,所以在开发之前进行了详细的调研,以确定开发的产品是能够满足既定人员的所有需求的。对于网站开发的成本和维护产生的费用,由该论坛承担。本开发团队采取网络问卷的形式,对论坛的每一个用户都进行了调查根据反馈的结果,证实了团队之前的构想是可行和正确的。2.2 需求分析根据问卷调查的内容,本小组总结出以下几条需求内容。A 注册:除了要进行实名认证之外还要求是论坛的注册用户,并且通过论坛的授权才能进行成功注册。注册时要签署网站的定制协议,违反协议将追究法律责任。(有些用户表示这还是不够的,还要求登记该用户在各大论坛的用户名称,但是开发团队认为这样做有些画蛇添足)B 登陆:在输入账户名和密码后如果登录失败,显示账户名称或者密码不正确,不仅要重新输入,而且要求重新进行论坛认证,这样做虽然繁琐,但是是防止盗号问题的一个有效的办法。C 找回密码:找回密码不仅要进行论坛认证,还要求重新进行实名认证,如果与上次实名认证结果不一致,则该用户将被记入黑名单,不允许再次注册。D 用户的划分和来源:论坛的管理用户将组成日常的管理员团队,论坛的高级用户有权注册认证成为开发者用户,论坛的合作伙伴有权注册为供货商用户,论坛的其他用户只能注册成为一般用户。允许开发者用户和管理员同时成为一般用户。论坛的经理用户为论坛的版主,只有一个经理用户,不能多次注册经理用户。用户的划分由管理员在注册的认证阶段实现,管理员有权更改用户的权限。E 游客权限:未经注册和登陆的游客,不能访问本站,不能浏览任何本站提供的资源。本站的登陆界面视为本站对外开放的界面,本站的主界面只对注册用户开放。F 在线的直播功能:对于某些特殊的资源,只提供特定时间的在线浏览。G 定制资源功能:本站提供的定制资源平台是为了某些创意资源拥有自己和版权,从而维护创作者的权益,而这些资源的使用权限完全由创作者决定。H 媒体资源的种类:本站支持主流的视频、音频、图片和文本文件格式,并且还提供少量的其他资源如操作系统主题、输入法皮肤等。2.3 系统功能分析图图2-1 系统功能分析图3. 总体设计3.1 系统结构图图3-1 系统机构图3.2 总体功能设计A 根据用户划分的内容:a 用户:第一期:媒体资源的在线浏览和评论;部分媒体资源的上传和下载。第二期:用户划分为普通用户和VIP用户;可以通过网上银行付费成为VIP用户,浏览和下载更多媒体资源;用户账户管理。第三期:用户和VIP用户的等级划分,通过登陆的天数获得不同的积分,达到一定积分就可以升级用户,等级越高的用户会获得更高的用户权限;自定义的定制资源购买和在线的资源编辑;用户个性化设置。b 开发者:第二期:媒体资源的更新和网站的日常维护。第三期:用户自定义定制资源的接收和提交;开发者账户管理。c 供货商:第二期:媒体资源的更新和定价;供货商账户管理。第三期:用户自定义定制资源的接收和提交;供货商等级的划分,等级越高的用户能够获得更高的价格,并在定制资源和购买资源时被优先考虑。d 管理员:第一期:用户管理;媒体资源管理;评论管理。第二期:供货商管理;开发者管理;财务管理。第三期:在线直播管理;管理员权限划分;经理用户,经理用户中的管理员管理对管理员进行授权和删除等操作。B 根据模块划分:a 媒体资源模块:媒体资源的浏览权限、制作、上传、下载、标价、买卖、搜索、评论、基本信息修改。b 用户模块:用户的注册、登陆、删除、授权、查询、信息浏览。c 财务模块:网站收支状况查询,用户、供货商、开发者的收支状况查询。d 定制资源模块:媒体资源的定制、在线直播、网站的界面管理、排行榜管理。 3.3 系统E-R图[6]图3-2 系统E-R之一图3-3 系统E-R图之二3.4 数据字典在此有必要将某些数据表的设计过程和思想简单列出:3.4.1 用户信息表用户信息表的主要存储内容有两个:A 在网站第一次注册的未经批准的用户,其是否通过认证选项为未通过,与此同时,以下列出的5、6、7三项则不会由系统自动生成。B 已经被网站批准的认证用户,其中的5、6、7三项会由系统自动生成。这样设计的虽然在操作方面有些复杂,但是主要考虑了以下两点:A 使用一张表大大的节省了存储空间和操作程序,如果使用两张表存储未经认证的用户和已经认证的用户,两张表之间需要转换过程,而且需要大量的删除和插入操作,而这两项操作通常会同时发生,不仅容易出错,还占用了大量的网站资源。而同时,使用本站的用户根据目前的规模最多只有一千人,同时进行注册的人数不会超过一百人,因此不会产生操作阻塞的情况。B 出于对于以上第一点的发展,这样做也可以节约网站的开发成本。并且在用户被删除之后,将会进入黑名单,用户信息会被保留,防止用户再次注册。这样使得在用户的注册和登陆过程中,主要操作都集中在一张表之内完成。表3-1 用户信息表3.4.2 用户权限表出于对用户权限的划分建立的用户权限表,只是为了方便不同用户登录后所匹配的不同服务项目所使用的,在表建立之后内容就不能更改、添加和删除。表3-2 用户权限表3.4.3 媒体资源信息表这里列出的是媒体资源的存储信息,而对于媒体资源的详细信息,例如作者、国籍、类型等等则是有一个媒体资源详情表可以查询的。因为这个表除了在用户搜索中使用,需要管理员及时更新之外,没有其他用途,并且在网站的设计方面,也不是一个主要内容但会占用大量的篇幅,所以并不在文中列出此表。如同上文所述的用户详情表也并未在此列出也是出于同样原因。对于下表所示的资源权限一栏,所填的选项包括:表3-3 媒体资源信息表3.4.4 用户账户信息表用户账户信息表是由于与用户的基本信息存在于不同的模块之内并且不处于同一个开发周期内而被单独列出的。在进行财务交易的情况下无需访问用户基本信息表,操作起来更为简便。表3-4 用户账户信息表3.4.5 账户交易信息表交易信息采用的存储和查询的方式基本上和下面的评论是相同的,在这里需要解释其中的交易类型字段,其中填写的信息是几个固定的字段:卖出、买进、租出、租进、VIP月费、工资、网站维护、虚拟交易。表3-5 账户交易信息表3.4.6 媒体资源评论表表3-6 媒体资源评论表4. 设计思想与实现思路由于本人在小组中主要担任需求调研、设计和测试方面的工作,除了Struts2编写的部分java脚本和前期jsp页面之外,没有更多参与编程工作。4.1 用户注册登陆模块关于用户的注册问题,小组和论坛用户经过了很长时间的讨论,总结出了几套方案:A 方案一:采用实名注册,在浏览媒体文件的时候提出申请,在申请获得批准后才能进行浏览。显然这种方案使得管理员工作大量增加,而且用户也无法获得足够的正常响应。如果每个用户浏览资源时都要经过讨论而获得相应或大或小的权限,会造成实现上极度的繁杂,而且容易发生不可预知的错误,在设计方面也有相当的难度。B 方案二:不采用实名注册,只是在浏览特定资源的情况下采用购买的方式。通过论证,如果不进行必要的实名注册,就不能判断浏览者是否为可信任用户,从而使得版权等问题无法保障。而采用购买方式并不能本质上解决这方面的问题。C 方案三:实名认证用户注册认证方式采用类似验证码的方式,采用问题认证,由系统本身决定认证内容。经过论证这种认证方式存在缺陷,仍然有可能有非论坛用户进入本站,造成信息等的泄露。并且类似验证码的方式极其容易被破解,实现起来也不十分容易,如果要经常更换验证的内容则需要大量的人力。根据以上的方案,研发小组和论坛管理团队商定的最后方案是:采用实名认证方式注册,认证由论坛内部决定内容,并通过网站通过,本站并不涉及认证信息的任何内容,所有的申请都由后台管理员手动操作,并且在注册的同时,用户需要签署本站的公约,公约的内容是由论坛成员共同制定的。但是从网站设计角度来讲,要求管理员手动批准申请的方式仍然是一个十分原始的操作手段,在设计中要尽量避免使用,因为如果申请人数太多也会造成人力上极大的投入。但是考虑到网站使用的小众性以及上述所讲的各项原因,开发小组认为采用这种比较原始的手段仍然是十分必要和可行的。但是开发小组仍然认为这并不是一个最终的解决方案,在以后的维护过程中,还会逐步探索真正能够用程序获得程式化的解决方式。而关于身份证认证的问题,本站采用统一购买的接口进行连接,在实现上不属于小组内部的设计内容。在实现方面,在注册页面用户输入的信息通过Action类中的get方法获取用户输入的值,该值先通过jsp页面的javaScript在数据收集时进行初步校验,然后在registerAction的相同目录下创建输入校验文件registerAction-validation.xml,构成服务器校验。这里选择的校验器是内建校验器。在邮箱部分使用邮件地址校验器,在身份证部分暂时采用自定义的身份证校验器。在姓名方面,自定义了姓氏的字段进行自定义校验。对于以上各项信息统一都需要采用字符长度校验器。使用验证器Annotation指定必填校验规则:@RequiredStringValidator(type = ValidatorType.FIELD,key = "register.requried",message = "")以上注册内容如果校验失败则输出login.requried注册失败校验内容。由于注册中只有一项用户请求,当点击注册时,系统调用Action类中的excute()方法进行表单的提交和处理。客户端校验并不是注册验证的全部内容。当客户端输入的信息通过上述校验之后,用户信息将被写入用户信息表中。管理员在客户端收到注册信息之后逐一对注册者的姓名和验证信息进行比对,在此开发小组称这项工作为人工校验。当通过最后这道校验之后,管理员点击授权后用户对应的角色,系统自动匹配授权编号并发送给数据库,自动生成该用户的权限编号和用户等级、账户编号,是否通过认证数据项由false修改为true,生成是否为黑名单数据项为false。于此同时,用户账户建立,系统自动生成账户余额数据项为0。至此,完成用户注册的各项步骤。图4-1 注册用户验证逻辑示意图图4-2 注册界面截图关于登陆,用户通过注册之后会收到邮件,在此之后,用户就可以通过注册的用户名和密码访问本站。登陆时输入的信息也存在客户端校验和服务器校验两个部分,在登陆时将调用相同的校验器进行校验。在登陆页面,用户输入信息后点击登录由Action类中的excute()方法进行处理,而点击注册则由在客户端由login.jsp直接跳转至register.jsp进行处理。在登陆之后设置自定义拦截器获取用户的权限信息来调用不同的jsp页面进行用户服务。图4-3用户登陆逻辑示意图关于密码的找回和输入三次错误密码,设计要求将重新进入认证阶段,如果发生与前次实名注册不一致和认证无法通过,这个用户将被加入黑名单,不允许再次访问本站。而在登陆界面,并不存在找回密码的按钮,用户找回密码的操作同输入三次错误密码的操作一样,遵循重新认证。关于输入三次错误密码返回注册页面,开发团队认为单单使用计数器是不够的,为此专门在用户信息表增加输入错误密码次数数据项,这一项信息在注册之后自动生成值为0,每当用户输入一次错误密码,loginAction将会拦截这次请求并使该数据项值增加1,当loginAction捕捉到该数据项值为3时,则会调用restartAction类,使得是否认证数据项变为false,同时调用registerAction类。在registerAction类的处理中,如果发现输入用户名与数据库中已有的数据项匹配且是否认证为false时,进入普通注册流程,但是会标记flag=1。若flag=1时出现数据库更新操作,即数据库中的数据项需要修改时,registerAction将会拦截用户请求,将是否为黑名单一项改为true,用户认证失败。当再次输入该用户名并点击登陆时,系统拦截到是否为黑名单一项为true时将无视用户所有请求,jsp页面获取后发送通知:该用户已被屏蔽。4.2 媒体资源模块多媒体资源是网站最重要的组成部分,除了其分类、介绍、以及名称和存储或浏览地址之外,还增加了浏览多媒体资源的权限。设置浏览权限的主要目的一方面是为了针对不同等级的用户开放不同的权限,另一方面是为了保护相应的媒体资源和使得网站能够收支平衡。关于媒体文件的浏览和上传、下载,在协议允许,权限合适的前提下本站点提供了多种接口,主流的播放器,图片浏览器和下载工具大多可以适合本站使用,并且一些可以分享和转载的内容也可以通过相应的接口进行转载和分享。关于媒体资源的浏览权限和用户的权限匹配问题,主要是通过媒体资源权限编号同用户权限编号的匹配来确定的,在这里会涉及到比较繁杂的算法,和频繁的数据调用。这里采用一个拦截器来实现权限调用。在数据库的设置上,媒体资源的浏览权限包括:网站播放、自定义播放、VIP付费下载、VIP免费下载、用户付费下载、用户免费下载、转载和编辑八项,权限开放程度越来越高。在jsp页面每项资源都拥有播放、下载、转载、编辑四项功能,如果是网站播放权限的资源文件,则不会在用户浏览时显示在显示页面,在搜索中也无法搜索到。Action通过getTip()方法获取媒体资源的访问权限,在Action类中通过识别不同的访问权限对应在jsp页面的相关功能是否可以被触发。而对于各项功能的响应则使用一个抽象工厂来实现自定义播放、下载、转载和编辑的接口。其中播放、转载和编辑功能都采用专门的接口与已经成型的播放器、网站、编辑器对接,下载则使用Struts2控制文件的下载。在下载接口的实现方面,进一步增加一个工厂方法来实现。接口中需要实现免费下载或付费下载的判定,如果为免费下载则直接调用fileDownloadAction类进行下载;如果为付费下载,则首先进入判定,生成一份虚拟订单,除订单号之外将与现有的订单进行比较,如果订单的项目全部相同则视为该用户已经购买过该项资源,不用再次购买,这时直接调用fleDownloadAction类进行下载;如果虚拟订单无匹配项,则生成新的订单,系统调用付费接口待确认付款后再调用fileDownloadAction类进行下载。图4-4 多媒体资源的使用权限处理逻辑示意图下载相关代码如下:public class fileDownloadAction extends ActionSupport {//文件路径private String filePath;//文件名称private String fileName;public String getFilePath() {return filePath;}public void setFilePath(String filePath) {this.filePath = filePath;}public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;}/** 得到文件输入流 */public InputStream getSelectFile() throws Exception {return new FileInputStream(new File(filePath));}/** 将文件名转换成中文 */public String getDownloadName() throws Exception {String downloadName = new String(fileName.getBytes(), "ISO8859-1");return downloadName;}@Overridepublic String execute() throws Exception {return SUCCESS;}}配置文件信息:<action name="fileDownload" class="com.download.fileDownloadAction"><result name="success" type="stream"><!-- 支持所有格式文件 --><param name="contentType">application/octet-stream;charset=ISO8859-1</param><!-- 得到输入流 --><param name="inputName">selectFile</param><param name="contentDisposition">attachment;filename="%{downloadName}"</param><param name="bufferSize">4096</param></result> </action>[7]开发者和供货商通过不同的接口访问本站,可以使用本站自己设计的接口上传媒体文件,并且在与管理员确认之后可以按照网站给出的价格进行交易。管理员在后台进行多媒体资源管理和一个文件首次在本站出现后,管理员将首先进行权限设置和标定价钱,所有的运作过程所出现的合约都是本站提供的统一合约,受到法律保护。而对于用户自定义和编辑的多媒体文件,则是拥有相对比较开放的网络权限,除标注作者之外,任何网站用户都可以进行浏览、转载和免费下载。对于希望自定义和编辑内容拥有权限保护的用户,只能在论坛中通过论坛的申请方式获得开发者权限或者交由其他开发者进行上传,这里不是网站设计的内容,再次不再赘述。开发者上传时直接调用fileUploadAction类进行上传,这个类使用Struts2的文件上传拦截器,通过配置过滤器fileUpload中的allowedTypes和maximumSize属性过滤文件的类型和大小。这里构造一个工厂方法,通过获取jsp页面上表单所选择的文件类型:视频、音频、图片、文件、其他五个选项匹配不同的上传属性。而供货商则需要填写相应的表单,除上传外包括定价和类型等内容之后,待管理员确认交易信息之后,调用相应的payUploadAction类进行付款操作。在生成交易信息时,如果管理员没有确认,则交易类型被确定为虚拟交易,当管理员确认之后,由管理员修改交易类型。图4-5 上传多媒体文件处理逻辑文件上传部分代码:public int copy(File input, File output) {InputStream in = null;OutputStream out = null;try {FileInputStream fileIn = new FileInputStream(input);FileOutputStream fileOut = new FileOutputStream(output);in = new BufferedInputStream(fileIn, BUFFER_SIZE);out = new BufferedOutputStream(fileOut, BUFFER_SIZE);int length = 0;byte[] buffer = new byte[BUFFER_SIZE];while (-1 != (length = in.read(buffer))) {out.write(buffer, 0, length);}}catch (IOException e) {e.printStackTrace();}finally {try {if (null != in)in.close();if (null != out)out.close();}catch (IOException e) {e.printStackTrace();}}return 0;}public String execute() throws Exception {String parent = ServletActionContext.getServletContext().getRealPath("/filesave");File save = null;//如果有上传文件if (null != myImg) {int size = myImg.length;for (int i = 0; i < size; i++) {save = new File(parent, myImgFileName[i]);copy(myImg[i], save);}}return SUCCESS; }[8]在实现方面,用户每次浏览到一个媒体文件,可根据自身的需要确认操作的类型。

 剽窃文字表述1.Spring Spring旨在使用javaBean来完成以前只能由EJB完成的事情2.Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库。所以利用hibernate对持久层提供支持
 
基于SSH架构的多媒体网站管理系统 _第2部分    总文字复制比:0%(0)  总字数:6356
 
而每个媒体文件的权限也不是一直保持不变的,有时会有逐步开放的权限。这一部分集成了大量的软件接口,在加载时难免会出现响应缓慢的状况,理论上,本站的最高正常响应时间定义在7秒,超过7秒视为非正常响应。但是真正运行这些本机程序的时间是由用户使用的硬件配置决定的。在付款方面,供货商提供资源后将获得一次性的付款,网站先承担全部成本之后再向使用的用户收取费用。一旦这项内容获得收支平衡,以后这项资源内容就会实现免费。网站采用计时器功能,在每天的0:00对交易信息进行更新和自动管理,当订单足以满足网站付款时的价格时,调整该项资源的定价。关于付款问题,将在财务管理模块作更详细的说明。4.3 用户信息模块用户在登陆成功之后,系统将自动匹配用户所拥有的权限。根据不同的权限,系统将自动匹配相应的初始化界面。一般用户可以进行信息的修改等工作,管理员可以添加和删除用户权限,本站用户信息部分工作量最大的部分是对于实名注册的认证和注册之后每过一个月的审核工作,用户管理员主要的工作就在于此。在注册时,用户不能自己选择用户权限,而是在注册成功之后,由系统的管理员授权相应的权限给不同的用户。而在用户的初始化界面方面,本站设计的管理员、开发者、供货商和用户四种初始化界面可以在初始化时选择使用。用户登录后如果匹配两种或两种以上用户权限的,系统会自动提示选项,进入哪一种用户角色。而在进入之后想要退出和切换角色都可以在界面内自动完成,不必再次登录。这里使用一个拦截器来拦截用户请求对应不同的接口来调用不同的jsp页面进行服务。而不同用户的授权主要通过管理员进行授权操作。经理用户则不可以添加和删除。经理用户在数据库建立之初手动录入数据库,在代码方面没有任何可以进行修改和更新的内容。这个用户只是在象征上拥有最高的权限,并没有其他任何实质性的权限,只是作为一个网站的所有者所设立的象征性用户。在研发的后期,小组尝试了比较简单的用户个性化设置,即用户可以个性化设置其登录后的界面环境。这项内容主要是配合用户等级而开发的。关于用户等级的内容,网站的用户和研发小组暂时还没有更深入的想法,用户的升级是不受限制的,只是按照登陆网站的天数变化的,每日登陆网站就会获得积分。这项功能可能会在以后的开发中逐步增加其他积分规则。在此不再详述。4.4 财务管理模块本站仅采用简单的财务管理系统结构,包括用户的月付费制度,开发者的月结制度,供货商的合约制度,以及用户购买资源产生的费用,由管理员统一管理。管理员还拥有为每个媒体文件进行定价的功能。本次设计中的财务管理模块,采用普遍的财务管理制度,没有任何特殊之处。在付费的功能下,当用户进入付款界面时,本站支持国内主流的银行信用卡和网上银行接口进行付款操作。用户在账户信息部分可以查看站内的交易信息。对于用户和供货商的付款方式在上文已经叙述过,在此不再详述。图4-6 网站付费资源付费规则示意图对于VIP用户的月付费制度,在用户申请成为VIP并扣款一次之后,系统将生成一项账户交易信息。系统将在每日0:00时调用计时器接口,如果交易时间为一个月时,系统自动调用vippayAction类,再次生成交易信息并从用户登记的账户中扣款,如果扣款失败,则VIP权限将修改为false,以后不拥有VIP用户权限。对于开发者的月付工资,涉及到计算网站收支的sumCouAction类,系统获取当前时间为月末时系统将计算一个月中的收支状况。根据每月收支状况和开发者的人数付款给开发者相应的价钱。图4-7 系统财务管理逻辑示意图本站的财务管理模式是很简单的,用户购买资源所获得的费用将单纯用户网站购买资源时所需要的费用,一旦这项业务取得买卖平衡,就将不再收取任何费用。用户的月费主要是用来支付网站的日常常规开支,如设备的更新,各种消耗费用如电费等。而开发者和管理员的费用则由论坛承担,在本系统中只有查询功能,没有实际上的管理功能。用户的每一笔交易,在本站都会得到保存,用户拥有权限查看每一笔交易的详细情况。本站支持在用户注册之初登记用户进行付费的银行卡号码,在用户得到相应的报酬时,可以选择:继续在本站使用,则不调用银行卡付费,只是将账户信息存入本站数据库中;不在本站使用,本站将调用相应的接口将费用直接划归所登记的银行卡中。4.5 评论模块对于多媒体信息的评论,是本站的一项主要功能,但因为其并没有特殊和难以实现的地方,所以在上面的部分没有做过多的介绍。用户每发出一条评论,这条评论就会产生一个序号,根据发布人,发布时间,评论的多媒体对象和发布的内容可以唯一确定这一条评论。在评论模块中,暂时不支持图片等其他格式,只支持简单的文本形式。这里采用了一个简单的文本编辑器。图4-8 文本编辑器截图评论功能集成在媒体资源模块当中,与媒体资源文件是密切相关的。本站的评论功能不支持回复功能。当用户发布一条评论之后,这条内容将首先传回给管理员进行确认,待管理员通过之后就可以正常显示在评论栏内。关于用户非法评论,管理员将会依照本站的公约进行相关处理。此处的审批工作相当繁琐,在设计之初,开发小组考虑过用关键字进行筛查的办法,但论证后效果并不十分理想。根据用户的反馈和小组与用户的协商,最终决定使用管理员验证的方式管理评论,从最大限度上保护网站的绿色健康浏览。4.6 在线编辑模块对于VIP用户开放的多媒体在线编辑模块的初衷是可以在共享环境中制作用户自己喜欢的多媒体文件,但是其实现起来相当复杂。开发团队借鉴了许多成熟的多媒体编辑器,在线提供它们的接口和下载地址,只要进行一次安装,之后每次打开该页面就可以打开相应的程序对相应的内容进行编辑;而相对来讲,在线编辑使用的是比较简单的编辑方式,只能进行简单的编辑操作。在线编辑的好处是可以随时在云端进行备份,当遇到突发情况时信息不会丢失,等下次正常启动电脑并登陆站点之后就可以继续进行编辑。在编辑结束后也无需再进行上传操作,可以直接在本站进行共享。对于在线编辑的画图部分,使用了在java课程设计中开发的画图程序,没有再次进行开发和设计。在此特别说明。尽管拥有很多集成的功能,开发小组认为要想制作一份比较理想的作品,还是要在线下编辑之后再进行上传操作。所以很多用户接口仍然需要编辑后进行上传。而对于在线编辑的完善,由于开发团队的技术不足,只能等待日后维护中再继续完善。4.7 直播模块本站的直播将采用一个独立的播放插件进行播放,直播的内容由论坛共同商定并由专门的管理员负责管理。在直播开始前的24小时之内,站内将会发布直播公告。而对于其他的媒体资源文件,播放和浏览的过程则尽量使用成熟的播放器进行浏览和播放,出于对原作的尊重和对于原作原样的保存,不会进行任何改动。这里的视频播放采用无插件的JW Player进行播放,在播放时加载相应的javascript脚本。Jsp部分脚本如下:<div id="mediaplayer">JW Player goes here</div><script type="text/javascript" src="jwplayer.js"></script><!--<script type="text/javascript">jwplayer("mediaplayer").setup({flashplayer: "player.swf",file: "video.mp4",image: "photo.jpg"});</script>--><embed src=’'' height=''300'' width=''400'' allowscriptaccess=''always'' allowfullscreen=''true'' flashvars="&controlbar=over&file= <s:property value="mb.prevue"/>&image= "type="application/x-shockwave-flash"/>4.8 搜索模块本站的搜索功能概括起来包括以下三点:A 用户对于多媒体资源信息的搜索,这种搜索涉及的关键字非常多,也是网站设计中搜索模块最重要的部分,涉及到各种排序和查询算法。B 管理员对于用户的搜索,这部分只是管理员使用的用户查询功能。C 用户对于账户的交易查询功能,这部分不但涉及到多媒体信息,还涉及到财务管理模块,虽然在使用频率上没有多媒体资源信息搜索大,但是查询涉及的数据表比较多。搜索功能对于数据库设计的要求比较高,在数据库的设计过程中,开发小组对于搜索的广度是根据多媒体资源信息搜索来计算的,而在搜索的性能方面是由账户详情查询功能来决定的,以保证网站最大限度地满足使用者的要求。4.5. 系统测试与运行5.1 系统运行环境本站要求在IE内核浏览器上浏览才能实现全部的功能,如果是VIP用户,要采用4GB以上内存进行浏览,否则将很难实现在线编辑功能。关于本站的插件问题,用户可以进行选择性加载以提高浏览时的速度。5.2 系统测试的重要环节系统每一期完成之后,本站将授权一部分论坛成员进行测试,以确定是否达到了预想的设计要求。这也是本小组为何选择分三个阶段进行开发的原因。而在论坛成员测试之前,小组会组织相对比较全面的内部测试,主要是针对网站容错能力和纠错能力的测试。总结起来本系统的测试共分为5个阶段:A 第一阶段:集成测试。在一期开发的后期,各个模块之间进行集成的时候,小组将进行集成测试,确保每一个模块都可以在集成后正常运行,模块与模块衔接的地方没有缺口。主要是保证设计上的性能在实现阶段都能够顺利实现。B 第二阶段:阶段性纠错测试。在每一期集成测试结束后,针对各种异常输入,小组将进行网站纠错能力的测试,确保网站基本不会出现非法输入输出的情况。C 第三阶段,阶段性模拟测试。在每一期阶段性纠错测试结束后,由论坛成员组织的模拟测试开始。由于论坛成员是网站的实际用户而不是专业的测试人员,这一阶段会耗费比较长的时间,但是出于对用户需求的尊重,这是一项非常重要的测试,甚至可以改变网站下一阶段的研发方向。而用户的追加需求也是在这一阶段产生的。D 第四阶段,大规模集成测试。在最后一期开发结束后,小组将组织最后一次集成测试,充分测试网站设计的弊端,在测试结束之后,将给出相应的测试报告,可以解决的问题当时解决,不能解决的问题也要在报告中详细写出避免的措施,等测试通过之后,网站的试运营正式开始。这一部分将采用专业的测试团队进行测试,开发小组全程不参与。E 第五阶段,网站试运营论坛用户将筛选一部分成员进入网站的试运营阶段,使用网站并提出改进建议。5.3 系统测试用例5.3.1 在线编辑功能集成测试测试用例测试编号:161测试目标:调用photoshopCS5的是否响应和响应时间测试环境:windows7操作系统/windows XP操作系统,IE6.0以上版本浏览器。测试步骤:(1)选择菜单中编辑一栏的下拉菜单,点击在photoshop中编辑图片信息。(2)通过性能计数器计算响应时间。期望结果:在不同的硬件设备之下响应时间均不超过7秒。备注:其他调用本机程序的测试项目同上测试编号:162测试目标:在线编辑功能在非正常情况下关闭浏览器后是否会将编辑项目保存。测试环境:windows7操作系统/windows XP操作系统,IE6.0以上版本浏览器测试步骤:(1)选择菜单中编辑一栏的下拉菜单,点击新建编辑。(2)在线调用一个媒体资源进行编辑。(3)不点击保存或者发布,关闭网页。(4)打开网页,重新登录刚才使用的账户。(5)选择菜单中编辑一栏的下拉菜单,点击继续编辑。期望结果:系统会出现第一次登陆编辑最后的内容。备注:无。5.3.2 登录功能阶段性纠错测试测试用例测试编号:211测试目标:测试输入非法用户名或密码字符后的响应。测试环境:windows7操作系统/windows XP操作系统,IE6.0以上版本浏览器测试步骤:(1)输入非法用户名或密码字符,主要是一些特殊符号如@、¥、*等或者空白,不输入。(2)点击登录按钮。期望结果:系统提示:输入非法字符,请重新输入用户名或密码。 备注:无。[9]测试编号:212测试目标:测试不存在的用户名或输入错误密码后的响应。测试环境:windows7操作系统/windows XP操作系统,IE6.0以上版本浏览器测试步骤:(1)输入不存在的用户名或错误密码(2)点击登录按钮期望结果:系统提示:用户名或密码错误,请重新输入。备注:无。测试编号:213测试目标:测试输入未经认证的用户名和密码后的响应。测试步骤:(1)输入未经认证的用户名和密码。(2)点击登录按钮。期望结果:系统提示:该用户未经认证,暂时不能登录,请耐心等待。备注:无。测试编号:214测试目标:测试输入已经变成黑名单的用户名和密码后的响应。测试步骤:(1)输入已经变成黑名单的用户名和密码。(2)点击登录按钮。期望结果:系统提示:该用户禁止在本网站再次注册,如需要注册请联系管理员。备注:无。测试编号:215测试目标:测试已经认证的正常用户登录。测试步骤:(1)输入已经认证的用户名和密码。(2)点击登录按钮。期望结果:正常登录网站主界面,根据用户权限匹配用户服务。备注:无。测试编号:216测试目标:测试三次输入错误密码后的响应。测试步骤:(1)输入已经认证的用户名和错误密码。(2)点击登录。(3)再次输入已经认证的同一用户名和错误密码(可以与上次输入的相同或不同)。(4)点击登录。(5)再次输入已经认证的同一用户名和错误密码(可以与前两次的相同或不同)。(6)点击登录。期望结果:系统提示:三次输入错误用户密码,该用户已经被锁,请进入用户认证阶段。点击确认之后进入用户注册页面。备注:无。5.3.3 搜索多媒体资源功能阶段性模拟测试这一阶段完全模拟用户感受进行测试,并没有预先设置的测试用例,而是完全交给用户进行功能搜索,看是否可以搜索出需要的资源,根据用户的反馈和系统运行的响应时间对搜索算法和数据库的设计、调用作出改进。5.6. 结束语在本次设计中,我主要参与了开发计划的讨论,设计的全部过程和测试计划的制定,而具体的编程过程参与的比较少。对于软件开发的过程有了更进一步的了解。而在参与代码设计的过程中,对我的编程能力又有了很大的提高。面对未知问题的解决能力,对于不熟悉的开发环境的适应能力和良好的与客户沟通的能力都在这次开发中得到了锻炼。在本次设计中,遇到不少与以往系统不太一样的地方,我同我的小组成员都能仔细地分析问题,用调查和讨论的方式找到问题最合理的解决方式,这给我以后的开发工作提供了很多可以学习和借鉴的地方。对于与设计计划相比,实现中的延后问题,是由于设计时太过理想地考虑了编程和测试的周期和对其中有些问题的估计不足而造成的。这是因为设计小组的经验不足,相信以后会有改进。

网学推荐

  • ·【推荐参考】最新可过维普检测低于30%
  • ·【推荐】原创参考论文 原创资料
  • ·【推荐】原创参考论文导航
  • ·咨询参考QQ:3710167
  • ·咨询参考微信号:yclw90
  • ·扫一扫 加微信 咨询
  • ·我们提供原创参考论文和原创的参考资料!
  • ·很多朋友如果想要查重指导等,请沟通我们!
  • ·原创的论文资料参考省时间!
  • ·论文格式排版可以找我们!
  • ·论文答辩PPT格式排版定制!
  • ·程序和网站等UI设计定制!
  • ·程序设计定制!
  • ·网站设计定制!
  • ·UI设计定制!
  • ·程序和网站等UI设计定制!
  • ·原创参考论文参考定制!
  • 免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 |
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师