课程设计的目的与要求课程设计目的
软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。
课程设计要求 课程设计准备
1)复习软件工程课程的主要内容,熟练掌握软件生命周期的理论以及各阶段的基本概念。
2)明确可行性分析、需求分析、设计、测试等阶段的基本任务和基本方法。
3)熟练运用规范化的描述方法和文档,描述软件开发的各个阶段。
4)熟悉开发环境和开发工具。
内容要求
1)对所设计和实现的系统进行可行性分析,提交可行性分析报告;
2)对系统进行需求分析,可以选择传统的分析方法或者面向对象的分析方法,提交软件需求规格说明书(SRS);
3)在SRS的基础上进行软件的概要设计和详细设计,提交软件设计文档;
4)遵循上述文档的要求,实现软件;
5)对所实现系统进行软件测试,完成软件测试报告。
设计正文可行性分析报告 项目简介 项目目标
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。图书管理系统对于现代图书馆而言,是能否发挥其教学研究的作用的自关重要的技术平台,对于在校学生和管理员来说,是能否方便快速获取信息的关键。所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。
系统的简要描述,主要功能用户有借书的权限用户可以注册新用户用户可以查询书籍信息管理员可在在图书馆中增加/删除一本书按照图书编号或关键字检索一批书查询用户的借阅记录管理员可以添加用户信息管理员可以查询书目以及用户信息 对现有系统的分析 处理流程和数据流程(系统流程图) 对现有系统的其他说明
工作负荷:以前的图书管理完全是手工操作,从新书的购买、编码、入库、上架到借阅、续借、查询等,耗费了很大的人力,并且很难避免错误的发生,该图书管理系统针对这些问题,不仅降低了工作量,还改善了图书管理上的准确性,功能清晰易懂,便于操作。
费用开支:软件开发中的费用支出主要有开发人员、材料、设备、开发空间以及后期的维护等方面的支出。
人员:对于此系统的开发,需要至少三名有经验的软件开发人员,系统的操作人员以及后期维护人员。
设备:数据库管理系统SQLServer;windows操作系统;Visual Studio 。
局限性:计算机在非正常情况下停止工作是数据的备份情况,以及每个人对界面的上手程度的不同
技术可行性分析
主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
经济可行性分析
投资:
(1) 研究(需求的研究和设计的研究);
(2) 开发计划与测量基准的研究;
(3) 数据库的建立;
(4) 检查费用和技术管理性费用;
(5) 培训费、旅差费以及开发安装人员所需要的一次性支出;
(6)设备的租金和维护费用;
(7)软件的租金和维护费用;
(8)数据通讯方面的租金和维护费用;
收益:
在整个生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免。尤其是一些不定量的收益,因为并不是谋利系统,是为老师和学生服务的系统,间接提高学校的名誉和提高对外界的形象分值,间接带来不可估量的效益。
社会因素可行性分析 法律因素
由于所有软件都用正版,技术资料都由提出方保管,数据信息均可保证合法来源。所以,在法律方面是可行的。
用户使用可行性
主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
可供选择的方案
网页版图书管理系统:基于Java和MySQL的网页版图书管理系统,具有界面美观、兼容度高的优点,但编程难度较高,成本增加。
客户端图书馆:基于C#和SQLserver的客户端图书馆管理系统,具有编程简单,开发周期短,稳定等优点。
根据以上分析可知,开发图书管理系统不仅有较大的经济效益而且有更大的社会效益,从而开发使该系统具有开发价值,也节省了大量资源,但是时间有限,该管理系统考虑不太健全,我们会在这方面加强学习和改进,所以我们认为开发此系统的条件已经具备,可以进行开发。
软件需求规格说明书(SRS) 需求概述给出软件需求的摘要和简单描述
图书馆管理系统就是能满足读者和图书的图书馆实现日常操作信息化和后台统计电算化的系统。它能够帮助图书馆管理人员处理基本的管理项目,图书馆满足信息化的需要,并且有操作简单,易上手,错误较少等优点。
同时,世界的信息化的趋势也让我们的生活不得不进入信息化与模范化,软件产业更是如此,大力推进信息化发展,已成为我国经济社会发展新阶段重要而紧迫的战略任务。所以,图书管理系统的制作是急迫的和必须的。
本系统通过强大的计算机技术给图书的信息更新带来便利。本系统实现了图书管理信息更新等功能。
运行环境
SQLServer;windows操作系统;Visual Studio
功能需求
2.2.1数据流图
顶层数据流图
0层数据流图
书籍管理子系统DFD
用户管理子系统DFD
登陆子系统DFD
借阅子系统DFD
2.2.2数据描述
(1)E-R图
数据描述
数据词典
图书信息表
图书信息=书号+书名+作者+评分+出版社+价格+数目
书号=”0000000000001”..”9999999999999”
书名=1{字符}20
作者=1{字符}20
评分=”0”..”10”
出版社=1[字符]20
价格=”0”..”200”
数量=”0”..”999”
用户信息表
用户信息=账号+姓名+密码+性别+生日
账号=”0”..”9999999999”
姓名=4{字符}10
密码=5{字符}10
性别=【男|女】
生日=”年”+年+”月”+月+”日”+日
年=”1870”.."2200"
月=”1”..”12”
日=”1”..”31”
管理员信息表
管理员信息=账号+姓名+密码
账号=”0”..”9999999999”
姓名=4{字符}10
密码=5{字符}10
借阅记录表
借阅记录=书号+用户账号+借阅时长+借阅号+是否逾期+借书时间
书号=”0000000000001”..”9999999999999”
账号=”0”..”9999999999”
借阅时长=[15天|30天|60天]
借阅号=”000001”..”999999”
是否逾期=[0|1]
借书时间=”年”+年+”月”+月+”日”+日
年=”1870”.."2200"
月=”1”..”12”
日=”1”..”31”
性能需求数据精确度
根据关键字精度的不同,查找可分为精确查找和泛型查找,精确查找可精确匹配读者已知道的书目,泛型查找,只要满足与输入的关键字相匹配的书目即输出,可供读者查找。还有不同数据的数据类型。
时间特性
查询速度:不超过10秒;
其它所有交互功能反应速度:不超过3秒;
可靠性:平均故障间隔时间不低于200小时。
适应性
当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
运行需求用户界面
鼠标,键盘,显示器;操作系统:Windows操作系统;
硬件接口
无
软件接口
后台管理,操作系统: windows;数据库:SQL Server ,
故障处理 软件设计说明书 软件模块结构图 文件结构和全局数据
Table_Admin 管理员信息表
Table_Reader 借阅者信息表
Table_Book 图书信息表
Table_Borrow 借书/还书信息表
模块描述 登陆注册模块描述
1)功能:登陆功能界面,验证密码身份。
2)接口: 登陆界面,注册界面
3)数据: 用户信息表,管理员信息表
4)处理:
(1)登录:如果用户已有账户可以直接登录,读者、管理员都由此登录。
(2)注册:如果用户没有账户可以注册,提交一些个人信息后注册,只可以注册为读者,管理员不能通过页面注册,只能由后台数据库添加。
注册完成的读者或管理员通过在登录页面提交用户名和密码后可以登录。如果提交错误的用户名或密码,系统会有提示。
具体算法实现为:
begin
if 输入帐号和密码、身份 不为空 then
begin
查询人员表;
end
else 提示人员编号和人员密码、身份不能为空,返回;
if 查询结果为空 then
begin
提示出错信息,返回重新登陆;
end
else 根据不同的身份进入相应的主界面;
end。
流程图为:
书籍管理模块描述
1)功能:管理书籍,还书,新增书籍,书籍总览。
2)接口: 管理界面,新增书籍,删除书籍,查询书籍
3)数据: 图书信息表,借阅记录表
4)处理:
还书管理:查询账号已借书籍,删除借阅信息,在书籍信息表中加回书籍,回到可借书列表
书籍列表:显示图书信息表中的数据
软件测试报告 测试范围
本次测试针对开发的图书馆管理系统进行,包括功能测试,界面测试,负载测试,文档测试。按照规格需求说明书中的功能进行测试,在测试过程中发现软件的漏洞不足并予以改正。检验软件本身的功能是否达到了预期的想法,在众多的测试当中,性能和功能都在不断的进行完善,设计的合理,达到了人们的一些生活需求,在以后的测试极其维护该改进中都有非常良好空间。
测试计划
表1 开始/中断/完成测试说明
表2 测试技术说明
表3测试类型说明
测试阶段首先测试数据库连接是否正常测试系统界面是否可以正常显示测试管理员登录界面测试用户是否能登陆界面 测试进度: 测试项目说明 登录模块 测试目的:
测试模块的正确性、测试界面的正确性、测试数据和文件的访问、测试设计的约束规定
测试方法和测试软件:黑盒方法测试测试用例 注册模块
1) 测试目的:
测试模块的正确性、测试界面的正确性、测试数据和文件的访问、测试设计的约束规定
2) 测试方法和测试软件:黑盒方法测试
3) 测试用例
测试分析 登陆模块测试分析实测结果数据
输入合法用户,正确密码:登陆成功
与预期结果数据的偏差
与预期输出没有特别大的偏差
该项测试表明的事实
测试结果与预期输出没有特别大的偏差,说明系统登录模块设计正确并且可以正常使用
该项测试发现的问题 注册模块测试分析
输入非法密码
输入合法密码
测试结果与预期输出没有特别大的偏差,说明系统登录模块设计正确并且可以正常使用
课程设计总结或结论
本项目具有方便快捷等优势,使得图书管理实现电子化,符合社会信息化发展的需要,技术、经济、操作、法律方面都是可行的,因此,开发该系统是完全可以的。但是这次实验最大的问题是测试工作应避免由原来开发软件的个人来承担,本系统的测试工作是由我一个人来承担,设计测试方案时,不仅要包括确定的输入数据,而且应包括从系统功能出发预期的测试结果。测试用例不仅要包括合理,有效的输入数据,还要包括无效的或不合理的的输入数据,不仅要检验程序是否做了该做的事,还要检查程序是否同时做了不该做的事,软件中仍存在错误的概率和已经发现错误的个数是成正比的。保留测试用例,作为软件文档的组成部分。
由于实验时间比较紧张,掌握知识有限,所以系统还未能做到完美,还有许多瑕疵,我会在以后的学习中努力学习更多的东西,在将来可以开发出更加优秀的系统。最后感谢老师的悉心指导!
参考文献
[1]宋雨,《软件工程基础》,机械工业出版社。
[2]王删,《数据库系统原理教程》,清华大学出版社。
[3]王珊,《数据库系统概论》,高等教育出版社。
[4]宋雨,《软件工程》,清华大学出版社。
[5]本杰明·帕金斯,《C#入门经典》,清华大学出版社。
附录
登陆界面
注册界面
主界面
书籍列表
还书管理
借书界面
如果觉得《图书馆管理系统的开发》对你有帮助,请点赞、收藏,并留下你的观点哦!