软件工程课程设计.docx
- 文档编号:7326065
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:30
- 大小:492.49KB
软件工程课程设计.docx
《软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计.docx(30页珍藏版)》请在冰豆网上搜索。
软件工程课程设计
课程设计报告
(2016--2017年度第2学期)
名称:
软件工程课程设计
院系:
计算机科学与技术
班级:
计科1303
学号:
************
******
指导教师:
宋雨陈晴王艳
设计周数:
2
成绩:
日期:
2016年6月13日
《软件工程》课程设计
任务书
一、目的、要求
通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。
二、主要内容
要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。
具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。
三、进度计划
序号
设计(实验)内容
完成时间
备注
1
软件计划、软件需求分析、软件设计,制定出软件测试计划,软件测试用例
第1周
要求上机前做好充分的文档准备
2
各模块录入、编码、编译及单元测试
第2周的第1、2天
3
联调及整体测试,
第2周的第3、4天
4
验收,学生讲解、演示、回答问题
第2周的第5天
四、设计成果要求
1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试计划,要求文档格式规范、逻辑性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;
2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式
(1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》实验报告评分表)占60%
(2)系统验收、讲解、答辩占25%
(3)考勤占15%
2016年6月13日
《软件工程课程设计》实验报告评分表
姓名
李虓
专业班级
计科1303
学号
201309010309
题目
JAVA图书管理系统
标准
分数
得分(√)
标准
分数
得分(√)
标准
分数
得分(√)
报告规范,符合要求
20
报告较规范,基本符合要求
17
报告不规范,不符合要求
11
10
16
9
8
19
15
7
6
14
5
4
18
13
3
2
12
1
0
工作量大,报告完整
20
工作量适中,报告较完整
17
工作量较小,报告不完整
14
19
16
13
18
15
12
文档逻辑性强、正确,语言流畅
20
文档逻辑性较强,无明显错误,文字表述较流畅
16
文档有逻辑性,有明显错误,语言表述不顺畅
12
11
19
15
10
9
18
14
8
7
17
13
6
5
实验报告成绩
评分教师签字
一、课程设计的目的与要求
1.课程设计目的
软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。
本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。
2.课程设计要求
2.1课程设计准备
1)复习软件工程课程的主要内容,熟练掌握软件生命周期的理论以及各阶段的基本概念。
2)明确可行性分析、需求分析、设计、测试等阶段的基本任务和基本方法。
3)熟练运用规范化的描述方法和文档,描述软件开发的各个阶段。
4)熟悉开发环境和开发工具。
2.2内容要求
1)对所设计和实现的系统进行可行性分析,提交可行性分析报告;
2)对系统进行需求分析,可以选择传统的分析方法或者面向对象的分析方法,提交软件需求规格说明书(SRS);
3)在SRS的基础上进行软件的概要设计和详细设计,提交软件设计文档;
4)遵循上述文档的要求,实现软件;
5)对所实现系统进行软件测试,完成软件测试报告。
二、设计正文
1.软件计划和可行性分析报告
1.1项目简介
1.1.1项目目标
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
随着高等教育事业的快速发展,学校的规模不断扩大,学校的各种基本设施也在不断加强。
图书馆是学校的一部分,它作为一种信息资源的集散地,服务于全校教学、科研以及学习生活方面,是校园内一个举足轻重的单位,它的操作和管理就显得尤为重要。
图书馆应该能够为用户提供充足的信息和快捷的查询手段,且因图书和用户借阅资料繁多,包含很多数据的管理,为了使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询和修改图书信息,就有必要建立一个高效的图书管理系统。
使用计算机对图书馆进行管理,有着手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。
这些优点能够极大地提高图书馆管理的效率。
对于一个现代高效的图书馆而言,它需要一个高速、快捷、方便的图书管理办法。
1.1.2系统的简要描述,主要功能
从总体上考虑,系统应该实现下列功能:
对管理员来说,可以对学生、图书、图书系统管理员信息进行管理和维护,可以查看和维护系统状态。
对学生来说,可以查询图书馆所存的图书、个人借阅情况,可以修改个人信息,可以借阅当前图书馆藏的图书。
系统能够提供友好的用户界面,使各类用户的工作量最大限度的减少; 系统具有良好的运行效率; 系统要具有一定的智能型和创新性。
1.2对现有系统的分析
1.2.1处理流程和数据流程
管理员流程图基本如下:
失败
成功
读者流程图基本如下
失败
成功
1.2.2对现有系统的其他说明
1)维护:
在系统交付之后的两年期限之内,系统的维护只要由开发单位提供维护;
2)人员:
开发人数较少,管理员数目一定,参加考试的人员必须是数据库中的存在人员,所以在每进行一次考试之前,管理人员都要确定可以参加考试的考生。
3)开发者需要的环境:
硬件环境:
(1)处理器(CPU):
双核酷睿I5
(2)内存容量(RAM):
至少2G
软件环境:
(1)操作系统:
MicrosoftWindows7
(2)数据库管理系统:
SQLserver2008
(3)Netbeans
(4)软件需求管理工具RRP(IBMRationalRequisitePro)
(5)软件设计工具RSA(IBMRationalSoftwareArchitect)
(6)软件测试工具RFT(IBMRationalFunctionalTester)。
4)局限性:
开发人员全部为本科生,缺乏项目经验,技术操作方面还不太熟练。
经过严谨的分析,可知原有的系统存在很大的局限性,比如技术的过于陈旧,人员工作负荷大,系统维护及费用支出巨大,人员与设备技术含量低等等一系列缺点,所有这些都明确了需要一个新的适应新的信息化时代的高科技的系统。
所以开发这样一个系统还是很有必要的。
1.3技术可行性分析
基于Winform窗体程序的图书管理系统,关键技术在于各种信息管理,即从数据库中取得相应的数据,并收集学生和管理员输入的数据,能够对图书馆内借阅信息进行管理。
我们的系统是使用C#语言和MicrosoftSQLServer2008数据库实现的,管系统的部署、应用、维护更加方便。
因此技术方案是成熟的和可行的。
1.4经济可行性分析
近几年,计算机技术的发展和计算机办公自动化的普及和应用,计算机的应用也有了较大的提高。
计算机也都成为高校管理工作中的重要设备。
在硬件方面,无需单独购买计算机,只需利用目前已有的计算机,并且可以接入互联网即可,所以从用户角度完全可行。
从开发者角度,此类软件开发周期一般为2-3个月,开发所需硬件软件和软件要求是目前大多数PC机系统能够承担,开发费用不高。
综上,本项目经济方面完全可行。
1.5社会因素可行性分析
在信息化高速发展的今天,原来图书管理方式已经越来越来不能适应广大师生的需要。
因此,必须有一套应用于时代前沿的适应于新需求上的图书馆管理系统,提高考试效率,便捷人们生活。
1.5.1法律因素
我国法律制度健全,对于计算机软件国家法律有着一定的保护模式。
《计算机软件保护条例》所称计算机软件,是指计算机程序及其有关文档。
本系统所有文档及程序均受到法律保护,严禁非法使用。
我国对计算机软件的法律保护模式也具有多样性。
具有代表性的主要有3种模式:
一是著作权法保护;二是专利法保护;三是商业秘密保护。
目前,计算机软件在我国基本上是通过版权法得以保护。
我国用著作权体系来保护计算机软件,版权法既有较为明确完善的立法,也有十分丰富的司法活动。
保护的范围也很广泛,从系统软件、应用软件到源程序、目标程序,都可以受到保护。
且目前世界上已经有六十几个国家采用版权法来保护计算机软件,我国也采用这种方式,便于得到世界范围的响应,也有利于国际间的文化、技术交流和经济来往。
1.5.2用户使用可行性
整个系统操作简便,界面友好,维护简便。
数据库要求运行稳定,执行速度快,数据安全性高。
用户使用得心应手,不需要经过特殊训练,只需稍加熟悉,就能胜任图书馆信息管理的工作。
1.6可供选择的方案
方案1:
采用Java编写的Swing窗体为基础的图书馆管理系统,系统主要分为两部分:
学生部分和管理员部分,学生部分实现的功能有:
查询图书馆所存的图书、个人借阅情况,可以修改个人信息,可以借阅当前图书馆藏的图书。
对管理员来说,可以对学生、图书、图书系统管理员信息进行管理和维护,可以查看和维护系统状态。
该方案的优点和选择该方案的原因:
(1)Java语言简单易用,兼容性好,JavaSwing窗体程序,比较简洁方便用户操作;
(2)开发难度减低,减低开发成本;
(3)在系统维护方面,C#语言连接数据库,实现系统与数据库的无缝连接,使系统维护开销减到最小;
方案2:
系统可以选用CLIENT/SERVER即C/S模式
缺点:
(1)C/S模式开发成本高;
(2)C/S模式多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。
(3)在系统维护方面,C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.,升级难。
(4)在硬件要求方面,C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.。
方案3:
购买“图书馆管理系统”,目前市场上的图书馆管理系统主要是提供全省/全国的大型图书馆。
缺点:
(1)系统购买费用昂贵;
(2)对于以学校内部的小型图书馆为方便学生借阅有些显得“大材小用”;
(3)购买一整套系统,维护比较困难,维护价格也比较高昂。
可以从国内或国外直接购买,但是综合各种情况来看,还是由我们开发系统比较好,因为我们是根据你们的实际情况量身为你们所开发的系统,直接购买的也许不太合适,所以,我们建议你们使用我们所开发的系统。
2.软件需求规格说明书(SRS)
2.1需求概述
1)软件需求的摘要和简单描述
图书管理系统是一个图书馆的支持系统,它的总体任务是实现图书借阅和管理的信息化。
图书管理系统需要满足来自两方面的需求,这两个方面分别是学生和图书系统管理员。
a.对于学生来说,他们所关心的是:
可以查询图书馆所存的图书、个人借阅情况,可以修改个人信息,可以借阅当前图书馆藏的图书:
学生登录图书馆网站就可以直接查询图书馆的图书情况,学生根据自己的借书证号和密码登录系统可以进行本人借书情况的查询和本人部分信息的维护。
具体来说,学生对功能的需求有:
1、图书信息检索,可以按题名、作者、和出版社等检索条目进行精确或模糊检索,最快时间查找目标书籍。
2、学生个人信息查询,学生根据借书证号查询本人当前的借书情况和历史借阅记录等。
一般情况下,学生只应该查询本人的借书情况和维护个人信息,若要查询和维护其他学生的借书情况和个人信息,就要知道其他学生的借书证号和密码。
这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。
3、图书借阅,学生可以借阅当前图书馆有的图书和杂志。
这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。
当预定了某书的借书者借阅了该书后,预定就取消,或者通过显式的取消过程强行取消预定。
b.对于图书馆系统管理员来说,他们关心的是:
可以对学生、图书、图书系统管理员信息进行管理和维护,可以查看和维护系统状态。
系统管理员可以浏览、查询、添加、删除、修改图书、学生和其他图书系统管理员的基本信息。
可以输入、查询和修改学生基本信息和书籍信息,可以输入借书信息和还书信息。
根据图书馆的实际需求情况和网络图书馆的基本服务职能,图书管理系统应该包括以下几个功能模块:
1、基本业务模块:
主要实现图书馆日常业务的信息化处理,包括借书、还书。
2、基本数据维护模块:
主要是对学生信息、书目信息和书籍信息进行操作,包括添加、修改和删除,同时也可以对其他管理员进行信息操作,更改用户名和密码。
2)运行环境
Windows7,WindowsVista/WindowsXP或更高的版本至少有100M左右的硬盘空间
2.2功能需求
管理员操作时间序列图:
学生时间序列图:
数据词典:
图书馆管理员信息
字段值
数据类型
约束
a_num
char(50)
主键
a_name
char(50)
NOTNULL
a_password
char(50)
NOTNULL
学生读者信息
字段值
数据类型
约束
r_num
char(50)
主键
r_name
char(50)
NOTNULL
r_password
char(50)
NOTNULL
r_sex
char(10)
NOTNULL
r_class
char(50)
NOTNULL
图书或期刊信息
字段值
数据类型
约束
L_num
char(50)
主键
L_name
char(50)
NOTNULL
L_type
char(50)
NOTNULL
L_author
char(50)
NOTNULL
L_press
char(50)
NOTNULL
借书还书信息
字段值
数据类型
约束
B_lnum
char(50)
主键
B_lname
char(50)
NULL
B_rnum
char(50)
主键
B_time
datetime
NULL
R_time
datetime
NULL
2.3性能需求
1)数据精确度
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。
在添加任何记录时,要保证数据库中数据的一致性,避免发生错误,要求不能有误差。
2)时间特性
检索响应时间应在人的感觉和视觉事件范围内;
更新数据库处理时间小于等于1s;
网络传输时间小于等于2s。
3)适应性
技术约束:
本项目的设计是在JavaSwing窗体程序设计语言的条件下进行的,技术设计采用软硬一体化的设计方法。
标准约束:
该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格。
2.4运行需求
1)用户界面
本系统是以窗体的形式工作的,打开系统后,呈现在眼前的是一个登陆界面,输入学生证号和密码进入系统,图书管理员输入管理员账号和密码,即可以选择要进行的操作,各种操作都与数据库相连接,数据库的数据保持实时性,一旦做出改动,数据库马上保存,保证不数据的完整,不丢失。
对用户友好。
用户界面的设计要遵循用户界面设计的原则,做到以人为本、尽可能减少用户记忆、保持界面的一致性。
力求设计结果应做到美观大方、直观、明了、条理清晰,实现“傻瓜型”管理——易学、易用、易管理。
主要页面截图:
登陆界面:
主界面:
图书添加修改删除:
用户借书还书:
2)硬件接口
需要浏览器进行显示,键盘进行输入。
3)软件接口
Windows7,Windowsvista/Windowsxp或更高版本的操作系统或更高的版本
4)故障处理
对于硬件故障,系统能够自动备份数据,防止由于计算机故障致使数据丢失;
对于数据库,要求在发生故障时,能够实现数据的恢复;
对于实际应用程序,要求能够判断,当用户输入一些错误信息后,系统应该能够给出相应的错误提示信息,不应该因输入错误信息而终止系统的运行。
2.5其它需求
可使用性:
本系统一学易用,不用对使用人员进行特殊的培训,要求容易使用,界面友好;
系统最小寿命:
系统应能在无重大改动的条件下正常运行3年以上。
安全保密:
除管理人员外,其他人员不能对学生及书籍信息做任何修改。
可维护性:
由于本系统一学易用,管理方面也相对简单,数据库的管理需要专门管理员管理;
可移植性:
对Microsoft的WindowsXP以上的系统均可使用;对其他系统暂不支持。
3.软件设计说明书
3.1软件模块结构图
本系统主要是用于图书馆的管理,根据实验的要求,把本系统划分成两大模块,分别是用户子模块、管理员子模块,具体图如下所示:
3.2文件结构和全局数据
给出外部文件结构以及与软件所使用的数据库有关的全局数据
1)数据库设计/外部文件描述:
包括数据库的逻辑设计和外部文件的逻辑设计
(每个外部文件的名称、结构、特性和存取权限的约定;每个文件、数据库表的逻辑结构)
2)全局数据:
给出为软件各个模块所共享的全局数据的结构和存取模式
3)系统的各个数据库设计如下:
1、读者信息表
2、管理员信息表
3、图书期刊信息表
4、图书借阅表
3.3模块描述
3.3.1登录模块描述
1)功能:
管理员或学生通过登录界面进入系统。
2)接口:
将管理员或学生输入的账号和密码与数据库中的数据比对
3)数据:
用户名,密码
4)处理:
点击“登陆”,若有符合项,就登录成功,否则,登录失败。
3.3.2管理员管理学生信息模块描述
1)功能:
管理员登录后,可以对学生信息进行管理
2)接口:
由管理员模块调用此模块,连接数据库查询学生信息,添加学生、删除学生、修改学生信息,更新到数据库中处理。
3)数据:
学生编号、学生登录密码、学生性别、学生的出生年月
4)处理:
3.3.3管理员管理图书信息模块描述
1)功能:
管理员登录后,可以对图书信息进行管理
2)接口:
由管理员模块调用此模块连接,连接数据库查询图书信息,添加图书、删除图书、修改图书信息,更新到数据库中处理。
3)数据:
图书编号、图书名称、图书的状态、图书类型、图书作者、图书出版社、图书出版日期、图书的描述
4)处理:
3.3.4管理员管理图书管理员信息模块描述
1)功能:
管理员登录后,可以对图书管理员信息进行管理
2)接口:
由管理员模块调用此模块连接,连接数据库查询图书管理员信息,添加图书管理员、删除图书管理员、修改图书管理员信息,更新到数据库中处理。
3)数据:
管理员编号、管理员姓名、管理员登录密码
4)处理:
3.3.5学生管理学生信息模块描述
1)功能:
学生登录后,可以对学生信息进行管理
2)接口:
由管理员模块调用此模块连接,连接数据库查询学生信息,修改学生信息,更新到数据库中处理。
3)数据:
学生编号、学生登录密码、学生性别、学生的出生年月
4)处理:
3.3.6学生查询图书信息模块描述
1)功能:
学生登录后,可以查看馆内所有图书信息。
2)接口:
由主模块调用此模块,
3)数据:
图书编号、图书名称、图书的状态、图书类型、图书作者、图书出版社、图书出版日期、图书的描述
4)处理:
学生点击“查询图书信息”进行操作,
3.3.7读者借阅模块描述
1)功能:
读者登录后,可以查看自己的借阅情况,也可以向图书馆所藏图书进行借阅
2)接口:
由学生模块调用此模块,用到此模块的有学生查询查询图书信息的模块
3)数据:
图书编号、图书名称、图书的状态、图书类型、图书作者、图书出版社、图书出版日期、图书的描述
4)处理:
学生点击“查询”、“借阅”后进行操作
4.软件测试计划
4.1测试范围
(1)测试是为了发现程序中的错误而执行的过程;
(2)好的测试方案实际可能发现迄今为止尚为发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误测试。
(3)测试范围:
对于本系统的测试主要是针对用户登录(包括管理员、读者)、管理员管理科目(是否可以添加、删除、编辑读者及管理员信息)、管理员管理图书信息(是否可以向图书数据库中添加图书、是否可以删除图书、编辑图书信息)、读者管理信息(是否可以在图书表中借阅、是否修改、编辑读者个人信息)等等。
可以使用白盒测试和黑盒测试,等测试方法设计测试用例。
(4)测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
4.2测试计划
1.将整个测试分为两大部分进行,整个软件分为两个模块,每个模块都要测试,而且模块与模块之间独立测试。
每个模块的功能都要涉及测试用例。
选定测试方案。
2.针对每个模块的每个功能设计并编辑测试用例。
3.先采用白盒测试,再采用黑盒测试
4.用IBMrationalFunctionalTester工具测试。
4.2.1测试阶段
第1阶段,对个模块的测试说明:
测试用户管理模块、学生信息模块、课程信息模块、成绩信息模块的功能是否有错误和缺陷。
对相关数据进行操作,看是否会得到与预期不一样的结果。
第2阶段,将各模块装配进行集成测试,看个模块相互调用是否有错误。
第3阶段,对照需求说明书进行确认测试,看个子系统的实现的功能是否符合预期结果。
第4阶段,系统测试,运行整个系统,对系统中各个组成部分进行综合性检验。
4.2.2测试进度:
测试模块名称
测试顺序
先序完成的测试
系统登录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计