1、KTV点歌系统歌曲管理查询数学与计算机学院课程设计说明书课 程 名 称:软件工程课程设计课 程 代 码:题 目:KTV点歌系统歌曲管理查询年级/专业/班: 09软件4班学 生 姓 名:学 号:开 始 时 间:2011年05月25日完 成 时 间:2011年06月5日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名:年月日软件工程 课程设计任务书学院名称:数学与计算机学院 课程代码:_专业: 软件工程 年级: 2009级 一、设计题目 KTV点歌管理系统二、主要内容本课程设计完成一KTV自动点
2、歌管理系统,本系统包括歌曲管理和点歌查询界面等功能。三、具体要求及应提交材料 具体要求:本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的分析、设计、编码、及测试。 1完成系统的需求分析2完成系统的设计: 针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。(1)导出系统的数据流程图和功能模块图。(2)设计数据库。使用Microsoft Access创建数据库。确定数据库中数据表的组成。确定数据表中字段的构成、主键字段和有关字段的约束条件等。依靠数据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完整性约束。(3)根据功能确定软件模块
3、组成及调用关系。(4)确定每个模块的数据结构及算法。3编码建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块的编码,由此使软件设计具体化为软件作品。4. 测试编写合适的测试用例完成系统的测试工作并分析结果。5编写课程设计报告应提交材料:1上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);2课程设计报告的打印稿和电子稿;四、主要技术路线提示1认真阅读相关知识,完成系统的功能分析和系统设计2选用ACCESS作为DBMS五、进度安排序号设计内容天数1分析设计内容,给出解决方案32创建数据库及建表33可视化界面设计34对所建数据库进行设计,整理设计思路,
4、编码、测试,写出课程设计报告35指导老师检查设计结果并做成绩评定2总计14六、参考资料1 张海藩. 软件工程导论. 北京:清华大学出版社,20042 陈明. 实用软件工程基础. 北京:清华大学出版社,20033 殷人昆. 实用软件工程. 北京:清华大学出版社,2003指导教师签名日期年月日系 主 任审核日期年月日1前言KTV系统发展至今,已经非常成熟,用户需求不同,方案各异,由此而来的整个系统造价也是相距甚大。花少量的钱,办尽量多的事。KTV系统宏观分为有盘系统与无盘系统,有盘系统每点有单独的歌库,造价高且不便于维护。无盘系统是基于网络版点歌系统的,基本为C/S结构,即由一台服务器(Serve
5、r)为客户机(Client)并发提供点歌信息和歌曲。无盘系统客户机用户操作与有盘系统完全相同,但造价经济,宜于维护,且宜于整个KTV系统升级。2 需求分析2.1 功能分析KTV点歌系统主要分为歌曲的查询与管理,管理主要包括歌曲的添加,删除,分类;查询可以按照歌手查询,歌曲类型查询,歌曲名查询。添加:根据用户需求管理员为用户添加歌曲的基本信息(包括歌曲编号,歌曲名,歌手等)删除:管理员对过时的或者错误的歌曲进行删除操作查询1.按照歌手查询:根据歌手来分类查找想要的歌2.歌曲类型查询:按照歌曲的类型(流行,民歌,情歌等)查询3.歌曲名查询:根据名字查询2.2 方案分析KTV点歌系统可以方便商家更好
6、的对歌曲管理,也方便用户更加快捷的选歌,有极大的便利。歌曲管理分为歌曲的添加,删除,浏览。歌曲查询可按照不同的条件查找,给予了用户很大的方便,节约时间。3 概要设计3.1 数据结构数据元素 包括商家管理人员,顾客,歌曲管理人员: 添加,删除歌曲,给歌曲分类顾客: 选择歌曲歌曲: 歌曲编号,歌曲名,歌曲类型,歌手数据字典:名字: 歌曲别名:描述:歌曲=编号+歌曲名+歌曲类型+歌手名位置:输出到选择界面 系统E-R图3.2 逻辑结构与物理结构逻辑结构:通过对上述数据结构的分析,根据KTV自动选歌系统的需求,将以上的E-R图转换为关系模式:歌曲(编号,歌名,类型,歌手);物理结构:采用顺序存储的方式
7、存储所有的数据。3.3 功能模块划3.3.1结构框图3.3.2程序流图3.3.3模块功能分析及外部设计增加歌曲功能:浏览歌曲功能;删除歌曲功能:按歌曲类型查询功能:按歌手名查询功能:按歌名查询功能按歌曲编号查询功能:退出:3.4抽象数据类定义ADT S_C数据对象:D=ai|ai=0数据操作:R1=|ai-1,ai4|n0) printf(nWrong! input again!); scanf(%d,&n); else w=1; while(w=0); switch(n) case 1: printf(ninput the bianhao you want to search:); scan
8、f(%d,&bianhao); if(fp=fopen(gequ.txt,r)=NULL) printf(nCannot open gequ!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 %sn,c.num,c.name,c.leixing,c.geshou);break; case 2: printf(ninput the name you want to search:); scanf(%s,mingchen); if(fp=fopen(gequ.txt,r)=NULL) printf(nCannot open gequ!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 %sn,c.num,c.name,c.leixing,c.geshou)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1