草庐IT

软件工程之图书管理系统总体设计

@李优秀 2023-09-13 原文

目录

1.前言

1.1编写目的

1.2项目背景

1.3定义

1.4参考资料

2.任务概述

2.1目标

2.2用户特点

2.3假定和约束

3.需求规定

3.1软件功能的规定

3.1.1信息要求

3.1.2功能要求

3.1.3数据库设计

3.2性能的规定

3.2.2时间特性

3.2.3灵活性

3.3安全性规定

3.4输入与输出需求

3.5质量与性能要求

4.运行环境规定

5.系统概要与系统构成

5.1数据流图

5.2 E-R图

5.3类图

5.4系统功能结构图

6.运行需求

6.1硬件接口

6.2软件接口

7.其他需求


1.前言

1.1编写目的

运用软件对在校全体学生以及职工的借阅图书行为进行管理,科学而有效,不仅可以减少图书管管理员的工作量,而且还给借阅者提供了更方便的借阅方式。一款优秀的管理软件,可以满足当今市场需求,也可以取得一定的市场效益。本说明书明确了客户的各项需求,为程序开发人员明确了所开发软件应具有的功能和注意事项。

1.2项目背景

  1. 开发软件名称:图书管理系统开发软件。
  2. 项目任务提出者是学校图书馆管理人员提出,用户是校内在读或者在职的全体师生以及职工。
  3. 本产品能具体化、合理化管理图书馆,用结构化的思维方式去了解计算机的基本工作原理。

1.3定义

  1. 数据流图简称 DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的。主要表达工具及用于表示软件模型的一种图示方法。
  2. E-R图 (Entire and Relation)为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
  3. 数据字典( Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。

1.4参考资料

  1. 软件工程导论(第六版)
  2. JAVA程序设计

2.任务概述

2.1目标

  1. 持有效卡人能够很方便的借还图书。
  2. 图书管理人员也能很方便的为借阅者办理手续。
  3. 管理人员能随时查询和打印图书信息和借阅信息等其他操作。
  4. 读者也能随时查询到自己的借阅情况及历史记录。
  5. 经济合理的运营成本。

2.2用户特点

  1. 要求操作人员对计算机有一定了解,可以无障碍的使用本系统提供给操作人员操作权限内的各种功能。
  2. 要求维护人员是对本系统有较深的了解,同时对系统相关信息及工作流程有所了解的技术人员。
  3. 本系统主要是职工、学生在正常工作日以及晚上自习时间频度使用,这时候也是本系统最需要维护的时候,所以在这时候要对本系统进行必要的检修,防止系统出错。

2.3假定和约束

  1. 完成本项目应具备的条件:熟练掌握idea软件的操作方法,
  2. 能够运用JAVA语言完成各功能模块的程序编写。
  3. 限制方面:由于对idea软件、JAVA语言、数据库方面的知识可能不够深入,急需对这些方面加强必要的学习和实践。同时,在时间方面,只能在课余时间完成本软件,对时间的安排需做到合理,恰当才能很好的完成本工程。由于是学习之作,资金的不足限制了本软件的研发。

3.需求规定

3.1软件功能的规定

3.1.1信息要求

  1. 图书基本信息:图书编号、作者、图书名、ISBN、价格、分类号等
  2. 分类信息:类别号、类别名
  3. 读者信息:姓名、性别、年龄、是否有不良记录(逾期归还)等
  4. 管理员信息:姓名,性别、年龄、管理员编号、账号、密码等
  5. 借阅记录表:借阅流水、图书编号、归还日期、借阅日期等

3.1.2功能要求

  1. 管理员管理书籍以及借阅者功能(新增、删除、修改、查询)
  2. 读者借书功能、读者还书功能以及查阅书籍功能
  3. 根据权限来实现的查询书籍功能
  4. 管理员查询读者是否逾期归还等功能

3.1.3数据库设计

        根据自己项目的类图、功能结构图的设计来进行数据库设计,设计出对应的数据库表。

        如:借阅信息表

     类型  长度  小数点  NULL  用途  键
reader_id    bigint   20     0    否读者证号 √
passWord    varchar   15      0    否账号密码
userName    varchar    15      0    否账号名

                  

3.2性能的规定

对系统中输入的数据要按照数据字典的规定严格输入,尽量避免数溢出处和数据的不合法性。

3.2.2时间特性

毕业生以及刚入学未办理校园卡的新生无法借阅书籍(毕业生如果在毕业之后归还书籍需要联系管理员)

3.2.3灵活性

图书管理员可及时修改数据库中对应的变更信息

3.3安全性规定

  1. 数据库只有管理员才能访问并且不能轻易泄露信息
  2. 要及时对系统出现的漏洞进行维护,防止数据库信息泄露
  3. 维护人员不定时检测系统有无BUG

3.4输入与输出需求

  1. 输入:查询条件(书籍名、姓名等)、变更的书籍信息以及借阅者信息
  2. 输出:成功信息、页面加载报错信息、其他报错信息等

3.5质量与性能要求

  1. 正常运行时不应出错,若时出错的话,应该有恢复系统的功能,并且必须保护数据的准确性。
  2. 要求所开发的软件要达到用户的需求,运行时基本无误 。
  3. 一般条件下,不应该出现故障。
  4. 对用户的要求要有极快的响应。
  5. 易使用性要求能尽量为用户的使用提供方便。
  6. 可维护性当软件出错时可以尽快的进行修改。

4.运行环境规定

    1. 操作系统要求: Windows 2003、XP、 Win7、Win 10下均可运行,建议使用Win7 版本。XP系统必须是纯净版系统。
    2. 浏览器要求:推荐使用IE浏览器,版本支持IE8及以上版本。

5.系统概要与系统构成

5.1数据流图

5.2 E-R图

5.3类图

5.4系统功能结构图

  

6.运行需求

6.1硬件接口

硬件采用标准桌面系统。

6.2软件接口

  1. 客户端: windows7以上,Internet explorer等
  2. 服务器端:windows7以上等
  3. 数据库:MySql

7.其他需求

  1. 要求开发人员严格测试系统功能
  2. 建议采用问卷调查的方式来确定系统功能的完善度以及界面美观

有关软件工程之图书管理系统总体设计的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  4. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  5. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  6. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  7. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  8. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  9. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  10. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

随机推荐