收藏 分销(赏)

面向对象的分析设计实现图书管理系统.doc

上传人:精**** 文档编号:3141095 上传时间:2024-06-19 格式:DOC 页数:38 大小:348KB 下载积分:12 金币
下载 相关 举报
面向对象的分析设计实现图书管理系统.doc_第1页
第1页 / 共38页
面向对象的分析设计实现图书管理系统.doc_第2页
第2页 / 共38页


点击查看更多>>
资源描述
实验报告 面向对象的分析设计实现—图书管理系统 一.需求分析 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 报告小结 以面向对象的分析系统需求,建立模型和设计实现,系统基本实现了图书信息的录入和修改和读者借、续借、还的功能。读者与管理员通过界面对象调用控制类对象,控制对象进行各种操作并把信息写入数据库。 在实验上机过程中,得到了老师和同学们的解答和帮助,顺利完毕这次实验报告。 局限性之处:系统只是简朴基本实现了图书信息录入修改和读者借、续借、还等功能,在应用中还需要不断修改和完善。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服