软件工程之图书管理系统总体设计
目录
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.3定义
- 数据流图简称 DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的。主要表达工具及用于表示软件模型的一种图示方法。
- E-R图 (Entire and Relation)为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
- 数据字典( Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。
1.4参考资料
- 软件工程导论(第六版)
- JAVA程序设计
2.任务概述
2.1目标
- 持有效卡人能够很方便的借还图书。
- 图书管理人员也能很方便的为借阅者办理手续。
- 管理人员能随时查询和打印图书信息和借阅信息等其他操作。
- 读者也能随时查询到自己的借阅情况及历史记录。
- 经济合理的运营成本。
2.2用户特点
- 要求操作人员对计算机有一定了解,可以无障碍的使用本系统提供给操作人员操作权限内的各种功能。
- 要求维护人员是对本系统有较深的了解,同时对系统相关信息及工作流程有所了解的技术人员。
- 本系统主要是职工、学生在正常工作日以及晚上自习时间频度使用,这时候也是本系统最需要维护的时候,所以在这时候要对本系统进行必要的检修,防止系统出错。
2.3假定和约束
- 完成本项目应具备的条件:熟练掌握idea软件的操作方法,
- 能够运用JAVA语言完成各功能模块的程序编写。
- 限制方面:由于对idea软件、JAVA语言、数据库方面的知识可能不够深入,急需对这些方面加强必要的学习和实践。同时,在时间方面,只能在课余时间完成本软件,对时间的安排需做到合理,恰当才能很好的完成本工程。由于是学习之作,资金的不足限制了本软件的研发。
3.需求规定
3.1软件功能的规定
3.1.1信息要求
- 图书基本信息:图书编号、作者、图书名、ISBN、价格、分类号等
- 分类信息:类别号、类别名
- 读者信息:姓名、性别、年龄、是否有不良记录(逾期归还)等
- 管理员信息:姓名,性别、年龄、管理员编号、账号、密码等
- 借阅记录表:借阅流水、图书编号、归还日期、借阅日期等
3.1.2功能要求
- 管理员管理书籍以及借阅者功能(新增、删除、修改、查询)
- 读者借书功能、读者还书功能以及查阅书籍功能
- 根据权限来实现的查询书籍功能
- 管理员查询读者是否逾期归还等功能
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安全性规定
- 数据库只有管理员才能访问并且不能轻易泄露信息
- 要及时对系统出现的漏洞进行维护,防止数据库信息泄露
- 维护人员不定时检测系统有无BUG
3.4输入与输出需求
- 输入:查询条件(书籍名、姓名等)、变更的书籍信息以及借阅者信息
- 输出:成功信息、页面加载报错信息、其他报错信息等
3.5质量与性能要求
- 正常运行时不应出错,若时出错的话,应该有恢复系统的功能,并且必须保护数据的准确性。
- 要求所开发的软件要达到用户的需求,运行时基本无误 。
- 一般条件下,不应该出现故障。
- 对用户的要求要有极快的响应。
- 易使用性要求能尽量为用户的使用提供方便。
- 可维护性当软件出错时可以尽快的进行修改。
4.运行环境规定
- 操作系统要求: Windows 2003、XP、 Win7、Win 10下均可运行,建议使用Win7 版本。XP系统必须是纯净版系统。
- 浏览器要求:推荐使用IE浏览器,版本支持IE8及以上版本。
5.系统概要与系统构成
5.1数据流图
5.2 E-R图
5.3类图
5.4系统功能结构图
6.运行需求
6.1硬件接口
硬件采用标准桌面系统。
6.2软件接口
- 客户端: windows7以上,Internet explorer等
- 服务器端:windows7以上等
- 数据库:MySql
7.其他需求
- 要求开发人员严格测试系统功能
- 建议采用问卷调查的方式来确定系统功能的完善度以及界面美观
软件工程之图书管理系统总体设计相关推荐
- 软件工程案例学习-图书管理系统
软件工程案例学习-图书管理系统 文档编号:LMS_1 ...
- 【毕业设计】基于spring boot的图书管理系统 -java 计算机 软件工程
文章目录 1 前言 2 系统简介 2.1 领域模型 2.2 技术栈 2.3 表结构设计 2.4 接口设计 2.4.1 接口定义 2.4.2 接口测试 2.5 权限设计 3 运行效果 3.1 系统登录 ...
- 软件工程-第五章-总体设计
软件工程-第五章-总体设计 5. 总体设计 5.1 设计过程 5.2 设计原理 5.2.1 模块化 5.2.2 抽象 5.2.3 逐步求精 5.2.4 信息隐藏和局部化 5.2.5 模块独立 5.3 ...
- springboot+乡村图书管理系统 毕业设计-附源码191505
基于java的乡村图书馆管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术 ...
- 基于python/django的图书管理系统
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...
- python大作业:图书管理系统课设报告
Library Manage System 建议可以直接来看我的github,这边图片不太支持 https://github.com/interval-package/Library_Manage_S ...
- 图书管理系统数据字典_2. 结构化——数据字典
返回目录: Chilan Yuk:软件工程分析设计图库目录zhuanlan.zhihu.com 一.基本知识 用于定义数据流和数据存储的结构,并给出构成所给的数据流和数据存储的各数据项的基本数据类型 ...
- C语言编程实现书号查询功能,图书图书管理系统——查询模块的设计与实现(C语言).doc...
图书图书管理系统--查询模块的设计与实现(C语言) 摘 要 数据结构(C语言版)将C语言的功能又提高到了一个新的层次.C语言是一种计算机程序设计语言,它既有高级语言的特点,又有汇编语言的特点.它可以做 ...
- 学院图书管理系统的设计与实现
目 录 第一章 绪论 1 1.1 选题背景及目的意义 1 1.1.1 选题背景 1 1.1.2 目的及意义 1 1.2 现状分析 2 1.3 研究主要内容 2 第二章 系统环境介绍及主要技术介绍 4 ...
- JavaWeb图书管理系统
目录 1.设计任务与目的 2.设计思路 3.概要设计 3.1系统结构图设计 3.2开发工具与运行环境 4.详细设计 4.1系统用户用例图 4.2用户登录用例图 4.3业务流程图 4.4数据流程图 4. ...
最新文章
- java类和接口实例_Java定义泛型接口和类的方法实例分析
- 四十八、减少磁盘延迟时间的方法
- 如何正确拒绝老板的加班要求?学起来!
- 详记一次MySQL千万级大表优化过程!
- 永洪Desktop安装——windows版
- vscode创建工作区_区民政局党员干部下沉社区,积极参与文明创建工作
- poj 3308(最小割求解最小点权覆盖)
- 距离语音交互技术的更大范围应用,还差点什么?
- sql 上亿 查询_在文件上使用 SQL 查询的示例
- lambda表达式的语法精简
- 关于软件测试学习的心得
- CC2530存储器映射
- Python 资源索引[绝对适合PYTHON人]
- linux中fdisk的参数,Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk
- js 绘画js 绘画路径_绘画是一种技能,而不是才能
- 编写一个购物车程序,实现在界面中以列表的形式显示购物车的商品信息,商品信息包括商品名称、价格和数量功能,并能够对购物车中的商品信息进行增删改查
- 计算机操作系统与生态系统
- java fushubaioshi_java – AI如何为战列舰建立遗传规划模型
- 云鹊医认证审核需要多久_云鹊医电脑版下载-云鹊医电脑版下载v3.0.6-西西软件下载...
- 【数组】雇佣 K 名工人的最低成本