




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络应用音乐服务系统的设计方案一、 引言1、 背景应用背景:随着网络的普及各式各样的专业网站也迅速流行,网站也更加专业,本网站定位于原创音乐分享以及供普通音乐爱好者在线收听、上传、下载、分享心得于一体的综合音乐服务网站。技术背景:本系统主要采用前台技术有html,css,javascript,jquery,extjs,后台技术有struts2,htibernate4,spring3,采用的服务器是Tomcat7需求背景:现在网民数量呈现几何数量的增长,人民的生活水平也不断提高,对高品质的音乐也有了更高的要求。目前国内音乐网站也比较杂乱,专注于原创音乐分享,以及“平民音乐”的网站市场还是一片空白,在此我们为了占领这片领域推出该网站。主要利用网站平台及时分享原创的“平民音乐”、微音乐、“全民音乐”,让更多的人群参与进来。2、 目标本网站实现专业的原创音乐分享平台,可以通过端或者移动端随时分享自己的原创音乐,收听、下载、评论他人的音乐,在线集体创作等功能。二、 可行性分析与软件计划1、 可行性分析1.1、要求主要功能:用户能够访问网站,在网站内在线听歌,在线查找歌曲,可以对歌曲进行评论、下载、收藏等操作,也可以向网站上面上传歌曲。输出要求:数据完整,详实。输出要求:简捷,快速,实时。安全与保密要求:服务器的管理员享有对歌曲,用户,歌手等信息的管理与修改。用户只享有对部分数据的修改与查看。完成期限:预计四个月。1.2、条件,假定和限制建议软件寿命:5 年。硬件条件:服务器sun 工作站,终端为pc 机。运行环境:WindowsXP、Windows7数据库:mysql1.3、决定可行性的主要因素成本/效益分析结果,效益成本。技术可行,现有技术可完全承担开发任务。操作可行,软件能被原有工作人员快速接受。14、技术可行性分析在整个系统开发的采用BS结构,网站的前台技术采用的html,css javascript来做数据的展示,用jquery来做网站的一些动画效果,完成一些特殊的功能,在网站的后台采用的是现在比较流行的三大框架:struts2,hibernate4,spring3。网站的后台管理技术采用ExtJs来做数据的展示采用的服务器是Tomcat715用户使用可行性使用本网站人员要求会使用电脑,系统管理员要求由计算机的专业知识,管理人员需经一般培训.经过培训后管理人员将会熟练管理网站.16 结论意见由于技术、经济、操作都有可行性,可以进行开发。2、 软件计划工作内容及相关安排表:工作内容人员分配具体工作计划经费(元)所需时间(天)可行性分析人网上、图书馆查阅相关技术需求收集人网吧问卷、网上发帖需求整理人整理、讨论需求系统设计人按需求合理设计架构网站编码人按架构进行相关编程测试人从需求收集开始严格进行测试审查试运行人观察收集运行信息三、 需求分析1、 概述1. 本说明书目的在于说明系统需求,界定系统实现功能的范围和相应的建模。2.本系统是采用J2EE技术的bs架构的网站。2、 专业名词1. 静态数据:是指那些不随时间或其他数据变化而变化的数据,系统固化在内的描述系统实现功能的一部分数据。2.动态数据:在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统要处理的数据。3数据字典:是一种用户可以访问的记录数据库和应用程序元数据的目录,数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,数据字典有数据项、数据结构、数据流、数据存储、处理过程组成。3、 客户类别 有专门维护网站的站长,有临时听歌的用户,也有注册为会员的长期用户。4、 运行环境:本系统是运行在WindowsXP、Windows win7等操作系统环境;处理器型号及内存容量:内存=256M;输入及输出设备的型号和数量,联机或脱机:待定;5、 业务流程: (一)功能框架图:音乐网站网站主页网站后台管理系统音乐管理板块空间管理板块网站主页音乐界面音乐专辑界面歌手界面音乐排行榜界面个人空间版块个人空间主页空间收藏空间好友空间留言用户管理版块(二)网站分为几大模块:1、 前台音乐网站模块:音乐网站的主题模块,显示音乐网站的前台模块与功能2、 搜索歌曲模块模板:对音乐文件进行分类搜索(专辑、歌手、歌名)3、 音乐类别模块模板:歌曲按大陆,港台,欧美等类别进行分类4、 音乐排行榜模块模板5、 显示歌手模块模板6、 数据描述:a) 静态数据:静态数据是系统内部有关的数据结构与操作规程。具体可包括:系统用户表格users 基本信息表,,好友表,音乐信息表music等. b) 动态数据:动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值. 1. 数据流图如下: 音乐管理系统 音 乐管理人员音乐各种用户音乐情况音乐信息管理要求用户信息查询要求各种事务处理结果果各种事务查询结果2. 数据字典:一)数据项:1)用户信息数据字典:名称字段名称类别长度备注员工号UidInteger10主码注册时间JoindateDatetime性别Sexvarchar10约束男或女用户名Unamevarchar18非空邮箱EmailVarchar25非空 唯一积分ScoreInteger2)音乐信息数据字典:名称字段名称类别长度备注音乐编号Misic idInteger10主码连接地址urlvarchar60歌手编号SingerIdchar8外码歌词LyricVarchar100点击次数scanNumInteger区域SidInteger3)管理员信息数据字典:名称字段名称类别长度备注管理员编号MidInteger10主码管理员密码Mpasswordvarchar20非空管理员名Mnamevarchar10非空管理员邮箱Memailvarchar25非空 唯一4)好友信息数据字典:名称字段名称类别长度备注用户编号UserIdchar8复合主码 外码好友编号Friendscahr8复合主码 外码添加的时间Joindatedatetime非空5)歌手信息数据字典:名称字段名称类别长度备注歌手编号SingerIdchar8主码歌手头像SingerPhotovarchar25非空歌手姓名SingerNamevarchar16非空歌手地区SingerZonevarchar10歌手资料链接SingerUrlvarchar106)评论信息数据字典:名称字段名称类别长度备注用户编号Useridchar8复合主码 外码歌曲编号MusicIdchar8复合主码 外码评论的内容Contentvarchar5007)收藏信息数据字典:名称字段名称类别长度备注用户编号Useridchar8复合主码 外码歌曲编号MusicIdchar8复合主码 外码二)数据流数据流名数据流来源数据流去向组成登录信息用户信息表用户信息表登录信息查询音乐信息音乐表管理员查询信息收藏音乐音乐表 用户表收藏表收藏音乐信息音乐评论音乐表 用户表评论表评论信息三)数据存储数据存储名输入的数据流输出的数据流组成用户存储用户信息用户信息用户表音乐存储音乐信息音乐信息音乐表好友存储好友信息好友信息好友表收藏存储收藏信息收藏信息收藏表评论存储评论信息评论信息评论表四、 数据库设计1、 数据库开发工具分析与选择网站数据量不是很大,所以选择mysql数据库。2、 数据库概念设计静态数据:静态数据是系统内部有关的数据结构与操作规程。具体可包括:系统用户表格users 基本信息表,,好友表,音乐信息表music等. 动态数据:动态数据包括程序运行时输入和输出的数据,具体是数据1E-R图提供了表示实体、属性和联系的方法1)实体:用矩形表示,矩形框内写明实体名2)属性:用椭圆形表示,并用无向边与其相应实体连接起来3)联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接起来,同时联系的类型2.系统E-R图:管理员管理用户用户用户发表评论唱音乐歌手听、收藏2. 用户实体E-R图:姓名编号密码问题答案安全问题用户邮箱注册时间用户积分性别头像3. 音乐网站实体E-R图:出版日期歌曲编号浏览次数音乐歌手编号歌曲名歌词歌曲链接4. 管理员实体E-R图管理员编号管理员密码管理员管理员名邮箱5歌手实体E-R图歌手头像歌手编号歌手歌手地区歌手姓名歌手资料链接7评论实体E-R图收藏评论内容歌曲编号用户编号评论3、 数据库逻辑设计将E-R模型转换为关系模型及完整性设计:管理员表(managers)Mid(编号)char(8) (主码)Mpassword(管理员密码)varchar(20)Mname(管理员姓名) varchar(10)Memail(管理员邮箱) varchar(25) 用户表(users)UserId (编号) char(8) (主码)UserName(用户姓名) varchar(20)UserPassword(用户密码) varchar(20)UserEmail(用户邮箱) varchar(25)Sex(性别) char(2)RegisterTime(注册时间) DateTimeHeadPicPath(用户头像存放位置) varchar(50)Socre(用户积分) integerSafequestion(安全问题) varchar(30)safeanswer(回答) varchar(30) 好友表(friends)UserId (用户号) FriendId(好友号)Joindate(注册时间) datetime复合主码(UserId,FriendId)Foreign key(UserId) references 用户表(UserId)Foreign key(FriendId) references 用户表(UserId)歌手表(Singer)Singer id(歌手编号)char(8) (主码)Singerphoto(歌手头像)varchar(25)Singer name(歌手姓名)varchar(16)S zone(歌手地区) varchar(10)S url(歌手资料链接) varchar(10)歌曲表(misic)Music id(歌曲编号) (主码)Music name(歌名) varchar(16)Url(歌曲链接) varchar(60)Singer id(歌手编号)integerLyric(歌词) varchar(10)Publish(出版日期) datescanNum(浏览次数) integerforeign key(SingerId) references 歌手表(singerId)评论表Userid(用户编号) char(8) MusicId(歌曲编号) char(8)Content(评论的内容) varchar(500)复合主码(UserId,MusicId)Foreign key(UserId) references 用户表(UserId)Foreign key( MusicId ) references 歌曲表(MusicId)收藏表Userid(用户编号) char(8) MusicId(歌曲编号) char(8)复合主码(UserId,MusicId)Foreign key(UserId) references 用户表(UserId)Foreign key( MusicId ) references 歌曲表(MusicId)五、 测试方案设计1、 测试原理描述测试的目的:基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。从软件开发者角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。测试的原则:应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。测试用例应由测试输入数据和对应的预期输出结果这两部分组成。程序员应避免检查自己的程序。在设计测试用例时,应包括合理的输入条件和不合理的输入条件。黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。也就是说:黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。 白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。2、 具体的测试方案网站测试需分以下五个阶段进行才能提交客户,所有测试均提供测试报告: a.功能测试 b.性能测试 c.可用性测试 d.兼容性测试 e.安全测试 a) 功能测试: 1、 链接测试 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。2、 表单测试当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。3、Cookies测试Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。4、设计语言测试 Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,如Java、JavaScript、ActiveX、VBScript或Perl等也要进行验证。5、数据库测试在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。b) 性能测试 :1、连接速度测试用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。2、负载测试负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?3、 压力测试负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。压力测试的区域包括表单、登陆和其他信息传输页面等。c) 可用性测试 :1、 导航测试导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。2、 图形测试在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。(2)验证所有页面字体的风格是否一致。(3)背景颜色应该与字体颜色和前景颜色相搭配。(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。3、 内容测试 内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的拼音与语法检查功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓相关文章列表。4、 整体界面测试整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论