版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、案卷号日期V在线音乐播放系统详细设计说明书完成日期:签收人:签收日期:修改情况记录:版本号修改批准人修改人安装日期签收人1引言1.1编写目的为软件开发人员在编码的过程中有所依据和参考 面向人员:程序开发人员1.2背景说明:a.待开发的软件系统的名称:在线音乐播放系统b.列出本工程的任务提出者:北软教师c.开发者:邓凯d.用户:广阔互联网用户e.将运行该项软件的单位:web效劳器1.3定义OMS :0n li ne music system,在线音乐播放系统。1.4参考资料列出要用到的参考资料,如:a. 本工程的经核准的方案任务书或合同、上级机关的批文;b. 在线音乐播放系统概要设计.doc ;
2、c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2程序系统的结构本程序主要采用四层结构,如下所示:用户层(UI)业务逻辑层(service)数据访问层(DAO)数据层(DB)图1系统结构示意图3程序标识符设计说明3.1在线音乐网络爬虫设计说明:资源的数量和质量将决定了系统的商业价值,为了获取更多的网络媒体资 源,为系统设计了一款针对互联网上音乐资源的网络爬虫。网络爬虫是一个自动提取网页的程序,它为搜索引擎从In ternet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或假设干初始网页的 U
3、RL开场,获 得初始网页上的URL 在抓取网页的过程中,不断从当前页面上抽取新的 URL放入队列,直到满足系统 的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的,保存有用的并将其放入等待抓取的 URL队列。然后,它将根据一定的搜 索策略从队列中选择下一步要抓取的网页URL并重复上述过程,直到到达系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮, 进展一定 的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反响和指导。相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:(1) 对
4、抓取目标的描述或定义;(2) 对网页或数据的分析与过滤;(3) 对URL的搜索策略。与通用爬虫不同,在线音乐播放系统爬虫只针对.SOSO音乐频道.sogou音乐频道,针对MP格式的资源。为保证资源的数量和可用性,每首歌至少抓取3个不同url地址输入:初始URL集。算法:广度优先遍历。输出:歌曲-URL地址的索引集。3.2资源验证模块资源响应模块对资源进展验证。验证的标准有1. 文件的MIME类型2. 资源的响应时间输入:URL地址输出:是否符合要求的布尔值。验证流程3.3播放模块:1随机播放2顺序播放3单曲播放算法:用一变量记录当前模式,当捕获来自客户的模式改变的请求后,变量 值变成相应的模式
5、的值,调用不同德程序段空置音乐播放次序。每首歌曲效劳器将会发送三个至播放器,如果前面的在3秒之没有响应, 那么将资源转换为另一个资源,同时发送错误信息给效劳器。算法:在系统中设置定时器,如果定时器超时,那么自动提取另一个。3.4查询模块:系统本地资源主要来自网络爬虫,同时支持在线查询,用于完善查询功能。 用户可以输入歌手名,或者歌曲名称查询,系统首先会在自己的数据库查询,如 果没有找到相应的结果,那么系统转向互联网发送请求,同时解析返回的页面, 提取页面中url地址,歌手信息,歌曲信息,将信息按一定格式存入数据库。同 时将信息发送给客户端。这样就保证了系统资源不断丰富。1,、歌手查询。查询出系
6、统所存的所有歌手信息。点击歌手会获得此歌手所唱的所有歌 曲。点击歌曲可以参加播放器播放,拖动可以参加我的收藏夹,所有的操作都会 由系统给出提示。2、歌曲查询输入歌曲名称,可以获得所有同名的歌曲,以与其歌手3、歌曲-歌手查询。同时输入歌曲和歌手信息,可以输出与此相匹配的歌曲和歌手信息,同时, 如果在本地数据库中不存在,系统将转向互联网查询,并将查询结果存 入数据库,然后发送给客户端。4、下载当用户单击某一个歌曲的条目时,在系统界面的下框中会出现三个可选项 下载、MV如果用户单击下载,系统会提取歌曲条目中的url 地址,自动建立连接。如果连接成功,那么会弹出MP3勺下载框。可以很方便地为用户提供下
7、载效劳。如果用户点击MV,那么系统会自动提取歌手信息,歌曲信息,发送请求至.youku.同时将新建窗口,将返回的结果显示在新窗口中。r系统出现下载,MV选择框z选取歌曲条目选择下载选择下载系统解析出URL地址系统解析出歌手歌曲信息并向 youku发送请求弹出下载框在新页面显示查询结果>3.5用户反响模块:用户反响模块主要用来收集用户的反响信息,在播放的过程中,会因为各种各 样的原因,导致歌曲播放的效果不尽如人意,还有很大一局部可能会出 现容与名称不匹配,而资源验证模块的工作只能初步地判断资源的可用 性,所以为了提供更好的用户体验,需要广阔的用户积极地参与系统的 改进。当歌曲被选中播放时,
8、系统会出现错误报告的选择框,里面所罗列的条目有以下 几条1、速度过慢2.、是网友翻唱,或者其他类型的音频3、是另外一首歌4.、歌曲质量差5、是其他以上没有列出的原因用户可以选择其中的一项,向效劳器发送错误报告,效劳器会记录每一条错误 报告。选取歌曲播放系统出现错误报告选择框选择错误信息f向系统发送错误报告F 系统提取正在播放的歌 曲的url地址、rf系统存储错误报告3.6系统提示模块:为了加强与用户的互动,系统提供了丰富的提示功能,当用户的行为触发不同 的事件的时候,将会弹出不同的提示框,用以给用户适当的提示。系统 提示模块贯穿于整个系统。系统捕捉事件区分事件呈现不同的提示用户注册模块:3.7
9、用户登录模块:用户的权限分为 游客,会员,管理员。登录后根据不同的权限, 所看到的界面不一样,当会员登录后,将不可见到管理员所能操作的模 块,管理员登录后,将会呈现出系统管理模块。3.8系统管理模块:主要对系统中的资源进展管理,处理用户以与系统提交的错误报告。 主要采用了以下几个措施来维护系统资源。1. 、利用资源验证模块的测试功能,对错误信息为 速度过慢的资源进展测试,如果测试结果为资源不符合要求,那么替换资源。2, 、对其他类型的错误信息,提供试听功能,人工地区分错误。3、对已经区分的错误,提供更换资源的功能。禾U用网络爬虫,在互联网上自动地寻找与先前的资源不同的资源。3.9娱乐频道模块:
10、此模块利用rss技术,为用户提供更为方便快捷的娱乐资讯。RSS是在线共享容的一种简易方式也叫聚合容,Really Simple Syndication 通常在时效性比较强的容上使用 RSS订阅能更快速获取信息,提供RSS俞出, 有利于让用户获取容的最新更新。网络用户可以在客户端借助于支持 RSS的新闻聚合工具软件例如SharpReader,NewzCrawler、FeedDemoih,在不翻开容页面的情况下阅读支 持RSS俞出的容。本系统利用爬虫的页面下载和解析功能,抓取各大的rss发布地址,下载并解析页面。可以聚合多个的信息。获取rss地址3.10注册模块:用户注册,用户需要填写用户名,密码
11、,在填写完用户名之后,浏览器会异 步地发送请求给效劳器,验证用户名是否可用。3.11我的收藏:系统为每个会员用户维护一个我的收藏。会员用户可以将自己喜欢的歌曲添加进我的收藏,可以讲我的收藏中的歌曲添加进入播放器。4系统架构设计:4.1.、前台:JavaScript 构建 AJAX 引擎AJAX的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义Web应用的规那么正在被重写;因此开发人员必须更注重用户。现在用户已经 逐渐习惯如何使用Web应用了。例如用户通常希望每一次按钮点击会导 致几秒的延迟和屏幕刷新,但AJAX正在打破这种长时间的状况在线音乐系统主要的目的是为用户提供一流的体验,所以
12、在系统的实现中应该大量地采用 AJAX技术。4. 2、后台:struts2 spri ng hiber nate框架。Struts用于将请求与视图别离,hibernate实现对象模型到关系模型的映射。Spring用于实现系统的控制反转。弱减系关赖依Struts是一组相互协作的类、servlet和JSP标记组成的一个可重用的 MVC设计。这个定义表示Struts 是一个框架,而不是一个库,但Struts也包含了丰富的标记库和独立于该框架工作的实用程序类。I.Struts 的根本特点对Servlet和JSP的增强,减少代码编写量基于 Web MVC模式,规java Web开发改善java Web开
13、发的扩展性2.Struts 的优缺点优点:使用广泛,用户众多,就业有优势;历史较长,有成熟的第三方工具支持;有很多web应用使用struts.缺点:由于历史较长,一些功能比较落后;配置较为繁琐;编程模型需要线程平安的支持,影响性能3. struts 的 MVC简介1Struts中的Controller 控制器命令设计模式的实现:Struts的控制器将事件事件通常是post丨映射到类的一个servlet.Action Servlet Command 创立并使用 Actio n、Actio nF orm 和Actio nFo rward . 通过 struts-co nfig.xml文件配置该 C
14、omma nd 从而扩展Action和ActionForm来解决特定的问题。可以通过扩展ActionServlet来添加Comma nd功能。在Struts框架中控制器组件由三个局部构成:1 消息控制模块;用户所有的提交请求都发往消息控制模块,在由消息总线模块根据视图映射模块找到消息处理模块来执行处理逻辑。消息控制模块接收所有用户的请求,并根据请求视图找到处理。Strtus过ActionServlet 和 RequestProcessor 类来完成。2 消息处理模块;该模块执行该消息的逻辑处理,因此通常由用户扩展实现。Struts 过Action类来实现。3视图映射模块;控制器逻辑和视图逻辑之
15、间的结合是通过配置模块和配 置文件建立其的。Struts中配置模块通过ModuleConfig类来完成,而配置文件 由 struts-config.xml文件提供。4.Struts中的View视图视图组件通过JSP组件实现的。Struts框架对视图组件进展了扩展和封装。Struts对视图的扩展提供了一组扩展效劳器标签用来提供视图显示以与传递数据到处理缓冲,而处理缓冲由Acti onForm的扩展类来实现。Struts 框架利用ActionForm Bean来实现视图与控制器之间的数据的交互,维持会话级或请求级的模型的状态。效劳器标签主要包括: Html视图标签;Logic逻辑流程控制标签;Be
16、an数据缓冲读取标签;5.Struts中的Model模型 1,Struts框架中并没有定义特定的模型组 件,而是希望由用户自己决定选择合理的模型组件。J2EE中可用的模型组件包括:JavaBean用户定义组件;E组件,由E容器实现组件;JDO未来J2EE数据访问模型;一些扩展框架如:Hibernate ;2,模型中状态的级别会话级或请求级:ActionForm bean来维持;持久级:模型组件来维持;根据需求,需要以下action响应不同的请求;Change.java:J | codetestjavaJ | Co I l&tti o n Sea re h J a va.£ d
17、eltejav.JJ Error.jva> J ErrorManagerjavaeng in.java3 regicterjavaP ,1 rs5,jara.J Searchj白v白.JJ peedT&stjava.£ uplodjavd系统对象模型设计:LrlFinTiodeEVur1_d : mtid .t爲汇厂3_山:-ogeal g*尹二.q:.创rmg*UdO如 Ur1_"*>et-Sar>Q_ao xtSo血間 *jet-Son-g_w10%utput血册;<>soarjnr»: Lofiiu VjavA ib%
18、Stnng 盘minQfirri t Leg i 晦1 Vev:xx i:l Jig Stringter plate* ie*'Et)<.rTy - Lofl csl V'- jav# lir j' Str 申§岂 h U : 朗iR '据百::j亍2 ::怎书:亦ring l?3cr _c F t戸 tSoij 一罔 制Sop _闵 曹 RtSiHnHTi 町 set孕 ''击vs'弍 *tUrkj setUf 氐卫【Sonarwm邮 sfttSong nam« outputOEiror;F nwti>&
19、amp;fro*_*d : irt 4>u" _d : int r中疋刃曲¥樹':grj<y £*壬怛菩pbjWldOsetldf-*tUr1_Ek)tUr_c住 nojnhes呵e 胡已厂口5 杏冋 =,:ini略 J_id - inf臥il Logical ViffA" 5 vs :ig洱tingHngjd ; int名IF苛mr叭E_r : LC4i53.lViw::j3wj:ls"; 'Srirg 裁三丁訂mTiVM-:iav:-IWQ;:$tri)g暑w rerid : int也"rare时;*3
20、5tS ngene| *515芋H -中 MtErrouap*git£rror.iitError_r«t£a*?eru n_d*=4tli fi_af*a«MM0*s«U riO*3*tSflnflLcO*;#ts irc»r_r m 伸 i 帕耐Sir萨rjmw乞 f 输stSfl网 rsmai 备etSflng nneCfS inger:Toti TDdel)勖sir-N1订:iri屯n£"ie2 : q孑苗 m、. = .'a g:Stmflr七|吨曰*Singer)gelMaT = 1( *5ftl
21、HaTielO 亀护l皂L孑壬-宙: 舱侶洋-口.UserrWM :。以.Locail Vi&iir:.java:.lang.:Integer SuiMrnjiin# . Logical Vi*w.:庐 hk 上 站那 5旳麗 亀葩匸乳pF : Logical V.:jav3 langi. Stmg 阳:二jiFii二 5 陀二刍tTingi*Uwri*3<tldO 吟詐tldft 吟苗 tP_rvtejg +5eiPiFvtwQZHJmETmF 沪 tPasswardQ *=etPass*onO 帕 LtputQ5qftmiRcot息验rgid : mt 臨严i,r«
22、. : Logiul y;jjvi:;L»ng|z;Srir>g0创1WtScnflidO1*»tScngiidQ 力电恪i尹巧. 备施Si尹:*5erName-i *DUtpilt(!COl胡谕 F5 TOtel!*Do lectio etColle-ztic: k PSfciCQltection kJ irt辛 t£ol 區?tc-ic.样*setU=ir. gelSms:;Spring作为实现J2EE的一个全方位应用程序框架,为开发企业级应用提供 了一个强健、高效的解决方案。所谓全方位,主要有以下几个特点:1非侵入式:对于写代码从来不考虑复用和移植的程
23、序员来说,这一点根本就没有吸引力,那么请跳过。所谓非侵入式是指Spring框架的API不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯洁的, 不能出现与业务 逻辑无关的代码。首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥 离出来,从而在其他的应用中实现复用; 其次针对框架而言,由于业务逻辑中没 有Spring的API,所以业务逻辑也可以从 Spring框架快速的移植到其他框架。2容器:Spring提供容器功能,容器可以管理对象的生命周期,对象与对象 之间的依赖关系。你可以写一个配置文件通常是 xml文件,在上面定义对象 的名字,是否是单例,以与设置与其他对象的依赖关系。那么在容器启
24、动之后, 这些对象就被实例化好了,你直接去用就好了,而且依赖关系也建立好了。3 IOC:控制反转,谓之“依赖关系的转移,如果以前都是依赖于 实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程, 至于何谓接口何谓抽象,以与它们的好处,多看看设计模式吧,这里就不费口舌 了。4依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、 构造注入、set注入,在Spring中只支持后两种5AOP面向方面编程,我们可以把日志、平安、事务管理等效劳或 功能理解成一个“方面,那么以前这些效劳一直是直接写在业务逻辑的代码 当中的,这有两点不好;首先业务逻辑不纯洁,其次这些效劳被很多业务逻辑反
25、 复使用,完全可以剥离出来做到复用。那么AOP就是这些问题的解决方案,我们 可以把这些效劳剥离出来形成一个“方面,以期做到复用;然后将“方面动态的插入到业务逻辑中让业务逻辑能够享受到此“方面"的效劳其他还有一些特点不是 Spring的核心,这里只做简单述,如:对JDBC的圭寸装与简化,提供事务管理功能,对O/R mapping工具hibernate、iBATIS丨的整合;提供MVC解决方案,也可以与其他 web框架Struts、JSF 进展整合;还有对JNDI、mail等效劳进展封装。系统ER图:曰 idcFew1t spTip d: 2WT5G£fl(lL) (FK: j
26、 gng即1 HT£dR(;ll ft) 丿 slr-|iii_iia ne_J、仏就2 肌) * * ancju HTESBMllffK) v argeidHT±GFl(LlJ* ut1_li INTEGER 口* efmrjn&Eaa&; WTEGEFfn) t sniame: QRl-UfttSO)r_frtcrpt hi ci ktINTE丘: 詹ujd; IN帀砂眉尿 etTCIJTTK钮护 mF氏ER4U3yt_oo'lKiDn'* dkUyiX:lMTEj0i(ll; ua .d ?rCCLE(lTj* QQjd: IN'
27、;KRdl)令 ijwjdRd_04J Jfl d mTEGELl)尊 JngwJii INTBrnigi j 3n5ti_rjTB I 也阳也:工)Fd JJ.HOUC LHIbCtgij aUJl: /AH_HJ:k(2bb)k?lnoer_fcl;N7Effl(lL) fK)Brorqiuiirt; WTBGEBflD) arilJJ4 sngflr r2; VARCHAfttSJ)l_uei"1 =亠亠亠 N44*-"-|t_ara'冷 icrqti MEGER 辂 ihyrid PJTFrVfltiii> 窕rcTJTiT 秋茁C-lftF 刖-gjijggijHibernate 简介Hibernate 是目前流行的 ORMH 架。ORMlObject/Relatio nalMap per即“对象/关系型数据映射,这是一种主要的对象持久化技术,需要同时使用面向对 象和关系型数据进展开发。Hibernate的轻量级ORM模型逐步确立了在Java对 象关系映射架构中的领导地位,而且它的很多设计还被J2EE标准组织吸纳成为E3.0规化标准。1. 什么是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教 八年级 语文 下册 第4单元《拓展延伸》课件
- 2026年汽贸贷款买车合同(1篇)
- 2026年欧派橱柜销售合同(1篇)
- 精密构件表面硬化处理项目可行性研究报告
- 宣传栏制作安装合同模板
- 行政法律关系的构成和特点
- 信息技术信息系统在美发培训学校教学课程安排与学员考核管理中的应用课件
- 2025 高中信息技术数据与计算之算法的牛顿插值算法课件
- 2025 高中信息技术数据与计算之数据安全的多方量子加密通信优化课件
- 2026年畜禽疫病科学防控技术指南与实践
- GB/T 222-2025钢及合金成品化学成分允许偏差
- 2025至2030保险中介行业项目调研及市场前景预测评估报告
- 县供电公司安全培训课件
- 2025年重庆历史高考试题及答案
- 全景环视技术介绍
- 《水力学》课件(共十一章)
- 工厂安全风险评估与整改措施报告
- 2025至2030海洋生态行业项目调研及市场前景预测评估报告
- 银行架构管理办法
- 购物中心节能管理制度
- 《教师数字素养》标准解读
评论
0/150
提交评论