C++程序大作业

文档编号:

LMS - 02

版 本 号:

V1.0

软件详细设计说明书

项目名称:书籍信息管理系统

编写人:

          

日期:

班级:

学号:

1.     引言.................................................................................................................... 2

1.1 编写目的.................................................................................................... 2

1.2 项目背景.................................................................................................... 2

1.3 定义............................................................................................................ 2

1.4 参考资料.................................................................................................... 2

2.     概述.................................................................................................................... 3

2.1 目标............................................................................................................ 3

2.2 运行环境.................................................................................................... 3

2.3 条件与限制............................................................................................... 3

3. 总体设计.............................................................................................................. 4

3.1系统结构..................................................................................................... 4

3.2模块设计..................................................................................................... 4

4 详细设计............................................................................................................... 6

4.1 菜单模块.................................................................................................... 6

4.2 添加模块.................................................................................................... 6

4.3 展示模块.................................................................................................... 7

4.4 删除模块.................................................................................................... 8

4.5 修改模块.................................................................................................... 8

4.6 查找模块.................................................................................................... 9

4.7 书籍编号模块......................................................................................... 10

4.8 清空模块................................................................................................. 10

4.9 退出模块................................................................................................. 10

5 待解决问题......................................................................................................... 10

  1. 引言

1.1 编写目的

本次C++课程设计自主选材,根据本学期所学课程面向对象程序设计的知识自主开发–基于多态的书籍信息管理系统,根据书籍的主要五大类型分类,继承抽象基类,对抽象类中纯虚函数方法进行重载,来实现书籍的不同类型的功能;实现对书籍信息的管理,如录入、增加、删除、修改、查找,排序,以及将书籍信息数据写入文件、读出文件,及文件数据的清空,具体相关操作和不同功能的实现,将会在具体实现中展示。通过对书籍信息的合理化管理,使得书籍信息的高效化展示和数据的维护。

1.2 项目背景

  1. 项目委托单位:湖北经济学院。
  2. 开发单位:湖北经济学院信息工程学院。

 使用计算机对书籍信息数据进行管理,具有手工管理所无法比拟的优点,从时间大大缩短对信息的处理,高效精准,查阅速度快,安全性高、可靠、存储量大、保密性强、成本低,极大地提高书籍信息管理的效率。

1.3 定义

SIMS:Book Information Management System,书籍信息管理系统。

1.4 参考资料

[1] 孙宝林,《建模视角下的面向对象程序设计》, 清华大学出处社, 2021.12.

[2] 周之英,《现代软件工程》, 科学出版社, 2001.6.

  1. 概述

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 详细设计

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 待解决问题

由于时间紧迫,还有诸多待完善的地方,比如报错提示,阈值范围的设置和优化,对于操作的细化和方便还没有完整的规划出来,程序比较简单,没有人员用户的分类,没有对操作错误的撤回功能,有待完善。

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TvT<

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值