您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 《软件工程导论》实验指导书(2013版)
1朱建凯何海江汪祥毛伟编《软件工程(导论)》实验指导书长沙学院计算机科学与技术系2013年9月2前言《软件工程(导论)》是计算机类本科专业的重要专业基础课程,它是指导计算机软件开发和维护的一门科学,包含技术和管理两方面内容,是技术与管理紧密结合所形成的工程学科。同时软件工程对实践经验要求非常高的,中间的很多经验都需要在实践中去体会和认识。该实验指导书内容是在指导08、09、10三届学生的实验课程中不断总结完善,并按照2011版计科专业和软件工程专业的培养方案以及实验(实训)大纲重新对内容进行了组织和编排。整个实验按照六个实验来设计,全部完成需要32学时,在具体的教学过程中,可以灵活调整。在这六个实验中,全部以一个航空售票点售票软件的程序设计作为主线来贯穿全部设计过程,按照软件项目开发的自然过程安排实验(实训),首先从需求分析、再到系统分析设计、编码和单元测试,其中顾及到结构化程序设计方法和面向对象程序设计方法,在需求建模和程序设计方面安排学生分别用这两个方法对这个开发任务分析和设计各进行了一次。通过这六个实验,基本了解和熟悉软件工程管理的几个主要过程,达到熟悉教材,理会软件工程管理理论的目的。该实验指导书是根据2011版计算机科学与技术专业培养方案对《软件工程》课程的教学要求,以及软件工程专业培养方案对《软件工程导论实训》课程的要求编写的实验指导书,其中计科专业实验课时数是20学时,软工专业实训课时是32学时,因此本指导书只能按照32学时来设计,计科专业采用本实验指导书时必须适当调整内容。计算机专业实验室从2013年下学期开始所有的实验(实训)课程都不再提交纸质的实验报告而全部在网络实验平台上提交实验报告。报告的网址是:。特别请同学们注意,每个实验之后都必须由指导教师现场在计算机上检查打分并录入系统之后,学生才能提交实验报告,然后老师再综合实验报告和现场检查的打分给每个实验项目打分。必须全部实验项目都及格,才会有实验分数,否则实验分数计零分,且必须补考或重新。本实验指导书中,实验一和实验二由朱建凯老师编写,实验三和实验五由汪祥老师编写,实验四由毛伟老师编写,实验六由何海江老师编写。编者2013年9月3目录第一部分实验内容设计任务………………………………………………………………………………………2实验1:需求分析………………………………………………………………………………3实验2:程序设计………………………………………………………………………………4实验3:用例分析………………………………………………………………………………5实验4:面向对象设计…………………………………………………………………………6实验5:程序实现……………………………………………………………………………7实验6:软件测试………………………………………………………………………………8第二部分实验指导实验1:需求分析实验指导……………………………………………………………………10实验2:程序设计实验指导……………………………………………………………………15实验3:用例分析实验指导……………………………………………………………………25实验4:面向对象设计实验指导………………………………………………………………31实验5:程序实现实验指导…………………………………………………………………34实验6:软件测试实验指导……………………………………………………………………351第一部分实验内容2设计任务题目:机票预定系统1.基本功能要求航空公司售票点为给旅客乘机提供方便,需要开发一个机票预定系统。各个订票点把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求)输入到联网的系统中,系统为旅客安排航班。当旅客确认航班并交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。2.技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。(2)对于本系统还应补充一下功能:1.旅客延误了取票时间的处理2.航班取消后的处理3.旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。(4)系统支持现金支付和信用卡以及银行卡支付,不支持网上订票和网上付款。3实验1:需求分析1、实验目的学习结构化软件需求分析方法,掌握软件需求的表达方式和方法2、实验类型综合性实验3、实验学时4学时4、实验原理及知识点数据流图;数据字典;数据加工说明需求规格说明书5、实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:WindowsXP,MicrosoftVisio6、实验内容及步骤认真分析第1页的用户需求并整理,逐条列出需求要求并对需求要求进行归类,设计需求编码规则对需求要求进行编号;设计数据流程图;设计数据字典;设计数据加工说明;根据设计出来的模型,重新调整前面整理的需求初稿,最后按照软件需求规格说明书的格式写一份需求规格说明书。第一步:研究需求的内容,用自然语言逐条描述;第二步:逐条对需求分类并编号;第三步:绘制数据流程图;第四步:编写数据字典和数据加工说明;第五步:重新修订需求规格说明书7、思考与练习需求规格说明书中,为什么要将需求逐条编上号,而且要对需求的描述非常准确,这样操作主要是为了什么?4实验2:程序设计1、实验目的学习软件的结构化设计方法,练习采用结构化设计方法完成程序设计任务的过程。2、实验类型综合性实验3、实验学时6学时4、实验原理及知识点模块化程序设计理论;信息隐藏和局部化;面向数据流图的设计方法;PAD图5、实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:WindowsXP,MicrosoftVisio6、实验内容及步骤以上一次实验课完成的数据流图为基础,按照数据流图的设计方法,选用事务流或者变换流的分析方法,设计出系统的总体结构,要求:完成从数据流图到模块结构图的转化,标记出各模块的输入数据和输出数据以及要完成的数据处理任务;画出层次图和HIPO图;从数据字典出发设计出数据的ER图,并把ER图转化为关系数据库模式;用PAD图和过程设计语言(伪码)来描述上面完成的各模块的设计任务;最后将上面完成的工作,以设计说明书的形式展现出来。第一步:复查并细化数据流图确定数据流图具有变换特性还是事务特性;第二步:确定输入流和输出流的业务边界;第三步:设计出初步的模块分解图;第四步:从初步的模块结构图得到最终的模块结构图(MSD);第五步:编写模块的输入数据,处理过程,输出数据(IPO);第六步:设计模块的PAD图以及过程设计语言描述;第七步:完成程序的设计说明书。7、思考与练习用事务流分析方法和变换流分析方法,差别主要在什么地方。什么情况下用事务流分析法,什么情况下用变换流?软件系统设计过程中,如果能用过程设计语言先期设计好详细设计再进一步编程序有什么好处。和不搞详细设计直接到机器上写程序代码相比,感觉到会有什么差异,有什么好处。5实验3:用例分析1、实验目的学习和掌握如何分析需求并绘制UML用例图,编写用例规约。2、实验类型综合性实验3、实验学时4学时4、实验原理及知识点用例;参与者;包含关系;扩展关系;泛化关系;用例规约说明5、实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:WindowsXP,StarUML6、实验内容及步骤研究最初的用户需求,找出系统的参与者;绘制出用例图;写用例规约;改造实验一编写的需求规格说明书。第一步:找出系统的参与者;第二步:找出系统的具体用例;第三步:确定参与者和用利,以及用例和用例之间的关系;第四步:编写每个用例的用例规约;第五步:改造实验一编写的软件需求规格说明书。7、思考与练习结合本实验说说面向对象需求分析和结构化需求分析的方法差异,优缺点。6实验4:面向对象设计1、实验目的在前面基础上按照课堂教学中要求完成系统的UML类图设计,绘制活动图、构件图、部分顺序图和部分状态图。2、实验类型综合性试验3、实验学时6学时4、实验原理及知识点设计活动图,进一步理解需求;设计类图确定实现的操作和属性;设计构件图确定系统的整体结构;部分顺序图进一步确定详细设计;部分状态图进一步确定类的操作。5、实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:WindowsXP,StarUML6、实验内容及步骤设计活动图、类图、构件图;设计部分顺序图、部分状态图修改实验二编写的程序设计说明,变成一个面向对象的程序设计说明。第一步:设计活动图,进一步理解系统需求;第二步:初步设计类模型,确定属性和基本操作;第三步:设计构件图,初步确定系统的最终结构;第四步:设计部分关键业务的顺序图,机票和订单的状态图;第五步:修改和完善类模型和构件图;第六步:修编实验二已经完成的程序设计说明书。7、思考与练习结合本机票预定系统,说明结构化设计和面向对象设计的差异,评价其优劣。顺序图和状态图设计什么情况下才需求,才最有利于未来的程序编码?7实验5:程序实现1、实验目的熟悉按照软件设计说明书来编写软件代码,锻炼学生编写程序的同时,必须严格按照设计说明来编码。2、实验类型综合性试验3、实验学时6学时4、实验原理及知识点数据库表结构的实现;程序界面的实现;出错处理界面的设计;程序和数据库的连接;软件开发卷宗的编写。5、实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:WindowsXP,MyEclipse6、实验内容及步骤1、设计人机界面风格,出错处理;数据库表结构;2、设计所有的程序界面,编写和数据库连接的代码;3、设计代码实现程序界面之间的驱动和调用;4、编写程序代码说明书。第一步:在数据库中设计数据库表结构;第二步:确定界面设计风格,出错处理设计,变量定义规则,将其写入程序代码说明书;第三步:设计出所有需要的JSP静态页面;第四步:完成MyEclise中代码与底层数据库的连接和调用编程;第五步:修改设计好的JSP静态页面为动态页面,以展示数据库中的数据;第六步:实现各页面之间的调用和底层数据处理;第七步:完善程序代码说明书。7、思考与练习结合设计过程,说说实验四设计的程序设计说明书是否在代码设计中起到了作用?你认为自己写的程序设计说明书还有哪些方面应该改进,以更对这个程序的编程有指导意义。8实验6:软件测试1、实验目的掌握黑盒测试技术、白盒测试技术,了解集成测试的策略,掌握测试用例的设计方法,提高文档撰写能力。通过机票预订系统的测试实例,使同学们熟悉软件测试的一般流程。2、实验类型综合性实验3、实验学时6学时4、实验原理及知识点单元测试;系统测试;验收测试;白盒测试;黑盒测试;测试报告5、实验环境(硬件环境、软件环境)硬件平台:普通个人计算机;软件:WindowsXP,Office,MyEclipse6、实验内容及步骤采用白盒测试技术完成一个程序单元的单元测试;采用黑盒测试技术完成程序的系统集成测试;编写单元测试报告,编写系统测试报告。第一步:研究由指导教师制定的单元模块的程序结构,确定白盒测试的测试策略;第二步:以该单元模块的顺序图为线索,设计单元的测试用例;第三步:执行单元测试过程,编写单元测试报告;第四步:以前面设计的活动图为线索,设计系统的测试用例;第五步:执行系统测试过程,编写系统测试报告。7、思考与练习单元测试通常由代码设计编写人员自己来完成,如何来保证单元测试过程的质量和效果呢?测试报告中存在有测试用例没有通过的情况,那么是否结论就是程序没通过测试?测试过程中的测试用例出现和期望的结果不一致情况,是否就是测试用例不通过?9第二部分实验指导10实验1:需求分析——实验指导需求编码应该完成对所有需求的整理,并对每项需求建立编号。需求编号示例:Srs-fun-
本文标题:《软件工程导论》实验指导书(2013版)
链接地址:https://www.777doc.com/doc-4826235 .html