您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程师图书管理系统案例
引言:1.1编写目的:编写目的:确定图书管理系统的功能及有效性需求,以供软件开发人员参考。1.2项目背景:项目背景:本项目的名称:图书管理系统本项目的应用范围:中型图书室开发者:电信科学技术研究院研究生部用户:开发人员1.3定义:定义:LMS:LibraryManagementSystemTitle:记录图书馆内所有类图书的信息并可进行查询。Item:记录馆内每一本图书的状态,并提供查询、统计、打印功能。BorrowerInformation:记录读者信息并可进行查询。Loan:对图书的出借、归还、续借进行管理并可进行查询。Reservation:提供预约与取消预约功能。1.4参考资料:参考资料:《实用软件工程》(第二版)《软件工程——Java语言实现》《实践者的研究方法》郑人杰殷人昆陶永雷清华大学出版社机械工业出版社机械工业出版社StephenR.SchachRogerS.Pressman2.任务概述:任务概述:2.1目标:目标:该《图书管理系统》针对的用户是中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。相应的需求有:1能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:∗∗∗∗∗∗∗图书信息的录入、删除及修改。图书信息的多关键字检索查询。图书的出借、返还和资料统计。图书的远程预约和续借。馆际互借(通过电子邮件或现场录入)读者信息的登记、删除及修改。读者资料的统计与查询。2能够对一定数量的读者进行相应的信息存储与管理,这其中包括:3能够对需要的统计结果提供打印输出。4能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。2.2运行环境:运行环境:本系统采用C/S体系结构,由一台服务器与多个客户机组成,配置如下:服务器:硬件:80x86系列微机CPU:733以上内存:256M以上硬盘空间:40G以上软件:WindowsServer、Access等工作站:硬件:80x86系列微机CPU:166以上内存:16M以上硬盘空间:2G以上软件:Windows9x或Windows2000professional、Access等。输入输出设备:扫描仪、打印机等。网络设备:Hub、网卡、网线等。2.3需求概述:需求概述:通过计算机实现对图书馆图书入库、借阅、归还、检索、读者管理、查询的管理功能。2.4条件与限制:条件与限制:要求图书管理员会个般的计算机操作,会中文输入。要求用户界面有好,提供帮助。3.功能模型:.功能模型:3.1用例:用例:图书管理员检索借书者远程预约增加标题远程续借借出书目归还书目续借删除或更新标题增加书目删除或更新书目预约删除预约查询增加借书者维护删除或更新借书者图书管理员统计打印图1-1图书管理系统用例图••••借出书目(LendItem)返回书目(ReturnItem)预约(MakeReservation)删除预约(RemoveReservation)3•••••••••••••续借(ContinueLend)查询(Query)统计(Statistic)打印(Print)读者检索(BorrowerQuery)远程预约(RemoteReservation)远程续借(RemoteContinueLend)增加标题(AddTitle)更新或删除标题(UpdateorRemoveTitle)增加书目(AddItem)更新或删除书目(RemoveItem)增加读者(AddBorrower)更新或删除读者(UpdateorRemoveBorrower)3.2类模型:类模型:Item-id:int+findontitle()+findonid()+findonreservation()+query():void+Statistic():void+print():void1Title+ISBN:string(idl)1..*1+find()+query()10..*-Title-ReservationReservation-date:Date-find()0..*Loan-date:Date+query()BorrowerInformation0..*1-id:string(idl)+find()+query()0..*1-Reservation-BorrowerInformation图1-2类模型3.3:动态建模::动态建模:【借出书目】借出书目】(1)借书者没有预约:输入标题显示该标题下的书目输入借书者增加一条新的借书记录4:LendingWindow:TitleBorrowerInformation:Loan:Item图书管理员1:findtitle()2:find(String)3:finditem()4:findontitle(Title)5:identifyborrower()6:find(String)7:Add()图1-3借出书目的序列图(没有预约)(2)借书者已预约输入标题显示该标题下的书目输入借书者增加一条新的借书记录删除预约记录:LendingWindow:TitleBorrowerInformation:Loan:Item:Reservation图书管理员1:findtitle()2:find(String)3:finditem()4:findontitle(Title)5:identifyborrower()6:find(String)7:Add()8:Delete()图1-4借出书目的序列图(已预约)5【返还书目】返还书目】(1)没有超期:输入标题显示该标题下的书目输入书目输入借书者增加一条新的还书记录更新该书目的记录:LendingWindow:TitleBorrowerInformation:Loan:Item图书管理员1:findtitle()2:find(String)3:identifyborrower()4:find(String)5:finditem()6:find(Title,borrower)7:Add(String)8:Update()图1-5借出书目的序列图(未超期)(2)已超期或丢失输入标题显示该标题下的书目输入书目输入借书者计算罚款金额增加一条新的罚款记录增加一条新的还书记录更新该书目的记录【预约】预约】输入标题输入借书者增加一条新的预约记录【取消预约】取消预约】输入标题6输入借书者删除该预约记录(再借一次)【续借】续借】输入标题显示该标题下的书目输入书目输入读者增加一条新的还书记录增加一条新的借书记录【查询】查询】(1)书目查询:输入与书目相关的关键值显示符合条件的书目(2)读者信息查询输入与读者相关的关键值显示符合条件的读者信息(3)书目借出情况查询输入标题显示符合条件的借阅信息(4)读者借阅情况查询输入读者显示符合条件的借阅信息(图书状态统计)【统计】统计】输入统计条件显示统计结果【读者检索】读者检索】输入与标题相关的关键值提交显示该标题下符合条件的书目【远程预约】远程预约】输入标题输入借书者提交增加一条新的预约记录【远程续借】远程续借】7输入标题显示该标题下的书目输入书目输入读者提交增加一条新的还书记录增加一条新的借书记录【增加标题】增加标题】输入标题增加一条新的标题记录:TitleFrame:Title图书管理员1:TitleFrame()2:addButton_Clicked()3:findonISBN(String)4:AddTitle()图1-3增加标题的序列图【更新或删除标题】更新或删除标题】输入标题显示该标题记录更新或删除标题该记录【增加书目】增加书目】输入标题输入书目增加一条新的书目记录【更新或删除标题】更新或删除标题】输入标题显示该标题下的书目输入书目显示该书目记录8更新或删除该书目记录【增加读者】增加读者】输入读者增加一条新的读者记录【更新或删除读者】更新或删除读者】输入读者显示该读者记录更新或删除该读者记录3.4功能建模:功能建模:确定有效性标题标题书目增加更新删除标题增加更新删除书目确定有效性书目日期管理员增加更新删除读者确定有效性读者信息读者信息预约或取消预约预约借出返还续借Loan相关操作查询统计打印返回结果验证输入信息有效性并处理借出信息预约信息日期罚款信息归还信息9读者信息读者信息远程续借确定有效性借出信息读者信息借出信息日期日期读者信息读者远程预约确定有效性读者信息日期Item预约信息检索查询结果Title按要求检索预约信息图书信息5.数据对象模型:数据对象模型:数据对象模型5.1对象关联图(ERD)对象关联图():10图书分类出版社图书借阅等级图书管理员读者借阅等级图书续借信息标题图书流通信息书目读者信息图书预约信息图书罚款信息5.2对象规范说明:对象规范说明:对象规范说明5.2.1图书管理员信息:图书管理员信息:图书管理员信息目标:目标:建立管理员登录信息,提供安全机制。关联其他数据对象:关联其他数据对象:无属性说明:属性说明:PrimaryKeyForeignKeyUniqueKeyIndexKey属性名用户名密码级别描述5.2.2图书编目信息:图书编目信息:目标:目标:便于管理、查找、查询。关联其他数据对象:关联其他数据对象:图书编目属性说明:属性说明:用户名类型.长度2{字节}302{字节}302字节0{字节}50值域说明用户名无11PrimaryKeyForeignKeyUniqueKeyIndexKey属性名类别编码类别备注5.2.3标题:标题:类别无类别类别类型.长度2{字节}102{字节}100{字节}50值域说明目标:目标:建立图书标题库,便于图书的管理。关联其他数据对象:关联其他数据对象:图书分类、出版社、图书库存信息。属性说明:属性说明:PrimaryKeyForeignKeyUniqueKeyIndexKey属性名ISBN书名查询名称类别数出版日期定价作者出版社内容简介2{字节}302{字节}302{字节}302{字节}10年+月+日“0000.01”..“9999.99”2{字节}122{字节}102{字节}50书号类型.长度值域说明书号数据量预测说明:数据量预测说明:年数椐量2M5.2.4出版社:出版社:目标:目标:记录出版社信息。关联其他数据对象:关联其他数据对象:图书编目属性说明:属性说明:数据增长率1%极限数据量10M备注每年约增加图书2万本12PrimaryKeyForeignKeyUniqueKeyIndexKey属性名出版社编号出版社名称电话地址5.2.5图书借阅等级:图书借阅等级:目标:目标:用户名用户名类型.长度2{字节}42{字节}302{字节}102{字节}30值域说明将图书划分为不同级别,提供不同的借阅权限。关联其他数据对象:关联其他数据对象:图书库存信息属性说明:属性说明:PrimaryKeyForeignKeyUniqueKeyIndexKey属性名借阅等级借阅等级说明借阅天数超期罚款遗失赔率备注2{字节}42{字节}302{字节}2“0000.01”..“9999.99”“1.00”..”20”2{字节}30用户名类型.长度值域说明用户名5.2.6图书库存信息(书目)图书库存信息(书目):目标:目标:建立图书库存信息,便于图书的借阅、管理。关联其他数据对象:关联其他数据对象:图书编目、图书借出信息、图书归还信息属性说明:属性说明:PrimaryKeyForeignKeyUniqueKeyIndexKey属性名ISBNid借阅等级状态书号类型.长度2{字节}302{字节}102{字节}102{字节}2值域说明书号13数据量预测说明:数据量预测说明:年数椐量20M5.2.7读者借阅等级:读者借阅等级:目标:目标:将读者划分为不同级别,给予不同读者不同的借阅权限。关联其他数据对象:关联其他数据对象:读者信息、图书借出信息、图书归还信息、图书预约信息属性说明:属性说明:PrimaryKeyForeignKeyUniqueKeyIndexKe
本文标题:软件工程师图书管理系统案例
链接地址:https://www.777doc.com/doc-213198 .html