说明书系统概要设计说明书.docx
- 文档编号:5183860
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:20
- 大小:23.26KB
说明书系统概要设计说明书.docx
《说明书系统概要设计说明书.docx》由会员分享,可在线阅读,更多相关《说明书系统概要设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。
说明书系统概要设计说明书
产品名称
密级
DoReMi
绝密
产品版本
共27页
V1.1
【关键字】说明书
DoReMi
系统概要设计说明书
拟制
余林路,谢泽科,安婷婷
日期
2008-10-09
评审人
余林路
日期
2008-10-10
版权所有XX
(仅供内部使用)
修订记录
日期
修订
版本
DefectID
CR号
修改
章节
修改描述
作者
2008-10-09
1.00
初稿完成
余林路,谢泽科,安婷婷
2008-10-15
1.01
4.1
用户接口的效果图改了
余林路
2008-12-13
1.02
2.3.1
为录音播放模块添加歌词显示、播放上一首歌曲、播放下一首歌曲、调整播放进度、调整音量、保存播放列表以及载入播放列表等功能
谢泽科
2008-12-13
1.03
2.3.1,4
为用户管理模块和音乐评论子模块添加功能,加上用户管理模块和音乐评论子模块的内部接口
余林路
2008-12-13
1.04
3.1.2,3.2
相应地修改了系统模型和功能模块结构
余林路
2008-12-14
1.05
2.3
为搜索客户端模块添加部分新的功能需求
谢泽科
2008-12-14
1.06
2.3.1、4.3.5
添加了社区模块
吴志恩
2008-12-14
1.07
2.3.1、4.3.5
添加了社区模块中的评论子模块
余林路
2008-12-14
1.08
2.3.1、4.3.1
修改了搜索服务器端的部分功能
安婷婷
2008-12-15
1.09
4.1
修改了界面
何滔
1引言
1.1编写目的
本说明书是根据需求分析说明书的要求编写的,目的是为了实现系统的功能而设计一个体系架构,以满足需求设计中规定的各种需求。
本说明书作为系统设计师进一步作详细设计的基础,也是程序员编写代码的重要依据,同时它也是需求设计人员、测试人员和管理人员的参考材料,用户可以使用它去进一步了解本系统。
1.2背景
a.本软件系统的名称叫DoReMi,是一个音乐检索系统
b.提出者:
YellowBirds
开发者:
YellowBirds
用户:
广大智能手机,PDA用户
c.运行中心:
客户端运行在手机上,服务器端运行在PC上
1.3定义
术语定义:
缩略语
英文全名
中文解释
SOA
ServiceOrientedArchitecture
面向服务架构
CS
Client-Server
客户端服务器架构
WS
WebService
Web服务
GIS
GeographicInformationService
地理信息服务
WCF
WindowsCommunicationFoundation
WCF是使用托管代码建立和运行面向服务(ServiceOriented)应用程序的统一框架。
1.4参考资料
DoReMi项目可行性分析报告;
DoReMi市场前景报告;
DoReMi需求分析说明书;
2系统概述
2.1系统说明
DoReMi是由YellowBirds团队提出的一个音乐搜索系统。
本项目预期实现一个手机上的音乐搜索平台。
用户可以通过输入文字或者哼唱音乐中的某一小段来搜索音乐。
本项目的宗旨是让用户能够随时随地享受音乐的乐趣。
本项目从功能,商业模式以及架构体系上均有不同程度的创新,市面上目前还没有功能完全一样的产品,发展潜力巨大。
2.2系统任务
本系统致力提供一个功能强大的音乐搜索平台,让用户能够随时随地以各种方式找到他所想要的音乐并且享受到音乐所带来的乐趣。
具体来说,用户可以通过文本搜索的方式搜索到歌曲,也可以通过哼唱一小段音乐来找到想要的歌曲。
在找到歌曲后,用户可以试听这一首歌,下载这一首歌,也可以查看到这首歌的详细信息,甚至找到这首歌在哪里可以买到。
2.3需求规定
下表是本系统在需求阶段确定的功能功能需求表:
功能模块名称
功能名称
录音播放模块
开始录音
停止录音
播放录音
列出已录音列表
删除某段已录音频
把当前录音保存到已录音列表中
播放任意一个音乐文件
暂停播放当前音乐文件
停止播放当前音乐文件
列出“正在播放音频列表”
删除“正在播放音频列表”中的某个记录
添加新的记录到“正在播放音频列表”中
按某种规则播放“正在播放音频列表”
歌词显示
播放上一首歌曲
播放下一首歌曲
调整歌曲播放进度
调整播放器音量
保存播放列表
载入播放列表
搜索客户端模块
提取音频特征码
基于音频的检索
基于文本的检索
查看歌曲详细信息
下载铃声
设置服务器地址
搜索某专辑所有歌曲
搜索某歌手所有专辑
搜索热门歌曲
搜索热门歌手
按某一规则对搜索结果排序
下载音乐文件
试听音乐
查看专辑详细信息
查看歌手详细信息
查看商铺详细信息
查看商铺所拥有的专辑信息
点击链接拨打商铺电话
查看某歌曲的评论和星级评定
添加对某歌曲的评论和星级评定
发表寻找歌曲的帖子
查看寻找歌曲的帖子
回复寻找歌曲的帖子
查看自己发表的帖子
搜索服务器端模块
基于音频的检索服务
基于文本的检索服务
查看歌曲详细信息服务
下载铃声服务
添加歌曲服务
修改歌曲服务
删除歌曲服务
列出某歌曲全部格式的服务
添加歌手服务
修改歌手服务
删除歌手服务
查看歌手详情服务
添加专辑服务
修改专辑服务
删除专辑服务
查看专辑详情服务
搜索某专辑所有歌曲服务
搜索某歌手所有专辑服务
搜索热门歌曲服务
搜索热门歌手服务
搜索热门专辑服务
按某一规则对搜索结果排序服务
下载音乐文件服务
地图定位模块
添加商铺详细信息服务
编辑商铺详细信息服务
删除商铺详细信息服务
为商铺添加所拥有的专辑服务
编辑商铺所拥有的专辑服务
删除商铺所拥有的专辑服务
查询某音乐的售卖地点信息服务
查询本机当前所在地服务
寻找最近的销售地点服务
付费模块
添加歌曲费用服务
删除歌曲费用服务
扣费服务
用户管理模块
查看用户详细信息
改变用户角色
查看用户角色
利用IMSI号码查询用户名
退出登录
注册
利用IMSI号码登录
登录
社区模块
查询某歌曲评论列表
查看某歌曲星级
添加评论
删除评论
查看所有找歌帖子
查看自己发起的所有帖子
发起新的找歌帖子
查看帖子内容及回复
回复某帖子
A.支持的终端数目:
1000台以上。
能在广域网使用本系统。
B.支持的用户数:
500以上。
能同时响应500人次以上的用户同时使用系统提供的服务。
C.处理的文件和记录的数目:
同时处理SQL数据库,XML文件,日志数据库。
建立大量连接池。
D.表和文件的大小:
大型数据库,存储了广域网范围的用户信息,资源信息等。
E.在正常和峰值工作量条件下特定时间段:
8小时
F.处理的事务和任务的数目以及数据量:
视用户数而定。
基本保证在同时能处理500个数据请求。
3总体设计
3.1基本设计概念
本系统采用面向服务的架构进行设计和开发,每个模块通过服务的形式发布接口给其他模块或者其他应用进行调用,由于模块之间的松耦合,开发者可以轻易地组合各个模块从而构成一个完整的系统。
实现该架构和系统的我们采用了微软的WCF(WindowsCommunicationFramework)技术,该技术可以和轻易地构建出各种面向服务的应用,并且遵循开放的WebServices标准。
而开发平台我们采用的是VisualStudio2008,.NetFramework3.5,WindowsMobile6SDK。
本系统的后台采用B/S架构设计,运用了ASP.NETAJAX的技术。
由于手机性能上与PC依然存在一定差距,而手机网络通信的能力也还没有达到PC中网络通信的水平。
综合各种因素考虑,我们认为本软件应该采用C/S模式进行架构,并且在手机平台上运行的客户端必须是一个瘦客户端。
整个系统的中心是服务器(从我们目前的资金来看,该服务器是一台普通的PC)。
服务器包含了数据库服务器以及WCF服务器,本软件的服务器端也将安装在服务器上。
而客户端将安装在手机上,客户端与服务器之间的数据交互全部是以服务的形式进行,通过调用服务器暴露的服务来获取想要获得的信息。
下图是本项目一个简单的模型图。
从图中可以看出本项目具有典型的C/S架构特点,数据集中式管理。
3.2功能模块结构
根据功能需求的分析,本系统可以分为七大功能模块,分别是:
录音播放模块,搜索客户端模块,搜索服务器端模块,付费模块,地图定位模块,用户管理模块和社区模块。
其中搜索服务器端模块,付费模块,地图定位模块,用户管理模块和社区模块提供一定的服务接口供搜索客户端模块或其他应用调用。
这5个模块是运行于服务器上,5个模块之间只在数据库层面上有耦合关系。
而录音播放模块和搜索客户端模块则运行于手机客户端。
其中录音播放模块只和搜索客户端模块有耦合关系,而搜索客户端模块则通过调用服务器端的5个模块所暴露的接口来实现其功能。
下图是本系统的功能模块结构图,它显示了本系统的各个功能模块,有的功能模块下又细分了各种具体的服务,图中还列出了这些服务对外提供的一些基本接口。
3.3系统处理流程
系统处理流程显示了用户的各种操作中数据的流动和各个模块的处理过程和相互间的功能协调。
以下各图详细显示了系统对于用户操作的处理流程。
1.用户基于音频搜索流程
2.用户基于文本搜索流程
3.4运行环境
本系统的运行环境主要有两大部分:
在只能手机上运行的客户端和部署在服务器上的基于WCF的服务器端,要运行WCF程序的机器上必须支持.NetFramework3.5以上。
其中服务器端上的各个服务模块(包括搜索服务器端模块,付费模块和地图定位模块)可以分布式的部署,也可以部署在一台机器上。
整个运行环境如图12所示。
图14系统运行环境
3.5人工处理过程
本系统需要紧密联系唱片发行商,必须从唱片公司中拿到音乐库,然后手动录入到音乐库中。
另外各地售卖唱片的商铺要上网更新他们的所售卖的唱片的信息。
3.6尚未解决的问题
1.文件传输的具体方式和协议还有待确定。
2.用户界面的实现技术还有待确定。
3.系统的安全性和可靠性还有待进一步设计。
4.音频检索算法有待进一步确定。
4接口设计
4.1用户接口
主界面效果图:
播放器效果图:
4.2外部接口
本系统需要调用的外部系统所提供的接口,主要有使用银行提供的存取金额的外部接口。
1.接口:
取款
提供商:
银行
描述:
通过该接口用户可以将自己银行账户的金额转入本系统的账户上。
2.接口:
存款
提供商:
银行
描述:
通过该接口用户可以将自己本系统的账户金额转入到银行的账户上。
4.3内部接口
本系统采用面向服务的架构进行设计,将具体的功能模块分为不同的服务模块,模块之间的接口是松耦合的,通过模块之间的组合便可以组成一个完整的系统。
其中每个服务模块对外提供操作接口供其他模块与应用进行调用。
各个服务模块的详细接口描述如下。
1)接口:
基于音频的检索服务
角色:
普通用户
描述:
提供基于内容的音频检索服务,即根据用户所哼唱的内容找出用户所哼唱的是哪一首歌
输入:
音频样本特征码
输出:
歌曲的详细信息
2)接口:
基于文本的检索服务
角色:
普通用户
描述:
搜索客户端传入用户所输入的关键字,服务器根据该关键字搜索服务器中的音乐库,再把搜索结果返回给客户端。
输入:
关键字
输出:
搜索结果列表,表项包括歌曲名称,歌手名称,下载地址。
3)接口:
查看歌曲详细信息服务
角色:
普通用户
描述:
搜索客户端传入用户所选择的歌曲的ID,服务器根据该ID搜索数据库,然后返回该歌曲的所有详细信息。
输入:
歌曲ID
输出:
歌曲详细信息,包括歌曲名称,歌手ID,歌手名称,专辑ID,专辑名称,歌词,下载地址。
4)接口:
下载铃声服务
角色:
普通用户
描述:
搜索客户端传入要下载的歌曲的ID,服务器根据该ID搜索数据库,然后把该歌曲所对应的铃声文件传输回客户端。
注意,铃声的文件类型是mid。
输入:
歌曲ID
输出:
是否下载成功
5)接口:
添加歌曲服务
角色:
管理员
描述:
管理员向服务器添加新的歌曲信息,包括歌名,歌手,歌词,发行时间,所属专辑,歌曲文件等等。
输入:
歌名,歌手ID,专辑ID,歌词,时间,歌曲文件
输出:
是否成功添加歌曲
6)接口:
修改歌曲服务
角色:
管理员
描述:
管理员修改服务器中的歌曲信息,包括歌名,歌手,歌词,发行时间,所属专辑,歌曲文件等等。
修改的过程主要是修改数据库,但是如果要修改歌曲的文件就要先删除本来的文件,然后上传最新的文件。
输入:
歌曲ID,歌名,歌手ID,专辑ID,歌词,时间,歌曲文件
输出:
是否成功修改歌曲
7)接口:
删除歌曲服务
角色:
管理员
描述:
管理员删除服务器中的歌曲信息,如果该歌曲有歌曲文件的话还必须首先删除歌曲文件。
输入:
歌曲ID
输出:
是否成功删除歌曲
8)接口:
列出某歌曲全部格式的服务
角色:
管理员
描述:
管理员向服务器传入歌曲ID,根据检索歌曲数据库的结果,向客户端返回数据库中该歌曲的所有格式
输入:
歌曲ID
输出:
该歌曲的所有文件格式
9)接口:
添加歌手服务
角色:
管理员
描述:
管理员向服务器添加新的歌手信息,包括歌手名字,国籍、出生年月等信息
输入:
歌手名字,歌手国籍,出生年月
输出:
是否成功添加歌手
10)接口:
修改歌手服务
角色:
管理员
描述:
管理员修改服务器中的歌手信息,可以包括名字,国籍,出生年月等等。
输入:
歌手ID,歌手名字,歌手国籍,歌手出生年月
输出:
是否成功修改歌手
11)接口:
删除歌手服务
角色:
管理员
描述:
管理员删除服务器中某个歌手的信息。
输入:
歌手ID
输出:
是否成功删除歌手
12)接口:
查看歌手详细信息服务
角色:
普通用户
描述:
搜索客户端传入用户所选择的歌手的ID,服务器根据该ID搜索数据库,然后返回该歌手的所有详细信息。
输入:
歌手ID
输出:
歌手详细信息,包括歌手ID,歌手名称,歌手国籍,歌手生日,歌手所拥有的所有专辑,歌手的所有歌曲等信息
13)接口:
添加专辑服务
角色:
管理员
描述:
管理员向服务器添加新的专辑信息,应该包括专辑名字,歌手ID,专辑图片,发布时间等
输入:
专辑名字,歌手ID,专辑图片地址,发布时间
输出:
是否成功添加专辑
14)接口:
修改专辑服务
角色:
管理员
描述:
管理员修改服务器中的专辑信息,可以包括专辑名字,歌手ID,专辑图片,发布时间等。
输入:
专辑ID,专辑名字,歌手ID,专辑图片地址,发布时间
输出:
是否成功修改专辑
15)接口:
删除专辑服务
角色:
管理员
描述:
管理员删除服务器中某个专辑的信息。
同时也要相应地删除属于该专辑的所有歌曲的信息。
输入:
专辑ID
输出:
是否成功删除专辑
16)接口:
查看专辑详细信息服务
角色:
普通用户
描述:
搜索客户端传入用户所选择的专辑的ID,服务器根据该ID搜索数据库,然后返回该专辑的所有详细信息。
输入:
专辑ID
输出:
专辑详细信息,包括专辑ID,专辑名称,歌手ID,歌手名称,专辑图片,专辑发布日期等
17)接口:
搜索某专辑所有歌曲服务
角色:
普通用户
描述:
普通用户通过搜索客户端吧某张专辑的ID传给服务器,服务器根据该ID搜索这张专辑的所有歌曲的信息。
输入:
专辑ID
输出:
搜索结果列表,表项包括歌曲ID,歌曲名称
18)接口:
搜索某歌手所有专辑服务
角色:
普通用户
描述:
普通用户通过搜索客户端吧某张歌手的ID传给服务器,服务器根据该ID搜索这个歌手的所有专辑的信息。
输入:
歌手ID
输出:
搜索结果列表,表项包括专辑ID,专辑名称
19)接口:
搜索热门歌曲服务
角色:
普通用户
描述:
搜索下载率最高前n首歌曲,然后按照下载率降序排列。
输入:
无
输出:
搜索结果列表,表项包括歌曲ID,歌曲名称、歌手、歌词等信息
2018)接口:
搜索热门歌手服务
角色:
普通用户
描述:
搜索累计下载率最高前n位歌手,然后按照下载率降序排列。
输入:
无
输出:
搜索结果列表,表项包括歌手ID,歌手名字、歌手国籍、生日等信息
21)接口:
搜索热门专辑服务
角色:
普通用户
描述:
搜索累计下载率最高前n部专辑,然后按照下载率降序排列。
输入:
无
输出:
搜索结果列表,表项包括专辑ID,专辑名字、歌手姓名、专辑图片等信息
22)接口:
按某一规则对搜索结果排序服务
角色:
普通用户
描述:
根据一定的规则,比如下载率,时间,价格等对搜索结果进行排序。
输入:
歌曲列表
输出:
搜索结果列表,表项包括歌曲ID,歌曲名字
23)接口:
下载音乐文件服务
角色:
管理员
描述:
搜索客户端传入要下载的歌曲的ID,服务器根据该ID搜索数据库,然后把该歌曲所对应的音乐文件传输回客户端。
注意,铃声的文件类型可能是mp3,wma等格式。
输入:
歌曲ID
输出:
是否下载成功
1)接口:
添加歌曲费用服务
角色:
管理员
描述:
将每首歌曲的下载费用添加到数据库中
输入:
歌曲ID、歌曲下载费用
输出:
标志添加是否成功的布尔值
2)接口:
修改歌曲费用服务
角色:
管理员
描述:
编辑指定歌曲的下载费用信息,并将修改后的费用信息更新到数据库中
输入:
歌曲的ID、下载费用
输出:
标志修改是否成功的布尔值
3)接口:
删除歌曲费用服务
角色:
管理员
描述:
将指定歌曲的费用信息删除
输入:
该歌曲的ID
输出:
标志删除是否成功的布尔值
4)接口:
扣费服务
角色:
普通用户
描述:
某用户下载了某歌曲,相应地扣除某用户的费用。
必须记录是由于买哪一首歌而扣了多少费用。
下次再下载同一首歌的时候就不需要再扣费了。
输入:
歌曲ID、用户ID、下载时间、歌曲费用
输出:
如果扣费成功,显示扣费金额;如果失败,告知用户扣费失败,因而歌曲下载不成功。
1)接口:
添加商铺详细信息
角色:
管理员
描述:
将指定商铺的详细信息添加到数据库中
输入:
商铺详细信息(包括商铺名、地址、联系电话、E-Mail、网站主页等)
输出:
标志添加是否成功的布尔值
2)接口:
修改商铺详细信息
角色:
管理员
描述:
编辑指定商铺的详细信息,并将修改后的详细信息更新到数据库中
输入:
商铺详细信息(包括商铺名、地址、联系电话、E-Mail、网站主页等)
输出:
标志修改是否成功的布尔值
3)接口:
删除商铺详细信息
角色:
管理员
描述:
将指定的商铺信息从数据库中删除
输入:
该商铺的ID
输出:
标志删除是否成功的布尔值
4)接口:
为商铺添加所拥有的音乐专辑信息
角色:
管理员
描述:
将指定商铺所拥有的音乐专辑信息添加到数据库中
输入:
音乐专辑信息(包括专辑名、专辑出售日期等)
输出:
标志添加是否成功的布尔值
5)接口:
修改商铺所拥有的音乐专辑信息
角色:
管理员
描述:
编辑指定商铺所拥有的音乐专辑信息,并将修改后的音乐专辑信息更新到数据库中
输入:
音乐专辑信息(包括专辑名、专辑出售日期等)
输出:
标志修改是否成功的布尔值
6)接口:
删除商铺所拥有的音乐专辑信息
角色:
管理员
描述:
将指定的音乐专辑信息从数据库中删除
输入:
该音乐专辑的ID
输出:
标志删除是否成功的布尔值
7)接口:
查询某音乐专辑的售卖地点信息
角色:
普通用户
描述:
从系统服务器端的数据库中查询指定音乐专辑的售卖地点信息
输入:
音乐专辑名
输出:
拥有该音乐专辑的商铺信息(主要包括商铺名和地址)
8)接口:
查询本机当前所在地地址
角色:
普通用户
描述:
查询本机当前所在地的详细地址
输入:
本机信号
输出:
本机当前所在地的详细地址
9)接口:
寻找最近的销售地点
角色:
普通用户
描述:
根据本机当前所在地的详细地址和拥有指定音乐专辑的商铺地址,查找出最近的销售地点
输入:
本机当前所在地的详细地址和拥有指定音乐专辑的商铺地址
输出:
最近的销售地点的详细地址
1)接口:
利用IMSI号码查询用户名
角色:
匿名用户
描述:
根据IMSI号码查询该号码所对应的用户名
输入:
IMSI号码
输出:
IMSI号码对应的用户名
2)接口:
利用IMSI号码登录
角色:
匿名用户
描述:
根据手机SIM卡的IMSI号码进行登录操作
输入:
IMSI号码
输出:
是否登录成功
音乐评论子模块
1)接口:
查询某歌曲评论列表
角色:
普通用户
描述:
查询某一首歌曲的评论信息
输入:
歌曲ID
输出:
评论列表
2)接口:
查看某歌曲星级
角色:
普通用户
描述:
查看某一首歌曲的综合星级
输入:
歌曲ID
输出:
综合星级,有效范围1~5
3)接口:
添加评论
角色:
普通用户
描述:
添加一首歌曲的评论
输入:
歌曲ID、用户ID、评论星级、评论内容
输出:
综合星级,有效范围1~5
4)接口:
删除评论
角色:
管理员
描述:
删除某一首歌曲的某一条评论
输入:
评论ID
输出:
是否删除成功
找歌子模块
1)接口:
查看所有找歌帖子
角色:
普通用户
描述:
查看所有找歌帖子不标题列表
输入:
无
输出:
查询到的帖子列表
2)接口:
查看自己发起的所有帖子
角色:
普通用户
描述:
根据用户ID查询用户发起的所有帖子
输入:
帖子ID
输出:
查询到的帖子列表
3)接口:
发起新的找歌帖子
角色:
普通用户
描述:
用户发出新的找歌帖子并保存到数据库
输入:
用户ID,帖子标题,帖子内容,发贴时间
输出:
所发帖子的ID
4)接口:
查看某一帖子所有内容
角色:
普通用户
描述:
根据帖子ID,在数据库中查找帖子的内容及所有回复
输入:
帖子ID
输出:
查询到的帖子内容列表
5)接口:
回复某帖子
角色:
普通用户
描述:
回复某一帖子并保持信息到数据库
输入:
用户ID,帖子内容,发贴时间
输出:
所添加帖子的ID
此文档是由网络收集并进行重新排版整理.word可编辑版本!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 说明书 系统 概要 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)