文档编号: | LMS - 02 |
版 本 号: | V1.0 |
软件详细设计说明书
项目名称:书籍信息管理系统
编写人: |
|
日期: | |
班级: | |
学号: |
目 录
1.1 编写目的
本次C++课程设计自主选材,根据本学期所学课程面向对象程序设计的知识自主开发–基于多态的书籍信息管理系统,根据书籍的主要五大类型分类,继承抽象基类,对抽象类中纯虚函数方法进行重载,来实现书籍的不同类型的功能;实现对书籍信息的管理,如录入、增加、删除、修改、查找,排序,以及将书籍信息数据写入文件、读出文件,及文件数据的清空,具体相关操作和不同功能的实现,将会在具体实现中展示。通过对书籍信息的合理化管理,使得书籍信息的高效化展示和数据的维护。
1.2 项目背景
- 项目委托单位:湖北经济学院。
- 开发单位:湖北经济学院信息工程学院。
使用计算机对书籍信息数据进行管理,具有手工管理所无法比拟的优点,从时间大大缩短对信息的处理,高效精准,查阅速度快,安全性高、可靠、存储量大、保密性强、成本低,极大地提高书籍信息管理的效率。
1.3 定义
SIMS:Book Information Management System,书籍信息管理系统。
1.4 参考资料
[1] 孙宝林,《建模视角下的面向对象程序设计》, 清华大学出处社, 2021.12.
[2] 周之英,《现代软件工程》, 科学出版社, 2001.6.
2.1 目标
本设计要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能:
(1)系统要求用户必须输入正确的用户名和密码才能进入系统。
(2)系统应该提供学生住宿情况的基本登记。
(3)系统应提供人员来访登记及结束访问的详细登记。
(4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记。
(5)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。
(6)系统应提供增加、删除、修改用户账户信息的功能。
2.2 运行环境
CPU | Intel CORE i7 |
内存 | 512MB |
硬盘空间 | 50.0MB以上硬盘剩余空间 |
输入设备 键盘/鼠标 | G502 |
操作系统 | Windows Server |
开发环境 | Visual Studio 2022 |
2.3 条件与限制
由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,本图书信息系统并没有提供数据的远程访问功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,安全性能有待进一步完善。
3. 总体设计
3.1系统结构
系统的大致结构如下:在结构下的该寝室管理系统大致可以划分为以下模块:
图1 学生宿舍管理系统功能
3.2书籍信息管理系统主要功能模块(类)设计
(1)添加书籍信息Add_Book();实现批量添加数据信息的功能,将信息录入到文件中,书籍信息为:书籍类型、ISBN编号、书籍名称、书籍作者、出版社、 书籍类型描述
(2)展示书籍信息Show_Books();显示所有书籍的信息
(3)删除书籍信息del_Books();按照书籍的ISBN编号删除指定的书籍信息
(4)修改书籍信息alter_Books();按照书籍的ISBN编号进行修改书籍的信息
(5)查找书籍相关信息Find_Books();这里用4种方式实现对书籍的查找(按书籍的ISBN编号查找、按书籍的名称查找、按书籍编写的作者查找、按照书名模糊查找书籍的信息)
(6)书籍编号排序Order_Books();按照书籍的ISBN编号进行排序2种(升序、降序)
(7)清空文件数据信息ClearFile();清空文件中的记录的所有书籍的相关数据
(0)退出系Exit_System();退出当前管理系统
3.2.1 创建书籍管理类(bookManagement)
用与系统与用户交互的菜单界面,对书籍进行增删改查等的相关具体操作,及对文件的读写交互操作:
初始化书籍的属性分三种情况考虑:(即考虑对文件操作)
- 第一种:文件不存在
②第二种:文件存在,但是没有任何数据(即数据为空)
③第三种:文件存在而且文件中有书籍的数据记录
3.2.2功能菜单display_Menu()(用于与用户进行交互的界面)
功能描述及其功能展示:用于和用户进行交互,让用户更好的运用该信息管理系统,并可以展示该系统的相关功能
3.2.3 创建书籍类型分类类
3.2.3 .1创建类型抽象类class BooksType
书籍的类型分类为五大类:学术理论类、自然科学类、哲学类、社会科学类、综合性书籍,五个子类继承抽象基类,并重写基类的抽象方法。
类的继承如下图:
3.2.3.2 创建子类:实现多态
3.2.4 添加书籍信息模块
分析:用户在添加书籍时,可能会创建不同种类的书籍类型;如果想把所有不同种类的书籍放入一个数组中,可以将所有员工的指针安置到一个数组中:
3.2.5展示书籍信息
展示所有录入书籍信息
3.2.6删除书籍信息
删除选择的书籍
3.2.6.1假设输入不存在的ISBN编号
友好的提示用户,删除失败,未能找到该书籍:
3.2.6.2 输入存在的ISBN编号
假设删除数据中已存在的ISBN:
3.2.7修改书籍信息
按书籍的ISBN编号修改
3.2.8查找相关书籍
可以按书籍的ISBN编号查找、按书籍的名称查找、按书籍编写的作者查找、按照书名模糊查找书籍的信息,让用户根据所需要来做出选择:
4.1功能菜单
功能描述及其功能展示:用于和用户进行交互,让用户更好的运用该信息管理系统,并可以展示该系统的相关功能:
4.2 添加书籍信息
功能描述:添加指定的数量的书籍,并且保存到文件中
分析:用户在添加书籍时,可能会创建不同种类的书籍类型;
如果想把所有不同种类的书籍放入一个数组中,可以将所有员工的指针安置到一个数组中:
4.3 展示书籍信息
功能描述:展示所有书籍
4.4删除书籍信息
功能描述:假设输入不存在的ISBN编号
友好的提示用户,删除失败,未能找到该书籍:
功能描述:输入存在的ISBN编号
提示用户:删除成功
查看结果:(ISBN编号:1234567891002 已删除)
到Books_Info_Files.txt文件查看数据是否通过程序的操作,保存到文件中
4.5 修改书籍信息
功能描述:输入正确要修改的ISBN编号:(修改:1234567891001)的书籍名称
4.6 查找书籍信息
功能描述:可以按书籍的ISBN编号查找、按书籍的名称查找、按书籍编写的作者查找、按照书名模糊查找书籍的信息,让用户根据所需要来做出选择:
4.7 书籍编号信息
功能描述:排序
4.8 清空文档信息
功能描述:清空信息文件:为了防止误操作,会有提示用户的信息:
4.9退出系统
5 待解决问题
由于时间紧迫,还有诸多待完善的地方,比如报错提示,阈值范围的设置和优化,对于操作的细化和方便还没有完整的规划出来,程序比较简单,没有人员用户的分类,没有对操作错误的撤回功能,有待完善。