资源描述
提供全套毕业论文图纸,欢迎咨询
目 录
1 引言 1
2 需求分析 2
2.1 系统分析 2
2.1.1 系统的功能特点 2
2.1.2 音乐网站当前发展趋势 2
2.2 开发工具 3
2.2.1 ASP的介绍及其优点 3
2.2.2 Microsoft Access 数据库的优点 4
2.2.3 Web服务器 4
3 系统设计 5
3.1 系统的浏览 5
3.2 流程设计 6
3.2.1 用户流程 6
3.2.2 管理流程 6
3.3 模块设计 7
3.3.1 用户模块 7
3.3.2 管理员模块 8
3.4 数据库详细设计 9
4 系统开发实施 11
4.1 首页界面 11
4.2 会员注册页面 12
4.3 用户登录页面 14
4.4 在线音乐播放 16
4.5 管理员登录页面 18
结论 21
参考文献 21
致谢 22
1引言
互联网,毫无疑问是目前全球最热门的话题,其影响力早已深深地影响着神州大地。今年以来,全国各地的网络广告大战硝烟弥漫。不过,呈几何级数增长的网民同样对于中国的音乐网站十分关注。只是,与炙手可热的“新浪”、“网易”、“搜狐”等综合性大网站相比,音乐网站到目前为止还没有树立一个成功的模式,但是谁又敢忽视它未来的潜力呢?互联网是音乐传播最为迅速、便利和广泛的工具,早就有不少能人志士和风险资金聚集在了这块尚未开垦的土地上,一场空前的大拼杀已拉开了序幕。音乐网站如雨后春笋般地成长起来并开始掠夺音乐市场。
音乐网站作为互联网上最具有响应力的网站类型之一,越来越受到人们的欢迎。建立一个具有个性化音乐网站,便可以以特色称霸一方。
本音乐网站系统的设计主要采用ASP(Active Server Pages)技术,并综合相关的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.1 ASP的介绍及其优点
ASP页面看起来像普通HTML页面,但它允许嵌入执行代码,在这一点上,它和JSP技术非常相似。ASP支持组件,使用Visual Basic或者微软的其他技术开发的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.2 Microsoft Access 数据库的优点
由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。
2.2.3 Web服务器
Web服务器是Web应用程序的中心位置。IIS(Internet Information Server)是微软公司推出的Windows NT Option Pack的主要成员,作为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是Windows 2000 Server 自带组件。如果安装操作系统是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所示。
歌 曲
在线视听
读取数据
播 放
用 户
登 陆
判 断
注册
N
Y
图3.1 用户流程图
3.2.2 管理流程
管理员拥有独立的管理模块进行后台管理,有单独的安全人证入口。如果登录密码错误将无法进入后台管理。在后台管理中管理员可以添加、修改、和删除歌曲和专辑,
后台管理
管理员
登 录
判 断
结 束
N
Y
如图3.2所示。
图3.2 管理流程图
3.3 模块设计
模块设计主要分为用户模块和管理员模块。用户模块主要面对的是用户,管理员模块主要是对系统进行添加删除歌曲。
3.3.1 用户模块
用户登陆模块:此模块用于本站用户进行登陆,登陆模块中包括了一个合法性的检查页面,如果该用户不存在就进入注册页面,注册成功以后便经过一个判断储存页面将用户输入的用户名和密码等信息自动储存在数据表中;会员登陆的时候检查页面会自动连接数据库核对用户名密码是否正确,登录成功后页面将自动跳转到首页。
搜索模块:此模块是为了用户能够更加快捷方便的查找喜欢的歌曲而设计的。搜索几乎是所有成功的Web应用的核心功能。查询模块提供了基于“专辑名”和“歌曲名”这两种搜索方式。
用户查找到自己喜欢的歌曲后,可以本通过系统提供的在线点播方式播放。只需单击相应的歌曲的链接,就会自动打开一个播放所选歌曲的页面。
专辑模块:通常在线点播的站点都会根据一些标准来进行分类。分类必须是可以维护的,也是增加和删除。本系统采用的是只仅仅由专辑来分类的,如图3.3所示。
搜 索
专 辑
专辑名
释放
末世纪的呼声
Listen UP
歌曲名
登 录
首页
注册
毋忘我
玉蝴蝶
音乐网站
图3.3用户模块图
3.3.2 管理员模块
管理员登陆模块:此模块的设计是为了能更好的管理该系统,用于系统管理员进行登陆,登陆模块中也包括了一个合法性的检查页面,非法登陆将返回登陆界面,合法则进入系统。这其中也涉及到数据库的应用,在管理人员输入用户名和密码的时候就会与数据表admin中的相比较。
网站音乐管理模块:一个好的音乐网站必须不断更新站点的歌曲库,添加、删除和修改歌曲的功能是必须要有的。此模块正是为了能更好的管理专辑和歌曲信息而设计的。其中包括了专辑管理和歌曲管理这个两部分。由管理员对其进行操作,可任意的对专辑和歌曲方进行添加、删除和修改。
站内人员管理模块:此模块是只有超级管理员才能使用的。它能够添加、删除和修改管理员的权限。方便对站内人员进行管理。
用户管理模块:此模块是为了能够更好的对网站会员进行管理而设计的,管理将有权限锁定和删除网站内的会员,如图3.4所示。
管理员
登陆成功
用户管理
网站音乐管理
站内人员管理
修改
删除
删除
添加
修改
登录
进入后台
退出
专辑管理
歌曲管理
图3.4 管理员模块
3.4 数据库详细设计
经过分析需要建立以下几个表。管理员的信息表:用来存放管理员的信息,如表1所示;用户信息表:用来存放用户的基本信息,如表2所示;歌曲信息表:用来存放歌曲的信息,如表3所示。
数据字典如下:
表1 admin表(管理员表)
序号
字段名
数据类型
大小
说明
1
id
自动编号
关键字
设置为主键
2
admin
text
30
管理员的姓名
3
pwd
text
30
管理员的密码
表2 user表(用户注册表)
序号
字段名
数据类型
大小
说明
1
ID
自动编号
关键字
关键字
2
username
text
50
用户登陆名
3
pwd
text
50
用户密码
4
realname
text
50
用户真实姓名
5
sex
text
50
性别
表3 mp3表(歌曲数据库表)
序号
字段名
数据类型
大小
说明
1
ID
自动编号
关键字
主关键字
2
song
text
50
歌曲名
4
url
text
50
歌曲路径
5
album
text
50
专辑名
6
dian
text
50
点击数
表4 album表(专辑据库表)
序号
字段名
数据类型
大小
说明
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 首页界面
搜索的主要代码如下:
<%
if request.form("name")<>"" then
name=request.form("name")
sql="select * from mp3 where song like '%"&name&"%'"
set rs=cn.execute(sql)
%>
<tr>
<td width="187"><div align="center">歌曲名称</div></td>
<td width="212"><div align="center">所属专集</div></td>
<td width="227"><div align="center">操作</div></td>
</tr>
<%do while not rs.EOF%>
<tr>
<td><%=rs("song")%>
<div align="center"></div></td>
<td><%=rs("album")%>
<div align="center"></div></td>
<td><div align="center"><a href="play1.asp?id=<%=rs("id")%>">试听</a></div></td>
</tr>
<%
rs.movenext loop
if rs.eof=rs.bof then response.write "<tr align=center>"&"<td colspan='8'>"&"<br>"&"<br>"&"对 不 起 . 没 找 到 相 关 的 记 录"
end if
%>
4.2 会员注册页面
在主页面上有个会员登录,用户通过会员登陆进入首页听歌,如果不是会员请进入
注册页面进行注册后,再次登录进入首页就可以试听本站的歌曲,注册界面如图4.2所示。
图4.2 会员注册页面
注册页面主要代码如下:
<%
//判断用户名是否为空
if trim(request.form("usename"))="" then
response.write "<script language=javaScript>" & "alert('你没有输入用户名!');" & "history.back()" & "</script>"
//判断输入的两次密码是否一至
elseif trim(request.form("usepass"))<>request.form("usepasss")then
response.write "<script language=javaScript>" & "alert('两次输入的密码不相同!');" & "history.back()" & "</script>"
//判断是否输入姓名
elseif trim(request.form("name"))="" then
response.write "<script language=javaScript>" & "alert('你没有输入姓名!');" & "history.back()" & "</script>"
else
%>
……
// 获取文本空的值
<%
usename=request.form("usename")
……
//建立recordset对象
set rs=server.createobject("adodb.recordset")
//根据用户信息中用户名来查询
sql="select * from curr where usename='"&usename&"'"
rs.open sql,cn,1,3
//如果指针到表尾则执行插入语句
if rs.eof then
//向curr表中插入用户注册的信息
sql="insert into curr(usename,usepass,name,selectsex)
values('"&usename&"','"&usepass&"','"&name&"','"&selectsex&"')"
//执行sql语句
cn.execute sql
……
/否则输入该用户名已经存在
else
response.write "<script language=JAVAScript>" & "alert('该用户名已经存在!');" & "history.back()" & "</script>"
……
%>
4.3 会员登录页面
用户登录界面主要是面对本站的会员而开设的,用户先进入注册界面进行注册,然后到登录界面登录后可以对本站的歌曲进行在线试听,登录界面如图4.3所示。
图4.3 会员登录界面
主要代码如下:
<%
//如果login=login则执行登录
login=request("login")
if login="登录" then
//如果用户名获取成功
currname=trim(request.form("usename"))
//用session记住用户名
session("usename")=trim(request.form("usename"))
currpass=trim(request.form("usepass"))
set rs=server.createobject("adodb.recordset")
// 从数据库中选择与登陆名相同的记录
sql="select * from curr where usename='"&name&"'"
rs.open sql,cn,1,1
//如果未到表尾
if not rs.eof then
//获取密码与注册时的密码相同
if currpass=rs("usepass") then
session("usename")=usename
//转入到另一个页面
response.redirect "index.asp"
//密码不相符合,提示密码不正确
else
response.write "<script language=JavaScript>" & "alert('密码不正确!');" & "history.back()" & "</script>"
end if
//记录到末尾,则提示数据库中不存在这个用户名
else
response.write "<script language=JavaScript>" & "alert('用户名不正确!');" & "history.back()" & "</script>"
end if
//点击的是"注册",则进入注册页面
elseif login="注册" then
response.redirect"regg.asp"
end if
%>
4.4 在线音乐播放
点播歌曲必然需要使用到插件,这就是需要调用系统中安装的播放器。选择一首歌,点击试听的按钮便可以试听了,如图4.4所示。
图4.4 播放器
播放器的主要代码如下:
<object classid=”clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95” id=”MediaPlayer1” width=”287” height=”226”>
<param name=”AudioStream” value=”-1”>
<param name=”AutoSize” value=”-1”>
//是否自动调整播放大小
<param name=”AutoStart” value=”-1”>
//是否自动播放
<param name=”AnimationAtStart” value=”-1”>
<param name=”AllowScan” value=”-1”>
<param name=”AllowChangeDisplaySize” value=”-1”>
<param name=”AutoRewind” value=”0”>
<param name=”Balance” value=”0”>
//左右声道平衡,最左-9640,最右9640
<param name=”BaseURL” value>
<param name=”BufferingTime” value=”15”>
//当前播放进度 -1 表示不变,0表示开头单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于0
<param name=”CurrentMarker” value=”0”>
<param name=”DefaultFrame” value>
<param name=”DisplayBackColor” value=”0”>
<param name=”DisplayForeColor” value=”16777215”>
<param name=”DisplayMode” value=”0”>
<param name=”DisplaySize” value=”0”>
//当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间
<param name=”ShowTracker” value=”-1”>
//是否显示当前播放跟踪条,即当前的播放进度条
<param name=”TransparentAtStart” value=”-1”>
<param name=”VideoBorderWidth” value=”0”>
<%else%>
<%
set ds=server.createobject(“adodb.recordset”)
sql=”select * from test where id=”&id&””
ds.open sql,conn
%>
<param name=”Filename” value=”<%=ds(“path”)%>” valuetype=”ref”>
<%end if%>
//播放的文件地址
</object>
4.5 管理员登录页面
管理员必须进行身份认证才能进入后台管理系统,同时也可以在后台管理系统中添加管理员,对本站的歌曲和用户进行管理,如图4.5所示。
图4.5 管理员登录界面
后台主要代码如下:
<%sql="select * from mp3 order by id desc"
set rs=Server.CreateObject("ADODB.recordset")
rs.open sql,ql,1,1
If Not rs.Bof And Not rs.Eof Then
'-------------------------------------------------------------------------------
'下面一段判断当前显示第几页,如是第一次打开,为1,否则由传回参数决定
Dim page_no
If Request.QueryString("page_no")="" Then
page_no=1
Else
page_no=Cint(Request.QueryString ("page_no")) '用Cint将字符串变为整数
End If
'-------------------------------------------------------------------------------
'下面一段开始分页显示,指向要显示的页,然后逐条显示当前页的所有记录。
rs.PageSize=18 '设置每页18条记录
rs.AbsolutePage=page_no '设置当前显示第几页
Dim I '该变量用来控制显示当前页记录
I=rs.PageSize
Do While Not rs.Eof And I>0 '循环直到当前页结束或记录集结尾
I=I-1%>
<tr bgcolor="#FFF9F7"><td height="22"><%=rs("id")%><td width="216"><%=rs("song")%>
<td><a href="edit.asp?type=edit&id=<%=rs("id")%>">修改</a>
<td><a href="edit.asp?type=delete&id=<%=rs("id")%>">删除</a>
<%rs.MoveNext
Loop %></table>
<%Response.Write "<p align='center'>请选择数据页: "
For I=1 To rs.PageCount
If I=page_no Then '如是当前页,就不加超链接
Response.Write I & " "
Else '如不是当前页,就加上超链接
Response.Write "<a href='adminmake.asp?page_no=" & I & "'>" & I & "</a> "
End If
Next
'-------------------------------------------------------------------------------
Else
Response.Write "该记录集为空"
End If
cn.close
set cn=nothing
%>
结论
本系统经过将近一个月的研究、开发,完成了本系统的所有功能,达到了最终的目的。通过本次毕业设计,我从中学到了很多的知识,这些知识是我在平时学习理论课时所学不到的。在上理论课时,由于课时非常有限,老师只能起到抛砖引玉的作用,即使自己在平时花了一些时间去看书,但还是感觉到自己没学到什么,感谢学院老师给了我们一个动手实践的机会,同时在指导老师的耐心教导之下,使自己能够把所学到的理论知识与实践结合起来。在设计中,发现了自己存在了很多不足,在指导老师的帮助下,我能够认清自己的不足,并能很好的解决这些问题。
在今后的日子里,我会进一步加强自我动手能力,并在以后工作岗位中发挥我所长。
参考文献
[1] 谭浩强.《网页编程技术》.清华大学出版社.2004年1月
[2] 尚俊杰.《网络程序设计——ASP》.清华大学出版社. 2004年2月
[3] 包锦阳.《大专生毕业论文(设计)写作指导》.浙江大学出版社.2006年3月
致谢
衷心的感谢我的指导老师钱新杰。在系统的开发过程中,给了我许多宝贵的意见,在我完成此系统的任务中起了非常重要的一角。同时,还感谢帮助过我的所有老师,谢谢他们在此系统的开发过程中所提供的帮助.让我能够顺利地完成本系统的开发,实现了此系统所有的功能
22
展开阅读全文