面向对象实例分析(图书管理系统)

合集下载

面向对象分析与设计-图书馆信息系统

面向对象分析与设计-图书馆信息系统

图书馆信息系统面向对象分析实例总体问题的陈述:本项目的目的是创建一个用于对图书馆的图书进行管理的图书管理系统。

该项目的用户:该项目的用户是一个某大学的图书馆,它负责对其顾客提供图书借阅服务。

该项目的目标:总体上来说,项目的目标是提高图书管理的自动化水平,为图书业务过程提供更快捷的、更好的和更准确的服务。

具体来讲,系统的目标包括:为借书者提供快速借书的服务;进行快速准确的图书和借书者的信息维护;图书管理和查询的自动化。

该系统的功能:系统功能是系统应该做的事情,例如系统提供的预定功能。

应该识别出这些功能并把它们列入到逻辑相关联的功能组中。

注意:要验证某一个描述是否真是一个系统的功能,如下的判断语句应该成立:系统应该做某一个描述例如,系统应该做图书的预定。

然而,系统的属性是系统的非功能性的特性,这些非功能性特性和系统功能经常被混淆。

例如,“易于使用”就是一个非功能性的特性。

它是不符合我们上述的验证语句:“系统应该做易于使用”。

系统属性不应该是功能规格说明书中的一部分,而应该是一个单独的系统属性规格说明文档。

对于系统的功能,我们应该对其分类,以便区分开各类功能的优先次序和识别出哪些是理所当然应该具备的系统功能。

功能的分类包括:明显的:应该履行的功能,并且用户应该知道这个功能是否已经被履行。

隐藏的:应该履行的功能,但功能的履行对用户不可见。

很多使用底层技术的服务确实符合这种情况,例如,将数据保存到一个持久化存储机构中。

隐藏的功能经常在采集需求的过程中被遗漏。

修饰性的:可选的,增加这些功能不会对成本和其它系统造成重要影响。

为此,我们给出该系统的借书基本功能如下:F1.1记录借出的图书----借阅事件明显的F1.2 查找书库中是否存在这种图书明显的F1.3 从借书卡中读取借书者信息,并校验该信息明显的F1.4 查找书库中这本书是否还有副本隐藏的F1.5 当一次借阅完成后,削减该书的副本存书数量隐藏的F1.6 管理员要使用系统,必须输入ID号和密码才行明显的F1.7 查询显示借书信息明显的F1.8 提供一个持久化存储机制隐藏的F1.9 提供过程间的和系统间的通信机制隐藏的系统属性:系统属性是系统的特性,它们并不是系统的功能,例如:易用、容错、响应时间、界面形式、平台等。

ch10图书馆管理系统_面向对象的系统分析

ch10图书馆管理系统_面向对象的系统分析

——读者还书
状态图
还书成功
等待系统 验证账号 验证成功 进入还书 界面
验证失败 注销账号 请求 查询 管理 员检 测 完成 罚款 手续 更新图书库 确认成功 还书操作
检测借书 时间
管理员 进行罚款
——读者还书
读者 查询系统
事件跟踪图
罚款信息 管理员 图书
书籍还书系统
登录 要求账号和密码 输入账号和密码 请求还书 检测借书时间 检测借书时间 提示用户是否超期 修改图书记录 修改成功 允许还书
——读者查询书籍信息
状态图
等待系统 验证账号 验证成功 进入查询 书籍界面
验证失败 注销账号 查询成功 按字段查询 书籍信息
——读者查询书籍信息 读者
登录 要求账号和密码 输入账号和密码
事件跟踪图 书籍信息系统
查询系统
请求查询 在输入框中输入字段 输入书籍关键字段 根据字段显示信息 退出需注销账号 选择点击注销账号
退出需注销账号
选择点击注销账号
——管理员管理读者信息
协作图
4.请求删除 2.请求查询
1.确认身份
管理员
8.退出系统
登陆接口 读者信息 3.查询成功 5.确认并删除记录
6.确认并删除记录
注销接口 7.删除成功 还书信息 借书信息
1.管理员通过密码和账号登录,选择进入读者信息管理界面。 2.可以根据读者编号进行查询,界面显示读者信息。 3.对不合格读者进行删除,同时,该读者的借书记录和还书记录也同时删 除。
进行修改
修改 个人信息
——读者管理个人信息 读者
登录 要求账号和密码 输入账号和密码
事件跟踪图 个人信息系统
管理系统
显示个人信息界面 要求点击操作功能 查询个人信息 显示个人信息 返回要求界面 修改个人信息 显示修改后信息 退出需注销账号 选择点击注销账号

面向对象实例分析(图书管理系统)

面向对象实例分析(图书管理系统)

2 图书管理员处理借书的协作图
: Item 2: find reservation( ) 5: update( ) 1: identify borrower( ) : Lend Window : Administrator 6: borrow( ) 7: check_if_max( ) 3: find(Borrower, Title) 4: borrow( ) : Title
• 2.标识用例 • 有了参与者后,下一个任务就是标识业务用例。每个用例 都是业务系统的一部分。 • 如何把业务分解为用例没有普遍的规则可遵循,一般说来, 常识、逻辑和经验对此有一定的帮助。 • 可以向每个参与者提出以下问题: • “你完成你的业务的重要活动是什么?”,把所有参与者 回答的问题,要完成的活动或任务整理成用例。
(1)find(String): 书目类的查找函数。 (2) find_on_title(Title): 查找此书目下书籍信 息的函数。 (3)destroy: 删除书籍信息的函数。 (4)destroy: 删除书目信息的函数。
图 6 系统管理员删除书目的时序图
• 4. 图书管理员处理书籍借阅的时序图
: Reservation
: Loan
identify_borrower():验证 借阅者身份的函数。 find_reservation():查找预 订信息的函数。 find(Borrower,Title):根据 借阅者和借阅的书籍名找到 相应预订信息的函数。 borrow():处理借书的函数。 update():更新某一书目下 书籍数量的函数。 check_if_max():检查借阅 凭证所借书籍数目是否已经 超过最大限额的函数。
3.系统管理员维护书籍信息的活动图 • 系统管理员维护借阅者帐户 • 系统管理员进行书目信息维护 • 系统管理员维护书籍信息 • 系统管理员登录系统后,可以进行添加书籍、删除 书籍等活动。

案例--“图书管理系统”面向对象分析与设计

案例--“图书管理系统”面向对象分析与设计

案例“图书管理系统”面向对象分析与设计例如,“图书管理系统”面向对象分析与设计大致过程如下:1.需求调查分析需求调查分析的结果一般用文字描述,必要时也可用业务流程图辅助描述。

“图书管理系统”需求陈述如下:在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。

持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。

借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。

然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。

最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。

归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。

如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。

然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。

图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。

2. 用况健模(1)确定执行者通过对系统需求陈述的分析,可以确定系统有两个执行者:管理员和读者。

简要描述如下:1)管理员:管理员按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款等即借阅管理。

2)读者:通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。

面向对象设计之9-图书管理系统

面向对象设计之9-图书管理系统

需求分析1.确定用例通过对系统需求的分析,可以确定系统有三个执行者:图书管理员行为者,读者行为者及系统管理员行为者。

简要描述如下:1)图书管理员行为者:管理员按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款等即借阅管理。

2)读者行为者:通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。

3)系统管理员:可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。

读者从图书管理系统的用例图可以看出有个六个用例:”读者用例,借阅用例,图书用例,借阅情况用例,续借用例,图书信息查询用例.”系统边界有个三个行为者,即图书管理员,读者,以及一个系统管理员。

从2-1图中我们还可以看出图中的每个用例之间的包含关系和扩展关系,读者用例包含关系是读者信息和读者类别;借阅包含关系是借书,还书,续借,借阅情况;而图中丢失和过期则是还书中的扩展;图书用例的包含关系是图书信息,图书类别,出版社信息及图书信息查询,其中意见反馈则是图书信息查询的扩展。

最高层用例图中展开读者借书的用例图如下图2-2所示:读者借助此图书管理系统子系统,可以进行一下操作:图2-2读者借助此图书管理系统子系统,可以进行一下操作:1.查询图书;2.预留图书;3.借书;4.还书;5.查阅借阅信息。

其中,在读者进行预留图书和查询借阅信息之前,读者必须先登录系统;读者进行还书操作时,必须保证图书完整;最高层用例图中展开图书馆管理员处理借书、还书等的用例图如下图2-3所示:图书管理员用例描述:图2-3图书管理员使用系统进行的操作主要有:1.处理读者的送还的图书;2.处理读者的借书要求3.处理读者的预留图书要求其中在处理还书时,要查看图书的完整性;处理读者借书时,要检查读者信息;最高层用例图中展开系统管理员进行系统维护的用例图如下图2-4所示:图2-4系统管理员使用系统进行的操作主要有:1.处理图书库里新书信息记录;2.处理图书库里旧图书的信息记录;3.处理新旧图书信息记录维护问题;4.处理新读者信息登记;5.处理已存在的读者信息记录;6.查询读者资料;7.添加书目信息;8.处理旧书目信息。

面向对象程序设计实践案例分享

面向对象程序设计实践案例分享

面向对象程序设计实践案例分享近年来,面向对象程序设计模式在软件开发中得到了越来越广泛的应用,尤其是在Web开发、移动端开发以及人工智能等领域。

面向对象程序设计是一种以对象为中心的编程模式,能够大大提高代码的可重用性、可维护性和可扩展性,帮助开发人员更好地管理软件复杂性。

本文将分享一些面向对象程序设计实践案例,以帮助读者更好地了解和应用该模式。

实践案例一:图书馆管理系统我们来看一个简单的图书馆管理系统。

该系统可以在借书、还书和查询书籍等方面具有很好的应用价值。

在该系统中,我们需要设计三个类:Book、Borrower和Library(图书、借阅者和图书馆)。

下面是对每个类的属性和方法的简单介绍:Book类:属性(Property):isbn(图书ISBN号)、title(图书题目)、author(图书作者)、checkedOut(图书是否被借出)和borrower (借阅者)。

方法(Method):checkIn(将书返回给图书馆)、checkOut(将书借给借阅者)、借到日期、所借时间等。

Borrower类:属性:name(借阅者姓名)、email(借阅者电子邮件地址)和borrowedBooks(所借图书)。

方法:借书(可以从图书馆中借书)、还书(将书还给图书馆)、查询所借图书等。

Library类:属性:books(书架上存放书籍)、borrowers(借阅人列表)和currentDate(当前日期)。

方法:addBook(将书籍添加到书架上)、removeBook(从书架上删除某本书)、addBorrower(向借阅人列表添加新借阅人)、removeBorrower(从借阅人列表中删除某个借阅人)等等。

在这个图书馆管理系统中,我们用面向对象程序设计的方式设计了三个类,每个类都有自己的属性和方法。

这样设计的好处是,我们可以通过调用每个类的方法来完成它们的任务,而不需要担心具体的实现方式。

同时,由于类同一时间只允许执行一个操作,相互之间不会产生干扰,因此程序的可维护性和可扩展性也能得到很好的保障。

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

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

实验报告面向对象的分析设计实现—图书管理系统一.需求分析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为存储各种信息的数据库对象。

另:考虑到现实图书馆中还存在“图书馆管理员”这一角色,但其所起的作用仅为代替读者完成各种系统操作,故没有设置此活动者。

面向对象案例

面向对象案例

面向对象案例在面向对象的编程中,我们经常会遇到各种不同的案例,这些案例涉及到了对象、类、继承、多态等概念的应用。

下面,我将通过几个具体的案例来说明面向对象编程的应用。

案例一,图书管理系统。

假设我们需要设计一个图书管理系统,这个系统需要包括图书的借阅、归还、查询等功能。

在面向对象的设计中,我们可以将图书、读者、图书管理员等抽象成对象,然后通过类来描述它们的属性和行为。

比如,我们可以设计一个Book类来表示图书,包括书名、作者、出版社等属性,以及借阅、归还等行为;再设计一个Reader类来表示读者,包括姓名、借阅的图书等属性,以及借阅、归还等行为;还可以设计一个Librarian类来表示图书管理员,包括姓名、管理的图书等属性,以及借阅、归还等行为。

通过这样的设计,我们可以很好地模拟出一个图书管理系统,并且可以方便地对其进行扩展和维护。

案例二,银行账户管理系统。

另一个常见的案例是银行账户管理系统。

在这个系统中,我们需要对账户进行存款、取款、查询等操作。

同样地,我们可以将账户、客户、银行职员等抽象成对象,然后通过类来描述它们的属性和行为。

比如,我们可以设计一个Account类来表示账户,包括账号、余额等属性,以及存款、取款等行为;再设计一个Customer类来表示客户,包括姓名、账户等属性,以及存款、取款等行为;还可以设计一个Banker类来表示银行职员,包括姓名、管理的账户等属性,以及存款、取款等行为。

通过这样的设计,我们可以很好地模拟出一个银行账户管理系统,并且可以方便地对其进行扩展和维护。

案例三,汽车租赁系统。

最后,我们来看一个汽车租赁系统的案例。

在这个系统中,我们需要对汽车进行租赁、归还、查询等操作。

同样地,我们可以将汽车、租户、租赁员等抽象成对象,然后通过类来描述它们的属性和行为。

比如,我们可以设计一个Car类来表示汽车,包括车牌号、品牌、型号等属性,以及租赁、归还等行为;再设计一个Tenant类来表示租户,包括姓名、租赁的汽车等属性,以及租赁、归还等行为;还可以设计一个RentalAgent类来表示租赁员,包括姓名、管理的汽车等属性,以及租赁、归还等行为。

图书馆信息系统面向对象分析实例

图书馆信息系统面向对象分析实例

图书馆信息系统面向对象分析实例。

总体问题的陈述:本项目的目的是创建一个用于对图书馆的图书进行管理的图书管理系统。

该项目的用户:该项目的用户是一个某大学的图书馆,它负责对其顾客提供图书借阅服务。

该项目的目标:总体上来说,项目的目标是提高图书管理的自动化水平,为图书业务过程提供更快捷的、更好的和更准确的服务。

具体来讲,系统的目标包括:为借书者提供快速借书的服务;进行快速准确的图书和借书者的信息维护;图书管理和查询的自动化。

该系统的功能:系统功能是系统应该做的事情,例如系统提供的预定功能。

应该识别出这些功能并把它们列入到逻辑相关联的功能组中。

注意:要验证某一个描述是否真是一个系统的功能,如下的判断语句应该成立:系统应该做某一个描述例如,系统应该做图书的预定。

然而,系统的属性是系统的非功能性的特性,这些非功能性特性和系统功能经常被混淆。

例如,“易于使用”就是一个非功能性的特性。

它是不符合我们上述的验证语句:“系统应该做易于使用”。

系统属性不应该是功能规格说明书中的一部分,而应该是一个单独的系统属性规格说明文档。

对于系统的功能,我们应该对其分类,以便区分开各类功能的优先次序和识别出哪些是理所当然应该具备的系统功能。

功能的分类包括:明显的:应该履行的功能,并且用户应该知道这个功能是否已经被履行。

隐藏的:应该履行的功能,但功能的履行对用户不可见。

很多使用底层技术的服务确实符合这种情况,例如,将数据保存到一个持久化存储机构中。

隐藏的功能经常在采集需求的过程中被遗漏。

修饰性的:可选的,增加这些功能不会对成本和其它系统造成重要影响。

为此,我们给出该系统的借书基本功能如下:F1.1记录借出的图书----借阅事件明显的F1.2 查找书库中是否存在这种图书明显的F1.3 从借书卡中读取借书者信息,并校验该信息明显的F1.4 查找书库中这本书是否还有副本隐藏的F1.5 当一次借阅完成后,削减该书的副本存书数量隐藏的F1.6 管理员要使用系统,必须输入ID号和密码才行明显的F1.7 查询显示借书信息明显的F1.8 提供一个持久化存储机制隐藏的F1.9 提供过程间的和系统间的通信机制隐藏的系统属性:系统属性是系统的特性,它们并不是系统的功能,例如:易用、容错、响应时间、界面形式、平台等。

图书管理系统面向对象分析与设计报告

图书管理系统面向对象分析与设计报告

图书管理系统面向对象分析与设计报告1.图书管理系统开发背景图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理.图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。

基于以上情况,我们需要一套图书管理系统,来提高信息管理效率。

2.图书管理系统设计2。

2可行性分析本系统主要实现对图书馆信息的管理,主要功能为管理有关用户,资料,借阅的信息等.本系统结构分为用户和资料信息管理模块,查询模块,借阅信息管理模块。

用户和资料信息管理的功能是,维护和修改读者和资料信息。

查询模块的功能是,查询借阅信息,图书信息,用户信息.借阅信息管理的功能是,维护借阅信息,实现借书还书的自动化。

可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。

2。

2 图书管理系统需求描述2.2.1 系统组成图书管理系统由一下几个子系统构成:1.系统管理员管理子系统2.图书管理员管理子系统3.读者子系统2。

2。

2系统框图2.2.3 系统参与者图书管理员,借阅者,系统管理员.三者间的关系如下图:其中,用户是多个,包括教员和学生,图书管理员是几个,系统管理员是一个至多个。

用户可以查询自己的借阅情况、分门别类的查询图书和借书,还书等。

图书管理员主要是日常操作有:处理图书借阅,查询用户和资料信息。

而系统管理员统筹管理图书的系统相关事宜,比如权限维护、增删用户和管理系统后台数据等。

2。

3 图书管理系统功能模型系统的参与者主要有三类:用户(也可称为借阅者)图书馆管理员图书馆管理系统维护者2。

3.1系统实体关系图2。

3.2功能模型的用例图2.3.3类图2。

3。

4 顺序图一级要求:2.3。

4.1新用户录入的用例图2.3.4。

2新资料录入的顺序图2.3.4。

3更改资料信息的顺序图2。

图书管理系统的面向对象软件分析

图书管理系统的面向对象软件分析

图书管理系统的面向对象软件分析由于本图书管理系统用例过多,本文用面向对象软件分析只分别对预订图书、借阅图书、归还图书、处理借书、维护图书这五个用例进行用例分析,并建立静态模型和动态模型。

一、预订图书1、确定分析类如图1所示为预订图书用例的分析类。

边界类:本用例使用“预订表单”来抽象读者与系统交互的图形界面。

控制类:本用例控制类为“预订控制者”,负责接收边界类“预订表单”的消息,将其发给实体类。

实体类:本用例涉及读者预订的图书信息,所以实体类为“图书”。

预订图书读者图12、静态模型各个类之间都是单向关联,控制类“预订控制者”接收来自边界类“预订表单”的消息,并发给实体类图书。

“预订表单”与“预订控制者”是一对一关联,因为读者预订的界面只有一个;“预订控制者”的0个或1个对象与图书的0个或1个对象关联,一个预订控制者每次处理一本图书。

预订控制者图书预定表单110..10..1图23、动态模型: 读者预定表单预订控制者图书1 : 输入预定图书信息()2 : 录入读者预订图书信息()3 : 验证图书是否能被预订()4 : 添加该读者预订图书信息()图3二、借阅图书 1、确定分析类如图3所示为借阅图书用例的分析类。

边界类:本用例使用“借阅表单”来抽象读者与系统交互的图形界面。

控制类:本用例控制类为“借阅控制者”,负责接收边界类“借阅表单”的消息,将其发给实体类。

实体类:本用例涉及读者借阅的图书信息,所以实体类为“图书”。

读者借阅图书图42、静态模型各个类之间都是单向关联,控制类“借阅控制者”接收来自边界类“借阅表单”的消息,并发给实体类图书。

“借阅表单”与“借阅控制者”是一对一关联,因为读者借阅的界面只有一个;“借阅控制者”的0个或1个对象与图书的0个或1个对象关联,一个借阅控制者每次处理一本图书。

借阅控制者图书借阅表单110..10..1图53、动态模型借阅表单借阅控制者图书 : 读者1 : 输入借阅图书信息()2 : 录入借阅图书信息()3 : 验证图书能否被借阅()4 : 添加该读者借阅图书信息()图6三、归还图书1、确定分析类如图5所示为归还图书用例的分析类。

《面向对象》案例:图书管理系统

《面向对象》案例:图书管理系统
① 系统管理员维护借阅者帐户的活动图 ② 系统管理员进行书目信息维护的活动图 ③ 系统管理员维护书籍信息的活动图
(1)系统管理 员维护借阅者 帐户的活动图
(2)系统管理 员进行书目信 息维护的活动图
(3)系统管理员 维护书籍信息的 活动图
18.4 系统中的类
18.4.1 系统中主要的类 18.4.2 各个类之间的关系
Information Maintenance
18.4.1 系统中主要的类
① 参与者相关的类 ② 系统中用到的其他类
(1)参与者相关的类
(2)系统中用到的其他类
18.4.2 各个 类间的关系 (对应的 E-R图)
18.5 系统的配置与实现
18.5.1 系统的组件图 18.5.2 系统的配置图
1 业务对象组件图
2. 用户界面的组件图
2. 系统管理员添加借阅者帐户的时序图
: Administrator
: Maintenance Window
: Borrower
1: create borrower( ) 2: create(String, String)
3. 系统管理员删除书目的时序图
4. 图书管理员处理书籍借阅的时序图
5. 图书管理员处理书籍归还的时序图
3: Return true
4: reserve( )
18.3.4 系统的协作图
1. 2. 3. 4. 5. 系统管理员添加书籍的协作图 系统管理员删除书籍的协作图 图书管理员处理借书的协作图 图书管理员处理还书的协作图 借阅者预留书籍的协作图
1. 系统管理员添加书籍的协作图
1: add item( ) : Maintenance Window : Administrator

面向对象图书管理系统需求分析+总体设计说明书

面向对象图书管理系统需求分析+总体设计说明书

需求分析1.确定用例通过对系统需求的分析.可以确定系统有三个执行者:图书管理员行为者.读者行为者及系统管理员行为者。

简要描述如下:1)图书管理员行为者:管理员按系统授权维护和使用系统不同功能.可以创建、修改、删除读者信息和图书信息即读者管理和图书管理.借阅、归还图书以及罚款等即借阅管理。

2)读者行为者:通过互联网或图书馆查询终端.查询图书信息和个人借阅信息.还可以在符合续借的条件下自己办理续借图书。

3)系统管理员:可以对系统的数据进行维护.如增加、删除和更新书目.增加、删除和更新借阅者帐户.增加和删除书籍。

读者从图书管理系统的用例图可以看出有个六个用例:”读者用例.借阅用例.图书用例.借阅情况用例.续借用例.图书信息查询用例.”系统边界有个三个行为者.即图书管理员.读者.以及一个系统管理员。

从2-1图中我们还可以看出图中的每个用例之间的包含关系和扩展关系.读者用例包含关系是读者信息和读者类别;借阅包含关系是借书.还书.续借.借阅情况;而图中丢失和过期则是还书中的扩展;图书用例的包含关系是图书信息.图书类别.出版社信息及图书信息查询.其中意见反馈则是图书信息查询的扩展。

最高层用例图中展开读者借书的用例图如下图2-2所示:读者借助此图书管理系统子系统,可以进行一下操作:图2-2读者借助此图书管理系统子系统,可以进行一下操作:1.查询图书;2.预留图书;3.借书;4.还书;5.查阅借阅信息。

其中,在读者进行预留图书和查询借阅信息之前,读者必须先登录系统;读者进行还书操作时,必须保证图书完整;最高层用例图中展开图书馆管理员处理借书、还书等的用例图如下图2-3所示:图书管理员用例描述:图2-3图书管理员使用系统进行的操作主要有:1.处理读者的送还的图书;2.处理读者的借书要求3.处理读者的预留图书要求其中在处理还书时,要查看图书的完整性;处理读者借书时,要检查读者信息; 最高层用例图中展开系统管理员进行系统维护的用例图如下图2-4所示:图2-4系统管理员使用系统进行的操作主要有:1.处理图书库里新书信息记录;2.处理图书库里旧图书的信息记录;3.处理新旧图书信息记录维护问题;4.处理新读者信息登记;5.处理已存在的读者信息记录;6.查询读者资料;7.添加书目信息;8.处理旧书目信息。

应用面向对象技术与UML方法分析图书管理系统( 需求)

应用面向对象技术与UML方法分析图书管理系统( 需求)

3.找谁
二、 UML静态模型—类图回顾 1.类图概念 类图描述了系统中的类及其相互之间 的各种关系,其本质反映了系统中包 含的各种对象的类型以及对象间的各 种静态关系(关联,子类型)。
一、UML静态模型—类图回顾
类图图符表示:
类名
WashingMachine
简单名 路径名 公有(+) 私有(-) 受保护(#)
1.“借阅者查找图书”用例描述
基本工作流程如下: ① 借阅者希望通过系统查询图书的信息。 ② 借阅者通过自助系统的用户界面SearchBookWindow录入图书的 ISBN/ISSN号,请求查找图书信息。 ③ 用户界面SearchBookWindow根据图书的ISBN/ISSN号将Book类实例 化,并请求图书信息。 ④ Book类实例化对象根据图书的ISBN/ISSN号加载图书信息,并提供 给用户界面SearchBookWindow。 ⑤ 用户界面SearchBookWindow向读者提示该图书信息。
第二步:分析需求
OOA分析过程
分析 用户 需求
系统分析员应 该深入地理解 用户需求,抽 象出目标系统 的本质属性, 并用模型准确 表示来 ;另 外要向领域专 家学习。
识别 类与 对象
确定问 题域中 的类和 对象
确定对 象的内 部特征
确定对 象的属 性的操 作
识别对 象之间 的关系
分类关系(一般 /特殊)、组成 关系(整体/部 分),还有反映 对象属性之间 联系的实例连 接、反映对象 行为之间依赖 关系的消息等
借阅者进行的活动

用例
查找图书 登陆系统 查询个人信息 预定图书 借阅图书 归还书籍


可以通过图书名称或ISBN/ISSN号查找图书的详 细信息 能够根据图书证编号和相关密码登陆自助机器, 查询图书信息、个人信息和进行图书预定。 每个借阅者都可以通过自主机器在登陆后查询自 己的信息,但是不允许在未授权的情况下查询其 他人的信息。 登陆自助机器后,借阅者可与预定相关书籍。 可以通过图书管理员借阅相关书籍。 通过图书管理员归还书籍,如果没按时归还或书 籍损坏,需要缴纳罚金。

《面向对象分析与设计》图书管理系统

《面向对象分析与设计》图书管理系统

《面向对象分析与设计》图书管理系统D第一章简介1.1简介图书管是人们日常生活中不可或缺的重要组成部分,人们获取知识、提高个人修养的重要途径。

随着经济社会的日益发张,现行的图书馆管理已经日发凸显其不足,数字化图书管理已经成为一种必然趋势。

数字图书馆的研究方兴未艾,目前正处于传统图书馆向数字图书馆过渡的阶段,转变过程中需要应用和集成最新的信息技术,以达到对网络信息资源最有效的利用和共享。

传统的系统分析设计的方法难以保证开发的效率和质量,将UML应用于数字图书馆建设,可以加速开发进程,提高代码质量,支持动态的业务需求,并方便地集成已有的传统图书馆信息资源。

这事UML一个有着很好前景的应用方向。

本实验将通过从用户角度(即读者)来分析用户在从登录到退出期间所有可能的活动,并且就此提出数字图书馆应该具备的基本功能,以更好地满足客户的需要。

第二章需求分析2.1 功能需求2.1.1功能划分该软件具有如下主要功能:用户登录;借还查询;预约查询;资料修改;密码修改;找回密码2.1.2功能描述(1)用户登录列出当前数据库文件中书籍和读者的所有记录;可选定一项记录,显示所有域;(2)借还查询书目匹配查询;读者匹配查询;书目和读者相关匹配查询;(3)预约查询查询该书目是否有预约(4)资料修改修改某一已存在的记录内容,提供确认机制;修改续借日期;(5)密码修改读者确保密码安全谁是修改读者自己的密码;(6)找回密码当读者忘记自己的密码时,通过此功能找回自己的密码。

2.2性能需求2.2.1 数据精确度查询时应保证查全率,所有在相应域中包含查询关键的记录都应查到,同时保证查准率。

2.2.2 适应性满足运行环境在允许操作系统之间的安全转换和与其应用软件的独立运行要求。

第三章系统分析与设计3.1数字化图书馆用列图资料修改图1数字化图书馆用列图3.2用户登录顺序图、合作图和类图图2用户登录顺序图: 学生电脑屏幕图书管理系统读者的账户2: 屏幕初始化1: 打开图书馆网页4: 输入读者证号6: 输入读者密码7: 登录3: 提示请输入读者证号5: 提示输入读者密码8: 进入图书管理系统9: 打开读者用户界面10: 保存相关更新信息11: 安全退出系统图3用户登录合作图图4用户登录类图3.3借还查询的顺序图、合作图和类图图5借还查询的顺序图:读者 : 学生计算机屏幕图书管理系统读者账户4: 输入读者证号6: 输入密码(12345)7: 登录11: 选择查询借阅信息3: 提示输入读者证号5: 提示输入密码10: 提示选择事物8: 进入图书管理系统9: 打开读者账户12: 保存相关信息13: 安全退出系统图6借还查询的合作图图7借还查询的类图3.4预约查询顺序图、合作图和类图图8预约查询顺序图读者 : 学生计算机屏幕图书管理系统读者账户2: 屏幕初始化1: 打开图书馆首页4: 输入读者证号6: 输入密码7: 登录11: 选择馆藏检索并查找相应的书籍13: 选择预约3: 提示输入读者证号5: 提示输入密码10: 提示选择事物12: 提示是否预约读书籍8: 进入图书管理系统9: 打开读者账户14: 保存更新信息15: 安全退出系统图9预约查询合作图图10预约查询类图3.5资料修改顺序图、协作图和类图图11资料修改顺序图读者 : 学生计算机屏幕图书管理系统读者账户2: 屏幕初始化1: 打开图书馆首页4: 输入读者证号6: 输入密码7: 登录11: 选择资料修改13: 输入证号、密码3: 提示输入读者证号5: 提示输入密码10: 提示选择事物12: 提示输入读者证号和密码8: 进入图书管理系统9: 打开读者账户14: 验证账户及密码15: 提示输入相关信息16: 输入个人相关信息并提交17: 保存修改信息18: 安全退出系统图12资料修改合作图图13资料修改类图3.6修改密码顺序图、合作图和类图图14修改密码顺序图1: 打开图书馆首页2: 屏幕初始化4: 输入读者证号6: 输入密码7: 登录11: 选择功能(修改密码)13: 输入证号图15修改密码合作图图15修改密码类图象第四章总结这次实验一开始,我就感觉到举手无措,不知道如何去写这次作业。

面向对象图书管理系统实验

面向对象图书管理系统实验

一、需求调查分析本系统主要实现对图书馆的信息进行管理,图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。

本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理。

图书馆管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。

但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。

这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

图书管理信息系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于后台数据库的建立要求建立起数据一致性和完整性强.数据安全性好的库。

而对于前端应用程序则要求应用程序功能完备,易使用等特点。

在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。

持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。

面向对象分析设计案例

面向对象分析设计案例

面向对象分析设计案例在软件开发领域,面向对象分析设计(OOAD)是一种常用的方法论,它将系统看作是一组对象的集合,这些对象之间通过消息传递进行通信和协作。

本文将以一个简单的图书馆管理系统为例,介绍面向对象分析设计的基本概念和流程。

首先,我们需要明确系统的需求和业务场景。

图书馆管理系统主要包括图书管理、读者管理、借阅管理等功能。

在面向对象分析阶段,我们需要识别系统中的各种对象,并分析它们之间的关系和行为。

在这个案例中,我们可以识别出图书、读者、图书管理员、借阅记录等对象。

接下来,我们需要对每个对象进行分析,包括属性和方法的识别。

以图书对象为例,它可能包括书名、作者、出版社、ISBN号等属性,而方法可能包括借阅、归还等操作。

通过对每个对象的分析,我们可以建立起对象模型,明确对象之间的关系和交互方式。

在面向对象设计阶段,我们需要将对象模型转化为类和接口,定义类的属性和方法,以及类之间的继承和关联关系。

在图书馆管理系统中,我们可以定义图书类、读者类、图书管理员类等,通过继承和接口实现来建立它们之间的关系。

同时,我们还需要设计相应的界面和交互逻辑,确保系统能够满足用户的需求。

除此之外,面向对象分析设计还强调系统的可扩展性和可维护性。

在设计阶段,我们需要考虑到未来可能的变化和扩展,尽量降低系统的耦合度,提高系统的灵活性和可重用性。

在图书馆管理系统中,我们可以通过设计插件机制和扩展接口,来支持新的业务需求和功能扩展。

总的来说,面向对象分析设计是一种强调抽象、模块化和分层的方法论,它能够帮助我们理清系统的结构和功能,提高系统的设计质量和开发效率。

通过本文的案例介绍,相信读者对面向对象分析设计有了更深入的理解,能够在实际项目中更好地应用这一方法论。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 3. 图书管理员处理还书的协作图
1: find borrower( ) : Return Window : Librarian 3: return_back( ) : Title
5: return_back( )
2: find(String)
4: update( )
: Loan
: Item
find_borrower():查找借阅者信息的函数。 find(String):根据借阅者查找借阅信息的函数。 return_back():处理还书的函数。 update():更新书籍数目函数。
图1 借阅者请求服务的用例图
图书馆管理员处理借书、还书等的用例图
(1)Get book:书籍归 还处理。 (2)Lend book:书籍借 阅处理。 (3)Remove Reservation: 删除书籍预订信息。 (4)Get With Fine:还 书时收取罚金。 (5)Check user count: 检查用户借阅凭证的合 法性。
: Item
1: QueryBook( ) 2: find_on_title(Title)
Find_on_title(): 根据书目查找到相应的书籍信息。
•图9 借阅者查询书籍信息的时序图
7. 借阅者预订书籍的时序图
theBorrower : Borrower 1: Login
Web Application
系统中的类
• 1.参与者相关的类
• Borrower 类是借阅者的类,它的 属性很多,包括借阅者的账户ID (UserID)、姓名(Name)、地 址(Address)、邮编(Zip)、所 借书籍的书目(borrow_number) 等.其中主要操作有借书(borrow) 和还书(return_back)。 • Librarian类是图书管理员的类,包 括工作帐号(WorkID)、名字 (Name)和地址(Address)等属 性。 • Administrator 类是系统管理员类。
6: update( )
(1)check(): 检查书籍状况的函数。 (2)update(): 更新书籍类信息的函数。 (3)update(): 更新借阅者借阅信息的 函数。
图8 图书管理员处理书籍归还的时序图
6. 借阅者查询书籍信息的时序图
: Borrower
: Maintenance Window
(1)find(String): 查找书目的函数。 (2)find_item():查找所 要书籍的函数。 (3)find_on_title(Title): 根据书目名从数据库中找 到书目信息的函数。 (4)identify_borrower() 验证借阅者身份的函数。 (5)find(String):根据借 阅者的登录账号找到借阅 者信息的函数。 (6) create(Borrower,item): 修改借阅信息的函数。
参与者的活动图 1. 借阅者的活动图
(1) Self-help Service: 打开图书馆负责自助服务的计 算机。 (2) Search for books: 查询需要的书籍。 (3) Login:登录管理系统。 (4) View book information: 查看书籍信息。 (5) Reserve the book: 预订书籍。 (6) Exit System: 退出系统。 (7) Leave Computer: 离开自助服务的计算机。
2.
图书管理员的活动图
• Login the system: 图书管理员登录系统。 • Get book: 处理还书操作。 • Lend book: 处理借书操作、 • Update borrower’s information: 更新借阅者借阅凭证上的信息。 • Accept money: 收取罚金。
2.系统中其它的类
• Title类是记录书目信息的类,包括书籍的名字(name)、 作者(author)、ISBN、此种书籍总数量 (total_number)、借出的数量(borrowed_number)、是 否允许借出 (isAllowForBorrow)等属性。 • Item类是具有某本书的类,包括书籍号(id)。操作包括 预订(reserve)、按书目查找(find_on_title)等。 • Loan类是某本书的借阅信息类,包括所借阅书籍的ISBN、 借阅的时间(date)等。 • Reservation类是预订信息类,每个预订信息包括预订日期 (date)、所预订书籍的ISBN、预订书籍的用户ID (UserID)等属性。
1: add item( ) : Maintenance Window : Administrator 2: find(String) 3: update( ) : Item
: Title
(1)add Item():添加书籍的函数。 (2)find(String):根据书籍名查找相应书目的函数。 (3)update():修改某类书目下书籍数量的函数。
2.借阅者帐户的状态图
New Borrower:新加入的借阅者的账户。 Account Available:借阅账户为可用状态,即未达 到所规定的书籍借阅数目上限。 Account Unavailable:借阅账户为不可用状态,即 所借的书籍数已达到规定的书籍借阅数目上限,不能 再借阅书籍了。 Delete Account:个人账户被删除状态。
: Administrator
: Maintenance Window

: Borrower
1: create borrower( ) 2: create(String, String)
Create(String,String): 添加新的借阅者账户 的函数。
•图5 系统管理员添加借阅者帐户的时序图
• 3. 系统管理员删除书目的时序图
2 图书管理员处理借书的协作图
: Item 2: find reservation( ) 5: update( ) 1: identify borrower( ) : Lend Window : Administrator 6: borrow( ) 7: check_if_max( ) 3: find(Borrower, Title) 4: borrow( ) : Title
3: return true
(1)add Item(): 添加书籍函数。 (2)find(String): 根据书籍查找相 应书目的函数。 (3) create(integer,Title): 修改书籍数目的函数。
4: create(Integer, Title)
图4 系统管理员添加书籍的时序图
2.系统管理员添加借阅者帐户的时序图
(1)find(String): 书目类的查找函数。 (2) find_on_title(Title): 查找此书目下书籍信 息的函数。 (3)destroy: 删除书籍信息的函数。 (4)destroy: 删除书目信息的函数。
图 6 系统管理员删除书目的时序图
• 4. 图书管理员处理书籍借阅的时序图
theTitle : Title
2: find(String)
3: Return true
4: reserve( )
(1)Login: 登录系统的函数。 (2)Find(String): 查找相应的书目的 函数。 (3)Reserve(): 预订书籍的函数。
图10 借阅者预订书籍的时序图
实现用例的协作图 • 1. 系统管理员添加书籍的协作图
: Reservation
: Loan
identify_borrower():验证 借阅者身份的函数。 find_reservation():查找预 订信息的函数。 find(Borrower,Title):根据 借阅者和借阅的书籍名找到 相应预订信息的函数。 borrow():处理借书的函数。 update():更新某一书目下 书籍数量的函数。 check_if_max():检查借阅 凭证所借书籍数目是否已经 超过最大限额的函数。
系统管理员进行系统维护的用例图
实现用例的时序图
• 1. 系统管理员添加书籍的时序图
: Administrator
: Maintenance Window 1: add item( ) 2: find(String)
: Title
: Item
Check if corresponding title exist
• 对象的状态图 1. 书的状态图
New book:还未入库的新书。 Delete:已经从书库里删除的书。 Available:书籍处于可用状态,即 可以外借的状态。 Reserved:预订状态。 Borrowed:借出状态。
• 书籍处于可用(Available)状态时既 可以预订也可以外借,外借后变为借阅 (Borrower)状态。 •处于预订(Reserved)状态时可以外借, 超出预订时间期限则从预订状态直接转 为可用状态。借阅者在规定的预订时间 内也可以考虑取消预订,取消预订后书 籍的状态转为可用。外借书籍归还后变 为可用状态。
图书馆管理系统的分析
• 1 . 标识参与者 • 参与者是在业务中扮演某个角色的人、部门或者独立的软 件系统。一般来说,参与者使用系统或给系统提供服务。 • 图书管理系统的参与者: • 借阅者:可以通过网络查询书籍信息和预定书籍,借阅者 能够借阅书籍和还书。 • 图书管理员:能够处理借阅者的借阅和还书请求。 • 系统管理员:可以对系统的数据进行维护,如增加、删除 和更新书目,增加、删除和更新借阅者帐户,增加和删除 书籍。
•图7 图书管理员处理书籍借阅的时序图
• 5. 图书管理员处理书籍归还的时序图
: Borrower
: Librarian
: Return Window
: Item
: Loan
1: give the book 2: return item( ) 3: check( ) 4: ok 5: update( )
相关文档
最新文档