资源描述
实验报告 面向对象的分析设计实现—图书管理系统
一.需求分析
1.1系统需求描述
一般图书馆管理系统重要用于对图书馆平常工作的管理,重要任务是用计算机对读者、图书等各种信息进行平常管理,如查询、修改、增长、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管理,完毕了图书馆管理系统的基本功能。
一般图书馆管理系统重要涉及用户登录子系统、用户管理子系统、图书管理子系统、图书借阅与归还、图书和用户信息查询子系统四个部分,各部分重要功能如下:
用户登录子系统:用于数据库的连接,主界面的设计和不同身份用户的登录管理。
用户管理子系统:用于用户信息的管理,如用户添加、用户信息修改、用户删除。
图书管理子系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。
图书借阅与归还子系统:用于用户借阅和归还图书。
图书和用户信息查询:图书和用户信息的查询。
1.2系统功能结构图
图书管理系统
用户登录
用户信息管理
图书信息管理
借阅信息管理
管理员登录
工作人员登录
用户登录
用户信息增长
用户信息删除
用户信息查询
用户信息修改
图书信息增长
图书信息删除
图书信息修改
图书信息查询
用户借书
归还图书
用户续借
借阅信息查询
图 1.1 图书管理系统分析系统流程图
1.3 系统解决方案
以上述一般的图书管理系统分析为构思原型。为简化系统,忽略掉其他复杂琐碎的功能需求,仅保存图书信息的录入、修改和读者借、续借、还的功能。读者与管理员通过界面对象调用控制类对象,控制对象进行各种操作并把信息写入数据库。
二.系统设计
2.1 系统E-R图
用户
用户ID
权限
用户名
已借书数量
密码
借书上限
图 1.2 用户实体图
备注
图书剩余数量
作者
图书ID
图书
出版社
图书总数量
价格
出版日期
书籍名称
图1.3 书籍实体图
1毕业设计选题系统
N
用户
借阅
还书日期
借书日期
图书
图 1.4 实体属性图
2.2数据库表结构
表2.1 图书信息表
字段名称
字段类型
长度
是否为空
备注
图书id
数字
4
否
主键
图书名称
数字
4
出版社
文本
50
作者
文本
50
出版日期
时间
4
价格
文本
50
图书总数量
数字
4
否
图书剩余量
数字
4
否
备注
文本
50
表2.2 用户借阅表
字段名称
数据类型
长度
是否为空
备注
用户id
数字
4
否
主键
图书id
数字
4
否
主键
借书日期
时间
8
否
还书日期
时间
8
备注
文本
50
是否归还
文本
50
否
表2.3用户信息表
字段名称
字段类型
长度
是否为空
备注
用户id
数字
4
否
主键
用户名
文本
50
否
用户密码
文本
50
否
权限
数字
4
否
已借书数
数字
4
否
借书上限数
数字
4
否
2.3用例文档
本系统共设立四个活动者。分别是TT_People、TT_Registrar、TT_Reader和TT_Database。其中TT_People泛指与系统发生关系的人;TT_Registrar为系统管理员,负责添加、修改图书信息;TT_Reader为所有读者,读者也许发生借书、续借、还书的行为;TT_Database为存储各种信息的数据库对象。另:考虑到现实图书馆中还存在“图书馆管理员”这一角色,但其所起的作用仅为代替读者完毕各种系统操作,故没有设立此活动者。
系统中共有五个用例。TT_Addinfo、TT_Modifyinfo、TT_Borrow、TT_Renew和TT_Return。TT_Addinfo表达管理员添加图书信息;TT_Modifyinfo表达修改图书信息;TT_Borrow表达读者借阅图书;TT_Renew表达读者续借图书;TT_Return表达读者归还图书。
图 2.1 整体用例图
2.4 静态模型
图 2.2 静态模型图
2.5动态模型
事件流
TT_Addinfo
添加图书事件流:
1.管理员选择进入管理界面,用例开始
2.系统提醒输入管理员密码
3.管理员输入密码
4.系统验证密码
A1:密码错误
5.进入管理界面,系统显示目前所有图书信息
6.管理员选择添加信息
7.系统提醒输入信息
8.管理员输入信息
9.系统验证信息
A2:信息错误
10.系统添加新图书信息,提醒添加成功
11.系统重新进入管理主界面,显示所有信息
12.用例结束
A1:密码错误
1.系统提醒输入错误
2.用户确认
3.进入添加图书事件流第2步
A2:信息错误
1.系统提醒修改错误信息
2.管理员修改输入信息
3.进入添加图书事件流第9步
TT_Modifyinfo
修改图书事件流:
1.管理员选择进入管理界面,用例开始
2.系统提醒输入管理员密码
3.管理员输入密码
4.系统验证密码
A1:密码错误
5.进入管理界面,系统显示目前所有图书信息
6.管理员选择要修改的图书信息
7.系统显示原有信息
8.管理员修改信息
9.系统验证信息
A2:信息错误
10.系统添加新图书信息,提醒添加成功
11.系统重新进入管理主界面,显示所有信息
12.用例结束
A1:密码错误
1.系统提醒输入错误
2.用户确认
3.进入添加图书事件流第2步
A2:信息错误
1.系统提醒修改错误信息
2.管理员修改输入信息
3.进入添加图书事件流第9步
TT_Borrow
借书事件流:
1.进入读者主界面,用例开始
2.读者输入借书证号、书号,选择借书
3.系统验证借书证号、书号
A1:借书证号不存在
A2:已达成借书数量上限
A3:书号不存在
A4:图书流通状态冲突
4.借书成功
5.系统显示读者借书信息
6.读者确认
7.系统重新进入读者主界面
8.用例结束
A1:借书证号不存在
1.系统提醒再次输入
2.读者确认
3.进入借书事件流第2步
A2:已达成借书数量上限
1.系统提醒已达成借书数量上限
2.读者确认
3.进入借书事件流第5步
A3:书号不存在
1.系统提醒再次输入
2.读者确认
3.进入借书事件流第2步
A4:图书流通状态冲突
1.系统提醒图书流通状态冲突
2.读者确认
3.进入借书事件流第2步
TT_Return
还书事件流:
1.进入读者主界面,用例开始
2.读者输入书号,选择还书
3.系统验证书号
A1:书号不存在
A2:图书流通状态冲突
A3:借阅过期
4.还书成功
5.系统重新进入读者主界面
6.用例结束
A1:书号不存在
1.系统提醒再次输入
2.读者确认
3.进入借书事件流第2步
A2:图书流通状态冲突
1.系统提醒图书流通状态冲突
2.读者确认
3.进入借书事件流第2步
A3:借阅过期
1.系统提醒借阅过期,提醒缴纳罚金
A4:读者拒交罚金
2.读者确认并缴纳罚金
3.进入还书事件流第4步
A4:读者拒交罚金
1.进入借书事件流第5步
TT_Renew
续借事件流:
1.进入读者主界面,用例开始
2.读者输入书号,选择续借
3.系统验证书号
A1:书号不存在
A2:图书流通状态冲突
4.续借成功
5.系统重新进入读者主界面
6.用例结束
A1:书号不存在
1.系统提醒再次输入
2.读者确认
3.进入借书事件流第2步
A2:图书流通状态冲突
1.系统提醒图书流通状态冲突
2.读者确认
3.进入借书事件流第2步
图 2.3 TT_Addinfo序列图
图 2.4 TT_Modifyinfo序列图
图 2.5 TT_Borrow序列图
图 2.6 TT_Return序列图
图 2.7 TT_Renew序列图
图 2.8 TT_Book对象状态图
图 2.9 TT_Addinfo活动图
图 2.10 TT_Modifyinfo活动图
图 2.11 TT_Borrow活动图
图 2.12 TT_Return活动图
图 2.13 TT_Renew活动图
三.数据解决
3.1 重要代码实现
//Source file: F:\\我的文档\\uml\\s\\FormObject.java
public class FormObject
{
public TT_ControlObject theTT_ControlObject;
public TT_Book theTT_Book[];
public FormObject()
{}
public void DisplayBookInfo()
{}
public void DisplayBookList()
{}
public void ShowSuccessInfo()
{}
public void SelectCommand()
{}
public void GetBookInfo()
{}
public void GetReaserInfo()
{}
public void GetBookReaderInfo()
{}
public void GetRegistrarInfo()
{}
public void ShowBookInfo()
{}
}
//Source file: F:\\我的文档\\uml\\s\\TT_Book.java
public class TT_Book
{
private Date Data;
private String Id;
private String Name;
private String State;
private int Type;
public TT_ControlObject theTT_ControlObject;
public TT_Book()
{}
public void CreatBook()
{}
public void DestoryBook()
{}
public void GetBook()
{}
public void GetId()
{}
public void SetId()
{} /**@return Date**/
public Date GetDate()
{return null;}
public void SetDate()
{} /**@return java.lang.String * /
public String GetState()
{return null;}
public void SetState()
{}
}
//Source file: F:\\我的文档\\uml\\s\\TT_ControlObject.java
public class TT_ControlObject
{
public FormObject theFormObject;
public TT_Book theBook[];
public TT_Database theTT_Database;
public TT_ControlObject()
{}
public void CanAdd()
{}
public void CanModify()
{}
public void CheckBook()
{}
public void CheckOverTime()
{}
public void CheckReader()
{}
public void CheckPassword()
{}
public void VerifyBook()
{}
public void VerifyReader()
{}
public void VerifyBookReader()
{}
public void VerifyRegistrar()
{}
}
//Source file: F:\\我的文档\\uml\\s\\TT_Database.java
public class TT_Database
{
private String DBPath;
public TT_Database()
{}
public void AddBookInfo()
{}
public void ModifyBookInfo()
{}
public void ModifyReaderInfo()
{}
public void QueryBook()
{}
public void QueryReader()
{}
public void QueryPassword()
{}
public void GetDBPath()
{}
public void SetDBPath()
{}
public void OpenDB()
{}
}
//Source file: F:\\我的文档\\uml\\s\\TT_People.java
public class TT_People
{
public String Id;
public String Name;
public TT_People()
{}
public void GetId()
{}
public void SetId()
{}
public void GetName()
{}
public void SetName()
{}
}
//Source file: F:\\我的文档\\uml\\s\\TT_Reader.java
public class TT_Reader extends TT_People
{
private Integer Qua;
private Integer MaxQua;
public FormObject theFormObject[];
public TT_Reader()
{}
public void GetMaxQua()
{}
public void SetMaxQua()
{}
public void GetQua()
{}
public void SetQua()
{}
}
//Source file: F:\\我的文档\\uml\\s\\TT_Registrar.java
public class TT_Registrar extends TT_People
{
private String Password;
public FormObject theFormObject;
public TT_Registrar()
{}
public void GetPassword()
{}
public void SetPassword()
{}
}
3.2 系统运营测试
图 3.1 主界面
图 3.2 管理员登陆
图 3.3 添加图书
图 3.4 删除图书
图 3.5 修改图书
图 3.6 删除用户
图 3.7 修改用户
图 3.8 添加用户
图 3.9 借书窗口
图 3.10 借书成功窗口
图 3.11 还书窗口
图 3.12 还书成功窗口
图 3.13 借书列表
图 3.14 书籍列表
图 3.15 用户列表
3.3 报告小结
以面向对象的分析系统需求,建立模型和设计实现,系统基本实现了图书信息的录入和修改和读者借、续借、还的功能。读者与管理员通过界面对象调用控制类对象,控制对象进行各种操作并把信息写入数据库。
在实验上机过程中,得到了老师和同学们的解答和帮助,顺利完毕这次实验报告。
局限性之处:系统只是简朴基本实现了图书信息录入修改和读者借、续借、还等功能,在应用中还需要不断修改和完善。
展开阅读全文