系统分析.docx
《系统分析.docx》由会员分享,可在线阅读,更多相关《系统分析.docx(15页珍藏版)》请在冰豆网上搜索。
系统分析
第2章系统分析
2.1系统的调查
2.1.1组织机构
图书管理系统的组织结构如图2-1所示:
图2-1图书馆的组织机构
(1)、采编部:
(2)、流通部:
(3)、阅览部:
(4)、数字资源部:
(5)、信息技术部:
(6)、办公室:
2.1.2业务处理与数据表现调查
该系统主要涉及采编部、流通部、阅览部、信息技术部、办公室等部门的应用,数字资源部部门的应用由其他系统完成。
1、采编部:
根据购买的书籍、期刊等,完成书籍期刊的编目、入库工作,编目的主要内容包括:
编号、ISBN、书名、出版社、出版日期、作者、价格、摘要等信息
2、流通部:
(1)借书:
借书时包括填写如下的信息:
读者信息、图书编号、借阅日期、期限等。
(2)还书:
(3)网上预约:
。
(4)书刊状态查询:
(5)违约处理:
(6)催还书:
(7)遗失赔偿:
(8)验证解挂:
。
3、阅览部:
4、信息技术部:
5、办公室:
2.1.3业务流程图
通过对现行图书馆业务的调查,明确了图书馆的主要工作由图书采编管理、读者信息管理、借书服务和还书服务等几部分组成。
用户对现有业务功能的描述如下:
1、图书采编管理
5、催还书
(1)根据读者的借阅期限和借阅时间,不定时的催还书刊。
根据组织结构图和业务功能,对图书管理的业务流程进行详细调查,按照计算机的规范管理,确定新系统的业务流描述如下:
图例说明:
业务处理描述
业务处理单位
文件存档
图2-2业务流程图图例
图2-3图书管理系统业务流程
业务处理环节定义及处理说明:
(1)证卡管理:
编辑读者信息。
(2)发布公告:
收集信息,在信息平台上发布,读者可以根据读者编号进行相关信息的浏览,包括图书借阅信息、罚款信息、图书状态信息等。
........
2.2系统功能分析
根据系统目标和数据需求以及业务流的分析,并与用户充分讨论后,本系统功能需求可归纳为以下几个方面。
1、系统管理:
2、图书借阅:
包括借书、网络预订、续借等基本功能。
其中网络预订与续借可以通过外部公共网络又用户自行完成。
借书时只需提供读者编号和图书编号,借阅时间、期限等信息。
该功能由图书管理员完成。
.......
2.3数据流程图
根据图书管理的现有业务流程,分析出其数据流图。
1、数据流顶层图如图2-4所示。
图2-4图书管理数据流顶层图
2、图书借阅数据流图,如图2-5所示
图2-5借阅数据流图
图2-9图书查询数据流图
7、图书统计分析数据流图,如图2-10所示
图2-10图书统计分析数据流图
2.4数据词典
图书馆管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。
下面主要对数据流图中的数据流、数据存储和处理过程进行说明。
1、主要的数据流定义
(1)数据流名称:
图书记录
位置:
图书信息->P7,图书信息->P1
定义:
图书信息=类别+出版社+作者+书名+ISBN+价格
数据流量:
平均流量为每月传输1000次,高峰期流量每天传输100次。
说明:
图书入库时,根据图书情况建立图书记录;读者还书时要核实图书基本信息是否与图书记录相符,要检查图书是否完好。
(2)数据流名称:
读者记录
位置:
P3->{P1.1,P1.2,P2.1,P2.3}
定义:
读者信息=读者姓名+读者编号+部门+性别+电话
数据流量:
平均流量为每天传输2000次,高峰期流量每小时传输100次。
(2)主要的数据存储定义
数据存储编号:
D1
数据存储名称:
借书记录
输入:
P1.1,p1.2,p1.3
输出:
P1.3P2.1,P2.2
数据结构:
借书记录=书号+读者编号+借阅日期
数据量和存取频度:
数据量为500000条,存取频度为每天1000次。
存取方式:
联机处理;以更新操作为主;随机检索。
说明:
读者借阅了一本书,就生成一条借阅记录。
借阅日期为添加记录的当天日期。
第3章系统设计
3.1系统功能结构
3.1.1系统功能结构
系统总体结构设计通过系统的功能分析和系统目标要求,最后确定系统的功能结构图如图3-1所示。
图3-1系统总体结构
3.1.2系统功能设计
1、系统管理
本系统的用户分为三类,即系统管理员、图书管理员、普通读者。
系统管理员对图书管理员的信息进行管理和维护,图书管理员完成图书的借阅、还书以及图书采编、读者的管理等工作。
普通读者只能进行信息的查询与检索。
用户管理包括对用户信息的增加、删除、修改、授权等工作。
...
3.2数据库设计
3.2.1数据库的概念设计
1、局部ER图设计
按照自底向上的设计方法,以需求分析的数据字典为依据,设计局部的ER图。
确定范围:
选择以借阅人为核心的范围,根据分层数据流图和数据字典来确定局部ER图的边界。
(1)借书系统的E-R图
相关实体及属性:
读者/借阅人(读者编号、读者部门·、读者姓名、性别、电话)
图书(图书编号、书名、图书分类、出版社、单价、isbn,存储位置,作者、出版日期、图书介绍、入库时间,状态)。
关系:
借阅信息(读者编号、图书编号、借阅时间)
读者和图书之间的关系是多对多的关系,即一个读者可以借阅多本图书,一本图书可以实现多个人借阅,但在某一时刻只能是一个人借阅。
其E-r图如图3-2所示
图3-2借书系统的E-R图
(2)还书系统的E-R图
........
(4)读者管理系统的E-R图
.....
2、全局ER图设计
将上面的局部E-R合并简化,生成全局E-R图,如图3-6所示
3
图3-5图书管理系统的E-R图
3.2.2数据库的逻辑设计
将总体概念结构E-R图转化成关系模型。
图书=(图书编号、书名、图书分类、出版社、单价、isbn,馆藏位置,作者、出版日期、图书介绍、入库时间、图书状态),主键:
图书编号
.......
3.2.3业务规则与数据库优化
为了进一步提高数据库的性能,适当地修改、调整关系模型结构。
1.规范化
关系数据模型的优化通常以规范化理论为指导,一般要求数据库的设计必须要满足3NF,在上面的实体表中,存在以下的问题:
(1)在图书表中,图书分类信息以及储存位置属性存在数据冗余和删除弊。
(2)在读者表中,读者部门属性存在数据冗余和删除弊。
所有将上面两个表优化如下:
图书=(图书编号、书名、图书类别编号、出版社、单价、isbn,存储位置编号,作者、出版日期、图书介绍、入库时间、图书状态);
主键:
图书编号
外键:
图书类别编号,存储位置编号。
图书类别=(类别编号、类别名称)主键:
类别编号
储存位置=(位置编号、位置名称)。
主键:
位置编号
.....
2、分解
分解的目的是为了提高数据操作的效率和存储空间的利用率。
常用的分解方式是水平分解和垂直分解。
如果是大型的图书管理系统,也可以将图书表进行分解,以提高存储效率和数据检索的效率。
其分解如:
图书=(图书编号、书名、图书类别编号、出版社、单价、isbn,作者、出版日期、图书介绍)
主键:
图书编号
外键:
图书类别编号
入库表=(图书编号,入库时间、存储位置编号,图书状态)
主键:
图书编号
外键:
存储位置编号
3、业务规则
为了保证图书管理业务的正常运行,在数据库设计中,其数据的存储必须遵守如下的规则:
(1)图书入库规则,及采编规则
Ø入库的图书必须是已经存在的图书
Ø图书入库的位置必须存在
Ø图书的状态不允许操作用户随意修改,必须是在业务流程中系统自动修改,保证数据的安全。
(2)读者借阅的图书的规则:
(3)读者还书的规则:
3.2.4数据完整性与数据一致性原则
数据的完整性包括:
实体完整性、域完整性、参照完整性(一致性)、用户定义完整性。
1、实体完整性与域完整性
为保证数据的完整性,数据表信息必须遵守如下的规则:
(1)在读者表中,读者编号、读者部门编号不能为空,读者编号必须唯一。
性别的值域范围为:
{未知、男、女}
(2)图书表中,图书编号、图书类别编号、存储位置编号、图书状态不能为空,图书编号必须唯一。
.....
2、参照完整性(一致性)
(1)当读者存在有借阅信息时,不能删除读者信息,读者的一旦生成,一般不允许修改,如果要修改,必须对其外键关联的表的读者编号进行相应的修改,如借阅表、归还表中的读者编号
....
(3)
。
3.2.5数据库结构的定义
在该系统中做如下结构的定义。
数据库中数据表清单
序号
表名
中文名称
说明
1
tabbook
图书表
存放图书信息
2
tabreader
读者表
存放读者的信息
3
tabborrow
借阅表
存放图书借阅的信息
4
tabreturnback
还书表
存放图书归还的信息
5
tabclassity
分类表
存放图书分类的信息
6
tabedeapartment.
部门表
存放读者所属部门的信息
7
tabstorage
馆藏地表
存放图书所在馆藏地的信息
8
tabadmin
用户登录表
存放用户的登录号和登录密码
表3-1数据表清单
表3-1图书的逻辑结构设计
序号
字段
类型
长度
约束
备注
数据源
1
bookID
int
11
主键
图书编号
2
classityID
varchar
20
外键
分类编号
图书分类表
3
isbn
varchar
40
不为空
标准IBSN
4
bookname
varchar
200
图书名称
5
author
varchar
100
作者
6
price
float
10,2
图书价格
7
publisher
varchar
200
出版社
8
publishdate
date
出版年月
9
barcode
int
11
条形码
10
content
varchar
400
内容简介
11
storagedate
date
日期
12
bookstate
varchar
10
不为空
图书状态
在库、外借
13
Store
Var
2
不为空
库存位置
馆藏位置表
14
image
varchar
100
备注信息
.....
3.2.6用户子模式的设计
对应借阅者来讲,可以构造如下的视图
图书借阅信息=读者.读者姓名+图书.图书名称+借阅.借阅日期
馆藏信息=图书.图书名称+馆藏位置
.....
3.3.7数据库的物理设计
1、数据库的选型与环境配置
Mysql是最流行的关系型数据库管理系统,MySQL是一个免费的真正的多用户、多线程SQL数据库服务器应用软件。
现在在很多大型企业都使用,包括淘宝网都使用该软件作为数据库后台管理程序。
2、数据库的实施
(1)创建数据库
Createdatabasebooksys
(2)数据表
//用户表
CREATETABLEtabadmin(
adminIdint(11)NOTNULLAUTO_INCREMENT,
namevarchar(100)DEFAULTNULL,
passwordvarchar(100)DEFAULTNULL,
roleint(11)DEFAULTNULL,
PRIMARYKEY(adminId),
UNIQUEKEYtabadmin(name)
)ENGINE=InnoDBAUTO_INCREMENT=22DEFAULTCHARSET=utf8;
(3)建立视图
....
(4)存储过程与触发器
//借书
...
//还书
....