软件工程概论实验报告图书馆自动循环系统概要设计及详细设计_第1页
软件工程概论实验报告图书馆自动循环系统概要设计及详细设计_第2页
软件工程概论实验报告图书馆自动循环系统概要设计及详细设计_第3页
软件工程概论实验报告图书馆自动循环系统概要设计及详细设计_第4页
软件工程概论实验报告图书馆自动循环系统概要设计及详细设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软 件 工 程 概 论实验报告学 院 软件学院 年 级 2007级 班 级 五班 学 号 3007218129 姓 名 田玮 2010年 5月 1日软件工程概论上机实验报告 题目:图书馆自动循环系统概要设计及详细设计学院名称 软件学院 专 业 软件工程 学生姓名 田玮 学 号 3007218129 年 级 2007 级 班 级 五班 时 间 2010年 5月1日 目 录项目名称1结构化设计2详细设计3实验结论11 项目名称“图书馆自动循环系统概要设计及详细设计”。 考虑一个图书馆自动循环系统。每本书有一个条形码,每个借书者有一张借书卡,上面也有一个条形码。当借书者想借书时,图书管理员扫描该书和

2、借书卡上的条形码,并在计算机终端上输入c。类似地,还书时,图书管理员再次进行扫描,并输入r。图书管理员可以向书库中增加图书(+)或去掉图书(-)。借书者可以在一台终端上确定书库中特定作者的所有书籍(借书者输入a=之后,再输入作者的名字)、特定标题的所有书籍(输入t=之后,再输入标题)或者特定主题范围的所有书籍(输入s=之后,再输入主题范围)。最后,如果借书者想要一本目前已借出的书,图书管理员可以在该书上做个标记,当该书被归还时,将为申请过它的借书者保留起来(输入h=之后,再输入该书的书号)。11结构化设计采用事务分析的技术,从借书者和图书管理员的角度来进行设计。设计图书馆自动循环系统时,将其分

3、成两个部分:分析器和分配器。inputoperation_analysisborrowreturnapply_the_bookadddeletecheck_borrow_book_inforecord_borrow_orderprint_message_on_screencheck_return_book_infocomplete_borrow_ordercheck_order_book_inforecord_apply_ordersearchauthor_searchtitle_searchsubject_searchprint_result_tablebook_identification

4、book_identificationborrower_nameborrower_numberborrower_numberbook_identification“h”order_book_identificationa=t=s=temp_tabletemp_tabletemp_table“+”“-”orderaudit_informationaudit_informationaudit_informationaudit_informationaudit_informationaudit_information图1-1 图书馆自动循环系统的事物处理分析图详细设计详细设计也称过程设计,是程序设计

5、的蓝图。该设计是在数据设计、体系结构设计和接口设计完成之后进行的。过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程尽可能的简明易懂。结构化程序设计是实现上述目标的关键技术,因此是过程设计的逻辑基础。过程设计的结果基本上决定了最终程序设计的质量。将程序体系结构元素变换为对软件构件的过程描述。该实验主要是利用过程设计工具进行程序设计。由于时间限制,要求由一个小组而不是由单个程序员负责编写所有模块的代码。由于这个原因,必须给出每个模块的详细设计,使得不用参考其他模块就可以理解每个模块。表2-1 borrow模块的详细设计模块名称borrow模块类型函数返回类型bool

6、ean输入参数book_identification输出参数无错误消息无文件存取library_book_data文件修改无模块调用无描述通过管理员扫描条形码获得的book_identification,然后在数据库library_book_data表中查找相应的book_identification,找到后,读取其book_status一项,如果为2,表示书在库中,返回true;如果为1或0,表示已下架或已借出,返回false。表2-2 check_borrow_book_info模块的详细设计模块名称check_borrow_book_info模块类型函数返回类型boolean输入参数bo

7、rrower_numberbook_identification输出参数无错误消息“该书已被预定,不能借阅”文件存取booked_order_data文件修改可能做删除操作模块调用无描述管理员请借书者刷借书卡,以获得borrower_number。根据当前的book_identification值,在数据库的booked_order_data中查找ordered_book_identification值是否有与之相同的,如果没有,则结束过程,返回true。如果有相同项,则继续查看相同项中的booker_number值,与当前borrower_number值是否相同,如果相同,则表示订阅者与借阅

8、者是同一人,则将booked_order_data中这一项删除,然后结束过程,返回true。如果预订者与借阅者不同,则结束过程,弹出错误消息,返回false。表2-3 record_borrow_order模块的详细设计模块名称record_borrow_order模块类型函数返回类型boolean输入参数book_identificationborrower_numberborrower_nameborrow_date输出参数borrow_order错误消息无文件存取borrowed_order_data文件修改添加项模块调用generate_identification描述将输入的book

9、_identification, borrower_number, borrower_name, borrow_date整合成borrow_order添加到borrowed_order_data表中,由过程generate_identification生成一个借阅编码,也添加到这一项中,操作完成后,返回true,否则返回false。表2-4 generate _identification模块的详细设计模块名称generate _identification模块类型函数返回类型long输入参数无输出参数borrow_identification错误消息无文件存取无文件修改无模块调用无描述按照一

10、定顺序生成一个无重复的12位整数,后两位为校验码,作为借阅编码,生成完毕后,将所生成的borrow_identification值返回。表2-5 return模块的详细设计模块名称return模块类型函数返回类型boolean输入参数book_identification输出参数无错误消息无文件存取library_book_data文件修改无模块调用无描述通过管理员扫描条形码获得的book_identification,然后在数据库library_book_data表中查找相应的book_identification,找到后,读取其book_status一项,如果为1,表示已借出,返回true

11、;如果为2或0,表示已下架或在库中,返回false。表2-6 check_return_book_info模块的详细设计模块名称check_return_book_info模块类型函数返回类型boolean输入参数book_identification输出参数无错误消息无文件存取ordered_book_data文件修改修改book_status项模块调用无描述在ordered_book_data表中寻找是否有ordered_book_identification项与当前book_identification相同的,如果没有,过程结束,返回true。如果有,将表中这一项中的book_statu

12、s值修改为2,表示归还到库中,过程结束,返回true,否则返回false。表2-7 complete_borrow_order模块的详细设计模块名称complete_borrow_order模块类型函数返回类型boolean输入参数book_identificationborrower_numberreturn_date输出参数无错误消息无文件存取borrowed_order_data文件修改添加值模块调用描述通过book_identification和borrower_number寻找borrowed_order_data表中的相应项,根据输入的return_date,修改其中的return

13、_date值,过程结束返回true,否则返回false。表2-8 apply_the_book模块的详细设计模块名称apply_the_book模块类型函数返回类型boolean输入参数字符“h”输出参数无错误消息无文件存取无文件修改无模块调用无描述预订者输入“h”后,屏幕上显示出请求预订者输入个人信息的对话框,生成完毕后过程结束返回true,否则返回false。表2-9 check_order_book_info模块的详细设计模块名称check_order_book_info模块类型函数返回类型boolean输入参数ordered_book_identification输出参数无错误消息“已

14、经有人预定了这本书,无法再预定!”文件存取ordered_book_data文件修改无模块调用无描述检查ordered_book_data中是否有ordered_book_identification值与当前要订阅书的ordered_book_identification值相同的项,如果有,则弹出错误消息,返回false,如果没有,则过程结束,返回true。表2-10 record_apply_order模块的详细设计模块名称record_apply_order模块类型函数返回类型boolean输入参数ordered_book_identificationbooker_numberbooker

15、_name输出参数无错误消息无文件存取ordered_book_data文件修改添加项模块调用generate_identification描述根据预订者输入的个人信息:booker_number, booker_name以及ordered_book_identification,在ordered_book_data中建立新的项,调用generate_identification生成一个预定编码,过程结束后,返回true,否则返回false。表2-11 author_search模块的详细设计模块名称author_search模块类型函数返回类型stack输入参数book_author输出参数

16、author_stack错误消息无文件存取library_book_data文件修改无模块调用print_result_table描述根据借书者输入的book_author,在library_book_data表中进行查找,每查到book_author与之相同的一项,则将其book_idenfication添加到author_stack栈中,直至查询结束,调用print_result_table,返回true。否则返回false。表2-12 title_search模块的详细设计模块名称title _search模块类型函数返回类型stack输入参数book_title输出参数title_st

17、ack错误消息无文件存取library_book_data文件修改无模块调用print_result_table描述根据借书者输入的book_title,在library_book_data表中进行查找,每查到book_title与之相同的一项,则将其book_idenfication添加到title _stack栈中,直至查询结束,调用print_result_table,返回true。否则返回false。表2-13 subject_search模块的详细设计模块名称subject_search模块类型函数返回类型stack输入参数book_subject输出参数subject_stack错

18、误消息无文件存取library_book_data文件修改无模块调用print_result_table描述根据借书者输入的book_subject,在library_book_data表中进行查找,每查到book_subject中包含相同关键字的一项,则将其book_idenfication添加到title _stack栈中,直至查询结束,调用print_result_table,返回true。否则返回false。表2-14 print_result_table模块的详细设计模块名称print_result_table模块类型函数返回类型boolean输入参数stack输出参数无错误消息“没

19、有找到相应的内容!”文件存取library_book_data文件修改无模块调用无描述读取stack中的内容,如果stack为空,弹出错误消息,返回false。如果不为空,根据stack中读取到的book_identification值,在library_book_data查找,没找到一项,就将其book_identification,book_author,book_subject,book_title,book_destination,book_status以表格形式显示在屏幕上,完成后返回true。否则返回false。表2-15 add模块的详细设计模块名称add模块类型函数返回类型bo

20、olean输入参数+book_authorbook_titlebook_subjectbook_destination输出参数无错误消息无文件存取library_book_data文件修改添加项模块调用无描述图书管理员输入“+”后,弹出添加书目的对话框,请求管理员输入实际信息如:book_author,book_title,book_subject和book_destination,根据这些信息在library_book_data中建立新的项,调用generate_identification生成新的条形码,完成后返回true,否则返回false。表2-16 delete模块的详细设计模块名称delete模块类型函数返回类型boolean输入参数-输出参数无错误消息无文件存取library_book_data文件修改添加项模块调用无描述图书管理员输入“-”后,列出library_book_data表,请求管理员选择要删除的项,管理员可以通过book_author,book_title,book_subject和book_destination进行查找,管理员选择后删除掉这一项的所有信息,完成后返回true,否则返回false。表2-17 operation_analysis模块的详细设计模块名称oper

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论