软件工程实验.docx
- 文档编号:24094746
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:19
- 大小:596.37KB
软件工程实验.docx
《软件工程实验.docx》由会员分享,可在线阅读,更多相关《软件工程实验.docx(19页珍藏版)》请在冰豆网上搜索。
软件工程实验
《软件工程》
实验报告
学院:
______软件学院_________
专业班级:
______软件1308班_____
学号:
______2013005493______
姓名:
_______朱瑞春_____指导教师:
崔冬华
2015-05-20
太原理工大学学生实验报告
专业班级
软件1308班
学号
2013005493
姓名
朱瑞春
实验日期
2015.05.11
实验地点
实验楼209
成绩
课程名称
机票预订系统
实验题目
传统软件开发方法的需求分析建模
1、目的与任务
目的:
(1)客户端功能
旅行社把旅客要求订票的信息由专人负责输入,进行网上订票。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客。
(2)服务器端功能
接收由旅行社客户端发回的所需机票信息。
通过网络接收机票信息并存入到服务器的数据库中。
生成航班信息。
根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息,分配所需的机票数并在数据库中做出已售出的标记。
传递航班信息到旅行社(客户端),把得到的航班信息通过网络传递到旅行社。
打印机票给已经订票的旅客。
根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。
任务:
数据流图
(1)旅客订票流程图,如图3.1所示:
图3.1旅客订票流程
(2)旅客取票流程图,如图3.2所示:
图3.1旅客取票流程
数据字典
思考题:
1:
如何理解需求分析在软件开发中的重要性?
需求分析”,就是对需要解决的问题进行详细分析,弄清楚需要解决的问题。
开发人员需要了解顾客的需求,然后体现在软件中。
如果说软件开发过程中,开发人员需要了解自己做什么,顾客需要告诉开发人员自己需要什么,而需求分析就是连接开发人员和顾客之间的重要纽带。
只有真正理解顾客的需求,才能设计出顾客所需要的软件。
在过去很长一段时间,开发人员的认为需求分析是整个开发过程中最简单的一个环节。
然后越来越多的开发人员认识到它才是整个开发过程中的核心部分。
正所谓“磨刀不误砍柴工”。
只有真正理解了顾客的需求,才能顺利开发出顾客真正需要的软件。
如果一味追求进度,而忽略需求分析,很可能南辕北辙,开发变得毫无意义。
2、分析业务流程图,数据流图和程序流程图之间的差别和各自的特点。
数据流图:
它从数据的传递和加工角度,以图形方式来表达系统的逻辑功能,数据在系统内部的逻辑流向和逻辑交换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示放大。
它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。
程序流程图:
程序流程图:
程序逻辑描写叙述程序中控制流的情况,即程序中处理的运行顺序和运行序列所以来的条件,途中的有向线段表示的是控制流从一个处理走到下一个处理。
(程序流程图标准符号)(数据流图标准符号)
太原理工大学学生实验报告
专业班级
软件1308班
学号
2013005493
姓名
朱瑞春
实验日期
2015.05.11
实验地点
实验楼209
成绩
课程名称
机票预订系统
实验题目
传统软件开发方法的结构设计
总体设计可能的设计方法有自顶向下,逐步细化设计方法;模块化设计方法;结构化设计方法。
针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层次结构的各个部分组合起来,以完成整个系统的实现细节。
1.层次结构
系统的的顶层结构
航班信息管理
图4.2航班信息管理
订票处理:
图4.2订票处理
取票处理:
例外处理(此处航班改变后,均做退票处理)
2.接口设计(人机界面设计)
管理员和票务员使用同一登陆界面,登陆后进去后有个自的界面,然后进一步操作。
大体的界面设计
订票界面
4.数据库设计
整体E-R图
模块设计
模块设计将对总体设计中模块结构进行细化。
登陆模块
航班信息管理的各个模块
订票处理的各个模块
图:
订票处理各模块
取票处理模块
例外处理退票面模块(延误取票和此模块类似)
思考题:
1.系统设计和需求分析的关系是什么?
两者必须先后关联吗?
需要先进行需求分析后再进行系统设计,需求分析作为系统设计的输入,系统设计的目标是为了实现用户需求。
把用户需求转换为系统需求,所以需求分析实质上做的是理解用户的想法并描述出来,系统设计是把描述的需求转换落地的方案。
2.怎样描绘系统的体系结构?
a.系统体系结构是一个综合模型系统。
体系结构是由许多结构要素及各种视图(或观点)(View)所组成的,如下图,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。
所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统.
b. 系统体系结构是一个系统建模的方法。
在系统体系结构的各种视图中,以组织视图与行为视图最为突出和重要。
所以,要完成各种视图的综合,必须先完成组织与行为视图的统一。
基本上,通过组织视图与行为视图的合一过程,我们就可以构建出一个可以完整描述的系统。
所以,系统体系结构可以作为构建系统模型的一种方法。
一般来说,系统或软件体系结构都需要用相应的体系结构描述语言来描述,其目的在于为体系结构进行描述和呈现,为体系结构中的相关人员,如:
管理人员、系统开发人员和用户等,提供可以进行沟通的语言。
太原理工大学学生实验报告
专业班级
软件1308班
学号
2013005493
姓名
朱瑞春
实验日期
2015.05.11
实验地点
实验楼209
成绩
课程名称
机票预订系统
实验题目
系统测试
一、目的与任务
目的:
在实验四基础上选择一个模块进行编码,完成相关的测试。
1、了解软件测试方法分类,其中包括:
1)白盒测试2)黑盒测试3)静态测试4)动态测试
2、了解测试类型
1)单元测试2)集成测试3)确认测试4)黑盒测试
5)白盒测试6)功能测试7)α测试8)β测试
任务:
正确运用软件测试技术和方法,完成系统的单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法,并给出测试报告。
2、内容、要求
测试用例:
使用黑盒法测试“新增航班”模块功能
1.验证表单完整性:
用例一:
出发城市:
北京
到达城市:
上海
起飞日期:
起飞时间:
机票价格:
机票数目:
用例二:
出发城市:
北京
到达城市:
起飞日期:
起飞时间:
机票价格:
机票数目:
用例三:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
机票价格:
机票数目:
用例四:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
机票数目:
用例五:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
用例六:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
123
2.验证出发城市及到达城市合法性:
用例一:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
123
用例二:
出发城市:
北京
到达城市:
北京
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
123
3.验证起飞日期合法性:
用例一:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
123
用例二:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-6
起飞时间:
12:
30
机票价格:
1234
机票数目:
123
4.验证机票价格合法性:
用例一:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
123
用例二:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
¥1234
机票数目:
123
用例三:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
-1234
机票数目:
123
5.验证机票数目合法性:
用例一:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
0
用例二:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
&123
用例三:
出发城市:
北京
到达城市:
上海
起飞日期:
2008-6-11
起飞时间:
12:
30
机票价格:
1234
机票数目:
-123
太原理工大学学生实验报告
专业班级
软件1308班
学号
2013005493
姓名
朱瑞春
实验日期
2015.05.11
实验地点
实验楼209
成绩
课程名称
机票预订系统
实验题目
面向对象的分析与设计
1、目的与任务
目的:
掌握面向对象的分析、设计方法,建立对象模型、功能模型和动态模型,并掌握UML中常用的模型符号的使用方法。
任务:
用一个简单项目(可以考虑仍然选择前面面向过程软件工程所选定的项目),通过分析,建立系统用例图,抽取出类,建立顺序图及类的状态图等。
2、内容、要求
用例模型图
用例模型图说明:
机票预订系统主要使用的对象是旅行社管理员。
管理员根据顾客填写的目的地和时间信息,将其输入系统,系统根据相关信息进行处理,则系统其中的一个功能即用例就是接收顾客信息。
顾客需要用取票单去航空公司取票,系统由管理员输入的信息来识别,则系统的另一个功能即用例就是预定管理员输入信息符合的票。
1-2、类图
类图说明:
为此系统定义了4个类,分别是顾客类,管理员类,航空公司类,机票类。
各个类对应的属性和操作方法在图中已表示出,目前应该还是有很多不完善的地方,在后期再加以修改。
1-3、对象图
对象图说明:
对象图是根据设置的类图而设置的。
一个对象就是类的一个具体实例,本例中设置了一个custom的取票操作,详细信息在图中已经设置,根据顾客的相关信息和操作,系统会调用相应的类的对象来处理,在本例中不一定会全部都涉及。
1-4、顺序图
顺序图说明:
顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。
由于在顾客,旅行社,航空公司之间也有先后顺序,所以在顺序图中会有两个生命周期,分别是订票和取票操作。
旅行社根据顾客填写的信息,就操作系统的订票功能。
系统在对管理进行处理时,会先记录顾客的相关信息,最后再打印取票单给顾客。
系统对取票进行处理时,会先收取款,最后会把票给顾客。
1-5、状态图
状态图说明:
在订票系统中,主要会有两个对象的状态:
顾客和管理员。
顾客的状态最开始是填写信息,再管理员将信息输入系统,此时系统查询合适的航班,顾客收到系统打印出的相应单据,最后顾客将取票单和款返回给系统得到票。
1-6、活动图
活动图说明:
状态图着重描述对象的状态变化以及触发状态变化的事件,活描述系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程。
在订票系统中,各种活动由顾客和管理员的状态图转化而来。
顾客的信息,之后就由管理员输入系统,系统对应的活动就有查询订票,各自活动都有自己的的后续活动。
2、动态模型
动态模型说明:
动态模型主要是描述系统的动态行为和控制结构。
动态行为包括系统中对象生存期内可能的状态以及事件发生时状态的迁移,还包括对象之问动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动问的约束关系。
动态模型主要包括的状态图、顺序图和活动图已经在1-4、1-5、1-6中画出。
建立动态模型的第一步是编写交互行为的脚本;第二步从脚本中提取出事件,确定后触发每个事件的动作对象及接收事件的目标对象;第三步排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。
最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。
3、功能模型
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成,此功能模型的分析与设计依照对象模型和动态模型而来。
DFD图(数据流图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。
数据流中没有任何具体的物理部件,它知识描绘数据在软件中流动和被处理的逻辑过程,流程如图。
4、对象模型
对象模型说明:
对象模型描述了现实世界中的类与对象以及它们之间的关系,表示了目标系统的静态数据结构。
首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;然后给类和关联增添属性,以进一步描述它们;接下来利用适当的继承关系进一步合并和组织类。
而对类中操作的最后确定,则需要等到建立了动态模型和功能模型之后,以为这两个子模型更准确地描述了对类中提供的服务的需求。
思考题:
要用面向对象的方法描绘系统的体系结构,该如何进行?
系统体系结构用于描述系统各部分的结构,接口以及用于通信的机制,包括软件系统体系结构模型和硬件系统体系结构模型。
而软件体系结构模型对系统的用例,类,对象,接口以及相互之间的交互和协作进行描述;硬件系统体系结构模型对系统的组件、结点、的配置进行描述。
用UML中的组件图和配置图(部署图)来建模。
实验总结:
软件工程这门课程是做软件开发的人必学的课程,通过学这门课程,程序员就会注重软件开发的理论知识,以及做项目开发的思路。
学了这门课程后你写程序就不会去盲目的去套用代码,而是理清此程序的架构以及思路。
程序该从什么时候开始,什么时候结束。
在中间需要添加什么样的功能,以完善该软件。
其实学软件工程并不难,而且很容易。
软件工程与日常生活联系起来的话,就是在一天中你该先做什么,后做什么。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)