音乐网站的设计与实现毕业论文

本科毕业论文(设计)

论文题目: 苏摩音乐公司音乐网站的设计与实现

学生姓名:

学 号:

专 业: 信息管理与信息系统

班 级:

指导教师:

完成日期: 2012 年 5 月 23 日

苏摩音乐公司音乐网站的设计与实现

内 容 摘 要

随着互联网和宽带上网的普及,音乐网站在中国异军突起,并日益渗透到人们的日常生活当中,丰富了人们的生活,让大家可以足不出户即可欣赏到自己喜欢的音乐,同时也为广大音乐爱好者提供一个音乐交流的平台。

本系统以JSP 作为页面载体,以struts+hibernate作为架构框架进行开发,后台数据库使用Mysql ,在windows 环境下利用MyEclipse7.5进行开发,配合Dreamweaver CS3进行设计和实现,整个系统的设计,较好地考虑了数据库的安全性、一致性、稳定性和可靠性的问题;经过试运行,该系统能够在windows XP和windows 7中用IE9.0运行正常。

关键词:音乐网站 音乐上传 音乐下载

The SUMO Music Website Design and Implementation

Abstract

With the development of the Internet and Internet broadband surf, Websites rise abruptly in China and get into ordinary people's daily life gradually, enriching people's life and letting people enjoy their favorite music without going outside. At the same time, it also provide a vast platform for music lovers to exchange music information.

Using JSP page as carrier, struts and hibernate as architectural framework for development, using Mysql as backend database, MyEclipse7.5 to develop in Windows environment, and applying Dreamweaver CS3 to design, the whole system design considers the reliability , consistency and stability of the database security.The experiment results show the system can be used in a Windows Xp and windows 7 IE9.0 normally.

Key Words: music site music upload music download

目 录

序 言 . ........................................................ 1

一、系统规划 . ................................................. 2

(一)系统背景介绍 ......................................... 2

(二)网站策划 . ............................................ 3

(三)系统开发要求 ......................................... 4

(四)系统开发的意义 ....................................... 4

二、系统相关技术 . ............................................. 6

(一)Browser/Server体系 .................................. 6

(二)JSP 技术 ............................................. 7

(三)Mysql 简介 ........................................... 7

(四)MyEclipse 开发平台 ................................... 8

三、系统分析 . ................................................. 9

(一)需求分析 . ............................................ 9

(二)可行性分析 ........................................... 9

1.技术可行性 ........................................... 9

2.社会可行性 .......................................... 10

3.经济可行性分析 ...................................... 11

4.法律可行性 .......................................... 11

(三)系统业务流程分析 .................................... 11

(四)数据流程分析 ........................................ 12

1.第二层数据流程图 .................................... 13

2.第三层数据流程图 .................................... 13

3. 数据字典 . ........................................... 15

四、系统设计 . ................................................ 21

(一)系统功能设计 ........................................ 21

1.系统总体规划 ........................................ 21

2.注册模块功能介绍 .................................... 21

3. 登录模块功能介绍 .................................... 21

4. 增加专辑模块功能介绍 ................................ 21

5. 上传音乐模块功能介绍 ................................ 21

6. 音乐查找模块功能介绍 ................................ 22

(二)系统架构设计 ........................................ 22

(三)数据库设计 .......................................... 22

1.数据库概念结构设计 .................................. 22

2.数据库逻辑结构设计 .................................. 23

(四)输入输出设计 ........................................ 26

1.输入设计 . ........................................... 26

2.输出设计 . ........................................... 27

五、系统实施 . ................................................ 28

(一)系统的运行环境和开发平台 ............................ 28

1.系统运行的硬件设备及操作系统 ........................ 28

2.系统开发平台 ........................................ 28

3.系统运行环境配置 .................................... 28

(二)代码实现及运行图 .................................... 31

(三)系统测试 . ........................................... 32

1.系统测试的原则 ...................................... 32

2.系统测试的主要内容 .................................. 32

3.系统测试的方法 ...................................... 32

4.系统测试计划 ........................................ 33

5.系统测试用例 ........................................ 33

结 论 . ....................................................... 34

参考文献 . .................................................... 35

附 录 . ...................................................... 36

序 言

互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活、娱乐等各个方面发挥着重要的作用。人们在利用网络学习的同时,也享受着网络带来的各种附带产品所产生的效应,如网络游戏、网络歌曲等。音乐网站正是在这样的需求下应运而生。给人们的日常生活带来了极大的乐趣,让人们在繁忙疲惫的工作之余可以进行休闲享受。

苏摩音乐网站是一个界面友好的音乐交流下载网站,使得用户可以将自己喜爱的歌曲分享给众多网民,同时也可以下载分享其他人的音乐,还可以根据自己的喜好来建立自定义专辑,充分考虑到用户的需求,提供了更加便捷的服务。

本文主要介绍了音乐网站的需求分析、概要设计、详细设计,详细阐述了用户的注册和登录管理、对音乐的上传、下载、专辑归类、音乐的分类查找等功能的具体实现过程;最后通过系统测试分析,给出了结论。

一、系统规划

(一)系统背景介绍

随着计算机技术的不断发展,互联网逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体Internet 。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。

目前,音乐网站从传播形式来看,大致可分为三类:有固定网址的音乐网站、搜索类音乐网站、P2P 类音乐网站,三者功能各异,互为补充。

有固定网址的音乐网站在数量上占绝对优势,因为这是网站存在的基本形式。这类网站在规模上大小不一,建站者主要是音乐爱好者、单位集体、政府官方的文化部门。打开www.5566.org 这类网址荟萃中的音乐类时,会有将近150个音乐网站名称出现在眼前。这类被集中起来的网站基本上都是规模较大、内存丰富、点击率较高的专业音乐网站。这些网站本身就是独立的公司产品,或者是有较强财力支持的单位集体、官方部门建立的宣传网站。打开3721网站搜索引擎,搜索“音乐”,将会出现800多个音乐网站其中绝大部分的内容都是流行音乐,但多数规模较小,内容有所侧重,多位乐迷个人网站。另外。除了独立的音乐网站之外,还有相当数量的音乐网站存在于某些综合类网站的子栏目当中,如各门户网站与各地市的信息港中的音乐栏目、各校园网的娱乐栏目等等。此类音乐网站数量繁多,难以统计。

搜索类音乐网站从严格意义上讲并不是独立的网站,因为它本身不像有固定网址的音乐网站那样有自己的音乐文件数据库,它的特点仅仅在于能够在瞬间找到你所需要的音乐的下载地址,但是这恰恰是她最吸引人的地方。“百度”(www.baidu.com )与雅虎名下的“一搜”(www.yisou.com )就是这样的网站。在这种网站的MP3搜索引擎里输入歌曲名称当中的任何字词。便能搜索到所有包含这个字词的所有歌曲目录。虽然在某些专业音乐网站中也有搜索引擎,但是搜索范围仅限于该网站本身的音乐文件数据库,而百度和一搜的搜索范围却是整个网络世界!因此在搜索的名称目录中,你甚至可以从版本、文件格式、文件大小、传输速度等方面进行选择,这也体现出了有固定网站的音乐网站所不具备的人性化特点。

P2P 类音乐网站是近年来刚刚出现的以P2P 技术与音乐网站相结合为特点的新事物。P2P 是英文peel-to-peel 的缩写,直译为“伙伴到伙伴”。这种技术是网络文件传输方式的革新,同时也改变了人们对网络的理解和认识。音乐网站利用了P2P 技术后,人们获取音乐的方式不再是从网站上下载,而是网友与网友之间的交流或交换。如同打电话一样,不但省略了中间环节,拜托了网站形式与内容的限制,而且实现了人与人之间直接交流:每个人都有自己的音乐文件数据库,每个人都可以到别人电脑里的音乐文件数据库去寻找和下载音乐。如“KURO 酷乐”(www.kuro.com )。当你登陆到这个网站的时候,并没有传统网站那样的歌曲列表给你选择下载,你必须下载相应的P2P 类传输软件,这个软件运行后类似一个浏览器,在里面你可以是使用类似“百度”的搜索引擎在别人

电脑里搜索你需要的音乐,当然,你的音乐库也被共享。这样,每个装有该软件的电脑都是服务器,都是奉献着,也都是受益者,因此,这种网站其实只是提供了共享、查找、交流的平台,本身并不提供歌曲来源。

作为音乐的网络载体,音乐网站在创作、传播、欣赏方式等方面对音乐的发展都产生了前所未有的影响。

1. 电脑网络技术的发展使人们通过流行音乐网站接触到了更多的音乐。

中国因特网发展主要指标中,上网计算机的台数从1997年10月的29.9万台增加到2004年6月30日的3630万台,而截至2009年6月,中国网民规模达到3.38亿。与音乐相关的音频、视频、图片、文字等内容,作为重要的娱乐性网络信息,通过数据库的形式被存储和传播,人们不仅能够转瞬间免费接触到热门歌曲,而且还可以找到广播节目不会播放的歌曲,从尘封的记忆中找出昔日的老歌。只要你有时间,网络中不计其数的音乐歌曲就是你的。

2. 网民数量的激增使更多的人们通过音乐网站接触到了流行音乐。

1997年10月中国上网的人数仅为62万,然而截至2004年6月30日,中国上网人数达到了8700万。其中,18岁以下占17.3%,18-24岁占36.8%。这两个年龄段百分比之和为54.1%,而对音乐非常关注的人群也主要处于这两个年龄段。如果把青年的年龄划分放宽到30岁,那么,30岁以下网民人数百分比则是70.5%.从职业角度来看,最为关注音乐的学生,在网民百分比中所占比例最大,为31.9%。而在2009年6月的调查中,青少年网民规模为1.75亿人,占总体网民比重的51.8%。从以上数据可以了解,随着网民数量的逐日激增,尤其是对网络技术和流行音乐较为关注的青少年网民数量的增加,无疑将促动音乐网站的建设,也必将促进流行音乐的发展。

3. 音乐网站刺激了音乐的传播

从传播方式角度讲,流行音乐网站中的流行音乐其传播速度与广度超越了其他任何传播形式。从经济角度讲,流行音乐网站的免费下载与保存功能将传统的购买欣赏方式落在了后面:从传播主体角度讲,传播者与受众在身份角色上相互转化,具有极强的交互性;从传播数据的数量上讲,规模庞大的音乐网站中的音乐远比一个音像商店的储备齐全。

4. 音乐网站使音乐的欣赏方式发生了改变

音乐网站不但刺激了音乐的传播,并且也刺激了电子数码产品的频繁更新换代,各种精巧便携的大容量MP3以及MP5等播放器已经在青少年中普及,配合音乐网站的数据存储功能,在欣赏方式上真正实现了更长时间、更多数量、更为便捷的特点。

音乐网站的建设不但具有多样化的特点,而且更倾向于朝着人性化方向发展。它所提供的内容不但包括歌曲(音频和视频)、歌词、在线试听、下载服务、甚至提供了人与人之间的交流平台,随着网络技术与多媒体电脑的日渐普及,流行音乐网站必然会对流行音乐的发展有着深刻的影响。 [7]

(二)网站策划

为了能够制作一个优秀而且迎合广大用户却又新颖实用的音乐网站,我首先查看了一些相关信息,参考了其他音乐网站的设计,如一听音乐网等,并做了一个调查问卷,根据调查结果大体上确

定了整个网站的框架和一些具体内容。

确定好网站的大体框架后,下一个步骤就是做一个网站规划,这个步骤非常重要,是建设网站的前期工作。这包括要明确建设网站的目的,确定网站的功能、规模等。只有详细的规划,才能避免在网站建设中出现很多问题,使音乐网站的建设能够顺利进行。

首先,建设本网站的主要目的是为广大音乐爱好者和音乐发烧友提供一个交流平台,使广大的用户在体验高质量的音乐服务时也能将自己的感受分享出来,所以,在功能上除了提供了下载、试听、搜索等功能外,还允许用户上传自己喜爱的音乐到本网站,供大家分享。

(三)系统开发要求

如今音乐网站林立,各大音乐网站都有自己不同的功能,本次毕业设计要完成的网站属于综合试听下载类音乐网站,同其他同类音乐网站类似,本网站须实现以下功能:

1. 管理员登录——对音乐、专辑、用户信息等进行管理;

2. 用户注册及登录——需为各级用户实现注册及登录功能,同时设置用户相应的访问权限;

3. 上传功能——用户可以上传音乐资源,并修改其相关信息;

4. 下载功能——用户可以根据自己的贡献值,下载一定数量的音乐,并对音乐品质做出评论;游客则只能试听,无法下载;

5. 查找功能——用户可以按照音乐作品演唱(奏)者、风格、作曲者、专辑等信息查找自己感兴趣的音乐作品;

6. 网站统计、留言板等其他与音乐网站相关的功能。

(四)系统开发的意义

音乐网站,克服了传统音乐载体和设备的困难,使用户能够随时随地听到自己想听到的音乐,同时网络多媒体的出现也将音乐网站的内容扩展为音乐多媒体,使用户不再仅仅是听觉上的享受,而是视听的结合,同时对音乐的评价也使用户不再是一个人去欣赏音乐,而是能将自己的感受说出来与大家一起分享。

HTML 作为一种样式语言,随着Internet 上信息量的增多和交互性的加强使HTML 显得越来越难以胜任的情况之下,在JSP 编程语言高度发展的形式下,我们开始了对动态网站系统的开发。动态网站又将音乐网站再提升一个档次,动态音乐网站能够实时更新数据库内容,让用户时刻能够看到最新的内容,这让音乐网站的实现更加具有现实意义了。

用户可以免费在本网站对音乐进行交流,可以通过对不同音乐的爱好来建立相应的自定义专辑,以便其他有相同爱好的用户可以更便捷的找到对应的音乐,同时,这样也提高了本网站对用户加大权限的效果,使用户有一种类似于管理员的感觉,因为可以按照自己的想法来创建、添加并且发布信息,增强了用户的体验和享受。通过众多用户的交流,增加音乐的存储量,从而吸引更多的用户注册成为会员,增加了受众群体,形成一个非常良性的循环。但是,众多的用户都上传音乐,不免会有重复的音乐出现,这时就需要管理员对其进行管理,减少文件的冗余,优化网站。

作为一个供众多用户免费交流的网站,并不是做亏本的生意,随着大量网友的参与,以及点击率的增加,可以招商进行广告位的出售,通过在网页上加载各个公司的广告来维持网站运营所需的资金,从而获得利益。而广告商之所以会在本网站进行广告的投放,就取决于本网站是否具有较大数量的会员、用户,以及较高的点击率。而要想拥有这些吸引广告投资商的资本,就要通过对用户增加较多的权限来实现。所以,充分考虑到这一点,使本音乐网站的建立更具有现实意义。

二、系统相关技术

本章将讨论课题研究所涉及技术领域的相关技术进行简要介绍。

(一)Browser/Server体系

B/S结构的软件是相对传统的C/S结构而言的。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各自完成相应的计算工作,服务器端保存数据库。B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护)。客户端运行程序是靠浏览器软件登陆服务器进行的。客户端在浏览器里完成一定的计算任务。在此模式中,核心的一点就是用通用的浏览器取代了原来的客户端程序。B/S模式虽然只对C/S模式做了少许变动,但带来了巨大的好处:应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了;所有的配置工作都集中在服务器端,提高了系统的安全性。B/S模式体系结构的原理如图2-1所示,浏览器通过Web Server 同数据库进行数据交互。

图2-1 B/S模式体系结构原理图

B/S结构的优点:

1. 具有分布性特点,可以随时随地进行查询、浏览等业务处理。 2. 业务扩展简单方便,通过增加网页即可增加服务器功能。 3. 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 4. 开发简单,共享性强。 B/S结构的缺点:

1. 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 2. 个性化特点明显降低,无法实现具有个性化的功能要求。 3. 页面动态刷新,响应速度明显降低。

4. 功能弱化,难以实现传统模式下的特殊功能要求。

从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种二层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(Hyperlik )、HTML 、Java 的三层或多层C/S结构,客户端仅需单一的浏览器软件,是一种全

新的体系结构,解决了跨平台的问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internrt 环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。

(二)JSP 技术

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似ASP 技术,它是在传统的网页HTML 文件(*.htm,*.html)中插入Java 程序段(Scriptlet)和JSP 标记(tag ) ,从而形成JSP 文件(*.jsp) 。

JSP 技术使用Java 编程语言编写类XM L 的tags 和scriptlets ,来封装产生动态网页的处理逻辑。网页还能通过tags 和scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。

Web 服务器在遇到访问JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP 文件中的HTML 代码一起返回给客户。插入的Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP 是在服务器端执行的,通常返回该客户端的就是一个HTML 文本,因此客户端只要有浏览器就能浏览。

JSP 页面由HTML 代码和嵌入其中的Java 代码所组成。服务器在页面被客户端请求以后对这些Java 代码进行处理,然后将生成的HTML 页面返回给客户端的浏览器。JSP 具备了Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

[2]

(三)Mysql 简介

MySQL 是一个精巧的SQL 数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API )以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache 和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。

MySQL 是一个真正的多用户、多线程SQL 数据库服务器。SQL (结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld 和很多不同的客户程序和库组成。

SQL 是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL 语言为一个网站检索产品信息及存储顾客信息,同时MySQL 也足够快和灵活以允许你存储记录文件和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL 服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL 就开发出来。

MySQL 数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB 的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能: 减少记录编档的时间、 减小记录检索时间、灵活的查找序列、灵活的输出格式、多个用户同时访问记录。

(四)MyEclipse 开发平台

MyEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,MyEclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT )。

虽然大多数用户很乐于将MyEclipse 当作 Java IDE 来使用,但MyEclipse 的目标不仅限于此。MyEclipse 还包括插件开发环境(Plug-in Development Environment ,PDE ),这个组件主要针对希望扩展MyEclipse 的软件开发人员,因为它允许他们构建与MyEclipse 环境无缝集成的工具。由于 MyEclipse 中的每样东西都是插件,对于给MyEclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

MyEclipse 是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle 在内的许多大公司也纷纷加入了该项目,并宣称MyEclipse 将来能成为可进行任何语言开发的IDE 集大成者,使用者只需下载各种语言的插件即可。

三、系统分析

(一)需求分析

需求分析是软件定义部分最后一个流程,它的基本任务是准确地回答“系统必须做什么”这个问题,它对目标系统提出了完整、准确、清晰、具体的要求。

本网站是要打造一个免费、开放的音乐交流平台,主要用户为国内广大音乐爱好者和对音乐有特殊需求的个人。

对于网站,都必须有固定的服务器让用户进行访问,用户的访问在本系统中会记录相关信息。网站有后台管理员,管理员可以对网站内容及用户进行添加删除标记操作(本站对用户和作品的删除时不会从数据库中直接删除)。

对于用户,都可以对本站内容进行浏览,但是对专辑的建立,音乐的本地下载等会做出限制。普通用户注册后可以成为会员,会员可以享受这些服务。用户可以修改自己的密码,但是不能修改其他信息;会员可以查询自己的账户信息,上传自己的作品。

在功能实现方面,用户可以根据音乐找到对应的专辑信息;根据专辑可以查询出该专辑下在本网站收录的所有曲目;根据上传的作品可以查询到该作品的信息(包括上传人的信息);可以查询歌曲库内热门的歌曲(根据点击人数确定);根据上传时间查询最新上传的作品;视听音乐作品的时候能够显示该作品的评论信息;并且可以新增对音乐的评论;用户可以根据自己的喜好心情等建立自己的专辑并添加专辑说明,让有同样要求的人可以根据表述找到专辑。

(二)可行性分析

1.技术可行性

本网站的设计是基于MVC 模式的Web 项目开发,项目使用的是目前主流的struts+hibernate框架进行的开发,使用tomcat 作为服务器。

struts 是Apache 软件基金会(ASF )赞助的一个开源项目。最初是Jakarta 项目中的一个子项目,并在2004年3月成为ASF 的顶级项目。通过采用Java Servlet/JSP 技术,实现了基于Java EE Web应用的Model-View-Controller 〔MVC 〕设计模式的应用框架〔Web Framework〕,是MVC 经典设计模式中的一个经典产品。

Hibernate 是一个开放源代码的对象关系映射框架,对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP的Web 应用中使用,最具革命意义的是,Hibernat e 可以在应用EJB 的J2EE 架构中取代CMP ,完成数据持久化的重任。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat 是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache 、Sun 和其他一些公

司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

开发环境方面,使用MyEclipse 平台进行开发,MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse )是对Eclipse IDE 的扩展,利用它我们可以在数据库和JavaEE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML , Struts , JSF , CSS , Javascript , SQL , Hibernate 。

在结构上,MyEclipse 的特征可以被分为7类: (1)JavaEE 模型 (2)WEB 开发工具 (3)EJB 开发工具

(4)应用程序服务器的连接器 (5)J avaEE 项目部署服务 (6)数据库服务 (7)MyEclipse 整合帮助

对于以上每一种功能上的类别,在Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

以上环境和框架现在都已成熟,在Java 开发中都占主导地位,对应资料齐全,开发流程简便。 而网站性能则主要体现在页面响应时间上,页面响应时间主要跟服务器响应时间、网络传输速度、本地计算机处理速度相关,但现在本地计算机处理速度的影响可以忽略。所以提高网站性能的就是提高网络传输速度和提高服务器响应时间,由于音乐等多媒体文件的体积较大,所以网站的服务响应时间可以适当增加,但应保持在5秒以下,数据要尽量处理好后再与服务器进行交互,不需要整个页面更新的应采取异步方式与服务器交换数据。

综上所述,本项目技术方面可行性通过。 2.社会可行性

目前越来越多的应用程序都已经转向基于Web 的开发,并且Internet 已经广泛使用。越来越多的网民开始注重自己的享受,在上网过程中希望可以得到身心的愉悦感,对于上网过程中能够听到自己喜欢的音乐有很大的要求。而在自己享受快捷的搜索方式时,还希望自己可以参与其中看,这就需要一个交互的平台来实现这些功能,而本系统正是承载这些内容的平台。所以系统的设计具有社会可行性。

[4]

3.经济可行性分析

在经济方面开发所用框架和服务器全部都是免费开源软件,不会对项目的开发造成经济负担,本网站开发硬件要求奔腾586以上机型,4G 以上硬盘空间,512M 以上内存,这个配置在今天基本都能达到,所以在硬件上不需要太高的经济投入,只需普通PC 机就能完成开发和部署的任务,所以经济可行性通过。

4.法律可行性

本系统在开发过程中,不存在任何知识产权问题,所有的技术资料都是合法的,虽对其他现有音乐网站的技术等进行过参考,但并未对其进行抄袭,本网站所有的界面均为原创,也就是说,本系统在开发过程中未涉及任何法律责任问题,所以法律可行性通过。

本系统具有较好的可维护性、可靠性、可理解性,并具有较高的工作效率,易于用户对本系统进行理解和操作。可维护性包括了可读性、可测试性等;可靠性包括正确性和健壮性等。在本系统的开发过程中,充分考虑到各种限制条件,包括开发时间、开发经费、可用的软硬件资源等,并始终贯彻以最小的投入获得最大收益的原则,较好的完成了系统的设计与开发。

综上所述,本项目开发计划方案合理可行、立项依据充分、项目是可行的。

(三)系统业务流程分析

根据需求分析,我们分析出音乐网站的一般业务流程。

在网站的前台,用户直接可以进行音乐网站内容的浏览以及音乐的试听和查询,注册登录后可以对音乐等进行上传、下载、评论等。

在系统的后台管理中,管理员登录系统维护网站信息,进行音乐、图片等的添加、修改及删除。 业务流程图符号说明:

表示处理过程;

表示生成的文档; 表示信息传输的过程及方向。

图3-1 系统总体业务流程图

(四)数据流程分析

数据流程图:数据流程图(简称DFD )是便于用户理解的系统数据流程的图形表示,它能精确的在逻辑上描述系统的功能,输入,输出和数据存储等,而摆脱了其物理内容,是描述管理信息系统逻辑模型的最主要的工具。

数据流程图符号说明:

表示外部实体; 表示数据的处理过程;

表示数据存储;

表示数据流的方向,文字是对数据流的描述

图3-2系统总体数据流图(第一层)

1. 第二层数据流程图

依据第一层数据流程图,对整个苏摩音乐网站流程进行详细的描述,得到第二层数据流程图,如图3-3所示。

图3-3 系统总体数据流图(第二层)

2. 第三层数据流程图

依据二层数据流程图,对各个具体处理过程进行分析,得到部分模块的底层数据流程图,如下图所示:

图3-4 会员管理数据流图(第三层)

图3-5 音乐信息管理数据流图(第三层)

图3-6 排行榜数据流图(第三层)

图3-7 专辑信息数据流图(第三层)

图3-8 心情信息数据流图(第三层)

图3-9 评论管理数据流图(第三层)

3. 数据字典

数据字典是对系统中数据的详尽描述,是系统数据的清单。他提供对数据描述的集中管理,目的是对收集的数据进行标准化、统一化管理,使数据有统一定义的名称、格式和含义,其除了保存数据名、类型、长度、精度等有关信息外,还包括了数据的流向描述、数据加工的描述等等。在本系统中,数据字典是非常重要的自然数据。下面对其做详细的介绍、如下表 (1)数据元素定义

表3-1 数据元素定义

[9]

(2)数据结构定义

数据结构是构造数据流、数据存储结构的基础和依据,是整个计算机系统数据处理的的关键内容之一。根据我们系统所要实现的功能和算法的要求,我们定义了以下几个数据结构:

表3-2 数据结构定义

(3)数据流定义

数据流表示是业务活动中流动的数据,可以表示业务活动中的发票、表格、表单、单据、报告、报表、信件等等。它代表了系统中数据处理(加工)的输入和输出。

表3-3 数据流定义

(4)处理过程描述

处理过程完成了对数据的加工处理,它必须实现对数据的变换,即把输入变成输出。

表3-4 处理过程描述

(5)数据存储结构定义

数据存储以文件、表格形式来存储数据,以供用户访问,必须定义出存储的结构。

表3-5 数据存储定义

(6)外部实体的定义

外部实体是在系统边界以外与系统有联系的事物(人或单位、角色)。它是系统的最原始的数据来源及最终的数据去向。

表3-6

外部实体定义

四、系统设计

(一)系统功能设计

1.系统总体规划

本网站按照需求开发,可分为一下几个模块:注册模块、登录模块、增加音乐模块、增加专辑模块、增加自定义专辑模块、音乐查找模块,网站具体模块图如图3.1所示。

图4-1音乐网站系统功能模块图

2.注册模块功能介绍

作为音乐网站的用户,需要注册成为本网站的会员才能享受到网站的所有权利,注册就是使普通用户变成会员的途径,本模块主要完成的任务是提示用户添加自己的基本信息,将用户信息添加到数据库。

3. 登录模块功能介绍

用户注册成为本站会员后就可以登录本网站了,在此模块会判断用户是不是本站注册会员,会判断用户的用户账号和密码是否匹配,如果匹配则将用户信息显示出来并可以执行其他操作,如果不匹配会提示用户输入用户账号和密码错误。登录后用户可以选择修改自己的个人资料。

4. 增加专辑模块功能介绍

增加专辑就是创建一个音乐的固有专辑,好让用户在上传音乐作品的时候能将音乐加入到对应的专辑里面。此模块会让用户输入一些专辑的基本信息,比如专辑名、专辑发行时间等,在添加专辑封面时还应该有图片预览功能,创建专辑不存在或专辑重名不能插入数据库的问题。增加自定义专辑模块功能同增加专辑模块。

5. 上传音乐模块功能介绍

上传音乐是网站增加音乐的主要方式,用户选择自己的音乐,并选择该音乐所属专辑,最后上

传音乐。

6. 音乐查找模块功能介绍

音乐查找是音乐网站的核心,音乐网站应该提供按照音乐名和音乐出品人查找这两种最基本的音乐查找方式,除了这两种基本查找音乐方式外还应有按照专辑查找,按音乐类型查找,按音乐地区查找等查找方式。音乐查找结果最后列表显示,用户点击对应属性链接可以实现按照这个属性查找或者排序。点击对应的音乐名可以试听音乐。

(二)系统架构设计

网站架构设计遵循MVC (Model-View-Control )开发模式,开发框架采用Struts+Hibernate,数据库使用Mysql 下的root 用户,页面视图显示统一使用JSP/HTML,页面样式尽量采用CSS 样式表进行约束,页面脚本统一使用JavaScript 。

模型层只封装数据库Hibernate 代理的数据库对象,不进行其他逻辑处理和数据运算。 传递控制由Struts 的Action 来处理,Action 获取和传递页面数据,但是要尽量避免在Action 内处理业务相关逻辑,业务逻辑和数据的处理由Servers 层负责,数据库交互使用Hibernate 做代理,在数据库交互层只涉及对象的存储查询操作。

数据库使用JDBC 进行连接。

[6]

(三)数据库设计

数据库是音乐网站的核心组成部分,所有信息处理子系统都将基于某种数据库平台,以便将其处理的信息资源完整、安全地保存起来,并且对其进行各种管理和利用。选择一个好的数据库平台是非常重要的。在选择数据库平台时,应考虑下列因素:

(1)性能:数据库的数据处理能力;

(2)开放性:数据库是否能在多种操作系统下使用; (3)安全性:数据库是否具有高度的安全性; (4)可靠性:数据库是否具有高度的可靠性; (5)并行性:数据库是否并行运行在多节点上; (6)可操作性:数据库在使用前是否需要复杂的培训。

根据本网站开发应用的实际需要,我们选择了MYSQL 作为数据库开发平台。 1.数据库概念结构设计

由于实体属性较多,此处主要体现了各个实体间的关系,详细设计见数据库设计中表结构的字段。如下图所示:

[7]

图4-2 数据库概念结构设计E-R 图

图4-3 实体设计E-R 图

2.数据库逻辑结构设计

根据实体属性及其产生的行为,从实际需要出发,同时又考虑各实体间的联系和统一性,设计出如下各表。

(1)admin 表admin 表是用来存放管理员信息的表,管理员信息包括用户账号、密码等信息。Admin 表结构如表4-1所示。

表4-1 admin表结构

(2) User 表。User 表是用来存放用户信息的表,用户信息除了包括用户账号、密码、昵称等信息还包括机箱选填信息,User 表结构如表4-2所示。

表4-2 User表结构

(3)Music 表。Music 表是存放音乐信息的表,此表将音乐的属性简单描述,包括音乐类型、地区、音乐名等常见属性,此表设置代理主键(自增)作为主键,这个主键也是其他音乐关联表的外键,表结构如表4-3所示。

表4-3 Music表结构

(4)Cliplist 表。该表用来存放音乐固定专辑(唱片公司发行的)信息,由于本网站规模和本人对专辑认识的限制,对专辑属性的设置相对比较简单。因为专辑英语音乐术语“多对多”关系,所以在此表中不设置与音乐的关联,将关联写至Cm 表,Cliplist 表结构如表4-4所示。

表4-4 Cliplist表结构

(5)Cm 表。该表是music 表和cliplist 表的关系表,用来处理音乐和专辑的关系,这里一个音

乐作品可以属于多个专辑,同时一个专辑包含多个音乐作品。Cliplist 表结构如表4-5所示。

表4-5 Cm表结构

(6)Diyclip 表。该表用来存放自定义专辑信息,包括自定义专辑的名称、描述、封面等信息,自定义专辑是由用户自己创建并添加歌曲而形成的一个对象。Diyclip 表结构如表4-6所示。

表4-6 Diyclip表结构

(7)DiyCm 表。该表用来存放自定义专辑和音乐之间的关系,通俗的说就是自定义专辑包含哪些音乐,某个音乐都在哪张自定义专辑里。这里的两个外键分别对应音乐表和Diyclip 表的两个主键,但是并不以这两个外键做联合主键,而是声明一个代理主键。DiyCm 表结构如表4-7所示。

表4-7 DiyCm表结构

(8)Observetomusic 表。该表记录的是用户对音乐作品评价信息。包括会员对音乐的评价内容、评价时间。同时还记录其他用户对词乐评的评价(同意或者反对),并以此作为此音乐的推荐程度。对乐评,管理员可以直接删除不和要求的内容,所以不设置标记属性。Observetomusic 表结构如表4-8所示。

表4-8 Observetomusic表结构

(四)输入输出设计

1.输入设计

输入设计的原则:

最小量原则,输入量越小,出错机会越少,花费时间越少,数据一致性越好;

简单性原则,输入的准备、输入过程应尽量容易以减少错误的发生。

早检验原则,对输入数据的检验尽量接近原数据发生点,使错误能及时得到改正。

少转换原则,输入数据尽量用去处理所需形式记录,以免数据转换介质时发生错误。

本系统输入输出设计的简单布局图如图4-4所示:

用户名密码

创建专辑

专辑名称

出品人

[8]发行时间

发行公司

图4-4 输入输出设计布局图

本系统的输入界面图例如下:

(1)注册:会员在此界面下输入帐号、密码进行注册。在输入帐号进行注册时,系统会验证

输入是否重复。注册界面如图4-5所示。

图4-5会员注册界面图

(2)创建专辑和自建专辑:登录进入网站后,可创建歌手本有的固定专辑或者根据自己的喜

好创建自定义专辑,以便下次查找方便,创建专辑界面如图4-6所示,自建专辑界面如图4-7所示。

图4-6创建专辑界面图

图4-7自建专辑界面图

(3)作品上传:登录进入网站后,可上传音乐作品至专辑或着单曲中,并选择相应的类别为

按各种类别查找音乐做准备,上传作品界面如图4-8所示。

图4-8 作品上传界面图

(4)音乐评论:登录进入网站后,可对音乐进行试听、下载,并且可以对音乐进行评论,音

乐评论界面如图4-9所示。

图4-9 音乐评论界面图

2.输出设计

输出设计主要包括以下几方面的内容:确定输出内容;选择输出设备与介质;确定输出格式。

在输出界面的设计上,我们将主要数据以日常通用的格式呈现在屏幕上, 方便用户的查阅, 以及

管理员进行修改。

本系统的输出界面图例如下:

(1)专辑展示:专辑创建成功后会自动添加成功到专辑展示界面,通过上传音乐到本专辑后,

即可在专辑展示界面进行查看。专辑展示界面如图4-10所示。

图4-10 专辑展示界面图

(2)心情音乐:自定义专辑创建成功后会自动添加成功到心情音乐展示界面,将喜爱的歌曲

添加到自定义专辑后,即可在心情音乐界面进行查看。心情音乐界面如图4-11所示。

图4-11 心情音乐展示界面图

(3)输出音乐:音乐上传成功后,根据其不同的类别可进行相应的查看,例如按照同一种语

言进行选择得到如下列表。输出界面如图4-12所示。

图4-12音乐查看界面图

(3)输出评论:评论添加成功后,会在当前歌曲的播放界面显示出来。输出评论界面如图4-13

所示。

图4-13 评论查看界面图

五、系统实施

本系统采用JSP+MYSQL进行开发,是本系统运行需要的软件环境为:操作系统为Windows

7/XP,系统测试需要Web 应用服务器Tomcat 。

打开IE 浏览器,输入http://localhost:8080/sumomusic,回车即可预览。

本系统用数据库作为后台需要强大的数据库支持,所以采用MYSQL 数据库。

(一)系统的运行环境和开发平台

1.系统运行的硬件设备及操作系统

CPU 推荐Pentium 或更高的处理器;

512Mb 以上的内存;

标准的VGA 显示或更高分辨率的显示器;

鼠标、键盘等外设;

Windows 7、WindowsXP 或更高版本。

2.系统开发平台

操作系统:Microsoft Windows 7

开发环境:Myeclipse 6.5、Tomcat 6.0.32

数据库:MYSQL

3.系统运行环境配置

下面介绍JDK 及Tomcat 的安装。

(1)JDK的下载与安装

本系统采用的是JDK 1.6版本,读者可到Sun 公司的官方网站下载。下载过程如下:

①打开IE 浏览器,在地址栏中输入“http://java.sun.com/javase/downloads/index.jsp”,进入下载

页面。

②单击Downloads 按钮进入JDK 下载页面,在该页面中用户需要选中Accept License Agreement

单选按钮接受许可协议后,才可以下载。

③根据使用的操作系统来下载相应的JDK 安装文件,选择的是在Windows 系统下的JDK 安装

文件,单击Windows offine Installation,Multi-language超链接进行下载。

下载后的文件名称为jdk-6u3-windows-i586-p.exe ,双击该文件即可开始安装。具体安装步骤

如下:

①双击jdk-6u3-windows-i586-p.exe 文件,在弹出对话框中,单击“接受”按钮,接受许可证协

议。

②在弹出的“自定义安装”对话框中,单击“更改”按钮更改安装路径,其他保留默认选项,

如图5-1所示。

③单击“下一步”按钮,开始安装。

④在安装的过程中,会弹出另一个“自定义安装”对话框提示用户选择Java 运行时环境的安

装路径。单击“更改”按钮更改安装路径,其他保留默认选项,如图5-2所示。

图5-1 选择JDK 安装路径 图5-2 选择JRE 安装路径

⑤单击“下一步”按钮继续安装。

⑥单击“完成”按钮完成安装。

JDK 安装完成后,需要设置环境变量及测试JDK 配置是否成功。操作步骤如下[12]:

①右击“我的电脑”,选择“属性”命令。在弹出的“系统特性”对话框中选择“高级”选项

卡,并单击“环境变量”按钮。

②在弹出的“环境变量”对话框中,单击“系统变量”区域中的“新建”按钮新建变量,将弹

出“新建系统变量”对话框。

③在弹出的“新建系统变量”对话框中,在“变量名”文本框中输入“JA V A_HOME”,在“变

量值”文本框中输入JDK 的安装路径“D:\JDK1.6.0_03”,如图5-3所示。单击“确定”按钮,完

成变量JA V A_HOME的创建。

④查看是否存在PA TH 变量,若存在则加入%JAV A_HOME%\bin值,如图5-4所示。

图5-3 创建JAVA_HOME变量 图5-4 编辑PATH 变量

若不存在,则创建该变量,并设置为%JAVA_HOME%\bin值。

⑤查看是否存在CLASSPA TH 变量,若存在则加入如下值:

.;%JAVA_HOME%\lib\ dt .jar ;%JAVA_HOME%\lib \tools .jar

若不存在,则创建该变量,并设置上面的变量值。

⑥接下来测试JDK 配置是否成功。在“运行”窗口中输入“cmd ”命令,进入MS-DOS 命令

窗口。进入任意目录下后输入“javac ”命令,按Enter 键后,系统会输出javac

命令的使用帮助信

息,如图5-5所示。这说明JDK 的配置成功,否则需要检查上面步骤的配置是否正确。

图5-5 输出javac 命令的使用帮助

(2)Tomcat的下载与安装

本系统采用的是Tomcat 6.0版本,读者可到Tomcat 官方网站下载。下载过程如下:

①打开IE 浏览器,在地址栏中输入“http://tomcat.apache.org”,进入Tomcat 官方网站。

②单击网站左侧Download 区域中的Tomcat 6.x超链接,进入Tomcat 6.x下载页面。在该页面

中单击Windows Service Installer(pgp,md5)超链接,下载Tomcat 。

下载后的文件名为apache-tomcat-6.0.14.exe ,双击该文件即可安装Tomcat 。具体安装步骤如下:

①双击apache-tomcat-6.0.14.exe 文件,弹出安装向导对话框,单击Next 按钮后,将弹出许可

协议对话框。

②单击I Agree 按钮,接受许可协议后,将弹出Choose Components 对话框,供用户选择需要

安装的组件,在这里保留其默认选项。

③单击Next 按钮,在弹出的Choose Install Location对话框中更改Tomcat 的安装路径.

④单击Next 按钮,在弹出的对话框中设置访问Tomcat 服务器的端口及用户名和密码,这里保

留默认配置,即端口为8080,用户名为admin ,密码为空。

⑤单击Next 按钮,在弹出的Java Virtual Machine对话框中选择Java 虚拟机路径,这里选择JDK

的安装路径。

⑥单击Install 按钮,开始安装Tomcat 。

⑦安装完成后,选择“开始”/“程序”/“Apache Tomcat 6.0/Monitor Tomcat”命令,在任务栏右侧的托盘中将出现图标,鼠标右击该图标,选择Start service命令,启动Tomcat 。

⑧打开IE 浏览器,在地址栏中输入“http://localhost:8080”,若出现图5-6所示的页面,则说明

Tomcat 安装成功[11]。

图5-6 Tomcat启动界面

(二)代码实现及运行图

此处附上系统部分重要界面运行截图,系统详细代码参见附录。

我的音乐网站页面,分了几个模块展示给访客,主要是音乐搜索和音乐列表等。访客可以根据首页的信息查询他们感兴趣的音乐,查询有几种方式可供访客参考,如音乐类型、音乐名称、歌手名称等。界面如图5-7所示。

图5-7 首页展示界面图

用户登录后,可以对专辑等进行管理,专辑管理界面如图5-8所示。

图5-8 专辑管理展示界面图

用户还可以根据各种不同的方法进行音乐的搜索,比如按照音乐的类型、地区、上传时间以及根据歌手名称和音乐名进行的精确查找,界面如图5-9所示。

图5-9 音乐搜索展示界面图

用户在搜索到相应的歌曲后,可以对歌曲进行试听、下载、以及评论歌曲的好坏,其界面如图5-10所示。

图5-10 音乐试听与评论展示界面图

众多的用户对音乐网站进行操作,难免会出现信息冗余的情况,就需要管理员对网站进行管理,从会员、音乐、专辑和自定义专辑方面来做出针对性管理,界面如图5-10所示。

图5-11 管理员后台管理界面图

(三)系统测试

在所有管理信息系统的开发和实施过程中, 系统测试是保证系统得以顺利运行的关键性一步, 它是提高软件质量和可靠性的有效手段。测试就是指用意在发现错误而执行一个程序的过程,所以一个好的测试用例就是系统的保证,它有很高的几率发现一个尚未发现的错误。而测试的关键问题就是如何设计测试用例。以下具体介绍测试的原则以及方法。

1.系统测试的原则

(1)所有的测试都应追溯到系统说明书,或者更进一步就是用户需求。我们的网站系统是面向广大的听众,所以我们在测试的时候必须尊重听众的需求。音乐网站主要是以提供好的音乐服务为主要目的,而提高服务的主要方法就是给听众提供满足他们需求的音乐。以上这些都是我们测试的内容。

(2)尽早地、不断地进行系统测试。由于系统的开发周期短,我们的开发人员必须尽早的进行系统测试,这样才能完成开发任务。

(3)系统测试是有风险的行为。只有通过测试才能使网站正常的运行,所以风险是必不可少的,多次的测试才能保证网站的稳定性。

(4)找到的错误越多,就说明系统的缺陷越多。

(5)除检查系统应完成的任务外,还应检查系统是否做了它不应该做的事。一个功能强大的网站必须经过多次的检验测试,才能正常运行,因为网络是很不稳定的,如果不经过深思熟虑的检测,很可能在运行的时候面临灾难性的损失。

(6)测试用例应包括输入数据和预期的输出结果。

(7)不仅要选用合理的输入数据作为测试用例,而且应选用不合理的输入数据作为测试用例。

(8)测试用例应长时间保留,直到这个程序被废弃

2.系统测试的主要内容

(1)功能测试;对浏览网站的每一个环节都要经过测试,才能保证各个功能的正常。

(2)性能测试;对系统的突变性、整体性、以及目的性都要进行仔细的检验。

(3)强化测试;多次的测试才能知道系统的强大,也能查处系统的错误,早早的处理,就可以避免造成生命财产的重要损失。

(4)安全测试:网站后台需要输入大量信息,因此数据的合法性至关重要。

3.系统测试的方法

测试方法有很多,如模块测试、联合测试、验收测试、系统测试。

(1)模块测试是对一个模块进行测试,根据模块的功能说明,检验模块是否有错误。一般由编程人员自己进行。

(2)联合测试是将整个系统作为一个整体进行调试。高层由上而下,低层由下而上,到中层进行会合。

(3)验收测试是检验系统说明书的各项功能与性能是否实现,是否满足要求。

[10]。

(4)系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验是否有不符合系统说明书的地方。

系统测试用例设计方法分为白盒法和黑盒法。

(1)白盒法测试也称逻辑驱动测试或称逻辑覆盖测试。使用白盒法需阅读程序内部的逻辑,并以此为基础设计测试用例。

(2)黑盒法也称数据驱动或输入/输出驱动法。测试者把程序看成一个黑盒,即完全不考虑程序内部结构和内部特性。测试者寻找使程序按规范运行的情况导出测试数据。也可以说黑盒法是根据程序的功能说明来设计测试用例。

4.系统测试计划

第一步:测试模块。这一部分工作主要在做项目的过程中完成,以保证每个模块作为一个独立单元能够正确运行。

第二步:联合测试。在各个模块完成后,再将各相关模块连接起来,进行联合测试,以保证各个单元模块能从整体上协调运作。

第三步:确认测试。经过联合测试后进行确认测试,进一步检查系统是否达到预期的全部要求,这一阶段除了对整个系统的功能、性能进行测试外,还要对配置进行检查,看构件的全部构成成分是否齐全,质量是否合乎要求。

5.系统测试用例

该网站系统系统采用黑盒法测试用例测试。如下表所示:

(1)测试管理员登录功能

表5-1 管理员登录测试表

(2) 测试音乐查询功能

表5-2 音乐查询测试表

结 论

经过两个多月的设计和开发,苏摩音乐网站基本开发完毕。本系统采用了B/S结构,以JSP 为开发技术,MYSQL 为数据库。系统包含了音乐的上传、搜索。专辑的创建以及自定义专辑的创建、音乐的下载和评论功能等。基本能够满足用户的需求。后台管理的设计则主要实现对系统各个功能的管理,维护和管理数据库的数据。总体来说,系统的功能比较全面,并具有较强的安全性。

在系统的整个设计开发过程中,我充分的意识到了系统需求分析在系统开发过程中的重要性。在这次系统的开发前期。我查阅了大量与音乐网站的设计与实现的信息,也观察了多个成熟音乐网站的模式,并进行实际的操作,切实的了解系统的用户需求。经过反复修改最终确定了系统的功能。系统需求分析与设计工作在这次开发中大约占用了半个月的时间,但是正是由于这样充分的准备使得我对整个系统的业务流程有了清晰的思路,这就为后面的系统的顺利实现提供了有力的保证。、

在系统开发过程中,我充分的利用在校四年所学到的专业知识,并通过查阅图书来完成对开发技术的深入学习,为我在系统的分析与实施打下了良好的基础,通过这次毕业设计的开发,我对管理信息系统有了更深入的了解,同时我也看到了自己在能力上的不足,需要在今后的工作中我会能通过不断的学习提高自己的系统开发水平。

当然,系统还有许多需要完善的地方,总的来说有以下几点不足:

1. 系统界面比较简单、单调,功能比较少。

2. 由于系统处于新生期,所以音乐种类不是很全,但随着网站的成熟,这些改变只是时间的问题。

总之,本次系统地开发是我的综合能力有了很大的提升,在开发的过程中不断提升自我学习能力,而且也锻炼了实际操作的能力,这对我今后的工作起着至关重要的作用。这些系统实施过程中存在的不足也将是我宝贵的财富,因为他们会提醒我要勤动脑,多动手。客户的需求可能一直在变,因此我们的系统只有具有很强的可扩充性和维护性,才能拥有强大的生命力。因此,在今后的工作中我会继续学习、继续奋斗,戏剧完善与充实自己。

参考文献

[1] 付京周. 精通Hibernate3.0-Java 数据库持久层开发实践[M]. 北京:人民邮电出版社,2007.34-36.

[2] 陈松. J2EE 电子商务系统开发. 计算机学报[J]. 2004(3):21-22.

[3] 叶健毅. 精通Java EE-整合应用案例[M].北京:清华大学出版社,2009.76-80.

[4] 孙卫琴. 精通Hibernate:Java对象持久化技术详解. 计算机学报[J]. 2007(4):35-44..

[5] 鲁晓东. JSP 软件工程案例精解[M].北京:电子工业出版社,2005.97-105.

[6] 王国辉,李立文,杨亮. JSP 数据库系统开发完全手册[M].北京:人民邮电出版社,2009.33-37.

[7] 陈鹏,程勇. J2EE 项目开发实用案例[M]. 北京:科技出版社,2007.54-70.

[8] 丁鹏. 论STRUTS 技术及WEB . 中国计算机科学[J]. 2009(4):329-357.

[9] 孙卫琴. 精通Struts :基于MVC 的Java Web设计与开发[M].北京:电子工业出版社,2004.139-145.

[10]Tate, B. Bitter Java[M]. London:Manning Publications,2002:42-47.

[11]Eckel, B. Thinging in Java Third Edition[M].Beijing: Pearson Education, 2008:39-57.

[12] 张桂元. Struts 开发入门与项目实践[M]. 北京:人民邮电出版社,2005.132-167.

附 录

36

本科毕业论文(设计)

论文题目: 苏摩音乐公司音乐网站的设计与实现

学生姓名:

学 号:

专 业: 信息管理与信息系统

班 级:

指导教师:

完成日期: 2012 年 5 月 23 日

苏摩音乐公司音乐网站的设计与实现

内 容 摘 要

随着互联网和宽带上网的普及,音乐网站在中国异军突起,并日益渗透到人们的日常生活当中,丰富了人们的生活,让大家可以足不出户即可欣赏到自己喜欢的音乐,同时也为广大音乐爱好者提供一个音乐交流的平台。

本系统以JSP 作为页面载体,以struts+hibernate作为架构框架进行开发,后台数据库使用Mysql ,在windows 环境下利用MyEclipse7.5进行开发,配合Dreamweaver CS3进行设计和实现,整个系统的设计,较好地考虑了数据库的安全性、一致性、稳定性和可靠性的问题;经过试运行,该系统能够在windows XP和windows 7中用IE9.0运行正常。

关键词:音乐网站 音乐上传 音乐下载

The SUMO Music Website Design and Implementation

Abstract

With the development of the Internet and Internet broadband surf, Websites rise abruptly in China and get into ordinary people's daily life gradually, enriching people's life and letting people enjoy their favorite music without going outside. At the same time, it also provide a vast platform for music lovers to exchange music information.

Using JSP page as carrier, struts and hibernate as architectural framework for development, using Mysql as backend database, MyEclipse7.5 to develop in Windows environment, and applying Dreamweaver CS3 to design, the whole system design considers the reliability , consistency and stability of the database security.The experiment results show the system can be used in a Windows Xp and windows 7 IE9.0 normally.

Key Words: music site music upload music download

目 录

序 言 . ........................................................ 1

一、系统规划 . ................................................. 2

(一)系统背景介绍 ......................................... 2

(二)网站策划 . ............................................ 3

(三)系统开发要求 ......................................... 4

(四)系统开发的意义 ....................................... 4

二、系统相关技术 . ............................................. 6

(一)Browser/Server体系 .................................. 6

(二)JSP 技术 ............................................. 7

(三)Mysql 简介 ........................................... 7

(四)MyEclipse 开发平台 ................................... 8

三、系统分析 . ................................................. 9

(一)需求分析 . ............................................ 9

(二)可行性分析 ........................................... 9

1.技术可行性 ........................................... 9

2.社会可行性 .......................................... 10

3.经济可行性分析 ...................................... 11

4.法律可行性 .......................................... 11

(三)系统业务流程分析 .................................... 11

(四)数据流程分析 ........................................ 12

1.第二层数据流程图 .................................... 13

2.第三层数据流程图 .................................... 13

3. 数据字典 . ........................................... 15

四、系统设计 . ................................................ 21

(一)系统功能设计 ........................................ 21

1.系统总体规划 ........................................ 21

2.注册模块功能介绍 .................................... 21

3. 登录模块功能介绍 .................................... 21

4. 增加专辑模块功能介绍 ................................ 21

5. 上传音乐模块功能介绍 ................................ 21

6. 音乐查找模块功能介绍 ................................ 22

(二)系统架构设计 ........................................ 22

(三)数据库设计 .......................................... 22

1.数据库概念结构设计 .................................. 22

2.数据库逻辑结构设计 .................................. 23

(四)输入输出设计 ........................................ 26

1.输入设计 . ........................................... 26

2.输出设计 . ........................................... 27

五、系统实施 . ................................................ 28

(一)系统的运行环境和开发平台 ............................ 28

1.系统运行的硬件设备及操作系统 ........................ 28

2.系统开发平台 ........................................ 28

3.系统运行环境配置 .................................... 28

(二)代码实现及运行图 .................................... 31

(三)系统测试 . ........................................... 32

1.系统测试的原则 ...................................... 32

2.系统测试的主要内容 .................................. 32

3.系统测试的方法 ...................................... 32

4.系统测试计划 ........................................ 33

5.系统测试用例 ........................................ 33

结 论 . ....................................................... 34

参考文献 . .................................................... 35

附 录 . ...................................................... 36

序 言

互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活、娱乐等各个方面发挥着重要的作用。人们在利用网络学习的同时,也享受着网络带来的各种附带产品所产生的效应,如网络游戏、网络歌曲等。音乐网站正是在这样的需求下应运而生。给人们的日常生活带来了极大的乐趣,让人们在繁忙疲惫的工作之余可以进行休闲享受。

苏摩音乐网站是一个界面友好的音乐交流下载网站,使得用户可以将自己喜爱的歌曲分享给众多网民,同时也可以下载分享其他人的音乐,还可以根据自己的喜好来建立自定义专辑,充分考虑到用户的需求,提供了更加便捷的服务。

本文主要介绍了音乐网站的需求分析、概要设计、详细设计,详细阐述了用户的注册和登录管理、对音乐的上传、下载、专辑归类、音乐的分类查找等功能的具体实现过程;最后通过系统测试分析,给出了结论。

一、系统规划

(一)系统背景介绍

随着计算机技术的不断发展,互联网逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体Internet 。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。

目前,音乐网站从传播形式来看,大致可分为三类:有固定网址的音乐网站、搜索类音乐网站、P2P 类音乐网站,三者功能各异,互为补充。

有固定网址的音乐网站在数量上占绝对优势,因为这是网站存在的基本形式。这类网站在规模上大小不一,建站者主要是音乐爱好者、单位集体、政府官方的文化部门。打开www.5566.org 这类网址荟萃中的音乐类时,会有将近150个音乐网站名称出现在眼前。这类被集中起来的网站基本上都是规模较大、内存丰富、点击率较高的专业音乐网站。这些网站本身就是独立的公司产品,或者是有较强财力支持的单位集体、官方部门建立的宣传网站。打开3721网站搜索引擎,搜索“音乐”,将会出现800多个音乐网站其中绝大部分的内容都是流行音乐,但多数规模较小,内容有所侧重,多位乐迷个人网站。另外。除了独立的音乐网站之外,还有相当数量的音乐网站存在于某些综合类网站的子栏目当中,如各门户网站与各地市的信息港中的音乐栏目、各校园网的娱乐栏目等等。此类音乐网站数量繁多,难以统计。

搜索类音乐网站从严格意义上讲并不是独立的网站,因为它本身不像有固定网址的音乐网站那样有自己的音乐文件数据库,它的特点仅仅在于能够在瞬间找到你所需要的音乐的下载地址,但是这恰恰是她最吸引人的地方。“百度”(www.baidu.com )与雅虎名下的“一搜”(www.yisou.com )就是这样的网站。在这种网站的MP3搜索引擎里输入歌曲名称当中的任何字词。便能搜索到所有包含这个字词的所有歌曲目录。虽然在某些专业音乐网站中也有搜索引擎,但是搜索范围仅限于该网站本身的音乐文件数据库,而百度和一搜的搜索范围却是整个网络世界!因此在搜索的名称目录中,你甚至可以从版本、文件格式、文件大小、传输速度等方面进行选择,这也体现出了有固定网站的音乐网站所不具备的人性化特点。

P2P 类音乐网站是近年来刚刚出现的以P2P 技术与音乐网站相结合为特点的新事物。P2P 是英文peel-to-peel 的缩写,直译为“伙伴到伙伴”。这种技术是网络文件传输方式的革新,同时也改变了人们对网络的理解和认识。音乐网站利用了P2P 技术后,人们获取音乐的方式不再是从网站上下载,而是网友与网友之间的交流或交换。如同打电话一样,不但省略了中间环节,拜托了网站形式与内容的限制,而且实现了人与人之间直接交流:每个人都有自己的音乐文件数据库,每个人都可以到别人电脑里的音乐文件数据库去寻找和下载音乐。如“KURO 酷乐”(www.kuro.com )。当你登陆到这个网站的时候,并没有传统网站那样的歌曲列表给你选择下载,你必须下载相应的P2P 类传输软件,这个软件运行后类似一个浏览器,在里面你可以是使用类似“百度”的搜索引擎在别人

电脑里搜索你需要的音乐,当然,你的音乐库也被共享。这样,每个装有该软件的电脑都是服务器,都是奉献着,也都是受益者,因此,这种网站其实只是提供了共享、查找、交流的平台,本身并不提供歌曲来源。

作为音乐的网络载体,音乐网站在创作、传播、欣赏方式等方面对音乐的发展都产生了前所未有的影响。

1. 电脑网络技术的发展使人们通过流行音乐网站接触到了更多的音乐。

中国因特网发展主要指标中,上网计算机的台数从1997年10月的29.9万台增加到2004年6月30日的3630万台,而截至2009年6月,中国网民规模达到3.38亿。与音乐相关的音频、视频、图片、文字等内容,作为重要的娱乐性网络信息,通过数据库的形式被存储和传播,人们不仅能够转瞬间免费接触到热门歌曲,而且还可以找到广播节目不会播放的歌曲,从尘封的记忆中找出昔日的老歌。只要你有时间,网络中不计其数的音乐歌曲就是你的。

2. 网民数量的激增使更多的人们通过音乐网站接触到了流行音乐。

1997年10月中国上网的人数仅为62万,然而截至2004年6月30日,中国上网人数达到了8700万。其中,18岁以下占17.3%,18-24岁占36.8%。这两个年龄段百分比之和为54.1%,而对音乐非常关注的人群也主要处于这两个年龄段。如果把青年的年龄划分放宽到30岁,那么,30岁以下网民人数百分比则是70.5%.从职业角度来看,最为关注音乐的学生,在网民百分比中所占比例最大,为31.9%。而在2009年6月的调查中,青少年网民规模为1.75亿人,占总体网民比重的51.8%。从以上数据可以了解,随着网民数量的逐日激增,尤其是对网络技术和流行音乐较为关注的青少年网民数量的增加,无疑将促动音乐网站的建设,也必将促进流行音乐的发展。

3. 音乐网站刺激了音乐的传播

从传播方式角度讲,流行音乐网站中的流行音乐其传播速度与广度超越了其他任何传播形式。从经济角度讲,流行音乐网站的免费下载与保存功能将传统的购买欣赏方式落在了后面:从传播主体角度讲,传播者与受众在身份角色上相互转化,具有极强的交互性;从传播数据的数量上讲,规模庞大的音乐网站中的音乐远比一个音像商店的储备齐全。

4. 音乐网站使音乐的欣赏方式发生了改变

音乐网站不但刺激了音乐的传播,并且也刺激了电子数码产品的频繁更新换代,各种精巧便携的大容量MP3以及MP5等播放器已经在青少年中普及,配合音乐网站的数据存储功能,在欣赏方式上真正实现了更长时间、更多数量、更为便捷的特点。

音乐网站的建设不但具有多样化的特点,而且更倾向于朝着人性化方向发展。它所提供的内容不但包括歌曲(音频和视频)、歌词、在线试听、下载服务、甚至提供了人与人之间的交流平台,随着网络技术与多媒体电脑的日渐普及,流行音乐网站必然会对流行音乐的发展有着深刻的影响。 [7]

(二)网站策划

为了能够制作一个优秀而且迎合广大用户却又新颖实用的音乐网站,我首先查看了一些相关信息,参考了其他音乐网站的设计,如一听音乐网等,并做了一个调查问卷,根据调查结果大体上确

定了整个网站的框架和一些具体内容。

确定好网站的大体框架后,下一个步骤就是做一个网站规划,这个步骤非常重要,是建设网站的前期工作。这包括要明确建设网站的目的,确定网站的功能、规模等。只有详细的规划,才能避免在网站建设中出现很多问题,使音乐网站的建设能够顺利进行。

首先,建设本网站的主要目的是为广大音乐爱好者和音乐发烧友提供一个交流平台,使广大的用户在体验高质量的音乐服务时也能将自己的感受分享出来,所以,在功能上除了提供了下载、试听、搜索等功能外,还允许用户上传自己喜爱的音乐到本网站,供大家分享。

(三)系统开发要求

如今音乐网站林立,各大音乐网站都有自己不同的功能,本次毕业设计要完成的网站属于综合试听下载类音乐网站,同其他同类音乐网站类似,本网站须实现以下功能:

1. 管理员登录——对音乐、专辑、用户信息等进行管理;

2. 用户注册及登录——需为各级用户实现注册及登录功能,同时设置用户相应的访问权限;

3. 上传功能——用户可以上传音乐资源,并修改其相关信息;

4. 下载功能——用户可以根据自己的贡献值,下载一定数量的音乐,并对音乐品质做出评论;游客则只能试听,无法下载;

5. 查找功能——用户可以按照音乐作品演唱(奏)者、风格、作曲者、专辑等信息查找自己感兴趣的音乐作品;

6. 网站统计、留言板等其他与音乐网站相关的功能。

(四)系统开发的意义

音乐网站,克服了传统音乐载体和设备的困难,使用户能够随时随地听到自己想听到的音乐,同时网络多媒体的出现也将音乐网站的内容扩展为音乐多媒体,使用户不再仅仅是听觉上的享受,而是视听的结合,同时对音乐的评价也使用户不再是一个人去欣赏音乐,而是能将自己的感受说出来与大家一起分享。

HTML 作为一种样式语言,随着Internet 上信息量的增多和交互性的加强使HTML 显得越来越难以胜任的情况之下,在JSP 编程语言高度发展的形式下,我们开始了对动态网站系统的开发。动态网站又将音乐网站再提升一个档次,动态音乐网站能够实时更新数据库内容,让用户时刻能够看到最新的内容,这让音乐网站的实现更加具有现实意义了。

用户可以免费在本网站对音乐进行交流,可以通过对不同音乐的爱好来建立相应的自定义专辑,以便其他有相同爱好的用户可以更便捷的找到对应的音乐,同时,这样也提高了本网站对用户加大权限的效果,使用户有一种类似于管理员的感觉,因为可以按照自己的想法来创建、添加并且发布信息,增强了用户的体验和享受。通过众多用户的交流,增加音乐的存储量,从而吸引更多的用户注册成为会员,增加了受众群体,形成一个非常良性的循环。但是,众多的用户都上传音乐,不免会有重复的音乐出现,这时就需要管理员对其进行管理,减少文件的冗余,优化网站。

作为一个供众多用户免费交流的网站,并不是做亏本的生意,随着大量网友的参与,以及点击率的增加,可以招商进行广告位的出售,通过在网页上加载各个公司的广告来维持网站运营所需的资金,从而获得利益。而广告商之所以会在本网站进行广告的投放,就取决于本网站是否具有较大数量的会员、用户,以及较高的点击率。而要想拥有这些吸引广告投资商的资本,就要通过对用户增加较多的权限来实现。所以,充分考虑到这一点,使本音乐网站的建立更具有现实意义。

二、系统相关技术

本章将讨论课题研究所涉及技术领域的相关技术进行简要介绍。

(一)Browser/Server体系

B/S结构的软件是相对传统的C/S结构而言的。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各自完成相应的计算工作,服务器端保存数据库。B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护)。客户端运行程序是靠浏览器软件登陆服务器进行的。客户端在浏览器里完成一定的计算任务。在此模式中,核心的一点就是用通用的浏览器取代了原来的客户端程序。B/S模式虽然只对C/S模式做了少许变动,但带来了巨大的好处:应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了;所有的配置工作都集中在服务器端,提高了系统的安全性。B/S模式体系结构的原理如图2-1所示,浏览器通过Web Server 同数据库进行数据交互。

图2-1 B/S模式体系结构原理图

B/S结构的优点:

1. 具有分布性特点,可以随时随地进行查询、浏览等业务处理。 2. 业务扩展简单方便,通过增加网页即可增加服务器功能。 3. 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 4. 开发简单,共享性强。 B/S结构的缺点:

1. 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 2. 个性化特点明显降低,无法实现具有个性化的功能要求。 3. 页面动态刷新,响应速度明显降低。

4. 功能弱化,难以实现传统模式下的特殊功能要求。

从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种二层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(Hyperlik )、HTML 、Java 的三层或多层C/S结构,客户端仅需单一的浏览器软件,是一种全

新的体系结构,解决了跨平台的问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internrt 环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。

(二)JSP 技术

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似ASP 技术,它是在传统的网页HTML 文件(*.htm,*.html)中插入Java 程序段(Scriptlet)和JSP 标记(tag ) ,从而形成JSP 文件(*.jsp) 。

JSP 技术使用Java 编程语言编写类XM L 的tags 和scriptlets ,来封装产生动态网页的处理逻辑。网页还能通过tags 和scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。

Web 服务器在遇到访问JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP 文件中的HTML 代码一起返回给客户。插入的Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP 是在服务器端执行的,通常返回该客户端的就是一个HTML 文本,因此客户端只要有浏览器就能浏览。

JSP 页面由HTML 代码和嵌入其中的Java 代码所组成。服务器在页面被客户端请求以后对这些Java 代码进行处理,然后将生成的HTML 页面返回给客户端的浏览器。JSP 具备了Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

[2]

(三)Mysql 简介

MySQL 是一个精巧的SQL 数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API )以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache 和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。

MySQL 是一个真正的多用户、多线程SQL 数据库服务器。SQL (结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld 和很多不同的客户程序和库组成。

SQL 是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL 语言为一个网站检索产品信息及存储顾客信息,同时MySQL 也足够快和灵活以允许你存储记录文件和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL 服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL 就开发出来。

MySQL 数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB 的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能: 减少记录编档的时间、 减小记录检索时间、灵活的查找序列、灵活的输出格式、多个用户同时访问记录。

(四)MyEclipse 开发平台

MyEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,MyEclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT )。

虽然大多数用户很乐于将MyEclipse 当作 Java IDE 来使用,但MyEclipse 的目标不仅限于此。MyEclipse 还包括插件开发环境(Plug-in Development Environment ,PDE ),这个组件主要针对希望扩展MyEclipse 的软件开发人员,因为它允许他们构建与MyEclipse 环境无缝集成的工具。由于 MyEclipse 中的每样东西都是插件,对于给MyEclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

MyEclipse 是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle 在内的许多大公司也纷纷加入了该项目,并宣称MyEclipse 将来能成为可进行任何语言开发的IDE 集大成者,使用者只需下载各种语言的插件即可。

三、系统分析

(一)需求分析

需求分析是软件定义部分最后一个流程,它的基本任务是准确地回答“系统必须做什么”这个问题,它对目标系统提出了完整、准确、清晰、具体的要求。

本网站是要打造一个免费、开放的音乐交流平台,主要用户为国内广大音乐爱好者和对音乐有特殊需求的个人。

对于网站,都必须有固定的服务器让用户进行访问,用户的访问在本系统中会记录相关信息。网站有后台管理员,管理员可以对网站内容及用户进行添加删除标记操作(本站对用户和作品的删除时不会从数据库中直接删除)。

对于用户,都可以对本站内容进行浏览,但是对专辑的建立,音乐的本地下载等会做出限制。普通用户注册后可以成为会员,会员可以享受这些服务。用户可以修改自己的密码,但是不能修改其他信息;会员可以查询自己的账户信息,上传自己的作品。

在功能实现方面,用户可以根据音乐找到对应的专辑信息;根据专辑可以查询出该专辑下在本网站收录的所有曲目;根据上传的作品可以查询到该作品的信息(包括上传人的信息);可以查询歌曲库内热门的歌曲(根据点击人数确定);根据上传时间查询最新上传的作品;视听音乐作品的时候能够显示该作品的评论信息;并且可以新增对音乐的评论;用户可以根据自己的喜好心情等建立自己的专辑并添加专辑说明,让有同样要求的人可以根据表述找到专辑。

(二)可行性分析

1.技术可行性

本网站的设计是基于MVC 模式的Web 项目开发,项目使用的是目前主流的struts+hibernate框架进行的开发,使用tomcat 作为服务器。

struts 是Apache 软件基金会(ASF )赞助的一个开源项目。最初是Jakarta 项目中的一个子项目,并在2004年3月成为ASF 的顶级项目。通过采用Java Servlet/JSP 技术,实现了基于Java EE Web应用的Model-View-Controller 〔MVC 〕设计模式的应用框架〔Web Framework〕,是MVC 经典设计模式中的一个经典产品。

Hibernate 是一个开放源代码的对象关系映射框架,对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP的Web 应用中使用,最具革命意义的是,Hibernat e 可以在应用EJB 的J2EE 架构中取代CMP ,完成数据持久化的重任。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat 是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache 、Sun 和其他一些公

司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

开发环境方面,使用MyEclipse 平台进行开发,MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse )是对Eclipse IDE 的扩展,利用它我们可以在数据库和JavaEE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML , Struts , JSF , CSS , Javascript , SQL , Hibernate 。

在结构上,MyEclipse 的特征可以被分为7类: (1)JavaEE 模型 (2)WEB 开发工具 (3)EJB 开发工具

(4)应用程序服务器的连接器 (5)J avaEE 项目部署服务 (6)数据库服务 (7)MyEclipse 整合帮助

对于以上每一种功能上的类别,在Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

以上环境和框架现在都已成熟,在Java 开发中都占主导地位,对应资料齐全,开发流程简便。 而网站性能则主要体现在页面响应时间上,页面响应时间主要跟服务器响应时间、网络传输速度、本地计算机处理速度相关,但现在本地计算机处理速度的影响可以忽略。所以提高网站性能的就是提高网络传输速度和提高服务器响应时间,由于音乐等多媒体文件的体积较大,所以网站的服务响应时间可以适当增加,但应保持在5秒以下,数据要尽量处理好后再与服务器进行交互,不需要整个页面更新的应采取异步方式与服务器交换数据。

综上所述,本项目技术方面可行性通过。 2.社会可行性

目前越来越多的应用程序都已经转向基于Web 的开发,并且Internet 已经广泛使用。越来越多的网民开始注重自己的享受,在上网过程中希望可以得到身心的愉悦感,对于上网过程中能够听到自己喜欢的音乐有很大的要求。而在自己享受快捷的搜索方式时,还希望自己可以参与其中看,这就需要一个交互的平台来实现这些功能,而本系统正是承载这些内容的平台。所以系统的设计具有社会可行性。

[4]

3.经济可行性分析

在经济方面开发所用框架和服务器全部都是免费开源软件,不会对项目的开发造成经济负担,本网站开发硬件要求奔腾586以上机型,4G 以上硬盘空间,512M 以上内存,这个配置在今天基本都能达到,所以在硬件上不需要太高的经济投入,只需普通PC 机就能完成开发和部署的任务,所以经济可行性通过。

4.法律可行性

本系统在开发过程中,不存在任何知识产权问题,所有的技术资料都是合法的,虽对其他现有音乐网站的技术等进行过参考,但并未对其进行抄袭,本网站所有的界面均为原创,也就是说,本系统在开发过程中未涉及任何法律责任问题,所以法律可行性通过。

本系统具有较好的可维护性、可靠性、可理解性,并具有较高的工作效率,易于用户对本系统进行理解和操作。可维护性包括了可读性、可测试性等;可靠性包括正确性和健壮性等。在本系统的开发过程中,充分考虑到各种限制条件,包括开发时间、开发经费、可用的软硬件资源等,并始终贯彻以最小的投入获得最大收益的原则,较好的完成了系统的设计与开发。

综上所述,本项目开发计划方案合理可行、立项依据充分、项目是可行的。

(三)系统业务流程分析

根据需求分析,我们分析出音乐网站的一般业务流程。

在网站的前台,用户直接可以进行音乐网站内容的浏览以及音乐的试听和查询,注册登录后可以对音乐等进行上传、下载、评论等。

在系统的后台管理中,管理员登录系统维护网站信息,进行音乐、图片等的添加、修改及删除。 业务流程图符号说明:

表示处理过程;

表示生成的文档; 表示信息传输的过程及方向。

图3-1 系统总体业务流程图

(四)数据流程分析

数据流程图:数据流程图(简称DFD )是便于用户理解的系统数据流程的图形表示,它能精确的在逻辑上描述系统的功能,输入,输出和数据存储等,而摆脱了其物理内容,是描述管理信息系统逻辑模型的最主要的工具。

数据流程图符号说明:

表示外部实体; 表示数据的处理过程;

表示数据存储;

表示数据流的方向,文字是对数据流的描述

图3-2系统总体数据流图(第一层)

1. 第二层数据流程图

依据第一层数据流程图,对整个苏摩音乐网站流程进行详细的描述,得到第二层数据流程图,如图3-3所示。

图3-3 系统总体数据流图(第二层)

2. 第三层数据流程图

依据二层数据流程图,对各个具体处理过程进行分析,得到部分模块的底层数据流程图,如下图所示:

图3-4 会员管理数据流图(第三层)

图3-5 音乐信息管理数据流图(第三层)

图3-6 排行榜数据流图(第三层)

图3-7 专辑信息数据流图(第三层)

图3-8 心情信息数据流图(第三层)

图3-9 评论管理数据流图(第三层)

3. 数据字典

数据字典是对系统中数据的详尽描述,是系统数据的清单。他提供对数据描述的集中管理,目的是对收集的数据进行标准化、统一化管理,使数据有统一定义的名称、格式和含义,其除了保存数据名、类型、长度、精度等有关信息外,还包括了数据的流向描述、数据加工的描述等等。在本系统中,数据字典是非常重要的自然数据。下面对其做详细的介绍、如下表 (1)数据元素定义

表3-1 数据元素定义

[9]

(2)数据结构定义

数据结构是构造数据流、数据存储结构的基础和依据,是整个计算机系统数据处理的的关键内容之一。根据我们系统所要实现的功能和算法的要求,我们定义了以下几个数据结构:

表3-2 数据结构定义

(3)数据流定义

数据流表示是业务活动中流动的数据,可以表示业务活动中的发票、表格、表单、单据、报告、报表、信件等等。它代表了系统中数据处理(加工)的输入和输出。

表3-3 数据流定义

(4)处理过程描述

处理过程完成了对数据的加工处理,它必须实现对数据的变换,即把输入变成输出。

表3-4 处理过程描述

(5)数据存储结构定义

数据存储以文件、表格形式来存储数据,以供用户访问,必须定义出存储的结构。

表3-5 数据存储定义

(6)外部实体的定义

外部实体是在系统边界以外与系统有联系的事物(人或单位、角色)。它是系统的最原始的数据来源及最终的数据去向。

表3-6

外部实体定义

四、系统设计

(一)系统功能设计

1.系统总体规划

本网站按照需求开发,可分为一下几个模块:注册模块、登录模块、增加音乐模块、增加专辑模块、增加自定义专辑模块、音乐查找模块,网站具体模块图如图3.1所示。

图4-1音乐网站系统功能模块图

2.注册模块功能介绍

作为音乐网站的用户,需要注册成为本网站的会员才能享受到网站的所有权利,注册就是使普通用户变成会员的途径,本模块主要完成的任务是提示用户添加自己的基本信息,将用户信息添加到数据库。

3. 登录模块功能介绍

用户注册成为本站会员后就可以登录本网站了,在此模块会判断用户是不是本站注册会员,会判断用户的用户账号和密码是否匹配,如果匹配则将用户信息显示出来并可以执行其他操作,如果不匹配会提示用户输入用户账号和密码错误。登录后用户可以选择修改自己的个人资料。

4. 增加专辑模块功能介绍

增加专辑就是创建一个音乐的固有专辑,好让用户在上传音乐作品的时候能将音乐加入到对应的专辑里面。此模块会让用户输入一些专辑的基本信息,比如专辑名、专辑发行时间等,在添加专辑封面时还应该有图片预览功能,创建专辑不存在或专辑重名不能插入数据库的问题。增加自定义专辑模块功能同增加专辑模块。

5. 上传音乐模块功能介绍

上传音乐是网站增加音乐的主要方式,用户选择自己的音乐,并选择该音乐所属专辑,最后上

传音乐。

6. 音乐查找模块功能介绍

音乐查找是音乐网站的核心,音乐网站应该提供按照音乐名和音乐出品人查找这两种最基本的音乐查找方式,除了这两种基本查找音乐方式外还应有按照专辑查找,按音乐类型查找,按音乐地区查找等查找方式。音乐查找结果最后列表显示,用户点击对应属性链接可以实现按照这个属性查找或者排序。点击对应的音乐名可以试听音乐。

(二)系统架构设计

网站架构设计遵循MVC (Model-View-Control )开发模式,开发框架采用Struts+Hibernate,数据库使用Mysql 下的root 用户,页面视图显示统一使用JSP/HTML,页面样式尽量采用CSS 样式表进行约束,页面脚本统一使用JavaScript 。

模型层只封装数据库Hibernate 代理的数据库对象,不进行其他逻辑处理和数据运算。 传递控制由Struts 的Action 来处理,Action 获取和传递页面数据,但是要尽量避免在Action 内处理业务相关逻辑,业务逻辑和数据的处理由Servers 层负责,数据库交互使用Hibernate 做代理,在数据库交互层只涉及对象的存储查询操作。

数据库使用JDBC 进行连接。

[6]

(三)数据库设计

数据库是音乐网站的核心组成部分,所有信息处理子系统都将基于某种数据库平台,以便将其处理的信息资源完整、安全地保存起来,并且对其进行各种管理和利用。选择一个好的数据库平台是非常重要的。在选择数据库平台时,应考虑下列因素:

(1)性能:数据库的数据处理能力;

(2)开放性:数据库是否能在多种操作系统下使用; (3)安全性:数据库是否具有高度的安全性; (4)可靠性:数据库是否具有高度的可靠性; (5)并行性:数据库是否并行运行在多节点上; (6)可操作性:数据库在使用前是否需要复杂的培训。

根据本网站开发应用的实际需要,我们选择了MYSQL 作为数据库开发平台。 1.数据库概念结构设计

由于实体属性较多,此处主要体现了各个实体间的关系,详细设计见数据库设计中表结构的字段。如下图所示:

[7]

图4-2 数据库概念结构设计E-R 图

图4-3 实体设计E-R 图

2.数据库逻辑结构设计

根据实体属性及其产生的行为,从实际需要出发,同时又考虑各实体间的联系和统一性,设计出如下各表。

(1)admin 表admin 表是用来存放管理员信息的表,管理员信息包括用户账号、密码等信息。Admin 表结构如表4-1所示。

表4-1 admin表结构

(2) User 表。User 表是用来存放用户信息的表,用户信息除了包括用户账号、密码、昵称等信息还包括机箱选填信息,User 表结构如表4-2所示。

表4-2 User表结构

(3)Music 表。Music 表是存放音乐信息的表,此表将音乐的属性简单描述,包括音乐类型、地区、音乐名等常见属性,此表设置代理主键(自增)作为主键,这个主键也是其他音乐关联表的外键,表结构如表4-3所示。

表4-3 Music表结构

(4)Cliplist 表。该表用来存放音乐固定专辑(唱片公司发行的)信息,由于本网站规模和本人对专辑认识的限制,对专辑属性的设置相对比较简单。因为专辑英语音乐术语“多对多”关系,所以在此表中不设置与音乐的关联,将关联写至Cm 表,Cliplist 表结构如表4-4所示。

表4-4 Cliplist表结构

(5)Cm 表。该表是music 表和cliplist 表的关系表,用来处理音乐和专辑的关系,这里一个音

乐作品可以属于多个专辑,同时一个专辑包含多个音乐作品。Cliplist 表结构如表4-5所示。

表4-5 Cm表结构

(6)Diyclip 表。该表用来存放自定义专辑信息,包括自定义专辑的名称、描述、封面等信息,自定义专辑是由用户自己创建并添加歌曲而形成的一个对象。Diyclip 表结构如表4-6所示。

表4-6 Diyclip表结构

(7)DiyCm 表。该表用来存放自定义专辑和音乐之间的关系,通俗的说就是自定义专辑包含哪些音乐,某个音乐都在哪张自定义专辑里。这里的两个外键分别对应音乐表和Diyclip 表的两个主键,但是并不以这两个外键做联合主键,而是声明一个代理主键。DiyCm 表结构如表4-7所示。

表4-7 DiyCm表结构

(8)Observetomusic 表。该表记录的是用户对音乐作品评价信息。包括会员对音乐的评价内容、评价时间。同时还记录其他用户对词乐评的评价(同意或者反对),并以此作为此音乐的推荐程度。对乐评,管理员可以直接删除不和要求的内容,所以不设置标记属性。Observetomusic 表结构如表4-8所示。

表4-8 Observetomusic表结构

(四)输入输出设计

1.输入设计

输入设计的原则:

最小量原则,输入量越小,出错机会越少,花费时间越少,数据一致性越好;

简单性原则,输入的准备、输入过程应尽量容易以减少错误的发生。

早检验原则,对输入数据的检验尽量接近原数据发生点,使错误能及时得到改正。

少转换原则,输入数据尽量用去处理所需形式记录,以免数据转换介质时发生错误。

本系统输入输出设计的简单布局图如图4-4所示:

用户名密码

创建专辑

专辑名称

出品人

[8]发行时间

发行公司

图4-4 输入输出设计布局图

本系统的输入界面图例如下:

(1)注册:会员在此界面下输入帐号、密码进行注册。在输入帐号进行注册时,系统会验证

输入是否重复。注册界面如图4-5所示。

图4-5会员注册界面图

(2)创建专辑和自建专辑:登录进入网站后,可创建歌手本有的固定专辑或者根据自己的喜

好创建自定义专辑,以便下次查找方便,创建专辑界面如图4-6所示,自建专辑界面如图4-7所示。

图4-6创建专辑界面图

图4-7自建专辑界面图

(3)作品上传:登录进入网站后,可上传音乐作品至专辑或着单曲中,并选择相应的类别为

按各种类别查找音乐做准备,上传作品界面如图4-8所示。

图4-8 作品上传界面图

(4)音乐评论:登录进入网站后,可对音乐进行试听、下载,并且可以对音乐进行评论,音

乐评论界面如图4-9所示。

图4-9 音乐评论界面图

2.输出设计

输出设计主要包括以下几方面的内容:确定输出内容;选择输出设备与介质;确定输出格式。

在输出界面的设计上,我们将主要数据以日常通用的格式呈现在屏幕上, 方便用户的查阅, 以及

管理员进行修改。

本系统的输出界面图例如下:

(1)专辑展示:专辑创建成功后会自动添加成功到专辑展示界面,通过上传音乐到本专辑后,

即可在专辑展示界面进行查看。专辑展示界面如图4-10所示。

图4-10 专辑展示界面图

(2)心情音乐:自定义专辑创建成功后会自动添加成功到心情音乐展示界面,将喜爱的歌曲

添加到自定义专辑后,即可在心情音乐界面进行查看。心情音乐界面如图4-11所示。

图4-11 心情音乐展示界面图

(3)输出音乐:音乐上传成功后,根据其不同的类别可进行相应的查看,例如按照同一种语

言进行选择得到如下列表。输出界面如图4-12所示。

图4-12音乐查看界面图

(3)输出评论:评论添加成功后,会在当前歌曲的播放界面显示出来。输出评论界面如图4-13

所示。

图4-13 评论查看界面图

五、系统实施

本系统采用JSP+MYSQL进行开发,是本系统运行需要的软件环境为:操作系统为Windows

7/XP,系统测试需要Web 应用服务器Tomcat 。

打开IE 浏览器,输入http://localhost:8080/sumomusic,回车即可预览。

本系统用数据库作为后台需要强大的数据库支持,所以采用MYSQL 数据库。

(一)系统的运行环境和开发平台

1.系统运行的硬件设备及操作系统

CPU 推荐Pentium 或更高的处理器;

512Mb 以上的内存;

标准的VGA 显示或更高分辨率的显示器;

鼠标、键盘等外设;

Windows 7、WindowsXP 或更高版本。

2.系统开发平台

操作系统:Microsoft Windows 7

开发环境:Myeclipse 6.5、Tomcat 6.0.32

数据库:MYSQL

3.系统运行环境配置

下面介绍JDK 及Tomcat 的安装。

(1)JDK的下载与安装

本系统采用的是JDK 1.6版本,读者可到Sun 公司的官方网站下载。下载过程如下:

①打开IE 浏览器,在地址栏中输入“http://java.sun.com/javase/downloads/index.jsp”,进入下载

页面。

②单击Downloads 按钮进入JDK 下载页面,在该页面中用户需要选中Accept License Agreement

单选按钮接受许可协议后,才可以下载。

③根据使用的操作系统来下载相应的JDK 安装文件,选择的是在Windows 系统下的JDK 安装

文件,单击Windows offine Installation,Multi-language超链接进行下载。

下载后的文件名称为jdk-6u3-windows-i586-p.exe ,双击该文件即可开始安装。具体安装步骤

如下:

①双击jdk-6u3-windows-i586-p.exe 文件,在弹出对话框中,单击“接受”按钮,接受许可证协

议。

②在弹出的“自定义安装”对话框中,单击“更改”按钮更改安装路径,其他保留默认选项,

如图5-1所示。

③单击“下一步”按钮,开始安装。

④在安装的过程中,会弹出另一个“自定义安装”对话框提示用户选择Java 运行时环境的安

装路径。单击“更改”按钮更改安装路径,其他保留默认选项,如图5-2所示。

图5-1 选择JDK 安装路径 图5-2 选择JRE 安装路径

⑤单击“下一步”按钮继续安装。

⑥单击“完成”按钮完成安装。

JDK 安装完成后,需要设置环境变量及测试JDK 配置是否成功。操作步骤如下[12]:

①右击“我的电脑”,选择“属性”命令。在弹出的“系统特性”对话框中选择“高级”选项

卡,并单击“环境变量”按钮。

②在弹出的“环境变量”对话框中,单击“系统变量”区域中的“新建”按钮新建变量,将弹

出“新建系统变量”对话框。

③在弹出的“新建系统变量”对话框中,在“变量名”文本框中输入“JA V A_HOME”,在“变

量值”文本框中输入JDK 的安装路径“D:\JDK1.6.0_03”,如图5-3所示。单击“确定”按钮,完

成变量JA V A_HOME的创建。

④查看是否存在PA TH 变量,若存在则加入%JAV A_HOME%\bin值,如图5-4所示。

图5-3 创建JAVA_HOME变量 图5-4 编辑PATH 变量

若不存在,则创建该变量,并设置为%JAVA_HOME%\bin值。

⑤查看是否存在CLASSPA TH 变量,若存在则加入如下值:

.;%JAVA_HOME%\lib\ dt .jar ;%JAVA_HOME%\lib \tools .jar

若不存在,则创建该变量,并设置上面的变量值。

⑥接下来测试JDK 配置是否成功。在“运行”窗口中输入“cmd ”命令,进入MS-DOS 命令

窗口。进入任意目录下后输入“javac ”命令,按Enter 键后,系统会输出javac

命令的使用帮助信

息,如图5-5所示。这说明JDK 的配置成功,否则需要检查上面步骤的配置是否正确。

图5-5 输出javac 命令的使用帮助

(2)Tomcat的下载与安装

本系统采用的是Tomcat 6.0版本,读者可到Tomcat 官方网站下载。下载过程如下:

①打开IE 浏览器,在地址栏中输入“http://tomcat.apache.org”,进入Tomcat 官方网站。

②单击网站左侧Download 区域中的Tomcat 6.x超链接,进入Tomcat 6.x下载页面。在该页面

中单击Windows Service Installer(pgp,md5)超链接,下载Tomcat 。

下载后的文件名为apache-tomcat-6.0.14.exe ,双击该文件即可安装Tomcat 。具体安装步骤如下:

①双击apache-tomcat-6.0.14.exe 文件,弹出安装向导对话框,单击Next 按钮后,将弹出许可

协议对话框。

②单击I Agree 按钮,接受许可协议后,将弹出Choose Components 对话框,供用户选择需要

安装的组件,在这里保留其默认选项。

③单击Next 按钮,在弹出的Choose Install Location对话框中更改Tomcat 的安装路径.

④单击Next 按钮,在弹出的对话框中设置访问Tomcat 服务器的端口及用户名和密码,这里保

留默认配置,即端口为8080,用户名为admin ,密码为空。

⑤单击Next 按钮,在弹出的Java Virtual Machine对话框中选择Java 虚拟机路径,这里选择JDK

的安装路径。

⑥单击Install 按钮,开始安装Tomcat 。

⑦安装完成后,选择“开始”/“程序”/“Apache Tomcat 6.0/Monitor Tomcat”命令,在任务栏右侧的托盘中将出现图标,鼠标右击该图标,选择Start service命令,启动Tomcat 。

⑧打开IE 浏览器,在地址栏中输入“http://localhost:8080”,若出现图5-6所示的页面,则说明

Tomcat 安装成功[11]。

图5-6 Tomcat启动界面

(二)代码实现及运行图

此处附上系统部分重要界面运行截图,系统详细代码参见附录。

我的音乐网站页面,分了几个模块展示给访客,主要是音乐搜索和音乐列表等。访客可以根据首页的信息查询他们感兴趣的音乐,查询有几种方式可供访客参考,如音乐类型、音乐名称、歌手名称等。界面如图5-7所示。

图5-7 首页展示界面图

用户登录后,可以对专辑等进行管理,专辑管理界面如图5-8所示。

图5-8 专辑管理展示界面图

用户还可以根据各种不同的方法进行音乐的搜索,比如按照音乐的类型、地区、上传时间以及根据歌手名称和音乐名进行的精确查找,界面如图5-9所示。

图5-9 音乐搜索展示界面图

用户在搜索到相应的歌曲后,可以对歌曲进行试听、下载、以及评论歌曲的好坏,其界面如图5-10所示。

图5-10 音乐试听与评论展示界面图

众多的用户对音乐网站进行操作,难免会出现信息冗余的情况,就需要管理员对网站进行管理,从会员、音乐、专辑和自定义专辑方面来做出针对性管理,界面如图5-10所示。

图5-11 管理员后台管理界面图

(三)系统测试

在所有管理信息系统的开发和实施过程中, 系统测试是保证系统得以顺利运行的关键性一步, 它是提高软件质量和可靠性的有效手段。测试就是指用意在发现错误而执行一个程序的过程,所以一个好的测试用例就是系统的保证,它有很高的几率发现一个尚未发现的错误。而测试的关键问题就是如何设计测试用例。以下具体介绍测试的原则以及方法。

1.系统测试的原则

(1)所有的测试都应追溯到系统说明书,或者更进一步就是用户需求。我们的网站系统是面向广大的听众,所以我们在测试的时候必须尊重听众的需求。音乐网站主要是以提供好的音乐服务为主要目的,而提高服务的主要方法就是给听众提供满足他们需求的音乐。以上这些都是我们测试的内容。

(2)尽早地、不断地进行系统测试。由于系统的开发周期短,我们的开发人员必须尽早的进行系统测试,这样才能完成开发任务。

(3)系统测试是有风险的行为。只有通过测试才能使网站正常的运行,所以风险是必不可少的,多次的测试才能保证网站的稳定性。

(4)找到的错误越多,就说明系统的缺陷越多。

(5)除检查系统应完成的任务外,还应检查系统是否做了它不应该做的事。一个功能强大的网站必须经过多次的检验测试,才能正常运行,因为网络是很不稳定的,如果不经过深思熟虑的检测,很可能在运行的时候面临灾难性的损失。

(6)测试用例应包括输入数据和预期的输出结果。

(7)不仅要选用合理的输入数据作为测试用例,而且应选用不合理的输入数据作为测试用例。

(8)测试用例应长时间保留,直到这个程序被废弃

2.系统测试的主要内容

(1)功能测试;对浏览网站的每一个环节都要经过测试,才能保证各个功能的正常。

(2)性能测试;对系统的突变性、整体性、以及目的性都要进行仔细的检验。

(3)强化测试;多次的测试才能知道系统的强大,也能查处系统的错误,早早的处理,就可以避免造成生命财产的重要损失。

(4)安全测试:网站后台需要输入大量信息,因此数据的合法性至关重要。

3.系统测试的方法

测试方法有很多,如模块测试、联合测试、验收测试、系统测试。

(1)模块测试是对一个模块进行测试,根据模块的功能说明,检验模块是否有错误。一般由编程人员自己进行。

(2)联合测试是将整个系统作为一个整体进行调试。高层由上而下,低层由下而上,到中层进行会合。

(3)验收测试是检验系统说明书的各项功能与性能是否实现,是否满足要求。

[10]。

(4)系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验是否有不符合系统说明书的地方。

系统测试用例设计方法分为白盒法和黑盒法。

(1)白盒法测试也称逻辑驱动测试或称逻辑覆盖测试。使用白盒法需阅读程序内部的逻辑,并以此为基础设计测试用例。

(2)黑盒法也称数据驱动或输入/输出驱动法。测试者把程序看成一个黑盒,即完全不考虑程序内部结构和内部特性。测试者寻找使程序按规范运行的情况导出测试数据。也可以说黑盒法是根据程序的功能说明来设计测试用例。

4.系统测试计划

第一步:测试模块。这一部分工作主要在做项目的过程中完成,以保证每个模块作为一个独立单元能够正确运行。

第二步:联合测试。在各个模块完成后,再将各相关模块连接起来,进行联合测试,以保证各个单元模块能从整体上协调运作。

第三步:确认测试。经过联合测试后进行确认测试,进一步检查系统是否达到预期的全部要求,这一阶段除了对整个系统的功能、性能进行测试外,还要对配置进行检查,看构件的全部构成成分是否齐全,质量是否合乎要求。

5.系统测试用例

该网站系统系统采用黑盒法测试用例测试。如下表所示:

(1)测试管理员登录功能

表5-1 管理员登录测试表

(2) 测试音乐查询功能

表5-2 音乐查询测试表

结 论

经过两个多月的设计和开发,苏摩音乐网站基本开发完毕。本系统采用了B/S结构,以JSP 为开发技术,MYSQL 为数据库。系统包含了音乐的上传、搜索。专辑的创建以及自定义专辑的创建、音乐的下载和评论功能等。基本能够满足用户的需求。后台管理的设计则主要实现对系统各个功能的管理,维护和管理数据库的数据。总体来说,系统的功能比较全面,并具有较强的安全性。

在系统的整个设计开发过程中,我充分的意识到了系统需求分析在系统开发过程中的重要性。在这次系统的开发前期。我查阅了大量与音乐网站的设计与实现的信息,也观察了多个成熟音乐网站的模式,并进行实际的操作,切实的了解系统的用户需求。经过反复修改最终确定了系统的功能。系统需求分析与设计工作在这次开发中大约占用了半个月的时间,但是正是由于这样充分的准备使得我对整个系统的业务流程有了清晰的思路,这就为后面的系统的顺利实现提供了有力的保证。、

在系统开发过程中,我充分的利用在校四年所学到的专业知识,并通过查阅图书来完成对开发技术的深入学习,为我在系统的分析与实施打下了良好的基础,通过这次毕业设计的开发,我对管理信息系统有了更深入的了解,同时我也看到了自己在能力上的不足,需要在今后的工作中我会能通过不断的学习提高自己的系统开发水平。

当然,系统还有许多需要完善的地方,总的来说有以下几点不足:

1. 系统界面比较简单、单调,功能比较少。

2. 由于系统处于新生期,所以音乐种类不是很全,但随着网站的成熟,这些改变只是时间的问题。

总之,本次系统地开发是我的综合能力有了很大的提升,在开发的过程中不断提升自我学习能力,而且也锻炼了实际操作的能力,这对我今后的工作起着至关重要的作用。这些系统实施过程中存在的不足也将是我宝贵的财富,因为他们会提醒我要勤动脑,多动手。客户的需求可能一直在变,因此我们的系统只有具有很强的可扩充性和维护性,才能拥有强大的生命力。因此,在今后的工作中我会继续学习、继续奋斗,戏剧完善与充实自己。

参考文献

[1] 付京周. 精通Hibernate3.0-Java 数据库持久层开发实践[M]. 北京:人民邮电出版社,2007.34-36.

[2] 陈松. J2EE 电子商务系统开发. 计算机学报[J]. 2004(3):21-22.

[3] 叶健毅. 精通Java EE-整合应用案例[M].北京:清华大学出版社,2009.76-80.

[4] 孙卫琴. 精通Hibernate:Java对象持久化技术详解. 计算机学报[J]. 2007(4):35-44..

[5] 鲁晓东. JSP 软件工程案例精解[M].北京:电子工业出版社,2005.97-105.

[6] 王国辉,李立文,杨亮. JSP 数据库系统开发完全手册[M].北京:人民邮电出版社,2009.33-37.

[7] 陈鹏,程勇. J2EE 项目开发实用案例[M]. 北京:科技出版社,2007.54-70.

[8] 丁鹏. 论STRUTS 技术及WEB . 中国计算机科学[J]. 2009(4):329-357.

[9] 孙卫琴. 精通Struts :基于MVC 的Java Web设计与开发[M].北京:电子工业出版社,2004.139-145.

[10]Tate, B. Bitter Java[M]. London:Manning Publications,2002:42-47.

[11]Eckel, B. Thinging in Java Third Edition[M].Beijing: Pearson Education, 2008:39-57.

[12] 张桂元. Struts 开发入门与项目实践[M]. 北京:人民邮电出版社,2005.132-167.

附 录

36


相关内容

  • N多毕业设计题目
  • 基于Ajax技术的WEB应用的设计 又快到毕业的时候了,大家该准备做毕业设计了.大学问问特意收集了一些毕业设计(论文)的题目,供大家选择. VB售楼管理系统 VB无纸化考试系统 VB小区物业管理系统 VB航空公司管理信息系统 VB计算机机房管理系统 VB房地产评估系统VB+SQL2000 VB光盘信 ...

  • 计算机信息管理毕业论文题目
  • 信管专业本科毕业论文选题参考331目 以下选题仅供同学们参考,不一定在这个范围内,同学们完全可以自已命题.由于IT技术发展极快,所以我们提供的论文选题不一定最新.最快.最先进.请大家理解. 要求同学们在选题时尽量与带实习及指导论文的老师联系和商量,获得老师们的支持和帮助.如果能考虑论文与实习项目结合 ...

  • 在线音乐播放系统毕业设计
  • 毕业论文(设计) 题 目: 在线音乐播放系统 院(系): 专业年级: 姓 名: 学 号: 指导教师: 原 创 性 声 明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果.毕业论文中凡引用他人已经发表或未发表的成果.数据.观点等,均已明确注明出处.除文中已经注明引用的 ...

  • 信息安全专业毕业设计(论文)参考课题
  • 经验是由痛苦中粹取出来的. 少为失败找理由 多为成功找方法 大多数人想要改革这个世界 却不晓得即时从小事做起 网络.信息安全专业毕业设计(论文)参考课题 课题类型 序 号 参考题目 设计要求 网 站 建 设 类 1 **学校计算机系网站 设计一个B/S(浏览器/服务器)交互式动态网站 要求网站不要脱 ...

  • 软件工程专业毕业论文
  • 毕业设计(论文) 题目名称:校友管理系统个人信息模块与实现 院系名称:计算机学院 班 级:软件101班 学 号:[1**********]2 学生姓名: 梁家辉 指导教师: 郑秋生 2014年 5月 校友管理系统个人信息模块与实现 The Personal Information Module an ...

  • 网站毕业设计论文
  • 湖南现代物流职业技术学院 毕业设计 题 目 系 部 物流信息系 专 业 电 子 商 务 班 级 电商1002班 姓 名 喻奇 指导教师 欧阳红巍 2012年12月09日 摘 要 随着计算机.网络与通讯技术的发展,Internet 在人们的生活.学习和工作的位置越来越重要,通过发布属于公司的 Web ...

  • 中国青年旅行社旅游信息网站 毕业论文
  • 学号: 本科毕业论文(设计) 中国青年旅行社旅游信息网站的设计与实现 作者姓名 指导教师 所学专业计算机科学与技术班级 所属院系信息学院班 学习年限2007年9月至2011年6月 二○一一年四 月 目录 内容提要............................................ ...

  • 购物网站毕业论文
  • 学 士 学 位 论 文 在线购物网站的设计与开发 姓 名: 学 号: 指导教师: 院系(部所): 专 业: 完成日期: 王祖伟 [1**********]1 刘彩霞 计算机科学系 计算机科学与技术 2009年05月30日 摘 要 随着计算机技术在各行各业日益广泛和深入的应用,网络的概念早已深入人心. ...

  • 电气专业的一些毕业设计题目
  • 电气专业的一些毕业设计题目 电子类: 1.红外遥控照明灯(电路+程序+论文) 2.基于单片机的多功能智能小车设计论文(电路+程序+论文) 3.基于数字信号处理器(DSP)的异步电机直接转矩控制研究(硕士)(论文+上位机下位机软件+程序) 4.简单温度控制系统(仅论文) 5.漏电保护器(电路+程序+论 ...

  • 范文_毕业论文-游文指导
  • 景德镇高等专科学校毕业设计 陶瓷网站开发与设计 曹斌 二零零八年三月十四日 景德镇高等专科学校毕业设计论文 景德镇高等专科学校 数学与计算机系毕业设计 (2008 届) 课题名称: 姓 学 专 名: 号: 业: 陶瓷网站开发与设计 曹斌 2005104014 计算机应用技术 所在班级: 05 计算机 ...