您好,欢迎访问三七文档
1文档编号:LMS_1版本号:V1.0文档名称:需求分析规格说明书项目名称:图书管理系统项目负责人:编写:年月日校对:审核:批准:开发单位:21.引言:1.1编写目的:确定图书管理系统的功能及有效性需求,以供软件开发人员参考。1.2项目背景:本项目的名称:图书管理系统本项目的应用范围:中型图书室开发者:电信科学技术研究院研究生部用户:开发人员1.3定义:LMS:LibraryManagementSystemTitle:记录图书馆内所有类图书的信息并可进行查询。Item:记录馆内每一本图书的状态,并提供查询、统计、打印功能。BorrowerInformation:记录读者信息并可进行查询。Loan:对图书的出借、归还、续借进行管理并可进行查询。Reservation:提供预约与取消预约功能。1.4参考资料:《实用软件工程》(第二版)郑人杰殷人昆陶永雷清华大学出版社《软件工程——Java语言实现》StephenR.Schach机械工业出版社《实践者的研究方法》RogerS.Pressman机械工业出版社2.任务概述:2.1目标:该《图书管理系统》针对的用户是中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。相应的需求有:1能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:图书信息的录入、删除及修改。图书信息的多关键字检索查询。图书的出借、返还和资料统计。图书的远程预约和续借。馆际互借(通过电子邮件或现场录入)2能够对一定数量的读者进行相应的信息存储与管理,这其中包括:读者信息的登记、删除及修改。读者资料的统计与查询。3能够对需要的统计结果提供打印输出。4能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。2.2运行环境:本系统采用C/S体系结构,由一台服务器与多个客户机组成,配置如下:服务器:硬件:80x86系列微机CPU:733以上内存:256M以上3硬盘空间: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)4续借(ContinueLend)查询(Query)统计(Statistic)打印(Print)读者检索(BorrowerQuery)远程预约(RemoteReservation)远程续借(RemoteContinueLend)增加标题(AddTitle)更新或删除标题(UpdateorRemoveTitle)增加书目(AddItem)更新或删除书目(RemoveItem)增加读者(AddBorrower)更新或删除读者(UpdateorRemoveBorrower)3.2类模型:+find()+query()+ISBN:string(idl)Title+findontitle()+findonid()+findonreservation()+query():void+Statistic():void+print():void-id:intItem+query()-date:DateLoan-find()-date:DateReservation+find()+query()-id:string(idl)BorrowerInformation0..*11..*1-Title1-Reservation0..*-Reservation0..*-BorrowerInformation110..*图1-2类模型3.3:动态建模:【借出书目】(1)借书者没有预约:输入标题显示该标题下的书目输入借书者增加一条新的借书记录5图书管理员:LendingWindow:TitleBorrowerInformation:Loan:Item1:findtitle()3:finditem()2:find(String)4:findontitle(Title)5:identifyborrower()6:find(String)7:Add()图1-3借出书目的序列图(没有预约)(2)借书者已预约输入标题显示该标题下的书目输入借书者增加一条新的借书记录删除预约记录图书管理员:LendingWindow:TitleBorrowerInformation:Loan:Item1:findtitle()3:finditem()2:find(String)4:findontitle(Title)5:identifyborrower()6:find(String)7:Add()图1-4借出书目的序列图(已预约):Reservation8:Delete()6【返还书目】(1)没有超期:输入标题显示该标题下的书目输入书目输入借书者增加一条新的还书记录更新该书目的记录图书管理员:LendingWindow:TitleBorrowerInformation:Loan:Item1:findtitle()3:identifyborrower()2:find(String)6:find(Title,borrower)5:finditem()4:find(String)7:Add(String)图1-5借出书目的序列图(未超期)8:Update()(2)已超期或丢失输入标题显示该标题下的书目输入书目输入借书者计算罚款金额增加一条新的罚款记录增加一条新的还书记录更新该书目的记录【预约】输入标题输入借书者增加一条新的预约记录【取消预约】输入标题7输入借书者删除该预约记录【续借】(再借一次)输入标题显示该标题下的书目输入书目输入读者增加一条新的还书记录增加一条新的借书记录【查询】(1)书目查询:输入与书目相关的关键值显示符合条件的书目(2)读者信息查询输入与读者相关的关键值显示符合条件的读者信息(3)书目借出情况查询输入标题显示符合条件的借阅信息(4)读者借阅情况查询输入读者显示符合条件的借阅信息【统计】(图书状态统计)输入统计条件显示统计结果【读者检索】输入与标题相关的关键值提交显示该标题下符合条件的书目【远程预约】输入标题输入借书者提交增加一条新的预约记录【远程续借】8输入标题显示该标题下的书目输入书目输入读者提交增加一条新的还书记录增加一条新的借书记录【增加标题】输入标题增加一条新的标题记录图书管理员:TitleFrame:Title1:TitleFrame()2:addButton_Clicked()3:findonISBN(String)4:AddTitle()图1-3增加标题的序列图【更新或删除标题】输入标题显示该标题记录更新或删除标题该记录【增加书目】输入标题输入书目增加一条新的书目记录【更新或删除标题】输入标题显示该标题下的书目输入书目显示该书目记录9更新或删除该书目记录【增加读者】输入读者增加一条新的读者记录【更新或删除读者】输入读者显示该读者记录更新或删除该读者记录3.4功能建模:管理员日期借出信息归还信息罚款信息确定有效性标题增加更新删除标题借出返还续借确定有效性读者信息返回结果增加更新删除读者相关操作验证输入信息有效性并处理日期Loan增加更新删除书目标题确定有效性书目书目读者信息预约预约或取消预约预约信息查询统计打印10读者日期Title读者信息确定有效性远程续借确定有效性读者信息按要求检索查询结果检索远程预约读者信息图书信息读者信息读者信息日期日期预约信息预约信息借出信息借出信息Item5.数据对象模型:5.1对象关联图(ERD):11图书借阅等级图书分类书目读者借阅等级读者信息图书流通信息图书预约信息图书罚款信息图书续借信息出版社图书管理员标题5.2对象规范说明:5.2.1图书管理员信息:目标:建立管理员登录信息,提供安全机制。关联其他数据对象:无属性说明:5.2.2图书编目信息:目标:便于管理、查找、查询。关联其他数据对象:图书编目属性说明:PrimaryKey用户名ForeignKey无UniqueKeyIndexKey用户名属性名类型.长度值域说明用户名2{字节}30密码2{字节}30级别2字节描述0{字节}50125.2.3标题:目标:建立图书标题库,便于图书的管理。关联其他数据对象:图书分类、出版社、图书库存信息。属性说明:数数据量预测说明:年数椐量数据增长率极限数据量备注2M1%10M每年约增加图书2万本5.2.4出版社:目标:记录出版社信息。关联其他数据对象:图书编目属性说明:PrimaryKey类别ForeignKey无UniqueKey类别IndexKey类别属性名类型.长度值域说明类别编码2{字节}10类别2{字节}10备注0{字节}50PrimaryKey书号ForeignKeyUniqueKeyIndexKey书号属性名类型.长度值域说明ISBN2{字节}30书名2{字节}30查询名称2{字节}30类别2{字节}10出版日期年+月+日定价“0000.01”..“9999.99”作者2{字节}12出版社2{字节}10内容简介2{字节}50135.2.5图书借阅等级:目标:将图书划分为不同级别,提供不同的借阅权限。关联其他数据对象:图书库存信息属性说明:5.2.6图书库存信息(书目):目标:建立图书库存信息,便于图书的借阅、管理。关联其他数据对象:图书编目、图书借出信息、图书归还信息属性说明:PrimaryKey用户名ForeignKeyUniqueKeyIndexKey用户名属性名类型.长度值域说明出版社编号2{字节}4出版社名称2{字节}30电话2{字节}10地址2{字节}30PrimaryKey用户名ForeignKeyUniqueKeyIndexKey用户名属性名类型.长度值域说明借阅等级2{字节}4借阅等级说明2{字节}30借阅天数2{字节}2超期罚款“0000.01”..“9999.99”遗失赔率“1.00”..”20”备注2{字节}30PrimaryKey书号ForeignKeyUniqueKeyIndexKey书号属性名类型.长度值域说明ISBN2{字节}30id2{字节}10借阅等级2{字节}10状态2{字节}214数据量预测说明:年数椐量数据增长率极限数据量备注20M1%100M每年约增加图书2万本5.2.7读者借阅等级:目标:将读者划分为不同级别,给予不同读者不同的借阅权限。关联其他数据对象:读者信息、图书借出信息、图书归还信息、图书预约信息属性说明:5.2.8读者信息:目标:记录读者信息。关联其他数据对象:读者借阅等级、图书借出信息、图书归还信息、图书预约信息属性说明:年数据量预测说明:PrimaryKey用户名ForeignKeyUniqueKeyIndexKey用户名属性名类型.长度值域说明借阅等级2{字节}2借阅等级说明2{字节}10最大借书数2{字节}2最长借书时间2{字节}2最大续借次数2{字节}2押金“0.00”..“400.00”租金“0.00”..“400.00”PrimaryKey证号ForeignKeyUniqueKeyIndexKey证号属性名类型.长度值域说明证号2{字节}15姓名2{字节}20性别2{字节}2借阅等
本文标题:软件工程案例
链接地址:https://www.777doc.com/doc-5201905 .html