图书管理系统软件工程课程设计

合集下载

软件工程课程设计_图书管理系统

软件工程课程设计_图书管理系统

课程设计——图书馆管理系统一、可行性研究报告1、引言○1背景资料图书馆是为我们的学习工作提供服务的地方。

图书馆里存放着大量的书籍资料,对这些书籍信息的有效的归类整理和管理将大大提高图书馆的运作效率,降低图书馆工作人员的劳动强度,同时可以对图书馆的整个运作过程做到明细化,透明化,为各项工作有条不紊的进行提供保障。

○2报告目的本报告旨在研究分析图书馆管理系统开发的可行性,为此软件的开发人员提供可行性的验证和编写方法的指导。

○3软件信息软件名称:图书馆管理系统开发平台:Turbo C 2.0用户:图书馆工作人员2、可行性研究的前提○1主要功能:通过计算机完成图书馆在库书籍的管理,用计算机高效、安全的完成对图书的信息处理,将工作人员从繁琐的数据处理中解放。

○2性能要求:a、书籍信息的录入,将图书名,库存数量输入系统,建立系统数据库。

b、书籍信息的查询,输入书名,显示此图书的有关信息,包括库存总量、借出数目、剩余数目。

c、书籍借出和归还,输入借出或归还图书的书名和数量后,对库存信息进行相应修改。

d、书籍信息的插入和删除,新书到库时或清除库存时,在数据库内增加或删减相应信息。

e、书籍信息的备份,将现有数据库信息存档,以备不时之需。

f、书籍信息的读入,输入文件名,从相应文件中把信息读入数据库。

g、权限问题,进入系统之前输入密码,密码不正确则退出系统。

○3开发目标:要求系统具有良好的可操作性,数据稳定性以及安全性,可以长期使用。

3、对现有系统的分析现用的管理系统在安全性,数据的读入功能方面存在不同程度的缺陷,有必要进行改进4、所建议的系统○1使用基本方法:该系统具有简单易用的特点,只需按照菜单功能行操作。

○2系统流程图:6、投资及效益分析该系统投资成本小,使用方法简单易懂。

该系统有效地提高图书馆工作人员的工作效率,节约人力物力。

同时可以根据用户的特殊需要,增添功能。

具有成本低,功能强大,使用灵活的特点。

7、社会因素方的可行性○1法律方面:本系统的开发不会侵犯他人、集体或国家的利益,不违背当地法律法规。

软件工程课程设计-图书管理系统

软件工程课程设计-图书管理系统

图书管理系统1、系统简介:图书管理系统是属于管理系统的一种,它一般包括登录、管理员窗体、一般用户窗体(学生与老师)、图书分类管理、书籍管理、借阅书籍、归还书籍、浏览查阅书籍等功能。

学校图书馆每年对新购买的图书进行统计、编号、注册、记录等一系列操作及维护日常图书馆正常运作即借阅图书、归还图书、查阅图书等。

1)对新购买的图书添加到数据库中,同时详细记录书籍信息;2)对一般用户:学生、老师来说,可以随时对所有图书进行查询、实现借阅图书功能和查看借阅图书图书;3)管理员可以实现图书的管理功能,包括添加书籍、修改书籍、和删除书籍等功能。

4)实现书籍借阅人查询即可以查看任意一本书的所有查阅人的功能。

5)整个系统实现分类管理功能包括添加分类、修改分类、删除分类等功能。

2、技术要求及限定条件1)所有图书管理工作均由相关负责人负责完成,其他人不得擅自使用;2)每本图书在入库时编号均有系统自动生成,形成ID号;3)本系统至少拥有数据存储表有:书籍分类表、用户分组表、用户表、书籍表、书籍与书籍分类对照表一、图书管理系统的可行性研究1、分析系统目的图书管理系统的目的是对图书设备登记入库、借还信息及查阅情况管理,以便于图书馆日常管理与图书利用。

2、分析当前系统状况在进行系统信息化之前的图书管理工作,完全要靠人工进行,图书信息管理用人工登记纸质表格记录在案,信息的查找需要人工翻阅,图书管理完全要手工进行。

3、当前系统的业务流程●图书管理人员配置:总负责人一人、按图书类别负责人有20人、图书管理员若干●图书登记造册入库管理:人工登记、纸纸质报表;●图书借阅管理:人工登记、纸质报表;●图书归还管理:人工登记、纸质报表;●人员管理:会议、人工登记、纸质报表;4、分析当前系统的不足当前的图书管理系统是完全依靠人工进行管理的系统这样的系统在图书统计购入、查询、借阅、归还等方面都极为不方便,不仅速度不快而且容易出差错,效率低下,在图书馆图书上百万多的情况下尤为明显。

软件工程课程设计之图书馆管理系统

软件工程课程设计之图书馆管理系统
在项目初期,对需求进行深入的分析和明确,有助于避免后期需 求的频繁变更,提高项目的稳定性和效率。
团队合作的协同性
在开发过程中,团队成员之间的有效沟通和协作至关重要,可以 避免工作重复和冲突,提高开发效率。
测试与质量保证
在项目开发过程中,注重测试和质量保证,可以及时发现和修复 问题,确保项目的稳定性和可用性。
实现了图书馆管理 系统的基本功能
包括图书借阅、归还、查询、预 约等核心功能,满足了图书馆日 常管理的需求。
02
提高了图书馆管理 效率
通过自动化管理,减少了人工操 作,提高了工作效率,降低了出 错率。
03
提供了友好的用户 界面
系统界面简洁明了,易于使用, 方便用户进行操作。
经验教训分享
需求分析的重要性
查询结果测试
针对不同查询条件,系统应能正确返回符合条件的图书列表,包括图书的基本信息、借 阅状态等。同时,应测试系统在大量数据下的查询性能和准确性。
异常处理测试
针对可能出现的异常情况,如查询条件错误、数据库连接失败等,系统应能给出相应的 提示或处理措施。
用户管理功能展示与测试
用户注册与登录
01
新用户可以在系统上注册账户并登录,老用户可以输入用户名
归还规则测试
系统应能正确判断用户是否符合归还条件,如图书是否超 期、是否有损坏等。同时,应测试系统在并发归还请求下 的性能和稳定性。
异常处理测试
针对可能出现的异常情况,如图书信息不符、用户未登录 等,系统应能给出相应的提示或处理措施。
图书查询功能展示与测试
查询方式展示
系统提供多种查询方式,如按书名、作者、出版社等查询图书信息。用户可以根据需要 选择合适的查询方式,快速找到所需图书。

软件工程图书管理系统课程设计

软件工程图书管理系统课程设计

培养学生实践能力
通过实际动手开发一个图书管理系统,培养学生的 实践能力,包括分析问题、解决问题的能力以及团 队协作的能力。
促进图书馆管理现代化
开发的图书管理系统可以应用于实际图书馆 管理中,提高图书馆的管理效率和服务水平 ,促进图书馆管理的现代化。
适用范围及对象
适用范围
本课程设计适用于高校计算机相关专业的本科生或研究生,也可作为其他专业 学生选修课程。
提高编程能力和算法设计 能力
编程能力和算法设计能力是软 件工程师的核心能力之一,我 将通过不断练习和实践,提高 自己的编程能力和算法设计能 力。
关注新技术和新趋势
随着技术的不断发展,新的技 术和趋势不断涌现,我将保持 关注新技术和新趋势的热情, 不断学习和掌握新的技术和工 具,以适应未来发展的需要。
图书检索与查询
用户可以通过关键词、书名、作者等 方式检索和查询图书信息,系统需要 提供快速、准确的检索和查询功能。
03
图书预约与预留
用户可以通过系统预约需要借阅的图书,或 者预留即将到达的图书。
05
02
图书信息录入与存储
系统需要支持图书信息的录入,包括书名、 作者、出版社、出版日期、ISBN号等,并将 这些信息存储在数据库中。
视频教程
录制详细的操作教程视频,介绍 系统的安装、配置和使用方法, 方便用户自主学习和了解系统。
评价标准制定及实施过程
功能性
评价系统是否满足图书管理的基本需 求,如图书的增删改查、借阅、归还 等功能。
易用性
考察系统的用户界面是否友好,操作 是否简便,用户能否快速上手。
稳定性
测试系统在不同环境和场景下的运行 稳定性,以及数据处理的准确性。
系统需要确保数据的一致性和完整性,防止因并 发操作或系统故障导致的数据丢失或损坏。

软件工程导论课程设计(图书馆管理系统)

软件工程导论课程设计(图书馆管理系统)

图书馆管理系统1.系统需求分析:1.1主要功能(1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除;(2)能够实现对读者档案的查询、密码的修改以及编辑管理;(3)能够进行借阅、还书功能;1.2 系统性能要求:(1)系统安全、可靠;(2)功能齐全;(3)操作方便、界面友好;(4)易于维护和扩充。

1.3 针对管理员需实现的基本功能:1.3.1 查询:(1)书籍信息查询:管理员可以根据书籍名,书籍分类,书籍作者、编号、出版社等信息来检索查询图书馆的书籍,便于管理。

(2)读者信息查询:根据相应的读者资料进行所需查询。

‘读者编号’、‘读者姓名’、‘读者种类’。

1.3.2 读者信息维护:(1)修改读者信息:管理员可以录入、修改、删除读者信息。

(2)修改密码:管理员可登录平台对遗忘密码的读者的密码进行修改。

1.3.3 图书信息的维护:包括新书的入库,以及现有书籍资料的修改和删除,方便读者的查询。

实体—联系图2.总体设计2.1系统功能模块划分:图书管理系统需要实现的功能主要有四大模块,分别为日常工作管理、基本资料维护管理、查询管理和系统管理。

其中日常工作管理和基本资料维护是整个系统的核心。

料的修改和删除2.1.3查询管理:包括图书资料查询、读者资料查询。

(1)图书资料查询:根据相应的图书信息对所有书籍进行所需查询。

此查询包括:‘图书分类’、‘图书编号’、‘图书名称’、‘作者’、‘出版社’。

(2)读者资料查询:根据相应的读者资料进行所需查询。

‘读者编号’、‘读者姓名’、‘读者种类’。

2.1.4系统管理:系统的登录、标准数据管理(1)系统的登录:管理员的登录。

(2)标准数据管理:用于常用数据的系统维护。

2.2各模块结构图2.2.1日常工作管理模块2.2.2基本资料维护管理模块2.2.3查询管理模块2.2.4系统登陆模块。

图书管理系统-软件工程导论课程设计

图书管理系统-软件工程导论课程设计

图书管理系统-软件工程导论课程设计图书管理系统第一章问题定义 (1)1问题描述 (1)2图书馆系统概述 (1)第二章可行性研究 (2)1.现有系统分析 (2)2.技术可行性 (2)3.经济可行性 (2)第三章系统需求报告 (3)1.引言 (3)2.需求叙述 (4)3.假设和依赖 (5)4功能需求 (5)5非功能需求 (6)6数据描述 (7)7外部接口需求 (12)第四章概要设计说明报告…………171引言 (13)2系统概述 (13)3总体设计 (14)4模块设计 (14)5接口设计 (16)6 数据结构设计 (17)7系统维护设计 (21)第五章详细设计说明报告…………211引言 (21)2背景 (22)3定义………………………………………224参考资料…………………………………225系统的结构…………………………………236界面设计要求…………………………………247模块说明书…………………………………24第六章测试计划 (33)1测试项目名称及测试内容………………………………332测试用例…………………………………353测试资料…………………………………36第七章课程设计心得体会 (37)评语 (38)第一章问题定义1.问题描述XX学校图书馆现为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力。

图书馆希望设计一个图书馆系统,管理读者的登记、图书的购入、借出、归还以及注销等。

管理人员还可以查询某位读者、某本图书的当前借阅情况、历史借阅记录,并可按照读者角度、图书角度、借阅角度分别进行统计,给出统计报表,以全面掌握图书的流通情况。

2.图书管理系统概述图书馆现为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力。

为方便起见应开发一个图书管理系统。

基于WEB的图书管理系统是对图书馆的网上管理,提高工作的效率。

目标系统在至少应提供一下功能:系统管理员能够实现对系统管理:包括图书,借阅信息等的插入、修改、注销等功能,其中涉及基于以上操作的管理员操作,借阅者操作两个方面。

图书管理系统 (软件工程课程设计报告)

图书管理系统 (软件工程课程设计报告)

一、可行性研究报告1.引言1.1编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。

明确开发风险及其所带来的经济效益。

本报告经审核后,交软件经理审查。

1.2项目背景开发软件名称:图书管理系统项目任务提出者:老师项目开发者关:石家庄学院09信计开发小组。

用户:学校实现软件单位:学校项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C++为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle8 的为开发软件的数据库服务程序。

1.3定义图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。

对于读者和图书管理员来说,是能否方便快速获取信息的关键。

所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。

1.4参考资料《软件工程导论》,张海藩,清华大学出版社。

《实用软件工程》,郑人杰等,清华大学出版社。

2.可行性研究的前提2.1要求①主要功能:A、读者管理:管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名)。

B、借阅管理:持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书。

C、读者查询:可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。

D、图书管理:图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。

②主要性能:可以方便快捷有效地完成借阅、查询等的各项操作,录入数据合法性校验程序高,查询速度快(不超5秒)。

保证信息的正确和及时更新,并降低信息访问的成本。

软件工程导论课程设计图书馆管理系统

软件工程导论课程设计图书馆管理系统
,a click to unlimited possibilities
汇报人:
CONTENTS
PART ONE
PART TWO
软件工程是一门研究计算机软件开发、维护和管理的科学
软件工程涉及到一系列工程化的方法、技术和工具
软件工程的目标是提高软件的质量和生产效率,降低开发成本
软件工程导论是软件工程专业的一门必修课程,为学生提供软件工程的基本概念、原 理和方法
分层理论:将复杂的软件系统分解为更小、更易于管理的组件,以便于设计和开发。
模块化原理:将软件划分为独立的、可复用的模块,以提高软件的可维护性和可重用性。
抽象原理:通过抽象将具体问题转化为抽象问题,简化复杂度,提高软件的可管理性和可理解 性。
信息隐藏原理:隐藏软件的内部实现细节,只暴露必要的接口,以保护软件的完整性、安全性 和可维护性。
数据库类型:选择合适的关系型数 据库或非关系型数据库
数据库表关系:设计表之间的关系, 如主键、外键等
添加标题
添加标题
添加标题
添加标题
数据库表设计:根据需求设计数据 表结构,包括表名、字段名、数据 类型等
数据库性能优化:考虑查询效率、 数据存储等方面的优化措施
界面布局:简洁明了,易于操作 菜单设计:分类清晰,层次分明 图标设计:形象生动,易于理解 颜色搭配:舒适和谐,提高用户体验
PART THREE
调研目的:了解用户对图书馆管理 系统的需求和期望
调研方法:问卷调查、访谈、观察 等
添加标题
添加标题
添加标题
添加标题
调研对象:图书馆工作人员、学生、 教师等
调研内容:用户对图书馆管理系统 的功能、性能、界面等方面的需求
用户登录和权限管理功能 图书检索和借阅功能 图书管理功能,包括新增、修改、删除图书信息 用户信息管理功能,包括查看、修改个人信息

图书管理系统(软件工程课程设计)

图书管理系统(软件工程课程设计)

图书管理系统系别:计算机科学与技术系网络工程方向班级:xxxx班分组:第9组成员:xxxxx目录一、问题定义 (2)二、可行性研究 (3)1.系统建设目标 (3)2.可行性分析 (3)三、系统的需求分析 (4)1.图书管理系统的需求陈述 (4)2.图书管理系统的DFD (4)3.图书管理系统的E-R图 (5)四、系统的概要设计 (10)1.软件体系结构图 (10)2.数据库设计 (10)五、系统的详细设计及其实现 (11)1。

模块功能介绍 (11)2.课程设计总结 (12)一、问题定义图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。

因此需要对读者资源、书籍资源、借书信息、还书信息进行管理。

及时了解各个环节的信息变更,有利于提高管理效率。

管理图书采用传统的管理方法:图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且,在新书入库后要经历较长时间方能借出.所以,为提高图书馆管理的效率,减少图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。

现代图书馆的图书管理早就进入信息化阶段了,但是从软件市场购买的一些信息管理系统软件通常是通用版的,不可能适应所以图书馆管理中的情况,功能不能扩充,这样不仅工作效率低下,浪费人力,财力,而且在一些中间环节造成信息丢失,出错。

所以建立图书管理系统,能够大大提高图书馆图书借阅的效率,还可以推进社会文化生活的进步。

二、可行性研究1.系统建设目标(1)要解决的问题:(以某学校为参照) 随着办公自动化水平的不断提高,现在学校管理学生信息也逐步从手工转到计算机自动化信息处理阶段。

设计一个功能完整、操作简便、界面友好的学生信息管理系统已经是势在必行的了.(2)系统开发的目的:提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。

图书馆管理系统软件工程设计

图书馆管理系统软件工程设计

图书馆管理系统软件工程设计范本:图书馆管理系统软件工程设计1. 介绍1.1 背景1.2 目的1.3 范围2. 需求分析2.1 功能性需求2.1.1 注册与登录2.1.2 图书管理2.1.3 借阅与归还2.1.4 用户管理2.1.5 系统管理2.2 非功能性需求2.2.1 性能要求2.2.2 安全性要求2.2.3 可维护性要求2.2.4 可扩展性要求3. 概要设计3.1 架构设计3.2 数据库设计3.3 用户界面设计3.4 功能模块设计3.4.1 注册与登录模块设计 3.4.2 图书管理模块设计 3.4.3 借阅与归还模块设计 3.4.4 用户管理模块设计3.4.5 系统管理模块设计4. 详细设计4.1 注册与登录模块详细设计 4.1.1 用户注册详细设计 4.1.2 用户登录详细设计 4.2 图书管理模块详细设计4.2.1 图书查询详细设计4.2.2 图书添加和删除详细设计 4.2.3 图书编辑详细设计4.3 借阅与归还模块详细设计4.3.1 借阅图书详细设计4.3.2 归还图书详细设计4.4 用户管理模块详细设计4.4.1 用户信息管理详细设计4.4.2 用户权限管理详细设计5. 实施计划5.1 开发环境准备5.2 开发任务划分5.3 开发时间安排6. 测试计划6.1 功能测试6.2 性能测试6.3 安全性测试6.4 兼容性测试附件:- 需求规格说明书- 概要设计文档- 数据库设计文档- 用户界面设计文档- 测试计划文档- 代码实现法律名词及注释:1. 版权法:指保护文学、艺术和科学作品(包括书籍、音乐、电影等)的法律规定。

版权法保护了著作权人的创作权益,包括复制权、发行权和展示权等。

2. 隐私法:指保护个人隐私权的法律规定。

隐私法规定了个人信息的收集、使用和保护等方面的规则,以确保个人的隐私不受侵犯。

3. 数据保护法:指保护个人数据安全和隐私的法律规定。

数据保护法规定了个人数据的收集、处理和使用等方面的规则,以确保个人数据的安全性和合法性。

软件工程课程设计之图书馆管理系统

软件工程课程设计之图书馆管理系统

在整个设计过程中, 我们遇到了需求分析、 系统设计、编码实现 和测试验收等阶段, 每个阶段都需要认真 对待,确保最终产品 的质量和用户体验。
通过本次课程设计, 我们不仅掌握了软件 工程的基本原理和方 法,还提高了团队协 作和沟通能力,为未 来的学习和工作打下
了坚实的基础。
展望未来,我们将继 续深入学习软件工程 的相关知识,不断提 高自己的技能和能力, 为软件行业的发展做
数据库类型:选择 合适的关系型数据 库管理系统,如 MySQL、Oracle等。
数据库表设计:创建 图书馆管理系统的相 关数据表,如图书信 息表、借阅信息表、 用户信息表等。
数据关系设计:定 义数据表之间的关 系,如外键、主键 等。
数据完整性设计: 确保数据的准确性 和一致性,如使用 触发器、约束等。
图书信息管理:包括图书的增加、删除、修改和查询 读者信息管理:包括读者的增加、删除、修改和查询 借阅管理:包括借书、还书、续借和借阅记录查询 图书预约管理:包括预约图书、取消预约和预约记录查询
系统需求分析
用户能够通过系统查询图书馆的藏书信息 用户能够通过系统借阅图书并管理借阅记录 图书馆管理员能够管理图书和用户信息 系统应具备良好的用户界面和操作体验
出更大的贡献。
未来技术发展趋势:如人工智能、大数据等在图书馆管理中的应用 改进方向:针对现有系统的不足,提出改进和优化的方向 创新点:探讨未来图书馆管理系统可能具备的创新点和功能
持续学习:鼓励同学们在未来的学习和工作中,继续关注和探索相关领域的发展
感谢您的观看
汇报人:
可扩展性:系统应具备良好的可扩 展性,以适应未来业务发展和功能 增强的需求。
添加标题
添加标题
添加标题
添加标题

软件工程导论课程设计(图书馆管理系统)

软件工程导论课程设计(图书馆管理系统)

非功能需求定义
可靠性:系统能够持续稳定运行,不出现故障。 安全性:系统能够保证数据的安全,防止数据泄露和被篡改。 性能:系统能够快速响应用户的操作,保证良好的性能。 可维护性:系统能够方便地进行维护和升级。
Part Three
系统设计
系统架构设计
架构概述:描 述系统的整体 架构和主要组

数据库设计: 说明数据库的 结构和表关系
软件工程导论课程设计图书馆管理系统
,a click to unlimited possibilities
汇报人:
目录
01 项 目 背 景 和 目 标
02 需 求 分 析
03 系 统 设 计
04 系 统 实 现
05 系 统 测 试 与 优 化
06 项 目 总 结 与 展 望
Part One
项目背景和目标
调研内容:用户对图书馆管理 系统的功能需求、性能要求、 界面设计等方面的意见和建议
功能需求定义
图书馆管理系统的基本功能需求包括图书借阅、归还、查询、更新等操 作。 系统的辅助功能需求包括用户管理、借阅规则设置、报表生成等。
系统的性能需求包括系统的响应时间、稳定性、可扩展性等方面的要求。
系统的安全需求包括用户身份认证、权限控制、数据加密等方面的要求。
系统模块设计: 详细介绍各个 模块的功能和
交互方式
接口设计:说 明系统与其他 组件或外部系 统的通信方式
数据库设计
数据库类型:选择合 适的关系型数据库管 理系统,如MySQL、 Oracle等。
数据库表设计:根据 需求分析,设计相应 的数据表,包括读者 表、图书表、借阅表 等。
字段设计:为每个数 据表设计必要的字段, 如读者表的姓名、借 书证号等,图书表的 ISBN、书名等。

软件工程课程设计--图书馆管理系统

软件工程课程设计--图书馆管理系统

软件工程课程设计报告姓名学号选题:图书馆管理系统计算机科学与技术专业一:需求分析说明书系统需求随着图书馆规模的不断扩大,图书数量不断增加,有关图书的各种信息量也不断增加。

面对着庞大的信息量,传统的人工管理方式会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此必须设计一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。

需求分析就是描述系统的需求,通过定义系统中的关键类域来建立模型。

分析的根本目的是开发者和提出需求的用户之间建立一种理解和沟通的机制。

因此,图书馆管理信息系统的需求分析也应该是开发人员和用户或者客户一起完成的。

需求分析的第一步描述图书馆信息系统的功能,即定义用例,以此确定系统的功能需求。

图书管理系统的用例分析主要找出系统中所有的用例,以及对用例进行说明。

在开发人员和用户进行讨论之后,可确定图书管理信息系统用例包括:(1)管理员信息系统;(2)图书库存信息系统;(3)借阅卡信息系统;(4)图书借阅管理;(5)图书返还管理。

图书管理系统的主要任务是便于用户对图书的浏览、查询。

为了使系统具有更广泛的实用性,将系统功能分为图书管理和用户管理。

主要方便用户对图书的借阅及管理员对书籍的管理,具体功能如下。

(1)图书浏览:借阅者可以浏览所有图书,并可以看到图书的详细信息。

(2)图书查询:借阅者可以对图书馆书籍进行查询。

(3)图书管理:图书管理员可对图书信息进行添加、删除、修改。

(4)图书借阅的天数:超过规定的时间要罚款。

主要是对用户权限的管理。

(1)用户的添加:对管理员信息的添加。

(2)用户的删除:对管理员信息的删除。

(3)用户的修改:对管理员信息的修改。

1.3 系统性能要求:(1)系统安全、可靠;(2)功能齐全;(3)操作方便、界面友好;(4)易于维护和扩充。

建立数据字典:系统中所有的名字都要,包括实体名、类型名、关系名、属性名都被建立到一个数据字典里。

图书管理系统软件工程课程设计

图书管理系统软件工程课程设计

图书管理系统软件工程课程设计《软件工程原理、方法软用》—与软程软软软告软软目名,称软软管理系软指软老软, 学生姓名, 软软, 学号 , 日期,目软一、软目软划...................................................................... . (1);一,软目容内...................................................................... (1)软软软境...................................................................... . (1)软度安排...................................................................... .............................................1二、软化分析软软构...................................................................... (2);一,据流软数...................................................................... (2)数据字典...................................................................... . (3);三,加工软明...................................................................... (4);四,软软构...................................................................... .. (5)流程软...................................................................... .................................................7三、面向软象分析软软...................................................................... (10);一,用例软...................................................................... .. (10)软象行软模型...................................................................... . (11);三,系软包软...................................................................... (12);四,软软...................................................................... .........................................13四、系软软软...................................................................... . (14);一,程序代软...................................................................... . (14);二,功能演示...................................................................... .............................29五、软软...................................................................... . (32)软件软布...................................................................... . (36)七、软软体会...................................................................... ............................................36参献考文...................................................................... (37)《软件工程原理、方法软用》软程软软软告软—与一、软目软划;一,软目容内在软算机日软走软普通家庭的今天~软于人软~采用一套行之有个来效的软软管理系软管理自己的软软是非常方便的~软软软管理部软软~以来来前软一的手工软索已不能软足人软的要求~伴着工软化、信息化的高速软随展~软软的目越越软大~软软软软也是越越多软化~因而往往是投入数来来了大量的人力、物力和软力却得不到高效的管理效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程—原理、方法与应用》课程设计报告书项目名称:图书管理系统指导老师:学生姓名:专业:学号:日期:目录一、项目计划 (1)(一)项目内容 (1)(二)开发环境 (1)(三)进度安排 (2)二、结构化分析设计 (2)(一)数据流图 (2)(二)数据字典 (3)(三)加工说明 (6)(四)结构图 (6)(五)流程图 (9)三、面向对象分析设计 (12)(一)用例图 (12)(二)对象行为模型 (13)(三)系统包图 (14)(四)类图 (15)四、系统实现 (16)(一)程序代码 (16)(二)功能演示 (31)五、测试 (34)六、软件发布 (39)七、总结体会 (39)八、参考文献 (40)一、项目计划(一)项目内容在计算机日渐走进普通家庭的今天,对于个人来讲,采用一套行之有效的图书管理系统来管理自己的图书是非常方便的;对图书管理部门来讲,以前单一的手工检索已不能满足人们的要求,伴随着工业化、信息化的高速发展,图书的数目越来越庞大,图书种类也是越来越多样化;因而往往是投入了大量的人力、物力和财力却得不到高效的管理效率。

为了便于图书资料的管理、满足人们的需求,不必浪费大量的时间耗费在图书检索上,这就需要有一个有效的图书管理软件来帮助人们管理,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、便捷和智能化管理,达到提高图书管理效率的目的。

基于这个问题,研发了这个图书管理系统。

该系统主要实现功能:管理员登录及退出、读者信息查询、图书的增加、删除、更新和查询。

(二)开发环境开发环境:Win 7 旗舰版。

开发工具:SQL Server 2005 JCreator1.7作图软件:Rational Rose Enterprise Edition 2003(三)进度安排该软件应用JCreater1.7和SQL Server 2005进行编程,历时大概一周,最终完成了这个小型图书管理系统。

由于时间仓促,该小型图书管理系统并不完善。

我用了两天时间查找相关资料,两天时间编写代码和连接数据库。

其余三天开始应用Rational Rose Enterprise Edition 2003画数据流图、结构图、流程图、用例图和包图类图。

整个过程系我一人完成。

二、结构化分析设计(一)数据流图图2.1-1图书管理系统的顶层DFDbook表reader表图2.1-2图书管理系统的第二层DFD图2.1-3图书管理系统的第三层DFDbook表图2.1-4图书管理系统的第三层DFD(二)数据字典数据流数据项(三)加工说明审查用户查询书籍信息请求2.3图-加工说明(四)结构图图2.4-1—图书管理系统上层框架图2.4-2-图书管理子系统初始SC图图2.4-3-图书管理子系统初始SC图图2.4-4-图书管理系统SC图的上层框架1:添加命令2:删除命令3:修改命令4:查询命令(五)流程图图2.5-1—图书管理系统登录流程图图2.5-2—读者信息查询流程图图2.5-3—添加书籍流程图图2.5-4—删除书籍流程图图2.5-5—更新书籍流程图图2.5-6—查询书籍流程图三、面向对象分析设计(一)用例图用例图在需求分析阶段有重要作用,它是作为参与者的外部用户所能观察到的系统功能模型图。

整个开发过程都是围绕需求阶段用例进行的。

首先需要确定参与者。

管理员在登录后对读者信息进行查询以及对书籍的添加、删除、更新和查询。

用户在登录后可以对书籍信息进行查询。

图书管理系统管理员-用户用例图(二)对象行为模型(三)系统包图数据库包:包含数据库中所有的数据信息 用户包:包含要使用系统的用户及其属性 管理员包:包含要使用系统的管理员及其属性 接口包:表示系统和数据库的借口 系统包:表示图书管理系统显示读者信息 添加书籍 删除书籍查询书籍 输入书籍信息添加成功!输入索书号 显示书籍信息输入索书号 删除成功! 退出登录结束服务(四)类图类是面对对象系统组成的核心。

类是对一组相同属性、操作、关系和语义的对象的描述。

这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。

图3.4-1类图图3.4-2系统的类图四、系统实现(一)程序代码1.主窗口界面import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.TitledBorder;import java.awt.Font;import javax.swing.JMenu;public class MainWindow extends JFrame implements ActionListener { private static final long serialVersionUID = 1L;static String loginName;static String loginNo;JLabel mlabel;JPanel jp=new JPanel();//建立菜单栏JMenuBar menu=new JMenuBar();JMenu a=new JMenu();JMenu b=new JMenu();JMenu c=new JMenu();//建立系统管理菜单组JMenuItem aa=new JMenuItem();JMenuItem ab=new JMenuItem();JMenuItem ac=new JMenuItem();//建立读者管理菜单组JMenuItem bb=new JMenuItem();//建立书籍管理菜单组JMenuItem ca=new JMenuItem();JMenuItem cb=new JMenuItem();JMenuItem cc=new JMenuItem();JMenuItem cd=new JMenuItem();public MainWindow(){super("图书管理系统");addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});Container d=getContentPane();this.setSize(300,200);this.setTitle("图书管理系统");d.add(menu);menu.add(a);menu.add(b);menu.add(c);//添加菜单组a.setText("系统管理");a.setFont(new Font("Dialog",0,12));b.setText("读者管理");b.setFont(new Font("Dialog",0,12));c.setText("书籍管理");c.setFont(new Font("Dialog",0,12));//生成系统管理菜单组的选项aa.setText("登录");aa.setFont(new Font("Dialog",0,12));ab.setText("退出登录");ab.setFont(new Font("Dialog",0,12));ac.setText("退出系统");ac.setFont(new Font("Dialog",0,12));//生成读者管理菜单组的选项bb.setText("查询读者信息");bb.setFont(new Font("Dialog",0,12));//生成书籍管理菜单组的选项ca.setText("添加书籍");ca.setFont(new Font("Dialog",0,12));cb.setText("删除书籍");cb.setFont(new Font("Dialog",0,12));cc.setText("查询读书信息");cc.setFont(new Font("Dialog",0,12));cd.setText("更新书籍");cd.setFont(new Font("Dialog",0,12));//添加系统管理菜单组a.add(aa);a.add(ab);a.add(ac);//添加读者管理菜单组b.add(bb);//添加书籍管理菜单组c.add(ca);c.add(cb);c.add(cc);c.add(cd);//添加事件侦听aa.addActionListener(this);ab.addActionListener(this);ac.addActionListener(this);bb.addActionListener(this);ca.addActionListener(this);cb.addActionListener(this);cc.addActionListener(this);cd.addActionListener(this);setJMenuBar(menu);}public void actionPerformed(ActionEvent e){ if(e.getSource()==aa){UserLogin login=new UserLogin(this);login.setVisible(true);}if(e.getSource()==ab){setVisible(false);MainWindow mainFrame=new MainWindow();mainFrame.setLocation(400,150);mainFrame.setVisible(true);}if(e.getSource()==ac){System.exit(0);}if(e.getSource()==cc){FindBook findbook=new FindBook();findbook.setVisible(true);}if(e.getSource()==bb){FindReader findreader=new FindReader();findreader.setVisible(true);}if(e.getSource()==ca){AddBook addBook=new AddBook();addBook.setVisible(true);}if(e.getSource()==cb){DeleteBook delBook=new DeleteBook();delBook.setVisible(true);}if(e.getSource()==cd){UpdateBook updBook=new UpdateBook();updBook.setVisible(true);}}public void setenabled(int right){if(right==1){b.setEnabled(true);c.setEnabled(true);}if(right==2){b.setEnabled(true);c.setEnabled(true);}}public static void main (String[] args){MainWindow mainFrame=new MainWindow();mainFrame.setLocation(400,200);mainFrame.setVisible(true);}}2.用户登录界面import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;public class UserLogin extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;String name;DataBaseManger db=new DataBaseManger();MainWindow mainFrame;JFrame f=null;JPanel panel1,panel2;JLabel UserLabel,PasswordLabel;JTextField UserTextField;JPasswordField PasswordTextField;JButton YesBtn,CancelBtn;Container c;ResultSet rs;public UserLogin(MainWindow mainFrame){super("用户登录");this.mainFrame=mainFrame;UserLabel=new JLabel("用户名",JLabel.CENTER);PasswordLabel=new JLabel("密码",JLabel.CENTER);UserTextField=new JTextField(10);PasswordTextField=new JPasswordField(10);YesBtn=new JButton("确定");CancelBtn=new JButton("取消");YesBtn.addActionListener(this);CancelBtn.addActionListener(this);panel1=new JPanel();panel1.setLayout(new GridLayout(2,2));panel2=new JPanel();c=getContentPane();c.setLayout(new BorderLayout());panel1.add(UserLabel);panel1.add(UserTextField);panel1.add(PasswordLabel);panel1.add(PasswordTextField);c.add(panel1,BorderLayout.CENTER);panel2.add(YesBtn);panel2.add(CancelBtn);c.add(panel2,BorderLayout.CENTER);setSize(300,150);JLabel JL=new JLabel();c.add(JL,"North");c.add(panel1,"Center");c.add("South",panel2);panel1.setBackground(new Color(255,255,255));setLocation(400,200);}public void actionPerformed(ActionEvent e){if(e.getSource()==CancelBtn){this.dispose();}else{char[] password=PasswordTextField.getPassword();String passwordSTR=new String(password);String strSQL;strSQL="select * from users where uname='"+UserTextField.getText().trim()+"'and upassword='"+passwordSTR+"'";rs=db.getResult(strSQL);boolean isExist=false;try{ rs.next();mainFrame.loginNo=rs.getString(1);name=rs.getString(1);mainFrame.loginName=name;int right;right=rs.getInt(1);mainFrame.setenabled(right);if(name.length()!=0)isExist=true;}catch(Exception pe){ pe.printStackTrace(); }if(UserTextField.getText().trim().equals("")){JOptionPane.showMessageDialog(null,"用户名不可为空!");return;}if(passwordSTR.equals("")){JOptionPane.showMessageDialog(null,"密码不可为空!");return;}if(!isExist){ JOptionPane.showMessageDialog(null,"用户名不存在或者密码不正确!");}else{JOptionPane.showMessageDialog(null,"登录成功");this.dispose();}}}}3.读者信息查询import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;import ng.String;public class FindReader extends JFrame implements ActionListener { DataBaseManger db=new DataBaseManger();MainWindow mw=new MainWindow();ResultSet rs;JLabel select=new JLabel("请输入证件号");JTextField jtf=new JTextField(10);JPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p3=new JPanel();JPanel p4=new JPanel();JLabel lb=new JLabel("读者信息");JButton findbt=new JButton("查询");JButton yesbt=new JButton("确定");JTextArea jta=new JTextArea(10,10);public FindReader(){ super("查询读者信息");Container c=getContentPane();p1.add(select);p1.add(jtf);p1.add(findbt);c.add(p1,BorderLayout.NORTH);p2.add(lb);p2.add(jta);c.add(p2,BorderLayout.CENTER);p4.add(yesbt);c.add(p4,BorderLayout.SOUTH);yesbt.addActionListener(this);findbt.addActionListener(this);setSize(500,300);setVisible(true);setLocation(400,150);}public void actionPerformed(ActionEvent e){if(e.getActionCommand()=="确定")this.dispose();if(e.getActionCommand()=="查询"){String sno=jtf.getText();String sqlstrR;if((mw.loginNo.trim().equals(sno))||(mw.loginName.trim().equals("admin"))){ sqlstrR="select * from reader where sno='"+sno+"'";rs=db.getResult(sqlstrR);try{ rs.next();jta.setText("");jta.append("学号为:"+rs.getString(1)+","+"姓名为:"+rs.getString(2)+","+"性别为:"+rs.getString(3)+"\n");jta.append("年龄为:"+rs.getString(4)+","+"密码为:"+rs.getString(5)+","+" 学院为:"+rs.getString(6)+"\n");String sqlstr="select * from lendbook where sno='"+sno+"'";rs=db.getResult(sqlstr);}catch(Exception pe){ pe.printStackTrace(); } }else{JOptionPane.showMessageDialog(null,"请输入正确的证件号!");}}}}4.增加图书信息import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class AddBook extends JFrame implements ActionListener{ MainWindow mw=new MainWindow();DataBaseManger db=new DataBaseManger();ResultSet rs;JPanel a,b,c,d,e,f;JLabel bname=new JLabel();JLabel bno=new JLabel();JLabel bnum=new JLabel();JLabel author=new JLabel();JLabel publisher=new JLabel();JTextField tname=new JTextField(20);JTextField tno=new JTextField(20);JTextField tnum=new JTextField(20);JTextField tauthor=new JTextField(20);JTextField tpublisher=new JTextField(20);JButton addbt=new JButton("添加");JButton yesbt=new JButton("确定");JPanel p3=new JPanel();public AddBook(){super("添加图书");a=new JPanel();b=new JPanel();c=new JPanel();d=new JPanel();e=new JPanel();f=new JPanel();bname.setText("书名:");bname.setFont(new Font("Dialog",0,12));bno.setText(" 索书号:");bno.setFont(new Font("Dialog",0,12));bnum.setText("数量:");bnum.setFont(new Font("Dialog",0,12));author.setText("作者:");author.setFont(new Font("Dialog",0,12));publisher.setText(" 出版社:");publisher.setFont(new Font("Dialog",0,12));a.add(bname);a.add(tname);b.add(bno);b.add(tno);c.add(bnum);c.add(tnum);d.add(author);d.add(tauthor);e.add(publisher);e.add(tpublisher);f.add(addbt);f.add(yesbt);add(a);add(b);add(c);add(d);add(e);add(f);setLayout(new GridLayout(8,1));addbt.addActionListener(this);yesbt.addActionListener(this);setSize(500,300);setLocation(400,150);}public void actionPerformed(ActionEvent e){String bname,bno,author,publisher;int bnum;if(e.getActionCommand()=="确定")this.dispose();if(e.getActionCommand()=="添加"){bname=tname.getText();bno=tno.getText();author=tauthor.getText();publisher=tpublisher.getText();bnum=Integer.parseInt(tnum.getText());String sqlstr1="select bno from book";rs=db.getResult(sqlstr1);try{while(rs.next()){if(rs.getString(1).trim().equals(bno)){JOptionPane.showMessageDialog(null,"此书号已存在,请重新输入索书号!");}else{break;}}}catch(Exception pe){pe.printStackTrace();}String sqlstr="insert into book (bno,bname,bnum,author,publisher) values ('"+bno+"','"+bname+"','"+bnum+"','"+author+"','"+publisher+"')";boolean result=db.updateSql(sqlstr);db.closeConnection();if(result){JOptionPane.showMessageDialog(null,"添加书籍成功!");}else{JOptionPane.showMessageDialog(null,"添加书籍失败!");}}}}5.删除图书信息import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class DeleteBook extends JFrame implements ActionListener{ MainWindow mw=new MainWindow();DataBaseManger db=new DataBaseManger();ResultSet rs;JLabel bno=new JLabel("<html><font color=#000000 size='4'>请输入要删除的图书索引号:</font>",SwingConstants.CENTER);JLabel L;JTextField tno=new JTextField(10);JTable table;JButton delbt=new JButton("删除");JButton yesbt=new JButton("确定");JPanel p1=new JPanel();JPanel p2=new JPanel();public DeleteBook(){ super("删除图书");Container c=getContentPane();p1.add(bno);p1.add(tno);c.add(p1,BorderLayout.NORTH);p2.add(delbt);p2.add(yesbt);c.add(p2,BorderLayout.SOUTH);delbt.addActionListener(this);yesbt.addActionListener(this);setSize(400,300);setLocation(400,150);JPanel p=new JPanel();p.setLayout(new BorderLayout()); }public void actionPerformed(ActionEvent e){ String bno;if(e.getActionCommand()=="确定")this.dispose();if(e.getActionCommand()=="删除"){ bno=tno.getText();String sqlstr="delete bno from book where bno='"+bno+"'";boolean result=db.updateSql(sqlstr);db.closeConnection();if(result){JOptionPane.showMessageDialog(null,"删除书籍成功!");}else{JOptionPane.showMessageDialog(null,"删除书籍失败!");}}}}6.更新图书信息import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class UpdateBook extends JFrame implements ActionListener { MainWindow mw=new MainWindow();DataBaseManger db=new DataBaseManger();ResultSet rs;JPanel a,b,c,d,e,f;JLabel bname=new JLabel();JLabel bno=new JLabel();JLabel bnum=new JLabel();JLabel author=new JLabel();JLabel publisher=new JLabel();JTextField tname=new JTextField(20);JTextField tno=new JTextField(20);JTextField tnum=new JTextField(20);JTextField tauthor=new JTextField(20);JTextField tpublisher=new JTextField(20);JButton addbt=new JButton("更新");JButton yesbt=new JButton("确定");JPanel p3=new JPanel();public UpdateBook(){ super("更新图书");a=new JPanel();b=new JPanel();c=new JPanel();d=new JPanel();e=new JPanel();f =new JPanel();bname.setText("书名:");bname.setFont(new Font("Dialog",0,12));bno.setText(" 索书号:");bno.setFont(new Font("Dialog",0,12));bnum.setText("数量:");bnum.setFont(new Font("Dialog",0,12));author.setText("作者:");author.setFont(new Font("Dialog",0,12));publisher.setText(" 出版社:");publisher.setFont(new Font("Dialog",0,12));a.add(bname);a.add(tname);b.add(bno);b.add(tno);c.add(bnum);c.add(tnum);d.add(author);d.add(tauthor);e.add(publisher);e.add(tpublisher);f.add(addbt);f.add(yesbt);add(a);add(b);add(c);add(d);add(e);add(f);setLayout(new GridLayout(8,1));addbt.addActionListener(this);yesbt.addActionListener(this);setSize(500,300);setLocation(400,150); }public void actionPerformed(ActionEvent e){ String bname,bno,author,publisher;int bnum;if(e.getActionCommand()=="确定")this.dispose();if(e.getActionCommand()=="更新"){ bname=tname.getText();bno=tno.getText();author=tauthor.getText();publisher=tpublisher.getText();bnum=Integer.parseInt(tnum.getText());String sqlstr1="select bno from book";rs=db.getResult(sqlstr1);try{ while(rs.next()){ if(rs.getString(1).trim().equals(bno)){JOptionPane.showMessageDialog(null,"此书号已存在,请重新输入索书号!");}else{break;}}}catch(Exception pe){ pe.printStackTrace(); }String sqlstr="update book set bno='"+bno+"',bname='"+bname+"',bnum='"+bnum+"',author='"+author+"',publisher='"+publisher+" 'where bno='"+bno+"'";Boolean result=db.updateSql(sqlstr);db.closeConnection();if(result){JOptionPane.showMessageDialog(null,"更新书籍成功!"); }else{ JOptionPane.showMessageDialog(null,"更新书籍失败!"); }}}}7.查询图书信息import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class FindBook extends JFrame implements ActionListener{ DataBaseManger db=new DataBaseManger();ResultSet rs;JLabel select=new JLabel("请输入书名或者索书号");JTextField jtf=new JTextField(20);JPanel a=new JPanel();JPanel b=new JPanel();JLabel lb=new JLabel("书籍信息");JButton findbt=new JButton("查询");JButton yesbt=new JButton("确定");JTextArea jta=new JTextArea(10,10);public FindBook(){ super("查询书籍信息");Container c=getContentPane();a.add(select);a.add(jtf);a.add(findbt);c.add(a,BorderLayout.NORTH);b.add(lb);b.add(jta);b.add(yesbt);c.add(b,BorderLayout.SOUTH);yesbt.addActionListener(this);findbt.addActionListener(this);setSize(500,300);setVisible(true);setLocation(400,150);}public void actionPerformed(ActionEvent e){ if(e.getActionCommand()=="确定")this.dispose();if(e.getActionCommand()=="查询"){ String bname=jtf.getText();String bno=jtf.getText();String sqlstr;sqlstr="select * from book where bname='"+bname+"' or bno='"+bno+"'";rs=db.getResult(sqlstr);try{ jta.setText("");if(rs.next()){jta.append("索书号为:"+rs.getString(1)+"\n");jta.append("书名为:"+rs.getString(2)+"\n");jta.append("现有数量为:"+rs.getString(3)+"\n");jta.append("出版社为:"+rs.getString(5)+"\n");jta.append("作者为:"+rs.getString(4)+"\n"); }else{jta.append("对不起,没有您要找的书籍!"); } }catch(Exception pe){ pe.printStackTrace();} }}}8.数据库连接import java.sql.*;import java.io.*;public class DataBaseManger{String name;Connection con;Statement stmt;ResultSet rs;public DataBaseManger(){try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");System.out.println("驱动加载完成");System.out.println("已建立链接");con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=library","sa", "sqlserver2005");stmt=con.createStatement();}catch (Exception e){e.printStackTrace();}}public ResultSet getResult(String strSQL) { try{ rs=stmt.executeQuery(strSQL);return rs; }catch(SQLException sqle){System.out.println(sqle.toString());return null; }}public boolean updateSql(String strSQL){ try{stmt.executeUpdate(strSQL);mit();return true; }catch(SQLException sqle){System.out.println(sqle.toString());return false; } }public void closeConnection(){ try{con.close(); }catch(SQLException sqle){System.out.println(sqle.toString());} }} (二)功能演示图1:图书管理系统主界面图2:用户登录图3:用户登录成功图4:查询读者信息图5:添加图书图6:添加书籍成功图7:删除书籍图8:查询书籍信息图9:更新图书信息图10:更新书籍成功五、测试序号测试内容测试数据期望结果测试结果测试结论1 合法输入格式000000,000000登陆成功登陆成功正确2 错误用户名Admin,00000 提示“用户名不存在或者密码不正确”提示“用户名不存在或者密码不正确”正确3 错误密码Admin,xx,正确验证码提示“用户名不存在或提示“用户名不存在或正确表1 登陆模块的测试用例表2 读者查询模块的测试用例表3 图书查询模块的测试用例表4书籍删除模块的测试用例表5 书籍添加模块的测试用例表6 书籍更新模块的测试用例六、软件发布1. 电脑操作系统:Windows 7/XP 数据库:SQL Server 2005 设计软件:JCreator1.7 作图软件:Rational Rose Enterprise Edition 20032.系统配置说明:分别需要给JCreator配置特定JDK这里用到JDK1.7.0,需要配置SQLsever系统软件我们用的的是SQL Server 2005,因此需要在给JAVA 写代码时应注意连接数据库的语句是否匹配。

相关文档
最新文档