面向对象的分析设计实现--图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告面向对象的分析设计实现—图书管理系统
一.需求分析
1.1系统需求描述
一般图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。
一般图书馆管理系统主要包括用户登录子系统、用户管理子系统、图书管理子系统、图书借阅与归还、图书和用户信息查询子系统四个部分,各部分主要功能如下:
用户登录子系统:用于数据库的连接,主界面的设计和不同身份用户的登录管理。
用户管理子系统:用于用户信息的管理,如用户添加、用户信息修改、用户删除。
图书管理子系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。
图书借阅与归还子系统:用于用户借阅和归还图书。
图书和用户信息查询:图书和用户信息的查询。
1.2系统功能结构图
图 1.1 图书管理系统分析系统流程图
1.3 系统解决方案
以上述一般的图书管理系统分析为构思原型。为简化系统,忽略掉其他复杂琐碎的功能需求,仅保留图书信息的录入、修改和读者借、续借、还的功能。读者与管理员通过界面对象调用控制类对象,控制对象进行各种操作并把信息写入数据库。
二.系统设计
2.1 系统E-R图
图 1.2 用户实体图
图1.3 书籍实体图
图 1.4 实体属性图
2.2数据库表结构
表2.1 图书信息表
表2.2 用户借阅表
表2.3用户信息表
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 静态模型图
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 ng.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[];