KTV点歌系统歌曲管理查询.docx

上传人:b****2 文档编号:2166236 上传时间:2022-10-27 格式:DOCX 页数:23 大小:141.62KB
下载 相关 举报
KTV点歌系统歌曲管理查询.docx_第1页
第1页 / 共23页
KTV点歌系统歌曲管理查询.docx_第2页
第2页 / 共23页
KTV点歌系统歌曲管理查询.docx_第3页
第3页 / 共23页
KTV点歌系统歌曲管理查询.docx_第4页
第4页 / 共23页
KTV点歌系统歌曲管理查询.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

KTV点歌系统歌曲管理查询.docx

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

KTV点歌系统歌曲管理查询.docx

KTV点歌系统歌曲管理查询

数学与计算机学院

课程设计说明书

课程名称:

软件工程课程设计

课程代码:

题目:

KTV点歌系统—歌曲管理查询

年级/专业/班:

09软件4班

学生姓名:

学  号:

开始时间:

2011年05月25日

完成时间:

2011年06月5日

课程设计成绩:

学习态度及平时成绩(30)

技术水平与实际能力(20)

创新(5)

说明书(计算书、图纸、分析报告)撰写质量(45)

总分(100)

指导教师签名:

年月日

 

软件工程课程设计任务书

学院名称:

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

_______

专业:

软件工程年级:

2009级

一、设计题目

KTV点歌管理系统

二、主要内容

本课程设计完成一KTV自动点歌管理系统,本系统包括歌曲管理和点歌查询界面等功能。

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

具体要求:

本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的分析、设计、编码、及测试。

1.完成系统的需求分析

2.完成系统的设计:

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

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

(2)设计数据库。

使用MicrosoftAccess创建数据库。

确定数据库中数据表的组成。

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

依靠数据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完整性约束。

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

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

3.编码

建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块的编码,由此使软件设计具体化为软件作品。

4.测试

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

5.编写课程设计报告

应提交材料:

1.上交源程序:

学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);

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

四、主要技术路线提示

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

2.选用ACCESS作为DBMS

五、进度安排

序号

设计内容

天数

1

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

3

2

创建数据库及建表

3

3

可视化界面设计

3

4

对所建数据库进行设计,整理设计思路,编码、测试,写出课程设计报告

3

5

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

2

总计

14

六、参考资料

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

清华大学出版社,2004

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

清华大学出版社,2003

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

清华大学出版社,2003

指导教师签名日期年月日

系主任审核日期年月日

 

1前言

KTV系统发展至今,已经非常成熟,用户需求不同,方案各异,由此而来的整个系统造价也是相距甚大。

花少量的钱,办尽量多的事。

KTV系统宏观分为有盘系统与无盘系统,有盘系统每点有单独的歌库,造价高且不便于维护。

无盘系统是基于网络版点歌系统的,基本为C/S结构,即由一台服务器(Server)为客户机(Client)并发提供点歌信息和歌曲。

无盘系统客户机用户操作与有盘系统完全相同,但造价经济,宜于维护,且宜于整个KTV系统升级。

2需求分析

2.1功能分析

KTV点歌系统主要分为歌曲的查询与管理,管理主要包括歌曲的添加,删除,分类;查询可以按照歌手查询,歌曲类型查询,歌曲名查询。

●添加:

根据用户需求管理员为用户添加歌曲的基本信息(包括歌曲编号,歌曲名,歌手等)

●删除:

管理员对过时的或者错误的歌曲进行删除操作

●查询

1.按照歌手查询:

根据歌手来分类查找想要的歌

2.歌曲类型查询:

按照歌曲的类型(流行,民歌,情歌等)查询

3.歌曲名查询:

根据名字查询

2.2方案分析

KTV点歌系统可以方便商家更好的对歌曲管理,也方便用户更加快捷的选歌,有极大的便利。

歌曲管理分为歌曲的添加,删除,浏览。

歌曲查询可按照不同的条件查找,给予了用户很大的方便,节约时间。

3概要设计

3.1数据结构

数据元素包括商家管理人员,顾客,歌曲

管理人员:

添加,删除歌曲,给歌曲分类

顾客:

选择歌曲

歌曲:

歌曲编号,歌曲名,歌曲类型,歌手

数据字典:

名字:

歌曲

别名:

描述:

歌曲=编号+歌曲名+歌曲类型+歌手名

位置:

输出到选择界面

系统E-R图

3.2逻辑结构与物理结构

逻辑结构:

通过对上述数据结构的分析,根据KTV自动选歌系统的需求,将以上的E-R图转换为关系模式:

歌曲(编号,歌名,类型,歌手);

物理结构:

采用顺序存储的方式存储所有的数据。

3.3功能模块划

3.3.1结构框图

 

3.3.2程序流图

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

●增加歌曲功能:

●浏览歌曲功能;

●删除歌曲功能:

●按歌曲类型查询功能:

●按歌手名查询功能:

●按歌名查询功能

●按歌曲编号查询功能:

●退出:

3.4抽象数据类定义

ADTS_C{

数据对象:

D={ai|ai=0}

数据操作:

R1={|ai-1,ai

基本操作:

voidputout()操作结果:

输出用户界面。

intmyread(classins[20])操作结果:

输出所有课程的完整信息。

voidmyfind(classins[20])

操作结果:

按指定的课程编号输出该课程的完整信息。

intselection(ins)

操作结果:

选课,并把选课记录保存在Lessoninfo.txt文件中。

intoutput(ins)操作结果:

输出选课记录。

intmymodify(ins)操作结果:

修改选课记录。

}ADTS_C

4详细设计

4.1数据类型定义

structgequ

{intnum;//*编号

charname[15];//*名称

charleixing[10];//*类型

chargeshou[15];//*歌手名};

4.2主要模块内部设计

4.2.1tianjia()模块设计

4.2.1.1模块算法

voidtianjia()//*添加歌曲

{voidmenu();

FILE*fp;

structgequc;

if((fp=fopen("gequ.txt","a+"))==NULL)

{printf("cannotopenfile\n");}

printf("\n\tInputgequ'sinformation:

\n");

printf("\ttheformatisnumnameleixinggeshou:

\n");

scanf("%d%s%s%s",&c.num,&c.name,&c.leixing,&c.geshou);

fprintf(fp,"%d%s%s%s",c.num,c.name,c.leixing,c.geshou);

fclose(fp);

menu();}

4.2.1.2流程图

 

tianjia()模块流程图

4.2.2liulan()模块设计

4.2.2.1模块算法

voidliulan()//*浏览歌曲

{

voidmenu();

FILE*fp;

structgequc;

if((fp=fopen("gequ.txt","r"))==NULL)

{

printf("\nCannotopengequ!

\n");

}

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%s",&c.num,&c.name,&c.leixing,&c.geshou);

printf("%d%s%s%s\n",c.num,c.name,c.leixing,c.geshou);

}

fclose(fp);

menu();

}

 

4.2.2.2模块流程图

 

liulan()模块流程图

4.2.3chaxun()模块设计

4.2.3.1模块算法

voidchaxun()//*查询歌曲

{

voidmenu();

FILE*fp;

structgequc;

intbianhao;charmingchen[20];charleix[10];charges[15];

intn;intw=0;

printf("\n\t\tPLEASEENTERANUMBERFROM0TO4!

");

printf("\n\n\n\t*******************MENU**************************");

printf("\n\t\t1-按编号查找");

printf("\n\t\t2-按名称查找");

printf("\n\t\t3-按类型查找");

printf("\n\t\t4-按歌手查找");

printf("\n\t\t0-退出");

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

printf("\n\n\n\n\n\n\t\tChoosethenumber,please:

");

scanf("%d",&n);

do

{

if(n>4||n<0)

{

printf("\nWrong!

inputagain!

");

scanf("%d",&n);

}

elsew=1;

}while(w==0);

switch(n)

{

case1:

printf("\ninputthebianhaoyouwanttosearch:

");

scanf("%d",&bianhao);

if((fp=fopen("gequ.txt","r"))==NULL)

{

printf("\nCannotopengequ!

\n");

}

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%s",&c.num,&c.name,&c.leixing,&c.geshou);

if(c.num==bianhao)

printf("%d%s%s%s\n",c.num,c.name,c.leixing,c.geshou);}break;

case2:

printf("\ninputthenameyouwanttosearch:

");

scanf("%s",mingchen);

if((fp=fopen("gequ.txt","r"))==NULL)

{

printf("\nCannotopengequ!

\n");

}

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%s",&c.num,&c.name,&c.leixing,&c.geshou);

if(strcmp(c.name,mingchen)==0)

printf("%d%s%s%s\n",c.num,c.name,c.leixing,c.geshou)

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

当前位置:首页 > PPT模板 > 商务科技

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

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