您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 面向对象程序设计课程设计图书管理系统
百度文库-让每个人平等地提升自我i课程设计报告课程名称面向对象程序设计课题名称图书管理系统专业计算机科学与计术班级计算机1001学号姓名指导教师2011年12月28日百度文库-让每个人平等地提升自我ii湖南工程学院课程设计任务书课程名称面向对象程序设计课题图书管理系统专业班级计算机1001学生姓名学号指导老师审批任务书下达日期2011年11月15日任务完成日期2011年12月28日百度文库-让每个人平等地提升自我iii一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。2.课题题目1)公司库存管理系统2)高校学籍管理系统3)高校工资管理系统4)高校人事管理系统5)通讯录程序设计6)学生成绩管理系统7)图书管理系统8)文本编辑器的设计与实现9)学生考勤管理系统10)公司人员管理系统3.设计要求:⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相应题号的课题。随意换题者不记成绩。⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E-R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出百度文库-让每个人平等地提升自我iv每一步的操作步骤。⑥关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。i二、进度安排第17周星期一8:00——12:00星期二8:00——12:00星期四8:00——12:00第18周星期一8:00——12:00星期二14:30——18:30星期三8:00——12:00三、参考书籍1.《C++程序设计课程设计》刘振安编著TP312C5632.《C++Builder和Delphi课程设计与系统开发案例》伍俊良清华大学出版社7-302-06072-XC++课程设计案例精编严华峰中国水利水电出版社7-5084-2007-12004C++课程设计与系统开发案例伍俊良清华大学出版社7-302-05968-32002C++语言课程设计:案例精选与编程指导陈清华朱红东南大学出版社7-81089-275-42003++课程设计案例精编中国水利水电出版社7-5084-1004-120027.数据结构课程设计案例精编:用C/C++描述李建学李光元吴春芳清华大学出版社7-302-14536-92007(编程平台不限,vc++,c++Builder等等。)i课题7:图书管理系统(一)、课程设计题目:图书管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):在图书管理系统中,要为每个借阅者建立一个账户,并给借阅者发放借阅卡(借阅卡可以提供借阅卡号、借阅者名),账户中存储借阅者的个人信息、借阅信息以及预定信息。持有借阅卡的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。在借阅书刊时,需要输入所借阅的书刊名,书刊的ISBN/ISSN号,然后输入借阅者的图书卡号和借阅者名,完成后提交所填表格,系统验证借阅者是否有效(在系统中存在账户),若有效,借阅请求被接受,系统查询数据库系统,看借阅者所借阅的书刊是否存在,若存在,则借阅者可借出书刊,建立并在系统中存储借阅记录。借阅者还书后,删除关于所还书刊的借阅记录。如果借阅者所借的书刊已被借出,借阅者还可预定该书刊,一旦借阅者预定的书刊可以获得,就将书刊直接寄给预定人(为了简化系统,预定书刊可获得时就不通知借阅者了)。另外,为了简化系统,也不考虑书刊的最长借阅期限,假设借阅者可以无限期地保存所借阅的书刊。ii2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书i目录1.系统需求分析...........................................................................................................12.总体设计...................................................................................................................23.详细设计...................................................................................................................34.系统调试...................................................................................................................95.结果分析.................................................................................................................126.总结.........................................................................................................................127.附件.........................................................................................................................1311.系统需求分析1.系统设计目的与意义设计该图书管理系统,要求学生达到熟练掌握C++语言的基本知识和技能,能够基本掌握面向对象程序设计的基本思路和方法,能够利用所学的基本知识和技能解决简单的面向对象程序设计的问题。另外,通过该课程设计的实践,来提高学生动手编程解决实际问题的能力,加深对C++语言及解决问题方法的理解,为以后的学习打下坚实的基础。2.系统功能需求分析由对图书管理系统的问题描述可知,该系统主要功能应该包括借阅书刊,归还书刊,取消书刊预约信息,录入书刊,显示用户信息,查询书刊信息,退出系统等功能。同时,在借阅书刊和显示用户信息的功能中还应有有注册用户信息的功能。如果用户在借阅书刊和显示用户信息的的时候,若用户数据库中没有该用户,则提示用户是否注册用户信息。并且,在借阅书刊时,若该书刊已借,用户可以预约该书刊。另外,在归还书刊的功能中,应该有预约该书刊的用户可依预约时间的先后来获得该书刊。在进入取消书刊预约信息的时候,应该根据用户输入的基本信息(借阅名,借阅卡号)首先来显示用户基本信息,再根据基本信息是否来进行取消已预约书刊记录信息的功能。依以上对系统所需功能的分析,为了实现上述的各个功能,首先应该要建立合适的数据结构,为实现以上各个功能的基本运算而进行合理的数据存储及组织。显然,在该系统中的基本运算主要是数据元素的查找、删除、插入等。数据元素应该是账户信息,账户信息内又包括用户的个人基本信息、借阅信息、以及预约信息。另外,为了能够借阅书刊以及查询书刊信息,应该还要建立对图书信息的存储和组织的数据结构,在该数据结构中,图书信息即为该数据结构的数据元素。以下对数据元素进行详细的分析。对于账户信息,其包括个人信息、借阅信息、以及预约信息。这些信息可以定义类来实现,并把个人信息类、借阅信息类、预约信息类嵌套在账户信息类里,作为它的私有成员;对于图书信息,则可定义图书信息类。账户信息和图书信息仅仅只是针对单一对象的信息,如要存储多个这样对象的信息,则必须构建一个合适的数据结构来存储和组织这些信息。由系统功能可知,应该选用链表来存储账户信息和图书信息比较合适。所以可以定义链表类来对账户信息和图书信息进行存储和组织。另外,某一个用户借阅或预约的书刊可能有多本,故也可以定义链表类来存储和组织这些信息,在把链表类嵌套到账户类里。22.总体设计1.系统功能分析该系统主要功能包括借阅书刊、归还书刊、取消书刊预约信息、录入书刊,显示用户信息、查询书刊信息、退出系统等。进入该系统后,便出现选择这些功能的菜单,可依选择项进入相应的功能模块。执行某一功能(除了退出系统)后又可返回功能选项菜单界面。所以在主函数中需要采用函数嵌套。依系统功能分析有:功能模块流程图如下:图系统功能模块流程图2.系统功能模块划分与设计以下对各功能模块进行分析与设计:(1)借阅书刊功能首先输入书刊名、书刊的ISBN/ISSN号、借阅者名、借阅卡号。然后依借阅者名及借阅卡号在账户类链表中查找该用户是否存在。若不存在,则返回到注册账号。反之,则依ISBN/ISSN号在图书类中查找并判断该书是否已借阅。(书刊是否被借阅,可以在图书类中定义某一变量进行标记,以此来判断该书刊是否被借阅)若借阅,用户则可预约该书刊或结束借阅书刊功能,借阅书刊失败。反之则借阅书刊成功,并作相应的数据记录。另外,在预约书刊后,若预约的书刊被归还,则立即寄给预约人,并作相应的数据记录。(若有多人预约同一本书,应按预约时间的先后,来确定寄给书刊的预开始进入图书管理系统借阅书刊归还书刊记录书刊信息退出系统显示用户信息取消预约信息查询书刊结束3定人)。(2)归还书刊功能首先输入用户名及借阅卡号,并依次在账户类链表中查找到该账户。若未查找则提示用户可能输入信息错误并要求重新输入。若查找到,则输入书刊名及书刊ISNB/ISSN号,并由此在图书类链表中查找该书刊是否存在,若未查找到则提示书刊信息输入错误并要求重新输入。若书刊存在,则输出归还书刊成功,并作相应的数据记录。同时,还要在账户类链表中查找已预约该书刊的用户,并找到最早预约该书刊的用户,将书刊寄送给该用户,并对该用户信息做相关的记录。(3)查询书刊功能查询书刊应根据书刊名在图书类链表中来查找该书刊。查找方法应该为顺序查找。若图书类链表中无要查找的书刊,则输出图书馆内无该书;反之,则输出该书的基本信息,基本信息包括:书名、ISNB/ISSN号、价格
本文标题:面向对象程序设计课程设计图书管理系统
链接地址:https://www.777doc.com/doc-7315486 .html