图书馆管理系统的开发

图书馆管理系统的开发_第1张图片

 

 

 

 

 

  • 课程设计的目的与要求
    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. 处理流程和数据流程(系统流程图)

图书馆管理系统的开发_第2张图片

        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数据流图

顶层数据流图

图书馆管理系统的开发_第3张图片

0层数据流图

图书馆管理系统的开发_第4张图片

图书馆管理系统的开发_第5张图片

书籍管理子系统DFD

  

图书馆管理系统的开发_第6张图片

 

用户管理子系统DFD

图书馆管理系统的开发_第7张图片

登陆子系统DFD

图书馆管理系统的开发_第8张图片

借阅子系统DFD

图书馆管理系统的开发_第9张图片

2.2.2数据描述

(1)E-R图

图书馆管理系统的开发_第10张图片

      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. 软件模块结构图

图书馆管理系统的开发_第11张图片

      1. 文件结构和全局数据

Table_Admin 管理员信息表

字段值

数据类型

约束

描述

Anum

Varchar(50)

Primary Key, auto_increment

管理员编号

Aname

Varchar(50)

NOT NULL

管理员姓名

Apwd

Varchar(50)

NOT NULL

管理员登录密码

 

图书馆管理系统的开发_第12张图片

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

借阅者生日

 

 

 

 

 

 

 

图书馆管理系统的开发_第13张图片

 

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

流程图为:

 图书馆管理系统的开发_第14张图片

 

        1. 书籍管理模块描述

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

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

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

4)处理:

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

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

 

 

 

 

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

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

      1. 测试计划  

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

开始/中断/完成测试

标准说明

开始测试标准

中断测试标准

 

完成测试标准

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

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

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

 

 

表2 测试技术说明

测试技术

说明

编写测试用例

单元测试

系统测试

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

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

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

 

表3测试类型说明

测试类型

说明

功能测试

 

边界值测试

 

界面测试

文档测试

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

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

检查界面是否美观合理

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

 

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

 

 

 

 

 

        1. 测试进度:

图书馆管理系统的开发_第15张图片

图书馆管理系统的开发_第16张图片

      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#入门经典》,清华大学出版社。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附录

登陆界面

图书馆管理系统的开发_第17张图片

注册界面

图书馆管理系统的开发_第18张图片

主界面

 

图书馆管理系统的开发_第19张图片

书籍列表

图书馆管理系统的开发_第20张图片

还书管理

图书馆管理系统的开发_第21张图片

借书界面

图书馆管理系统的开发_第22张图片

你可能感兴趣的:(c#,软件工程师)