书店租赁管理系统 设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章开发背景
书店从事出租图书、影碟服务,需实现图书和影碟信息的输入、查询、显示,书(碟)借、还等管理,归还时计算租金,并支付租金,书店用户分为会员用户和一般用户,会员用户和一般用户包含姓名、电话等信息,图书和影碟也包含许多的基本信息,对于每次的租赁都要记录租赁物的信息以及借书人等情况,非常麻烦,书店租赁管理系统就是为了解决这些问题而被开发出来的,书店租赁管理系统完全能够满足书店的功能需求,并能方便的管理好书店的信息。
第二章系统需求
2.1系统总需求
书店租赁管理系统需要满足来自两方面的需求,这两个方面分别是借书人者、借出人。借书人的需求是查询借的租赁物的信息以及什么时候借的,然后再支付租金,借出人需要对书店租赁物的状态进行查询,如果是在店状态时就能执行借出操作,并且借书人也需要查询借出的租赁物的信息,还要能够对还书进行信息输入,通过系统最终得出租金,借书人还需要对营业的情况进行分析,以做出正确的决策。
2.2 功能需求
书店租赁管理系统能够为管理人员提供最及时的经营数据,包括当前书店中租赁物是否在店,书店中需要添加哪些比较热门的租赁物,为在激烈竞争市场中提供更加精确、及时的数据供决策层参考。
整个系统共分六个模块:租赁物信息的输入、查询、显示所有租赁物的信息、借出、归还、租金。
租赁物信息的输入:输入商店中所有图书和影碟的信息,并把租赁物的借出时间和归还时间都赋值为零,借出时间为零表示该租赁物还在店内。
查询:查询该租赁物的状态,共有三种状态,即:在店内,被借出,不存在。
显示所有租赁物的信息:显示所有图书和影碟的信息。
借出:输入借出信息,并进行相关的操作。
归还:输入归还信息,并进行相关的操作。
租金:计算租金。
2.3 数据需求
一般用户信息=用户类的信息+押金
会员用户信息=用户类的信息+入会费用+入会时间+折扣
图书=租赁物类的信息+价格+作者
影碟=租赁物类的信息+出版公司+影片数量
租金=折扣*天数*每天的租金*数量
第三章系统设计
3.1 系统总功能模块设计
书店租赁管理系统是对租赁物的情况进行综合的管理。包括租赁物信息的输入、查询、显示所有租赁物的信息、借出、归还、租金等六个功能。书店租赁管理系统的软件结构如图3.1所示。
分工:
莫雁滔:借出、归还、租金。
邹海屏:输入、查询、显示。
3.2 各子功能模块设计
3.2.1借出
(1)功能:查询想要借的租赁物的当前状态,当图书在店内是执行借书操作并输入借出时间以及借书人的信息。
(2)程序流程图:借出模块的程序流程图如下图3.2所示。
3.2.2归还
(1)功能:查询想要还的租赁物的当前状态,当租赁物被借出时执行还书操作,并输入归还时间。
(2)程序流程图:借出模块的程序流程图如下图3.3所示。
3.2.3租金
(1)功能:计算租赁物的租赁。
(2)程序流程图:租金模块的程序流程图如下图3.4所示。
3.3.1租赁物信息
不同租赁物公有信息为:租赁物编号,名称,购买时间,租金,借出时间,归还时间。用类表示租赁基类信息,用类表示图书派生类和影碟派生类的信息,如下面定义。
class zulinwu
{public:
int number;//租赁物的编号
string mc;//名称
float time;//购买时间
float zujin;//租金
float time1;// 借出时间;
float time2; // 归还时间;
};
3.3.2图书信息
图书信息包括从租赁物类继承来的信息和价格、作者。
class book:virtual public zulinwu //书籍类
{
public:
float jiage;//价格
string writer;//作者
};
3.3.3影碟信息
影碟信息包括从租赁物类继承来的信息和出版公司、影片数量
class film:virtual public zulinwu//影碟类
{public:
string company;//出版公司
int num;//影片数量
};
第四章系统测试
4.1测试的目的
通过测试发现软件错误:
功能的完备性:检验程序功能是否达到用户预先制定的需求
错误检查:检查程序潜在的错误,为软件可靠性与安全性的评估提供依据4.2测试手段
人工测试技术
4.3测试用例
第五章系统特点及关键技术
5.1系统特点
5.2.1输入模块
本模块的特点是租赁物的信息进行输入,首先输入图书的信息,继续就输“y”,结束就输“n”;然后输入影碟的信息,继续就输“y”,结束就输“n”,比较方便。
case 1:
{
cout<<"输入图书信息:"< for(i=0;i<=99;i++) { ts[i].inputAllinfo(); a++; cout<<"继续请输入'y 'or 'Y',否则输入'n' or 'N'"< cin>>flag; if(flag=='y'||flag=='Y') continue; if(flag=='n'||flag=='N') break; } temp3.writefile("E:\\data1.txt"); cout<<"输入影碟信息:"< for(i=0;i<=99;i++) { yd[i].inputAllinfo(); //输入影碟信息 b++; cout<<"继续请输入'y 'or 'Y',否则输入'n' or 'N'"< cin>>flag; if(flag=='y'||flag=='Y') continue; if(flag=='n'||flag=='N') break; } } temp4.writefile("E:\\data2.txt"); 5.2.2查询 本模块的特点是要查找图书时输入“t”,查找影碟输入“y”,然后输入编号,对该租赁物进行查找,找到时有分为在店内和被借出两种状态;没找到时会输出“你找的图书不存在”。 case 2: