《图书管理系统软件工程课程设计作业(26页).doc》由会员分享,可在线阅读,更多相关《图书管理系统软件工程课程设计作业(26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-图书管理系统软件工程课程设计作业-第 22 页XXXXXXXXXXXXXXX(题目)学号: XX,XX,XX,XX(后三位)姓名:XX,XX,XX,XX专业:计算机科学与技术 指导教师:李霞丽提 要 该图书管理软件是通过对该系统的的可行性分析及客户需求分析进行总体、详细设计,同时进行测试和维护,把管理系统分成图书资料登记,图书资料归还和统计四个基本功能板块,使该软件达到运行正确,稳定,响应及时,用户界面美观,友好的目的,同时该软件易维护并按软件工程方法对每一阶段尽可能留用详细的文档资料。目录第一章 问题定义111项目描述112 开发合同(问题定义)1第二章 可行性研究321可行性方案322资
2、源有效性323开发风险324技术425高层逻辑模型4第三章 需求分析531功能识别和描述532数据流图533数据字典634简要算法10第四章 总体设计1441模块结构1442数据结构14第五章 详细设计1551输入设计1552输出设计1553数据库设计1654模块设计18第六章 编码和单元测试2061编码2062单元测试2163测试用例21第七章 综合测试2371自顶向下测试方式2372自底向上测试方式23第八章 软件维护2481改正性维护2482适应性维护2483完善性维护24附录:软件工程课程设计指导教师评审表25第二章 可行性研究21可行性方案 目前国内中小型企业的图书管理系统平台主要有
3、两种。第一种是系统在小型机(如IBM AS/400 RISC/6000)上开发运行。这种平台优点是与服务器相比机器速度快,容量大,自身网络安全、可靠、开放性强,适应多用户系统。但在硬件、操作系统、数据库软件等方面投资大。就本系统使用规模而言存在一定的浪费。第二种是系统在公司现有机器和网络结构上开发运行。考虑到需投资省、开发时间短、维护方便等要求,本系统开发将采用此种方案。具体原因有以下几点。22资源有效性221硬件公司现有IBM NETFINITY 5000服务器二台(其中一台为备机)。其配置为P4,内存512M,硬盘80G,并有20G的磁盘镜像。IBM PC8168工作站有10台,其配置为P
4、4,内存128M,网络结构采用的是目前流行的TCP/IP局域网络。公司现有图书近8万册,使用部门2 个,因而目前的硬件设备性能完全满足系统投产要求。222软件 公司服务器操作系统为WIN NT SERVER,PC工作站操作系统为WIN 98。根据现有设备、 操作系统、网络结构,本系统采用COBOL语言和ORACLE数据库作为开发工具。223开发人员 XX软件开发公司是国内一家知名公司。技术力量强,开发经验丰富。公司所派的技术 人员参加过类似系统的开发,有着较好专业水平和开发经验。完全能胜任此项工作。23开发风险从公司提出的需求,以及目前公司规模情况和各种资源情况(机器、操作系统、软件工具、网络
5、、技术人员素质等)看,该系统开发在技术上是完全可以实现的。而且能保证系统最终的使用效果,性能可以达到目标。24技术本系统使用的操作系统和数据库是目前最为普及和成熟的一种系统开发软件。从这种软件过去使用、升级情况和软件商所承诺的今后软件发展情况分析,系统软件应支持原系统版本上的各种应用正常使用。因而,该图书管理系统不存在技术问题。25高层逻辑模型图书编号图书数据输入图书借阅图书登记图书编号图书统计图书归还统计需求图书编号第三章 需求分析针对用户需求所提的四大功能,现逐一对每一功能进行具体分析。31功能识别和描述图书登记功能是将公司所有图书资料以分类形式录入存放在公司图书主数据库文档中。并同时具有
6、对主数据库文档进行查询,修改和删除记录功能。图书借阅功能是通过输入图书编号将所要借阅的图书在有关数据库文档中作一记录。并同时具有查询,修改和取消有关文档图书借阅数据的功能。图书归还功能是通过输入图书编号将所要归还的图书在有关数据库文档中作一记录。并同时具有查询,修改和取消有关文档图书归还数据的功能。图书统计功能是根据用户的统计需求统计有关图书数据文档信息。32数据流图图书管理员菜单选择码菜单选择图书统计图书归还图书借阅图书登记 12 13 15 16 1 2 3 4 5 6 7 8 9 11 14 17 18 10图书主数据库文件图书系统文档交易流水文件图书借还文件 数据流说明:1 图书系统文
7、档头记录号 2。产生的图书编号 3,4,5,8,10,17,18。图书资料信息 6,7,11,15。图书交易流水信息 9,12,13,14,16。图书借还信息33数据字典331数据流词条描述数据流名:图书资料信息说明:用于存放,查询,修改图书主数据文档记录信息,修改图书借、还状态,同时作为图书统计信息来源之一。数据流来源:3来自图书登记处理; 4,5,8,10来自图书主数据库文档; 17来自图书借阅处理; 18来自图书归还处理数据流去向:3,17,18图书主数据库文档; 4图书登记处理; 5图书借阅处 理; 8图书归还处理; 10图书统计处理数据流组成:图书编号 + 图书名称 + 图书类型 +
8、 图书状态 + 登记日期 + 借还日期数据流通量:大数据流名:图书交易流水信息说明:用于记录图书管理各种交易的情况,同时作为图书统计信息来源之一。数据流来源:6来自图书登记处理; 7来自图书借阅处理; 11来自图书归还处理; 15来自图书交易流水文件数据流去向:6,7,11图书交易流水文件; 15图书统计处理数据流组成:交易码 + 功能码 + 图书编号 + 图书名称 + 图书类型 + 图书状态 + 借阅人姓名 + 登记日期 + 借还日期数据流通量:大数据流名:图书借还信息说明:用于对图书借阅,归还情况进行登记,同时作为图书统计信息来源之一。数据流来源:9来自图书借阅处理; 13来自图书归还处理
9、; 12,14,16来自图书借还文件数据流去向:9,13图书借还文件; 12图书借阅处理; 14图书归还处理; 16图书统计处理数据流组成:图书编号 + 图书名称 + 借阅人姓名 + 借阅日期 + 归还日期数据流通量:大332数据元素词条描述数据元素名:图书编号类型:数字长度:7位取值范围:“0000001”。“9999999”相关数据结构:图书主数据库文件,图书交易流水文件,图书借还文件数据元素名:图书名称类型:字符长度:50位取值范围:任意相关数据结构:图书主数据库文件,图书交易流水文件,图书借还文件数据元素名:图书类型类型:字符长度:5位取值范围:“00001”(政治)|“00002”(
10、经济)|“00003”(科技)|。相关数据结构:图书主数据库文件,图书交易流水文件数据元素名:图书状态类型:字符长度:4位取值范围:“正常”|“遗失”|“收藏”|“借阅”相关数据结构:图书主数据库文件,图书交易流水文件数据元素名:登记日期,借还日期类型:数字长度:8位取值范围:合法的“YYYY年+MM月+DD日”相关数据结构:图书主数据库文件,图书交易流水文件,图书借还文件数据元素名:交易码类型:数字长度:3位取值范围:“001”(图书登记)|“002”(图书借阅)|“003”(图书归还)| “004”(图书统计)相关数据结构:图书交易流水文件数据元素名:功能码类型:字符长度:3位取值范围:“
11、ADD”(输入)|“CHG”(修改)|“DEL”(删除)|“CNL”(取消)相关数据结构:图书交易流水文件数据元素名:借阅人姓名类型:字符长度:10位取值范围:任意相关数据结构:图书借还文件333数据文件词条描述数据文件名:图书主数据库文件简述:用于存放各类图书基本信息输入数据:图书名称 + 图书类型 + 图书状态输出数据:图书编号 + 图书名称 + 图书类型 + 图书状态 + 登记日期 + 借还日期数据文件组成:图书编号 + 图书名称 + 图书类型 + 图书状态 + 登记日期 + 借还日期组织方式:索引方式存储方式:直接存取频率:高数据文件名:图书交易流水文件简述:用于记录各类图书交易信息,
12、以便用于查询,统计,恢复。输入数据:无输出数据:交易码 + 功能码 + 图书编号 + 图书名称 + 图书类型 + 图书状态 + 借阅人姓名 + 登记日期 + 借还日期数据文件组成:交易码 + 功能码 + 图书编号 + 图书名称 + 图书类型 + 图书状态 + 借阅人姓名 + 登记日期 + 借还日期组织方式:顺序方式存储方式:顺序存取频率:高数据文件名:图书借还文件简述:用于记录图书借还明细信息输入数据:图书编号 + 图书名称 + 借阅人姓名 + 借阅日期 + 归还日期输出数据:图书编号 + 图书名称 + 借阅人姓名 + 借阅日期 + 归还日期数据文件组成:图书编号 + 图书名称 + 借阅人姓名
13、 + 借阅日期 + 归还日期组织方式:索引方式存储方式:直接存取频率:高数据文件名:图书系统文件简述:用于存放管理系统的系统状态,系统日期,当前图书编号输入数据:系统状态 + 系统日期 + 图书编号输出数据:系统状态 + 系统日期 + 图书编号数据文件组成:系统状态 + 系统日期 + 图书编号组织方式:顺序(单记录文件)存储方式:顺序存取频率:高34简要算法首先系统判断用户在主菜单上所输入的功能选择码是否合法,并根据选择码进入相应功能模块。341图书登记录入过程1用户录入数据。2系统检查用户输入的图书基本信息的合法性,如图书状态,图书类型等。 3检查错误时,转1。当检查正确后即从图书系统文件中
14、取得图书当前编号和系统日 期作为该登记图书的编号和登记日期。4 将基本信息写入图书主数据文件中。5 写该交易的流水记录。6 结束。查询过程1用户输入要查询的图书编号。2系统根据用户输入的图书编号先从主文件中读出该记录。如找不到,转1。否则输出结果。 3结束。修改过程1用户输入要修改的图书编号。2系统根据用户输入的图书编号先从主文件中读出该记录。如找不到,转1。否则继 续。3 用户输入修改数据。4 检查输入数据合法性,如错误转3,正确则修改主文件该记录。5 写交易流水文件。6 结束。删除记录1用户输入要删除的图书编号。2系统根据用户输入的图书编号先从主文件中读出该记录。如找不到,转1。否则继 续
15、。3 用户确定删除数据。4 从主文件中删除该记录。5 写交易流水文件。6 结束。342图书借阅录入过程1用户录入需借阅的图书编号。2系统检查用户输入信息的合法性,如该图书是否已借阅,已收藏等。 3检查错误时,转1。当检查正确后即转4。 4修改图书主文件中的图书状态,借阅日期。 5写图书借还文件记录。6写交易流水文件。 7结束。 修改过程1用户输入要修改的图书编号。 2系统根据用户输入的图书编号从图书借还文件中读出该图书最后借阅的记录。如找 不到,转1。否则继续。 3修改借还文件中的该记录信息。4写交易流水文件。 5结束。取消过程1用户输入要取消借阅的图书编号。2系统根据用户输入的图书编号先从主
16、文件中读出该记录。如找不到,转1。否则继 续。3 用户确认取消借阅。4 修改借还文件的该记录信息。5 修改图书主文件中图书状态和借阅日期。6写交易流水文件。7结束。343图书归还录入过程1用户录入需归还的图书编号。2系统检查用户输入信息的合法性,如该图书是否已归还,已收藏等。 3检查错误时,转1。当检查正确后即转4。 4修改图书主文件中的图书状态,借阅日期。 5写图书借还文件记录。6写交易流水文件。 7结束。 修改过程1用户输入要修改的图书编号。 2系统根据用户输入的图书编号从图书借还文件中读出该图书最后借阅的记录。如找 不到,转1。否则继续。 3修改借还文件中的该记录信息。4写交易流水文件。
17、 5结束。取消过程1用户输入要取消归还的图书编号。2系统根据用户输入的图书编号先从主文件中读出该记录。如找不到,转1。否则继 续。3 用户确认取消归还。 4修改借还文件的该记录信息。 5修改图书主文件中图书状态和借阅日期。6写交易流水文件。7结束。第四章 总体设计总体设计可能的设计方法有自顶向下,逐步细化设计方法;模块化设计方法;结构化设计方法。针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层次结构的各个部分组合起来,以完成整个系统的实现细节。 系统主菜单41模块结构 图书借阅 图书归还 图书统计 图书登记统计处理归还取消归还修改归还登记借阅取消借阅修改借阅登记图书
18、删除图书修改图书查询图书录入42数据结构本系统主要用到四个数据文件,它们是图书主数据库文件:采用索引组织,存取为随机方式。图书交易流水文件:采用顺序组织,存取为顺序方式。图书借还文件:采用索引组织,存取为随机方式。图书系统文件:采用顺序组织,存取为顺序方式。第五章 详细设计 本系统采用JACKSON系统开发设计方法。51输入设计 图书借还文件 图书交易流水文件图书主数据文件 图书编号 * 交易码+功能码 * 图书编号 * 借阅及归还记录 * 交易流水信息图书基本信息52输出设计 图书统计信息输出报告 图书催收清单当日交易清单图书编号 *图书编号 *图书借阅情况图书借阅记录 *图书录入记录 *5
19、3数据库设计531图书主数据库文件数据元素属性长度取值范围备注图书编号图书名称图书类型图书状态登记日期借还日期保留字段NCCCNNC75054881000000001 9999999任意00001政治,00002经济 。正常,遗失,收藏,借阅YYYY + MM + DDYYYY + MM + DD键字段键字段文件组织方式:索引方式文件存储介质:硬盘数据量:= 10000000处理方式:联机存取方式:直接,随机532图书交易流水文件数据元素属性长度取值范围备注交易码功能码图书编号图书名称图书类型图书状态登记日期借还日期保留字段NCNCCCNNC337505488100001图书登记,002图书借
20、阅003图书归还,004图书统计ADD图书录入,CHG图书修改DEL图书删除,CNL借还取消0000001 9999999任意00001政治,00002经济 。正常,遗失,收藏,借阅YYYY + MM + DDYYYY + MM + DD键字段键字段文件组织方式:顺序方式文件存储介质:硬盘数据量:约1000记录/天处理方式:联机存取方式:顺序533图书借还文件数据元素属性长度取值范围备注图书编号图书名称借阅人名借阅日期归还日期保留字段NCCNNC75010881000000001 9999999任意任意YYYY + MM + DDYYYY + MM + DD键字段文件组织方式:索引方式文件存储
21、介质:硬盘数据量:约1000记录/天处理方式:联机存取方式:直接,随机534图书系统文件数据元素属性长度取值范围备注系统日期图书当前编号NN87YYYY + MM + DD00000019999999文件组织方式:顺序方式文件存储介质:硬盘数据量:1条记录处理方式:联机存取方式:顺序54模块设计 本系统模块设计将对总体设计中模块结构进行。541图书录入模块 入口 用户图书资料输入检查输入数据 否 正确? 是 读系统文件取得系统日期,图书编号写主数据文件写交易流水文件 出口542图书修改模块 入口 用户输入图书编号 检查图书是否存在 否 存在? 是 用户输入修改数据 检查输入数据 否 正确?修改
22、主数据文件写交易流水文件 出口 其他模块与此基本相同,此略。第六章 编码和单元测试61编码 用COBOL语言举例图书录入。 IDENTIFICATION DIVISION. PROGRAM-ID. TUSHUIN. * PROGRAM PURPOSE :FOR BOOKS TO INSTORE * * PROCESS DESCRIPTION : * ENVIRONMENT DIVISION. FILE SECTION. BOOKFILE DESCRIPTION. 主文件描述 TRANFILE DESCRIPTION. 交易流水文件描述 SYSFILE DESCRIPTION. 系统文件描述 D
23、ATA DIVISION. WORKING-STORAGE SECTION. 01 AAA 所有相关数据描述 PROCEDURE DIVISION. MAIN. OPEN I-O BOOKFILE. OPEN OUTPUT TRANFILE. OPEN INPUT SYSFILE. INPUT-PROC. ACCEPT AAA ACCEPT XXX IF XXX IS INCORRECT THEN GO TO INPUT-PROC END-IF. READ SYSFILE. IF NOT SUCCESSFUL THEN GO TO EXIT END-IF. MOVE XXX TO REC1.
24、MOVE XXX TO RECN. WRITE BOOKFILE. WRITE TRANFILE. EXIT. CLOSE BOOKFILE TRANFILE SYSFILE. STOP RUN. 62单元测试用下面列出的测试用例分别按白盒法测试和黑盒法测试对系统各个模块进行测试.测试包括模块接口,各条路经,边界条件,局部数据等测试。63测试用例631白盒测试用例图书录入模块图书名称:计算原理, 图书类型:00010, 图书状态:正常图书名称:软件工程, 图书类型:88888, 图书状态:收藏图书修改模块图书编号:0000001 图书类型:000020图书编号:0020001(不存在的图书编号
25、)图书删除模块图书编号:0000001图书编号:0020001(不存在的图书编号)图书其他模块测试用例与此相仿,此略。需要注意的是白盒法测试要求测试用例全面,覆盖所有可能发生的情况。632黑盒测试用例 图书录入模块图书名称:计算原理, 图书类型:00010, 图书状态:正常 图书查询模块图书编号:0000001目的是检查所输入的图书资料在相应文件中是否存在和正确。图书其他模块测试用例与此相仿,此略。需要注意的是黑盒法测试要求每一模块都要有测试例子,并通过查询检查每一模块处理的数据是否正确。第七章 综合测试71自顶向下测试方式711图书登记功能 输入录入数据 显示结果 输入修改数据 输入删除数据
26、 删除桩模块 修改桩模块 查询桩模块 录入桩模块 其它功能与其相仿,此略。72自底向上测试方式721图书登记功能图书删除模块 驱动程序图书修改模块 驱动程序图书查询模块 驱动程序图书录入模块 驱动程序 调用从属模块 调用从属模块 调用从属模块 调用从属模块 其它功能与其相仿,此略。第八章 软件维护本应用软件主要有三种维护。81改正性维护在软件交付使用初期,由于某种原因,软件存在一些错误或缺陷。需要由软件开发公司按合同要求对系统进行改正性维护。如增加检查控制,修改程序错误逻辑等。82适应性维护当公司业务机构迅速发展、庞大。公司计算机机型和操作系统都相应升级。需要对原应用系统作出一定的调整,以适应
27、新的硬件和软件环境。如数据库更新,计算机升档等。83完善性维护在系统使用几年后,该应用系统可能不适应业务的发展。用户对软件提出了新的需求和性能要求。如增加新的统计报表,完善用户界面,数据库文件需要增加字段等。本系统开发设计力求模块化,可理解,易维护并按软件工程方法对每一阶段尽可能留用详细的文档资料。附录:软件工程课程设计指导教师评审表课题名称学生姓名所在院(系)学号指导教师姓名所在单位职称序号评审项目指 标满分评分1工作量、工作态度按期圆满完成任务,难易程度和工作量符合教学要求;认真刻苦,遵守纪律;工作作风严谨务实。102课程设计质量问题定义及可行性研究1给出问题的规模和定义;2从经济可行性(
28、采用成本/效益分析方法)、技术可行性、操作可行性等三个方面分析系统的可行性,给出一个系统解决方案。3制定一份简单的项目开发计划。15需求分析对所选课题进行需求分析建模,可以采取结构化分析方法或者面向对象分析方法,根据所选择的方法不同建立以下模型:1如果采用结构化分析方法,则需要建立DFD图、数据字典、部分模块的IPO图。2如果采用面向对象分析方法,则需要建立用例图、类图。3建立采用Rational Rose或者Visio进行UML建模。20设计确定系统总体设计方案(概括描述);建立软件系统的体系结构(用层次图或者结构图);接口设计(人机界面设计);进行数据库的概念设计、逻辑设计及物理设计。使用伪码或者其他工具进行模块算法描述。20编码及软件测试1利用某一种选定的高级语言进行编码工作,可以实现部分模块的功能,或者实现系统设计的全部功能;2制定一份简单的测试计划;对主要模块采用黑盒或者白盒技术设计测试用例;3针对已经制定测试用例的模块,进行测试,记录测试结果;4给出某一种性能测试的解决方法(例如使用Load Runner 自动化测试工具模拟20个人同时登陆客户端的情况,进行压力测试分析)。20文档按照教师提供的文档格式,规范的写出软件开发过程中的各类文档。15总 分: 指导教师签名: 年 月 日