搜档网
当前位置:搜档网 › 个性化音乐推荐系统设计与实现

个性化音乐推荐系统设计与实现

个性化音乐推荐系统设计与实现
个性化音乐推荐系统设计与实现

个性化音乐推荐系统设计与实现

摘要

21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,与人们的日常生活早已建立了离不开的联系。对网络音乐服务来说,不管是音乐下载服务,或者是网络音乐电台服务,都需要用到优秀的内容推荐系统去辅助整个系统。个性化音乐推荐系统是目前最流行的应用方法之一。同时音乐成为重要的媒介与朋友交流文化,所以很多SNS应用当中将音乐服务添加到里面。

本系统采用SSH框架组合进行设计,基于Java Web技术,系统使用UML 建模。本系统的功能模块主要包括:音乐上传、单曲管理、个人信息维护、收集歌曲信息、音乐检索以及系统推荐等。音乐上传利用JavaScript脚本定义了一个函数,单曲管理在action中定义一个方法,系统推荐是利用协同过滤算法来进行的。

整个系统主要实现了从用户注册和登录、检索音乐到收听音乐、评分音乐,个性化推荐的整个音乐系统,管理员可使用系统后台对音乐歌曲信息进行修改、会员信息修改、系统推荐等进行有效的管理。很大程度上提高了对音乐管理的效率,符合了广大用户们的基本需求。

关键词:SSH框架,音乐系统,协同过滤,MVC模式

DESIGN AND INPLEMENTATION OF

PERSONALIZED MUSIC RECOMMENDATION SYSTEM

Abstract

The 21st century is the era of information, with the development of information technology and network technology, it has penetrated into every aspect of daily life, with people in daily life has been inextricably linked to the establishment.For the Internet music service, whether it is music download service, or network music radio service, all need to use the excellent content recommendation system to support the whole system. Personalized music recommendation system is one of the most popular applications. At the same time music has become an important medium of communication with friends culture, so many SNS applications when the music services added to the inside.

The system uses a combination of SSH framework design, based on Java Web technology,system used UML modeling. Site function modules include: Music upload, music management,personal information maintenance, collecting music information, music search and system recommend.

The entire site is simple, user-friendly, flexible and practical. The main achievement of the user registration and login, retrieve music to listen to music, the whole comment is called online music listening processes, and system administrators can use the background information on the goods, membership information, message information, and effective management. Greatly improving the efficiency of music management, in line with the needs of customers.

Keywords: SSH Framework,Music System,Collaborative Filtering,MVC Pattern

目录

1 绪论 (1)

1.1 项目背景 (1)

1.2 系统开发的意义 (2)

1.3 国内外音乐系统现状 (3)

1.3.1全球音乐系统系统发展情况 (3)

1.3.2中国音乐系统发展现状 (3)

1.3.3网络音乐系统市场发展趋势 (4)

2 技术准备 (6)

2.1 Java Web (6)

2.1.1 Servlet技术 (6)

2.1.2 JSP技术 (8)

2.1.3 JSTL标签 (9)

2.1.4 JSP 2.0自定义标签 (9)

2.1.5 Filter过滤器 (10)

2.2 MVC模式 (11)

2.3 Spring框架 (12)

2.4 AJAX技术 (12)

3 系统分析与设计 (14)

3.1 系统简介 (14)

3.2 系统框架设计 (14)

3.3 功能需求 (15)

3.3.1面向管理的需求定义 (16)

3.3.2面向体验的需求定义 (17)

3.3.3面向维护的需求定义 (18)

3.4个性化音乐推荐系统设计 (21)

3.4.1 音乐上传设计 (22)

3.4.2 单曲管理设计 (22)

3.4.3 收集歌曲信息设计 (22)

3.4.4 音乐检索设计 (22)

3.4.5 音乐推荐设计 (23)

3.5数据库设计 (23)

3.5.1 数据库概念结构设计(E-R图) (23)

3.5.2 音乐推荐系统数据库表设计 (25)

4 系统技术实现 (30)

4.1 音乐上传功能的实现 (31)

4.2 收集歌曲信息功能的实现 (32)

4.3 单曲管理功能的实现 (33)

4.3.1 播放功能的实现 (35)

4.3.2 下载功能的实现 (35)

4.4音乐推荐功能的实现 (36)

4.4.1所用数据表 (37)

4.4.2实现过程 (37)

5 总结 (41)

参考文献 (43)

致谢 (45)

译文及原文 (46)

1 绪论

1.1 项目背景

信息技术改变了了人们的生活方式,是当今信息化时代便捷人们生活的一项伟大创举。在生活节奏越来越快的今天,人们对娱乐便捷的需求也越来越强烈。

日益发展的网格技术与信息技术,各种音乐推荐系统也是逐渐应运而生。用信息技术与互联网技术相结合的音乐网站,其便利性、数据存储安全性、共享性、数据容量等,明显优于传统的磁带与CD。

计算机科学技术日益发展,它早已深入到人类社会的每个角落里,而且发挥着越来越不可代替的作用,利用传统方式的存储数据资料的方式已经逐渐离我们而去。设计本系统的目的是为了改善那些原有网站的的缺点,为用户提供一个使用更好更便利的在线音乐平台系统,并且在协调不同的用户偏好方面也可以做的更好。此外,系统能提供给管理员一个清晰简明的界面,合理安排音乐分类信息,并根据用户的要求和信息;根据用户的某些特点,为用户提供一些更能产生共鸣的音乐。

自古以来,音乐就一直伴随着人们的日常生活,古有笙箫唢呐,今有吉他萨克斯,如今人们听音乐大多通过手机、音乐播放器,或是直接在电脑上在线收听,连mp3,mp4都很少有人使用。人们也在不断地对音乐的形式进行创新和发展,21世纪初,人们还通过磁带或是光盘收听音乐,而今天数字音乐以遍及全球,人们大多通过互联网来收听音乐,换句话说,互联网是今天最流行的数字音乐的音乐介质和最大载体。

Java技术是在Web开发领域中,表现极其出色的技术之一,由于在Web 开发领域中的杰出表现,Java技术近年来的发展非常迅猛,越来越多的网站使用Java进行开发。例如众所周知的淘宝网,随着就业务规模的不断扩大,php 架构有些不能适应现在的用户需求,所以淘宝高层曾经考虑过将淘宝网转型成为Java平台架构,这无疑是对Java技术的一种巨大的肯定。在中国交通领域中,

有许多在线购票网站,首当其冲的就是国家铁道部的12306网站,它隶属于国家机关,对技术的要求十分高,就连如此重要的网站也是使用SSH框架开发的,而SSH框架是隶属于Java平台。

虽然有许多重要且成功的网站都是使用Java技术进行开发的,但由于Java 技术过于复杂等原因,现有音乐网站多是通过php等其他语言进行编写的。此外,这些音乐网站也几乎没有将最新的HTML5标准适用于网站中最重要的音频解码方面,而仍使用Windows自带的解码控件,这节省了网站开发的难度,但却十分不利于Android和iOS端的手机用户在该网站上获得良好的音乐体验。

1.2 系统开发的意义

此系统使用JAVA WEB技术, 采用SSH框架和MYSQL数据库作为工具进行开发解决方案,实现了B/S模式的个性化音乐推荐系统的设计。利用web服务器和客户自己的浏览器,为用户提供在线音乐系统平台,通过浏览器在网站上直接检索音乐、收听音乐、对音乐评分等,这些功能可以让用户得到更好的音乐体验,让用户在一天24小时的时间内都可以在在线音乐系统中收听自己喜欢的音乐。网站的规则是根据目前商业网站的成熟规则进行设计的,主要功能为网上在线音乐收听,再加上留言等功能,此外能提供给管理者一个简单的界面,可以合理安排音乐分类信息,并根据用户的要求和信息;根据用户的某些特点,为用户提供一些更能产生共鸣的音乐。是一个综合性在线音乐系统网站。

由于Java平台技术在当今时代已经逐渐取代php等其他技术成为Web开发的主流,而且通过SSH框架对Web网站进行编程开发的案例也更多更好,以此为背景,通过学习SSH框架,进行一个音乐网站的设计具有非常重要的意义。

对Java平台技术加深深刻理解的最好方法,便是学会Hibernate ORM框架的映射关系维护和加载策略,在学会这个技术后,对使用Spring的基本整合配置对系统架构优化进行掌握和了解,在有了一定的技术基础后研究MVC思想(Struts 2.x框架)实现及标签库的使用方法,

有很多音乐网站在页面复用方面并没有重点进行研究和开发,而本音乐网站在此方面进行了很多的研究并达到了很高的复用标准,这是对充分理解软件工程

的复用思想的很好体现,在充分理解了复用思想后,对网站的开发提供了许多实践经验;如何设计并实现一个网站特有的音乐播放器是网站开发的重点之一,最终决定使用JavaScript/HTML5/CSS和对细小的图片进行素材处理来进行开发,实现一个原创的音乐播放器,可以很好地帮助流媒体空间的跨平台开发;根据用户需求,要求网站在设计模式中必须具有开闭原则(对扩展开放,对修改关闭),在实现开闭原则的方法上,网站决定通过码表实现数据字典扩展功能从而完成这项技术要求。

(1)在软件工程领域中设计理论和方法来分析个性化音乐推荐系统的发展过程中,使音乐网络领域在面向对象的方法研究中做出了实质性的贡献。

(2)个性化音乐推荐系统使视图模型抽象方法、建模过程、模型表示等多个点的出发构建建了科学和有效的系统。

(3)从个性化音乐推荐系统的结构,过程和可视化功能的统一建模语言UML元素来看,个性化音乐推荐系统设计的可视化功能提供了方法和技术支持。

1.3 国内外音乐系统现状

在设计整个系统之前,我们对国内外的预测系统进行了调研,希望吸取它们的优秀设计功能。

个性化音乐推荐系统市场需求,以不断探索自己的发展模式来看,在解决了现有的版权等一系列音乐市场的问题后,个性化音乐推荐系统市场规模必然会增大,与此同时的传统模式的音乐专辑的销售情况就变得不容乐观了。

1.3.1中国音乐系统发展现状

个性化音乐推荐系统在中国,虽然一直被关注着,但它似乎并没有走出亏损的底部。然而,尽管它一直在底部,但并没有阻止个性化音乐推荐系统服务供应商探讨行业的发展模式。从A8,发展到百度音乐和新浪音乐以及爱国者推出的音乐超市和腾讯QQ独特的平台和服务相结合,中国的音乐系统永不放弃在对个性化音乐推荐产业的热情。有声音认为,随着4G市场的到来,未来的音乐服务将有什么办法打造产业链,但如何以创新模式在4G时代,这些不确定因素决定了中国的个性化音乐推荐系统仍然需要很长的路要走。

2012 年,中国在线音乐系统市场规模仅为3.8亿元,与传统唱片的市场规模不可相提并论。近年来预计,2014 年以后国内在线音乐系统市场将进入健康发展阶段,2013 年中国在线音乐系统市场规模超过 5 亿元,年增长率超过60%,预计2014 年将达7.5 亿元。

盗版一直是中国音乐市场的一个很大的敌人,它严重影响着在中国音乐的发展,2014年,中国个性化音乐推荐系统的市场规模仅仅是2.8亿元。近年来,政策调控加大,利益的各项业务间的合理有效分配在产业链,有效政策法规的颁布和实施,将对中国的在线音乐系统市场产生积极的影响。预计2017年个性化音乐推荐系统市场之后将进入良性发展阶段,2015年中国音乐推荐系统市场规模超过5亿人民币,超过60%的年均速度增长,预计在2016年将达到8.5亿的市场规模。

1.3.2网络音乐系统市场发展趋势

网络开始成为释放原创音乐的重要途径。2001年3月6日0时,MP3格式的中国第一个网络歌曲出现在人们的生活空间中,开始了音乐网亮相的序幕。经过10多年的发展,今天的互联网和移动互联网已成为唱片公司的歌曲和视频发布推广的主要路径,网络首发的歌曲也成为在线音乐服务提供商吸引用户,用户聚集的重要手段之一。

网上商店已经成为最新的无线音乐下载的亮点之一。国际知名的apple公司开发了在线应用程序商店模式,google,blackberry,samsung等厂商纷纷跟进,nokia,motorola,lenovo等移动终端运营商已经投入巨资,试图开辟属于自己的一片天地。中国移动,中国电信,中国联通等通信运营商,也开始建立自己的在线软件商店。

社区网站的音乐带来的变化和方式转变。人人网,赛我网等快速发展的社交阶层网站的代表,嵌入式网络音乐播放器插件和用户分享,口碑传播模式,以促进音乐的网络传输改造,让中小型CD公司和非主流创作者可以更容易地传播他们的作品。社区网站的粘贴性和互动性将带来互联网音乐传播的巨大变化。

互联网音乐将从一个简单统一向个性化发展。互联网音乐服务的形式已经从纯粹的音乐内容,发展到现在的提供音乐共享交换阶段。更多的网友不满意被动

地听音乐,而是热衷于分享。在未来的网络音乐将发展到精密推荐音乐的阶段,用户需要实现智能网络音乐内容提供商推荐音乐。该网络音乐内容服务提供商和运营商提出了更高的要求,用户需要准确识别的行为,和智能地为用户提供分类服务。

音乐云将成为热门的服务,未来尚不明确。A8音乐在2011年年初提出的音乐云服务的理念,开始了中国网络音乐云前奏,其他厂商纷纷效仿。所谓“云音乐”,简单来说是通过音乐软件的用户可存储在云音乐内容中的各种设备,如移动电话,个人电脑和电视的播出,共享,而不需要用户再耗时从计算机内存中拷贝到其他终端设备。

2 技术准备

本系统中的设计部分主要使用JAVA WEB(SERVLET、JSP自定义标签、JSTL标签等)开发技术;对于系统的业务控制层我们使用STRUCTS2框架实现软件设计MVC思想中的业务的控制流转;本系统的数据持久层使用HIBERNATE框架进行系统托管;在系统架构方面,本系统使用WEB开发中常用的SPRING框架。如下章节将对上述关键开发技术进行必要的阐述。

2.1 Java Web

Java技术中最为核心的技术就是Java SE[1](Java 2 Platform Standard Edition),Java SE技术多被用于企业开发Java应用程序。随着计算机技术的发展Java开发技术在互联网得到了极大的发展,目前来看来说是应用最为广泛、开发技术占有率最高开发技术,当我们掌握了Java SE的主要内容后,面向Web 开发时主要使用的是Java EE,Java EE是Java Web的主要开发技术。

Web开发技术主要有两个最为重要内容:客户端(CLIENT)和服务器(SERVER)端。Java Applet是Java客户端的应用之一,Java Applet实际应用中使用得相对来说较少;对于服务器端的应用来说却显得异常丰富,最为人们熟知的如SERVLET技术、过滤器、JSP自定义标签等,下文中将详细介绍这些技术。

2.1.1 Servlet技术

随着动态页面技术在上个世纪末开始流行,动态页面技术为Web开发技术带来了一次成功的大变革,它不仅极大的节省了人力成本,使得开发人员专注于静态页面维护的工作转移到如何使页面更加高效上来。对于动态展示的Web应用程序可以根据来自使用者的不同页面请求,依据不同请求动态地返回所需要的结果集。我们称之为公共网关接口程序CGI,而这是一种用于系统产生动态页面的程序代码。

实现页面的动态输出功能的公共网关接口程序是运行在系统的服务器端,Java开发语言可以用来编写绝大部分的CGI程序,但是Java 程序编写的CGI 执行效率相对来说较低。因为要执行Java程序编写的CGI程序,不仅要在操作系统中运行CGI程序,还必须在操作系统中运行Java Virtual Machine,Java

虚拟机,首先要在操作系统中运行Java虚拟机,然后才能在Java虚拟机中执行Java CGI程序,对于操作系统来说资源的浪费是非常大的。而CGI程序是运行在服务器端的程序,其执行效率是系统管理者非常关心的问题。

因为CGI技术存在上述的弊端,也为了有效的解决CGI的执行效率问题,Java所属的公司SUN公司又推出了一套SERVLET技术规范[2]。SERVLET的本质是一种改进之后的CGI程序接口,引入SERVLET的主要目的就是为了减少系统的资源消耗,减少对JVM的依赖和不必要的频繁交互性操作,从而从资源消耗方面来提高程序效率。

SERVLET技术对于CGI程序的主要改进的地方有:SERVLET运行所需资源较少,此时操作系统只为SERVLET程序提供唯一的进程和JVM就可以满足程序运行所需的资源;当客户有多次请求同一个相同动态页面的请求结果集,SERVLET程序将只加载一个Java类来处理相同的请求;原始的CGI程序于WEB服务器交互方面不能直接进行有效的交互,SERVLET程序可以于WEB

服务器交互,而且SERVLET程序还可以使不同程序进行共享数据。由此我们可以总结出,SERVLET技术在应用程序的性能方面提升是明显的。

SERVLET技术处理Java Web客户断请求与数据的处理过程如图2-1所示。

图2-1 Java Web请求响应过程

二十世纪九十年代末期,Java的所属SUN公司为了让SERVLET技术适应商业发展,建立了一套有效开发API成之为Java Servlet API,这就使得SERVLET技术具有了更好的跨平台性和较好的可移植性。

在计算机科学技术的发展过程中任何一项技术都有自己的突出点和短板——SERVLET在生成客户请求的网页时,需要在HTML标签中嵌套上JAVA程序代码。这时如果HTML标签中发生个CSS样式细小的变化将导致SERVLET 中的Java类不得不重新进行修改。而实际应用中HTML页面的展现必须与Servlet后台代码的侧重点不同,因而这种关联关系会让后台代码Java代码的维护非常麻烦。

2.1.2 JSP技术

JSP[3](Java Server Pages)最大的特点是将静态的HTML标签技术和动态的页面技术相结合,它不仅能够扩展SERVLET API接口,还在继承原有技术上全面保留Java API,在页面的展现形式上更加趋近于HTML技术。

当我们从JSP页面文件的布局上可以非常清楚地看到它与HTML静态网页在布局格式上几乎一致,然而于HTML静态页面相比JSP文件中却可以在任意符合JSP语法的地方嵌入Java程序代码,这样就可以轻松的实现SERVLET程序逻辑。那么在SERVLET应用程序中不易被提取出来的HTML标签代码在JSP 页面中能够以较为直接的显示方式展现给开发设计人员,这非常有利于前台页面的有效的结构和展示的设计。

如果对TOMCAT服务器的Web服务器下的WEB/APP目录中的JSP文件进行解析,可以发现每一个JSP文件都将存在一个.java的文件于JSP文件相对。而且当开发人员或用户对JSP文件的HTML标签进行部分修改,系统将没有必要重新启动TOMCAT服务器就可以直接刷新更改后的页面直接看到效果。这跟SERVLET技术有很大的区别,主要是由于被修改的静态代码对Servlet程序代码没有起到作用,这时我们就不需要重新对JSP进行编译,所以直接刷新浏览器即可重新显示页面的更改。

当来自用户的请求系统中的某个JSP页面时,Web容器将会按照以下三个步骤进行处理:

首先将开发人员编写好的动态JSP文件通过Web容器中的SERVLET转换引擎转换成为*.java源代码;然后通过Java虚拟机将*.java源代码文件翻译成

为机器能够识别的字节码文件(二进制);最后当客户端发来页面请求时,WEB 容器将按照已经编译好的二进制字节码文件进行处理,将生成的HTML页面代

码反馈给客户端中显示。

总的来说,JSP技术是一种更接近于视图层、更加易于表现的Servlet程序代码。二者在本质上并没有明显的区别,但是JSP技术为使用者和开发人员提

供了丰富的标签库,例如JSTL标签、自定义标签等更加灵活便捷的标签。

2.1.3 JSTL标签

JSTL[4]全称为JSP Standard Tag Library,JSP标准标签库。由于这是基

于JSP标准的标签库文件,与STRUCT2等标签库相比,JSTL标准标签库所提供的功能虽然并不是特别丰富,但是JSTL标准标签库的适用性却非常广泛。

JSTL标签库主要为用户提供CORE标签库、FN方法库、XML标签库和FMT标签库、SQL标签库等5个部分的内容。

首先CORE标签库为开发人员提供诸如为了达到实现循环效果后台代码中

可以使用标签的for循环语句;FMT标签库主要用于控制标签库的

标签格式化输出等;FN方法库提供多种方法来丰富开发者操作例如fn:contains()、fn:split()等;开发者可以使用对数据库操作的支持SQL标签库对数据库进行操作,如使用标签来实现数据库中的事务管理等,但这些标签在主流框架的冲击下,大多数项目环境中已经很少用这些标签;XML标签库实现XML 相关的操作我们们可以使用等标签。

2.1.4 JSP 2.0自定义标签

JSP 1.x标准模版中提供了为用户自定义的标签库的功能供开发者使用,允许开发者编写其所需的标签而且能够并配置定义若干个标签,并以在开发过程中以标签库的形式对页面展示进行合理配置管理。但是开发者在编写自定义标签的时候首先要实现Tag接口或者继承TagSupport类,这个使用方法是JSP 1.x为开发人员提供的开放API。自从JSP 2.0[5]标准发布之后,用户只需要使用更加

简单的SimpleTagSupport类来重写doTag(),这样就使得开发人员在自定义标签的时候更加快捷。

JSP标签库中的自定义标签API的组织结构如图2-2所示。

图2-2 JSP自定义标签的API体系

本系统项目中在处理实体对象数据原型的管理逻辑时,由于分页功能的使用率非常高,因而在本系统我们使用了JSP 标准技术中的自定义标签库功能,定义了标签,标签极大的减少了JSP前台页面中的重复代码,为代码维护和界面显示带来了极大的便利。

2.1.5 Filter过滤器

Servlet API[6]代表着开源和开放的意思。2000年,三星公司通过发布Servlet 2.3规范,Filter过滤器的功能得到添加,接下来的2.4、2.5版本又使其各项功能得了进一步的改进。

在平时上网时,我们很少的会遇到这样一种情况,用户发的帖子中贴图显现出来的图文与本来所想的样子有很大的出入,出现这种情况最主要的原因就是贴子中的图片的来源网站用了“防盗链”的功能。而绝大多数的网站,在处理权限控制时(如在淘宝网购物必须具有已登录的账户),对于一些重要的操作过程都设置了审核这一环节(如检测到当前用户没有有效的登录状态,则拦截后续操作并转到提示页面)。这一类常用操作都是可以利用Filter过滤器来完成的。

在这一项目中,我们想到有的用户会通过浏览器地址栏暴力探索等非常规方式登录还没有完成的JSP页面造成逻辑错误,从而恶性的利用Filter过滤器拦截,让用户不能登录访问目的网页。

这归根到底是由于本项目所采用的方法是:页面只能用作后台间接反馈给用户的调用出来的结果,用户只能访问后台功能的各模块。

所谓监听器,其实和Java AWT/Swing[7]编程中的Listener是差不多的,一旦触发某一个事件,用户所指定的程序逻辑就会被立即执行,实现预设的目的。程序开发人员只要知道触发了一个事件所调用指定的Listener方法就行,而无需了解事件(Event)和监听器(Listener)是相互作用的过程。因此,只要把用户自己的业务逻辑编入所设定的方法程序中便可。

监听器有监听对象属性变化、监听对象的创建与销毁、监听Session内的对象、监听Session/Request/ServletContext等对象等这几种种类。

该项目中的使用Listener监听器做到了“单态登录”,如果处于登录状态,而这一帐户又在此时于异地登录,先前的登录便会被注销。

只要将业务逻辑编入到HttpSessionAttributeListener接口的attributeAdded()方法中便可实现这一功能。

2.2 MVC模式

Model-View-Controller可缩写为MVC[8]。Java EE中较为广泛的使用了这种分层的思想,主要特点就是提供对流程进行管理的用于控制导向的Controller,同时把业务逻辑和前台表现层隔离开来。

MVC思想最早是在1982年被提出来的,现在它作为差不多全部主流面向对像Web开发技术框架的标准,把业务逻辑和显示层进行分离,不但使得开发效率有所提升,而且具有部署快、可维护性高、耦合性低、重用性高等诸多优点。

如果不使用第三方框加,采用的又是原生的Java EE技术,我们一般就会这样的判断:POJO、DAO、Service等内容为Model层,JSP为View层,Servlet 为Controller层,请参见图2-3所示。

图2-3 MVC分层思想

一般想思想意识中的POJO(也称为Bean、VO或原型)不局限于Model 层,也不属于其他任何一层。比如在JSP页面当中的EL表达式一般情况下能通过“${bean.attribute}”的形式调用到一个POJO内部的东西。当然这种调用是建立在JSP API基础之上的,绝非与人为设定的Model层产生相互作用。POJO 作为数据传递的媒介,将表数据以POJO的形式通过Hibernate等框架到达DAO 层,DAO层再把POJO原型对象与Service的交换。在Struts 2.x框架中的ModelDriven接口中有些时候POJO也会作为Controller层与前台交互的媒介。

因此我们会错误的认为POJO与其他层是平等的,其实不然,把它归纳到Model层中是非常不科学的,它只是MVC分层中的一种通讯工具。但事事都无绝对性,这要看开发的人如何去理解和应用。

2.3 Spring框架

Spring框架是一功能强大的整合工具,一直是多框架的保护神,Spring是由Rod Johnson于2003年创建并兴起,它为项目的解耦与新需求的扩展带来了很多方便,设计的初衷是为了应对企业应用的复杂性,积极支持Java EE,弥补了其臃肿、低效等不足之处。当然对传统的Java EE框架也是一种挑点。

尽管Struts框架[8]充分的体现了MVC思想,但也带来局限性,Action与DAO层、Service层过于紧密的耦合,这将对项目的需要变化转型产生消极的影响。这种情况下我们可以使用Spring间接的协调,使用Spring的IoC机制来配置管理并维护这种耦合关系。只有这样,Struts的Action和DAO与Service才能不互相依赖,而是更好的互相配合工作了。

一样的道理,Hibernate也可以通过整合到Spring中来获得同样的良好效果。

虽然Spring框架中提供MVC模块,但暂时并没有使用它们,而使用的是Struts 2框架,这主要是因为该项目中大量的采用了Struts 2标签库内容。

2.4 AJAX技术

AJAX指的是“异步的JavaScript包括XML”(Asynchronous JavaScript and XML)。即在不需要等待服务器将结果返回就可以继续下面的业务逻辑,就是所说的“同步方式”。而传统的“同步方式”是客户端发出了一个请求,只有在服务器响应后,方可继续下一步的业务逻辑。

比如我们平时在一个网站注册一个用户名,用户名输入后直接显示用户名是不是被占用,而不需要刷新页面或者点击一控件。之所以这样,最主要的就是因为onkeyup或onblur等HTML事件触发了AJAX的回调函数,在JavaScript

作用下,直接根据服务器的结果信息改变HTML代码内容,而不必刷新页面。

XMLHttpRequest对象是AJAX技术最核心的地方。常见的浏览器都支持AJAX技术,同时在不影响客户端当前的操作的情况下把数据通过一种简单的方式传递到服务器端。AJAX对数据的传递一般采用高效的JSON,但也习惯使用XML格式数据。

3 系统分析与设计

3.1 系统简介

本系统的主要功有,首先是对系统中用户、播放列表、歌曲、歌手等相关数据进行整合并存入数据库中,在需要时进行查询,并且还支持查看各类原型信息的查看、修改、删除等。通过本系统,用户可以很方便的了解到歌手的信息,以及专辑的信息,并且这些信息还可以保存在用的账户中,以便用户以后可以快速的查看。

3.2 系统框架设计

Struts 1.x原本是Apache中一个项目,但是现在已经成为java web开发中一个非常流行的网络框架,如果开发者想要基于Servlet和JSP创建一个可扩展的应用,Struts 1.x是一个不错的选择。而在后来的版本Struts 2.x中,是以WebWork为核心,从而使得那些与Servlet API相关的可避免的依赖关系不出现在核心业务控制层,不仅如此,Struts 2.x还提供了更方便的Validator、OGNL 等工具,并且还抛弃了不繁琐的ActionForm。另外值得注意的一点是,一般软件的后续版本与之前本大同小异,没有什么根本的变化,但是在Struts框架中却不是这样,Struts 2.x和Struts 1.x具有完全不同核心,而它们具有相同的名字完全是因为Struts 1.x使用的广泛性。

本项目便是基于Struts 2.x搭建,并且在设计中使用了MVC模型,项目运行的逻辑如下:

(1)用户请求指定的Action;

(2)Action根据参数等条件进行导向;

(3)Action调用指定的业务逻辑完成后台操作并准备前台数据;

(4)根据struts.xml配置文件将带有结果数据的前台页面反馈给浏览器。

数据持久化框架(Object-Relative Database-Mapping, ORM)一个在很多场景下对数据的访问都要求极其严格的框架,与Apache的iBatis提供的半自动化方式相比,Hibernate提供一种全自动化的数据持久化方案。在Hibernate中,

通过相应的文件配置,我们可以实现相同的程序在不同的数据库平台下后可以正常运行,并且不需要做任何修改,而因此Hibernate也成为了Java中最为流行

的数据持久化框架。

使用通用JDBC编程,开发者需要编写大量的插入,更新,删除,选择等

语句来操作数据库。但是,这些SQL语句往往因为数据库平台的不同而变化,这使得程序的维护变得非常麻烦。在Hibernate中我们可以使用HQL语句,根

据HQL语法和配置好的数据库类型,将不变的HQL语句随环境的不同而转换

成不同的SQL语句。

JDBC的缺点是,开发者必须关注数据库与POJO对象属性中的数据之间的映射关系,当多个POJO直接彼此带有关系映射时,该缺点更明显。因此可以

通过合理的配置Hibernate使得自动的关联起表字段和类属性,自动维护单向或双向关系映射,那么开发者就可以很方便的对数据库进行操作。

在本项目当中我们除了使用Struts 2.x来创建Controller层外,还用到了文件上传的功能。在Structs 1.x中我们只能使用FormFile类来上传文件,但是在Structs 2.x中我们就可以直接使用java.io.File对文件进行操作,从而使得文件

上传更加简单。

3.3 功能需求

本系统的需求方向主要分为“面向管理”、“面向体验”与“面向维护”共三个方面。

首先是面向管理,所谓管理就是指系统管理员在登录账户后可以对数据库中的各项数据进行增、删、查、改等操作;然后是面向体验,指普通用户或者没有账户的游客也可以在网站上搜索、播放、收藏自己喜欢的歌曲;而面向维护则指在后期的修改中开发者能最低程度的修改当前已有代码从而完成所需的功能。

项目中的功能与具体需求方向之间关系概括整理如图3-1所示。

图3-1 功能模块与需求方向

3.3.1面向管理的需求定义

面向管理的需求定理主要是针对系统管理员,涉及一般用户的内容比较少,并且不涉及未登录的用户。

在本项目当中我们对管理的定义为可以对数据进行添加、修改以及删除等操作,而一般的浏览、搜索或者播放歌曲并不归类在管理当中。当用户登录系统之后具有不同的身份,而根据不同的身份我们分配不同的权限,其中主要身份包括超级管理员、一般管理员、普通用户以及未登录用户几大类。

从表面上来看,超级管理员和普通管理员没有什么区别,但在权限上还是有些差别,比如超级管理员在用户管理上的权限要比普通管理员大。

“面向管理”的需求则是体现在系统的全局架构上,而并没有体现在任何一个单一的功能模块中。例如对系统架构解耦的要求,对页面代码复用率的要求等。

面向管理方向的功能需求归纳如图3-2所示。

图3-2 面向管理的需求定义

3.3.2面向体验的需求定义

“面向体验”则是指主要操作是浏览、搜索或者播放等,而不涉及数据的添加、修改、删除等。在本节定义的功能中,大多数以游客的身份就可以完成。

下面是需求定义图3-3所示。

图3-3 面向定义的需求定义

3.3.3面向维护的需求定义

一个好的系统不仅要求界面的美观以及功能的完善,而且需要后期维护的方便,所以在系统设计时就应该考虑这些问题,程序代码之间不应该只是简简单单的堆在一起,而是应该定义好每个模块的功能,从而能使得整个系统结构更加清晰,同样的,代码的复用率也是评判一个系统健壮性的重要标准。

本节所讨论的需求定义则是为了提高系统健壮性、可扩展性和代码质量而设定的。下面是需求定义如图3-4所示。

图3-4 面向维护的需求定义

这里列出的8条需求定义主要是为了整个系统的健壮性、逻辑安全性以及代码安全性,对于最终的功能上则没有什么影响,也就是说即使不使用SSH框架,不进行任何代码的复用,整个项目还是可以正常实现并运行,不过在各方面的效率相对较低。

(1)前台JSP页面的复用

在所有实现的代码当中JSP页面占了很大的比重,所以如果可以代码复用,那么后期维护将会极其便利,在本项目中所采取的复用策略是:

如果在布局和样式上有两个或者两个以上的页面相似,那么我们就考虑使用同一个页面完成相应的功能。

例如我们在设计页面的功能时发现,添加歌手信息界面和编辑歌手信息页面基本类似,不同就在于在添加歌手信息是表格里的内容都是没有值,而在修改歌手信息时,表格中相应的项都已经有值;另外一个不同就在于单击提交按钮后执行的操作不同;最后一个不同就是添加时歌手的ID值为空,为修改时歌手ID值不为空。

所以当我们遇到两个页面在布局和样式上基本一样时,而只有在内容上有细微的差异,我们就考虑使用一个页面来完成两部分功能,而不是使用不同的页面去显示。而我们采取这种方法不仅仅是为了精简代码,更是为了后期维护的便利。例如,如果页面要添加新的功能或者更换布局风格,那么我们在复用代码之后,就只需要修改一小部分代码就可以完成要求的功能,而不是像复用之前需要去修改所有页面相应的内容。

(2)后台代码的复用

后台也同样有复用的要求,这在软件工程理论中占有非常重要的地位。大致的策略为:

如果一个Java类文件中的某些方法或部分代码可以脱离其所在环境而独立完成指定的功能,而这部分功能还有另外至少1处被使用的场景,那么就将这些代码提取出来供多个Java类文件共同调用。

通常情况下,这种复用的代码都被放在*.util包中。

(3)码表:可扩展性

在我们的整个系统中,有很多部分都涉及到“静态列表信息”,比如在显示用户的所在地时,我们一般会选择select标签来实现选择的功能,但是在使用该标签是要注意,我们不能直接将所有所在地的信息直接写入在代码当中,而是应该先将这些信息存在数据库中,在需要时再从数据库中读取。

虽然在我们的项目当中这些信息基本不变,但是当项目应用到其他场景时,例如其他国家的人访问了我们的项目,那么我们就需要添加相应的地址,若果所有地址信息都是直接写到前端,那么我们就要修改所有有关地址的页面,而如果我们将这些信息写入到数据库中,则只需要一条SQL语句即可添加新地址。

码表是数据库中唯一的一张表,所有不同类型的静态列表信息都将存放在码表中,后台为前台加载信息时能够保证内容的动态性,通常我们使用JSP自定义标签来实现这个功能。

(4)系统安全性

本系统的安全性应当分为两个角度考虑:

第一,密码的安全性。首先不应该在任何地方保存用户密码的明文信息,正确的保存方式应该是通过MD5或者其他单项散列函数进行加密之后存储,另外由于自定义安全控件技术上难以实现,所以用户的明文密码也应该只能停留在浏览器的处理阶段。因为我们知道,一旦保存的数据库遭到黑客攻击,那么用户的密码信息将会泄露,而很多用户在不同的网站上基本使用相同的密码,如果密码以密文保存,那么黑客也无法破解出原密码,而如果以明文保存,那么将会给用户的隐私信息带来严重威胁。

第二,逻辑的安全性。在Structs框架中,后台的Action提供给前台所有的页面,而如果用户访问一个后台Action不存在的页面时,那么将会发生逻辑错误。而为了避免这类错误的发生,提高用户体验,并且防止非法用户通过暴力枚举的方式遍历网页目录,本系统将会处理这种情况,保证逻辑上的安全性。

3.4个性化音乐推荐系统设计

通过上面部分的需求分析的调差与研究将音乐推荐系统的功能设计如下图

3-1所示。

音乐上传个性化音乐推荐系统单曲管理收集歌曲信息用户信息音乐检索音乐推荐

图3-1 个性化音乐推荐系统模块功能图

* 音乐上传:管理员对音乐进行分类包括音乐类型、音乐风格、音乐地区还有歌手类型并上传音乐。

个性化音乐推荐系统设计与实现

个性化音乐推荐系统设计与实现 摘要 21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,与人们的日常生活早已建立了离不开的联系。对网络音乐服务来说,不管是音乐下载服务,或者是网络音乐电台服务,都需要用到优秀的内容推荐系统去辅助整个系统。个性化音乐推荐系统是目前最流行的应用方法之一。同时音乐成为重要的媒介与朋友交流文化,所以很多SNS应用当中将音乐服务添加到里面。 本系统采用SSH框架组合进行设计,基于Java Web技术,系统使用UML建模。本系统的功能模块主要包括:音乐上传、单曲管理、个人信息维护、收集歌曲信息、音乐检索以及系统推荐等。音乐上传利用JavaScript脚本定义了一个函数,单曲管理在action中定义一个方法,系统推荐是利用协同过滤算法来进行的。 整个系统主要实现了从用户注册和登录、检索音乐到收听音乐、评分音乐,个性化推荐的整个音乐系统,管理员可使用系统后台对音乐歌曲信息进行修改、会员信息修改、系统推荐等进行有效的管理。很大程度上提高了对音乐管理的效率,符合了广大用户们的基本需求。 关键词:SSH框架,音乐系统,协同过滤,MVC模式

DESIGN AND INPLEMENTATION OF PERSONALIZED MUSIC RECOMMENDATION SYSTEM Abstract The 21st century is the era of information, with the development of information technology and network technology, it has penetrated into every aspect of daily life, with people in daily life has been inextricably linked to the the Internet music service, whether it is music download service, or network music radio service, all need to use the excellent content recommendation system to support the whole system. Personalized music recommendation system is one of the most popular applications. At the same time music has become an important medium of communication with friends culture, so many SNS applications when the music services added to the inside. The system uses a combination of SSH framework design, based on Java Web technology,system used UML modeling. Site function modules include: Music upload, music management,personal information maintenance, collecting music information, music search and system recommend. The entire site is simple, user-friendly, flexible and practical. The main achievement of the user registration and login, retrieve music to listen to music, the whole comment is called online music listening processes, and system administrators can use the background information on the goods, membership information, message information, and effective management. Greatly improving the efficiency of music management, in line with the needs of customers. Keywords: SSH Framework,Music System,Collaborative Filtering,MVC Pattern

在线音乐播放系统毕业设计(论文)

毕业论文(设计) 题目: 在线音乐播放系统

原创性声明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:日期:

关于毕业论文使用授权的声明 本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。 论文作者签名:日期: 指导老师签名:日期:

在线音乐播放系统 摘要 随着大城市建设步伐的加快,越来越多的市民在物质生活条件得到改善的同时,为了调节紧张的生活节奏,把目光投向了工作之余的休闲娱乐上。因此,娱乐市场需求越来越大。而其中,音乐更是休闲娱乐的主流。在各种地方,都总能发现音乐的存在。音乐网站是网络音乐的发展平台,国内各大音乐网站都拥有丰富的音乐资源,并且大部分的资源都可以免费下载,因此吸引了上百万的人成为他们的注册用户。 本次设计我将根据当前流行的Web 动态网页开发技术,使用微软的ASP结合数据库的知识,开发一个在线音乐播放系统。本系统能够实现音乐的分类查询,歌曲的在线播放以及后台的添加、删除和修改功能。本文主要对这次设计的各模块设计和数据库的建立进行介绍。全文分六大部分,首先介绍了音乐网站的分类和音乐网站的现状,然后对网站系统进行了调研和可行性分析,接下来阐述了系统分析、设计与实现的过程,最后小结了网站的测试结果。该网站功能较强大,结构清晰明了、界面友好。前台可以浏览歌曲信息、音乐在线收听、音乐下载、即时留言、论坛交流,满足了用户对于音乐网站的基本需求。 通过这次作品的制作,学习了在制作网页的基础上,加入数据库、ASP及相关的嵌入式技术来实现在线音乐播放的目的,在一定程度上加深了对这些知识的应用和熟悉程度,使我对这些内容的学习得到了进一步的巩固。 关键词: 休闲娱乐,音乐,网站,ASP,留言,在线收听,下载

音乐播放器设计实习报告

《.net技术》实习报告带智能关机和查看日历功能的音乐播放器设计班级:指导老师: 姓名:学号: 设计时间:

正文开始 设计目的: 很多人在使用播放器的时候下载的播放器软件总是比较大,一般软件较大的打开就会比较慢,运行起来也没较小的软件运行的更“流畅“。而且当我们使用播放器的时候或是只用电脑的时候我们有时会忘记关掉电脑就离开或是睡着了!虽然电脑自带的操作系统也可以设置定时关机但比较麻烦,对电脑初学者更是不知道怎么使用操作系统设置定时关机啦!还有就是我们电脑桌面下的时钟一般只显示了几点钟,并没有显示今天是多少号,所以在影月播放器中添加一个可以查看日历的功能是很必要的! 实现的功能: 在这里我就为大家设计一款小巧的音乐播放器,同时还带有智能关机功能,所谓智能关机就是你想怎么时候关机就什么时候关机,你想立刻关机就立刻关机,想定时关机就可以自己设置关机时间,设置方法非常的简单啦。同时你只需要单击一下一个“三角图标键”(在下面还将结合图示提到)就可以看到日历表了,在日历表里你也可以选择查看你需要的那个月的日历表。同时我也在播放器中添加了显示现在时钟的功能。 下面介绍一下我设计的播放器的所有功能:首先你可以通过“添加文件夹”按钮添加你选择的文件夹内的所有音频文件,你也可以通过“添加文件”按钮单个添加你所要添加的音频文件,具体方法在下面我会给出截图加以说明,保证一看就懂,就会用。添加音乐文件后你就可以在你的播放列表里看到你添加的歌曲名了。你可以通过双击列表中的歌曲名进行播放你双击的歌曲或者单击选中列表中歌曲名后再单击播放按钮进行播放。在播放时你可也看到正在播放的歌曲名和播放进度,这里的播放进度使用显示正在播放的歌曲“已经播放了多长时间”和这首歌要播放的“总时间”,还有就是上一曲、暂停、下一曲、停止,除实现播放的基本功能外,还有一个功能那就是我在上面给大家提到的“智能关机” 物体规则震动发出的声音称为“音乐”,由有组织的乐音来表达人们思想感情、反映现实生活的一种艺术就是音乐,音乐是一种符号,声音符号,表达人的所思所想,音乐能表达一个人的内心世,界音乐能是人快乐,能使人放松心情。为了方便人们能够听到美丽的音乐,音乐播放器就成为我们的音乐大师了。 设计好的播放器运行时如下图:

音乐播放器的设计与实现

德州学院信息管理学院 课程设计报告实习名称课程设计2 设计题目Android音乐播放器的设计与实现实习时间 专业班级12级计算机科学与技术 指导老师刘想 教学单位(盖章) 小组成员分工情况: 学号姓名分工 3018 周生明音乐播放的设计与实现1052曹法瑞 1040 张正奎 1055 李元华 2049 王山 二〇一五年六月三十日

目录 摘要 ................................................................................................................ 错误!未定义书签。 1 引言 ............................................................................................................ 错误!未定义书签。 2 可行性分析................................................................................................. 错误!未定义书签。 2.1 技术可行性...................................................................................... 错误!未定义书签。 2.2 经济可行性...................................................................................... 错误!未定义书签。 2.3 管理可行性...................................................................................... 错误!未定义书签。 2.4 可行性分析结论.............................................................................. 错误!未定义书签。 3 系统需求分析............................................................................................. 错误!未定义书签。 3.1 功能分析.......................................................................................... 错误!未定义书签。 3.2 数据流程分析.................................................................................. 错误!未定义书签。 4 系统功能设计............................................................................................. 错误!未定义书签。 4.1 播放器功能结构.............................................................................. 错误!未定义书签。 4.1.1 播放器主界面功能模块....................................................... 错误!未定义书签。 4.1.2 播放器菜单功能模块........................................................... 错误!未定义书签。 4.2 播放器功能流程.............................................................................. 错误!未定义书签。 5 系统实现..................................................................................................... 错误!未定义书签。 5.1 播放器主界面功能列表.................................................................. 错误!未定义书签。 5.2 播放器基本功能的实现.................................................................. 错误!未定义书签。 5.3 播放列表的实现.............................................................................. 错误!未定义书签。 6 软件测试与验证......................................................................................... 错误!未定义书签。 6.1 软件测试的目的.............................................................................. 错误!未定义书签。 6.2 软件测试的方法.............................................................................. 错误!未定义书签。 6.3 软件测试环境.................................................................................. 错误!未定义书签。 6.3.1 android模拟器 ...................................................................... 错误!未定义书签。 6.3.2 真机测试............................................................................... 错误!未定义书签。 6.4 软件测试流程与结果评估.............................................................. 错误!未定义书签。 6.4.1 测试流程............................................................................... 错误!未定义书签。 6.4.2 结果评估............................................................................... 错误!未定义书签。

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

基于labview的音乐播放器设计

成绩: 《虚拟仪器技术及应用》 课 程 设 计 题目:基于LabVIEW的音乐播放器程序设计 学期:2013~2014学年第一学期 指导教师: 姓名: 学号: 年级、专业:

目录

基于LabVIEW的MP3程序设计 1程序设计背景 MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频加大压缩比(甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。 MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。 经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个文化阶层。从最初的简单MP3播放器,到现在的手机,平板等便携设备自带的MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分,车上会有车载MP3,电脑手机平板上的MP3也是必不可少,总之,已经人们时时刻刻都已经在享受着MP3带来的快乐。 2程序设计思路 2.1程序整体设计思路 该虚拟仪器—MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex,属性节点,调用节点,Eventstructure等控制实现的。MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。 2.2程序流程设计 程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。 本程序主要涉及到一下控件或结构的使用: (1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序

个性化推荐系统分析与设计

课程设计报告 课程名称系统分析设计与开发方法 课题名称个性化推荐系统的分析与设计 专业信息管理与信息系统 班级1002 学号201003110215 姓名黄天玲 指导教师唐志航 2014年元月4 日

一、设计内容与设计要求 1.设计内容: 见附录 2.设计要求: 1).设计正确,方案合理。 2).界面友好,使用方便。 3).建模语言精炼,结构清晰。 4).设计报告4000字以上,含建模语言说明,用户使用说明,UML建模图。 5).上机演示。 二、进度安排 第十七周星期四下午:课题讲解,查阅资料、系统分析 星期五上午:总体设计、详细设计 第十八周星期一:建模,上机调试、撰写课程设计报告 星期二下午:答辩 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

设计课题:个性化推荐系统的分析与设计 一、问题描述: 对网络购物个性化推荐系统进行分析与设计,对购物流程进行分析,对购物中关键环节进行设计,实现对商品的录入、显示、修改、排序、保存、销售、售后服务以及客户管理等操作实现推荐结果准确性、推荐结果多样性、用户交互度、系统界面设计、系统交互设计、推荐透明度(推荐解释)。 二、功能要求: 1、用UML完成一个小型团购系统的分析、设计。 2、写出系统需求报告,说明系统的功能。 3、通过面向对象的分析和设计建立系统模型。 4、画出完整的用例图、类图、对象图、包图;及时序图、协作图、状态图、活动图;及组件图和配置图) 三、建模提示: 1、使用Enterprise Architect 8.0建模。 2、使用 Ration Rose 或StarUML建模。 四、其它 对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能,特别是售后以及客户关系管理。

在线音乐设计说明

课程设计说明 设计题目:基于asp技术的 在线音乐播放系统 学院派斯学院 专业年级计算机应用技术 学生姓名陈琴学号 20080908111 指导教师程光德(老师) 设计地点重庆工商大学派斯学院 日期2010年5月10日

在线音乐播放系统 [摘要]随着计算机技术和多媒体技术的发展,以及Internet互联网的普及,人们不再满足于只有图片,文字的网站,流媒体技术使得在线音乐播放,在线视频播放成为可能,下面我将介绍一个在线音乐播放系统的实现过程,该系统能在线播放多种格式的音乐文件,并具有文件管理等功能。 [关键字] 音乐;播放;数据库 [Abstract] By the development of computer technique, online music player system has become a hot topic.people don’t content with the web that only have images and word.the realmultmedia become that online music player is possible. [Keyword] online ; music ; Database 1.引言 Internet互联网的普及,人们不再满足于只有图片,文字的网站,流媒体技术使得在线音乐播放,在线视频播放成为可能 2.需求分析 2.1系统需求 本套系统的在线音乐播放系统,并可推广至各社会各地使用。在系统开发上,我们选取的工具是asp ,数据库采用Microsoft ACCESS 2000 2.2功能需求 ①在线音乐播放。②管理员对音乐进行分类,添加,删除等功能。 1系统功能说明 一个在线音播放系统应该具有以下主要功能: ①将歌曲进行分类,并能够按照用户的选择显示某个类别的所有歌曲。 ②多种注媒体格式的音乐文件的在线播放。 ③歌曲文件的管理,包括添加,修改和删除曲目。 ④一个在线音乐播放系统的运行流程如下图如示

课程设计简易单片机音乐播放器

课程设计 题目:基于单片机音乐演奏曲Title: instrumental music based on single chip 姓名: 学号: 系别: 专业: 年级: 指导教师: 2012年5 月25 日

摘要 单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本设计以At89c2051为核心,主要由电源电路、复位电路、音频放大电路、时钟电路和数码管电路和蜂鸣器电路构成单片机奏乐附加时钟的一个小系统。电路中I/O口采用分时复用的借口技术,使AT89c2051单片机的引脚资源得以充分利用,本系统的电路简单,实现的功能强大,所用芯片比较便宜,性价比较高。 关键词:At89c2051,数码管,单片机奏乐,分时复用

目录 摘要 ........................................................... - 1 - 1.引言 (3) 2.系统整体结构 (4) 2.1系统总设计 (4) 2.2实现的功能 (4) 2.3主要芯片介绍 (4) 2.3.1 AT89c2051芯片介绍 (4) 3.系统硬件设计 (5) 3.1键盘输入模块 (5) 3.2时钟模块 (5) 3.3显示模块 (6) 3.4复位电路 (6) 3.5蜂鸣器电路设计 (7) 4.系统软件设计 (7) 4.1系统主程序流程图系 (7) 4.2 部分子程序流程图 (8) 结束语 (10) 参考文献 (10) 致谢 (11) 附录 (11)

1.引言 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 本次设计为单片机奏乐器,硬件部分它以单片机AT89C2051为核心,由功放电路、数码管等组成。当接上电源按下开关时,就能听到优美的旋律。当然这些音乐都是通过软件编程实现的,把它存储在存储器里,根据存储容量大小决定存储音乐的数目。 [2]

在线音乐播放系统详细设计

<在线音乐播放系统> 详细设计说明书 作者: 完成日期: 签收人: 签收日期: 修改情况记录:

1 引言 1.1 编写目的 为软件开发人员在编码的过程中有所依据和参考。 面向人员:程序开发人员 1.2 背景 说明: a.待开发的软件系统的名称:在线音乐播放系统 b.列出本项目的任务提出者:北软老师 c.开发者:邓凯 d.用户:广大互联网用户 e.将运行该项软件的单位:web服务器 1.3 定义 OMS :Online music system,在线音乐播放系统。 1.4 参考资料 列出要用到的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.在线音乐播放系统概要设计.doc; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2 程序系统的结构 本程序主要采用四层结构,如下所示: 图1 系统结构示意图

3 程序(标识符)设计说明 3.1 在线音乐网络爬虫设计说明: 资源的数量和质量将决定了系统的商业价值,为了获取更多的网络媒体资源,为系统设计了一款针对互联网上音乐资源的网络爬虫。 3.1.1爬虫的原理: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。 聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。 相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题: (1)对抓取目标的描述或定义; (2)对网页或数据的分析与过滤; (3)对URL的搜索策略。 3.1.2在线音乐播放系统爬虫的设计: 与通用爬虫不同,在线音乐播放系统爬虫只针对https://www.sodocs.net/doc/4e9451790.html,音乐频道 https://www.sodocs.net/doc/4e9451790.html,音乐频道,针对MP3格式的资源。 3.1.3爬虫的流程图:

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.sodocs.net/doc/4e9451790.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

基于单片机音乐播放器课程设计报告书

目录 第一章绪论 (1) 第二章音乐播放器主要器件相关知识介绍 (2) 2.1 AT89C51 (2) 2.2 LCD 显示器 (4) 2.3 喇叭 (5) 2.4 键盘 (5) 第三章音乐播放器设计原理 (6) 3.1 单片机发声的基本原理 (6) 3.2 设计的相关音乐说明 (7) 3.3 音乐播放器设计功能说明 (7) 3.4 设计结构框图 (9) 3.5 主程序控制的工作流程图 (10) 3.6 播放音乐的主程序 (11) 设计心得 (15) 参考文献 (15)

第一章绪论 二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭

环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。 设计指标: (1)设计一个(4×4)的键盘,并将16个键设计成16个音; (2)可弹奏想要表达的音乐; (3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。 设计要求: (1)按设计指标进行电路设计; (2)列出音阶与单片机定时器输出频率关系表格; (3)制作符合设计指标的硬件电路。

基于STM32 MP3播放器设计分析

基于STM32 MP3播放器设计 学院:XXXXXXXXXXX 专业班机:XXXXXXXX 姓名XXXXX 学号:XXXXXXXX

1.1 本课题的提出及意义 MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。 MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化[1]。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。 MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。存储器可以是Flash存储器或硬盘[2]。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。 1.2 研究现状 MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题[3]。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案。这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔[4]。 2 硬件设计 2.1整体方案 综述

个性化推荐系统在当当网中的运用分析

目录 一、摘要 二、当当网概述 1)当当网简介 三、个性化推荐系统营销理论综述及原因 1)个性化推荐系统营销概念及分类 a 基于内容的推荐系统 b 协同过滤推荐系统 c 混合推荐系统 2)个性化推荐系统的发展历程 3)当当网使用个性化推荐系统的原因 四、个性化推荐系统的结构及在当当网运用中的具体表现 1)个性化推荐系统在电子商务网站中的结构 a 输入功能模块 b推荐引擎模块 c输出功能模块 2)个性化推荐系统在当当网中的具体运用 a商品信息页面 b购物车、收藏夹 c Email邮件 d独立的个性化页面 3)个性化推荐系统在当当网中的新运用 4)个性化推荐系统在当当网未来的发展趋势 五、个性化推荐系统在当当网运用中的特点 1)“当当推荐”系统功能分析及推荐效果评价 a 当当推荐系统功能 b 推荐效果评价 2)当当网特性化推荐2.0 六、个性化推荐系统在当当网运用中的不足与风险 1)个性化推荐系统在当当网运用中的不足 2)当当网个性化推荐运用中的风险

3)在个性化推荐上当当网和亚马逊的对比分析 七、通过当当网浅谈个性化推荐系统对电子商务发展的影响 1)电子商务新时代的到来 2)由推网的兴起 八、结语与建议 九、注解与参考文献

个性化推荐系统在当当网中的运用分析 摘要:在完善用户购物体验方面,当当网还针对用户需求推出了“为你推荐”功能,通过对顾客历史数据的分析,根据不同顾客的购物习惯向他们推荐针对其个人的商品。这样的定制推荐把用户从海量的商品信息中解放出来,极大的减少了用户的时间成本,通过强大的系统分析,实际上做到了顾客给自己推荐商品,成为自己的顾问。一个好的个性化推荐就好像网站里的智能导购员一样,只不过它是隐形的,对于购物者来说,它是无处不在的。它能将隐形而无处不在的特性发挥到极致,让购物者不讨厌它,也时刻能使用到它,最终,它能够为网站创造更多的销量。 关键词:个性化推荐;当当网;应用;电子商务;信息超载。 Personalized recommendation system in dangdang network analysis of the application Abstract: To improve the user shopping experience,dangdang also according to user needs introduced a \"recommend\" function,through the analysis of the historical data of customers,according to different customers' shopping habits to their recommended according to the personal goods.This custom recommend the user from mass of commodity information liberate, greatly reduce the user's time cost, through the powerful system analysis, in fact do the customer to recommend commodities, to become their own advisers. A good personalized recommend like website intelligent shopping guide,only it is invisible, for shoppers for, it is everywhere. It can store and the ubiquity of characteristics to acme, let shoppers don't hate it, time can be used to it, eventually, it can create more sales for the web site Key words:Personalized recommendation ; dangdang; apply ; electronic commerce;information overload

在线音乐网站的设计与实现

在线音乐网站的设计与实现 摘要:本系统是利用抓包分析及相应音乐网站接口实现的一个在线音乐播放网站,系统可提供音乐下载、分享等功能。系统主要包含以下几个模块:排行榜模块、播放模块、搜索模块等。系统前端主要使用HTML5和JavaScript技术实现,后台主要使用PHP技术实现。系统选用Apache作为WEB服务器,MYSQL作为数据库。 关键词:在线音乐; 音乐播放; HTML5 Abstract:This system is an online music playing website, implemented with the packet analyzer and corresponding music website interfaces. The system accomplishes many functions, such as music downloading, music sharing and so on. This system mainly includes ranking module, play module, search module and so on. The front-end is mainly implemented with HTML5 and JavaScript. The back-end is implemented with PHP. The system is configured with Apache as the Web server and MYSQL as the database. Key words: Online music; music playback; HTML5

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

相关主题