软件工程导论实验指导书2013版.doc
《软件工程导论实验指导书2013版.doc》由会员分享,可在线阅读,更多相关《软件工程导论实验指导书2013版.doc(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、朱建凯 何海江 汪祥 毛伟 编软件工程(导论)实验指导书长沙学院计算机科学与技术系2013年9月前 言软件工程(导论)是计算机类本科专业的重要专业基础课程,它是指导计算机软件开发和维护的一门科学,包含技术和管理两方面内容,是技术与管理紧密结合所形成的工程学科。同时软件工程对实践经验要求非常高的,中间的很多经验都需要在实践中去体会和认识。该实验指导书内容是在指导08、09、10三届学生的实验课程中不断总结完善,并按照2011版计科专业和软件工程专业的培养方案以及实验(实训)大纲重新对内容进行了组织和编排。整个实验按照六个实验来设计,全部完成需要32学时,在具体的教学过程中,可以灵活调整。在这六个
2、实验中,全部以一个航空售票点售票软件的程序设计作为主线来贯穿全部设计过程,按照软件项目开发的自然过程安排实验(实训),首先从需求分析、再到系统分析设计、编码和单元测试,其中顾及到结构化程序设计方法和面向对象程序设计方法,在需求建模和程序设计方面安排学生分别用这两个方法对这个开发任务分析和设计各进行了一次。通过这六个实验,基本了解和熟悉软件工程管理的几个主要过程,达到熟悉教材,理会软件工程管理理论的目的。该实验指导书是根据2011版计算机科学与技术专业培养方案对软件工程课程的教学要求,以及软件工程专业培养方案对软件工程导论实训课程的要求编写的实验指导书,其中计科专业实验课时数是20学时,软工专业
3、实训课时是32学时,因此本指导书只能按照32学时来设计,计科专业采用本实验指导书时必须适当调整内容。计算机专业实验室从2013年下学期开始所有的实验(实训)课程都不再提交纸质的实验报告而全部在网络实验平台上提交实验报告。报告的网址是:http:/218.196.43.18:8888/login.aspx。特别请同学们注意,每个实验之后都必须由指导教师现场在计算机上检查打分并录入系统之后,学生才能提交实验报告,然后老师再综合实验报告和现场检查的打分给每个实验项目打分。必须全部实验项目都及格,才会有实验分数,否则实验分数计零分,且必须补考或重新。本实验指导书中,实验一和实验二由朱建凯老师编写,实验
4、三和实验五由汪祥老师编写,实验四由毛伟老师编写,实验六由何海江老师编写。编者2013年9月目 录第一部分 实验内容设计任务 2实验1:需求分析3实验2:程序设计4实验3:用例分析5实验4:面向对象设计6实验5:程序实现 7实验6:软件测试8第二部分 实验指导实验1:需求分析实验指导10实验2:程序设计实验指导15实验3:用例分析实验指导25实验4:面向对象设计实验指导31实验5:程序实现实验指导 34实验6:软件测试实验指导35第一部分实验内容设计任务题目:机票预定系统1基本功能要求航空公司售票点为给旅客乘机提供方便,需要开发一个机票预定系统。各个订票点把预定机票的旅客信息(姓名、性别、工作单
5、位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求)输入到联网的系统中,系统为旅客安排航班。当旅客确认航班并交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。2技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。(2)对于本系统还应补充一下功能:1旅客延误了取票时间的处理2航班取消后的处理3旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。(
6、4)系统支持现金支付和信用卡以及银行卡支付,不支持网上订票和网上付款。实验1:需求分析1、 实验目的学习结构化软件需求分析方法,掌握软件需求的表达方式和方法2、 实验类型 综合性实验3、 实验学时 4学时4、 实验原理及知识点数据流图;数据字典;数据加工说明需求规格说明书5、 实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:Windows XP,Microsoft Visio6、 实验内容及步骤认真分析第1页的用户需求并整理,逐条列出需求要求并对需求要求进行归类,设计需求编码规则对需求要求进行编号;设计数据流程图;设计数据字典;设计数据加工说明;根据设计出来的模型,重新调整前面整
7、理的需求初稿,最后按照软件需求规格说明书的格式写一份需求规格说明书。第一步:研究需求的内容,用自然语言逐条描述;第二步:逐条对需求分类并编号;第三步:绘制数据流程图;第四步:编写数据字典和数据加工说明;第五步:重新修订需求规格说明书7、 思考与练习需求规格说明书中,为什么要将需求逐条编上号,而且要对需求的描述非常准确,这样操作主要是为了什么?实验2:程序设计1、 实验目的学习软件的结构化设计方法,练习采用结构化设计方法完成程序设计任务的过程。2、 实验类型 综合性实验3、 实验学时 6学时4、 实验原理及知识点模块化程序设计理论;信息隐藏和局部化;面向数据流图的设计方法;PAD图5、 实验环境
8、(硬件环境、软件环境)硬件平台:普通个人计算机;软件:Windows XP,Microsoft Visio6、 实验内容及步骤以上一次实验课完成的数据流图为基础,按照数据流图的设计方法,选用事务流或者变换流的分析方法,设计出系统的总体结构,要求:l 完成从数据流图到模块结构图的转化,标记出各模块的输入数据和输出数据以及要完成的数据处理任务;l 画出层次图和HIPO图;l 从数据字典出发设计出数据的ER图,并把ER图转化为关系数据库模式;l 用PAD图和过程设计语言(伪码)来描述上面完成的各模块的设计任务;l 最后将上面完成的工作,以设计说明书的形式展现出来。第一步:复查并细化数据流图确定数据流
9、图具有变换特性还是事务特性;第二步:确定输入流和输出流的业务边界;第三步:设计出初步的模块分解图; 第四步:从初步的模块结构图得到最终的模块结构图(MSD);第五步:编写模块的输入数据,处理过程,输出数据(IPO);第六步:设计模块的PAD图以及过程设计语言描述;第七步:完成程序的设计说明书。7、 思考与练习用事务流分析方法和变换流分析方法,差别主要在什么地方。什么情况下用事务流分析法,什么情况下用变换流?软件系统设计过程中,如果能用过程设计语言先期设计好详细设计再进一步编程序有什么好处。和不搞详细设计直接到机器上写程序代码相比,感觉到会有什么差异,有什么好处。实验3:用例分析1、 实验目的学
10、习和掌握如何分析需求并绘制UML用例图,编写用例规约。2、 实验类型综合性实验3、 实验学时4学时4、 实验原理及知识点用例;参与者;包含关系;扩展关系;泛化关系;用例规约说明5、 实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:Windows XP,StarUML6、 实验内容及步骤研究最初的用户需求,找出系统的参与者;绘制出用例图;写用例规约;改造实验一编写的需求规格说明书。第一步:找出系统的参与者;第二步:找出系统的具体用例;第三步:确定参与者和用利,以及用例和用例之间的关系;第四步:编写每个用例的用例规约;第五步:改造实验一编写的软件需求规格说明书。7、 思考与练习结合本
11、实验说说面向对象需求分析和结构化需求分析的方法差异,优缺点。实验4:面向对象设计1、 实验目的在前面基础上按照课堂教学中要求完成系统的UML类图设计,绘制活动图、构件图、部分顺序图和部分状态图。2、 实验类型综合性试验3、 实验学时6学时4、 实验原理及知识点设计活动图,进一步理解需求;设计类图确定实现的操作和属性;设计构件图确定系统的整体结构;部分顺序图进一步确定详细设计;部分状态图进一步确定类的操作。5、 实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:Windows XP,StarUML6、 实验内容及步骤设计活动图、类图、构件图;设计部分顺序图、部分状态图修改实验二编写的
12、程序设计说明,变成一个面向对象的程序设计说明。第一步:设计活动图,进一步理解系统需求;第二步:初步设计类模型,确定属性和基本操作;第三步:设计构件图,初步确定系统的最终结构;第四步:设计部分关键业务的顺序图,机票和订单的状态图;第五步:修改和完善类模型和构件图;第六步:修编实验二已经完成的程序设计说明书。7、 思考与练习结合本机票预定系统,说明结构化设计和面向对象设计的差异,评价其优劣。顺序图和状态图设计什么情况下才需求,才最有利于未来的程序编码?实验5:程序实现1、 实验目的熟悉按照软件设计说明书来编写软件代码,锻炼学生编写程序的同时,必须严格按照设计说明来编码。2、 实验类型综合性试验3、
13、 实验学时6学时4、 实验原理及知识点数据库表结构的实现;程序界面的实现;出错处理界面的设计;程序和数据库的连接;软件开发卷宗的编写。5、 实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:Windows XP,MyEclipse6、 实验内容及步骤1、设计人机界面风格,出错处理;数据库表结构;2、设计所有的程序界面,编写和数据库连接的代码;3、设计代码实现程序界面之间的驱动和调用;4、编写程序代码说明书。第一步:在数据库中设计数据库表结构;第二步:确定界面设计风格,出错处理设计,变量定义规则,将其写入程序代码说明书;第三步:设计出所有需要的JSP静态页面;第四步:完成MyEcli
14、se中代码与底层数据库的连接和调用编程;第五步:修改设计好的JSP静态页面为动态页面,以展示数据库中的数据;第六步:实现各页面之间的调用和底层数据处理;第七步:完善程序代码说明书。7、 思考与练习结合设计过程,说说实验四设计的程序设计说明书是否在代码设计中起到了作用?你认为自己写的程序设计说明书还有哪些方面应该改进,以更对这个程序的编程有指导意义。实验6:软件测试1、 实验目的掌握黑盒测试技术、白盒测试技术,了解集成测试的策略,掌握测试用例的设计方法,提高文档撰写能力。通过机票预订系统的测试实例,使同学们熟悉软件测试的一般流程。2、 实验类型综合性实验3、 实验学时6学时4、 实验原理及知识点
15、单元测试;系统测试;验收测试;白盒测试;黑盒测试;测试报告5、 实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:Windows XP,Office,MyEclipse6、 实验内容及步骤采用白盒测试技术完成一个程序单元的单元测试;采用黑盒测试技术完成程序的系统集成测试;编写单元测试报告, 编写系统测试报告。第一步:研究由指导教师制定的单元模块的程序结构,确定白盒测试的测试策略;第二步:以该单元模块的顺序图为线索,设计单元的测试用例;第三步:执行单元测试过程,编写单元测试报告;第四步:以前面设计的活动图为线索,设计系统的测试用例;第五步:执行系统测试过程,编写系统测试报告。7、 思
16、考与练习单元测试通常由代码设计编写人员自己来完成,如何来保证单元测试过程的质量和效果呢?测试报告中存在有测试用例没有通过的情况,那么是否结论就是程序没通过测试?测试过程中的测试用例出现和期望的结果不一致情况,是否就是测试用例不通过?第二部分实验指导实验1: 需求分析实验指导需求编码应该完成对所有需求的整理,并对每项需求建立编号。需求编号示例:Srs-fun-1: 系统须能够录入旅客的订票信息;(表示“需求规约-功能需求-1”)Srs-fun-2:系统须能够提供给旅客可选的航班信息;(表示“需求规约-功能需求-2”)Srs-int-1:系统能从航空公司获取最新的航班信息及其票源信息;(表示“需求
17、规约-接口需求-1”)需求分类需求分为:功能性需求,性能需求,接口需求,设计约束,质量需求。数据流图数据流图反映数据的流动和处理过程,是和用户交流的极好交流工具。1 符号数据流图有四种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。2 例子假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的
18、CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。图1.1 定货系统的基本系统模型图1.2 定货系统的功能级数据流图图1.3 把处理事务的功能进一步分解后的数据流图3 命名1) 为数据流(或数据存储)命名(1) 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。(2) 不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。(3) 起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的。2) 为处理命名(1) 通常先为数据流命名,然后再为与之相关联的处理命名。(2) 名字应该反映整个处理的功能。(3) 名字最好由一
19、个具体的及物动词加上一个具体的宾语组成。(4) 通常名字中仅包括一个动词。(5) 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。4 用途画数据流图的基本目的是利用它作为交流信息的工具。数据流图应该分层,并且在把功能级数据流图细化后得到的处理超过9个时,应该采用画分图的办法,也就是把每个主要功能都细化为一张数据流分图。数据流图的另一个主要用途是作为分析和设计的工具。数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。1
20、 数据字典的内容一般说来,数据字典应该由对下列4类元素的定义组成:(1) 数据流(2) 数据流分量(即数据元素)(3) 数据存储(4) 处理2 定义数据的方法由数据元素组成数据的方式只有下述三种基本类型:(1) 顺序 即以确定次序连接两个或多个分量;(2) 选择 即从两个或多个可能的元素中选取一个;(3) 重复 即把指定的分量重复零次或多次。(4) 可选 即一个分量是可有可无的(重复零次或一次)。=意思是等价于(或定义为);+意思是和(即,连接两个分量); 意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量; 意思是重复(即,重复花括弧内的分量);( )意思是
21、可选(即,圆括弧里的分量可有可无)。举例:某程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符。使用上面讲过的符号,我们可以像下面那样定义标识符:标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符数字字符3 数据字典的用途数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,因此将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。要求所有开发人员都根据公共的数据字典描述数
22、据和设计模块,则能避免许多麻烦的接口问题。加工说明对每一个数据流图中的加工给出一个加工说明。由于需求分析的目的是定义问题,因此对数据流图中的每一个加工只需给出加工的输入数据和输出数据之间的关系,即从外部来“视察”一个加工的逻辑。这个加工说明非常类似于面向对象分析中的用例规约,但这里的不同是仅仅需要考虑和描述数据间的相关性。需求规格说明书1引言1.1编写目的说明编写这份软件需求说明书的目的,指出预期的读者。1.2背景说明待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;该软件系统同其他系统或其他机构的基本的相互来往关系。 2任务概述2.1目标叙述该项软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 实验 指导书 2013
限制150内