图书馆管理系统的开发

本文介绍了图书馆管理系统课程设计的目的和要求,强调了系统开发在软件工程中的实践意义。通过可行性分析,包括技术、经济和社会因素,证明了系统开发的必要性和可行性。详细描述了系统的需求、设计和实现,包括功能需求、数据流图、数据描述和性能需求。此外,还进行了软件测试,确保系统的功能和性能达到预期。最后,对课程设计进行了总结,指出存在的问题和未来改进的方向。

 

 

 

 

 

  • 课程设计的目的与要求
    1. 课程设计目的

软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。

    1. 课程设计要求
      1. 课程设计准备

1)复习软件工程课程的主要内容,熟练掌握软件生命周期的理论以及各阶段的基本概念。

2)明确可行性分析、需求分析、设计、测试等阶段的基本任务和基本方法。

3)熟练运用规范化的描述方法和文档,描述软件开发的各个阶段。

4)熟悉开发环境和开发工具。

      1. 内容要求

1)对所设计和实现的系统进行可行性分析,提交可行性分析报告;

2)对系统进行需求分析,可以选择传统的分析方法或者面向对象的分析方法,提交软件需求规格说明书(SRS);

3)在SRS的基础上进行软件的概要设计和详细设计,提交软件设计文档;

4)遵循上述文档的要求,实现软件;

5)对所实现系统进行软件测试,完成软件测试报告。

 

 

 

  • 设计正文
    1. 可行性分析报告
      1. 项目简介
        1. 项目目标

随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。图书管理系统对于现代图书馆而言,是能否发挥其教学研究的作用的自关重要的技术平台,对于在校学生和管理员来说,是能否方便快速获取信息的关键。所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。

 

        1. 系统的简要描述,主要功能
    1. 用户有借书的权限
    2. 用户可以注册新用户
    3. 用户可以查询书籍信息
    4. 管理员可在在图书馆中增加/删除一本书
    5. 按照图书编号或关键字检索一批书
    6. 查询用户的借阅记录
    7. 管理员可以添加用户信息
    8. 管理员可以查询书目以及用户信息

 

      1. 对现有系统的分析   
        1. 处理流程和数据流程(系统流程图)

        1. 对现有系统的其他说明

工作负荷:以前的图书管理完全是手工操作,从新书的购买、编码、入库、上架到借阅、续借、查询等,耗费了很大的人力,并且很难避免错误的发生,该图书管理系统针对这些问题,不仅降低了工作量,还改善了图书管理上的准确性,功能清晰易懂,便于操作。

费用开支:软件开发中的费用支出主要有开发人员、材料、设备、开发空间以及后期的维护等方面的支出。

人员:对于此系统的开发,需要至少三名有经验的软件开发人员,系统的操作人员以及后期维护人员。

设备:数据库管理系统SQLServer2019windows操作系统;Visual Studio 2019

局限性:计算机在非正常情况下停止工作是数据的备份情况,以及每个人对界面的上手程度的不同

      1. 技术可行性分析

主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。

      1. 经济可行性分析

 

投资:

(1)     研究(需求的研究和设计的研究);

(2)     开发计划与测量基准的研究;

(3)     数据库的建立;

(4)     检查费用和技术管理性费用;

(5)     培训费、旅差费以及开发安装人员所需要的一次性支出;

(6)设备的租金和维护费用;

(7)软件的租金和维护费用;

(8)数据通讯方面的租金和维护费用;

收益:

在整个生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免。尤其是一些不定量的收益,因为并不是谋利系统,是为老师和学生服务的系统,间接提高学校的名誉和提高对外界的形象分值,间接带来不可估量的效益。

      1. 社会因素可行性分析      
        1. 法律因素

由于所有软件都用正版,技术资料都由提出方保管,数据信息均可保证合法来源。所以,在法律方面是可行的。

        1. 用户使用可行性

主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。

      1. 可供选择的方案

网页版图书管理系统:基于Java和MySQL的网页版图书管理系统,具有界面美观、兼容度高的优点,但编程难度较高,成本增加。

客户端图书馆:基于C#和SQL server的客户端图书馆管理系统,具有编程简单,开发周期短,稳定等优点。

根据以上分析可知,开发图书管理系统不仅有较大的经济效益而且有更大的社会效益,从而开发使该系统具有开发价值,也节省了大量资源,但是时间有限,该管理系统考虑不太健全,我们会在这方面加强学习和改进,所以我们认为开发此系统的条件已经具备,可以进行开发。

 

    1. 软件需求规格说明书(SRS)
      1. 需求概述
  1. 给出软件需求的摘要和简单描述

图书馆管理系统就是能满足读者和图书的图书馆实现日常操作信息化和后台统计电算化的系统。它能够帮助图书馆管理人员处理基本的管理项目,图书馆满足信息化的需要,并且有操作简单,易上手,错误较少等优点。

同时,世界的信息化的趋势也让我们的生活不得不进入信息化与模范化,软件产业更是如此,大力推进信息化发展,已成为我国经济社会发展新阶段重要而紧迫的战略任务。所以,图书管理系统的制作是急迫的和必须的。

本系统通过强大的计算机技术给图书的信息更新带来便利。本系统实现了图书管理信息更新等功能。

  1. 运行环境          

SQLServer2019;windows操作系统;Visual Studio 2019

 

      1. 功能需求

2.2.1数据流图

顶层数据流图

0层数据流图

书籍管理子系统DFD

  

 

用户管理子系统DFD

登陆子系统DFD

借阅子系统DFD

2.2.2数据描述

(1)E-R图

      1. 数据描述

数据词典   

图书信息表

图书信息=书号+书名+作者+评分+出版社+价格+数目

书号=”0000000000001”..”9999999999999”

书名=1{字符}20

作者=1{字符}20

评分=”0”..”10”

出版社=1[字符]20

价格=”0”..”200”

数量=”0”..”999”

用户信息表

用户信息=账号+姓名+密码+性别+生日

账号=”0”..”9999999999”

姓名=4{字符}10

密码=5{字符}10

性别=【男|女】

生日=”年”+年+”月”+月+”日”+日

年=”1870”.."2200"

月=”1”..”12”

日=”1”..”31”

管理员信息表

管理员信息=账号+姓名+密码

账号=”0”..”9999999999”

姓名=4{字符}10

密码=5{字符}10

借阅记录表

借阅记录=书号+用户账号+借阅时长+借阅号+是否逾期+借书时间

书号=”0000000000001”..”9999999999999”

账号=”0”..”9999999999”

借阅时长=[15天|30天|60天]

借阅号=”000001”..”999999”

是否逾期=[0|1]

借书时间=”年”+年+”月”+月+”日”+日

年=”1870”.."2200"

月=”1”..”12”

日=”1”..”31”

 

 

      1. 性能需求     
  1. 数据精确度

根据关键字精度的不同,查找可分为精确查找和泛型查找,精确查找可精确匹配读者已知道的书目,泛型查找,只要满足与输入的关键字相匹配的书目即输出,可供读者查找。还有不同数据的数据类型。

  1. 时间特性   

查询速度:不超过10秒;

其它所有交互功能反应速度:不超过3秒;

可靠性:平均故障间隔时间不低于200小时。

 

  1. 适应性

当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。

 

      1. 运行需求     
  1. 用户界面   

鼠标,键盘,显示器;操作系统:Windows操作系统;

  1. 硬件接口   

  1. 软件接口

后台管理,操作系统: windows;数据库:SQL Server 2019,

  1. 故障处理   

 

 

 

    1. 软件设计说明书
      1. 软件模块结构图

      1. 文件结构和全局数据

Table_Admin 管理员信息表

字段值

数据类型

约束

描述

Anum

Varchar(50)

Primary Key, auto_increment

管理员编号

Aname

Varchar(50)

NOT NULL

管理员姓名

Apwd

Varchar(50)

NOT NULL

管理员登录密码

 

Table_Reader 借阅者信息表

字段值

数据类型

约束

描述

Rnum

Varchar(50)

Primary Key, auto_increment

借阅者账号

Rname

Varchar(50)

NOT NULL

借阅者姓名

Rpwd

Varchar(50)

NOT NULL

借阅者登录密码

Rsex

Varchar(50)

NOT NULL

借阅者性别

Rbirth

Varchar(50)

NOT NULL

借阅者生日

 

 

 

 

 

 

 

 

Table_Book 图书信息表

字段值

数据类型

约束

描述

Bnum

Varchar(50)

Primary Key, auto_increment

图书编号

Bname

Varchar(50)

NOT NULL

图书名称

Bauthor

Varchar(50)

NOT NULL

图书作者

score

Varchar(50)

NOT NULL

图书评分

Bpublish

Varchar(50)

NOT NULL

图书出版社

Price

Varchar(50)

NOT NULL

图书价格

Quantity

Varchar(50)

NOT NULL

图书数量

 

 

 

 

 

 

 

 

 

Table_Borrow 借书/还书信息表

字段值

数据类型

约束

描述

BorrowNumber

Varchar(50)

Primary Key

借书编号

Bnum

Varchar(50)

NOT NULL

图书编号

Rnum

Varchar(50)

NOT NULL

借阅者编号

Rtime

Varchar(50)

NOT NULL

借书时长

OverDue

Varchar(50)

NOT NULL

超期标记

time

Varchar(50)

NOT NULL

借书日期

 

 

 

 

 

 

 

 

      1. 模块描述
        1. 登陆注册模块描述

1)功能:登陆功能界面,验证密码身份。

2)接口: 登陆界面,注册界面

3)数据: 用户信息表,管理员信息表

4)处理:

(1)登录:如果用户已有账户可以直接登录,读者、管理员都由此登录。

(2)注册:如果用户没有账户可以注册,提交一些个人信息后注册,只可以注册为读者,管理员不能通过页面注册,只能由后台数据库添加。

注册完成的读者或管理员通过在登录页面提交用户名和密码后可以登录。如果提交错误的用户名或密码,系统会有提示。

具体算法实现为:

begin

if 输入帐号和密码、身份 不为空 then

  begin

    查询人员表;

  end

else 提示人员编号和人员密码、身份不能为空,返回;

if 查询结果为空 then

  begin

    提示出错信息,返回重新登陆;

  end

else 根据不同的身份进入相应的主界面;

end

流程图为:

 

 

        1. 书籍管理模块描述

1)功能:管理书籍,还书,新增书籍,书籍总览。

2)接口: 管理界面,新增书籍,删除书籍,查询书籍

3)数据: 图书信息表,借阅记录表

4)处理:

还书管理:查询账号已借书籍,删除借阅信息,在书籍信息表中加回书籍,回到可借书列表

书籍列表:显示图书信息表中的数据

 

 

 

 

    1. 软件测试报告
      1. 测试范围

       本次测试针对开发的图书馆管理系统进行,包括功能测试,界面测试,负载测试,文档测试。按照规格需求说明书中的功能进行测试,在测试过程中发现软件的漏洞不足并予以改正。检验软件本身的功能是否达到了预期的想法,在众多的测试当中,性能和功能都在不断的进行完善,设计的合理,达到了人们的一些生活需求,在以后的测试极其维护该改进中都有非常良好空间。

      1. 测试计划  

表1 开始/中断/完成测试说明

开始/中断/完成测试

标准说明

开始测试标准

中断测试标准

 

完成测试标准

硬件环境可用并且软件正确安装完成

安装无法正确完成或程序的文档有相当多的失误或系统服务异常

完成测试计划中的测试规划并达到程序和测试质量目标

 

 

表2 测试技术说明

测试技术

说明

编写测试用例

单元测试

系统测试

在产品编码阶段编写测试用例

对具体模块及函数进行测试

检测模块集成后的系统是否达到需求对业务流程及数据流的处理是否符合标准、系统对业务流程处理是否存在逻辑不严谨及错误,以及是否存在不合理的标准及要求

 

表3测试类型说明

测试类型

说明

功能测试

 

边界值测试

 

界面测试

文档测试

根据系统需求文档和设计文档,检查产品是否正确实现了功能

选择边界数据进行测试,确保系统功能正常,程序无异常

检查界面是否美观合理

检查文档是否足够,描述是否合理

 

        1. 测试阶段 
  1. 首先测试数据库连接是否正常
  2. 测试系统界面是否可以正常显示
  3. 测试管理员登录界面
  4. 测试用户是否能登陆界面

 

 

 

 

 

        1. 测试进度:

      1. 测试项目说明
        1. 登录模块
        1. 测试目的:

测试模块的正确性、测试界面的正确性、测试数据和文件的访问、测试设计的约束规定

        1. 测试方法和测试软件:黑盒方法测试
        2. 测试用例

数据类型

输入

预期输出

非法用户

003  11111

账号或密码错误!

合法用户,错误密码

001  22222

账号或密码错误!

空白

     

请输入账号或密码!

合法用户

001  11111

登陆成功

 

        1. 注册模块

1 测试目的:

测试模块的正确性、测试界面的正确性、测试数据和文件的访问、测试设计的约束规定

2 测试方法和测试软件:黑盒方法测试

3 测试用例

 

数据类型

输入

预期输出

非法账号

Acasc

账号必须为数字

非法账号

11111111111

账号长度必须小于等于十位

非法密码

11

密码长度必须大于五位

注册两个相同账号

1111  1111

账号已存在!

正确账号密码

101  11111

用户添加成功!

 

      1. 测试分析
        1. 登陆模块测试分析
  1. 实测结果数据

 

 

 

输入合法用户,正确密码:登陆成功

 

    1. 与预期结果数据的偏差

与预期输出没有特别大的偏差

    1. 该项测试表明的事实

测试结果与预期输出没有特别大的偏差,说明系统登录模块设计正确并且可以正常使用

    1. 该项测试发现的问题

 

 

 

        1. 注册模块测试分析

输入非法密码

 

输入合法密码

 

测试结果与预期输出没有特别大的偏差,说明系统登录模块设计正确并且可以正常使用

 

  • 课程设计总结或结论

本项目具有方便快捷等优势,使得图书管理实现电子化,符合社会信息化发展的需要,技术、经济、操作、法律方面都是可行的,因此,开发该系统是完全可以的。但是这次实验最大的问题是测试工作应避免由原来开发软件的个人来承担,本系统的测试工作是由我一个人来承担,设计测试方案时,不仅要包括确定的输入数据,而且应包括从系统功能出发预期的测试结果。测试用例不仅要包括合理,有效的输入数据,还要包括无效的或不合理的的输入数据,不仅要检验程序是否做了该做的事,还要检查程序是否同时做了不该做的事,软件中仍存在错误的概率和已经发现错误的个数是成正比的。保留测试用例,作为软件文档的组成部分。

由于实验时间比较紧张,掌握知识有限,所以系统还未能做到完美,还有许多瑕疵,我会在以后的学习中努力学习更多的东西,在将来可以开发出更加优秀的系统。最后感谢老师的悉心指导!

 

  • 参考文献

[1]宋雨,《软件工程基础》,机械工业出版社。

[2]王删,《数据库系统原理教程》,清华大学出版社。

[3]王珊,《数据库系统概论》,高等教育出版社。

[4]宋雨,《软件工程》,清华大学出版社。

[5]本杰明·帕金斯,《C#入门经典》,清华大学出版社。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附录

登陆界面

注册界面

主界面

 

书籍列表

还书管理

借书界面

图书馆管理系统使用说明书 配置源程序 附加MYSQL数据库 将TM\02\ Database\db_librarySys文件夹拷贝到mysql\data文件夹下即可,如图1.1所示。 图1.1 拷贝MYSQL数据库 将程序发布到Tomcat下 (1)将“TM\02”文件夹拷贝到Tomcat安装路径下的webapps文件夹中。 (2)选择开始菜单中的“所有程序\Apache Tomcat 6.0\Monitor Tomcat”命令,这时在windows的系统托盘中会显示标识Tomcat服务器启动状态的图标,如果显示为 ,则说明Tomcat服务器没有启动,这时可以在该图标上单击鼠标右键在弹出的快捷菜单中选择“Start Service”菜单项启动Tomcat服务器,启动后将显示为 。 (3)打开IE浏览器,在地址栏中输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号。 (4)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (5)在用户名及密码处输入登录Tomcat的用户名和密码,单击【确定】按钮。 (6)进入“Tomcat应用程序管理”页面,在此页面中单击“02”,进入本程序主页面,完成Tomcat配置。 导入所应用的包 在运行本程序时,需要将Struts 1.2和MySQL数据库驱动包拷贝到Tomcat安装路径下的webapps文件夹中的02\WEB-INF\lib文件夹中。 使用说明 系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等功能。项目实施后,能够提高图书馆的图书借阅、归还流程,提高工作效率。整个项目需要在两个月的时间内交付用户使用。 操作注意事项 (1)本系统的用户名为:tsoft,密码为:111 (2)读者类型不同,可借图书的本数也有所区别。 操作流程 (1)用户登录图书馆管理系统后,可看到图书借阅排行榜,通过排行榜可以看出借阅图书的名称、图书类型、借阅次数等相关信息。 (2)单击“系统设置”/“图书馆信息”命令,对图书馆信息进行设置操作。 (3)单击“系统设置”/“管理员设置”命令,对管理员信息进行添加、权限设置、查询及删除操作。 (4)单击“系统设置”/“参数设置”命令,对办证费用及有效期限信息进行添加操作。 (5)单击“系统设置”/“书架设置”命令,对书架信息进行添加、修改及删除操作。 (6)单击“读者管理”/“读者类型管理”命令,对读者类型信息进行添加、修改及删除操作。 (7)单击“读者管理”/“读者档案管理”命令,对读者信息进行添加、修改及删除操作。 (8)单击“图书管理”/“图书类型设置”命令,对图书类型信息进行添加、修改及删除操作。 (9)单击“图书管理”/“图书档案管理”命令,对图书信息进行添加、修改及删除操作。 (10)单击“图书借还”/“图书借阅”命令,对图书借阅信息添加操作。 (11)单击“图书借还”/“图书续借”命令,对图书续借信息进行添加操作。 (12)单击“图书借还”/“图书归还”命令,对图书归还信息进行添加操作。 (13)单击“系统查询”/“图书档案查询”命令,对图书档案信息进行查询操作。 (14)单击“系统查询”/“图书借阅查询”命令,对借阅的图书信息进行查询操作。 (15)单击“系统查询”/“借阅到期提醒”命令,对借阅到期提醒信息进行查询操作。 (16)单击“更改口令”按钮,对当前的用户密码进行修改操作。 (17)单击“退出系统”按钮,退出当前操作系统。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值