KTV点歌管理系统实现歌曲播放.docx

上传人:b****1 文档编号:12512658 上传时间:2023-04-19 格式:DOCX 页数:99 大小:512.61KB
下载 相关 举报
KTV点歌管理系统实现歌曲播放.docx_第1页
第1页 / 共99页
KTV点歌管理系统实现歌曲播放.docx_第2页
第2页 / 共99页
KTV点歌管理系统实现歌曲播放.docx_第3页
第3页 / 共99页
KTV点歌管理系统实现歌曲播放.docx_第4页
第4页 / 共99页
KTV点歌管理系统实现歌曲播放.docx_第5页
第5页 / 共99页
点击查看更多>>
下载资源
资源描述

KTV点歌管理系统实现歌曲播放.docx

《KTV点歌管理系统实现歌曲播放.docx》由会员分享,可在线阅读,更多相关《KTV点歌管理系统实现歌曲播放.docx(99页珍藏版)》请在冰豆网上搜索。

KTV点歌管理系统实现歌曲播放.docx

KTV点歌管理系统实现歌曲播放

学习态度及平

时成绩(30)

技术水平与实

际能力(20)

创新(5)

说明书(计算书、图纸、分

析报告)撰写质量(45)

总 分

(100)

课程设计成绩:

 

数学与计算机学院

课程设计说明书

 

课 程 名 称:

软件工程课程设计

课 程 代 码:

8404131

题目:

KTV 点歌管理系统—实现歌曲播放

年级/专业/班:

09 级软件工程 4 班

学 生 姓 名:

学  号:

开 始 时 间:

2011年05 月27日

完 成 时 间:

2011年06 月8日

 

 

西华大学课程设计报告

 

软件工程 课程设计任务书

 

学院名称:

 数学与计算机学院课程代码:

8404131

专业:

软件工程年级:

2009 级

 

一、设计题目

KTV 点歌管理系统

二、主要内容

本课程设计完成一 KTV 自动点歌管理系统,本系统包括歌曲管理和点歌

查询界面等功能。

三、具体要求及应提交材料

具体要求:

本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段

的目的和任务,完成对系统的分析、设计、编码、及测试。

1.完成系统的需求分析

2.完成系统的设计:

针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。

(1)导出系统的数据流程图和功能模块图。

(2)设计数据库。

使用 Microsoft Access 创建数据库。

确定数据库中数据

表的组成。

确定数据表中字段的构成、主键字段和有关字段的约束条件等。

靠数据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完

整性约束。

(3)根据功能确定软件模块组成及调用关系。

(4)确定每个模块的数据结构及算法。

3.编码

1

序号

设计内容

天数

1

分析设计内容,给出解决方案

3

2

创建数据库及建表

3

3

可视化界面设计

3

4

对所建数据库进行设计,整理设计思路,

编码、测试,写出课程设计报告

3

5

指导老师检查设计结果并做成绩评定

2

总      计

14

西华大学课程设计报告

 

建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模

块的编码,由此使软件设计具体化为软件作品。

4. 测试

编写合适的测试用例完成系统的测试工作并分析结果。

5.编写课程设计报告

应提交材料:

1.上交源程序:

学生按照课程设计的具体要求所开发的所有源程序(应

该放到一个文件夹中);

2.课程设计报告的打印稿和电子稿;

四、主要技术路线提示

1.认真阅读相关知识,完成系统的功能分析和系统设计

2.选用 ACCESS 作为 DBMS

五、进度安排

 

 

[1] 张海藩. 软件工程导论. 北京:

清华大学出版社,2004

[2] 陈明. 实用软件工程基础. 北京:

清华大学出版社,2003

[3] 殷人昆. 实用软件工程. 北京:

清华大学出版社,2003

 

指导教师签名日期年月日

系 主 任审核日期年月日

 

2

西华大学课程设计报告

 

1 前言 ..............................................................4

2 需求分析 ..........................................................5

2.1 功能分析 .....................................................5

2.2 方案分析 .....................................................5

3 概要设计 ..........................................................6

3.1 数据结构 .....................................................6

3.2 逻辑结构与物理结构 ...........................................6

3.3 功能模块划分 .................................................6

3.4 抽象数据类定义 ...............................................9

4 详细设计 ..........................................................9

4.1 数据类型定义 .................................................9

4.2 主要模块内部设计 ............................................10

4.2.1 选择歌曲功能模块 .......................................10

4.2.2 查看播放列表功能模块 ..................................13

4.2.3 歌曲播放功能模块 ......................................14

5 实现与调试分析 ...................................................16

5.1 实现环境 ....................................................16

5.2 语言选择 ....................................................16

5.3 调试分析 ....................................................16

6 测试分析 .........................................................16

6.1 测试用例 ....................................................18

6.2 测试结果 ....................................................18

6.3 性能分析 ....................................................19

7 用户手册 ..........................................................20

总 结 ..............................................................20

参考文献 ...........................................................20

 

3

西华大学课程设计报告

 

1 前言

 

迅速发展的计算机科学技术应用越来越广泛,已经渗透到了人类社会生产和生活的各

个领域。

随着生活水平的提高,人们除了注重衣食住行以外,越来越需要一

些好的娱乐休闲方式,而卡拉 OK 起源于日本引入我国,这种娱乐方式很快被

大家接受。

这也促进了很多爱好者开发适用于不同应用场合的 KTV 点歌系统,

以便于顾客在 KTV 中自由点歌而不受其他的影响,同时也节约了很大的成本。

KTV 点歌系统以满足用户需求,减轻工作人员的复旦为宗旨。

随着计算机技术

的进一步发展和人们生活要求的不断提高,KTV 点歌管理系统一定会有更加广

阔的应用前景。

在这里,主要实现 KTV 点歌管理系统的歌曲播放功能(包括歌

曲管理和友好的点歌查询界面和歌曲播放功能)。

 

4

西华大学课程设计报告

 

2 需求分析

 

2.1 功能分析

经过综合分析,确定了系统应该包括如下功能:

该 KTV 点歌管理系统应该实现选择歌曲,查看播放列表,以及简单的播放歌

曲功能。

用户可以完全按照菜单的提示对其进行操作,系统对用户的指令做出

相应的反应。

●选择歌曲:

通过显示的界面选择歌曲,其中歌曲的查找包括按语种查找,

按姓名查找,全部显示。

●查看播放列表:

通过该功能查看,删除已选择的歌曲,增添新的歌曲。

● 歌曲播放:

通过该功能实现歌曲的按顺序播放和随机播放。

2.2 方案分析

该系统针对的是 KTV 点歌的用户,用户可以通过该系统对所提供的歌曲进

行选择,可惜查看删除播放列表中的歌曲,实现歌曲的按顺序播放和随机播放

功能。

 

用户用户界面

选择                                        播放列表

 

播放歌曲

 

图 1

 

5

西华大学课程设计报告

 

3 概要设计

 

3.1 数据结构

 

数据元素:

歌曲库,播放列表,歌曲。

歌曲属性:

歌曲编号,歌曲名,歌手名,时间,语种

 

歌曲编号

歌曲名

 

语种

歌曲

时长

 

歌手名

 

图 2

3.2 逻辑结构与物理结构

通过对上述数据结构的分析,根据课程设计自动选课系统的需求,将以上的

E-R图转换为关系模式:

歌曲(歌曲编号,歌曲名,歌手,时长,语种);

供选择的歌曲保存在歌曲库musicbase.txt文件中,

播放列表保存在playlist.txt文件中。

3.3 功能模块划分

 

3.3.1 结构框图

 

6

西华大学课程设计报告

 

KTV点歌管理系统

 

选择歌曲

模块

查看播放列表

模块

播放歌曲

模块

 

图 3

 

3.3.2 程序流图

 

7

西华大学课程设计报告

 

开始

 

选择功能

 

123

选择歌曲

查询播放列表            播放歌曲

 

45

返回主界面退出系统

 

图 4

3.3.3 模块功能分析及外部设计

 

以下是对各功能模块主要功能的描述

 

◆ 选择歌曲模块:

通过显示的界面选择歌曲,用户可以按几种方式来选择歌曲。

可以按

歌曲名查找,按语种选择,按歌手名选择,全部查看,选中的歌曲自动记录至

播放列表,以便用户查看进行下一功能的使用。

 

◆ 查看播放列表模块:

用户选择该模块即可查看播放列表,播放列表按用户选择顺序默认排

序,用户可以在该模块中自行选择增添或者删除播放列表中的歌曲,并可刷

8

西华大学课程设计报告

 

新播放列表。

◆ 歌曲播放模块:

用户选择歌曲至播放列表后,可使用该模块,实现歌曲的播放功能,

该模块包括顺序播放和随机播放歌曲两种功能。

 

外部设计

◆ 主界面:

列出该系统的各大功能供用户选择,在各模块内部界面也设置有返回

键,基本实现良好的友好界面。

3.4 抽象数据类定义

void parFile();

void SelectMusics();// 选择歌曲子函数

void SelectMusicsFrName(char name[64]);// 从歌曲名来查找

void SelectMusicsFrSinger(char singer[64]);// 从歌手来查找

void SelectAllMusics();// 显示全部歌曲

void AddOneMusicToPList(char code[64]); // 增加一首歌曲到列表中

void DelOneMusicToPList(char code[64]); // 增加一首歌曲到列表中

void DispSelMusics(); // 查看播放列表自汉书

void PlayMusics();// 播放子函数

void writePlist(char ch[256]); // 把选择的歌曲写入播放列表中(全局数组)

void writePlistFile();// 把选择的歌曲写入播放列表中(播放列表文件)

void deletePlist(char ch[256]); // 把选择的歌曲写入播放列表中(全局数组)

 

4 详细设计

 

4.1 数据类型定义

typedef struct{

char chcode[64];

char chname[64];

char chsinger[64];

char chtime[64];

 

9

西华大学课程设计报告

 

char chlanguage[64];

} music_info;

 

4.2 主要模块内部设计

 

4.2.1 选择歌曲功能模块

 

4.2.1.1 模块算法

void SelectMusics()

{

//int select;

char chSelect;

char chSel[64];

bool bSelFlag = true;

printf("\n\t\t\t__________________________ \n");

printf("\t\t\t||\n");

printf("\t\t\t| a.按照歌曲名查找歌曲|\n");

printf("\t\t\t|_________________________|\n");

printf("\t\t\t||\n");

printf("\t\t\t| b.按歌手查找歌曲|\n");

printf("\t\t\t|_________________________|\n");

printf("\t\t\t||\n");

printf("\t\t\t| c.显示全部歌曲供选择|\n");

printf("\t\t\t|_________________________|\n");

printf("\t\t\t||\n");

printf("\t\t\t| d.返回上一级菜单|\n");

printf("\t\t\t|_________________________|\n");

printf("请选择查找歌曲的方式(a-d):

");

while(bSelFlag)

{

10

西华大学课程设计报告

 

//scanf("%d",&select);

scanf("%s",&chSelect);

switch(chSelect)

{

case 'a':

 // 按照歌曲名查找歌曲

{

memset(chSel,0,64);

bSelFlag = false;

printf("请输入歌曲名称:

");

scanf("%s",&chSel);

SelectMusicsFrName(chSel);

break;

}

case 'b':

 //按歌手查找歌曲

{

memset(chSel,0,64);

bSelFlag = false;

printf("请输入歌手名:

");

scanf("%s",&chSel);

SelectMusicsFrSinger(chSel);

break;

}

 

case 'c':

 //显示全部歌曲供选择

{

bSelFlag = false;

SelectAllMusics();

break;

}

case 'd':

 //显示全部歌曲供选择

{

bSelFlag = false;

 

11

西华大学课程设计报告

 

break;

}

default:

printf("选择输入错误!

请重新输入输入(a-d):

");

break;

}

}

 

4.2.1.2 流程图

 

选择歌曲

 

1.按歌手名查找2.按歌曲名查找

 

3.全部显示

 

选择歌曲

 

加入播放列表

 

图 5

 

12

西华大学课程设计报告

 

4.2.2查看播放列表功能模块

4.2.2.1 模块算法

void DispSelMusics()

{

char chSel;

char cSel[256];

char chSelect;

for(int i=0;i

{

printf("\n 编号:

%s;歌名:

%15s;歌手:

%8s;时间:

%s;语种:

%s",nplistMusic_info[i].chcode,

nplistMusic_info[i].chname,nplistMusic_info[i].chsinger,nplistMu

sic_info[i].chtime,nplistMusic_info[i].chlanguage);

}

printf("\n 是否删除或增加歌曲(y/n)?

");

scanf("%s",&chSelect);

if('y'==chSelect)

{

printf("\n 删除歌曲请输入 d,增加歌曲请输入 a:

");

scanf("%s",&chSel);

if('d'==chSel)

{

printf("\n 输入删除歌曲编号并以,隔开:

");

memset(cSel,0,256);

scanf("%s",&cSel);

deletePlist(cSel);

}

else if('a'==chSel)

{

printf("\n 输入增加歌曲编号并以,隔开:

");

memset(cSel,0,256);

scanf("%s",&cSel);

writePlist(cSel);

}

}

13

西华大学课程设计报告

 

}

 

4.2.2.2 流程图

 

查看播放列表

 

添加歌曲删除歌曲

 

显示

 

显示主界面

 

图 6

4.2.3歌曲播放功能模块

4.2.3.1 模块算法

void PlayMusics()

{

char cSel;

int nSec;

//char chartmp;

bool bQuit1 = false;

bool bQuit2 = false;

printf("\n 请选择播放模式(1:

顺序播放;2:

随机播放):

");

 

14

西华大学课程设计报告

 

scanf("%s",&cSel);

if('1'==cSel)

{

Play

(1)

}

if('2'==cSel)

{

Play

(2)

}

}

4.2.3.2 流程图

 

歌曲播放

 

功能选择

 

顺序播放

随机播放

 

上一曲

播放过程判定                   下一曲

 

正常播放

 

图 7

 

15

西华大学课程设计报告

 

5 实现与调试分析

 

5.1 实现环境

Windows 系列系统

开发平台:

vc6.0

5.2 语言选择

C 程序语言

5.3 调试分析

 

对于所有有返回值的函数,都应该检查返回值,除非你确信这个函数调用绝对

不会出错,或者不关心它是否出错。

一些函数返回错误,需要用其他函数获

得错误的具体信息。

例如accept 返回 INVALID_SOCKET 表示 accept 失败,

为了查明  具体的失败原因,应该立刻用WSAGetLastError 获得错误码,并

针对性的解决问题。

有些函数通过异常机制抛出错误,应该用TRY-

CATCH 语句来检查错误 .程序员对于能处理的错误,应该自己在底层处理,对

于不能处理的,应该报告给用户让他们决定怎么处理。

如果程序出了异常,却

不对返回值和其他机制返回的错误信息进行判断,只能是加大了找错误的难度。

 

6 测试分析

 

6.1 测试用例

测试结果测试 1:

名称:

 歌曲选择功能模块测试

目的:

测试 歌曲选择功能 。

内容:

 进入主界面,按提示,选择1,进入选择歌曲界面,选择a,按歌

曲名查找歌曲

输入数据:

历史的天空。

预期输出结果:

历史的天空歌曲的相关信息;

 

16

西华大学课程设计报告

 

测试结果测试 2:

名称:

 歌曲选择功能模块测试

目的:

测试 歌曲选择功能 。

内容:

 进入主界面,按提示,选择1,进入选择歌曲界面,选择b,按歌

手名查找歌曲

输入数据:

周杰伦。

预期输出结果:

周杰伦的所有歌曲;

 

测试结果测试 3:

名称:

 歌曲选择功能模块测试

目的:

测试 歌曲选择功能 。

内容:

 进入主界面,按提示,选择1,进入选择歌曲界面,选择c,显示

全部歌曲。

输入数据:

 c。

预期输出结果:

显示所有歌曲;

 

测试结果测试 4:

名称:

 查看播放列表功能模块测试

目的:

测试 查看播放列表功能 。

内容:

 进入主界面,按提示,选择2,进入查看播放列表界面,选择c,

显示全部歌曲。

输入数据:

 2。

预期输出结果:

已选择的歌曲;

 

测试结果测试 5:

名称:

 播放歌曲功能模块测试

目的:

测试 播放歌曲功能 。

内容:

 进入主界面,按提示,选择3,进入查看播放列表界面,选择

1。

输入数据:

 u, d, q。

预期输出结果:

按顺序播放歌曲,并且可以实现上一曲下一曲以及退出;

 

测试结果测试 6:

名称:

 播放歌曲功能模块测试

目的:

测试 播放歌曲功能 。

17

西华大学课程设计报告

 

内容:

 进入主界面,按提示,选择3,进入查看播放列表界面,选择

2。

输入数据:

 u, d, q。

预期输出结果:

按随机播放歌曲,并且可以实现上一曲下一曲以及退出;

 

6.2 测试结果

 

图 8

 

图 9

 

图 10

 

18

西华大学课程设计报告

 

图 11

 

图 12

6.3 性能分析

此处采用的是黑盒测试法,及主要测试系统的每个功能是否能正确运作。

以下为接受测试的各个功能模块描述:

选择歌曲:

实现了用户对歌曲选择的功能的需求。

查看播放列表:

实现了查看,删除已选择的歌曲,增添新的歌曲。

歌曲播放:

实现了歌曲的按顺序播放和随机播放,以及上一曲,下一曲。

 

19

西华大学课程设计报告

 

7 用户手册

 

此次开发的 KTV 点歌管理系统比较简单,容易上手,用户只需根据提示输

入自己的选择即可,方便快捷。

总 结

 

该 KTV 点歌管理系统我是完成的实现歌曲播放的功能,由于对可视化界

面以及数据库的不熟悉,所以采用了最原始的办法完成了这个系统,基本上实

现了所要求的功能。

为了对以后的实际开发有所帮助,总结一下本次课程设计:

1,对基础知识掌握仍有欠缺,不能达到熟练运用。

2,没合理安排好时间,导

致进度有所偏差。

3 珍惜每次课程设计,因为总的来说,收获不小。

 

参考文献

 

号书名作 者出 版 社出版日期

1软件工程导论张海藩清华大学出版社2004

2实用软件工程基础陈明清华大学出版社2003

3实用软件工程殷人昆清华大学出版社2003

 

20

西华大学课程设计报告

 

#include 

#include 

#include 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1