完整版面向对象 软件工程系毕业课程设计 图书管理系统报告.docx
《完整版面向对象 软件工程系毕业课程设计 图书管理系统报告.docx》由会员分享,可在线阅读,更多相关《完整版面向对象 软件工程系毕业课程设计 图书管理系统报告.docx(17页珍藏版)》请在冰豆网上搜索。
![完整版面向对象 软件工程系毕业课程设计 图书管理系统报告.docx](https://file1.bdocx.com/fileroot1/2023-5/31/a77edf86-3276-4256-b033-419eb417291f/a77edf86-3276-4256-b033-419eb417291f1.gif)
完整版面向对象软件工程系毕业课程设计图书管理系统报告
目录
1.前言3
2.需求分析3
2.1系统的功能性需求3
2.2系统需求分析规格说明书4
2.3系统用例图4
3.3.1参与者4
3.3.1分析用例图5
4分析模型10
4.1分析包10
4.2分析类图11
4.2.1分析类图11
4.2.2概念类关系12
4.2.3概念类字典13
4.3分析动态模型14
4.3.1顺序图14
4.3.2协作图15
4.3.3状态图15
4.3.4活动图15
5设计模型16
5.1软件平台设计16
5.2结构设计16
5.3详细设计与界面设计17
5.3.1图书信息管理17
5.3.2读者信息管理18
5.3.3出版社信息管理18
5.3.4图书借还管理19
5.3.5系统管理19
5.3.6公用包设计19
5.4数据库设计19
6、实现模型20
6.1组件图20
6.1.1组件设计20
6.1.2组件实现20
6.2配置图20
7、测试用例21
7.1.测试用例21
7.2.测试结果21
7.3.性能分析21
8、用户手册21
8.1系统安装21
8.2登录21
8.3图书管理22
总结22
参考文献22
附录源程序文件名清单:
22
1.前言
随着各种信息的日益膨胀和图书管理人员信息服务需求的不断增强,图书信息系统急待有一个面向日常工作的信息服务功能,如图书数据资料、管理人员资料、图书信息文档等信息的存储、管理、共享、使用与交流,图书资料的存储与使用以及文献检索、电子阅览等。
这在每个图书馆都有各自不同的管理方式,其共有的特点多数仍处在手工阶段。
存在信息资料管理分散、安全性差、利用率低等缺陷,再者,这类信息本身存在着它的不规范性,单纯使用特定的软件进行管理也有一定难度,而且很难适应此类信息管理模式的变化比计划还快的特点。
对此,基于网络技术的网络管理模式体现出强大的生命力,有人誉为是将改变用户网络管理方式的革命性网络管理解决方案。
.....................................
2.需求分析
在图书管理系统中,要为每位读者建立一个帐户,帐户中存储着读者的个人信息和借阅信息。
读者借阅图书要通过管理员来实现,即读者并不直接与系统进行交互,而是管理员充当读者的代理与系统进行交互。
在借阅图书时,第一步需要输入图书ID与读者ID,输入完成后系统提交所填表格信息;第二步系统将验证读者是否有效,并查询数据库以确认借阅图书是否存在。
只有这两个条件都被满足时,借阅请求才被接受,读者才可以借出图书。
同时,系统还要保存读者的借阅记录,以便读者归还图书后,系统可以删除被借阅图书的借阅记录。
2.1系统的功能性需求
图书管理系统为管理员提供主功能界面。
图书管理系统在启动时要求管理员输入口令,只有口令正确,才可以进入系统的主功能界面。
管理员负责对图书管理系统的维护工作,因此系统应赋予管理员对图书信息、读者信息和出版社信息进行录入、修改、查询和删除等功能的操作权限。
管理员作为读者的代理实现借书与还书业务。
图书信息、读者信息和出版社信息保存在对应的数据库表中。
2.2系统需求分析规格说明书
这是一个图书馆图书借阅管理的应用系统;
图书管理系统负责将图书、杂志借给读者、前提条件是这些读者在系统进行了注册,图书和杂志也系统中进行了注册。
图书馆负责新书的购买、当书和杂志已经过时或者破旧不堪时,可以将这写图书和杂志从图书馆管理系统中删除;
图书管理员是图书馆的员工,负责与读者打交道,并且是在系统提供的支持下开展工作;
图书管理系统能够容易地建立、修改和删除系统中的信息,包括图书信息、读者信息、以及出版社信息等;
图书管理系统能够在所有流行的平台环境上运行,并且有一个美观的图书用户界面。
图书管理系统容易扩展新功能。
2.3系统用例图
3.3.1参与者
通过系统功能分析读者通过图书管理员完成图书的借阅等功能,参与者图例如图3.1所示:
3.3.1分析用例图
3.3.1.1主要用例图
图书馆管理系统的主要功能是系统登录、归还图书、借阅图书、维护图书和维护读者信息。
因此系统的主要用例图如图3.2所示。
1、系统登录脚本描述
用例名称:
系统登录
参与者:
图书管理员
1.1前置条件
无
1.2后置条件
如果用例成功,参与者可以启动系统,使用系统提供的功能。
反之,系统的状态不发生变化。
1.3基本事件流
当图书管理员登录系统时,用例启动。
(1)系统提示用户输入用户名和密码
(2)用户输入用户名和密码
(3)系统验证输入的用户名和密码,若正确,则用户登录到系统中。
1.4异常事件流
如果用户输入无效的用户名/密码。
则系统显示错误信息。
用户可以选择返回基本事件流的起始点,重新输入正确的用户名/密码;或者取消登录,用例结束。
2、图书借阅用例脚本描述
用例名称:
借阅图书
参与者:
读者,图书管理员
2.1前置条件
在这个用力开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。
2.2后置条件
如果这个用例成功实现,则在系统中创建并存储阅读记录。
2.3基本事件流
当读者借阅图书时,用例启动。
(1)登录系统。
(2)输入图书ID和读者ID。
(3)检索读者ID
(4)检索图书ID
(5)根据时间算法确定图书借出时期和归还日期
(6)图书馆将图书借给读者
(7)创建借阅记录
(8)存储借阅记录
2.4异常事件流
(1)如果读者为注册,则系统显示提示信息,用例被终止。
(2)如果要借图书不存在,系统显示提示信息,用例被终止。
(3)如果要借图书都已借出,则系统提示信息,用例被终止。
3、图书归还用例脚本描述
用例名称:
图书归还
参与者:
读者、图书管理员
3.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。
3.2后置条件
如果这个用例成功实现,则系统删除借阅记录;否则,系统的状态不发生变化。
3.3基本事件流
当读者归还借阅的图书时,用例被启动。
(1)登录系统。
(2)输入图书ID和读者ID
(3)检索图书ID
(4)检索读者ID
(5)查询图书借阅记录
(6)删除借阅记录
3.4异常事件流
(1)如果归还图书不存在,则系统显示提示信息,用例被终止
(2)如果借阅记录不存在,则系统显示提示信息,用例被终止
4、读者维护用例脚本描述
用例名称:
读者维护
参与者:
图书管理员
4.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。
4.2后置条件
如果这个用例成功实现,则系统添加、修改或检索读者信息;否则,系统的状态不发生变化。
4.3基本事件流
当图书管理员维护读者信息时,用例被启动。
(1)登录系统。
(2)如果选择的活动是“添加读者信息”,则执行分支事件流4.3.1:
添加读者信息
(3)如果选择的活动是“修改读者信息”,则执行分支事件流4.3.2:
修改读者信息
(4)如果选择的活动是“检索读者信息”,则执行分支事件流4.3.3:
检索读者信息。
4.3.1分支事件流
(1)提供读者信息,例如,读者ID,读者姓名、电话号码等
(2)系统存储读者信息。
4.3.2分支事件流
(1)输入读者ID
(2)查询并显示读者信息
(3)更新系统中读者信息。
4.3.3分支事件流
(1)输入读者ID
(2)查询并显示读者信息
4.4异常事件流
(1)如果读者已经存在,则系统显示提示信息,用例被终止
(2)如果查询不到读者,则系统显示提示信息,用例被终止
5、图书维护用例脚本描述
用例名称:
图书维护
参与者:
图书管理员
5.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。
5.2后置条件
如果这个用例成功实现,则系统添加、修改或检索图书信息;否则,系统的状态不发生变化。
5.3基本事件流
当图书管理员维护图书信息时,用例被启动。
(1)登陆系统。
(2)如果选择的活动是“添加图书信息”,则执行分支事件流5.3.1:
添加图书信息。
(3)如果选择的活动是“修改图书信息“,则执行分支事件流5.3.2:
修改图书信息
(4)如果选择的活动是“检索图书信息”,则执行分支事件流5.3.3:
检索图书信息
5.3.1分支事件流
(1)提供图书的信息,例如,图书ID,图书名称,编著者,出版社,价格,出版年份等。
(2)系统存储图书信息。
5.3.2分支事件流
(1)输入图书ID
(2)查询并显示图书信息
(3)更新系统中图书信息
5.3.3分支事件流
(1)输入ID
(2)查询并显示图书信息
5.4异常事件流
(1)如果该图书已经存在,则系统显示提示信息,用例被终止。
(2)如果查询不到该图书,则系统显示提示信息,用例被终止。
3.3.1.1主要用例图
除去上文分析的主要用例之外,图书管理系统还应该包括图书出版社管理、数据备份等用例,对这些用例进行规范和细化后得到完成的系统用例图如图3.3所示。
图3.3图书管理系统完整用例图
整个系统包括5个系统用例:
图书管理用例:
包括登录图书信息、检索图书信息、修改图书信息3个子用例。
图书借还信息管理用例:
包括借阅图书、归还图书、借出图书一览表、未按期归还图书一览表4个子用例。
读者信息管理用例:
包括添加读者信息、修改读者信息、检索读者新系3个子用例
出版社信息管理用例:
包括添加出版社新系、修改出版社信息、检索出版社信息3个子用例。
系统管理用例:
包括系统登录、系统主功能界面2个子用例。
4分析模型
4.1分析包
根据系统主要完成的功能,本文采用按照功能模块划分包,整个系统的包图如图4.1所示。
系统管理包含系统登录、系统备份等类,图书信息管理包中有添加图书、修改图书、检索图书的界面类和控制类以及图书实体类。
读者信息管理包中有读者信息的添加、修改、检索读者信息的界面类、控制类和读者实体类。
出版社信息管理包中含有出版社信息的添加、修改和检索的界面类、控制类。
以及出版社信息实体类。
图书借阅信息管理包中有图书借阅、图书归还的界面类和控制类等。
4.2分析类图
4.2.1分析类图
1.系统登录
系统登录的分析类图如图4.2所示。
登录界面:
边界类,用于输入用户名和密码。
登录新系控制:
控制类,用于验证输入的用户名和密码的正确性。
用户表:
实体类,用于保存用户名和密码。
2.登录图书信息
登录图书新系的分析类图如图4.3所示。
登录界面:
边界类,用于输入图书的信息。
登录图书信息控制:
控制类,用于边界类和实体类的交互。
图书类:
实体类,用于保存图书的ID等信息。
3.修改图书信息
...........
4.检索图书信息
...........
5.添加读者信息
...........
6.修改读者信息
...........
7.检索读者信息
...........
8.出版社信息管理
...........
9.借阅图书
...........
10.归还图书
...........
11.借出图书一览表
...........
12.未按期归还图书一览表
...........
4.2.2概念类关系
图书管理系统中,存在着借书、还书、以及系统维护等业务工作。
这些业务工作涉及的关键概念主要有图书、读者和出版社,涉及的实体类有图书类、图书借阅类、读者类和出版社类,这些实体类之间的关系如图4.13所示。
图书管理员通过借书界面实现图书的借出,通过还书界面实现对读者归还图书进行处理。
另外,通过维护界面对系统数据进行维护。
维护信息包括图书信息、读者信息、出版社信息的添加、修改、删除等操作,各界面类和控制类关系如图4.14所示。
4.2.3概念类字典
1.图书表
编号:
C-1-01
概念类名:
图书表
职责:
存放图书馆所能处理的所有图书的基本信息
属性:
图书代码,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注。
说明:
该概念类存放所有图书类的公用信息,它是“图书借阅表”的父类。
图书页有身份,可以通过不同的ISBN相区别。
在图书管理系统中,图书也有相关的行为,图书因为使用期限等可以被销毁,所以图书表也是系统中的一个对象。
2.登录图书界面
............
3.登录图书信息控制
................
4.......................
........................
4.3分析动态模型
4.3.1顺序图
1.登录系统
图书管理员通过登录界面输入用户名和密码,登录信息控制对象获得密码和用户名后验证其正确性如果正确则显示系统主功能界面,如错误的提示错误信息。
得到登录成功和登录失败时序图如图4.15、4.16所示。
用户表中存放用户的登录名和密码。
验证输入信息,就是验证用户表中是否有该输入的用户名存在,如果用户名存在,则验证其密码是否正确,如果正确则返回登录成功消息,否则返回登录失败消息。
2.添加图书
................
3...................
.......................
4.3.2协作图
.......................
4.3.3状态图
.......................
4.3.4活动图
..........................
5设计模型
5.1软件平台设计
图书管理系统的开发和运行环境如下:
操作系统:
图书管理系统可以运行在windows系列桌面操作系统之上。
支撑软件:
本系统选用vc++6.0作为开发工具,DBMS选用ACCESS,数据库中间件采用ADO方式。
CASE平台:
图书管理系统的分析、设计、实现和部署模型是在ROSE2003建模环境下创建的。
源代码的生成使用了ROSE的正向和逆向工程。
数据库设计采用了POWERDESIGNER。
5.2结构设计
在图书管理系统中,系统结构视图由如下所示的4各包(子系统)组成,如图5.1所示。
业务模型包:
包含分析阶段主要的类(借阅图书类、归还图书类、图书类、读者类、出版社类)。
在此设计阶段将结合具体实现环境(VC)对其进行细化,规约,完善。
数据库包:
未业务模型包中的类提供数据存取服务,本系统采用ADO方式操作数据库。
并自己设计函数方法对ADO数据库访问操作进行了必要的简化。
组件包:
包含一些可以被系统中其他包所使用的服务,如异常处理,字符串转换比较,日期获取等。
5.3详细设计与界面设计
5.3.1图书信息管理
1.设计类
CDialog类:
MFC提供的对话框基类。
CAdo类:
完成数据库的访问操作。
executeQuery()完成执行select查询语句返回查询的结果集合。
excuteUpdate()完成执行更新数据库的sql语句。
................
2.动态模型
添加图书过程的时序图如图5.3所示。
查询图书图书时序图:
...................
修改图书时序图:
....................
5.3.2读者信息管理
1.设计类
2.动态模型
5.3.3出版社信息管理
1.设计类
2.动态模型
5.3.4图书借还管理
1.设计类
2.动态模型
5.3.5系统管理
1.设计类
2.动态模型
5.3.6公用包设计
1.数据库操作类:
2.实用程序类
3.错误处理类
5.4数据库设计
略。
6、实现模型
6.1组件图
6.1.1组件设计
本系统为了简化起见,将以上自己设计类统一放置在library组件中,如图6.1所示。
6.1.2组件实现
1.CAdo类的实现
这个类的详细实现请见程序清单1(见附录).
2........................
..........................
6.2配置图
目前系统实现的是单机版本。
配置图如图6.2所示。
7、测试用例
7.1.测试用例
读者自己完成
7.2.测试结果
读者自己完成
7.3.性能分析
读者自己完成
8、用户手册
8.1系统安装
无
8.2登录
启动程序后主界面如图8.1所示。
选择菜单“系统管理“或工具栏上按钮”login”则出现登录对话框,如图6.2。
成功登录后,灰色菜单和按纽将进入可以执行状态。
...........................................
8.3图书管理
...................................
总结
本系统有待完善的地方是没有考虑读者预约图书,和对图书超期处理的模块,在下一版本中解决上述问题。
同时考虑做出完善的c/s和b/s模式混合的完整版本。
参考文献
[1]作者,书名,出版社,出版时间。
[2]
附录源程序文件名清单:
所有源代码放在文件夹“程序”中
1.ado.hado.cppCAdo类的实现。
2.xxx.hxxx.cpp系统登录类
...............................