音乐网站系统的设计.docx
《音乐网站系统的设计.docx》由会员分享,可在线阅读,更多相关《音乐网站系统的设计.docx(24页珍藏版)》请在冰豆网上搜索。
音乐网站系统的设计
1引言
互联网,毫无疑问是目前全球最热门的话题,其影响力早已深深地影响着神州。
今年以来,全国各地的网络广告大战硝烟弥漫。
不过,呈几何级数增长的网民同样对于中国的音乐十分关注。
只是,与炙手可热的“新浪”、“网易”、“搜狐”等综合性大相比,音乐到目前为止还没有树立一个成功的模式,但是谁又敢忽视它未来的潜力呢?
互联网是音乐传播最为迅速、便利和广泛的工具,早就有不少能人志士和风险资金聚集在了这块尚未开垦的土地上,一场空前的大拼杀已拉开了序幕。
音乐如雨后春笋般地成长起来并开始掠夺音乐市场。
音乐作为互联网上最具有响应力的类型之一,越来越受到人们的欢迎。
建立一个具有个性化音乐,便可以以特色称霸一方。
本音乐系统的设计主要采用ASP(ActiveServerPages)技术,并综合相关的ASP技术、数据库技术和软件工程的理论。
系统的开发主要包括了系统后台数据库的建立和维护以及系统前台应用程序窗口功能的开发两个方面。
对于前者来说,只要建立一个数据一致性和完整性强的数据冗余量小的,数据安全性高的数据库;后者则要求应用程序功能齐备,操作简单方便,界面人性化且美观。
便于管理员对后台的歌曲和站人员进行管理的同时也使用户的操作更加简便。
2需求分析
随着Internet的普及,越来越多的企业建立了自己的WWW,企业通过可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。
2.1系统分析
伴随这网络的日夜繁荣,各种各样的符合现代时尚一代的Web服务也迅速发展起来。
各种各样的在线点歌和在线播放影视的站点也迅速扩展开来。
在线音乐和在线播放影视的实现原理几乎是一样的,设计音乐应以统一的信息格式,前后一致的网页模式,信息简单明确完整,并突出个性。
对音乐应突出三个明显的特点:
一是突出多种媒体;二是突出提供适合各种不同年龄层次的音乐爱好者的娱乐信息并且体现个性;三是提供广告平台突出网上的商业价值。
2.1.1系统的功能特点
(1)操作简单:
完全控件式的页面布局,使得操作更简便;许多选项包括歌曲查询、专辑查询,等只需要点击鼠标就可以完成。
(2)即时可见:
对歌的排行,用户管理(包括添加、修改、删除)等等将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。
(3)功能完善:
在线点播音乐功能:
用户登陆、注册、在线试听、歌曲管理、等各个方面,完整地实现了对用户、歌曲的管理要求。
2.1.2音乐当前发展趋势
随这人们的生活越来越富裕,对生活质量的要求越来越高。
音乐也成了人们生活中必不可少的一部分了。
一时间所有大大小小的音乐都建立了起来。
在许许多多的个人音乐中,不乏有许多极为优秀的,但在得到融资的情况下,马上变成了一个专业的商业音乐。
由于这类的群众基础好,一旦它们改组成功,足以挑战其它音乐。
现在大多数的音乐都在向集信息性、文化性、艺术性和娱乐性为一体的音乐网络发展。
2.2开发工具
主要运用ASP和Access数据库来开发该音乐,下面主要介绍了ASP和Access的功能和优点。
ASP是静态网页技术转向动态网页技术的一种出色的技术手段。
是一种开发Web用的理想构架。
ASP以VBScript技术为基础,又在许多方面作了改进。
数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。
2.2.1ASP的介绍及其优点
ASP页面看起来像普通HTML页面,但它允许嵌入执行代码,在这一点上,它和JSP技术非常相似。
ASP支持组件,使用VisualBasic或者微软的其他技术开发的COM组件可以很方便地集成在Web系统中。
这使得开发的效果的到很大的提高。
而分离和模块化的方式也使得应用更加易于维护。
ASP的设计目标主要是提供一种更为简便、有效的动态网页编写手段,并且增强网页程序的独立性、兼容性和可重用性。
ASP的优点:
(1)、ASP所使用的VBScript脚本语言直接源于VB语言,秉承了VB简单易学的特点,学习起来非常容易。
(2)、把脚本语言直接嵌入HTML文档中,不需要编译和连接就可以直接解释运行。
(3)、利用ADO组件轻松存取数据库。
(4)、面向对象编程,可扩展ActiveX Server组件功能,可以使用第三方组件或自己开发ActiveX Server组件。
从理论上说,可以实现任何功能。
(5)、不存在浏览器兼容问题,由一般ASP程序是在服务器端运行的,当客户端浏览器浏览ASP网页时,服务器会将该网页文件重新解释一遍,并将生成的标准HTML文件发送给客户端浏览器,因为送出的是标准的HTML文件,当然不会存在浏览器兼容的问题了。
(6)、可以隐藏程序代码,在客户端仅可看到由ASP输出的HTML文件,可以保护你的劳动成果。
2.2.2MicrosoftAccess数据库的优点
由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。
使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQLServer,此时,程序只需要简单的修改一下(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。
2.2.3Web服务器
Web服务器是Web应用程序的中心位置。
IIS(InternetInformationServer)是微软公司推出的WindowsNTOptionPack的主要成员,作为Win2000server的扩展,从推出以来得到了很大的发展,其体系结构是当今市场上最受关注的Web服务器之一。
新推出的IIS5.0版本系统安全性更高,具有服务器端脚本开发调试,容管理和站点分析,崩溃防护,置JAVA虚拟机及全面支持ASP等强大功能。
IIS支持虚拟目录,通过在"服务器属性"对话框中的"主目录"标签可以管理虚拟目录。
建立虚拟目录对于管理WEB站点具有非常重要的意义。
虚拟目录隐藏了有关站点目录结构的重要信息。
因为在浏览器中,客户通过选择"查看源代码",很容易就能获取页面的文件路径信息,如果在WEB页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系统受到攻击。
其次,只要两台机器具有相同的虚拟目录,你就可以在不对页面代码做任何改动的情况下,将WEB页面从一台机器上移到另一台机器。
还有就是,当你将WEB页面放置于虚拟目录下后,你可以对目录设置不同的属性,如:
Read、Execute、Script。
读访问表示将目录容从IIS传递到浏览器。
而执行访问则可以使在该目录执行可执行的文件。
当你需要使用ASP时,就必须将你存放.asp文件的目录设置为"Execute(执行)"。
建议大家在设置WEB站点时,将HTML文件同ASP文件分开放置在不同的目录下,然后将HTML子目录设置为"读",将ASP子目录设置为"执行",这不仅方便了对WEB的管理,而且最重要的提高了ASP程序的安全性,防止了程序容被客户所访问。
3系统设计
3.1系统的浏览
利用ASP网页编程技术对该系统进行设计,在将程序语句输入编辑器后,要以.asp为后缀名来存盘。
同时注意,在“保存位置”要选择放在\Inetpub\wwwroot下的某个目录下,因为ASP文件要由服务器端的ASP部件来解释,你必须将ASP文件放在WEB服务器的目录下,否则服务器就不能识别ASP。
在要浏览时就必须搭建WEB服务器IIS,这样会更好更准确的看到页面。
下面就介绍IIS的安装。
(1)IIS是Windows2000Server自带组件。
如果安装操作系统是Windows2000/XP专业版的就没有安装IIS,要把系统盘放入光驱中,按照下面的步骤进行安装。
(2)打开“控制面板”――>“添加删除程序”――>“添加/删除Windows组件”
――>双击“Internet信息服务”――>在组件中的“Internet信息服务(IIS)”项前打勾,单击“下一步”,并且按照提示操作即可完成安装。
安装完成后就是关于IIS服务器的基本配置:
(1)打开IIS管理器,选“开始菜单――>程序――>管理工具――>Internet信息服务”。
(2)设置“默认Web站点”项。
首先打开“默认Web站点”的属性设置窗口:
选“默认Web站点――>右键――>“属性”即可。
设置“主目录”:
在“本地路径”通过“浏览”按钮来选择你的网页文件所在的目录。
IIS下虚拟目录的建立与使用方法。
(1)在“默认WEB站点”下,单击右键创建虚拟目录。
(2)以一个特殊的名称来为虚拟目录命名,并使该虚拟目录映射的实际目录为该系统所放的目录。
(3)设置权限。
(4)在该系统所放的目录下,将编写的每个ASP页面放在次目录下。
通过该虚拟目录来测试该系统是不是能正确显示。
用户界面是系统与用户之间的接口,也是控制和选择信息输入的主要途径。
在本系统中界面设计坚持友好、简便、实用、易于操作的原则,尽量避免过于繁琐,尽量每个系统独立。
3.2流程设计
构建一个在线音乐系统,用户可以在站点上浏览、查找、和点播所喜爱的歌曲。
管理员则可以添加和维护歌曲库的信息。
3.2.1用户流程
用户通过登录界面进入系统,如果该用户输入的用户名不存在,那么请点击注册会弹出注册页面让用户注册后进入系统。
进入系统后将自动跳转到主页。
用户可根据提供的浏览和查询歌曲的方式,对自己感兴趣的歌曲进行选择播放。
当歌曲被选中后,将根据数据库中歌曲的ID号自动读取歌曲信息,实现歌曲的在线试听,如图3.1所示。
图3.1用户流程图
3.2.2管理流程
管理员拥有独立的管理模块进行后台管理,有单独的安全人证入口。
如果登录密码错误将无法进入后台管理。
在后台管理中管理员可以添加、修改、和删除歌曲和专辑,
如图3.2所示。
图3.2管理流程图
3.3模块设计
模块设计主要分为用户模块和管理员模块。
用户模块主要面对的是用户,管理员模块主要是对系统进行添加删除歌曲。
3.3.1用户模块
用户登陆模块:
此模块用于本站用户进行登陆,登陆模块中包括了一个合法性的检查页面,如果该用户不存在就进入注册页面,注册成功以后便经过一个判断储存页面将用户输入的用户名和密码等信息自动储存在数据表中;会员登陆的时候检查页面会自动连接数据库核对用户名密码是否正确,登录成功后页面将自动跳转到首页。
搜索模块:
此模块是为了用户能够更加快捷方便的查找喜欢的歌曲而设计的。
搜索几乎是所有成功的Web应用的核心功能。
查询模块提供了基于“专辑名”和“歌曲名”这两种搜索方式。
用户查找到自己喜欢的歌曲后,可以本通过系统提供的在线点播方式播放。
只需单击相应的歌曲的,就会自动打开一个播放所选歌曲的页面。
专辑模块:
通常在线点播的站点都会根据一些标准来进行分类。
分类必须是可以维护的,也是增加和删除。
本系统采用的是只仅仅由专辑来分类的,如图3.3所示。
图3.3用户模块图
3.3.2管理员模块
管理员登陆模块:
此模块的设计是为了能更好的管理该系统,用于系统管理员进行登陆,登陆模块中也包括了一个合法性的检查页面,非法登陆将返回登陆界面,合法则进入系统。
这其中也涉及到数据库的应用,在管理人员输入用户名和密码的时候就会与数据表admin中的相比较。
音乐管理模块:
一个好的音乐必须不断更新站点的歌曲库,添加、删除和修改歌曲的功能是必须要有的。
此模块正是为了能更好的管理专辑和歌曲信息而设计的。
其中包括了专辑管理和歌曲管理这个两部分。
由管理员对其进行操作,可任意的对专辑和歌曲方进行添加、删除和修改。
站人员管理模块:
此模块是只有超级管理员才能使用的。
它能够添加、删除和修改管理员的权限。
方便对站人员进行管理。
用户管理模块:
此模块是为了能够更好的对会员进行管理而设计的,管理将有权限锁定和删除的会员,如图3.4所示。
图3.4管理员模块
3.4数据库详细设计
经过分析需要建立以下几个表。
管理员的信息表:
用来存放管理员的信息,如表1所示;用户信息表:
用来存放用户的基本信息,如表2所示;歌曲信息表:
用来存放歌曲的信息,如表3所示。
数据字典如下:
表1admin表(管理员表)
序号
字段名
数据类型
大小
说明
1
id
自动编号
关键字
设置为主键
2
admin
text
30
管理员的
3
pwd
text
30
管理员的密码
表2user表(用户注册表)
序号
字段名
数据类型
大小
说明
1
ID
自动编号
关键字
关键字
2
username
text
50
用户登陆名
3
pwd
text
50
用户密码
4
realname
text
50
用户真实
5
sex
text
50
性别
表3mp3表(歌曲数据库表)
序号
字段名
数据类型
大小
说明
1
ID
自动编号
关键字
主关键字
2
song
text
50
歌曲名
4
url
text
50
歌曲路径
5
album
text
50
专辑名
6
dian
text
50
点击数
表4album表(专辑据库表)
序号
字段名
数据类型
大小
说明
1
ID
自动编号
关键字
主关键字
2
album
text
50
歌曲名
3
almotes
text
50
专辑简介
4
alimage
text
50
路径
5
dianji
text
50
点击数
6
riqi
text
50
日期
4系统开发实施
4.1首页界面
主页是由是由框架组成,实现了用户的登陆、注册、修改用户资料、最新专辑、歌曲搜索等功能,在主页面上本系统提供了两种方式搜索歌曲:
第一种是根据歌曲名,第二种是根据专辑名。
用户通过输入相应的信息便可以找到想要试听的歌曲,如图4-1所示。
图4.1首页界面
搜索的主要代码如下:
<%
ifrequest.form("name")<>""then
name=request.form("name")
sql="select*frommp3wheresonglike'%"&name&"%'"
setrs=cn.execute(sql)
%>
歌曲名称
所属专集
操作
|
<%dowhilenotrs.EOF%>
<%=rs("song")%>
| <%=rs("album")%>
| id=<%=rs("id")%>">试听 |
<%
rs.movenextloop
ifrs.eof=rs.bofthenresponse.write""&""&"
"&"
"&"对不起.没找到相关的记录"
endif
%>
4.2会员注册页面
在主页面上有个会员登录,用户通过会员登陆进入首页听歌,如果不是会员请进入
注册页面进行注册后,再次登录进入首页就可以试听本站的歌曲,注册界面如图4.2所示。
图4.2会员注册页面
注册页面主要代码如下:
<%
//判断用户名是否为空
iftrim(request.form("usename"))=""then
response.write""&"alert('你没有输入用户名!
');"&"history.back()"&""
//判断输入的两次密码是否一至
elseiftrim(request.form("usepass"))<>request.form("usepasss")then
response.write""&"alert('两次输入的密码不相同!
');"&"history.back()"&""
//判断是否输入
elseiftrim(request.form("name"))=""then
response.write""&"alert('你没有输入!
');"&"history.back()"&""
else
%>
……
//获取文本空的值
<%
usename=request.form("usename")
……
//建立recordset对象
setrs=server.createobject("adodb.recordset")
//根据用户信息中用户名来查询
sql="select*fromcurrwhereusename='"&usename&"'"
rs.opensql,cn,1,3
//如果指针到表尾则执行插入语句
ifrs.eofthen
//向curr表中插入用户注册的信息
sql="insertintocurr(usename,usepass,name,selectsex)
values('"&usename&"','"&usepass&"','"&name&"','"&selectsex&"')"
//执行sql语句
.executesql
……
/否则输入该用户名已经存在
else
response.write""&"alert('该用户名已经存在!
');"&"history.back()"&""
……
%>
4.3会员登录页面
用户登录界面主要是面对本站的会员而开设的,用户先进入注册界面进行注册,然后到登录界面登录后可以对本站的歌曲进行在线试听,登录界面如图4.3所示。
图4.3会员登录界面
主要代码如下:
<%
//如果login=login则执行登录
login=request("login")
iflogin="登录"then
//如果用户名获取成功
currname=trim(request.form("usename"))
//用session记住用户名
session("usename")=trim(request.form("usename"))
currpass=trim(request.form("usepass"))
setrs=server.createobject("adodb.recordset")
//从数据库中选择与登陆名相同的记录
sql="select*fromcurrwhereusename='"&name&"'"
rs.opensql,cn,1,1
//如果未到表尾
ifnotrs.eofthen
//获取密码与注册时的密码相同
ifcurrpass=rs("usepass")then
session("usename")=usename
//转入到另一个页面
response.redirect"index.asp"
//密码不相符合,提示密码不正确
else
response.write""&"alert('密码不正确!
');"&"history.back()"&""
endif
//记录到末尾,则提示数据库中不存在这个用户名
else
response.write""&"alert('用户名不正确!
');"&"history.back()"&""
endif
//点击的是"注册",则进入注册页面
elseiflogin="注册"then
response.redirect"regg.asp"
endif
%>
4.4在线音乐播放
点播歌曲必然需要使用到插件,这就是需要调用系统中安装的播放器。
选择一首歌,点击试听的按钮便可以试听了,如图4.4所示。
图4.4播放器
播放器的主要代码如下:
22D6F312-B0F6-11D0-94AB-0080C74C7E95”id=”MediaPlayer1”width=”287”height=”226”>
//是否自动调整播放大小
//是否自动播放
//左右声道平衡,最左-9640,最右9640
//当前播放进度-1表示不变,0表示开头单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于0
//当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间