图书馆管理系统概要设计kk引言1.1编写目的由前面的需求分析,得出了系统的基本需求,和基本的数据流图,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,实现对系统的初步设计。1.2项目背景根据XX学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高。1.3定义•SQLSever2000:数据库管理软件•DBMS:数据库管理系统•Windows2000/2003/XP:运行环境•Java:软件开发语言1.4参考资料《软件工程导论——第4版》《软件工程实践导论:有关方法、设计、实现、管理之三十六计》《实用软件工程》kk任务概述1.5目标通过该系统的实施,将图书馆管理等方面通过系统来实施,其中包括对学生借还读书信息,员工信息,以及读书信息等等,使得图书馆借还等管理业务和查询业务运转周期缩短?%以上,来提高学校图书馆运转效率。1.6运行环境数据库管理系统软件:SQLSever2000.运行平台:WindowsXP/Windows2000/Windows2003.分辨率:最佳效果1024x768像素1.7需求概述按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。1.8条件与限制无kk2总体设计2.1处理流程顶层数据流图:用户图书馆管理系统输入数据显示器输出数据系统时钟当前日期第0层图:图书馆管理人员1登陆信息验证用户名和密码密码错误信息管理员表2处理管理请求数据输入管理请求数据显示器显示系统时钟当前日期用户3处理查询请求数据输入查询信息查询结果当前日期kk第一层图:(1):登陆子系统图书馆管理人员1.1密码验证用户名和密码登陆错误信息管理员表1.2验证权限用户名1.3显示可用的控件和界面权限显示器显示kk(2):管理子系统图书馆管理人员2.1处理新书购入输入购入新书数据显示器非法信息退货单2.2处理学生借书输入图书字段和学生字段罚款单非法信息接受借书2.3处理学生还书输入图书字段非法信息欠款金额信息还书成功2.4图书注销输入注销图书字段非法信息注销成功系统时钟当前日期罚款单图书目录文件学生文件借书文件罚款单入库单图书目录文件当前日期当前日期当前日期kk(3)查询子系统图书馆管理人员|学生3.1学生信息查询输入学生查询关键字显示器学生信息学生文件借书文件3.2图书信息查询输入图书查询关键字图书信息图书目录文件第二层图:(1):处理新书购入图书馆管理人员(采购员)2.1.1查找数据库,确认信息输入购入新书数据入库单出版社档案文件显示器退货单非法输入数据2.1.2操作验证添加操作2.1.3保存添加记录输入添加信息系统时钟当前日期非法操作显示结果管理员表图书目录文件kk(2)处理学生借书图书馆管理人员2.2.1检查学生欠费情况输入学生字段罚款单显示器欠款超额,拒绝借书2.2.2更新数据库接受借书,输入图书信息借书文件借书成功非法学生信息系统时钟当前日期学生文件(3):处理学生还书图书馆管理人员2.3.1根据图书字段查找数据库输入图书字段2.3.2计算欠款结果借书信息和学生信息显示器欠款金额还书成功系统时钟当前日期罚款单学生文件图书目录文件借书文件(4):处理图书注销图书馆管理人员2.4.1根据图书字段,查找数据库输入注销图书字段图书目录文件2.4.2操作验证修改操作2.4.3保存修改记录输入修改信息显示器注销成功非法操作系统时钟当前日期kk(5)处理学生信息查询图书馆管理人员|学生3.1.1确定查询类型及字段输入查找字段3.1.2查找数据库查找字段,关键字显示器查询结果学生文件借书文件(6)处理图书信息查询图书馆管理人员|学生3.2.1确定查询类型及字段输入查询关键字3.2.2查找数据库查询字段及关键字显示器查询结果借书文件图书目录文件kk2.2总体结构和模块外部设计图书馆管理系统基础信息管理查询子系统管理子系统图书馆信息系统参数设置管理员设置书架设置图书词库设置新书购入学生借书学生还书图书注销学生信息查询图书信息查询输出结果输入数据图书馆信息数据系统参数管理员数据书架信息图书词库借书结果还书结果学生信息图书信息注销结果得到结果管理请求数据原始数据输入处理结果基础信息数据查询信息kk2.3功能分配图书馆管理系统基础信息管理查询子系统管理子系统图书馆信息系统参数设置管理员设置书架设置图书词库设置新书购入学生借书学生还书图书注销学生信息查询图书信息查询系统登陆kk针对图书馆管理系统,可以分为两大模块,一个小模块:分别为管理子系统,查询子系统两大模块;基础信息管理小模块;在管理子系统中:1):新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求;2):处理学生借书模块:该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会根据学生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;3):处理学生还书模块:该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图书字段时,系统会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算,如果没有超期,则欠款金额在原来的基础上加0;之后将结果显示出来;4):处理图书注销模块:该模块主要是针对图书注销业务;在查询子系统中:有两个查询内容:1)学生信息查询:学生信息查询子模块主要是对学生信息的查询;2)图书信息查询:图书信息查询子模块主要是对图书信息的查询;这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安全性和系统的安全性;kk3接口设计3.1外部接口1,用户接口:采用窗口化,菜单式进行设计,在操作时响应热键。2,硬件接口:一卡通,扫描仪器3,软件接口//通过JDBC对SQLServer2000数据库的连接3.2内部接口通过面向对象语言设计类,在public类中实现调用;类间实现严格封装;kk4数据结构设计4.1逻辑结构设计一:学生文件表:序号字段名类型长度精度小数位数默认值允许空主键说明1学生编号Int41√自动编号2姓名nvarchar103性别nvarchar2√4生日datetime8√5证件号码nvarchar25√6联系电话nvarchar40√7登记日期datetime8√8有效期至datetime8√9已借书数smallint2√10是否挂失nvarchar2√二:图书目录文件序号字段名类型长度精度小数位数默认值允许空主键说明1图书编号Int41√自动编号2条形码nvarchar203书名nvarchar2004图书类型Nvarchar50√5作者Nvarchar20√6译者Nvarchar20√7ISBNNvarchar208出版社Nvarchar30√9价格Money8√kk10书架名称Nvarchar20√11现存量Smallint2√12库存总量Smallint2√13入库时间Datatime8√14操作员Nvarchar10√15简介Nvarchar200√16借出次数Smallint2√17是否注销Nvarchar2√三:借书文件表序号字段名类型长度精度小数位数默认值允许空主键外键说明1借阅编号Int41√自动编号2图书编号Int4√3学生编号Int4√4借阅时间Datatime8√5应还时间Datatime8√6续借次数Smallint2√7操作员Nvarchar10√四:罚款单表序号字段名类型长度精度小数位数默认值允许空主键外键说明1借阅编号Int41√自动编号2图书Int4√kk编号3学生编号Int4√4应罚金额Smallint3√5实收金额Smallint3√6是否交款Nvarchar2√7备注Nvarchar200√五:入库单表序号字段名类型长度精度小数位数默认值允许空主键外键说明1书号Nvarchar301√自动编号2条形码Nvarchar20√3书名Nvarchar200√4作者Nvarchar20√5出版社Nvarchar30√6版次Nvarchar50√7图书类别Nvarchar20√8存放位置Nvarchar20√9单价Money8√10入库数量Smallint2√11金额Money8√12经手人Nvarchar10√kk13票号Nvarchar30√14操作员Nvarchar10√15日期datatime8√六:管理员表序号字段名类型长度精度小数位数默认值允许空主键说明1管理员IDint4√2管理员密码char153权限nvarchar164.2物理结构设计4.3数据结构与程序的关系数据结构与程序是软件的重要组成部分,程序的正确执行依赖于合理的数据结构kk5运行设计5.1运行模块的组合本程序主要是以一个窗口为模块,一般一个窗口完成一个特定的功能,主窗口通过打开另一个子窗口来实现个模块之间不同功能的连接和组合。各模块之间相对独立,程序的可移植性好。各模块之间主要以传递数据项的引用来实现模块之间的合作和数据共享。5.2运行控制只要符合操作说明书,用户可自由控制5.3运行时间由用户决定kk6出错处理设计6.1出错输出信息本程序多处采用了异常处理的机制,当遇到异常时不但能及时的处理,保证程序的安全性和稳定性,而且各种出错信息能通过弹出对话框的形式,及时的告诉用户出错的原因及解决的办法,使用户以后能够减少错误的发生。程序的大部分地方还采取了出错保护,如输入内容的长度和类型等减少了用户出错的可能。6.2出错处理对策我们对于本程序的几种可能的错误进行了分析,分别进行了不同的处理。主要的错误可能有:数据库连接错误:这类错误主要是数据库设置不正确,或sqlserver异常引起的,我们只要取消本次操作,提醒用户检查数据库问题就可。输入错误:这主要是用户输入不规范造成的,我们在尽量减少用户出错的条件的情况下,主要也是通过对话框,提醒用户,然后再次操作。其他操作错误:对于用户的不正当操作,有可能使程序发生错误。我们主要是中止操作,并提醒用户中止的原因和操作的规范。其他不可预知的错误:kk程序也会有一些我们无法预知或没考虑完全的错误,我们对此不可能作出万全的异常处理,这时我们主要要保证数据的安全,所以要经常的进行数据库备份,并能及时的和我们联系,以逐步的完善我们的程序。kk7安全保密设计我们这个软件的安全主要有几个方面:软件使用安全:这个我们在对错误的异常处理的地方已经详细说明。这里不再重述。数据保密:由于我们这个软件是面向企业的人事管理的,里面就会有很多员工和企业方面的重要数据。这些数据,出于企业计划,员工隐私等原因需要不宜被外人知道,所以我们设计了登陆系统,保证了操作员合法性。另外,建议企业对数据库(和备份文件)进行一定的密码保护,以防资料的泄漏。操作安全:由于操作员的操作不慎可能导致数据被误删,误改等情况,这里我们在每次删除的时候提醒用户,以防误操作。kk8维护设计软件的维护主要包括,数据库的维护和软件功能的维护。对于数据库的维护,本软件已经提供了数据库的备份和恢复的功能,可以方便的实现数据库的维护管理。对于软件功能方面的维护,由于我们采用的是模块化的设计方法,每个模块(