图书管理系统课程设计_第1页
图书管理系统课程设计_第2页
图书管理系统课程设计_第3页
图书管理系统课程设计_第4页
图书管理系统课程设计_第5页
免费预览已结束,剩余43页可下载查看

下载本文档

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

文档简介

软件工程导论实验报告一、 实验题目:学生成绩管理系统、 图书借阅管理系统、 工资管理系统、 网络订餐系统、 招聘考试成绩管理系统精品资料二、实验目标通过独立完成项目开发, 加深对软件开发分析过程的流程和方法的理解, 建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。实验一实验要求:. 在实验题目列出的几个系统中选择一个作为自己要开发的软件系统, 要求该系统有明确的功能需求,并建立系统的分析模型。. 对系统进行需求分析,掌握er 图、dfd 、dd 的设计与编写. 熟悉visio 环境和基本操作, 制作一个简单的系统流程图和数据流图、 主要数据项的数据字典描述及主要加工的逻辑说明 (自己选择结构语言、 判定树、判定表等)。.撰写需求分析规格说明书用户需求分析作为图书管理系统,其主要的需求人员是借阅者,借阅者对其的要求可以大体概括如下:1) 能按各种方式,比如书名、编号、作者等查询图书馆的藏书情况;2) 能熟悉使用图书管理系统;3) 能方便地借阅图书、续借图书、归还图书;精品资料4) 能查询自己的基本资料、借阅图书情况;5) 能方便图书管理员对图书的录入登记、注销;6) 能方便对新生的登记或注销已经毕业学生的信息;7) 能及时发布一些学院学生借阅图书超期情况、馆内藏书情况等。功能说明1) 、读者管理系统(1) )未注册者可以进入注册系统进行注册;(2) )已注册借阅者可按姓名、编号或身份证号登陆进入借阅者检索系统查询借阅者情况;(3) )已注册借阅者可按书名、出版社或作者对图书信息进行检索查询或提出预约请求;2) 、图书管理员管理系统(1) )图书管理员通过图书管理员身份认证进入图书管理员管理系统;(2) )读者可借阅在库图书;(3) )在规定期限内借阅者归还借阅图书;(4) )读者在不违规情况下可继续借阅已借阅图书;(5) )读者可以预约图书。 3)、系统管理员管理系统(1) )系统管理员通过系统管理员身份认证进入系统管理员管理系统;(2) )系统管理员可以对图书进行图书管理(如:查询、删除、修改图书精品资料资料或图书分类查询修改、删除管理) ;(3) )系统管理员可以对借阅者进行学生管理(如:查询、删除、修改借阅者信息或借阅者类别修改、 删除管理, 查询浏览借阅者详细资料, 包括借阅次数,登陆次数,最后登陆时间);4) 、罚款管理系统(1) 罚款管理员通过罚款管理员身份认证进入罚款管理系统;(2) 罚款处理可以读取借阅信息表再生成超时罚款信息表,通过超时罚款信息表可以生成罚款单给罚款管理员;(3) 图书管理员告知罚款系统图书超时未还,经罚款管理员鉴定后, 对图书进行注销处理且罚款管理员对借阅者进行罚款处理。dfd顶层流程图精品资料无效借阅者信息图书检索请求管理员身份认证信息图书检索结果注册 / 登陆申请管理员错误检验图书管理系统注册 / 登陆结果读者借阅者信息图书超时信息还书 / 借阅结果精品资料er模型图精品资料读者编号所借图书的信息借的图书的数目有无被借标记读者姓名读者书名图书图书编号借书日期删除记录标记删除标记借书还书图书出库入库图书管理系统管理员读者信息操作管理员信息图书信息姓名编号程序流程图精品资料开始n管理员登陆用户登陆n登陆成功登陆成功结束yn图书管理读者管理借书n还书n预约y输入要查询的书籍编号或者作者名查看图书?n增加图书?y查询读者y输入读者编号n增加读者y低于五本y借书成功y还书成功nny图书存在y预约成功图书存在n增加图书nyy操作错误y删除图书读者存在增加读者删除读者返回图书信息ny输入要删除的图书yn返回读者信息读者存在y操作错误超时删除读者nn操作错误图书存在yn删除图书y开罚单n结束数据字典图书管理系统数据流图中, 数据信息和处理过程需要通过数据字典才能描述清楚。在定义的图书管理系统数据字典中,主要对数据流图中的数据项、 数据流、数据存储和处理过程进行说明。(1) 数据项描述1) 数据项名称:借书证号含义说明:惟一标识一个借书证类型:字符型长度: 50逻辑关系:不允许为空2) 数据项名称:用户名含义说明:读者的名称类型:字符型长度: 20逻辑关系:不允许为空3) 数据项名称:密码含义说明:对用户名和操作员管理员进行加密类型;字符型长度: 10逻辑关系:允许为空4) 数据项名称:性别类型:字符型精品资料长度: 10逻辑关系:允许为空5) 数据项名称:所在系别类型;字符型长度: 10逻辑关系:允许为空6) 数据项名称:所在班级类型:字符型长度: 10逻辑关系:允许为空7) 数据项名称:操作员名称类型:字符型长度: 30逻辑关系:不允许为空8) 数据项名称:操作员简称含义说明:惟一标识一个操作员类型:字符型长度: 10逻辑关系:不允许为空9) 数据项名称:操作员级别含义说明:对操作员和管理员进行区分类型:字符型精品资料长度: 10逻辑关系:不允许为空10) 数据项名称:图书编号含义说明:惟一标识一个图书类型:字符型长度: 10逻辑关系:不允许为空11) 数据项名称:图书名称类型:字符型长度: 50逻辑关系:不允许为空12) 数据项名称:作者类型:字符型长度: 50逻辑关系:不允许为空13) 数据项名称:作者类型:字符型长度: 50逻辑关系:不允许为空14) 数据项名称:作者类型:字符型长度: 50精品资料逻辑关系:不允许为空15) 数据项名称:出版社类型:字符型长度: 50逻辑关系:不允许为空16) 数据项名称:出版时间类型:日期时间型长度: 8逻辑关系:不允许为空17) 数据项名称:价格类型:整型长度: 4逻辑关系:不允许为空18) 数据项名称:备注类型:字符型长度: 200逻辑关系:允许为空19) 数据项名称:借书日期类型:日期时间长度: 8逻辑关系:不允许为空20) 数据项名称:还书日期精品资料类型:日期时间长度: 8逻辑关系:不允许为空(2) 数据结构描述1) 数据流名称:用户情况含义说明:定义了一个读者的有关信息组成结构: 用户情况 =用户名+借书证号 +密码+性别+所在系别 +所在班级2) 数据流名称:操作员情况含义说明:定义了一个操作员的有关信息组成结构 :操作员情况 =操作员名称 +操作员简称 +操作员级别 +操作员密码3) 数据流名称:图书情况含义说明:定义了一个图书的有关信息组成结构:图书情况 =图书编号 +图书名称 +作者+出版社+出版时间 +价格+备注(3) 数据流(非数据项)说明1)数据流名称:借书单含义:读者借书时要填写的单据来源:读者精品资料去向:审核借书数据流量: 250 份/天组成:借书单 =借书证号 +图书编号 +借书日期2)数据流名称:还书单含义:读者还书时要填写的单据来源:读者去向:审核还书数据流量: 250 份/天组成:还书单 =图书编号 +还书日期(4) 数据存储说明1)数据存储名称:图书数据表含义说明:存放图书的有关信息组成结构:图书编号+图书名称 +作者+出版社 +出版时间 +价格+备注说明;书号具有惟一性和非空性2) 数据存储名称:用户信息表含义说明:存放读者的注册信息组成结构:用户名 +借书证号 +密码+性别+所在系别 +所在班级说明:证号具有惟一性和非空性,性别只能是男和女3) 数据存储名称:借书记录含义说明:存放读者的借书,还书信息精品资料组成结构:借书证号 +图书编号 +借书日期 +还书日期说明:要求能够立即查询(5) 处理过程说明1) 处理过程名称:图书管理输入:图书情况,输出:图书记录处理说明:对馆内所有图书按图书编号进行管理,将图书数据数据化,存储图书数据表中。2) 处理过程名称:读者管理输入:读者情况, 输出:读者记录处理说明:建立读者信息表,对读者进行统一编号,实现读者记录表的增删改维护功能。3) 处理过程名称:查看数目输入:借书请求,读者, 输出:借书记录,图书信息处理说明:实现根据图书编号等查询图书。4) 处理过程名称:借书处理输入:图书情况,读者,借书记录输出:借书记录处理说明:确认读者符合借书条件,办理借书手续。精品资料5) 处理过程名称:还书处理输入:图书情况,输出:借书记录处理说明:对照相应的图书编号可办理还书手续。6) 处理过程名称:安全管理输入:操作员情况,用户情况输出:操作员级别,操作员记录,用户记录处理说明:通过用户名和口令,确认用户身份,保证系统的安全型。实验2实验内容:采用面向数据流的设计方法设计系统软件结构,使用visio 画出软件层次图。(2学时)实验要求: 学习总体设计的基本方法;精品资料 掌握面向数据流的设计方法; 通过对实验(一)中 dfd 图的分析,使用 visio 画出软件层次图。编写出初步的系统设计报告实验结果:顶层数据流图:用户输入数据图书馆管理系统输出数据显示器当前日期系统时钟第 0 层图:精品资料图书馆管理人员 用户名和密码1输入管理请求数据2显示显示器登陆信息验证处理管理请求数据密码错误信息当前日期系统时钟管理员表当前日期用户输入查询信息3处理查询请求数据查询结果第一层图:( 1 ):登陆子系统图书馆管理人员用户名和密码登陆错误信息1.1密码验证用户名1.2验证权限权限1.3显示器显示管理员表显示可用的控件和界面(2) ):管理子系统图书馆管理人员输入购入新书数据2.1处理新书购入非法信息图书目录文件入库单退货单输入图书字段和学生字段罚款单输入图书字段2.2处理学生借书接受借书罚款单非法信息当前日期学生文件借书文件输入注销图书字段2.3处理学生还书当前日期欠款金额信息非法信息显示器还书成功当前日期罚款单图书目录文件非法信息2.4图书注销注销成功当前日期系统时钟(3) )查询子系统图书馆管理人|员学生输入学生查询关键字3.1学生信息查询学生信息学生文件借书文件显示器输入图书查询关键字图书目录文件3.2图书信息查询图书信息第二层图:( 1):处理新书购入精品资料入库单出版社档案文件图书馆管理人员(采购员)2.1.1输入购入新书数据查找数据库,确认信息非法输入数据退货单添加操作显示器管理员表2.1.2操作验证非法操作输入添加信息显示结果系统时钟当前日期2.1.3保存添加记录图书目录文件(2) )处理学生借书精品资料罚款单学生文件非法学生信息图书馆管理人员输入学生字段2.2.1检查学生欠费情况欠款超额,拒绝借书显示器接受借书,输入图书信息借书成功系统时钟当前日期2.2.2更新数据库借书文件(3) ):处理学生还书.2图书馆管理人员输入图书字段根据图书字段借查书找信息和学生信息欠款金额显示器数据库计算欠款结果借书文件还书成功当前日期系统时钟学生文件图书目录文件罚款单(4) ):处理图书注销2.4.1图书馆管理人输员入注销图书根字据段图书字段,修查改操作找数据库2.4.2操作验证非法操作输入修改信息图书目录文件系统时钟当前日期(5) )处理学生信息查询2.4.3保存修改记录注销成功显示器图书馆管理人| 学生3.1.1员 输入查找字段确定查询类型及字查找字段,关键字段3.1.2查找数据库查询结果显示器学生文件借书文件( 6 )处理图书信息查询图书馆管理人| 员 输入查询关键字确定查询类型及字查询字段及关键字3.2.1学生3.2.2查找数据库查询结果显示器段借书文件图书目录文件实验三完成实验(二) 中的两到三个主要功能模块的详细设计;编写部分代码(2学时) 要求: 学习详细设计的基本方法; 掌握详细设计图形工具的使用方法; 给出主要功能模块的算法 选择程序设计语言编写主要功能模块代码图书基本信息录入模块首先输入图书录入的编号(不为0)判断是否有重复的编号,若有,则提示用户该书已存在,若无则继续录入书名、作者、出版社、单价。精品资料void putin()/*定义录入函数*/int y=1; system(cls); while(y)printf(t请输入您的书籍的书号:); scanf(%s,library.booklibrary.count.number);printf(t请输入书名 :);精品资料scanf(%s,); printf(t请输入作者名:); scanf(%s,library.booklibrary.count.author);printf(t请输入出版社:); scanf(%s,library.booklibrary.count.publish);printf(t请输入出版时间:); scanf(%s,library.booklibrary.count.time);printf(t请输入该书的价格:); fflush(stdin); scanf(%f,&library.booklibrary.count.price);library.count+;printf(n是否继续录入 (1. 继续 ;0, 退出录入 ):); fflush(stdin);scanf(%d,&y); if (y!=1)y=0;break;save();精品资料图书基本信息查询模块用户先选择图书查询方式 (按书名查找或按书号查找) 输入图书书名或书号后,查找出该图书是否存在,若存在,则显示该图书信息,若不存在则提示用户 无此图书信息。精品资料void search_by_author()/* 定义按作者名查询*/char s320; int flag=1;printf( 请输入要查询的书的作者: );fflush(stdin); scanf(%s,s3);printf( 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 t 图书价格 n); for(int i=0;ilibrary.count;i+ )if(strcmp(s3,library.booki.author)=0)flag=0;printf(%st%st%st%st%st%6.2fn,library.booki.number,,libra ry.booki.author,library.booki.publish,library.booki.time,library.booki.price);if (flag)printf(cannot found!);fflush(stdin); getchar();精品资料图书基本信息修改模块用户输入要修改的书名,判断该书是否存在,若不存在,则提示用户无此图书信息;若存在,则提示用户选择修改项目, 然后提示用户图书信息修改完成。void modify()/修改图书信息char number10;system(cls);/* 清屏 */printf(nplease type in the number of the book you want to delete:); fflush(stdin);scanf(%s,number);int i;精品资料for (i=0;ilibrary.count;i+)if(strcmp(number,library.booki.number)=0)printf( 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 t 图书价格 n);printf(%st%st%st%st%st%6.2fn,library.booki.number,,library.b ooki.author,library.booki.publish,library.booki.time,library.booki.price);break;if (i!=library.count)mbook book;printf(ntt请输入修改后此图书的信息n); printf(t请输入图书号:); scanf(%s,book.number);printf(t请输入图书名:); scanf(%s,); printf(t请输入作者名:); scanf(%s,book.author); printf(t请输入出版社:);精品资料scanf(%s,book.publish); printf(t请输入出版时间:); scanf(%s,book.time);printf(t请输入该书的价格:); fflush(stdin);scanf(%f,&book.price);strcpy(,); strcpy(library.booki.number,book.number); strcpy(library.booki.publish,book.publish); strcpy(library.booki.author,book.author); strcpy(library.booki.time,book.time); library.booki.price=book.price;save();elseprintf(n cannot found!n); fflush(stdin);getchar();精品资料实验4对所选系统完成系统测试(2学时) 实验要求: 学习软件测试的基本方法; 结合实验(三)中的算法,用白盒法中的逻辑覆盖测试技术,设计测试用例; 选择实验(三)中给出代码的模块进行黑盒测试。单元测试:采用白盒测试法针对用户还书、预约、借书、查询等功能模块进行测试(1) )对于还书功能模块,模块的程序流程图如下:精品资料用户登陆输入要还书的编号retno0retno 存在10borday90预期输出:接受违约惩罚3、测试路径: 0-1-2-3输入条件: retno存在, borday=90预期输出:成功还书精品资料(2) )对于预约功能模块,模块的程序流程图如下:登陆tborday90预期输出:接受违约处罚2、测试路径: 0-1-2-7输入条件: borday=90 ,borno不存在预期输出: 不存在该图书3、测试路径: 0-1-2-3-8输入条件: borday=90 ,borno 存在, onself 不存在预期输出:图书已借出4、测试路径:0-1-2-3-4-5输入条件:borday=90 ,borno 存在,onself 存在预期输出:预约成功(3) )对于借书功能模块,模块的程序流程图如下:登陆borday=900yborno90预期输出:接受违约惩罚2、测试路径: 0-1-8输入条件: borday5预期输出:超出所借数目的最大3、测试路径: 0-1-2-3-9输入条件:borday5,bookno 不存在预期输出:所借图书编号不存在4、测试路径: 0-1-2-3-4-10输入条件: borday5onshelf 不存在 预期输出:书不在架,bookno存在,5、测试路径: 0-1-2-3-4-5-6输入条件: borday5,bookno存在,onshelf 存在 预期输出:借书成功(4) )对于查询功能模块,模块的程序流程图如下:精品资料登陆输入要检索的图 书编号 bookno01bookno存在?y2n输出图书的信息46yonshelf ?n3结束5流程图中判定节点为2,环形复杂度为: 2+1=3采用路径覆盖测试法,测试用例如下:1、测试路径: 0-1-6输入条件: bookno不存在预期输出:要查找的图书不存在2、测试路径: 0-1-2-3输入条件: bookno存在, onself=1预期输出:要查找的图书已被借走3、测试路径: 0-1-2-4-5输入条件: bookno 存在, onself=0预期输出:返回查找图书信息2.)确认测试:采用黑盒测试法测试精品资料确认测试,主要是为了检测接口功能应对的各种非预期性输入时系统的可靠性和容错性等性能。本小型图书管理系统将对用户和管理员与图书管理系统之间的交互接口进行测试, 所以测试的主要内容有2 个:图书管理系统和管理员接口,图书管理系统和读者接口。( 1)读者与图书管理系统之间的接口读者登陆图书管理系统, 应受到系统如下的约束: 用户名需要以字母开头, 后面是数字和字母组合,不能超过最大长度为10 ,密码长度不超过6有效等价类的测试用例:测试编号输入条件预期输出覆盖等价类开头余 下 字个数符t1add32328add32321、2、333无效等价划分了等价类,情况如下所示:输入条件有效等价类编号无效等价类编号用户名开头字母( a-z)1非字母4余下字符数字和字母组2非数字和字母5字符数合小于 103大于 106类的测试用例:测试编号开头输入条件余 下 字个数符预期输出覆盖等价类t12dd323283输入错误2、3、4t2a*?5输入错误1、3、5t3a12345611输入错误1、2、67899实验5面向对象方法建模( 2学时) 实验要求: 学习面向对象软件的设计方法; 掌握uml 建模语言的使用, rose 工具使用; 对前四个实验所建系统的用例图和类图。用例图1. 借阅者请求服务的用例图精品资料search for book reserve the booklogon the syetemquery infoborrowerborrow the bookreturn with finereturn the book用例图说明:(1) )serch for book:书籍查询用例。(2) )reserve the book:书籍预订用例。(3) )logon the system:登陆系统。(4) )query

温馨提示

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

评论

0/150

提交评论