基于Servlet的在线音乐网站的设计与实现.doc_第1页
基于Servlet的在线音乐网站的设计与实现.doc_第2页
基于Servlet的在线音乐网站的设计与实现.doc_第3页
基于Servlet的在线音乐网站的设计与实现.doc_第4页
基于Servlet的在线音乐网站的设计与实现.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 Servlet 的的在线音乐网站的设计与实现在线音乐网站的设计与实现 Design and Implementation of the Music Website on Servlet Comment h1: 背景 Comment h2: 完成功能 Comment h3: 创新 摘 要 摘摘 要要 社会的发展,信息时代的到来,Internet 已经渗透进各个领域,人们已经不 再满足传统的方式来享受自己喜欢的音乐。新兴的网站在线播放音乐已经占据 了主流市场。Music Fun 在线音乐网站致力于为喜欢音乐的朋友们分享好听的声 音,使用户能够在网上随时享受到音乐的乐趣。用户可以通过注册成为会员, 会员登录到网站后,可以试听和收藏喜欢的单曲和专辑,也可以为自己喜欢的 歌手投票。本网站特别提供专辑购买的功能,会员可以在本网站订购专辑。 作者通过对现有音乐播放网站进行详细分析,列出了该网站的功能需求描 述,并利用 UML 工具对其进行建模,重点探讨了教学网站的设计和实现。系 统以 Java EE 作为开发平台,运用 MVC 模式开发思想,采用 Servlet 框架技术 实现。系统具有网上资源共享、互动平台、网上作业管理和后台基础信息管理 等功能,较为完善地完成了课程网站的需求。 本文以在线音乐网站为背景,简要介绍了系统开发背景以及系统开发平台 的特点,详细地阐述了基于 UML 的面向对象的系统分析与建模过程,并对资 源共享、互动平台、用户中心等模块的实现过程进行了详细的阐述。 关键词:关键词:MVC;Servlet;音乐分享;在线播放;歌曲下载 Abstract I Abstract With the development of the society and the coming of the information age, the network applications have penetrated into every area, and people no longer satisfied with traditional ways to enjoy their favorite music. New site to play music online has occupied the mainstream market. Music Fun online music site is dedicated to sharing a nice voice like music friends, enabling users to enjoy the joy of music on the Internet at any time. Users can sign up to become a member, Login to the site can listen to and collection of favorite singles and albums, you can also vote for their favorite singer. This site in particular album purchase, members can order album on this site. Through analyzing detailed the existing OS course website, we group sum up the functional requirements description of Course teaching website, which make use of UML modeling the OS Course Website. We focus on the design and implementation of Course Website. Using the Java EE and Sevrlet framework, the OS Course Website system was realized by MVC patterns as development thinking. The system have resource sharing, interactive platform, on-line job management, back office information management and other functions, which more perfect completes the course website requirements. Based on the OS course website, the paper briefly introduces the system development backgrounds and system developing platform characteristics, describes the object-oriented system analysis by UML and modeling process in detail, and detailed describes the resource sharing, interactive platform and on-line job management module realization process, and so on. Key words: MVC;Servlet;Resource sharing;Interactive platform;On-line job bxmanagement 目 录 II 目目 录录 第 1 章 绪论1 1.1 课题研究的背景和现状.1 1.2 课题研究的意义.2 1.3 课题研究的内容.2 1.4 本人的主要工作.2 1.5 本文组织.2 第 2 章 系统开发及相关技术概述4 2.1 Java 技术介绍.4 2.2 Java Web 技术的介绍.5 2.3 Java 的优势.5 2.4 系统相关技术概述.6 2.4.1 MVC 模式 6 2.4.2 Servlet 框架结构及工作原理7 2.4.3 JSP 技术8 2.4.4 MySQL 数据库 .10 第 3 章 系统需求分析11 3.1 系统目标.11 3.2 系统需求分析.11 3.2.1 浏览搜索12 3.2.2 用户中心12 3.2.3 资源发布13 3.2.4 在线播放14 3.3 系统用例图分析.15 3.3.1 系统后台管理部分用例设计15 3.3.2 系统前台用例设计21 第 4 章 系统设计25 4.1 系统的架构设计.25 目 录 III 4.2 系统数据库设计.25 4.2.1 数据库概念设计26 4.2.3 数据库逻辑结构的设计26 4.3 系统类图的设计.29 4.3.1 在线播放资源类图的设计29 4.4 系统开发相关规范.30 4.4.1 开发工具30 4.4.2 编码规范31 第 5 章 系统实现32 5.1 系统首页.32 5.2 用户中心功能实现.34 5.2.1 个人中心.34 5.2.2 好友管理.37 5.2.3 购物车功能实现.39 5.3 后台管理功能实现40 第 6 章 总结与展望46 6.1 系统总结46 6.2 工作总结与展望46 参考文献48 第 1 章绪论 0 第第 1 章章 绪论绪论 1.1 课题研究的背景和现状课题研究的背景和现状 热爱音乐的人都是热爱生活的人,爱音乐的人应该感谢这个丰富的时代, 更应该感谢发达的资讯和传媒让我们可以聆听到如此丰富多彩的音乐;但是同 时爱音乐的人往往也会痛恨这个时代,那些随时在耳边响起的彩铃音乐,街道 美发厅小卖部传出来的网络音乐,电视里反复播放的榜单音乐和选秀音乐,无 时不刻的轰击着我们挑剔的耳朵,发达的资讯渠道却成为爱生活的我们最大的 噪音来源。而执着于对高品质音乐追求的年轻人,耳机常年挂在头上,攒钱买 正版唱片、到处外出看演唱,但是网络上各种盗版和的音质的声音还是时常充 斥着我们的耳朵并侵害着那些认真做音乐的独立创作人,但是这些清苦的歌者 们仍然保持着对音乐宗教式的信仰和追求。对于歌者,这仿佛并不是一个好的 时代。 听者和歌者,为什么巨大的市场需求却无法很好养活一个为我们带来生命 升华的创作群体? 同时在这个科技信息技术共享时代,互联网对人们生活、学习和工作的影 响越来越大。人们已经不再满足传统的购买磁带,CD 等或是低品质的在线音 乐播放网站,随着生活条件的改善,现在的渴望那些属于自己的专属的高水平 音质音乐播放和下载工具,通过建立个人档案和专属播放列表,彰显自己与众 不同的音乐品味。 我们有必要搭建这样一个平台为音乐爱好者和创作者提供一个方便的交流 机会,促进一些小众的,独立音乐人的发展和进步。 目前网上音乐类网站2也有很多,品质却参差不齐,很多的音乐网站在功 能的实现上,歌曲的音质,数量,类别,更新速度,访问速度,交互能力等方 面存在诸多问题,大部分此类网站都没能方便的为用户提供更好的音乐体验。 构建一个新型独立的音乐分享网站,可以在线共享音乐,可以互动交流,可以 编辑自己的精选集和播放列表,并具有完善的后台,将必将会给用户提供更完 美更专业的音质服务和音乐体验。 第 1 章绪论 1 1.2 课题研究的意义课题研究的意义 基于上述问题的日益突出,开发一个个性化,高品质的音乐网站显得尤为重 要。用户通过该网站可以定制个人专属的音乐属性, “Music Fun 音乐网站” 致力于提供更完善的用户体验,会员可以管理个人主页,好友管理,编辑自己 的收听习惯等。 1.3 课题研究的内容课题研究的内容 “Music Fun 音乐网站”需要满足来自三方角色的需求,这三个角色分别是 游客、会员和系统管理员。 1.游客的需求:浏览网站信息,在线试听和基本的搜索功能。 2.会员的需求:管理个人信息,修改密码,在线收听,收藏歌曲专辑,置 顶歌曲专辑,搜索功能。 3.管理员的需求:对系统会员个人信息的维护;对歌曲维护,包括对歌手、 风格、专辑信息进行管理和维护;对首页基本信息进行更新,包括对新闻、公 告信息进行管理和维护;对系统的维护和备份等等。 1.4 本人的主要工作本人的主要工作 本人在“Music Fun 音乐网站”中主要完成网站的需求分析、建模、系统的 规划和设计所需要实验的模块功能,分析解决关键技术问题,功能和性能的测 试,以及论文的撰写, “Music Fun 音乐网站”中本人完成的四个重要模块: 1.浏览搜索:用户可以按关键字进行网站内部的资源检索。 2.用户中心:个人中心,提供个人信息管理,好友管理,留言管理,收听 管理。 3.在线播放:实现音乐的在线播放和共享。 4.资源共享:管理员对整个网站的运营维护、系统用户的增删改、新闻的 发布和管理、公告的发布和管理、互动平台管理等等。 1.5 本文组织本文组织 第 1 章 绪论,简述了课题研究的背景和意义,通过分析当前高校课程教学 网站管理的现状确立了课题研究的内容; 第 1 章绪论 2 第 2 章 通过分析 Java EE 技术,确立系统开发平台,并对系统实现过程中 用到的相关技术进行简单的介绍; 第 3 章 使用用例分析技术对系统的需求进行了详细的分析; 第 4 章 详细阐述了系统数据库设计全过程; 第 5 章 详细介绍了系统中共享资源、互动平台、网上作业管理和后台管理 各模块功能的实现; 第 6 章 全文的总结,说明了在撰写论文过程中的心得和体会,并总结系统 开发过程中的经验以及教训,展望未来的应用前景。 第 2 章系统开发及相关技术概述 3 第第 2 章章 系统开发及相关技术概述系统开发及相关技术概述 在对系统开发本身的前景、意义分析之后,接下来就是确定开发的目标和功 能需求,最后就是确定开发工具以及运用相关的技术来开发系统。通过对自身学 习的方向和认识,确定采用 Java EE1作为系统的开发平台。 2.1 Java 技术介绍技术介绍 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言 和 Java 平台总称。多年的实践运用,Java 已经凸显自己的魅力,被诸多编程人 员所接受并采用。其跨平台、动态的 Web、Internet 计算被广泛接受并发展甚广。 Java15经过多年的发展和实践,目前已经拥有三个成熟的体系 JavaSE(Java2 Platform Standard Edition,java 平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java 平台企业版),JavaME(Java 2 Platform Micro Edition,java 平台微型版)。 Java SE(Java Platform,Standard Edition) 。Java SE 以前称为 J2SE。它允 许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程 序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。 Java EE1(Java Platform,Enterprise Edition) 。这个版本以前称为 J2EE。 企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用 程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、 管理和通信 API,可以用来实现企业级的面向服务体系结构7(service-oriented architecture,SOA17)和 Web 2.0 应用程序。 Java ME(Java Platform,Micro Edition) 。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上 运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、 健壮的安全模型、许多内置的网络协议以及对可以动态9下载的连网和离线应 用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于 许多设备,而且可以利用每个设备的本机功能。 第 2 章系统开发及相关技术概述 4 2.2 Java Web 技术的介绍技术的介绍 Java Web2,是用 Java 技术来解决相关 web 互联网领域的技术总和。Web 包括:web 服务器和 web 客户端两部分。Java 在客户端的应用有 java applet, 不过应用的很少,Java 在服务器端的应用非常丰富,比如 servlet、jsp5和第三 方框架等等。Java 技术对 Web 领域的发展注入了强大的动力。 Java Web 框架有很多,虽然各不相同,但基本也都是遵循特定的流程路数 来的:使用 Servlet 或者 Filter 拦截请求,使用 MVC 的思想设计架构,使用约 定,XML 或 Annotation 实现配置,运用 Java 面向对象的特点,面向抽象实现 请求和响应的流程,支持 JSP、Freemarker 等等视图。 目前比较流行的 Java Web 开发框架有:sturts2、spring、hibernate,简称 ssh 框架。struts 就是比较经典的 MVC 框架;spring 在大部分 Java EE 应用中都 被用来管理其他组件,它与 struts 的结合应用是的开发过程变得更加高效和易 于管理;hibernate 是一个开源的 ORM 框架,它对 JDBC 进行了非常轻量级的 对象封装,在 struts 应用中使用 hibernate,程序员能够以多种方式更加灵活地 实现数据持久化。 2.3 Java 的优势的优势 Java 是目前使用最为广泛的网络编程语言之一。具有简单,面向对象,与 平台无关,解释型,多线程,动态等特点。Java 语言所具有的优势大致有以下 几点: 1.Java 语言简单是指这门语言既易学又好用。例如,Java 不再有指针的概 念。 2.面向对象基于对象的编程更符合人的思维模式,使人们更容易编写程序。 Java 语言与其它面向对象语言一样,引入了类的概念,类是用来创建对象的模 板,它包含被创建的对象的状态描述和方法的定义。 3.跨平台是 Java 语言最大的优势。Java 的虚拟机成功地解决了这个问题, Java 编写的程序可以在任何安装了 Java 虚拟机 JVM 的计算机上正确的运行, Sun 公司实现了自己的目标 “一次写成,处处运行” 。 4.解释型。Java 不针对特定的 CPU 芯片进行编译,而是把程序编译为称作 字节码的一个“中间代码” 。字节码是很接近机器码的文件,可以在提供了 Java 虚拟机 JVM 的任何系统上被解释执行。Java 被设计成为解释执行的程序, Java 的字节码经过仔细设计,很容易便能使用 JIT 即时编译方式 编译技术将 第 2 章系统开发及相关技术概述 5 字节码直接转化成高性能的本地机器码,Sun 公司在 Java 2 发行版中提供了这 样一个字节码编译器JIT(Just In Time),它是 Java 虚拟机的一部分。Java 运行 系统在提供 JIT 的同时仍具有平台独立性,因而“高效且跨平台”对 Java 来说 不再矛盾。 5.多线程2。Java 的特点之一就是内置对多线程的支持。多线程允许同时 完成多个任务。实际上多线程使人产生多个任务在同时执行的错觉,因为,目 前的计算机的处理器在同一时刻只能执行一个线程,但处理器可以在不同的线 程之间快速地切换,由于处理器速度非常快,远远超过了人接收信息的速度, 所以给人的感觉好像多个任务在同时执行。 6.安全。当使用支持 Java 的浏览器时,可以放心地运行 Java 的小应用程序 Java Applet ,不必担心病毒的感染和恶意的企图,Java 小应用程序将限制在 Java 运行环境中,不允许它访问计算机的其它部分。 7.动态。Java 程序的基本组成单元就是类,有些类是自己编写的,有一些 是从类库中引入的,而类又是运行时动态装载的,这就使得 Java 可以在分布 环境中动态地维护程序及类库。 2.4 系统相关技术系统相关技术概述概述 系统开发时所采用的相关模式及开发技术有:MVC 模式、 Struts2、Jsp、Jquery、MySQL 和 css+div4等。下面作一些简要分析。 2.4.1 MVC 模式模式 MVC3架构是“Model(模型)View(试图)Controller(控制) ”三个单词 的首字母缩写。MVC 模型是一中交互界面的结构组织模型,它能够使软件的计 算模型独立于界面的构成。MVC 模型由 Trygve Reenskaug19提出,最早使用在 SmallTalk-80 环境中,并应用于用户交互应用程序中。最 smalltalk 语言和 java 语言有很多相似的地方,比如都是面向对象语言。Microsoft 的 MFC 基础类也 遵循了 MVC 的思想。MVC 设计模式更深层次的影响了软件开发人员的分工, 也更加便于分工。 事件13 (Event)导致控制器(Controller)改变模型(Model)或视图(View),或者 同时改变两者。只要 Controller 发生了改变 Model 的数据或属性,所有依赖的 视图都会自动更新。类似的,只要 Controller 改变了 View,View 会从 Model 中 获取数据来刷新自己。 第 2 章系统开发及相关技术概述 6 MVC3是一种架构,需要其他模式协作完成。Struts2 只实现的是 MVC 中 的 View 和 Controller 两个部分,Model 部分需要开发者自己来实现,Struts2 提 供了抽象类 Action 使开发者能将 Model 应用于 Struts211框架中。MVC 模型的 原理如图 2.1 所示: 图 2.1 MVC 模型原理图 MVC 架构是一个复杂的架构,其实现也显得非常复杂。但是,我们已经总 结出了很多可靠的设计模式,多种设计模式结合在一起使用会使 MVC 架构的 实现变得相对简单易行。Views 可以看作一棵树,显然可以用 Composite Pattern 来实现。Views 和 Models 之间的关系可以用 Observer Pattern 体现。Controller 控制 Views 的显示,可以用 Strategy Pattern 实现。Model 通常是一个调停者, 可采用 Mediator Pattern 来实现。 MVC 三个部分在 Java EE 架构中都有自己的位置。MVC 与 Java EE 架构的 对应关系是:View 处于 Web Tier13或是 Client Tier,通常是 JSP/Servlet7,即 页面显示部分;Controller 也处于 Web Tier,通常用 Struts2 来实现,即页面显 示的逻辑部分实现;Model 处于 Middle Tier,通常用服务端14的 spring 或者 EJB 实现,即业务逻辑部分的实现。 2.4.2 Servlet 框架结构及工作原理框架结构及工作原理 servlet 是在服务器上运行的小程序。这个词是在 Java applet11的环境中创 造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于 在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。 第 2 章系统开发及相关技术概述 7 服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是 使用公共网关接口(CGI(Common Gateway Interface)16)应用程序完成的。然 而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的 服务器上,Java servlet 的优点在于它们的执行速度更快于 CGI 程序。各个用户 请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务 器端处理请求的系统开销将明显降低。 Servet 的工作流程如图 2.2 所示: 图 2.2 Servlet 的工作流程图18 1.Servlet 工作流程 用户通过浏览器向 Web 服务器发送请求 2服务器定位用户请求资源 静态资源:*.html 读取文件内容发送到客户端 动态资源:服务器加载 web.xml 根据 Servlet 名字,定位 Servlet 加载类(WEB-INF/classes)和类库(WEB-INF/lib/*.jar) 3通过反射创建 Servlet 实例 Servlet ser=(Servlet)(Class.forName(“servlet 类名”).newInstance(); 我们写的 Servlet 一定要实现 Servlet 接口或继承 Servlet 的实现类。 ser.service(request,response); 2.4.3 JSP 技术技术 JSP(Java Server Pages) 4是由 Sun Microsystems 公司倡导、许多公司参与 一起建立的一种 动态网页技术标准。 JSP 技术有点类似 ASP 技术,它是在 第 2 章系统开发及相关技术概述 8 传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标 记(tag),从而形成 JSP 文件(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既 能在 Linux 下运行,也能在其他 操作系统上运行。 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets7,来封装产 生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端 的资源的应用逻辑。JSP 将网页逻辑与 网页设计和显示分离,支持可重用的 基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的 程序段, 然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作 数据库、重新定向网页等,以实现建立动态网页所需要 的功能。JSP 网站基本结构如图 2.3 所示: 图 2.3 Jsp 网站结构示意图 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回给 客户端的 就是一个 HTML 文本,因此客户端只要有 浏览器就能浏览。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后 对这些 Java 代码进行处理,然后将生成 的 HTML 页面返回给客户端的浏览 器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需 要 Java Servlet 和 JSP 配合才能完成。 JSP 具备了 Java 技术的简单易用,完全的 面向对象,具有平台无关性且安全可靠,主要面向 因特网的所有特点。 第 2 章系统开发及相关技术概述 9 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。 JSP 可用一种简单易懂的等式表示为: HTML+Java=JSP。 2.4.4 MySQL 数据库数据库 MySQL5是一个小型关系数据库管理系统,开发者为瑞典MySQL 公司。 在 2008 年 1 月 16 号被 SUN 公司收购,而 2009 年 SUN 又被 MySQL 收购。 目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。 与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自 有它的不足之处,如规模小、功能有限( MySQL Cluster 的功能和效率都相 对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使 用者和中小型企业来说, MySQL 提供的功能已经绰绰有余。由于其体积小、 速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 正是基于 MySQL 其自身是开放源码软件和成本低,经济而受到相当多 用户的青睐,并且凭借其在存储过程的优越性能使得其实用性也远超其他数 据库模式,占据很大优势。 第 3 章系统需求分析 10 第第 3 章章 系统需求分析系统需求分析 3.1 系统目标系统目标 Music Fun 在线音乐网站致力于为喜欢音乐的朋友们分享好听的声音,使用 户能够在网上随时享受到音乐的乐趣。用户可以通过注册成为会员,会员登录 到网站后,可以试听和收藏喜欢的单曲和专辑,也可以为自己喜欢的歌手投票。 本网站特别提供专辑购买的功能,会员可以在本网站订购专辑。 实现目标要求: 1.系统易操作:系统界面友好,操作简单。 2.需求功能完善:系统具备完善的音乐网站功能外,提供资源分享下载, 共享优秀资源,提供很好的交流平台等。 3.系统易维护:系统除了有良好完善的功能外,还应该提给系统管理员和 后期维护人员很好的操作方式,便于对系统的管理。 3.2 系统需求分析系统需求分析 通过对系统进行详细的分析与研究,最终得出了音乐分享网站的功能需求, 系统主要由五个模块构成,系统结构如下图 3.1 所示: 图 3.1 Music Fun 网站功能结构图 Music Fun 音乐分享 网站 资 源 发 布 在 线 播 放 用 户 中 心 浏 览 搜 索 购 买 专 辑 第 3 章系统需求分析 11 3.2.1 浏览搜索浏览搜索 浏览搜索模块,为游客提供了解本网站的渠道,通过浏览游客可以获取最 新的相关音乐讯息试听排行榜上的歌曲,搜索自己感兴趣的艺人和专辑单曲等。 浏览搜索模块由三个子模块构成,其结构如下图 3.2 所示: 图 3.2 浏览搜索结构图 1.查看资源 用户还有网站游客均可以使用该子模块,通过该模块,用户可以查看系统 提供的最新音乐新闻演出等。 2.资源搜索 系统用户均可以通过该子模块进行搜索资源,搜索为模糊搜索,即通过输 入关键字,实施不完全匹配,从而获得一定量的信息。 3.在线试听 游客和系统用户均可以通过该子模块在线试听最新排行榜的歌曲,获取歌 曲和专辑艺人的相关信息。 3.2.2 用户中心用户中心 用户中心模块,目的是为了系统用户提供更好的资源服务,游客经过注册 登陆后成为本网站的用户,在这里可以编辑自己的个人详细信息,方便好友的 查找,管理自己的播放列表和喜欢的歌手,发表个人的心情和博文以便交流分 享,全方位打造专属自己的个人音乐空间。好友管理系统注册用户提供一个便 捷的交流平台,可以通过此平台交流,生活上、学习上、情感上、社会上等等, 可以浏览好友空间并留言个人中心模块由四个子模块构成,其结构如下图 3.3 所示: 新 闻 浏 览 浏览搜索 新 闻 浏 览 资 源 搜 索 在 线 试 听 第 3 章系统需求分析 12 图 3.3 用户中心结构图 1.编辑信息 系统用户均可以通过本模块,添加修改自己的详细信息(昵称、密码修改、 联系方式、兴趣爱好等) ,主要目的是提供一个展示自己的平台。 2.收听管理 登录系统用户均可以针对感兴趣歌曲,专辑,艺人进行置顶,提高他们在 排行榜中的位置,此模块很好地表现了个人中心的目标和作用,系统会根据用 户的投票进行排名并在首页公布,同时也记录用户自己专属的收听风格记录。 3.空间管理 登录系统用户均可以通过此模块,发表博文,留言。分享自己喜欢的音乐, 并留下感悟心得。 4.好友管理 可以添加关注好友,可以取消关注,浏览好友空间并留言,可以一块分享 周围等等。 3.2.3 资源发布资源发布 资源发布主要是系统管理员通过后台进行新闻,风格,歌手,专辑,单曲 等各项信息的上传和发布。此模块致力为网站提供更新鲜更全面更丰富及时的 资讯。资源发布模块由五个子模块构成,其结构如下图 3.4 所示: 用户中心 编 辑 信 息 收 听 管 理 空 间 管 理 好 友 管 理 第 3 章系统需求分析 13 图 3.4 资源发布结构图 1.新闻发布 管理员通过此子模块进行新闻的发布以便在首页中显示,和编辑已经发布 的新闻,删除已经失效的新闻。 2.风格发布 管理员通过此子模块可以发布风格种类并编辑已发布的风格,在后续的信 息添加时都会从属于一个或多个风格。 3.歌手发布 管理员添加歌手的详细信息,每个歌手的标签可以从属于一个或多个不同 的风格,同时也可以管理已经添加的歌手或删除。 4.专辑发布 管理员通过此子模块发布歌手的专辑,专辑必须从属于某个已经发布的歌 手,同时作为添加的标签,一张专辑可以属于一个或多个不同的风格种类。 5.单曲发布 管理员通过此子模块发布相关单曲,并对发布的单曲进行编辑或删除。一 个单曲必须从属于某张已经发布的专辑,一首单曲可以属于一个或多个不同的 风格种类。 3.2.4 在线播放在线播放 在线播放是该网站的核心功能,实现的个人的歌曲收听记录,收藏喜欢的 专辑和歌手,能够按照风格查找单曲和相关艺人。在线播放模块由三个子模块 新闻发布 添 加 新 闻 额 删 除 新 闻 更 新 新 闻 第 3 章系统需求分析 14 构成,其结构如下图 3.5 所示: 图 3.5 在线播放结构图 1.单曲播放 用户可以选择自己喜欢的单曲进行播放。 2.收听记录播放 用户可以根据系统记录的收听记录和自己的标记来快速播放喜欢的歌曲。 3.专辑播放 用户可以直接播放喜欢的专辑。 3.3 系统用例图系统用例图分析分析 3.3.1 系统后台管理部分用例设计系统后台管理部分用例设计 系统后台操作是面向系统管理员对系统网站维护而设计的。 管理员可以通过本后台管理系统进行如下工作:对系统用户的管理、新闻 的管理、网站公告的管理、风格进行管理、歌手,专辑,单曲管理。具体用例 图如图 3.6 所示: 在线播放 歌 曲 播 放 编 辑 播 放 收 听 记 录 第 3 章系统需求分析 15 专专专 专专专专 专专专专 专专专专 专专专专 专专专专 专专专专 图 3.6 系统后台用例图 对上述用例说明具体如下: 1.管理风格 具体管理风格流程如下表 3.1 所示: 表 3.1 管理风格流程 用例名称管理风格 角色管理员 前提条件管理员必须完成登录 1.打开管理风格模块主事件流 2.添加风格(S1) ,也可以删除删除(S2) 打开查看风格管理模 块 显示添加页面 添加风格 添加所有风格 打开删除风格模块 显示风格列表 查找要删除的风格 删除该风格 分支事件流 删除风格 删除成功后会出现提 示框删除成功 异常事件流管理员登录后台时,键入非法的标识符,指 明错误 2.管理歌手 管理歌手的流程如下表 3.2 所示: 第 3 章系统需求分析 16 表 3.2 管理歌手流程 用例名称管理歌手 角色管理员 前提条件管理员必须完成登录 打开管理歌手模块 查看歌手(S1) ,也可以修改歌手(S2) ,删除歌 手(S3)以及添加歌手(S4) 主事件流 更新歌手排行榜(S5) 打开查看歌手模块 显示歌手列表 S1:查看歌手 查看所有歌手的详细信息 打开修改歌手模块 显示歌手列表 查找要修改的歌手 修改该歌手的具体信息 S2:修改歌手 修改成功后会出现提示框 修改成功 打开删除歌手模块 显示歌手列表 查找要删除的歌手 删除该歌手 S3:删除歌手 删除成功后会出现提示框 删除成功 打开添加歌手模块 显示歌手列表 添加歌手信息 S4:添加歌手 添加成功后会出现提示框 添加成功 打开更新歌手排行榜模块 显示未更新的歌手排行榜 更新排行榜(数据库进行 操作查找出按投票数进行 排列) 分支事件流 S5:更新歌手排行榜 更新成功后会有提示框更 新成功 异常事件流管理员登录后台时,键入非法的标识符,指明错 误 3.管理专辑 管理专辑流程具体如下表 3.3 所示: 第 3 章系统需求分析 17 表 3.3 管理专辑流程 用例名称管理专辑 角色管理员 前提条件管理员必须完成登录 打开管理专辑模块 查看专辑(S1) ,也可以修改专辑(S2) ,删 除专辑(S3)以及添加专辑(S4) 主事件流 更新最新专辑(S5) 打开查看专辑模块 显示专辑列表 S1:查看专辑 查看所有专辑的详细 信息 打开修改专辑模块 显示专辑列表 查找要修改的专辑 修改该专辑的具体信 息 S2:修改专辑 修改成功后会出现提 示框修改成功 打开删除专辑模块 显示专辑列表 查找要删除的专辑 删除该专辑 S3:删除专辑 删除成功后会出现提 示框删除成功 打开添加专辑模块 显示专辑列表 添加专辑信息 S4:添加专辑: 添加成功后会出现提 示框添加成功 打开更新最新专辑模 块 显示未更新的最新专 辑 分支事件流 S5:更新最新专辑 更新专辑 异常事件流管理员登录后台时,键入非法的标识符,指 明错误 4.管理单曲 管理歌手的列表如下表 3.4所示。 表 3.4 管理单曲流程 用例名称管理单曲 第 3 章系统需求分析 18 角色管理员 前提条件管理员必须完成登录 打开管理单曲模块 查看单曲(S1) ,也可以修改单曲(S2) ,删 除单曲(S3)以及添加单曲(S4) 更新单曲排行榜(S5) 主事件流 更新最新单曲(S6) 打开查看单曲模块 显示单曲列表 S1:查看单曲 查看所有单曲的详细 信息 打开修改单曲模块 显示单曲列表 查找要修改的单曲 修改该单曲的具体信 息 S2:修改单曲 修改成功后会出现提 示框修改成功 打开删除单曲模块 显示单曲列表 查找要删除的单曲 删除该单曲 S3:删除单曲 删除成功后会出现提 示框删除成功 打开添加单曲模块 显示单曲列表 添加单曲信息 S4:添加单曲 添加成功后会出现提 示框添加成功 打开更新单曲排行榜 模块 显示未更新的单曲排 行榜 分支事件流 S5:更新单曲排行榜 更新排行榜(数据库 进行操作查找出按点 击数进行排列) 打开更新最新单曲模 块 显示未更新的最新单 曲 更新最新单曲 S6:更新最新单曲 更新成功后会又提示 框更新成功 第 3 章系统需求分析 19 异常事件流管理员登录后台时,键入非法的标识符,指 明错误 5.管理会员 管理员进行会员管理的功能如下表 3.5所示: 表 3.5 管理会员流程 用例名称管理会员 角色管理员 前提条件管理员必须完成登录 1.打开管理会员模块 2.查看会员(S1) ,也可以开启会员(S2) 或屏蔽会员(S3) 主事件流 3.向会员发送个性化消息(S4) 打开查看会员模块S1:查看会 员显示会员列表 打开查看会员模块 显示会员列表 查找要开启的会员 S2: 开启会 员 开启该会员 打开查看会员模块 显示会员列表 查找要屏蔽的会员 分支事件流 S3: 屏蔽会 员 删除该会员 异常事件流用户账号被管理员屏蔽或删除,无法设置, 提示重新激活账号 6.管理新闻 管理新闻流程如下表 3.6所示: 表 3.6 管理会员流程 用例名称管理新闻 角色管理员 前提条件管理员必须完成登录 打开管理专辑模块 查看新闻(S1) ,也可以修改新闻(S2) ,删 除新闻(S3)以及添加新闻(S4) 主事件流 更新最新新闻(S5) 打开查看新闻模块 显示新闻列表 S1:查看新闻 查看所有新闻的详细 信息 分支事件流 S2:修改新闻打开修改新闻模块 第 3 章系统需求分析 20 显示新闻列表 查找要修改的新闻 修改该新闻的具体信 息 修改成功后会出现提 示框修改成功 打开删除新闻模块 显示新闻列表 查找要删除的新闻 删除该新闻 S3:删除新闻 删除成功后会出现提 示框删除成功 打开添加新闻模块 显示新闻列表 添加新闻信息 S4:添加新闻: 添加成功后会出现提 示框添加成功 打开更新最新新闻模 块 显示未更新的最新新 闻 S5:更新最新新闻 更新新闻 异常事件流管理员登录后台时,键入非法的标识符,指 明错误 3.3.2 系统前台用例设计系统前台用例设计 系统前台操作主要是针对游客和用户需求设计的。 用户可以通过系统进行一系列的操作:查看新闻、查看公告、在线收听、个人 中心管理、互动平台的交流等等。具体如图 3.7所示: 第 3 章系统需求分析 21 专专 专专 专专 专专 专专 专专专专 专专专专 专专专专 专专专专 图 3.7 前台用例图 对于未注册用户的游客主要包括以下 2 种功能:注册(Register)和查询 (ExecuteQuery) 。 对上述用例说明具体如下: 1.注册 游客可以在网站进行注册活动,以便享受更多的权利,具体如下表 3.7所示: 表 3.7 注册会员流程 用例名称注册 角色未注册的用户 前提条件无 用户访问网站的首页 进入用户注册页面 输入注册信息点击注册按钮(E1) 验证用户信息 验证通过保存信息 跳转到登陆成功提示页面 主事件流 异常事件流:E1: 键入非法的标识符, 指明错误 异常事件流返回首页 2.试听、收藏单曲 注册用户可以进行单曲的在线播放和收藏功能,如下表 3.8所示: 第 3 章系统需求分析 22 表 3.8 试听,收藏单曲流程 用例名称试听、收藏单曲 角色会员 前提条件用户必须完成登录 对歌曲进行试听(S1) 对歌曲进行下载(S2) 主事件流 对歌曲进行收藏(S3) 在对应歌曲的试听栏点击试听按钮分支事件流 S1 歌曲就会加入到播放列表中进行播放 在对应歌曲的下载栏点击下载按钮分支事件流 S2 歌曲就会加入到下载列表中进行下载 在对应歌曲的收藏栏点击收藏按钮分支事件流 S3 点击后会出现提示框收藏成功 异常事件流用户账号被管理员屏蔽或删除,无法 设置,提示重新激活账号 3.试听、收藏、购买专辑 注册用户可以进行专辑的在线播放,收藏和购买功能,如下表 3.9所示: 表 3.9 试听,收藏,购买专辑流程 用例名称试听、收藏、购买专辑 角色会员 前提条件用户必须完成登录 查找专辑 点击专辑图片链接 跳转到专辑所在页面 对该专辑进行试听(S1) 对该专辑进行购买(S2) 主事件流 对该专辑进行收藏(S3) 点击试听按钮分支事件流 S1 专辑的所有的单曲就会加入到播放列 表中进行播放 在对应歌曲的下载栏点击下载按钮分支事件流 S2 歌曲就会加入到下载列表中进行下载 在对应歌曲的收藏栏点击收藏按钮分支事件流 S3 点击后会出现提示框收藏成功 异常事件流 用户账号被管理员屏蔽或删除, 无法设置,提示重新激活账号 4.置顶 用户可以对自己所喜爱的歌曲进行置顶,用来改变其在排行榜中的排名,具 体用例分析如下表 3.10所示: 第 3 章系统需求分析 23 表 3.10 试听,收藏,购买专辑流程 用例名称置顶 角色会员 前提条件用户必须完成登录 查找所要投票的歌手 在歌手对应的投票栏进行投票 主事件流 投票完成后会提示投票成功 异常事件流用户账号被管理员屏蔽或删除,无法 设置,提示重新激活账号 5.管理个人信息 会员可以在登录后的个人中心管理自己的个人信息,如下表 3.11所示: 表 3.11 管理个人信息流程 用例名称管理个人信息 角色会员 前提条件用户必须完成登录 当用户登录该网站(S1) 点击自己的用户名 跳转到自己的个人管理中心 对用户资料进行查看/修改(S1) 对密码的进行修改(S2) 主事件流 可以打开收藏夹(S3) 查看自己的资料 对要进行修改的地方输入修改的内容 输入完成后点击保存按钮 分支事件流 S1 会显示保存成功 输入要修改密码的相关信息 输入完成后点击确定按钮 分支事件流 S2 完成后会显示修改成功 查看收藏夹中的歌曲和专辑 对想要删除的专辑或歌曲进行查找 查找成功后在相应栏点击删除按钮 分支事件流 S3 完成后会出现提示框删除成功 异常事件流用户账号被管理员屏蔽或删除,无法 设置,提示重新激活账号 第 4 章系统设计 24 第第 4 章章 系统设计系统设计 系统需求分析完成后,进入系统设计阶段。整个系统开发过程中,系统分 析设计是重中之重,还有系统完成前的测试。有了详细和全面的系统设计,将 会使后面的编码阶段更顺利的进行并提高编码速度。 4.1 系统的架构设计系统的架构设计 整个系统架构采用 MVC 模式的思想,主要采用 Servlet 技术开发,前端用 JSP 或 HTML 显示。开发工具为:Myeclipse 6.0+Tomcat 6.0+MySQL 5.1 在线网站的设计采用了 MVC 三层模式进行设计的。系统运行后,用户通 过浏览器访问系统,看到的只能是视图层,在视图层上,用户进行相应操作。 视图层由若干 JSP 页面和 HTML 组成。控制器的核心是 Struts.xml 配置文件, 它控制着页面的跳转,是系统的控制中心。用户发出请求,通过 xml 进行控制 跳转,进入 action 类,通过 ActionSe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论