《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH 用例名称:挂失借书证 参 与 者:借书证管理员、读者 综 述:用例起始于读者来到借书证管理办公室,管理员给读者办理借书证挂失。 前置条件:登录用户具备读者管理权限,且读者已经存在 过程描述: 1. 输入借书证号,或输入读者的类别、单位、姓名。 2. 点击“查询”。 3. 系统查询并显示读者信息。 4. 找到其借书证,且读者状态为有效。 5. 确认挂失。系统修改读者状态为挂失。 后置条件:系统记录读者信息。 业务规则:借书证挂失后禁止读者借书。 分析:修改读者概念,增加属性“借书证状态”;并修改办理借书证用例。 4. 解除挂失 用例名称:解除挂失 参 与 者:借书证管理员、读者 综 述:用例起始于读者来到借书证管理办公室,管理员给读者办理解除借书证挂失。 前置条件:登录用户具备读者管理权限,且读者已经存在 过程描述: 1. 输入借书证号,或输入读者的类别、单位、姓名。 2. 点击“查询”。 3. 系统查询并显示读者信息。 4. 找到其借书证。 5. 确认解除挂失。(前提:读者状态为挂失) 6. 系统修改读者状态为有效。 后置条件:系统记录读者信息。 5. 补办借书证
补办借书证过程:创建新借书证(复制原读者信息,但借书证需取新号,其它信息不变),并将原借书证的借阅记录转移到新证上,原借书证注销。
用例(略 自己完成) 6. 注销借书证
相关规则:有未归还图书者不能办理注销。 用例(略 自己完成) 7. 批量办理新生借书证*
从教务管理系统导入新生信息,系统生成借书证信息,管理员核实后办理借书证。 用例(略,思考:联机在线导入,离线导入) 8. 读者类型管理
从系统的功能完整性来看,还存在一个隐性的功能需求:读者类型管理,即读者类型信息的插、删、改、查等数据维护操作。
用例(略 要求自己完成) 5.2 图书管理
包括业务(用例):图书编目*、新书入库、图书信息维护、图书变卖与销毁处理*等。 图书信息=书号、书名、作者、出版社、出版日期、ISBN、分类号、语言、页数、单价、内
5 / 47
《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH
容简介、图书封面、图书状态等;(图书状态包括:在馆、借出、遗失、变卖、销毁) 1. 图书编目*
新书入库前,图书管理员对图书进行图书编目工作,即根据该馆的现有图书分类目录信息编写新书的分类号,需要时根据图书分类法增加新的图书分类条目。
图书信息= … 、分类号、…
图书分类目录=分类号、分类名。图书分类信息主要用于统计,如中文图书分类条目: -----------------------------------------------------------
分类号 TP TP3 TP31 TP311 TP312 TP311.13 TP311.131
分类名
自动化技术、计算机技术 计算技术、计算机技术 计算机软件
程序设计、软件工程 程序语言、算法语言 数据库理论与系统 数据库理论
新书分类号,如图书“C#高级编程(第7版)”可编为:TP312/3033.2 图书分类概念暂不考虑, 可留待以后开发周期处理。 用例名称:图书编目(略) 2. 新书入库 用例名称:新书入库 参 与 者:图书管理员 前置条件:登录用户具备图书管理身份和权限 过程描述: 1. 输入或系统生成起始书号(BkNO)。 2. 输入:图书信息(书名、作者、出版社、出版日期、语言、页数、单价、ISBN、分类号、内容简介等)、入库数量(N,N>=1)、入馆日期。 3. 确认图书入库。 4. 图书馆工作人员对图书进行贴书签(分类号)、印书号(或条形码)、盖图书馆印章。 5. 图书上架。 后置条件:创建N个图书对象,书号分别为BkNO、BkNO+1、…、BkNO+N-1,这N本图书的状态均修改为在馆;系统记录图书信息。 注 释:BkNO+N可作为下一次新书入库的起始书号。 思考:图书信息划分为2个概念是否更为合理?
馆藏图书目录=书名、作者、出版社、出版日期、ISBN、分类号、语言、页数、单价、内容简介、图书封面、入库数量、入馆日期
图书=书号、分类号、图书状态 3. 图书信息维护
图书信息的查、删、改等信息维护操作。
用例名称:图书信息维护(略 自己完成,提示:先查找,再删改) 4. 在馆图书变卖与销毁处理*
长期没有借阅记录且失去保存价值的图书可以进行变卖或销毁处理。 用例名称:在馆图书销毁和变卖处理(略)
6 / 47
《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH
5.3 借阅管理
包括业务用例:借书、续借、还书等。还书过程涉及超期罚款、遗失图书罚款等业务规则。 罚款规则:(1)超期罚款规则 应罚款金额=超期天数*罚款率,罚款率=0.05元/天,罚款率可能随时间或读者类别而变化;实际罚款金额<=应罚款金额,根据实际情况可以进行减免。(2)遗失罚款规则 遗失图书应罚款金额=3*图书单价;实际罚款金额在(1*图书单价,3*图书单价)之间。(3)遗失罚款规则优先于超期罚款规则。
借书记录=借书证号、书号、借书操作员、借书日期、应还日期
续借记录=借书证号、书号、续借操作员、续借日期、应还日期,续借次数
还书记录=借书证号、书号、还书操作员、还书日期、应还日期,超期天数、应罚款金额,实际罚款金额
分析:借书记录、续借记录、还书记录等信息可合并为借阅记录,续借可舍去部分信息。借阅历史记录应该长期保存在数据库中,以便于统计分析,另外,读者对一本书可能多次借阅,故借阅信息应该增加一个标识项:借书顺序号。
借阅信息=借书顺序号、借书证号、书号、借书操作员、借书日期、应还日期,续借次数、还书操作员、还书日期,超期天数、应罚款金额,实际罚款金额 1. 借书 用例名称:借书 参 与 者:借阅管理员、读者 综 述:用例起始于读者带着图书来到图书借阅大厅,管理员给读者办理借书手续。 前置条件:登录用户具备借阅管理权限。 过程描述: 1. 管理员输入借书证号,点击“查询读者”。 2. 系统查询读者信息、未归还图书信息(含超期),并进行显示。 3. 系统判断读者可否借书(借书证状态为有效,已借书数量小于可借书数量,不存在超期未归还图书)。若不可借书,则禁止借书。 4. 管理员输入待借图书的书号,点击“查询图书”。 5. 系统查询,并显示图书信息。 6. 系统判断图书是否在馆,若不在馆,则禁止借书。 7. 管理员点击“借书”。 8. 系统完成以下操作: 8.a 创建借阅记录对象(借书顺序号由系统自动产生,借书证号和书号为上述输入值,借书操作员=登录用户,借书日期=系统日期,应还日期=系统日期+可借书天数,续借次数=0,还书日期=NULL,还书操作员=NULL),并标记为未归还; 8.b 修改读者对象的已借书数量+1; 8.c 修改图书状态为借出; 后置条件:系统记录借阅对象、读者对象、图书对象。 业务规则:(1)借书证状态为挂失、注销者不能借书;(2)借书数量不能超过可借书数量;(3)有超期未归还图书者不能借书。 注 释:未归还图书状态可采用还书日期为空(NULL)来标记,或另加属性表示是否还书。 修改读者信息:增加“已借书数量”;修改用例办理借书证:后置条件中,已借书数量=0。 练习:修改用例以满足读者携带多本图书进行借书的要求。 2. 续借 用例名称:续借 参 与 者:借阅管理员、读者 7 / 47
《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH 前置条件:登录用户具备借阅管理权限、图书状态为借出 过程描述: 1. 输入待续借图书书号。 2. 系统查询并获取图书对象、未归还状态的借阅记录对象、及其读者对象,并进行显示。 3. 系统判断可否续借(续借次数<可续借次数, 读者状态为有效)。 4. 点击“续借”。 后置条件:修改借阅记录对象(续借次数+1,应还日期+=可借书天数),图书状态为借出,并保存到数据库中。 业务规则:(1)借书证状态为挂失、注销者不能续借;(2)续借次数不能超过可续借次数。 注 释:续借前后图书状态应为借出 3. 还书
还书用例需要处理超期罚款、遗失图书罚款处理2种情况。
用例名称:归还图书(略 要求自己完成,完成罚款处理者,教师可酌情加分) 5.4 用户登录与用户管理
包括用例:用户登录、密码修改、用户管理*,为本系统的基础和主要功能。
用户包括2类:读者、管理员。其中,管理员用户权限是4种角色的组合:借书证管理、图书管理、借阅管理、系统管理;系统管理员负责所有管理员用户及其权限的管理,借书证管理员负责读者管理(即借书证管理)。
管理员是读者,但读者不一定是管理员;读者与管理员间存在(1对0..1)联系。 读者信息+=密码。
管理员信息=用户号、用户名、密码、管理角色
管理角色设计:可采用4位二进制,借书证管理(0001)2=1、图书管理(0010)2=2、借阅管理(0100)2=4、系统管理(1000)2=8。如表示图书管理和借阅管理权限:2+4=6;判断7是否具备图书管理权限:7位与2,即(0111)2位与(0010)2=(0010)2,表示有此权限。
分析:将管理员信息合并到读者中,可简化概念,此时,非管理员的管理角色(0000)2=0。好处:简化用户登录用例;坏处:概念不够清晰,给用户管理带来不便。第1个迭代周期采用简化概念设计。另外也可用4个逻辑数据项分别表示4个管理角色。
读者信息+=密码、管理角色。需修改用例办理借书证(自己完成)。 1. 用户登录 用例名称:用户登录 参 与 者:读者或管理员 前置条件:无 过程描述: 1. 输入用户号(即借书证号)、密码;密码采用掩码“*”号显示。 2. 点击“登录”。 3. 系统根据借书证号获取读者对象。 3a. 未获取读者对象时,显示无此用户,转入1; 3b. 密码未匹配时,显示密码错误,并清空密码,转入1; 4. 进入系统主程序界面。 后置条件:根据登录用户权限显示或隐藏相应的系统功能(菜单等)。 待解决问题: 1. 挂失或注销借书证者不能登录。 注 释:该登录用户(读者)对象应为全局可见 8 / 47