课程设计报告影碟租赁系统.doc
《课程设计报告影碟租赁系统.doc》由会员分享,可在线阅读,更多相关《课程设计报告影碟租赁系统.doc(26页珍藏版)》请在三一办公上搜索。
1、 成绩 课程设计报告题 目 影碟租赁系统 课 程 名 称 面向对象程序设计课程设计院 部 名 称 信息技术学院 专 业 计算机科学与技术(本) 班 级 09计算机科学与技术(2) 学 生 姓 名 袁爽 学 号 0905101070 课程设计地点 A203 课程设计学时 20 指 导 教 师 李慧 金陵科技学院教务处制目 录前言1一、题目描述1二、系统运行环境12.1 硬件环境12.2 软件环境2三、功能分析23.1 影碟入库管理模块23.2 影碟信息查询模块23.3 影碟出租模块23.4 影碟归还模块23.5 库存查询模块33.6 系统功能分层图3四、系统可视化建模34.1 用例建模34.2
2、活动建模44.3 类建模5五、系统设计65.1 程序总体结构65.2 主功能模块设计65.3 程序设计105.4 类与函数的设计与实现17六、运行与测试结果196.1 菜单模块的测试过程196.2 影碟入库模块的测试过程206.3 影碟信息查询模块的测试过程206.4 影碟出租模块的测试过程216.5 影碟归还模块的测试过程226.6 影碟库存信息查询模块的测试过程23七、小结23八、参考资料24影碟租赁系统前言本课程设计的目的采用面向对象的程序设计语言,开发实现一个应用程序,主要目的是为了更好的掌握面向对象程序设计语言及其开发工具,掌握如何使用面向对象的程序设计语言设计一个小的软件系统。通过
3、该课程设计培养分析和解决实际问题的能力,以及综合应用基本概念、基本原理和技术方法的能力,真正做到学以致用,使课本上抽象的理论,方法与具体的实践应用相结合。一、题目描述影碟租赁系统:(1)设计一个的菜单将在实现的功能显示出来,并有选择提示;(2)影碟分为三类:CD、DVD、VCD,能够这三类影碟实现增加、删除、修改功能;(3)影碟出租后动态的修改库存信息,并根据租用影碟的数目和天数计算打印出相关信息;(4)要求有错误提示功能,例如输入日期,输入错误提示重新输入。创新要求: 影碟的信息可以通过文件保存,根据出租的情况动态更新。二、系统运行环境2.1 硬件环境仪器:华硕系列PC机硬件配备处理器:In
4、tel(R) Core(TM)i5 CPU M480 2.67GHz 内存:3.00GB硬盘:320GB网卡2.2 软件环境操作系统:Microsoft Windows 7 Ultimate Service Pack 1(32位)应用程序:Microsoft Visual C+ 6.0Microsoft Word 2010 SP1Microsoft Visio 2010 SP1三、功能分析经分析题目需求后将本系统划分为两大功能模块:管理模块和查询模块管理模块分为影碟入库管理,影碟出租,影碟归还查询模块分为影碟信息查询,库存查询3.1 影碟入库管理模块功能定义:该模块主要实现影碟的增加,输入信息
5、修改,删除功能。功能描述:此模块主要是对入库影碟的信息进行详细记录,并可以记录后进行检查,若检查出错误,删除后重新输入,检查无误后,保存到库存中,以确保库存中的数据都是正确的;3.2 影碟信息查询模块 功能定义:该模块主要实现对库存中信息的查询。功能描述:此模块要根据输入的查询条件,将库存中所要查询的影碟的详细信息反馈给用户。详细信息包括:影碟编号,影碟名称,影碟类型,影碟的租价,库存的数量等。3.3 影碟出租模块功能定义:该模块要实现影碟的出租功能,并能计算出租出去的影碟的价格,动态的修改已出租的影碟的库存信息。功能描述:此模块可以选择条件进行影碟的出租,例如选择编号,首先要进行库存的查找,
6、若存在,则可以出租,对于要出租的影碟要输入出租的天数,然后进行统计计算出总租金,再将影碟出库后库存中影碟的数量进行动态的修改并保存。3.4 影碟归还模块功能定义:该模块要实现影碟的归还入库功能,并将归还的影碟的信息写到库中。功能描述:此模块首先查看所要归还的影碟的信息,若库存中存在该影碟的信息,则进行归还,将库存动态更改后保存。若不存在,则提示错误信息。3.5 库存查询模块功能定义:该模块负责打印库存信息和出租信息。功能描述:此模块中要将库存中所有的影碟信息显示给用户,便于用户了解库存中的状况,还可以将出租的信息反馈给用户。3.6 系统功能分层图系统功能分层图如图1所示图 1 系统功能分层图四
7、、系统可视化建模本系统采用面向对象的方法开发,使用UML进行建模,具体建模过程如下。4.1 用例建模据题目需求描述识别参与者为系统管理员。系统参与者及用例名称列表如表1所示表 1 系统参与者及用例列表名称说明名称说明AddStore入库管理SentStore影碟出租ReturnStore归还管理Search影碟信息查询RestoreStore库存查询User系统管理员经分析建立本系统用例图如图2所示图 2 系统用例图4.2 活动建模据题目描述分析活动名称列表如表2所示表 2 系统活动名称列表名称说明名称说明Add Video 增加影碟信息Check Video 检查已输入信息Delete删除输
8、入信息Sent Video影碟出租Save信息保存入库Create Store建立库存文件Search查找库存中影碟信息Input No输入出租编号Change Store更改库存信息根据表2建立如图3所示的入库模块活动图。图 3 入库模块活动图根据表2建立如图4所示的出租模块活动图。图 4 出租模块活动图4.3 类建模需求简介:影碟分为三类:CD、DVD、VCD,影碟的信息可以通过文件保存,根据出租的情况动态更新。1. 识别类通过阅读需求描述得到本系统可能的备选类有:Video、CD、DVD、VCD和Store。2. 类之间的关系CD、DVD、VCD都有很多共同的属性,也有属于自己的属性,例
9、如类别。所以这三个类由Video派生而来,Video是父类,CD、DVD、VCD继承Video,即Video是CD、DVD、VCD类的泛化。Store类是用来对CD、DVD、VCD进行操作的,是Video的友元类。3. 类的属性和操作类的属性和操作如表3所示。表 3 类的属性和操作表类名属性操作Videoname ,type ,price ,allprice amount ,year ,month ,day ,*next numCheck() Input() video() Input(ifstream&f) Output() Output(ofstream& f)CD继承Video,type
10、属性值为1CD() Output() Output(ofstream& f)DVD继承Video,type属性值为2DCD() Output() Output(ofstream& f)VCD继承Video,type属性值为3VCD() Output() Output(ofstream& f)Storevideo * GLStore() add() search() sent() returnvideo() restor() numCheck()4. 类图系统类图如图5所示。图 5 系统类图五、系统设计5.1 程序总体结构由于系统比较小,所以并未设置登录操作,可直接进入系统,系统菜单将系统所实现
11、的功能显示出来。系统管理员可按菜单提示进行相应的操作。菜单内容包括:增加影碟相关信息、查找影碟相关信息、影碟出租、影碟归还、查看库存状况、查看已出租状况和退出。设置好菜单开始定义类Video、CD、DVD、VCD、Store,在基类Video中定义影碟的属性,输入操作和写入文件操作。在CD、DVD、VCD类中初始化各自的类别,定义输出操作,及读出文件操作。在Store类中定义对影碟的操作,包括添加、修改、查找、出租、归还和库存查询操作。系统总体结构流程图如图6所示。5.2 主功能模块设计本系统总共分为6个子模块,各模块的详细设计如下。5.2.1 影碟入库模块本模块用来进行影碟信息的入库管理,首
12、次登陆时要创建库存文件,创建后提示用户进行影碟类别的选择,根据用户所选类别的不同,申请空间,调用输入方法,初始化入库影碟信息,对输入的信息进行输入限制,只有符合输入要求时才继续下一步输入,初始化结束后对所输入信息进行检查,若无错,则保存进库存文件,否则删除重新输入。当再次进行入库时,系统会自动跳过创建文件的环节,直接读取库存中已编号的货物,提示下一编号,进行影碟入库。当影碟数量图 6 系统总体结构流程图超过库存上限,系统提示错误。入库模块结构流程图如图7所示。5.2.2 影碟出租模块本模块实现影碟出租功能,并动态的更改库存。在主菜单中选择出租操作后,根据提示输入待出租影碟的编号,系统会从库存文
13、件中查找待出租影碟的信息,若库存中存在,则打印给管理员以了解影碟的库存信息,然后按要求输入出租数目和出租天数,天数限制最多三个月,并要求出租库存范围内的数目,超过提示库存不足,最后计算出总价并打印出租信息,更改库存数量,并将出租信息保存至出租文件中。出租模块结构流程图如图8所示。图 7 入库模块结构流程图5.2.3 影碟归还模块本模块用于实现影碟的归还入库操作,在主菜单中选择归还操作后,按提示输入待归还影碟的编号,查询库存,库存中存在该影碟时打印影碟的信息,并输入归还数目,更改库存,若不存在则直接退出。该模块流程同出租模块,不再敖述。5.2.4 影碟信息查询该模块用于实现库存中影碟信息查询操作
14、,在主菜单中选择信息查询操作,图 8 出租模块结构流程图输入待查询影碟的编号,从库存文件中查询相关信息,找到后打印出来,否则库存中不存在,退出。查询模块结构流程图如图9所示。5.2.5 影碟库存查询该模块用于实现库存文件的读取,将文件中所有信息打印到给管理员。5.2.6 影碟出租信息查询该模块用于出租文件信息的读取,将文件中出租的信息打印到屏幕上。图 9 查询模块结构流程图5.3 程序设计各模块的程序设计将分六节进行具体描述。5.3.1 影碟入库模块(增加影碟信息模块)(1)数据结构设计用文件的读指针ReadFile读取文件中每行的信息,读出后放到数组中暂存,将记录文件行数变量加1,知道读到文
15、件结尾,开始入库信息初始化。定义基类的对象指针p,p2,p指向当前队列的最后,p2指向p的后继指针,将刚初始化的空间连接到当前队列最后,实现影碟信息的增加。检查输入信息错误,若要删除,则将p2的后继指针,指向p的后继指针,delete p2。(2)关键代码设计及相关注释ifstream ReadFile;/输入流文件int n=-1;char line512;/用于读取文件内容ReadFile.open(video.txt,ios:in);/ios:in 表示以只读的方式读取文件if (!ReadFile)/如果数据文件不存在,创建文件 else/文件存在while(!ReadFile.eof
16、()/控制读到文件结束就停止 ReadFile.getline(line,512,n);/一次读取一行n+;/每读取一行记录行数变量加1cout添加时请从n号开始编号入库!endl;ReadFile.close();/关闭文件coutnext) /将p指向当前队列的最后一个,在其后面实现插入。p = p-next;char ch;video *p2;for(int i = 0; i 10; i+)int s=0;/用于记录是否修改了输入内容coutch;switch(ch)case 1: p2=new CD;/用new来申请新的空间break;case 2: p-next = p2;/将新申请
17、的空间插入到当前队列的最后p2-Input(); /对此空间进行初始化coutch;if(ch = Y | ch = y)/省略p2-Output();/输出刚刚输入的信息用来检查输入coutch;if(ch = Y | ch = y) p2-next=p-next;/将当前队列中最后一个对象指针的后继指针指向自己delete p2;/删除刚刚添加进来的需要修改的对象的内容cout成功删除!next;/p指向当前队列的最后,用来连接继续入队的队列printf(是否继续输入:(Y/N)?);5.3.2 影碟出租模块(1)数据结构设计定义文件输出流指针read,将从文件中读出的影碟编号放到stri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 影碟 租赁 系统
链接地址:https://www.31ppt.com/p-2884340.html