• 课程设计的目的与要求

    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. 对现有系统的其他说明

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

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

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

设备:数据库管理系统SQLServer2019;windows操作系统;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#入门经典》,清华大学出版社。

附录

登陆界面

注册界面

主界面

书籍列表

还书管理

借书界面

图书馆管理系统的开发相关推荐

  1. 基于springboot的中国国家图书馆管理系统项目(管理功能)

    中国国家图书馆管理系统项目(模板) 中国国家图书馆管理系统项目介绍 项目背景 项目功能 项目技术 项目模块 项目要求 中国国家图书馆管理系统项目开发流程 第一节 登录 1. 持久层 2. 业务层 3. ...

  2. 软件工程综合性实验 - 图书馆管理系统的需求分析

    需求概述 图书管理是每一个高校都要具体落实的工作.但一直以来图书的管理都是传统的人工去管理,这不仅工作量大,效率低,而且消耗的资金较多.随着图书的不断增多,这种管理方式是越来越跟不上.这不仅影响到读书 ...

  3. 图书馆借阅管理系统 springboot开发的java项目源码

    目录 项目简介: 需求说明: 项目截图: 1.登录界面 2.管理首页-查看图书 3.图书详情 4.查看读者列表 5.编辑读者信息 6.借还日志 项目源码参考: 项目源码下载: 项目简介: 项目编号:J ...

  4. 图书馆管理系统开发(C# Sql Server)

    图书馆管理系统(C/S架构软件)开发 主要步骤 遇见问题 1 主要步骤 1.1 学习主干知识 大概懂得数据库相关sql语法 大概懂得C#语法(C#菜鸟教程)把基础篇看看 大概掌握.Net开发窗口界面( ...

  5. 基于SSH开发学院图书馆管理系统 课程设计 大作业 毕业设计

    基于SSH开发学院图书馆管理系统(大作业/毕业设计) 开发环境: Windows操作系统 开发工具:Myeclipse+Jdk+Tomcat+SQLSERVER数据库 运行效果图: 基于SSH开发学院 ...

  6. 基于SSM实现的图书馆管理系统

    项目类别: BS-XX-075 运行环境: 开发工具:IDEA / ECLIPSE 数据库:MYSQL5.7 应用服务器:TOMCAT8.5.31 JDK: 1.8 开发技术:Spring+Sprin ...

  7. php语言设计图书管理系统,图书馆管理系统PHP版_7tmu7b

    图书馆管理系统PHP版_7tmu7b 所属分类:其他 开发工具:PHP 文件大小:15765KB 下载次数:0 上传日期:2020-11-22 11:12:53 上 传 者:ygrdmbji 说明:  ...

  8. 商品管理系统c语言功能模板,C语言课程报告图书馆管理系统可做模板套用.doc

    课 程 报 告 课 程 名 称: 程序设计实践 专 业 班 级 : 学 生 姓 名 : 学 号 : 任 课 教 师 : 学 期 :2010-2011学年第二学期 课程报告任务书 题 目 图书信息管理系 ...

  9. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(三)密码修改以及密码重置...

     前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/as ...

  10. java管理系统中期报告_基于Java的图书馆管理系统的设计-中期报告

    基于Java的图书馆管理系统的设计-中期报告 毕业设计(论文)中期报告 毕业设计(论文)题目:基于Java的图书馆管理系统的设计 专业:计算机 学生信息: 指导教师信息: 报告提交日期:2012年5月 ...

最新文章

  1. opencv使用cvFindContours提取联通域
  2. Java如何执行操作系统的CMD命令行
  3. NG-ZORRO 表格多选框改为单选框 (angular框架)
  4. 动态二维数组赋值及for循环遍历和toString遍历
  5. 超棒的阿里巴巴矢量图标库——支持IE6
  6. c语言case多语句的取值,Switch Case语句中多个值匹配同一个代码块的写法
  7. 转 html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
  8. 英伟达RTX 3080值不值得抢?在TensorFlow上训练了卷积网络
  9. Fiddler对安卓模拟器里的APP抓包(步骤详细,各种抓包工具总结)
  10. 简单的jsp代码(登录界面)
  11. Windows10-查询电脑mac地址
  12. Java四大元注解介绍
  13. DirectSHOW中的视频捕捉 (乱七八糟整理)
  14. vue项目中使用ts入门
  15. UnityShader(四)基础光照
  16. Alibaba Cloud Linux版本linux下mysql8.0安装
  17. jvm.option是什么,它是如何加载的
  18. Windows10 如何设置自定义开机音乐
  19. 香饽饽:腾讯强推的Redis天花板笔记,帮助初学者快速入门和提高(核心笔记+面试高频解析)
  20. Scratch猫抓老鼠游戏 电子学会图形化编程scratch等级考试三级真题答案2019-9

热门文章

  1. 单片机编程:软件定时器
  2. 计算机课集体备课,《计算机应用基础》集体备课方案
  3. StartHS(截图软件)v6.81.02绿色汉化版
  4. 信息安全技术及应用 常规加密技术
  5. 谈一下MSDN和下载原版windows7
  6. 教你炒股票25:回复(1)
  7. 关于微信拼车小程序开发的需求分析(需求获取)
  8. SQL 经典练习题 + 答案
  9. 开源项目SmartImageView的引用
  10. JDK官网下载历史版本