【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发

【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发

ID:479666

大小:1.45 MB

页数:43页

时间:2017-08-09

上传者:U-944
【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发_第1页
【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发_第2页
【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发_第3页
【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发_第4页
【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发_第5页
资源描述:

《【计算机科学与技术专业】【毕业设计】音乐微博系统的设计和开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

(20届)本科毕业论文音乐微博系统的设计和开发V 摘要:随着网络技术的飞速发展和网络应用逐渐深入到人类生活的各个方面,采用传统磁带、CD欣赏音乐,已经不能满足广大音乐爱好者随时随地欣赏最新音乐的需求。音乐微博传播音乐的速度比普通的媒体快,是一个更加专业的,娱乐性的,面向喜爱音乐的,涉及音乐行业的更加专注的互动传播性工具,它主要用音乐来书写心情,用音乐来放松心情,用音乐来寻找交友圈的微型博客。它是一种非正式的迷你型博客,最大特点是微型,集成,开放。对用户的技术要求门槛很低,而且在语言的编排组织上,没有博客那么高,只需要上传自己喜爱的音乐反映自己的心情,和普通的微博比更加专业。随着3G行业以及手机技术的发展,音乐微博会开通的多种API使得大量的用户可以通过手机、网络等方式来即时更新自己的个人信息。本系统采用的开发语言是PHP,MYSQL,HTML,CSS,JAVASCRIPT;实现了用户注册,用户登录,微博收听,微博展示,微博排行榜,人气排行榜,找人,音乐播放等功能,达到了一个音乐微博所具有的基本技术水平。关键词:音乐微博;微型;集成;开放V DesignandDevelopmentofMusicMicro-bloggingAbstract:WiththerapiddevelopmentoftheInternettechnology,Thewebapplicationgodeepintothepeople’slife.ListeningmusicbymusictapeandCDcan’tsatisfytherequestwhichthepeoplewholikemusicsay.Musicmicro-blogging’sspreadingspeedisfasterthantheformalmedia.Itisamoreprofessional,recreationalatoolreferringtomusicindustry.Itusedmusictoexpresspeople’semotion,torelaxingthemselves,tofindfriends.Itisaninformalminimusicblog.Itsadvantagesaremicro,integrationandopening.Itiseasierforuserstousemusicmicro-blogging.Wecanuseshortwordstoexpressourselves.Itismoreprofessionalthantheformalmicro-blogging.Withthedevelopmentof3Gindustryandmobiletechnology,userscanupdatetheinformationonmobile.ThissystemisdevelopedbyPHP,MYSQL,HTML,CSS,JAVASCRIPT,realizingthesystemregistering,systemlogin,micro-blogginglistening,micro-bloggingshowing,theorderofmicro-blogging,theorderofusers,searchingforpeopleandmusicplaying.Thereisabasiclevelthatmusicmicro-bloggingshouldhave.Keywords:MusicMicro-blogging;micro;integrate;openingV 目录1绪论11.1课题的研究背景11.1.1微博简介11.1.2微博的兴起11.2课题研究的目的与意义11.3课题的研究内容21.4课题的研究方法21.5论文的内容组织22基础知识简介32.1HTML简介32.1.1HTML元素32.1.2HTML元素属性32.1.3HTML数据类型32.2PHP32.2.1PHP5.042.2.2MySQL42.3Javascript脚本52.4数据库技术62.4.1数据库设计的基本步骤62.4.2数据库设计的原则63系统分析73.1可行性分析73.1.1技术可行性73.1.2实用性73.2需求分析73.2.1功能需求分析73.2.2E-R图设计10V 4概要设计134.1数据表的逻辑结构设计134.2界面设计144.3功能模块设计155详细设计165.1注册模块165.2登录模块165.3音乐模块166系统实现176.1主界面176.2前台功能186.2.1会员登录与注册186.2.2音乐达人榜196.2.3音乐微博榜216.2.4音乐广场226.3后台管理系统246.3.1微博设置256.3.2用户管理266.3.3音乐消息管理276.3.4公告管理307系统测试与评价327.1系统测试的原则及方法327.2测试与评价337.2.1单元测试337.2.2集成测试367.2.3系统测试与评价368总结及展望37V 致谢38参考文献39V 1绪论1.1课题的研究背景1.1.1微博简介微博,即微博客(Micro-Blogging)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。最早也是最著名的微博是美国的twitter,根据相关公开数据,截至2010年1月份,该产品在全球已经拥有7500万注册用户。2009年8月份中国最大的门户网站新浪网推出“新浪微博”内测版,成为门户网站中第一家提供微博服务的网站,微博正式进入中文上网主流人群视野。微博客成为了一个继博客之后的全新信息平台?似乎从目前看来,还很难,曾经尝试过用微博客来发布过新闻:见证中国第一条自主研发的等离子电视机生产线落成,但似乎连一点水花都没有溅起来。或许是自己的影响力太小吧,怪不得微博客。不过呢,短短几十个字,也不可能让任何人在微博客上成为意见领袖,最多就是如同一个通讯社记者那样,将一个最新的即时新闻用最少的言语,以最快的速度通过手机或其他方式发布在网上。1.1.2微博的兴起“在微博客上,140字的限制将平民和莎士比亚拉到了同一水平线上。”的确,微博客的出现,让每一个“小我”都有了展示自己的舞台,引领了大量用户原创内容的爆发式增长。正如Twitter拥趸所认为的,Twitter为世界带来了一个“人人都能发声,人人都可能被关注的时代”。Twitter巨大的影响力,甚至令社交网站的老大Facebook感到不安。Facebook董事、最大投资人之一彼得·特尔曾如此评价Twitter:“这要么是一个伟大的战略,要么是一个可怕的战略。”比起Facebook,Twitter形成的是一个更为开放的社交体系。Facebook的用户都是以现实生活中结识的朋友组成圈子相互交流,Twitter则降低了门槛,用户之间即使并不认识,但任何人的每一条信息都能以广播的形式通知其跟随者和其他所有的用户知道。也可能正是预计到二者未来将面临的强劲竞争,Facebook甚至曾提出要用价值5亿美元的股票和现金收购Twitter。1.2课题研究的目的与意义据了解,现在国内微博的发展已经逐步向国际化的twitter靠近,但与twitter的实质性相比还处于早期发展阶段。另据了解,在美国的twitter即可为个人用户发表每日心情,也可以提高为企业宣传的内容信息。而目前国内微博还是以个人用户为主,发布内容还没有呈现多样化趋势,也就很难催生出产业化的资源。36 未来的微博发展趋势,将从目前的大众化发展为专业化。而音乐微博将会是整个音乐迷,音乐爱好者,音乐作者,音乐人的网络音乐活动聚集地,这个场所将能为主职音乐的人们提供一个推广的地方。相当于歌手和粉丝关系聚集的地带1.3课题的研究内容1)理解和分析目前已有的微博和音乐微博系统;2)对已有系统查漏补缺,突出音乐微博的特点;3)根据自己所学的知识设计出一个比较完善的音乐微博系统;4)利用微博的核心技术Ajax,来做好系统的微博消息发送和接受功能;5)对多种网络音乐格式进行基本的支持。1.4课题的研究方法(1)文献研究法文献研究法主要指收集、鉴别、整理文献,并通过对文献的研究,形成对事实科学认识的方法[5]。该方法主要用于系统开发的前期。以此确定毕业设计的选题。然后,根据相关文献,对系统进行需求分析和可行性分析,从而确定自己的研究方向和实现方法。(2)数据库设计方法通过该方法,设计出结构完整并适合管理的数据库。(3)面向对象方法面向对象方法(Object-OrientedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学[6]。通过该方法,运用面向对象编程工具,来完成服装电子商务管理系统的开发。1.5论文的内容组织论文共由七章组成。第1章绪论,主要介绍系统的研究背景、研究目的和意义、研究内容以及研究方法;第2章基础知识简介,主要介绍系统开发过程中会用到的相关技术,主要有系统的开发平台PHP,系统开发语言PHP,以及数据库技术;第3章系统分析,主要是对系统总体功能的一个阐述,说明系统要实现的各个基本功能模块,并对系统的可行性进行分析;第4章概要设计,主要介绍系统的总体框架及相关数据结构;第五章概要设计,主要介绍了数据表的逻辑结构设计,界面设计和功能模块设计。第6章系统实现,主要介绍系统的硬件软件环境、界面设计、功能实现、主要技术难点;第7章系统测试与评价,主要涉及系统的测试方法、数据,结论以及对系统的性能进行评价;第8章总结与展望,主要阐述了本课题所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。36 2基础知识简介2.1HTML简介HTML(HypertextMarkedLanguage)即超文本标签语言。是web页面的描述性语言,是在标准通用化标记语言SGML(standardgeneralizedmarkupLanguage)的基础上建立起来的,其语法规则建立的文本可以运行在不同的操作系统平台和浏览器上,是所有网页制作技术的核心与基础[7]。它被用来结构化信息——如标题、段落和列表等,也用在一定程度上描述文档的外观和语义。HTML文件是包含一些标签的文本文件,这些标签告诉Web浏览器如何显示页面。HTML文件必须使用html作为文件扩展名,该文件可以通过简单的文本编辑器来创建。一个标准的HTML文件由HTML元素,元素的属性和相关属性值3个基本部分组成。2.1.1HTML元素HTML元素(element)通常由首尾两个标记(tag)组成,一个标记由一组尖括号“<>”包含。如下划线元素:HTML。2.1.2HTML元素属性每一个元素都有一个或几个属性定义该元素的显示样式、行为或其它内容,同一个元素各个属性之间的顺序没有前后之分。2.1.3HTML数据类型HTML常用的数据类型有长度,颜色,URI链接地址和字符串等形式。长度值的定义方法有许多种,既有绝对数值定义,又有相对数值定义。2.2PHP《细说PHP》中谈PHP(PersonalHomePage)是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点[7]。PHP的优点:1)学习过程。与Java和Perl不同,不必钻进100多页的文档中努力学习才可以写出一个像样的程序。2)数据库连接。PHP可以编译成能与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。PHPLIB就是最常用的可以提供一般事务需要的一系列基库[8]。3)可扩展性。就像前面说的那样,PHP已经进入了一个告诉发展的时期。对于一个非程序员来说,为PHP扩展附加功能可能会比较困难,但是对于一个PHP程序员来说并不困难。4)面向对象编程。PHP提供了类和对象。基于Web的编程工作非常需要面向对象编程能力。PHP支持构造器,提取类等。36 5)可伸缩性。传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性很不理想。解决方法就是将经常用来编写CGI程序的语言的解释器编译自己的web服务器。(比如mod_perl,JSP)。内嵌的PHP可以具有更高的可伸缩性。6)更多特点。PHP的开发者们为了更适合Web编程,开发了许多外围的流行基库,这些库包含了更易使用的层。选择自己的PHP安装版本,然后再选择需要的有关功能[9]2.2.1PHP5.0首先是最为重要的面向对象性能,类的实体特性在大幅度的被修改着。1)对象的默认参照过渡在PHP4中,在以变量$var1为类的实体对象的时候,如果$var2=$var1;那么,在$var2中,$var1的复制被代入。明显的,$var2为了指向与$var1相同的对象,就要写成$var2=&$var1,必须要加上&作为参照。而在PHP5,对象的代入将成为自动的参照过渡。也就是说,$var2=$var1,两者指向相同的对象。如果想要同php4一样,带入copy,那么就会运用到导入__clone()的方法。$var2=$var1->__clone();此处,clone前面是两个连续的“_”2)引入访问属性的限制在PHP4的类中,连同属性和方法在内,可以自由的访问类的内外任何地方,而没有限制。因此,用户就无法防范属性的无意中的更改。而在PHP5中,同C++和Java一样,导入了private,protected,public三个等级的访问限制,使得类的设计者能够对属性和方法的使用方法进行限定。以下是各种访问限制的意思。·Public:可以自由的在类的内外任何地方进行参照、变更·Private:只能在这个类的方法中进行参照、变更·Protected:能够在这个类以及继承了这个类的另一个类的方法中进行参照、变更。另外,在继承的类中,能够写入访问指定。2.2.2MySQL开放源代码数据库管理系统(DBMS)逐渐受到人们的关注,并已经成功地应用到多种系统之中,MySQL是其中比较出色的一个。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序。现在很多的网站、企业局域网和个人资料库都是用MySQL作为后台数据库[10]。常用的安全控制技术有存取控制技术、操作平台控制、加密技术、信息流向控制技术。36 1)存取控制技术:主要采用注册登录的方式,用户通过注册向系统提出使用数据申请,为了保护数据不被非法操作和注册口令的安全,此处一定要采用单词函数来建立注册口令。从实际情况来看,注册口令是防止非法进入系统的最有效方法[11]。2)操作平台控制:操作平台上的功能选择根据不同级别的用户显示于操作平台上,未被授权的数据操作选择永远不会出现在操作平台上.同时应具有屏幕暂时封锁功能,暂时禁止各种操作,当要再次操作时,必须键入口令,这样能有效地控制数据流动。3)加密技术:系统应对管理系统中的核心数据进行加密,对数据系统的操作必须进行解密才能进行,对一般的管理系统没有加密的必要,但对财务一类的系统,加密数据是保证数据安全的一项关键技术。4)信息流向控制技术:信息流向控制技术,是将数据库信息内容按敏感程度分成多个密级(如绝密、机密、秘密、一般),防止信息从高安全级流到低安全级的地方。MySQL可以采用用户分组的方法,实现用户的多个密级[12]。MySQL数据库管理系统是一个多用户、多线程SQL数据库服务器,采用客户端/服务器结构;其现有的安全机制是基于用户的自主访问控制机制。任何一个用户只要通过了MySQL存取控制的两个阶段(连接检查以及对每个请求的权限检查)就可以操作数据库中的数据2.3JavaScript脚本 基本特点:能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:JavaScript、VBScript、DocumentObjectModel(DOM,文档对象模型)、Layers和CascadingStyleSheets(CSS,层叠样式表),这里主要讲JavaScript。那么JavaScript是什么东西?JavaScript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。JavaScript是由Netscape公司开发的一种脚本语言(scriptinglanguage),或者称为描述语言。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。运行用JavaScript编写的程序需要能支持JavaScript语言的浏览器[4]。Netscape公司Navigator3.0以上版本的浏览器都能支持JavaScript程序,微软公司InternetExplorer3.0以上版本的浏览器基本上支持JavaScript。微软公司还有自己开发的JavaScript,称为Jscript。JavaScript和Jscript基本上是相同的,只是在一些细节上有出入。JavaScript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。36 2.4数据库技术数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源。主要研究如何存储,使用和管理数据。在应用计算机进行数据处理的技术发展过程中经历了三个阶段:程序数据处理技术、文件数据处理技术、数据库数据处理技术。发展至今,所有的数据处理应用系统都是采用数据库数据处理技术实现的[13]。2.4.1数据库设计的基本步骤(1)需求分析阶段(2)概念结构设计阶段(3)逻辑结构设计阶段(4)数据库物理设计阶段(5)数据库实施阶段(6)数据库运行和维护阶段在设计过程中要把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。2.4.2数据库设计的原则在数据库设计过程中,往往会出现一些问题,如数据冗余、更新异常或是表与表之间的范式问题,要想减少错误的产生,避免不必要的麻烦,必须遵循数据库设计的基本原则。原则如下:(1)正确反映数据与数据(信息与信息)之间的层次逻辑关系;(2)对进入到数据库中的数据有一个有效性检查;(3)对数据库中的数据进行非逻辑操作进行相应的错误处理;(4)满足系统对性能上的要求。36 3系统分析3.1可行性分析3.1.1技术可行性本系统是在Dreamweaver开发环境下,PHP5.0平台之上,使用PHP语言设计完成的。随着信息技术的发展,现在一般的电脑内存都已达到1G,双核处理器也很普遍,硬盘的存储容量基本上在250G到1T的范围。因此硬件技术能够支持上述软件的正常运行。如前所述,PHP5.0和Dreamweaver是开发Web网站的强有力的工具,它们使整个开发过程变得更为简单。所以,运用Dreamweaver实现一个动态的音乐微博平台是可行的。本系统的关键是实现用户的音乐发布以及音乐播放器对音乐的播放。本人对该功能的实现是这样的,当发布音乐地址和音乐标题的时候,它们是一起以一条记录存储在数据库中的,它们之间以@@符号相隔开的,用PHP语言中正则表达式对改纪录进行分开,将取出的音乐地址以变量形式传给播放器,那么播放器就能成功读取该音乐并播放该音乐。因此,要实现一个拥有音乐微博发布功能的网站在技术上是可行的。由于本人之前有熟悉并使用过Dreamweaver,PHP和MySQL,因而,用这一款软件和两门语言来完成本系统在个人掌握的技术方面也是可行的。3.1.2实用性自从微博发展起来以后,其实用性是每一个现代微博网民有目共睹的。不少小型的网络公司,也开发了自己的微博系统。微博的出现使人们交流更加便捷,传达信息时以一种较新颖的方式,言简意赅,而且微博也迈步于手机,掌上电脑,这一点上也使信息的传达成了无所不在。因此,本系统能满足一定的实用性。3.2需求分析随着信息化时代的到来,微博网站慢慢开始成为社会上各种那个人物交流的窗口。如何建立一个能够方便人们交流的微博网站,如何从传统的交流扩展现代式的交流上,已成为微博网站建设者面临的问题。WEB2.0时代的到来造就了微博时代的来临,建立方便而实用的微博平台是理所应当的。3.2.1功能需求分析通过浏览某些国内外的微博网站,和分析总结微博用户需求,一个完善的音乐微博网站应具备如下功能:(1)新会员注册:如果你没有注册会员只能浏览,聆听音乐微博客们发布的音乐,只有注册过的微博会员,才拥有音乐微博个人页面,拥有个人的微博音乐盒和关注其他会员的功能。36 (2)音乐消息展示页面:所有音乐微博客所发布的音乐以及文字消息都会在音乐微博广场中呈现出来,直观的反应会员的音乐发布与交流情况(3)达人排行榜(主页):该页面分成原创排行榜,人气排行榜和新用户排行榜,以不同的标准来进行排行反应会员的表现。(4)音乐微博排行榜:该页面分成最热门微博,被顶微博,被踩微博排行榜,以不同的标准来进行排行反应音乐微博中音乐与信息的表现。(5)找人页面:该页面只有会员登录后才能进行操作,否则会提示该页面不存在,自动跳转到原先的页面。(6)搜索页面:该页面对所有的音乐微博的信息进行关键字搜索,只要关键字跟消息匹配,就能找到相关内容。(7)管理员后台页面:该页面包含系统设置,用户管理,微博管理,友情链接,新闻公告,评论管理功能模块,以让管理员对整个网站进行良好的统筹管理。(8)账户设置页面:只有当用户登录了网站,用户才能够对自己的账户信息进行更新,包括个人信息,个人形象,密码修改。(9)个人主页:每个会员都有自己的个人的页面,上面有自己关注的会员,自己发布的音乐以及自己发送的消息。36 为此确定系统功能如下图3-1所示。图3-1系统功能模块图36 系统操作流程图如下图3-2所示。图3-2系统操作流程图3.2.2E-R图设计E-R图是实体-联系图,提供了表示实体、属性和联系的方法,下面列出了各表和表与表之间E-R图。会员信息(user)E-R图如图3-3所示。36 图3-3会员信息(Category)E-R图音乐消息(topic)E-R图如图3-4所示。图3-4音乐消息(Topic)E-R图会员关注(attention)E-R图如图3-5所示。图3-5会员关注(attention)E-R图消息评论(Comment)E-R图如图3-6所示。36 图3-6消息评论(Comment)E-R图微博公告(news)E-R图如图3-7所示。图3-7微博公告(news)E-R图36 4概要设计通过需求分析,确定了本系统所应具备的功能,及操作流程,并据此设计了合理的数据库。系统包含一个数据库,包含有iw_user会员信息表,iw_topic音乐消息表,iw_attention用户关注表,iw_comment消息评论表,iw_site本微博相关信息表.4.1数据表的逻辑结构设计结合实际,各实体对应的关系表,表属性,数据类型的设计如下:表4-1iw_user表列名数据类型字段说明允许NULL备注IdInt(10)用户编号主键Useridvarchar(50)用户名Mailvarchar(50)会员Email允许Passwdvarchar(32)会员密码Addressvarchar(30)所在地允许Sextinyint(1)会员性别允许msnVarchar(50)会员Msn允许mobileVarchar(12)会员手机号允许表4-2iw_topic表列名数据类型字段说明允许NULL备注IdInt(10)消息编号主键TitleVarchar(160)消息内容TimeInt(10)发布时间UseridInt(10)发布者Id表4-3iw_attention表列名数据类型字段说明允许NULL备注Idint(10)关注编号主键Useridint(10)被关注id36 Objuserint(10)关注idTimeint(10)关注时间表4-4iw_comment表列名数据类型字段说明允许NULL备注Idint(10)评论编号主键Titlevarchar(255)评论内容Timeint(10)评论时间Useridint(10)评论者Id表4-5iw_news表列名数据类型字段说明允许NULL备注IdInt(10)公告编号主键TimeInt(10)公告时间TitleVarchar(255)公告标题Contenttext公告内容4.2界面设计本人的音乐微博系统的界面通过html和css语言完成,html定义了整个网站页面所需要的基本的元素,而css定义了整个网站页面的所有元素的属性以及页面的布局。音乐广场页面布局,如下图4-1所示。36 图4-1音乐广场布局图4.3功能模块设计具体主要功能模块设计如下表4-2所示注册模块实现会员注册功能登录模块实现会员登录,并跳转至关注会员页面音乐达人榜以原创,人气,新用户三个标准来对会员进行排行音乐微博榜以热门,被踩,被顶,最新四个标准来对微博进行排行音乐微博广场实现音乐微博消息的展示微博搜索利用关键字搜索具体微博信息表4-236 5详细设计详细设计主要叙述各个模块的整个设计流程。5.1注册模块整个注册流程如下图5-1所示,数据插入成功,页面跳转至用户关注页面信息验证正确后,系统会利用数据库语言进行相应的用户数据的插入,该信息将插入iw_user表填完整注册信息填完信息后的信息格式验证,如果同过继续,如果不通过则重填图5-15.2登录模块如果数据匹配正确,那么数据将登录成功,跳转至个人会员页面,如果匹配失败,那么就得重新输入整个登录流程如下图5-2所示系统利用PHP语言结合数据库语言与iw_user数据表进行匹对输入用户名与密码图5-2系统登录流程图5.3音乐模块该音乐消息以“@@音乐地址@@音乐标题”的形式存入数据库的iw_topic数据表中音乐播放模块工作流程如图5-3所示利用PHP语言分割数据库中的以上形式的数据,然后将地址以参数的形式传值给音乐播放器发布音乐包括音乐标题与音乐地址最后将音乐播放器和标题单独分开的呈现在页面上图5-3播放模块工作流程图36 6系统实现本系统是在Dreamweaver集成开发环境下,运用PHP5.0平台设计完成的。整个系统不仅为用户提供了一套高效完整的音乐微博平台,同时也有利于管理员对系统的管理。6.1主界面本人的音乐微博系统的界面通过HTML和CSS语言完成,HTML定义了整个网站页面所需要的基本的元素,而css定义了整个网站页面的所有元素的属性以及页面的布局。音乐广场页面,如下图6-1所示。图6-1音乐广场图36 6.2前台功能系统前台主要实现了会员的登录与注册,音乐广场,音乐微博榜和音乐达人榜,找人等功能。6.2.1会员登录与注册系统中的会员登录与注册功能是通过ThinkPHP框架中的注册登录模块实现的,在使用这些模块时需要建立相应的数据库与数据库操作模块,开发人员需对ThinkPHP有一定了解即能实现用户的登录、注册、修改密码、找回密码等功能。会员登录界面如图6-2所示。图6-2会员登录界面新会员注册界面如图6-3所示。图6-3新会员注册界面36 6.2.2音乐达人榜该页面实现了原创排行榜、人气排行榜、新用户排行榜等功能。(1)原创排行榜该功能实现了对原创最多的会员查看。通过查询数据库iw_topic表统计音乐微博发表最多的会员id从而可以实现原创排行榜。(2)人气排行榜该功能实现了对关注人数最多的会员进行了查看。通过查询数据库iw_comment对关注id数最多的会员进行了统计从而实现人气排行榜。(3)新用户排行榜该功能实现了对新注册会员的查看。相对以上两个模块这个功能模块的实现比较简单,只需按iw_user的最新注册时间查询即可,这样就可以实现新用户排行榜。界面如图所示6-4所示。图6-4新用户排行榜界面音乐达人榜相关代码如下:publicfunctionuser(){parent::showSiteInfo("音乐达人榜");//原创排行榜36 $tp=M('topic');$yclist=$tp->field('*,count(id)asnum')->group('userid')->limit(10)->order('numdesc')->select();//人气排行榜$catch=A('Catch');$attlist=$catch->rUserAttention(10);//$user=M('user');$list=$user->where('is_top=1')->limit(10)->order('id')->select();//更新用户推荐时间$site=F('site_config');$toptime=$site['hot_time'];for($k=0;$k$toptime*3600){$where['id']=$list[$k]['id'];$where['is_top']=0;$where['top_time']=0;$user->where('id='.$list[$k]['id'])->save($where);}}//新用户排行榜$nlist=$user->order('iddesc')->limit(10)->select();$this->assign('isnewuser',$nlist);//$this->assign('istopuser',$list);$this->assign('yclist',$yclist);36 $this->assign('attlist',$attlist);$this->display();}6.2.3音乐微博榜该页面实现了最热门微博top10,被踩微博top10,被顶微博top10和最新微博展示功能。音乐微博榜的界面如图6-5所示。图6-5音乐微博榜音乐微博榜相关代码如下:publicfunctionindex(){parent::showSiteInfo('微博榜','微博榜');load('extend');$topic=D('topic');$this->assign('topic',$topic->getHotTopic(10));36 $this->assign('cai',$topic->getCaiTopic());$this->assign('ding',$topic->getDingTopic());$this->assign('newtopic',$topic->getNewTopic(30));$this->display();}6.2.4音乐广场音乐广场实现的功能比较多,包括会员所发布的最新音乐与消息,音乐播放列表,最新回复微博,活跃用户以及用户关注排行。音乐广场的界面如图6-6所示.图6-6音乐广场界面该部分相关代码36 publicfunctionindex(){parent::showSiteInfo('音乐广场','音乐广场');load('extend');////sidertopic$topic=D('topic');//sideruser$this->assign('getMusic',getMusicTitle());$this->assign('topuser',$topic->getHotUser());$this->assign('toptag',$topic->getHotTag());$this->assign('replaytopic',$topic->getNewReplayTopic());//gzuser$att=D('attention');$this->assign('gzuser',$att->getGZlist());//parent::showCountInfo();$cm=M('comment');$ciphp=M();$t=C('DB_PREFIX');$sqlc="SELECTa.count+b.countAScountFROM(SELECTcount(t.id)ASCOUNTFROM".$t."topicAStWHEREt.status=1)a,(SELECTcount(t.id)ASCOUNTFROM".$t."topicAStWHEREt.status=1)b;";$crs=$ciphp->query($sqlc);import("ORG.Util.Page");$count=!$crs?0:$crs[0]['count'];$page=newPage($count,10);$show=$page->show();$sql="SELECTt.*FROM".$t."topicast";36 $sql.="wheret.status=1";$sql.="GROUPBYt.idORDERBYt.iddesclimit".$page->firstRow.','.$page->listRows;$list=$ciphp->query($sql);foreach($listas$key=>$arr){$rlist=$cm->limit(2)->where('pid='.$arr['id'])->order('iddesc')->select();$list[$key]['replay']=$rlist;$list[$key]['count']=$cm->where('pid='.$arr['id'])->count();}$this->assign('list',$list);$this->assign('page',$show);$this->display();}6.3后台管理系统并非所有的用户都能进入到“系统管理”界面,只有经过授权的系统管理员才能成功登陆到系统管理界面。这就需要利用网站管理工具实现成员资格和角色的管理。成员资格管理功能与Forms验证结合使用,可以提供完善的用户管理功能。配合使用角色管理,可以较好的提供授权管理功能。下图6-7是系统管理的主界面。36 图6-7系统管理界面6.3.1微博设置该功能主要是对微博的名称,微博的域名,微博的主页进行设置,并且进行保存。微博设置界面如图6-8所示。图6-8微博设置界面相关代码:publicfunctionsavesite(){$ok=$s=FALSE;$sites=F('site');$site=M('site');36 load('extend');$data['title']=H($_POST['title']);$data['domain']=H($_POST['domain']);$data['home']=H($_POST['home']);$data['id']=$sites['id'];$ok=$site->save($data);if($ok!==false){$catchSite=$site->find();F('site',null);F('site',$catchSite);$this->success('保存成功');}else$this->error('发生错误');}6.3.2用户管理该功能实现了对用户详细信息的查看,用户的添加和用户的删除。用户管理界面如下图6-9所示。36 图6-9用户管理界面相关代码:publicfunctionulist(){$user=M('user');import("ORG.Util.Page");$count=$user->count();$page=newPage($count,20);$show=$page->show();$list=$user->order('iddesc')->limit($page->firstRow.','.$page->listRows)->select();$this->assign('list',$list);$this->assign('page',$show);$this->display();}6.3.3音乐消息管理该模块实现了音乐消息的编辑,浏览和删除这三大功能。音乐消息管理界面如下图6-10所示。36 图6-10音乐消息管理界面相关代码如下:publicfunctionblog(){load('extend');$sc=M('topic');import("ORG.Util.Page");$count=$sc->count();$page=newPage($count,20);$show=$page->show();$list=$sc->order('iddesc')->limit($page->firstRow.','.$page->listRows)->select();$this->assign('list',$list);$this->assign('page',$show);$this->display();}36 publicfunctioneditblog(){$id=$_GET['id'];$tp=M('topic');$rs=$tp->find($id);if($rs){$this->assign('rs',$rs);$this->display();}else$this->error('errorid');}publicfunctionsaveblog(){$tp=M('topic');$tp->create();if($tp->save())$this->success('保存成功');else$this->error('保存失败');}publicfunctiondelblog(){$id=$_GET['id'];if(!checkId32($id)){$this->error('errorid');}36 $tp=D('topic');if($tp->delTopicByAjax($id)){$this->success('删除成功');}else{$this->success('删除失败');}}6.3.4公告管理该功能实现了对公告的编辑和删除和公告的发布。公告管理界面如图6-11所示。图6-11公告管理界面相关代码如下:publicfunctionnews(){$news=M('news');import("ORG.Util.Page");36 $count=$news->count();$page=newPage($count,20);$show=$page->show();$list=$news->order('iddesc')->limit($page->firstRow.','.$page->listRows)->select();$this->assign('list',$list);$this->assign('page',$show);$this->display();}publicfunctionaddnews(){$id=$_GET['id'];if($id){$news=M('news');$rs=$news->find($id);$this->assign('rs',$rs);}$this->display();}publicfunctiondelnews(){$id=$_GET['id'];$news=M('news');if($news->delete($id))$this->success('删除成功');else$this->error('删除失败');}36 7系统测试与评价7.1系统测试的原则及方法⑴设计测试方案时,不仅要包括确定的输入数据,还要包括从系统功能出发预期的测试结果。⑵测试用例不仅要包括合理,有效的输入数据,还要包括无效的或不合理的输入数据。⑶不仅要检验程序是否做了该做的事,还要检查程序是否同时做了不该做的事。软件测试包括单元测试、集成测试、确认测试和系统测试四个步份骤[15]。本次测试以单元测试为主,分别完成每个单元的测试任务,以确保每个模块能正常工作。单元测试大量地采用了白盒测试法,尽可能发现模块内部的程序差错。在完成单元测试后,将已经测试过的模块组装起来,进行集成测试,来检验与软件设计相关的程序结构问题。最后对本系统进行系统测试,并进行总体评价。7.2测试与评价7.2.1单元测试⑴用户登录主要是测试能否正确实现对用户身份的验证。输入错误的用户名或密码检查是否有错误的用户名或密码的提示;输入正确的用户名和密码,检查能否登陆系统,若登陆到系统,检查登陆后页面是否与预期的结果相吻合。用户名及密码如表7-1用户表所示,用户登录模块测试用例及结果如表7-2所示。表7-1用户表用户名密码stone8482880813819134488表7-2用户登录模块测试用例及结果表测试用例结果用户名:stone848288080密码:13819134488成功登录,跳转到网站主页用户名:stone848288080密码:132242提示“登录失败”用户名:wl密码:13819134488提示“登录失败”⑵用户注册36 主要测试符合要求的账户的注册是否成功,输入正确的信息进行注册,以及不符合要求时信息的提示,测试用例如下表7-3所示。表7-3用户注册模块测试用例及结果测试用例结果用户名:bianyanan007个性地址:http://127.0.0.1/sxlt/bianyanan007个人标签:bianyanan007电子邮件:bianyanan007@163.com用户密码:13819134488确认密码:13819134488地理信息:浙江省杭州市成功注册,并跳转到关注会员界面用户名:bian个性地址:http://127.0.0.1/sxlt/bianyanan007个人标签:bianyanan007电子邮件:bianyanan007@163.com用户密码:13819134488确认密码:13819134488地理信息:浙江省杭州市提示“登录帐号长度必须在6-20位之间”。用户名:bianyanan007个性地址:http://127.0.0.1/sxlt/bianyanan007个人标签:bianyanan007电子邮件:bianyanan163.com用户密码:13819134488确认密码:13819134488地理信息:浙江省杭州市提示“电子邮箱格式错误”用户名:bianyanan007个性地址:http://127.0.0.1/sxlt/bianyanan007个人标签:bianyanan007电子邮件:bianyanan007@163.com用户密码:13819134488提示”两次密码输入不一致”36 确认密码:13819134438地理信息:浙江省杭州市(3)音乐达人榜和音乐微博榜测试主要测试能否显示出要求的信息。音乐达人榜和微博榜测试用例及结果如表7-4所示。表7-4音乐达人榜和微博榜测试用例及结果表测试用例结果音乐达人榜榜单消息是否与数据库中的数据一致结果一致。微博榜榜单消息是否与数据库中的数据一致结果一致。(4)后台管理模块①系统设置主要测试能否成功的保存微博名称,微博域名,微博主页。测试用例及结果如表7-5所示。表7-5订单管理测试用例及结果表测试用例结果微博名称:随心聆听音乐微博微博域名:http://127.0.0.1/sxlt微博主页:blog/user设置后微博名称,微博域名及微博主页都生效了②用户管理主要测试用户列表是否与数据库中的一致,能否成功的编辑删除用户信息,并核实这些操作是否真的执行成功。测试用例及结果如表7-6所示。表7-6用户管理测试用例及结果表测试用例结果点击“用户管理”结果一致36 查看用户列表是否与数据库中的用户数据一致点击”详细”,查看用户的具体信息是否与数据库中的用户详细数据一致结果一致点击”添加用户”,添加相应的用户信息查看数据库中是否添加了相应的用户数据结果用户添加成功至数据库中点击某个用户后面的删除按钮,查看该用户是否已经在数据库中被删除结果该数据已经在数据库中消失③微博管理主要测试能否成功查看音乐微博信息,并检查显示的结果是否与预期的相吻合。测试用例及结果如表7-7所示。表7-7微博管理测试用例及结果表测试用例结果点击“微博管理”,查看用户列表是否与数据库中的微博音乐数据相同结果相同点击“删除”,查看数据库中相应的信息是否已经删除结果已经被删除④公告管理主要测试公告是否与数据库中的数据一致。测试用例及结果如表7-8所示:表7-8角色管理测试用例及结果测试用例:结果点击“公告管理”,查看公告列表是否与数据库中的公告数据一致结果一致36 7.2.2集成测试完成单元测试后,由于本系统模块较少,采用非渐增式测试对系统进行集成测试,数据库中各表的更新结果与预期相符,说明数据在各测试模块之间能够正确的流入和流出,未发生错误。7.2.3系统测试与评价本系统的开发基本实现了音乐微博广场、音乐达人榜、音乐微博榜、用户登录注册、找人等前台功能和系统设置,用户管理,微博管理,新闻公告,评论管理等后台管理功能。系统在整体运行的流程中没有出现异常情况,可以正常运行。因此,本系统具备了的微博平台的基本功能,与预期的设计相符,成功的完成了本次课题的设计与实现。36 8总结及展望经过对收集的资料进行学习与实践。熟悉了微博网站的开发流程,包括需求分析,可行性分析,概要设计,系统设计,系统维护等技术。并完成了能够实现音乐微博网站的设计。本系统是在Dreamweaver8集成开发环境下,PHP5.0开发平台上,运用PHP语言完成的。实现了音乐微博广场、音乐达人榜、音乐微博榜、用户登录注册、找人等前台功能和系统设置,用户管理,微博管理,新闻公告,评论管理等后台管理功能,基本符合一般微博网站的需求。在本次系统的设计与开发过程中,本人学到了很多东西。不管是新的知识,还是处理问题能力的提升,对本人来说都是一笔不小的财富。由于时间仓促和个人的知识有限,系统总是会有瑕疵。故做如下展望:(1)系统界面风格设计。就我个人而言,网站的界面设计比系统功能的实现更复杂。如何设计出让用户满意又符合网站气质的界面着实不容易。希望能掌握界面设计技巧,对系统的界面风格进一步完善。(2)音乐播放功能。系统中的在线支付功能并非能真正实现多格式音乐播放操作,这也是该系统需要完善的地方。参考文献[1]干忠航.国内外微博现状谈[M].2010.5[2]新浪博客.新浪博客2010年微博网站大全[M].2010[3]杨芙清.软件工程技术发展思索[M]—软件学报.2005[4]ZhangXXEncyclopediaofComputerScienceandTechnology[M],1998[5]杨芙清,梅宏,吕建,金芝.浅论软件技术发展.电子学报,2002[6]高俊,李长云,文志华,饶居华.面向网构软件的构件自适机制研究[M],2009[7]高洛峰.细说PHP[M],电子工业出版社.2009[8]EllieQuigley,MarkoGargenta,PHP与MySQL案例剖析[M],人民邮电出版社.2007[9]陈超,PHP从入门到精通[M],化学工业出版社.2009[10]科夫勒.MySQL权威指南[M],2006.12[11]VikramVaswan,MySQL完全手册[M],电子工业出版社.2004[12]兰旭辉,熊家军,邓刚.基于MySQL的应用程序设计[M].2004[13]吴飞林,王晓艳,郎波.基于MySQL的可定制强制访问控制的研究与实现[M].2007[14]卢泰宏.和讯财智(RICH)•2010价值营销论坛访谈[M].2010.10.30[15]郑人杰.计算机软件测试[M].北京:清华大学出版社,199236

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭