1引言

1.1编写目的

软件需求说明书

一个小型图书馆管理系统,

1.2作业题目

1.借书,还书;
2.在图书馆中增加/删除一本书;
3.按照作者名或专业领域检索一批书;
4.找出被某位读者借出的一批书;
5.找出最近借走某本图书的读者 .
该系统有两类用户:图书管理员与普通读者.功能4可供普通读者查找他们自己借 出的书目.功能1,2,5只供图书管理员使用.
该系统必须满足以下限制:
1.馆中所有未借出的书籍能够供读者随时借阅 .
2.在同一时刻,一本书不能既被借出,又可供借阅 .
3.一个读者一次借出的书籍数目不能超过预定值 .

**大学
本科课程设计报告

   课程名称:                软件体系结构          专业班级:                                      学    号:                                      学生姓名:                                     指导教师姓名:         陈 晨                  指导教师职称:         讲 师

年 月 日

目录
1 系统概述 1
2 需求分析 1
2.1 角色分类 1
2.2 系统需求分析 1
2.2.1 需求概述 1
2.2.2 图书管理系统功能性分析 2
2.3 功能模块图 2
3 场景视图之用例建模 5
3.1 图书管理系统用例图 5
3.2 图书管理系统用例描述 6
4 逻辑试图之类图设计建模 8
4.1 图书管理系统实体及其属性分析 8
4.2 图书管理系统逻辑视图之类图 8
4.3 图书管理系统关键类图说明 8
5 开发视图建模 9
5.1 包图设计建模 9
5.2 组件图设计建模 10
6 过程视图之交互建模 10
6.1 借书顺序图 10
6.2 还书顺序图 11
6.3 增加图书顺序图 12
6.4 删除图书顺序图 12
6.5 按作者或专业检索图书顺序图 13
6.6 按读者检索图书顺序图 13
6.7 按图书检索读者顺序图 14
7 物理视图之部署图 14
8 总结 15
参考文献 15

1系统概述
移动互联网技术在图书馆数字化进程中应用广泛、效果显著,这不仅弥补了传统图书管理模式效率低下、难于管理的不足,还方便了众多读者用户,而图书馆全盘数字化也是未来的发展趋势。图书管理系统可以极大地提高图书馆日常的运作效率,图书管理员和读者使用此系统进行图书管理、读者管理、图书借还、图书查找、查看借阅记录等功能,增强各方用户体验感,可以将用户从冗杂的数据处理中解放出来。本文以图书馆管理实际需求出发,分析了具体的需求,设计了各个模块,实现图书借阅管理的人性化、智能化,使图书管理更加规范、方便、快捷,更贴近人们的生活。
本文运用4+1视图方法,针对不同需求进行架构设计。“4+1”视图模型是一个十分通用的模型,可以在每个视图里面定义体系结构的各种组成元素,对于不同的视图还可以选择不同的体系结构风格。在本文中,“4+1”模型采用UML作为各视图的表达和解释环境, 统一各部分的建模描述语言, 有利于合作开发以及各层次、各环节开发人员之间的沟通, 建立切合实际的模型, 平衡软件质量与开发周期间的矛盾, 加速软件的开发和推广。“4+1”体系结构描述方法与统一建模语言UML的结合, 可以克服目前软件开发两难境地, 提高软件开发和构件重用的效率。
2需求分析
2.1角色分类
我们大致拟定图书馆系统有关角色有以下两种:
1图书管理员是管理系统的角色功能有:1.借书、还书 2.在图书馆中增加或删除一本书 3.按照作者或者专业领域查找一批书 4.找出最近借出某本书的读者
2普通读者是借书人角色功能有:1.按照作者或者专业领域查找一批书 2.找出被某位读者借出的一批书
2.2系统需求分析
2.2.1需求概述
在本图书管理系统中,最终用户为图书馆管理员以及借书人,其中,借书人只能进行图书书目查询、图书管理员能进行全部操作,所以要求图书管理员能充分掌握该系统。读者通过图书证可以进行查询图书馆书目,查询自己的借阅信息。管理员可以通过此系统对书进行借出登记、增加/删除新书、查询书目信息 、查询借阅信息的功能。
2.2.2图书管理系统功能性分析
图书管理系统系统的功能性分析可以反映这个系统能够完成的各项功能,它能够清晰、明确地把这个系统要完成的功能展示给后续的设计人员和使用者。图书管理系统系统的具体功能如下:
系统允许普通读者查找自己借出的书
系统允许普通读者按照作者查找一批书
系统允许普通读者按照专业领域查找一批书
系统允许管理员借书
系统允许管理员还书
系统允许管理员在图书馆中增加一本书
系统允许管理员在图书馆中删除一本书
系统允许管理员按照作者查找一批书
系统允许管理员按照专业领域查找一批书
系统允许管理员找出最近借出某本书的读者
图书管理系统非功能性分析如下:
性能需求
数据精确度:保证查询的查全率和查准率为100%,所有在相应域中包含查询关键字的记录都 能查到,所有在相应域中不包含查询关键字的记录都不能查到。
系统响应时间:系统对大部分操作的相应时间应在1—2秒内。
适应性:满足运行环境在允许操作系统之间的安全转换和与其他应用软件的独立运行要求。
运行需求
用户界面:系统采用对话框方式,多功能窗口运行。
硬件接口:支持各种X86系列的PC机和手机等嵌入式设备。
软件接口:运行于Windows2000操作系统、安卓9、ios系统之上。
故障处理:正常使用时不出错,对于用户的输入错误给出适当的改正提示信息,遇不可恢复的 系统错误时,保证数据库的完好无损。

2.3功能模块图


图 1 主模块图
主模块
功能
建立与数据库连接
获取系统设置
运行主对话框
根据输入调用子模块
退出系统时断开与数据库的连接
输入项目
用户鼠标点击输入


图 2 借书模块图
借书模块
功能
查验输入的读者证号
运行借书对话框
获取该读者的相关信息
查验输入的图书号
登记借书
输入项目
读者证号、图书书号 (用户输入)
输出项目
读者信息(姓名);读者已借图书信息 (书名、借书日期);


图3 还书模块图
还书模块
功能
运行还书对话框
查验输入的图书书号
对合法输入登录还书信息
显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息 ) 输入项目
图书书号(用户输入)
输出项目
相关信息(本次还书操作信息,尚未归还的图书信息,读者信息 )


图 4系统操作模块图

图 5图书查询模块图
图书查询模块
功能
根据给定查询条件,查询数据库,获取图书信息 输入项目
查询方式指定以及查询关键字
输出项目
查询结果列表显示 程序逻辑
3场景视图之用例建模
3.1图书管理系统用例图
从以上需求分析中可以看出,本系统有以下几类参与者:
图书管理员Admin
读者Reader
读卡器CardReader
服务器System
在上述参与者中,图书管理员和读者与系统进行交互,通过对交互场景进行归类和抽象,本系统应具有以下用例:
借书lendBook
还书returnBook
增加图书addBook
删除图书delBook
按作者、专业检索图书findBook_Author
按读者检索图书findBook_Reader
按书检索读者findReader_Book

图 6用例图
3.2图书管理系统用例描述
1用例名称:按作者、专业检索图书
用例描述:由读者进行操作,查询图书馆中有没有需要图书,如果有,显示该图书编号、书名、 作者、出版日期、当前借阅状态等信息。
前置条件:以顾客身份登录
后置条件:无
基本流程:
1以读者身份登录。
2输入专业的名称或作者名称。
3显示相关图书的信息。
可选流程:如果没有该图书,返回提示信息:“没有找到图书”。
2用例名称:借书
用例描述:由图书管理员把读者的借书卡的条码读入计算机,再将读者所选图
书的条码读入计算机,在不超过读者允许借书的情况下,累计该读者所借的书;
否则提示超过借书数量。
前置条件:以图书管理员的身份登录系统。
后置条件:图书信息中相应记录的还书日期值做改变;将借书明细加入借书记录中。
基本操作流程:
1以图书管理员身份登录系统。
2进入借书功能。
3录入读者的借书卡条码。
4识别读者类别,提示读者可以借阅图书的数量及借阅时间
等。如果允许借阅,继续4,否则提示已达到借书数量。
5录入图书的条码,显示该图书的信息。
6还有其他图书,重复步骤3。
7保存操作。
可选流程在保存之前,可以取消操作。
3用例名称:还书
用例描述:由图书管理员把图书的条码读入计算机,系统显示该书的读者资料, 提示是否超出借 阅期限。如未超出则显示还书成功
前置条件:以图书管理员的身份登录系统。
后置条件:图书信息中相应记录的状态值做改变;将还书明细加入还书记录中。
基本操作流程:
1以图书管理员身份登录系统。
2进入还书功能。
3录入读者的借书卡条码。
4系统显示该书的读者资料,提示是否超出借阅期限。
5如未超出则显示还书成功;
可选流程: 在保存之前,可以取消操作。
4用例名称:增加图书
用例描述:由管理员将新书的信息录入计算机中,进行保存。
前置条件:以图书管理员的身份登录系统。
后置条件:图书信息中增加一条记录。
基本操作流程:
1以管理员的身份登录系统。
2进入增加图书功能。
3输入新书的相应信息。
4保存操作。
可选流程:在保存之前,可以取消操作。
5用例名称:删除图书
用例描述:由管理员删除图书,进行保存。
前置条件:以图书管理员的身份登录系统。
后置条件:图书分类中相应记录更新或删除。
基本操作流程:
1以图书管理员的身份登录系统。
2进入图书管理功能。
3选定需要删除的书目。
4删除书目。
5保存操作。
可选流程:在保存之前,可以取消操作。
6用例名称:按读者检索书籍
用例描述:由管理员进行操作,查询读者借阅信息。
前置条件:以管理员身份登录
后置条件:无
基本流程:
1以管理员身份登录。
2选择按读者检索图书
3输入读者借书卡id,密码
4返回借阅信息
7用例名称:按图书检索读者
用例描述:由管理员进行操作,查询借阅图书的读者身份,如果有,显示该读者信息
前置条件:以管理员身份登录
后置条件:无
基本流程:
1以管理员身份登录。
2输入索书号。
3显示相关读者的信息。
可选流程:如果没有人借阅该图书,返回提示信息:“没有人借阅”。
4逻辑试图之类图设计建模
4.1图书管理系统实体及其属性分析

图 7实体属性图
4.2图书管理系统逻辑视图之类图

图 8类图
4.3图书管理系统关键类图说明
说明:该图书管理系统中有参与者类:图书管理员( Admin )、读者( Reader);业务实体类有书籍( Book)、借还记录(Records);图书管理员可以对读者类、借阅信息和书籍类进行管理操作;读者者可以对书籍类进行查询等操作。
5开发视图建模
5.1包图设计建模

图 9 管理员界面包图

图 10 读者界面包图
【说明】:
1图书管理系统主要由“管理员界面”和“读者界面”两个包组成。
2管理员界面包括增删图书类和借还信息类以及查找类组成,主要是管理员的操作
3读者界面包括查询和输入类,主要是读者的操作
5.2组件图设计建模

图 11 组件图
【说明】:
1项目数据库依赖用户数据库,图书数据库,借阅信息数据库
2用户管理依赖用户数据库
3图书管理依赖图书数据库
4借还记录管理依赖借阅信息数据库
5用户管理组件由管理员组件和读者组件组成
6过程视图之交互建模
6.1借书顺序图

图 12 借书顺序图
6.2还书顺序图

图 13 还书顺序图
6.3增加图书顺序图

图 14 增加图书顺序图
6.4删除图书顺序图

图 15 删除图书顺序图
6.5按作者或专业检索图书顺序图

图 16 按作者或专业检索图书顺序图
6.6按读者检索图书顺序图

图 17 按读者检索图书顺序图
6.7按图书检索读者顺序图

图 18 按图书检索读者顺序图
7物理视图之部署图

图 19 部署图
【说明】
1.图书管理系统部署图主要由客户计算机、应用服务器以及数据库服务器三个部分组成。
2.客户计算机主要包括方便携带查看的手机客户端和方便操作处理的web浏览器端。
3.用户管理、图书管理、借阅管理等一些列系统管理组件都部署在应用服务器上,以供图书管理员操作管理。
4.用户数据库、消息记录数据库和图书数据库都部署在数据库服务器上,为其他节点提供数据内容支持。
8总结
本次课程设计利用“4+1”视图建模方法进行“图书管理系统”的软件架构设计。架构内容以及设计流程为图书管理系统系统概述、需求分析、场景视图之用例图设计建模、逻辑视图之类图设计建模、发开视图设计建模、过程视图之交互图设计建模、物理视图之部署图设计建模。其中需求分析包括角色分析、系统需求分析以及系统功能模块图三个部分;开发视图设计建模包括包图设计建模和组件图设计建模。
本次课程设计的完成主要依赖于软件体系结构课程所学的相关知识,再加上适当的相关参考文献的阅读,才得以将整个软件架构课程设计很好的完成。整个课程设计的过程中,除了对“4+1”视图建模方法的具体使用以及对设计模式的理解,还非常考验对整个软件从需求的提出到整个架构建模实现的流程思路和处理逻辑。是在设计的过程中,加深了我对课堂所学知识的理解,通过实际的练习,熟练的掌握了整个软件架构设计的思路、流程以及方法,收获丰硕。
参考文献
[1] Ian Sommerville,软件工程,机械工业出版社出版,2011
[2] 陈永峰.“4+1”视图模型在精准扶贫系统设计中的应用[J].河北软件职业技术学院学报,2019
[3]王津津. 一种基于“4+1”视图模型的生产线过程实时监控和追溯系统架构设计[C]. 天津市电子工业协会.天津市电子工业协会2019年年会论文集.天津市电子工业协会:天津市电子工业协会,2019:
[4]柳丹,陈志刚,雷卫军.基于UML描述的“4+1”视图模型及应用[J].计算技术与自动化,2001
[5]周奕.图书管理系统[J].数字技术与应用,2020

图书管理系统实验报告相关推荐

  1. python图书管理实训报告总结_图书管理系统实验报告

    图书管理系统实验报告 一.问题描述 有一个小型书库保管了大量图书,关于图书有大量信息需要处理,这些信息包 括图书的分类.书名.作者名.购买日期.价格等.现要求编写一个程序以便于对 图书的管理. 基本要 ...

  2. oracle宿舍管理系统实训报告,宿舍管理系统实验报告..doc

    宿舍管理系统实验报告. 管理信息系统报告 实验目的 在通过自学数据库的知识后,独立制作一个宿舍管理信息系统,检验自己自学的成果,同时让老师根据作品给予一定指导 .随着自学考试教育的普及和社会对该种学历 ...

  3. python名片管理器实验报告_名片管理系统——实验报告.doc

    名片管理系统--实验报告 网上名片管理系统 数据库和表的建立:(在MySQL中创建数据库test,并在test数据库中建立card.user和recycle表格,其中card和recycle具有相同的 ...

  4. python超市管理系统实训报告_超市管理系统实验报告范文

    超市管理系统实验报告 一.背景 现在, 我们身边到处都是超市, 而这些超市很多都是小型超市, 在这些超市 里,实行的还是人工管理,管理方式混乱,工作效率低下,管理成本也比较高, 还不能及时的得到货物信 ...

  5. 用C语言学生成绩数据库排序功能设计,[c语言学生成绩管理系统]C语言学生成绩管理系统实验报告...

    篇一 : C语言学生成绩管理系统实验报告 实 验 四:结构体(6学时) 实验目的: 1.更加灵活的使用数组作为函数参数: 2.初步掌握开发一个小型实用系统的基本方法: 3.初步掌握书写程序设计开发文档 ...

  6. 医药计算机实验报告,医药管理系统实验报告.doc

    医药管理系统实验报告 成 绩 评 定 表 学生姓名班级学号专 业计算机科学与技术课程设计题目医药管理系统 评 语 组长签字: 成绩 日期 2015 年 月 日 课程设计任务书 学 院信息科学与工程学院 ...

  7. 成绩分析系统c语言实验报告,学生成绩管理系统实验报告

    <学生成绩管理系统实验报告>由会员分享,可在线阅读,更多相关<学生成绩管理系统实验报告(13页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统实验报告实验名称:学生成绩管 ...

  8. c语言成绩管理系统报告书,C语言学生成绩管理系统实验报告

    <C语言学生成绩管理系统实验报告>由会员分享,可在线阅读,更多相关<C语言学生成绩管理系统实验报告(22页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统实验报告实验名称 ...

  9. java销售管理系统实验报告_java学生通讯录管理系统实验报告

    java学生通讯录管理系统实验报告 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 宁波大红鹰学院 课课程程设设计计课程设计名称: ...

  10. c语言用数组编写学籍管理程序,c语言学籍管理系统实验报告.docx

    c语言学籍管理系统实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...

最新文章

  1. 为什么RStudio Server这么慢?
  2. linux script 命令
  3. 2.3.8 mysql安全之审计
  4. 迪普科技以近50%份额全面中标国家电网2016信息化硬件采购
  5. js判断url链接是否可访问(服务可连接,可用)
  6. 八个角最多可以把平面分成多少部分?_为什么越来越多的空间无主灯了?
  7. Failed to update system registry. Need permission to add?
  8. float,double和decimal类型
  9. c语言函数 参数,C语言函数的调用与参数
  10. KVYcam(网络摄像头软件) v13.0.3.0
  11. 统计学习方法——概述
  12. 无需积分PowerDesigner 下载
  13. ACdream - 1069 - 无耻的出题人
  14. Gazebo + cartographer2D + velodyne多线雷达建图仿真
  15. Python自动化 | 通过键盘控制鼠标来玩赛尔号
  16. MySQL对数据表进行分组查询(GROUP BY)
  17. c++和python哪个好_python和c++哪个好 有什么区别
  18. postgis版本升级
  19. GMSK通信系统中频偏估计改进算法
  20. 公司股权分配协议范文

热门文章

  1. 鸿蒙os第一批到第四批要多久,鸿蒙 OS 手机适配流程曝光:麒麟 9000 为首批
  2. 标准c++读写ini文件类
  3. 天气显示服务器不可用,win7系统桌面天气小工具提示无法连接服务的解决方法...
  4. MySQL做学生考勤系统_Jsp+Ssh+Mysql实现的Java Web学生考勤管理系统
  5. Linux Shell 内建命令 : fg , bg , jobs 命令详解
  6. 记录 Kindle Fire HDX 7 安装 Google Play 服务过程
  7. 你有多自律,就有多自由
  8. c语言oj平台作业,OJ平台C语言习题答案.pdf
  9. python从入门到精通——完整教程
  10. python运维是什么_python运维方面一般用来做什么