1、案例:“图书管理系统”面向对象分析与设计例如,“图书管理系统”面向对象分析与设计大体过程如下:1. 需求调查分析需求调查分析成果普通用文字描述,必要时也可用业务流程图辅助描述。“图书管理系统”需求陈述如下:在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者个人信息和借阅记录信息。持有借阅卡读者可以通过管理员(作为读者代理人与系统交互)借阅、归还图书,不同类别读者可借阅图书范畴、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅状况,以及续借图书(系统审核符合续借条件)。借阅图书时,先输入读者借阅卡号,系统
2、验证借阅卡有效性和读者与否可继续借阅图书,无效则提示其因素,有效则显示读者基本信息(涉及照片),供管理员人工核对。然后输入要借阅书号,系统查阅图书信息数据库,显示图书基本信息,供管理员人工核对。最后提交借阅祈求,若被系统接受则存储借阅纪录,并修改可借阅图书数量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证与否有此借阅纪录以及与否超期借阅,无则提示,有则显示读者和图书基本信息供管理员人工审核。如果有超期借阅或丢失状况,先转入过期罚款或图书丢失解决。然后提交还书祈求,系统接受后删除借阅纪录,并登记并修改可借阅图书数量。图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息
3、管理以及注销(不外借),涉及图书类别和出版社管理。2. 用例建模(1)拟定执行者通过对系统需求陈述分析,可以拟定系统有两个执行者:管理员和读者。简要描述如下:1) 管理员:管理员按系统授权维护和使用系统不同功能,可以创立、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款等即借阅管理。2) 读者:通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借条件下自己办理续借图书。(2)拟定用例在拟定执行者之后,结合图书管理领域知识,进一步分析系统需求,可以拟定系统用例有: 借阅管理:包括借书、还书(可扩展过期和丢失罚款)、续借、借阅状况查询; 读者管理:包括读
4、者信息和读者类别管理; 图书管理:包括图书信息管理、图书类别管理、出版社管理、图书注销和图书信息查询。下面是借阅状况查询、读者信息管理、读者类别管理、图书类别管理、出版社管理和图书信息查询等用例简要描述:1) 借阅状况查询:读者通过互联网或图书查询终端登录系统后,查阅个人所有借阅纪录。2) 读者信息管理:管理员登录后,对读者详细信息进行增、删、改等维护管理。3) 读者类别管理:管理员登录后,对读者类别进行增、删、改等维护管理。4) 图书类别管理:管理员登录后,对图书类别进行增、删、改等维护管理。5) 出版社信息管理:管理员登录后,对出版社详细信息进行增、删、改等维护管理。6) 图书信息查询:读
5、者或管理员通过互联网或图书查询终端登录后,查询所需要图书信息。下面是借书、还书、续借、图书信息管理、图书注销等用例详细描述:1) 借书用例名称:借书参加执行者:管理员前置条件:一种合法管理员已经登录到这个系统事件流:A.输入读者编号; 提示超期未还借阅记录; B.输入图书编号; If 选取“拟定” then If 读者状态无效 或 改书“已”注销 或 已借书数=可借书数 Then 给出相应提示; Else 添加一条借书记录; “图书信息表”中“既有库存量”-1; “读者信息表”中“已借书数量”1; 提示执行状况; Endif 清空读者、图书编号等输入数据; Endif If 选取“重新输入”t
6、hen清空读者、图书编号等输入数据; Endif If 选取“退出”then返回上一级界面; Endif返回A.等待输入下一条;后置条件:如果是有效借书,在系统中保存借阅纪录,并修改图书库存量和读者借书数量。2) 还书用例名称:还书参加执行者:管理员前置条件:一种合法管理员已经登录到这个系统事件流:A.输入读者编号; 提示超期未还借阅记录;If 有超期 then 提示,调用“计算超期罚款金额”;EndifIf 丢失 then 选取该书借阅记录; 调用“计算丢失罚款金额”调用“计算超期罚款金额”;Endif If 选取“拟定” 还书then /要先交罚款后才干还B.输入图书编号; If 读者状态
7、无效 或 该图书标号不在借书记录中then 提示该读者借书证无效或该图书不是该读者借阅; Else 添加一条还书记录;删除该借书记录; “图书信息表”中“既有库存量”1; “读者信息表”中“已借书数量”1; 提示执行状况; Endif 清空读者、图书编号等输入数据; Endif If 选取“重新输入”then清空读者、图书编号等输入数据; Endif If 选取“退出”then返回上一级界面; Endif返回A.等待输入下一条;后置条件:如果是有效还书,在系统中删除借阅纪录,并修改图书库存量和读者借书数量。3) 续借用例名称:续借参加执行者:管理员、读者前置条件:一种合法管理员或读者已经登录到
8、这个系统事件流: A.输入读者编号; 提示超期未还借阅记录;If 有超期 then 提示,调用“计算超期罚款金额”;Endif 选取该书借阅记录; Endif If 选取“拟定” 续借then If 该图书已超期 或 该图书续借次数可续借次数then 提示该读者该图书已超期或该图书续借次数可续借次数,不能续借; Else 修改该书借阅记录中“应归还日期”; 图书续借次数1; 提示执行状况; Endif 清空读者、图书编号等输入数据; Endif If 选取“重新输入”then清空读者书编号等输入数据; Endif If 选取“退出”then返回上一级界面; Endif返回A.等待输入下一条;后
9、置条件:如果是有效续借,在系统中修改借阅纪录。4) 图书信息管理用例名称:图书信息管理参加执行者:管理员前置条件:一种合法管理员已经登录到这个系统事件流:(参见附录D“图书管理系统软件设计规格阐明书”中“书籍信息管理”模块详细设计,这里略)后置条件:如果是有效操纵,在系统中增长、修改、删除图书信息纪录。5) 图书注销用例名称:图书注销参加执行者:管理员前置条件:一种合法管理员已经登录到这个系统事件流:A.查询要注销图书信息; B.选取要注销图书信息记录; If 选取“拟定”注销 then If 该书有借阅记录 then 提示该书有人已借阅,不能注销; Else 添加一条注销记录; “图书信息表
10、”中设定该书 “已”注销; 提示执行状况; Endif Endif If 选取“退出”then返回上一级界面; Endif返回A.等待选取下一条或重新查询;后置条件:如果是有效注销,在系统中保存注销纪录,并对图书信息做标记。(3)拟定用例之间关系拟定执行者和用例之后,进一步拟定用例之间关系,如图7-35所示。图7-35 “图书管理系统“用例图图书管理系统图书信息管理续续借书还书借阅状况查询包括包括包括包括丢失罚款读者管理借阅管理图书类别管理管理员过期罚款款扩展扩展读者出版社信息管理图书信息查询读者信息管理包括包括读者类别管理图书管理包括包括包括包括3.静态建模一方面使用本章简介CRC或OMT技
11、术,通过寻找系统需求陈述中名词,结合图书管理领域知识,一方面给出候选对象类,通过筛选、审查,可拟定“图书管理系统”类有:读者、图书、借阅记录、图书注销记录、读者类别、图书类别、出版社等。然后,通过标记责任、标记协作者和复审,定义类属性、操作和类之间关系。这里仅以“读者”类为例列出该类属性和操作,其他类属性可参阅附录D“图书管理系统软件设计规格阐明书”中4.2“数据表构造”,操作与“读者”类类似。“读者”类 私有属性 读者编号(借书证号码和顾客名与此同):文本读者姓名:文本读者类别编号:文本读者性别:文本出生日期:时间/日期读者状态:文本办证日期:时间/日期已借图书数量:数值证件名称:文本证件号
12、码:文本读者单位:文本联系地址:文本联系电话:文本EMAIL:文本顾客密码:文本办证操作员:文本备注:文本 公共操作永久写入读者信息永久读取读者信息新增读者删除读者修改读者信息获取读者信息查找读者信息返回借阅数量类之间关系如图7-36所示。借阅记录图书图书类别图书注销记录读者类别读者图7-36 “图书管理系统”类图 出版社10.*0.10.1*0.*1.*4.系统设计“图书管理系统”系统设计用包图描述,如图7-37所示。图书管理系统图7-37 “图书管理系统”包图查询与续借子系统借阅管理子系统信息管理子系统图书信息查询图书类别管理图书注销续借图书信息管理借书还书读者信息管理读者类别管理出版社信
13、息管理借阅状况查询5.对象设计对象设计重要有两个任务:一是对类属性和操作实现细节进行设计。如上面“读者”类属性“联系电话”有各种时,决定用一种链表或数组来存储,也也许需要增长属性和操作,如“读者”类中增长属性“相片”,操作增长“打印与发生过期告知书”,而后设计每一种操作算法。二是分别从人机交互、数据管理、任务管理和问题域方面考虑,以实现角度添加某些类,或优化类构造。如从数据管理方面,需要添加一种“永久数据”类作为需要永久保存数据类父类,承担读写数据库责任;从人机交互方面,需要添加一种“对话框”类(其父类是“窗口”类)来实现人机交互功能,则图7-36可改进为图7-38。 借阅记录图书图书类别图书
14、注销记录读者类别读者图7-38 “图书管理系统”设计后类图 出版社10.*0.10.1*0.*1.*对话框永久数据窗口6.动态建模必要时,可针对系统某一功能画出完毕此功能对象之间交互消息顺序图,如“借书”功能消息交互顺序如图7-39所示。图7-39 “借书”顺序图读者借阅记录图书1:获取读者信息7:获取图书信息对话框2:显示读者信息8:显示图书信息4:显示借阅记录3:查找某个读者借阅记录5:鉴定某个读者能否继续借阅6:提示能否继续借阅9:添加借阅记录10:显示借阅记录必要时,可针对系统某一类对象画出表达该对象在系统中状态变化过程,如“图书”对象状态变化如图7-40所示。归还借阅丢失或严重损坏增长一次借阅计数已外借Out=1Out=0可外借图7-40 “图书”对象状态图激活(取消注销)注销不外借7.物理建模借阅管理子系统信息管理子系统局域网服务器数据服务器互联网图7-41 “图书管理系统”布置图查询与续借子系统互联网服务器LANLAN图书馆PC终端读者PC终端LANLAN“图书管理系统”物理结点分布如图7-41所示。
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100