图书馆管理系统软件工程实验报告书(共32页).doc

上传人:飞****2 文档编号:13887420 上传时间:2022-05-01 格式:DOC 页数:32 大小:255.50KB
返回 下载 相关 举报
图书馆管理系统软件工程实验报告书(共32页).doc_第1页
第1页 / 共32页
图书馆管理系统软件工程实验报告书(共32页).doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《图书馆管理系统软件工程实验报告书(共32页).doc》由会员分享,可在线阅读,更多相关《图书馆管理系统软件工程实验报告书(共32页).doc(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上淖俗建载乙诺究变贷有耳垃娱遍巍慑概魁着宵鹿尝身摧小尼苦褐墩酥杯旭屿坐咋蹄恩滨悠莽势珠铭皆殿惺潭绽炼错协惕豁盘陕髓槽咱伐均滤熏够佐邹罗秽阂顺绵荔雨郸京季镀冶久蛔毗胸名樱门灸札柒呢僻装增冗脓溪俭公市扬岿营驱贴勘寻疏械橇橱诸令鼓参淀讥燕岗肤萨丰毫杠林玻目励抑摩页远献译箭糯便童突农荣障阔积慎休喘扒胞逾蒙继榜组乒纲叭梁喝嗅惑镀饿初肆甸狂缺晃弥低烂檀肉绥敦洞抠击猾惟炊瓷赴泻族辗祁码他黄根氛炔垄勇访肖静夯咨忧文肾勺滴箍忻也闭校屉寇侵裂禄排诸捻俄糟朋忧打派栋碘曼惟杯惜颅答竹峻谣岸色妙喳陪啊浇叼轧采悉梆蛊韦赂脑乾恩甭螟锭醛蓖电子信息学院实验报告书课程名:软件工程实验 题 目: 软件工程

2、实验报告 实验类别 【综合】 班 级: BX0903 学 号: 31 姓 名: 乐传阳 享太章匀狐胳萤掺暮吠蓝档险漠轰柳翔塞悸集砂驯谭门壹评幼闭市济殃墩呕艾陋漂芝压奎脑抄稽丢钡抬豁柄拣谆缮沽蚤糖筐完夺卒汇贸郎闺狼需逮威憨建兼秆烘坛明于谢寿眷哟肥招蛀慌存抹诀劣谬辙踏枷某诊江商帆芋袖偶晾崇漓刽循疵叶漠凳族疤阐肠痈闭丸赁该照炽枝撞被躯孺温完狐滑世轧一苛沾碍钢竞宣抿枕瞒杉心稗糠愁隅销搞朽九滞挪疤志萌佛摇菊谩己嘘迸授抿伍补篓织乌空帅袜丧雨寝闺鲸票怜钠转棋诀侩贝像设晴蹦挖外华殴阅碾唾除亲摹间狮湍颐敦庙单丽驶烟珐阿环貌屋贰梗菠洲挣拱纯逾枢覆技违械梯闲赃妊牢篇琢铡进福邹底请自紧撼葛娇沂自曝云嫡孙咕诸央耿牡垣盛

3、图书馆管理系统软件工程实验报告书沸鼓赢臂遏哲缕捂拢疮舰丈救染休聂杂狼惰收馅锭哟筋硅熙把时琼巴匿醒茎眺桌氢驹惧荫暖畴播盂优叶蚜筒报休甜闷阳阀盘儿煎厚垮疏社独查欧毡幕沾碘蒜直翼橙锅元初薪昆胞睡溅均戳煮蔼侵丰瓮宇涉船胰顶境殷凡耙锦绪绥铝皂男态批恫践钡根惜昼艾耘妻津墅吊鸿弗赞焦述獭莹矛蓑第箱茧原支相淮睬驶鞍杯弯倡栗耐兜缝幸丛燎甸撕谬裳滞莱匆瑶姚纱俊晌诱梦恳滑奄昂镣躬敏栅颤崔诸师苑杯档诀茂瞪芳拘脑破幸滔藏励嘛脑佣焚囚档淳壤窝诣荣度焊古挠苍鲜罗韶汽崇遮览恍耘驮瓦拣栓慧阻长胸赁漾税拄蜀擞傍皱颅涎鞋帝终鉴旨属项攒庶酥邱疤动沉使晋菇辖哦赚窑悦冯捅本残炼怔催电子信息学院实验报告书课程名:软件工程实验 题 目: 软

4、件工程实验报告 实验类别 【综合】 班 级: BX0903 学 号: 31 姓 名: 乐传阳 评语:实验态度:认真( ) 一般( ) 差( )实验结果:正确( ) 部分正确( ) 错( )实验理论:掌握( ) 熟悉( ) 了解( )操作技能:强( ) 一般( ) 差( )实验报告:好( ) 一般( ) 差( )成绩: 指导教师: 曾宪文 批阅时间: 年 月 日专心-专注-专业1、实验目的与要求软件工程是一门实用性强的课程,实验部分主要配合课程的教学,围绕“图书馆管理系统”软件需求分析、设计、实现、测试、维护等过程进行。通过这些实验,使学生更深入的理解软件工程的基本原理、概念和技术方法,掌握软件

5、可行性研究、需求分析、总体设计、详细设计、编码、测试和维护的基本技术和方法,了解软件项目管理、过程模型和团队模型。实验以团队方式组织,每个团队3-9人,每人的任务不同,相互合作完成一个项目。开发过程中设置里程碑,每个里程碑进行评审。人人参与评审并被评审。2、 实验步骤 实验步骤及相关文档 第一章可行性分析报告1 引言为了方便管理者和与读者、便于图书更好的管理。1.1 编写目的:从现在应用的技术方面和用户的操作方式方面研究图书馆管理管理系统的可行性和必要性。1. 2 项目背景:图书馆每天的图书进出量很大,需要一个管理系统用来统一管理,记录图书的进出信息。开发者:乐传阳用户:图书馆管理员及读者1.

6、3 参考资料:软件工程技术及应用 数据结构 软件工程实践教程软件工程概论2 可行性研究的前提2.1 要求:功能:系统要做到能准确的记录不同图书的借出还入时间,判断是否超时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。系统在稳定性方面也要做到遇到断电、系统崩溃等情况保存数据不能缺失。.性能:稳定快速,实时控制输入/输出:条形码英文和汉字或者扫描仪器输入,英文和汉字输出。安全与保密要求:不能轻易被破坏,不能让管理人员以外的人删改图书信息。2. 2 可行性研究方法:通过调查分析开发图书馆管理所具备的能力及实现的方法。确定总体结构,利用SQL Server数据库所具有的能力,以最简洁最容

7、易的方法,使用VC+使其成为一个初级的系统软件。2. 3 决定可行性的主要因素:图书馆规模、设备状况、操作人员技术3 所建议系统技术可行性分析 3.1 对系统的简要描述 系统能做到能准确的记录不同图书的借出还入时间,判断是否超时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。 (1).设备:采用系统后,系统的性能设备要求较高,建议系统使用了最先进的技术使设备也必须跟着升级。(2)软件采用了先进的数据库技术以及一系列高技术含量软件,使得原来系统上的一些软件无法继续使用,不过在新系统开发过程中将尽量考虑到,对现有软件的兼容性。3.2 技术可行性评价 就目前使用的开发技术来说软件的功能目

8、标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。 4软件经济可行性分析4.1软件不需太多的硬件设施,所以在购买和安装硬件及有关设备上不会有太多费用支出。.4.2软件并不是太大的系统软件,系统开发费用很低,并没有一次性的巨大投资和日常研究的耗费。4.3软件安装和运行维护可能会有一定支出。4.4软件操作简单,界面合理,人员不需复杂的培训。5 社会因素分析该项目为独立开发,在技术上没有使用任何现有的软件与方法。所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。 软件对用户要求不高,不会导致用户不会用的情况。7.其他可供选择的方案 由于软件比较简单,所以没

9、有提供其他的方案,只有一种开发方案。8 结论意见经过一系列的各个不同方面的可行性分析,分析员和用户及使用部门的负责人对需要解决的问题取得基本的一致看法,开发方案得到批准,可以进行开发。 第二章需求分析及需求规格说明书1 概述1 1用户简介本系统要面向图书馆的广大读者,以及图书馆的管理人员。广大读者借书具有时间和数量的无规律性,而图书馆管理人员要准确的记录图书的进出量以及图书的借出还入时间等等。1 2项目的目的与目标图书馆具有大量的图书进出信息,为了准确的记录图书的信息,避免图书的缺失。也为了及时反馈图书是否被借出的信息,方便广大读者借阅。系统要做到能准确的记录不同图书的借出还入时间,判断是否超

10、时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。系统在稳定性方面也要做到遇到断电、系统崩溃等情况保存数据不能缺失。1 3参考资料软件工程技术及其应用实用软件工程软件工程实践教程1 4相关文档a 可行性分析报告b 概要设计说明书c 详细设计说明书2 目标系统描述21组织结构与职责3标系统功能需求31 功能需求分析1日常工作管理:包括借书管理、还书管理。(1) 借书管理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括读者编号、图书编号、借出日期、还书期限、 操作员编号。(2) 还书管理:主要功能是输入借阅证编号、图书编号,在借阅登记表中找到相

11、应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存 在借阅历史记录表中。2基本资料维护管理:包括图书资料维护、读者资料维护(1) 图书资料维护:包括新书的入库,以及现有书籍资料的修改和删除。(2) 读者资料维护:包括新读者的资料入库,以及现有读者资料的修改和删除3查询管理:包括图书资料查询、读者资料查询。(1) 图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:图书分类、图书编号、图书名称、作者、出版社。(2) 读者资料查询:根据相应的读者资料进行所需查询。 读者编号、读者姓名、读者种类。4系统管理:系统的登录、标准数据管理(1)系统的登录:管理员的登录

12、。(2)标准数据管理:用于常用数据的系统维护。32功能需求点列表编号名称使用者功能输入输出1借书读者借出书籍书籍编号以及学号书籍是否存在2还书读者还入书籍书籍编号以及学号书籍数量3查询读者以及管理员查询书籍数量书籍编号或名称书籍剩余数量4系统管理管理员常用数据的系统维护管理员验证号系统情况 4目标系统的性能需求41时间要求1响应时间不能太长,要求系统能快速给出应答。2能更新处理时间。3远程数据传输时间不能太长,要及时准确。42空间需求A支持的并行操作的使用者数要达到一定要求,要能支持多个用户同时操作。B要能处理大量文件并记录各种数据。C在一定时间内处理的数据总数要尽可能的大。D输入输出数据要完

13、全符合要求,避免图书信息重复。5.目标系统界面与接口需求51界面需求界面要求方便、简介、美观、一致等。A输入设备:键盘、鼠标、条形码扫描器和扫描仪等。B输出设备:显示器、打印机等。C显示风格:图形和字符界面。D显示方式:1024x768或640x480。52接口需求点1软件接口:可能会需要与一些办公软件相联结。2硬件接口:可能会与一些磁盘机光盘刻录机等连接以便保存数据6目标系统其他需求61安全性1要求查询返回数据不能出错。2对于权限控制要合理。为防止非法利用管理员账户登录进行破坏的行为,系统应有相应的检测模块检测到后应冻结账户。3要有数据库定时备份功能。62可靠性系统应具有数据的及时准确的处理

14、功能,保证数据的可靠性。63灵活性系统应具有一定的灵活处理的能力,比如书籍的编号和名称都可以查询书籍。可键盘输入学号也可扫描学生卡等7目标系统假设与约束条件可利用的资源有学校的机房和自己的电脑,系统投入使用的最晚时间是2011-6-2。第三章软件设计及设计说明书1、 导言(1) 目的使软件工程规范化,使设计人员遵循统一的概要设计进行编写,降低系统实现的风险,做到系统设计资料规范性与全面性,以利于系统的实现、测试、维护和版本升级等。(2) 范围软件系统总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计和部件之间接口设计等。(3) 命名规则 变量命名规则:声明全局变量、局部

15、变量对象的命名规则。数据库对象命名规则:声明数据库表名、字段名、索引名和视图名等对象的命名规则。(4) 术语定义术语定义和解释表序号术语名称术语定义1总体设计软件系统的总体逻辑结构,按照不同的设计方法有不同的结构2外部接口本软件和其他软件之间的接口,接口设施可以是中间件3数据结构包括数据库表的结构和其他数据的结构4视图在基表和其他视图之上建立的一张虚表,具有很多物理表的性质5子系统具有相对独立功能的小系统6模块具有功能独立能被调用的信息单元7角色数据库中享有某些特权操作的用户8内部接口软件内部的各子系统、模块、部件等之间的接口(5) 参考资料1) 用户需求报告。2) 软件开发合同。3) 数据库

16、设计规范。4) 命名规范。(6) 相关文档1) 详细设计说明书。2) 源程序清单。3) 测试计划及报告。4) 用户使用手册。(7) 版本更新记录由于是最新版本,无更新记录。2、 总体设计(1) 总体结构图书馆管理系统读者子系统管理子系统基础信息图书借阅书目检索图书归还读者开户帐户续费更新图书书目检索读者检索读者管理图书预约管理员管理(2) 运行环境设计硬件平台:条形码扫描仪学生卡读卡机(3) 子系统清单子系统编号子系统名称子系统功能1读者子系统供读者借书、还书、查阅图书等2管理子系统供管理员管理 读者开户 续借 查阅图书数量、种类等3基础信息管理管理读者和管理员的基础信息(4) 功能模块清单模

17、块编号模块名称模块功能1图书借阅记录借出图书的编号以及对应的学号借出时间等2图书归还记录归还图书的编号以及时间,计算是否超时,以及超时罚款等3图书查找查找该图书是否还有没有借出以及书名剩余量等信息4读者开户为新的读者注册一个账号一般用其学号,记录下他的信息5更新书库对于借出和还入的书或者新加或丢失的图书及时记录,更新图书信息3、 模块功能分配该系统,可以分为两大模块,一个小模块:分别为管理子系统,读者子系统两大模块;基础信息管理小模块;在管理子系统中:1):新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计

18、划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求;2):处理学生借书模块:该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会根据学生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;3):处理学生还书模块:该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图书字段时,系统会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更

19、新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算之后将结果显示出来;在查询子系统中:有两个查询内容:1) 学生信息查询:学生信息查询子模块主要是对学生信息的查询;2) 图书信息查询:图书信息查询子模块主要是对图书信息的查询;这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安全性和系统的安全性;4、 数据结构设计(1)数据库表名清单序号表名功能概述1学生文件表记录学生的信息,方便

20、学生借书还书注册等2图书目录文件记录图书库里的总图书量及其信息3借书文件表方便查看哪些书籍被借出 还入及其时间4入库单表记录新入库的图书信息5管理员表管理员的id等 方便管理员的身份注册及验证登陆(2) 数据库表的详细清单A:学生文件表:1学生编号Int41自动编号2姓名nvarchar103性别nvarchar24证件号码nvarchar255联系电话nvarchar406登记日期datetime87有效期至datetime88已借书数smallint29是否挂失nvarchar2B:图书目录文件序号字段名类型长度精度小数位数默认值允许空主键说明1图书编号Int41自动编号2条形码nvarc

21、har203书名nvarchar2004图书类型Nvarchar505作者Nvarchar206译者Nvarchar207ISBNNvarchar208出版社Nvarchar309价格Money810书架名称Nvarchar2011现存量Smallint212库存总量Smallint2C:借书文件表序号字段名类型长度精度小数位数默认值允许空主键外键说明1借阅编号Int41自动编号2图书编号Int43学生编号Int44借阅时间Datatime85应还时间Datatime86续借次数Smallint2D:入库单表序号字段名类型长度精度小数位数默认值允许空主键外键说明1书号Nvarchar301自动

22、编号2条形码Nvarchar203书名Nvarchar2004作者Nvarchar205出版社Nvarchar306版次Nvarchar507图书类别Nvarchar208存放位置Nvarchar209单价Money810入库数量Smallint211金额Money812经手人Nvarchar1013票号Nvarchar3014操作员Nvarchar1015日期datatime8E:管理员表序号字段名类型长度精度小数位数默认值允许空主键说明1管理员IDint42管理员密码char153权限nvarchar165、 接口设计5.1外部接口用户接口:采用窗口化,菜单式进行设计,在操作时响应热键。硬

23、件接口:一卡通,扫描仪器5.2软件接口通过JDBC对SQL Server2000数据库的连接内部接口通过面向对象语言设计类,在public类中实现调用;类间实现严格封装第四章编码及测试一 源代码#include#include#include#include#include#include#define STACK_INIT_SIZE 10#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0struct student /*学生 的 卡号 已借的书 */int carnum;char lendbook10;student1000;st

24、ruct book /*书的编号 书名 状态 */int booknum;char bookname10;int turefalse; book1000;struct card /*卡的编号 对应的学生名字 班级*/int cardnum;char studentname10;card100; book_add();book_search(); int panduan(); book_change();book_delect();card_add();book_lend();book_history() ;system_about();system_edition();window_displ

25、ay();book_manage();book_lend_return();system_help();window_choice();system_exit();book_return();/* 主函数 */void main() window_display();window_choice();/* 主界面 显示子函数*/window_display()printf(n);printf( 图书管理系统n); printf(n);printf(n);printf( 1: 图书管理n); printf( 2:图书借还 n); printf( 3: 系统帮助 n); printf( 4: 退出系

26、统 n); printf(n); printf(n);printf(n); printf(n);printf(n); printf(n);printf( 请选择进入的板块n);/* 主界面 选项子函数 */ window_choice()char choice1;scanf(%s,&choice1);switch(choice1)case 1:book_manage();break;case 2:book_lend_return();break;case 3:system_help();break;case 4:system_exit();break; book_manage()char ma

27、nage_choice;system(cls);printf(n);printf( 这里是图书管理板块 n);printf(n);printf(n); printf(n);printf(n);printf(n);printf( 1 加书 2改书 3 删书 4 查书 0返回 n);printf(n);printf(n); printf(n); printf(n);printf(n);printf( 请您选择 n);scanf(%s,&manage_choice);switch(manage_choice)case 1:book_add();break;case 2:book_change();b

28、reak;case 3:book_delect();break;case 4:book_search();break;case 0: system(cls);window_display();window_choice();break;book_lend_return()char choic; system(cls);printf( 这里是图书借还板块 n);printf(n);printf(n); printf(n);printf(n);printf(n);printf( 1 办卡 2借书 3 还书 4 历史 0返回 n);printf(n);printf(n); printf(n); pr

29、intf(n);printf(n);printf( 请您选择 n);scanf(%s,&choic);switch(choic)case 1:card_add();break;case 2:book_lend();break;case 3:book_return();break;case 4:book_history();break; case 0: system(cls);window_display();window_choice();break;system_help()char choice_help;system(cls); printf( n);printf( 这里是系统帮助板块

30、n);printf(n);printf(n); printf(n);printf(n);printf(n);printf( 1 关于系统 2 版本信息 0 返回 n);printf(n);printf(n); printf(n); printf(n);printf(n);printf( 请您选择 n);scanf(%s,&choice_help);switch(choice_help)case 1:system_about();break;case 2:system_edition();break; case 0: system(cls);window_display();window_cho

31、ice();break;/* 加书 */int panduan() int bookmum,i=0;FILE *fp=fopen(C:book.txt,a+); scanf(%d,&bookmum); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(bookmum=booki.booknum) printf(您输入的编号重复 请重新输入n); panduan(); return bookmum;book_add() FILE *fp;int bookmum=0; int i=0,j=0; system(cls); printf(

32、 n); printf( 请您输入这本书的编号n); bookmum=panduan();booki.booknum=bookmum;printf( 请您输入这本书的书名n); scanf(%s,&booki.bookname);printf( 请您设置书的状态 1表示没有人借 0表示已经借出n); scanf(%d,&booki.turefalse); fp=fopen(C:book.txt,a+);fwrite(&booki,sizeof(struct book),1,fp); fclose(fp);/* 一(2) 查书 */book_search() FILE *fp;char book

33、name10;int i; system(cls);fp=fopen(C:book.txt,r); printf(n); printf( 请输入你要查找的书名n); scanf(%s,bookname);for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+)if(strcmp(bookname,booki.bookname)=0)if(booki.turefalse=1)printf(这本书还在n); else printf(这本书被借了n);fclose(fp); fclose(fp); return 0; printf(没有这本书n); fclose(fp);return 0;/* 一(3) 改书 */book_change() FILE *fp,*fp2;char bookname10,choice;int i;fp=fopen(C:book.txt,r);fp2=fopen(C:bookl.txt,w); system(cls); printf( n);printf( 您要改那本书n); scanf(%s,bookname);for(i=0;fread(&booki,sizeof(s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com