网络应用音乐服务系统的设计书.docx
- 文档编号:12961975
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:23
- 大小:198.39KB
网络应用音乐服务系统的设计书.docx
《网络应用音乐服务系统的设计书.docx》由会员分享,可在线阅读,更多相关《网络应用音乐服务系统的设计书.docx(23页珍藏版)》请在冰豆网上搜索。
网络应用音乐服务系统的设计书
网络应用音乐服务系统的设计方案
一、引言
1、背景
应用背景:
随着网络的普及各式各样的专业也迅速流行,也更加专业,本定位于原创音乐分享以及供普通音乐爱好者在线收听、上传、下载、分享心得于一体的综合音乐服务。
技术背景:
本系统主要采用前台技术有html,css,javascript,jquery,extjs,后台技术有struts2,htibernate4,spring3,采用的服务器是Tomcat7
需求背景:
现在网民数量呈现几何数量的增长,人民的生活水平也不断提高,对高品质的音乐也有了更高的要求。
目前国音乐也比较杂乱,专注于原创音乐分享,以及“平民音乐”的市场还是一片空白,在此我们为了占领这片领域推出该。
主要利用平台及时分享原创的“平民音乐”、微音乐、“全民音乐”,让更多的人群参与进来。
2、目标
本实现专业的原创音乐分享平台,可以通过PC端或者移动端随时分享自己的原创音乐,收听、下载、评论他人的音乐,在线集体创作等功能。
二、可行性分析与软件计划
3、可行性分析
1.1、要求
主要功能:
用户能够访问,在在线听歌,在线查找歌曲,可以对歌曲进行评论、下载、收藏等操作,也可以向上面上传歌曲。
输出要求:
数据完整,详实。
输出要求:
简捷,快速,实时。
安全与要求:
服务器的管理员享有对歌曲,用户,歌手等信息的管理与修改。
用户只享有对部分数据的修改与查看。
完成期限:
预计四个月。
1.2、条件,假定和限制
建议软件寿命:
5年。
硬件条件:
服务器sun工作站,终端为pc机。
运行环境:
WindowsXP、Windows7
数据库:
mysql
1.3、决定可行性的主要因素
成本/效益分析结果,效益〉成本。
技术可行,现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
1.4、技术可行性分析
在整个系统开发的采用BS结构,的前台技术采用的html,cssjavascript来做数据的展示,用jquery来做的一些动画效果,完成一些特殊的功能,在的后台采用的是现在比较流行的三大框架:
struts2,hibernate4,spring3。
的后台管理技术采用ExtJs来做数据的展示
采用的服务器是Tomcat7
1.5用户使用可行性
使用本人员要求会使用电脑,系统管理员要求由计算机的专业知
识,管理人员需经一般培训.
经过培训后管理人员将会熟练管理.
1.6结论意见
由于技术、经济、操作都有可行性,可以进行开发。
4、软件计划
工作容及相关安排表:
工作容
人员分配
具体工作
计划经费(元)
所需时间
(天)
可行性分析
2人
网上、图书馆查阅相关技术
500
5
需求收集
4人
网吧问卷、网上发帖
1000
8
需求整理
2人
整理、讨论需求
200
3
系统设计
4人
按需求合理设计架构
1000
10
编码
4人
按架构进行相关编程
2000
30
测试
2人
从需求收集开始严格进行测试审查
2000
40
试运行
4人
观察收集运行信息
500
10
三、需求分析
5、概述
1.本说明书目的在于说明系统需求,界定系统实现功能的围和相应的建模。
2.本系统是采用J2EE技术的bs架构的。
6、专业名词
1.静态数据:
是指那些不随时间或其他数据变化而变化的数据,系统固化在的描述系统实现功能的一部分数据。
2.动态数据:
在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统要处理的数据。
3.数据字典:
是一种用户可以访问的记录数据库和应用程序元数据的目录,数据字典中的名字都是一些属性与容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,数据字典有数据项、数据结构、数据流、数据存储、处理过程组成。
7、客户类别
有专门维护的站长,有临时听歌的用户,也有注册为会员的长期用户。
8、运行环境:
本系统是运行在WindowsXP、Windowswin7等操作系统环境;处理器型号及存容量:
存>=256M;输入及输出设备的型号和数量,联机或脱机:
待定;
9、业务流程:
(一)功能框架图:
(二)分为几大模块:
1、前台音乐模块:
音乐的主题模块,显示音乐的前台模块与功能
2、搜索歌曲模块模板:
对音乐文件进行分类搜索(专辑、歌手、歌名)
3、音乐类别模块模板:
歌曲按大陆,港台,欧美等类别进行分类
4、音乐排行榜模块模板
5、显示歌手模块模板
10、数据描述:
a)静态数据:
静态数据是系统部有关的数据结构与操作规程。
具体可包括:
系统用户表格users基本信息表,,好友表,音乐信息表music等.
b)动态数据:
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.
1.数据流图如下:
2.数据字典:
一)数据项:
1)用户信息数据字典:
名称
字段名称
类别
长度
备注
员工号
Uid
Integer
10
主码
注册时间
Joindate
Datetime
性别
Sex
varchar
10
约束男或女
用户名
Uname
varchar
18
非空
Varchar
25
非空唯一
积分
Score
Integer
2)音乐信息数据字典:
名称
字段名称
类别
长度
备注
音乐编号
Misicid
Integer
10
主码
连接地址
url
varchar
60
歌手编号
SingerId
char
8
外码
歌词
Lyric
Varchar
100
点击次数
scanNum
Integer
区域
Sid
Integer
3)管理员信息数据字典:
名称
字段名称
类别
长度
备注
管理员编号
Mid
Integer
10
主码
管理员密码
Mpassword
varchar
20
非空
管理员名
Mname
varchar
10
非空
管理员
Memail
varchar
25
非空唯一
4)好友信息数据字典:
名称
字段名称
类别
长度
备注
用户编号
UserId
char
8
复合主码外码
好友编号
Friends
cahr
8
复合主码外码
添加的时间
Joindate
datetime
非空
5)歌手信息数据字典:
名称
字段名称
类别
长度
备注
歌手编号
SingerId
char
8
主码
歌手头像
SingerPhoto
varchar
25
非空
歌手
SingerName
varchar
16
非空
歌手地区
SingerZone
varchar
10
歌手资料
SingerUrl
varchar
10
6)评论信息数据字典:
名称
字段名称
类别
长度
备注
用户编号
Userid
char
8
复合主码外码
歌曲编号
MusicId
char
8
复合主码外码
评论的容
Content
varchar
500
7)收藏信息数据字典:
名称
字段名称
类别
长度
备注
用户编号
Userid
char
8
复合主码外码
歌曲编号
MusicId
char
8
复合主码外码
二)数据流
数据流名
数据流来源
数据流去向
组成
登录信息
用户信息表
用户信息表
登录信息
查询音乐信息
音乐表
管理员
查询信息
收藏音乐
音乐表用户表
收藏表
收藏音乐信息
音乐评论
音乐表用户表
评论表
评论信息
三)数据存储
数据存储名
输入的数据流
输出的数据流
组成
用户存储
用户信息
用户信息
用户表
音乐存储
音乐信息
音乐信息
音乐表
好友存储
好友信息
好友信息
好友表
收藏存储
收藏信息
收藏信息
收藏表
评论存储
评论信息
评论信息
评论表
四、数据库设计
11、数据库开发工具分析与选择
数据量不是很大,所以选择mysql数据库。
12、数据库概念设计
静态数据:
静态数据是系统部有关的数据结构与操作规程。
具体可包括:
系统用户表格users基本信息表,,好友表,音乐信息表music等.
动态数据:
动态数据包括程序运行时输入和输出的数据,具体是数据
1.E-R图提供了表示实体、属性和联系的方法
1)实体:
用矩形表示,矩形框写明实体名
2)属性:
用椭圆形表示,并用无向边与其相应实体连接起来
3)联系:
用菱形表示,菱形框写明联系名,并用无向边与其有关实体连接起来,同时联系的类型
2.系统E-R图:
2.用户实体E-R图:
3.音乐实体E-R图:
4.管理员实体E-R图
5.歌手实体E-R图
7.评论实体E-R图
收藏
13、数据库逻辑设计
将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(注册时间)DateTime
HeadPicPath(用户头像存放位置)varchar(50)
Socre(用户积分)integer
Safequestion(安全问题)varchar(30)
safeanswer(回答)varchar(30)
好友表(friends)
UserId(用户号)
FriendId(好友号)
Joindate(注册时间)datetime
复合主码(UserId,FriendId)
Foreignkey(UserId)references用户表(UserId)
Foreignkey(FriendId)references用户表(UserId)
歌手表(Singer)
Singerid(歌手编号)char(8)(主码)
Singerphoto(歌手头像)varchar(25)
Singername(歌手)varchar(16)
Szone(歌手地区)varchar(10)
Surl(歌手资料)varchar(10)
歌曲表(misic)
Musicid(歌曲编号)(主码)
Musicname(歌名)varchar(16)
Url(歌曲)varchar(60)
Singerid(歌手编号)integer
Lyric(歌词)varchar(10)
Publish(出版日期)date
scanNum(浏览次数)integer
foreignkey(SingerId)references歌手表(singerId)
评论表
Userid(用户编号)char(8)
MusicId(歌曲编号)char(8)
Content(评论的容)varchar(500)
复合主码(UserId,MusicId)
Foreignkey(UserId)references用户表(UserId)
Foreignkey(MusicId)references歌曲表(MusicId)
收藏表
Userid(用户编号)char(8)
MusicId(歌曲编号)char(8)
复合主码(UserId,MusicId)
Foreignkey(UserId)references用户表(UserId)
Foreignkey(MusicId)references歌曲表(MusicId)
五、测试方案设计
14、测试原理描述
测试的目的:
基于不同的立场,存在着两种完全不同的测试目的。
从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。
从软件开发者角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。
如果我们成功地实施了测试,我们就能够发现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
测试的原则:
应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
测试用例应由测试输入数据和对应的预期输出结果这两部分组成。
程序员应避免检查自己的程序。
在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序部结构和部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑部逻辑结构,主要针对软件界面和软件功能进行测试。
也就是说:
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,它是按照程序部的结构测试程序,通过测试来检测产品部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。
白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子部的东西以及里面是如何运作的。
"白盒"法全面了解程序部逻辑结构、对所有逻辑路径进行测试。
"白盒"法是穷举路径测试。
在使用这一方案时,测试者必须检查程序的部结构,从检查程序的逻辑着手,得出测试数据。
贯穿程序的独立路径数是天文数字。
采用什么方法对软件进行测试呢?
常用的软件测试方法有两大类:
静态测试方法和动态测试方法。
其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
在动态分析技术中,最重要的技术是路径和分支测试。
下面要介绍的六种覆盖测试方法属于动态分析方法。
15、具体的测试方案
测试需分以下五个阶段进行才能提交客户,所有测试均提供测试报告:
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应用系统提供信息的正确性、准确性和相关性。
信息的正确性是指信息是可靠的还是误传的。
例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。
这种测试通常使用一些文字处理软件来进行,例如使用MicrosoftWord的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
4、整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。
例如:
当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?
整个Web应用系统的设计风格是否一致?
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。
一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
d)可用性测试:
1、平台测试
市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。
Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。
这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
2、浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java、JavaScript、ActiveX、plug-ins或不同的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 应用 音乐 服务 系统 设计