软件工程设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
(2013 -- 2013年度第二学期)
名称:软件工程课程设计题目: 火车站售票系统院系:计算机系
班级:
学号:
学生姓名:
指导教师:宋雨,陈晴,王德文设计周数:2周
成绩:
日期:2013年6 月21 日
《软件工程》课程设计
任务书
一、目的、要求
通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。
二、主要内容
要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。
具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。
三、进度计划
四、设计成果要求
1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试计划,要求文档格式规范、逻辑性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;
2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式
(1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》实验报告评分表)占60%(2)系统验收、讲解、答辩占25%(3)考勤占15%
学生姓名:
指导教师:
2013年6 月16 日《软件工程课程设计》实验报告评分表
一、课程设计的目的与要求
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.3 技术可行性分析
开发工具:Microsoft Visual Studio 2008 数据库环境:MySQL 系统环境:Win7。
系统实现依靠相对比较熟悉的C++语言和MySQL 数据库系统,其基本操作实质还是
有账号
登陆 注册
车票预订
车次查询 余票查询 订单查询
车票退订 预订成功
对数据库进行添加、删除、查找等操作。
1.4经济可行性分析
本系统所用到的应用软件、硬件系统都易于获得。
因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
1.5社会因素可行性分析
1.5.1 法律因素
因为此系统不仅为人们提供了快捷的服务,更重要的是可以在足不出户的情况下就能够解决购买火车票的问题,它使得中国的订票系统更加理性化也更加人性化,且该项目为独立开发,在技术上没有使用任何现有的软件与方法。
所以在法律上具有可行性。
1.5.2 用户使用可行性
中国旅客多,而选择铁路的更是多数,故应需求而言,符合基本要求;网络订购系统比窗口排队等票方便快捷,为大众节约时间精力,符合人情;网络已成为现代的代步工具,足不出户即可定多事,符合实际;订购系统为免费注册账户,经济实惠。
具有可行性。
1.6可供选择的方案
我曾想过B/S(Browser/Server)结构即浏览器和服务器结构,采用.net实现。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
但由于不熟悉SSH(Stucts+Spring+Hibernate)框架,也没找到合适的合作同伴,所以放弃了。
我选择现用方案是由于效率,安全,技术方面的原因。
2. 软件需求规格说明书(SRS)
2.1需求概述
1)给出软件需求的摘要和简单描述
一般的用户可以通过本网站选择出发地点和到达地点来查询车票,然后进行车票预订,用户还可以通过我的订单来进行对预订的车票进行退票和查询自己预订的车票详细信息。
用户可实现的功能有:登陆、注册、车票的预订、车票的余票查询、实现车票的票价查询、订单的查询和退订
2)运行环境
Windows7操作系统、MySQL、Microsoft Visual Studio 2008
2.2功能需求
1.用例图
用户票价查询余票查询车票预订用户注册
2.功能表述图
2.3 数据描述
E-R 图
系 统 主 界 面
Microsoft Visual Studio 2008
MySQL 数据库
数据存储、数据查询、数据修改、数据删除
数据存储、数据查询、数据修改、数据删除
2.4性能需求
1)数据精确度
在进行向数据库提取数据时,需要据记录定位准确;在往数据库中添加数据时,需要输入的数据准确。
2)时间特性
在进行向数据库提取数据时,需要据记录定位准确;在往数据库中添加数据时,需要输入的数据准确
3)适应性
当需求发生某变化时,系统软件操作方式、数据结构、运行环境基本不会发生变化,变化只是将对应的数据库内的记录改变,或将过滤条件改变即可。
2.5运行需求
1)用户界面
Windows7界面本软件产品通过PC机浏览器进行访问操作,界面简单明了,功能导航菜单统一。
2)硬件接口
不必是专门的网络硬件环境,一般只要有操作系统和浏览器就行了。
本工程产品需要高性能的服务器硬件接口进行支持。
3)软件接口
本工程产品的软件接口由Windows7中文操作系统、MySQL数据库以及软件的词典和数据结构组成。
4)故障处理
对出现的问题无法采用可行的解决手段,会影响开发模块之间的互动,从而影响开发
软件的开展,导致软件无法按期完工。
所以要个相应的部门的协力才能工作,才能很好的完成这个软件系统。
2.6其它需求
包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误、遗憾或者其它不足的地方。
3. 软件设计说明书3.1软件模块结构图1.系统结构图
3.功能模块图
最初界面截图
3.2文件结构和全局数据
1)逻辑结构设计要点:
本系统内软件所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
1.车次信息包括:车号、出发地、目的地、发车日期、座位等级、剩余座位数。
2.订票记录包括:订单号、身份证号、车号、订购日期、订购票数。
3.用户信息包括:用户名、身份证号、性别、电话、地址。
2)全局数据:
模块1---登录系统模块
输入:登录账号和密码
模块2---车票查询模块
输入:客户信息、车次信息输出:分析结果
模块3---订购模块
输入:分析结果输出:订购成功/失败通知
模块4---退票模块
输入:退票信息输出:有效退票/无效退票的确认模块5—新用户注册模块
输入—用户信息输出—注册成功确认
硬卧余票TouristTicket Int否否
硬座余票HardTickts Int否否
站票StandTicks Varchar10
表的用途记录车票信息的
表名:车票预订信息(Bicket)
表名称车票预订信息
字段名称表字段类型长度主键允许空默认自动编号BId int是否无车次编号TId Int否是无车票类型Type Varchar20否是无表的用途记录车票预订
3.3模块描述
3.3.1 登录系统模块描述
1)功能:登录系统在欢迎界面选择,进入登录窗口
2)处理:模块的流程处理,如图3-1 所示
开始
用户登录
用户名和密码
点击登录
登录成功
结束
图3-1 截图如上:
3.3.2 车票查询模块描述
1)功能:查询所需车票的余票、用户通过出发时间、地点查询。
2)处理:模块的流程处理,如图3-2所示
开始
余票查询
输入时间、地点
点击查询
查询成功
结束
截图如下图3-2
3.3.3 车票预订模块描述
1)功能:车票预订,用户通过出发时间、地点查询。
2)接口:会调用车票查询模块
3)处理:模块的截图处理,如图3-3所示
图3-3
3.3.4 车票退订模块描述
1)功能:车票预订后的查询订单并退订车票,用户通过出发时间查询订单并退订。
2)接口:会调用用户登陆及查票查询模块
3)处理:模块的流程处理,如图3-4所示
开始
订单查询
输入时间
查询成功
车票退订
退订成功
结束
图3-4 截图:
3.3.5 新用户注册模块描述
1)功能:没有账号的用户注册。
2)处理:模块的流程处理,如图3-5所示
开始
用户注册
输入信息
进行注册
注册成功
结束
图3-5 截图如上:
4. 软件测试报告
4.1测试范围
这一部分要列出所有要测试的功能项。
凡是没有出现在这个清单里的功能项都排除在测试的范围之外。
具体要点有接口测试、集成测试、功能的测试、业务周期测试、用户页面测试、性能测试整体考虑这部分测试需求要考虑到数据流从软件中的一个模块流到另一个模块的过程中的正确性。
4.2测试计划
4.2.1 测试阶段
1.尽早地和不断地进行软件测试
2.测试用例应由测试输入数据和与之对应的预期输出结果两部分组成
3.程序员应避免检查自己的程序
4.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
5.充分注意测试中的群集现象
6.严格执行测试计划,排除测试的随意性
7.应当对每一个测试结果做全面检查
8.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
4.2.2 测试进度:
4.3测试项目说明
1.登录模块功能:
登录界面测试用例LH001
2.车票预定模块
车票预订测试用例LH004
4.用户注册模块
注册测试用例LH002
5.查询模块
查询测试用例LH003
6.退票模块
退票测试用例LH005
4.4测试分析
4.4.1 第1个阶段登录模块的测试分析
1.实测结果数据:100%
2.与预期结果数据的偏差:0
3.该项测试表明的事实:配置文件和数据库文件无损坏,有足够内存可供使用
4. 该项测试发现的问题:无
4.4.2 第2个阶段车票预订模块的测试分析
1.实测结果数据:100%
2.与预期结果数据的偏差:0
3.该项测试表明的事实:若数据库文件或配置文件不能正常操作或全局数据已经不一
致,设置后备数据库,以防之需
4. 该项测试发现的问题:后备数据库、配置文件的重载会加大系统的运转,空间扩大。
4.4.3 第3个阶段注册测试模块的测试分析
1.实测结果数据:100%
2.与预期结果数据的偏差:0
3.该项测试表明的事实:正常
4. 该项测试发现的问题:无
4.4.4 第4个阶段查询测试模块的测试分析
1.实测结果数据:100%
2.与预期结果数据的偏差:0
3.该项测试表明的事实:采集了最常出现的查询方式进行查询
4.该项测试发现的问题:查询的例子还不是很全面
4.4.5 第5个阶段退票测试的测试分析
1.实测结果数据:100%
2.与预期结果数据的偏差:0
3.该项测试表明的事实:数据库里全面的采集正确有效的信息
4.该项测试发现的问题:无效信息的范围很广,缩小需要时间
三、课程设计总结或结论
通过这次完成的课程设计项目实践让我又学到了许多新的技术,也明白了实践的重要性,知道有的东西不自己做是无法掌握的。
并且让我知道了需求分析是什么。
也了解到写需求分析文档的重要性。
知道开发一个软件不仅要会写代码还必须要会写项目的需求分析文档。
因为项目的需求分析文档是给别人看的,所以在一定程度上项目的需求分析文档比软件本身更重要。
而且,在我们在写这个项目的需求分析文档之前,我们要去了解这个项目的流程和一些相关的知识。
这对于我们在开发这个软件的过程中将带来很大的便利,他能让我们的思路更加清晰,不易出错。
最后,通过这次完成的课程设计实践提高了我的逻辑思维能力和动手能力,也让我累计的一些宝贵的开发经验让我在以后的学习中能更加得心应手。
四、参考文献
[1]王珊、萨诗煊. 数据库系统概论. 高等教育出版.2006.05
[2]柳永坡,刘雪梅,赵长海.JSP应用开发技术. 北京:人民邮电出版社,2005
[3]蒋本珊,黄敏.基于数据库和ASP的网上自我测试系统.计算机系统应用,2002(1).
[4]宋雨,赵文清编著.软件工程.北京:中国电力出版社,2007
[5]刘利民、田保军. 《软件工程综合设计指导书》. 2011。