图书管理系统面向对象分析与设计报告大学论文.doc
软件工程面向对象分析与设计目录1. 图书管理系统开发背景22. 图书管理系统设计 22.1任务目标 2 2.2 图书管理系统需求描述22.2.1 系统组成22.2.2 图书管理系统功能描述32.2.3 系统参与者 32.3 图书管理系统功能模型32.3.1 功能模型描述 32.3.2功能模型的 用例图 3 2.3.2.1读者借书等的用例图32.3.2.2图书馆管理员处理借书、还书等的用例图42.3.2.3系统管理员进行系统维护的用例图52.4 图书管理系统对象模型 72.4.1 对象模型描述 72.4.1.1读者Borrower类 72.4.1.2系统管理员Administrator类72.4.1.3图书管理员Librarian类72.4.1.4书目Title类72.4.1.5其他类 72.4.2 类图62.5 图书管理系统动态模型 9 2.5.1 图书管理系统动态模型92.5.2图书管理系统系列图 102.5.2.1系统管理员添加书籍的时序图102.5.2.2系统管理员添加借阅者帐户的时序图102.5.2.3系统管理员删书目的时序图112.5.2.4图书管理员处理书籍借阅的时序图112.5.2.5 读者查询籍息的时序图122.5.3图书管理系统活动图122.5.3.1借阅者的活动图122.5.3.2图书管理员的活动图142.5.3.3系统管理员维护借阅者帐户的活动图152.5.3.4系统管理员进行书目信息维护的活动图162.5.3.5系统管理员维护书籍信息的活动图17图书管理系统面向对象分析与设计报告1. 图书管理系统开发背景图书馆借书还书繁琐易混淆,开发这个系统有序的操作业务,达到准确有效的管理图书馆。2.图书管理系统设计 2.1任务目标 完成以下工作:(1) 借书、还书(2) 在图书馆中增加/删除一本书(3) 按作者名或专业领域检索一本书(4) 找出被某位读者借出的一批书(5) 找出最近借走某本书的读者2.2 图书管理系统需求描述 2.2.1 系统组成图书管理系统由一下几个系统构成:1. 系统管理员管理系统2. 图书管理员管理系统3. 读者系统详细分配如下图:2.2.2 图书管理系统功能描述1:读者可以通过网络查询书籍信息和预定书籍。读者能够借阅书籍和还书。图书管理员能够处理借阅者的借阅和还书请求。系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。 2.2.3 系统参与者图书管理员,借阅者,系统管理员.三者间的关系如下图:其中,读者是多个,图书管理员是几个,系统管理员是一个。读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。2.3 图书管理系统功能模型系统的参与者主要有三类:读者(也可称为借阅者)图书馆管理员图书馆管理系统维护者 2.3.1 功能模型描述1. 借阅者请求服务的用例图2. 图书馆管理员处理借书、还书等的用例图3. 系统管理员进行系统维护的用例图 2.3.2功能模型的 用例图 2.3.2.1读者借书等的用例图如下:其中,在读者进行预留图书和查询借阅信息之前,读者必须先登录系统;读者进行还书操作时,必须保证图书完整;2.3.2.2图书馆管理员处理借书、还书等的用例图2.3.2.3系统管理员进行系统维护的用例图如下:2.4 图书管理系统对象模型根据需求描述,提取出管理员,借阅者,图书等几个对象. 2.4.1 对象模型描述下面对这个几个对象进行具体陈述并建模:2.4.1.1读者Borrower类:读者在系统注册的信息包括一下几点:姓名(name),住址(address),城市(city),省/州(state),邮政编码(zip),可借数的最大数目(maxbook),借书期限(maxday),读者编号(userid),借书证号码(borrow_number);读者使用系统可进行的操作有:查询-find(),借书-borrow(),还书-return_back();2.4.1.2系统管理员Administrator类:系统管理员也可以借书,因此他能进行读者类所以的操作;系统管理员同时也是图书管理员,也可以进行图书管理员说做的一切操作;系统管理员有自己的特殊编号,用来登录系统,进行系统级操作.以区别图书管理员.2.4.1.3图书管理员Librarian类:图书管理员也要在系统内注册,注册信息如下:姓名(name),住址(address),城市(city),省(state);系统为每个管理员分配一个唯一编号workID.图书管理员登录系统后,可以进行以下操作:更新借书还书信息-update();增加预留-create();删除预留信息-destroy();2.4.1.4书目Title类:书目类代表图书,在系统中要保存每一本图书的资料,这些信息包括:书名(name),作者(author),书号(isbn),库存数量(total_number),借阅号(borrowed_number),是否可以借出(is_allowedForBorrow);在书类的操作有一些:查找书目-find();增加书目-create();删除书目-destroy();借书-borrow();还书-return_back();预留图书-reserve()2.4.1.5其他类:Item类:此类代表一个书目的一份拷贝Loan类:代表对超过还书期限的读书进行罚金的类Reserve类:预留图书类2.4.2 类图2.5 图书管理系统动态模型 2.5.1 动态模型2.5.2 系列图2.5.2.1 系统管理员添加书籍的时序图数据需求:书目信息每本书的拷贝的详细资料主流程描述:1. 系统管理员向系统提交新书资料(additem()2. 系统查询与此书相关的书目3. 系统返回查询结果4. 查到书目,则提交,添加此书目的拷贝2.5.2.2系统管理员添加借阅者帐户的时序图数据需求:读者详细资料主流程:1. 系统管理员填写新读者的信息2.提交信息,创建读者信息保存到数据文件2.5.2.3系统管理员删除书目的时序图 数据需求: 书目信息 主流程:1. 系统管理员向系统提交要删除的书目2. 系统查找此书目3. 系统查找此书目下的所有拷贝4. 系统删除此书目的所有拷贝5. 系统删除此书目2.5.2.4图书管理员处理书籍借阅的时序图2.5.2.5 借阅者查询书籍信息的时序图数据需求:要查询的图书名称2.5.3 活动图2.5.3.1借阅者的活动图2.5.3.2图书管理员的活动图图书管理员登录系统后,处理日常事务,比如处理读者还书,借书.在处理还书时,系统会计算读者的还书期限是否过期,如果过期,则要交一定的罚金,并且更新借阅信息.处理借书时,系统会验证此读者借书的数量是否超过了限制,如果超过最大可借书的数目时,拒绝继续借书.2.5.3.3系统管理员维护借阅者帐户的活动图系统管理员运行图书管理系统,在登录界面上输入口令后,系统对用户进行验证,只有通过系统验证后,才能进行管理.否则推出系统. 通过系统验证后,进入管理主界面,可以对借阅者进行管理.查看借阅者的相关信息,以保证借阅者信息的正确性;可以为读者注册资料,使其能通过系统借书;更新读者的资料.2.5.3.4系统管理员进行书目信息维护的活动图系统管理员运行图书管理系统,在登录界面上输入口令后,系统对用户进行验证,只有通过系统验证后,才能进行管理.否则推出系统.通过验证后,系统管理员可以对书目进行管理,购买了新书后,需要向系统增加新的书目信息;查询书目信息,对图书资料进行全局管理和监督;图书过时后,需要删除相关资料,保证数据的正确.2.5.3.5系统管理员维护书籍信息的活动图 系统管理员登录系统,输入口令,系统进行验证,验证通过后,才可以使用系统.否则系统拒绝.登录后,系统管理员可以对图书进行一些管理,比如增加图书,删除图书,操作完成后,推出系统.17