音乐网站设计与实现.docx
《音乐网站设计与实现.docx》由会员分享,可在线阅读,更多相关《音乐网站设计与实现.docx(24页珍藏版)》请在冰豆网上搜索。
音乐网站设计与实现
第1章绪论
1.1选题背景
随着Internet网正在向全世界各大洲延伸和扩散,Internet是一个国际性的通信网络集合体,它集现代通信技术和现代计算机技术于一体,是计算机之间进行国际信息交流和实现资源共享的良好手段。
Internet也是人类历史发展中的一个伟大的里程碑,它是未来信息高速公路的雏形,人类正由此进入一个前所未有的信息化社会。
人们用各种名称来称呼Internet,如国际互联网络、因特网、交互网络、网际网等等,已经成为世界上覆盖面最广、规模最大、信息资源最丰富的计算机信息网络。
音乐网站目前最常见的音乐发烧友网站行业呈现出的旺盛生命力和巨大的市场潜力。
音乐网站信息系统采用了B/S开发框架,先进的管理构思,完善的业务管理功能,整个产品在管理功能、易用性、实用性、数据容量、数据安全性、网络稳定性方面都有了很大的提高
1.2编写目的
研究网站的开发技术,重点是IIS,HTML,ASP。
Net。
开发一个音乐欣赏网站。
该网站使用SQLServer保存数据,用ASP。
Net设计动态网页。
1。
3编写意义
计算机和计算机网络的飞速发展,人们对计算机网络的依赖是越来越大。
人们在网上聊天交友,在网上请教问题,查阅资料,还在网上玩游戏.除此之外,人们还会在网上进行商务交易、下载信息,有着众多的使用者。
而我想设计一个全新的音乐综合网站,这个网站有别于其他音乐网站的常规设计,将给人一种全新的感觉,使之浏览,搜索音乐更加方便和快捷。
这也就是毕业设计的编写意义。
第2章需求分析
2.1功能需求描述
音乐专辑,音乐动向,音乐故事,音乐留言。
音乐专辑:
是本网站功能最强的网页。
介绍了音乐的专辑.专辑是按专辑类别分页,点击某个人的专辑,连接到详细专辑页面。
音乐动向:
按歌手分类,显示歌手的最新动向。
如最近的行期安排。
音乐故事:
按歌手分类,显示歌手的个人介绍。
如身高,家人等信息.
音乐留言:
给本网站留言.可以是对网站的评价,意见等您想说的话。
专辑增加与维护,歌曲类别增加与维护,歌曲增加与维护,音乐动向增加与维护,音乐故事增加与维护,留言版维护。
2。
2可行性分析
技术可行性:
使用ASP。
NET,SQLServer,合理设计技术方案,并与其他音乐网站进行比选和评价。
经济可行性:
本网站可进行网上销售,卖家可以购买唱片,图片等与音乐有关的商品.有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益。
社会可行性:
本网站对社会完全没有不良影响。
2.3统性能需求描述
开发环境:
ASP。
NET2005,SQLServer2000
运行环境:
ASP.NET2005
软件硬件配置要求:
MicrosoftWindowsXPHomeEdition
AMDTurion(tm)64*2
1.81GHz,960MB
NVIDIAGeForceGo6150
第3章总体设计
3.1功能框图
3。
1.1功能框图
这是本网站总体的功能框图.网站的名称是《最爱音乐网》,它可以分为六大块功能,分别为:
注册、登录、音乐专辑、音乐动向、音乐故事、音乐留言。
3。
1.2注册功能说明
图3—1注册
功能是新用户的注册。
注册用户名时需要调用两次校验一次是客户端的非空验证,还有一次是服务器端的用户名是否存在的数据库检索。
注册成功时自动跳转到登录界面。
3。
1。
3.登录功能说明
图3—2登录
功能是登录。
在用户名和密码都正确的情况下可以登录。
一种是普通用户登录:
进入主界面,可以浏览本网站。
另一种是管理员登录:
进入网站维护界面,可以对网站进行维护。
3.1。
4音乐专辑功能说明
图3—3音乐专辑
功能是浏览音乐专辑。
普通用户进入后可以根据专辑的类别浏览专辑列表。
专辑类别分为流行歌曲、日韩歌曲、欧美歌曲、儿童歌曲等.点击专辑列表可以进入这个专辑的详细信息。
详细信息包括专辑名称、歌手名称、发行日期、专辑介绍专辑歌曲列表等信息.点击歌曲可以免费下载歌曲。
本网站共收集上百种专辑供用户随意浏览与下载。
3。
1.5音乐动向功能说明
图3—4音乐动向
功能是浏览音乐动向。
动向列表是按歌手排列的。
点击进入歌手的最新动向,最新动向包括歌手的最新行程安排等信息.
3。
1。
6音乐故事功能说明
图3—5音乐故事
功能是浏览音乐故事。
故事列表是按歌手排列的.点击进入歌手的个人故事,个人故事包括歌手的个人介绍和故事.个人介绍:
出生地、生日、身高等信息。
故事:
个人的经历、专辑、唱片的介绍等信息.
3。
1.7音乐留言功能说明
图3—6音乐留言
功能是发表留言.普通用户进入音乐留言界面后可以随意对本网站进行留言。
留言可以是对本网站的建议、评论,还可以是对自己喜欢的歌手,专辑发表评论等。
3。
2数据字典
表3-1歌曲表
表名
Music
用途
用于输入音乐详细信息
中文字段名
英文字段名
类型
长度
备注
歌曲编号
M_Id
数值
主键
歌曲名称
M_Name
字符
10
歌曲歌手编号
M_SingerId
数值
歌曲歌手名称
M_SingerName
字符
10
歌曲类型编号
M_ClassId
数值
歌曲类型名称
M_ClassName
字符
10
歌曲专辑编号
M_AlbumId
数值
歌曲专辑名称
M_AlbumName
字符
10
表3-2专辑表
表名
Album
用途
用于输入专辑详细信息
中文字段名
英文字段名
类型
长度
备注
专辑编号
A_Id
数值
主键
专辑名称
A_Name
字符
20
专辑歌手编号
A_SingerId
数值
专辑歌手名称
A_SingerName
字符
10
专辑类型编号
A_ClassId
数值
专辑类型名称
A_ClassName
字符
10
发行日期
A_Date
日期
发行公司
A_Company
字符
20
专辑语言
A_Language
字符
10
专辑介绍
A_Intro
字符
1000
专辑图片
A_Pic
字符
50
表3—3音乐动向表
表名
音乐动向
用途
用于输入音乐动向详细信息
中文字段名
英文字段名
类型
长度
备注
动向编号
P_Id
数值
主键
动向图片
P_Pic
字符
50
音乐动向
P_Pulse
字符
1000
动向名称
P_Name
字符
50
表3—4音乐故事表
表名
音乐故事
用途
用于输入音乐故事详细信息
中文字段名
英文字段名
类型
长度
备注
故事编号
S_Id
数值
主键
故事图片
S_Pic
字符
50
音乐故事
S_Pulse
字符
1000
故事名称
S_Name
字符
50
故事介绍
S_Intro
字符
500
表3—5歌曲类别表
表名
歌曲类别
用途
用于输入歌曲类别详细信息
中文字段名
英文字段名
类型
长度
备注
类别编号
ClassId
数值
主键
类别名称
ClassName
字符
10
表3—6留言表
表名
留言表
用途
用于输入留言详细信息
中文字段名
英文字段名
类型
长度
备注
时间
M_Time
字符
100
主键
标题
M_Title
字符
100
名称
M_Name
字符
100
留言
M_News
字符
1000
表3-7注册表
表名
注册
用途
用于输入注册详细信息
中文字段名
英文字段名
类型
长度
备注
用户编号
UserID
十进制
10
主键
用户名
UserName
字符
30
密码
UserPwd
字符
20
邮箱
Email
字符
50
性别
UserSex
字符
2
生日
Birthday
字符
20
身份证
IdentityCard
字符
18
自我介绍
ZiWoJieShao
字符
100
用户类别
Type
字符
10
第4章页面设计
4.1最爱音乐网前台设计
图4—1音乐专辑界面
图4—2音乐专辑界面
图4—3登录界面
4。
2最爱音乐网后台设计
图4—4维护界面
图4-5专辑维护界面
第5章编码实现
本网站在模式上采用B/S,语言运用(C#),利用数据库(SQLServer),在技术上以ASP.NET为主导,充分运用在学校所学的各方面知识。
5.1B/S模式
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。
浏览器通过WebServer同数据库进行数据交互。
(1)B/S模式是一种三层结构的系统。
第一层客户机是用户与整个系统的接口.客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等.浏览器将HTML代码转化成图文并茂的网页.网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。
这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。
如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。
(2)B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。
甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
5。
2C#语言
C#是Microsoft在推出。
NETFramework的第1版时提供的一种全新语言.它是为生成运行在.NETFramework上的、广泛的企业级应用程序而设计的.C#从MicrosoftC和MicrosoftC++演变而来,它是一种简单、现代、类型安全和面向对象的语言。
C#代码被作为托管代码编译,这意味着它能够从公共语言运行库的服务中受益.这些服务包括:
语言互操作性、垃圾回收、增强的安全性以及改进的版本支持.C#的快速流行,使之成为使用.NET的Windows和Web开发人员无可争议的语言选择.他们喜欢C#的一个原因是其派生于C/C++的简洁语法,这种语法简化了以前困扰一些程序员的问题。
尽管做了这些简化,但C#仍保持了C++原来的功能,所以现在没有理由不从C++转向C#。
这种语言并不难,也非常适合于学习基本编程技术。
易于学习、再加上。
NETFramework的功能,是使C#成为开始您编程生涯的绝佳方式。
C#的最新版本是.NET2。
0的一部分,它建立在已有的成功基础之上,还添加了一些更吸引人的功能.其中一些功能取自于C++(至少从表面上看是这样),而另外一些功能是全新的.VisualStudio的最新版本也有许多变化和改进,这大大简化了编程,显著提高了效率。
本书将全面介绍C#编程的所有知识,从该语言本身一直到Windows和Web编程,再到数据源的使用,最后是一些高级技术,例如图形编程。
5。
3SQLServer数据库
SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案.
SQL(STructuredQueryLanguage)是一种资料库查询和程式设计语言,用于存取资料以及查询、更新和管理关联式资料库系统.美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准.ANSI是一个美国工业和商业集团组织,发展美国的商务和通讯标准。
ANSI同时也是ISO和InternationalElectrotechnicalCommission(IEC)的成员之一。
ANSI发布与国际标准组织相应的美国标准。
1992年,ISO和IEC发布了SQL的国际标准,称为SQL—92ANSI随之发布的相应标准是ANSISQL-92.ANSISQL-92有时被称为ANSISQL.尽管不同的关联式资料库使用的SQL版本有一些差异,但大多数都遵循ANSISQL标准。
SQLServer使用ANSISQL-92的扩展集,称为T—SQL,其遵循ANSI制定的SQL—92标准.
MicrosoftSQLServer2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,RelationalDatabaseManagementSystem).SQLServer2000是为支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台.
通过新数据库镜像方法,将记录档案传送性能进行延伸.您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性.
5。
4ASP.NET技术
Asp。
net是建立在通用语言运行时刻库(CLR)上的应用程序框架。
它提供了一个生产率高且基于标准的多语言环境,用于将现有投资与下一代应用程序和服务集成,同时提供了解决Internet规模应用程序的部署和操作难题的灵活性。
他用来在服务器端构建功能强大的web应用程序。
ASP。
net不仅仅是ActiveServerPage(ASP)的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。
ASP。
net提供许多比现在的Web开发模式强大的的优势.执行效率大幅提高
ASP。
net是把基于通用语言的程序在服务器上运行。
不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
世界级的工具支持
ASP。
net构架是可以用Microsoft(R)公司最新的产品VisualS开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即为所得)的编辑。
这些仅是ASP。
net强大化软件支持的一小部分。
强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows2000Server上)。
通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中.ASP。
net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。
将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP。
net
5。
5功能实现
5。
5.1登录流程图
5。
5。
2登录代码实现
/******************************************************************
**开发人:
于炳煜
**开发时间:
1014-12-12
**模块名称:
登录页面
**功能简述:
输入正确的用户名密码时即可进入主页面
*********************************************************/
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlCommandcmd=newSqlCommand(”select*fromRegisterwhereUserName='"+TextBox1。
Text+"’andUserPwd=’"+TextBox2.Text+”’”,clsCon。
DBOpen());
SqlDataReaderdt=cmd。
ExecuteReader();
stringtype=””;
if(dt.Read())
{
type=Convert.ToString(dt.GetValue(8));
}
dt.Close();
clsCon。
DBClose();
if(type=="1")
{
Response.Redirect(”Manager。
aspx”);
}
SqlCommandcmd1=newSqlCommand(”selectcount(*)fromRegisterwhereUserName=’"+TextBox1。
Text+"'andUserPwd=’”+TextBox2.Text+”’",clsCon。
DBOpen());
inti=(int)cmd1.ExecuteScalar();
if(i>0)
{
Session["Name"]=TextBox1。
Text;
Response.Redirect(”Main。
aspx");
}
else
{
Response.Write(”〈scriptlanuage=javascript〉alert(’用户名或密码错误’);location=’javascript:
history。
go(-1)'〈/script〉");
}
clsCon.DBClose();
}
5.5。
3注册流程图
5。
5。
4注册代码实现
/******************************************************************
**开发人:
于炳煜
**开发时间:
1014-12—12
**模块名称:
注册页面
**功能简述:
注册成功后即可进入登录界面
*********************************************************/
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(Page.IsValid)
{
try
{
SqlConnectioncon=newSqlConnection(ConfigurationManager。
ConnectionStrings["GraduateConnectionString"].ConnectionString);
con。
Open();
stringsex=”男”;
if(RadioButton3。
Checked==true)
{sex="女”;}
SqlCommandcmd=newSqlCommand(”insertintoregistervalues(’"+TextBox1.Text.Trim()+”’,'”+TextBox3。
Text。
Trim()+”',’"+TextBox4.Text.Trim()+"','”+sex+”’,'”+TextBox7。
Text。
Trim()+”','"+TextBox5。
Text.Trim()+"’,’”+TextBox6。
Text.Trim()+”',’"+””+"')”,clsCon。
DBOpen());
cmd。
ExecuteNonQuery();
clsCon。
DBClose();
Response。
Redirect("CG。
aspx");
}
catch(Exceptionee)
{
Response。
Write(”〈scriptlanguage=’JavaScript’>");
Response.Write("alert('提交失败!
’)");
Response.Write("〈/cript〉”);
}
}
}
protectedvoidCustomValidator1_ServerValidate(objectsource,ServerValidateEventArgsargs)
{
SqlCommandcmd1=newSqlCommand(”selectcount(*)fromRegisterwhereUserName=’”+TextBox1。
Text+”'",clsCon。
DBOpen());
inti=(int)cmd1.ExecuteScalar();
if(i〉0)
{
args。
IsValid=false;
}
else
{
args。
IsValid=true;
}
}
5。
5。
5歌曲下载流程图
5。
5。
6歌曲下载代码实现
/******************************************************************
**开发人:
于炳煜
**开发时间:
1014—12—12
**模块名称:
下载页面
**功能简述:
当点击下载歌曲时即可下载歌曲
*********************************************************/
protectedvoidGridView1_SelectedIndexChanged(objectsender,EventArgse)
{
if(GridView1.SelectedIndex!
=—1)
{
stringM_Id=GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
stringM_FileName=”";
if(M_Id!
=””)
{
SqlConnectioncon=newSqlConnection();
con。
ConnectionString=ConfigurationManager。
ConnectionStrings[”gradua