图书管理系统总体设计

2021-12-15  本文已影响0人  徐嘉迪

图书管理系统总体设计

 

 

 

 

 

 

所在学院信息工程学院              

在班级数据191                   

小组成员 徐嘉迪刘军 张权          

完成时间: 2021年12月5日           

图书管理系统总体设计

1.引言

1.1编写目的

随着计算机技术的快速发展,信息化管理已经深入各行各业。目前,无论公司还是企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。这类信息化管理应用范围极其广泛。在日常生活中,事实上,借书还书是一大问题,为解决这个大问题,“图书管理系统”应运而生。图书管理系统具有种种优点,但在目前状况下,可以大大方便学生进行查看图书剩余数量,存放位置以方便进行借书及还书,对这些内容进行详细分析和总体描述。

1.2背景

1. 软件系统的名称:图书管理系统

2. 任务提出者:河南科技学院

3. 开发者:我邦阿富汗

4. 软件系统应用范围:中小型企业

1.3

耦合:不同对象间相互关联的紧密程度。

1.4期读者

客户、测试人员、用户文档编写者、程序开发人员、项目管理人员。

1.5参考资料

1)《软件工程-软件建模与文档写作》龙浩 王文乐 刘金 戴莉萍 人民邮电出版社;

2)《软件工程导论(第四版)》张海藩清华大学出版社;

3)《软件工程》任胜兵邢琳 北京邮电大学出版社。

2. 设计概述

2.1 限制和约束

图书管理系统的现有开发条件已满足项目的正常开发,但没有网络建设,且数据存储能力不足、无互联网网站、个人设施的数据处理能力不足,导致对于一些特殊要求服务无法实现。

2.2 设计原则和设计要求

(1)设计原则

1、模块化。在面向对象的设计中,模块体现为一个个的类或者类的对象,它们封装了事物的属性和操作。将系统分为若干个功能模块,逐个实现系统的功能,有利于软件的开发、测试以及维护等。

2、抽象化。类是对一组具有相似特征的对象的描述。

3、信息隐藏。默认情况下,类和对象的内部信息对外界是隐藏的。外界只能通过有限的接口来对类和对象的内部信息进行访问。类成员都具有相应的访问控制。

4、低耦合。在面向对象的设计中,耦合主要是指对象的耦合,即不同对象之间互相关联的紧密程度。低耦合有利于降低由于某个类的改变而对其他类造成的影响。

5、高内聚。提高系统的独立性

6、复用性。构造新类时,需要考虑它将来被重复利用的可能。

7、一致性。整个软件系统的各个类均应使用一致的概念、符号和术语;消息模式应保持一致;系统规格说明与系统行为应保持一致。

(2)设计要求

1、设计结果应该清晰易懂。在开发团队内部约定行之有效的协议,并在设计中加以严格遵守,从而保证整个系统的设计保持一致。设立标准的消息模式,尽量减少消息模式的数量。

2、类等级深度适当。类的继承和派生有很多优点,但不能随意创建派生类。期中包含的类层次数要适当。

3、要尽量设计简单的类。简单的类便于开发和管理,过大的类违反设计原则、维护困难。为每个类分配的任务尽量简单,控制类包含的属性和操作,简化对象之间的合作关系。

4、使用简单的消息。减少类方法的参数个数,并且尽量使用简单的数据类型。

5、使用简单的操作。控制方法中的程序行数或者语句的嵌套层数,简化类方法的复杂性。

6、把设计的变动减至最小。正常的变动不可避免,设计人员尽量把变动的频率降至最低。避免出现频繁的设计变动。

 

 

3. 统总体设计

3.1 系统功能结构设计

图3-1 系统功能结构

1、图书管理系统主要是用户模块和管理员模块。

2、用户模块:该模块用户可见,允许用户注册,用户借书,用户还书,且该模块是整个系统的核心,主要集中在对图书借阅信息的增删改查等与业务需求有关的系统设计。

3、管理员模块:该模块管理员可见,允许管理员修改图书,删除图书。

 

 

 

3.2 件构成

(1)“图书管理系统”类图

图3-2 类图

时序图:

(1)用户注册时序图

图3-3用户注册时序图

(2)用户借书时序图

图3-4用户借书时序图

(3)用户还书时序图

图3-5用户还书时序图

(4)管理员修改图书时序图

图3-6管理员修改图书时序图

(5)管理员删除图书时序图

图3-7管理员删除图书时序图

3.3系统构成

图3-5图书管理系统系统组件图

图3-5位图书管理系统的组件图,程序构成主要包括用户注册登录,用户借书,用户还书,管理员登录,修改图书,删除图书等组件。

3.4系统配置

图3-6图书管理系统系统配置图

图3-6为图书管理系统的配置图,图书管理系统的应用服务负责保存整个管理系统的应用程序,数据库是负责数据的管理,此外还有多个终端,对于不同的用户,有不同的客户端。

3.5数据库设计

3.5.1数据库逻辑设计(ER模型)

(a)书籍实体

 

(b) 用户个人信息实体

(c)管理员个人信息实体

(d)借阅信息实体

(e)以上实体之间关系的E-R图

图3-7数据库设计E-R图

3.5.2 数据库表设计(表结构)

表说明:书籍信息

数据项数据类型长度备注

bookid  字符型   20     图书编号

bookName    字符型    20   图书名称

bookCategory   字符型   20   图书分类

bookDesc   字符型   45    图书描述

bookAuthor   字符型   20   作者

bookPress   字符型   20   出版社

price  浮点型 价格

remaining   整型   11   剩余

location  字符型   20  位置

表名称:books

表说明:用户个人信息

数据项数据类型长度备注

userid   字符型   20    用户编号

telNumber   字符型   11   手机号

password   字符型   10   密码

name    字符型   10   姓名

job   字符型   10    工作

school   字符型   10   学校

class   字符型   10   班级

balance   浮点型   余额

表名称:user

表说明:管理员个人信息

数据项数据类型长度备注

userid   字符型   20   用户编号

telNumber   字符型   11   手机号

password   字符型   10   密码

name  字符型  10  姓名

school  字符型  10  学校

表名称:user

表说明:借阅信息

数据项数据类型长度备注

serialNumber   整型  11  流水号

bookid   字符型   45   图书编号

bookName   字符型   45   图书名称

borrowerid   字符型   45   读者编号

borrowerName   字符型   45   读者姓名

returnBookDate   字符型   20   借出日期

returnBookDate   字符型   20   应还书日期

isBad   字符型   45    是否损坏

borrowOrBuy   字符型  2    图书状态:借出/归还/购买

backDate   字符型   45   实际应还日期

表名称:borrowrecord

3.5.3 数据库物理设计

CREATE TABLE `books` (

`bookId` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '图书编号',

`bookName` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '图书名称',

`bookCategory` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '图书分类',

`bookDesc` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '图书描述',

`bookAuthor` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '作者',

`bookPress` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '出版社',

`price` float DEFAULT NULL COMMENT '价格',

`remaining` int(11) DEFAULT NULL COMMENT '剩余',

`location` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '位置',

PRIMARY KEY (`bookId`),

UNIQUE KEY `bookId_UNIQUE` (`bookId`),

UNIQUE KEY `bookName_UNIQUE` (`bookName`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

CREATE TABLE `borrowrecord` (

`serialNumber` int(11) NOT NULL AUTO_INCREMENT COMMENT '流水号',

`bookId` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '图书编号',

`bookName` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '图书名称',

`borrowerId` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '读者编号',

`borrowerName` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '读者姓名',

`borrowDate` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '借出日期',

`returnBookDate` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '应还书日期',

`isBad` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '是否损坏',

`borrowOrBuy` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '图书状态:借出/归还/购买',

`backDate` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '实际还书日期',

PRIMARY KEY (`serialNumber`),

UNIQUE KEY `serialNumber_UNIQUE` (`serialNumber`)

) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COLLATE=utf8_bin

CREATE TABLE `user` (

`userId` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '用户编号',

`telNumber` varchar(11) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '手机号',

`password` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '密码',

`name` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '姓名',

`job` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '工作',

`school` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '学校',

`class` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '班级',

`balance` float DEFAULT NULL COMMENT '余额',

PRIMARY KEY (`userId`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

4.技术设

开发技术:java、MySQL

(1)系统使用mysql数据库存储,后端语言采用Java语言。

(2)MySQL开发技术的注意事项:

1、 库名、表名、索引名必须使用小写字母,并采用下划线分割

2、 字段名使用全小写字母

3、库名、表名、字段名、索引名禁止超过32个字符,须见名之意

4、库名、表名、字段名、索引名禁止使用MySQL保留字

5、 临时库、表名必须以tmp为前缀,并以日期为后缀

6、 备份库、表必须以bak为前缀,并以日期为后缀

5. 词汇

(1) 抽象:抽出事物的本质特性而暂时不考虑它们的细节

(2) 实体关系图:实体关系图描述数据对象及其关系。

(3) 类:类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。

(4)面向对象设计:面向对象的设计就是根据已建立的分析模型,运用面向对象技术进行系统软件设计。

上一篇下一篇

猜你喜欢

热点阅读