Files
BH-Bookstore-2023/docs/homework_requirement/业务要求.md

40 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 业务要求
## 基本要求
设计并实现一个书店管理系统。该书店管理系统应当面向三类人员顾客、销售人员和店长。最终交接物为需求分析文档、总体设计文档13 周周二前和源代码16 周周一前)。关于程序有以下要求:
- 编程语言限制:软件主体(除 bonus 部分外)完全使用 C++ 编写;
- 系统数据需要存储在外存中;
- 系统首次运行时应当创建店主账户,其具有最高权限;
- 管理系统应当使用命令行进行交互;
- 系统支持嵌套登录,即允许多个帐户同时处于登录状态;允许同一帐户同时多次登录。输入的指令视为最后登录的帐户操作;
## 游客
游客只能注册/登录用户。
## 顾客
顾客可以查询和购买图书。
- 每种图书包含的信息有ISBN 号20 个字符每本正版书都有惟一的标识、书名60 个字符、作者60 个字符)、关键字(可以有多个,总共不超过 60 个字符)、库存量(整型)、单价(非负实数);
- 查询图书时可以根据 ISBN 号、作者名字、关键字、书名中的任意组合进行查询;
- 购买图书时,我们通过给定的 ISBN 号和购买数量来进行操作;
## 销售人员
销售人员可以执行所有顾客执行的操作,同时也可以进行进货、图书信息录入、图书信息修改、用户创建。
- 进货时需指定 ISBN 号、数量、进货价格;
- 第一次录入图书时,应当输入其完整信息;
## 店长
店长可以执行所有销售人员和顾客可以执行的功能,同时也可以查询某段时间的采购信息(即按照采购顺序输出采购图书的 ISBN 号、数量、单价等)、销售情况(即按照销售顺序输出售出图书的 ISBN 号、数量、单价等)、盈利信息(即输出该段时间的收入,支出以及利润)。除此之外,店长也可以查看各员工的工作情况报告(即按操作顺序输出每次操作类型及其对象,如创建用户操作以及对应的用户信息)和系统的整体工作日志。
## 性能需求
考虑到应用场景下帐户和图书数量较大,故**禁止将主体数据存储于内存**,应实时读写文件数据。运行过程中程序创建的文件数量不得超过 20 个。