软件工程(第八版) 教案_第1页
软件工程(第八版) 教案_第2页
软件工程(第八版) 教案_第3页
软件工程(第八版) 教案_第4页
软件工程(第八版) 教案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE2软件工程参考教案学期课程名称软件工程学时48理论32实验16授课班级任课教师教材名称《软件工程(第八版)》出版社大连理工大学出版社出版时间2026年3月

1

授课时间年月日理论2学时第周星期节实验学时授课章节第1章软件工程概述1.1软件与软件危机1.2软件工程教学要求•了解软件的定义、特点,软件技术发展的阶段、软件的主要分类方法•了解软件危机的主要表现、产生原因•掌握软件工程的定义、目标和核心思想重点难点软件的概念、软件危机的概念、软件工程的定义、基本目标软件工程的7条基本原理教学的组织与设计1、说课课程的目的(与软件开发、测试、维护工作相关);课程性质(综合性强,课程和C/C++/C#/JAVA语言等、数据结构、操作系统、数据库原理等课程相关);课程任务及重要性:了解软件开发全过程,掌握软件工程的术语、概念、原则,指导软件开发项目(含各类竞赛项目、毕业设计项目等);培养软件工程思想,提高软件开发和项目管理能力;教师简介:教师软件开发经历、开发体会简介;学习方法:课程学习资料(智慧职教、中国大学MOOC等)。学习方法手段:结合一个“样板系统”学习软件分析和设计,在学习过程中开发一个“实战演练”系统。要结合软件开发类课程学习、结合一个小的项目开发学习;相关职业证书:课程与全国软件考“程序员”认证考试等的关系,课程与毕业设计的关系,通过考证激发学习兴趣主要内容1)介绍本章项目任务,带着任务学习。2)以课件形式学习本章内容:软件的定义、主要特点、软件技术的发展的3阶段,软件的主要分类方法(重点按功能划分),软件开发中的各种错误观念、软件危机产生原因、主要现象。3)软件工程的提出(1968年北约),软件工程的主要思想(用工程化思维做软件),软件工程的7条基本原理,软件工程的两大研究内容(开发与管理),软件工程的三要素。互动提问:软件就是程序说法对吗?软件交付后需要售后服务吗?软件开发成败主要取决于软件技术人员说法对吗?讨论软件的可复制特点与软件版权法律问题。3、相关案例:1)软件的性质(如不会用坏,故事:外行人问某个软件用了5年多是否老化了等);2)失败的软件不在其数,某单位MIS开发的失败原因分析(需求不明确、业务流程不规范,盲目开发白花钱);开发单位“对软件服务对象认识不足”等。3)介绍企业软件开发模式(如中国邮政软件开发模式:业务人员和技术人员同时进行需求分析,然后再设计、开发,甲方参与软件公司的开发过程,甲方有自己的运维团队)。4)印度软件产业模式(软件外包、组件开发)。5)我国当今软件人才需求情况。课外学习要求了解软件行业的特点,激发从事软件相关行业的热情。学习软件工程的国内外定义,主要掌握国内定义。2

授课时间年月日理论2学时第周星期节实验学时授课章节1.3软件生存周期1.4软件开发模型1.5软件开发方法1.6软件工具与软件开发环境教学要求•理解软件生存周期及阶段划分•理解软件开发模型的概念•了解软件开发方法、软件工具与软件开发环境重点难点软件生存周期软件开发模型教学的组织与设计1、回顾上节内容并提问互动提问如:1)软件=程序+数据+文档,有时简称程序+文档,那“数据”包含在“程序”还是“文档”中了呢?(答案:程序中,程序执行离不开数据,文档是不可执行的)2)LINUX,ORACLE/SQLSERVER,WPS,360杀毒软件各属于哪类软件?(注意分类方法)3)软件危机的定义:软件危机指的是软件过剩吗?4)软件的维护与硬件有何不同?5)软件危机有哪些主要表现,软件危机的主要产生原因(客观上、主观上),如何避免?2、讲述新知1)以课件形式学习1.3节,软件生存(生命)周期概念,软件生命周期三大时期,六个阶段,各阶段任务、产生的结果,主要参与的人员等简介,强调图1-31.4节,开发模型的定义,瀑布模型、快速原型模型、渐增模型(增量模型)、喷泉模型、螺旋模型;主要掌握各模型主要特点,提示记忆图形大致形状。1.5节,软件开发方法:结构化(S方法)、面向数据结构方法(JACKSON方法)、面向对象方法(OO方法)1.6节,软件工具、软件开发环境的定义,CASE的中文含义2)互动提问与交流生命周期阶段划分可粗可细,不要死记阶段的个数。如:软件设计可细分为总体设计(概要设计)和详细设计2个阶段。3、相关案例举例说明快速原型模型的使用,如画张工资报表表格让用户预先看到软件输出结果,引导用户提需求,帮助设计数据库结构;又如,画个数据输入界面让用户看,了解用户对数据输入的需求等。注意:提示学生:软件开发模型还有许多,如“敏捷模型”“智能模型”等,不局限于教材上介绍的开发模型。应从多种渠道学习课程知识,不局限于一两本书。课外学习要求自学1.7项目实践。建议学生自由结组,在学习课程的该学期,同时利用课外时间开发一个小型的软件系统,学以致用。布置作业:课后习题判断题、选择题全部。3

授课时间年月日理论2学时第周星期节实验学时授课章节第2章软件项目计划教学要求•理解软件问题定义的内容与方法及其在项目启动中的作用。•理解可行性研究的必要性。•掌握可行性研究的基本任务和主要步骤。•了解项目开发计划文档的内容及其在项目管理中的作用。重点难点可行性研究的目的、过程、内容和主要步骤系统流程图的画法教学的组织与设计回顾上节内容并提问请学生讲瀑布模型,原型模型,螺旋模型,喷泉模型各自的优缺点和适用场合。提问学生:需求分析阶段属于计划还是开发阶段?讲述新知配合课件讲解,重点内容如下(结合2.5中案例教学):1)问题定义,讲授问题定义的内容、方法,问题定义报告的编写方法;2)可行性研究,必要性、任务(技术、经济、运行、法律四大可行性)、步骤、可行性研究报告撰写。3)系统流程图符号、一般画法。4)可行性研究报告的写法,编制中注意的问题。5)项目开发计划的作用和主要内容。6)简介Visio工具在可行性研究中的应用(上机时实践)3、相关案例如:工资管理系统、教务排课管理系统、仓库库存系统等课外学习要求布置习题册第2章全部判断题、选择题自己阅读书上的实例,提出个人观点

4

授课时间年月日理论学时第周星期节实验2学时授课章节实验1图书管理系统可行性研究使用VIsio工具绘制系统流程图教学要求绘制教材中的系统流程图重点难点系统流程图的绘制教学的组织与设计教师简要演示软件的启动和基本使用方法。引导学生边看书边实践。1)绘制教材图2-2中的系统流程图(基本要求)2)绘制教材2.5节中图2-8中的系统流程图3)绘制教材2.5节中图2-9中的系统流程图根据共性问题讲解画图中注意的问题:保证业务逻辑正确;各种图形所使用的符号应该合理、得当;图形大小合适、布局得当、画现美观大方;尽量用连接线连接形状,以确保移动形状位置时仍能保持连接;正确掌握线条加箭头、去箭头方法;学会增加连接点方法;学会添加文本方法;学会使用绘图工具直接绘制其他形状的方法;先选定多个形状一并设置字体、字号,对齐方式等格式。要求:保持同类形状大小格式的统一,办争规范、整体美观可对教材流程图提出个人优化的想法可补充要求学生绘制其他系统的系统流程图,如:学生成绩管理系统、库存系统等。将本次实验形成的各个图形复制到一个Word文档提交。课外学习要求

5

授课时间年月日理论2学时第周星期节实验学时授课章节第3章需求分析3.1需求分析的任务3.2需求获取的方法3.3需求分析的步骤3.4结构化需求分析方法3.4.1结构化需求分析方法概述教学要求•理解需求分析的概念和任务。•熟悉需求获取的主要方法。•理解需求分析的步骤。重点难点结构化需求分析方法教学的组织与设计1、回顾上节内容并提问可行性研究的最终目的是什么?学生报到流程图、医院诊病流程图是不是系统流程图?(不是,通常是业务流程图)补充:业务流程图是业务人员表达业务逻辑用的,符号较少,画法随意一些。系统流程图用于描述系统物理模型,用于业务人员和软件人员交流,符号多而画法规范,可通过“元宝”等自学)2、讲述新知以课件形式学习需求分析与可行性研究任务的区别和侧重点;(可认为可行性研究是高度压缩的需求分析,是大致的粗略的;需求分析阶段的需求分析是细致的、准确的)3.1需求分析的任务:需求分析的重要性,强调“做什么”三个字;3.2需求获取的方法:两条基本原则;常规需求获取方法;需求调研的步骤,如调研的具体内容,调研前的准备、调研中的注意事项、调研后的总结归纳等。3.3需求分析的步骤:四大步骤:需求获取、需求建模、需求描述、需求验证重点:需求获取中的各种需求3.4结构化需求分析(SA方法)概述。指导思想:自顶向下、逐步求精。两个基本原则:抽象、分解描述工具:数据流图(DFD)、数据词典(DD)、结构化语言、判定表、判定树等。互动与讨论:需求分析与可行性研究任务的区别和侧重点;快速原型法在需求分析中的应用。3、相关案例介绍业务调研中的案例,如事需要先列出调研提纲给要调研的单位,调研中的组织形式,待人接物等要注意的细节等。可结合实例讲解,如:结合生产实习说明如何与企业人员沟通交流等。课外学习要求预习3.4内容,学习绘制数据流图

6

授课时间年月日理论2学时第周星期节实验学时授课章节3.4结构化需求分析方法3.4.2数据流图3.4.3数据词典3.4.4加工逻辑描述3.5需求规格说明书的编写与评审教学要求•掌握结构化需求分析方法。•认识数据流图,学会画数据流图。•了解需求规格说明书的编写内容与评审内容。重点难点结构化需求分析方法绘制数据流图、绘制判定表和判定树等教学的组织与设计1、回顾上节内容并提问1)需求分析的任务和成果2)需求分析阶段的参加人员、需求分析基本过程3)SA方法的指导思想、特点,分析建模过程2、讲述新知1)围绕图3-3讲解物理模型和逻辑模型2)数据流图DFD的四大符号,绘制步骤(重点)3)数据流图细化,结合例3.1学习。重点:数据流图中的命名规则、分层技术、注意事项系统流程图与数据流图区别(前者是物理模型,后者是逻辑模型)和使用专用场合。数据词典定义、功能,数据词典的构成内容,各条目简介,数据词典主要符号介绍结合例3.2介绍数据词典实例编制数据词典的注意事项数据词典实现方法(人工、自动、半自动)5)加工逻辑的描述加工小说明的描述方法:判定表、判定树、结构化语言结合例3.3(图书优惠策略)学习判定表绘制方法提示结构化语言应用的重要性(可以转化为程序设计语言)6)需求规格分析说明书的编写与评审互动交流:1)系统流程图与数据流图的区别和关系。2)需求分析说明书的重要性高层数据流图的“高”意为什么?3)示例剖析:成绩登统系统分层数据流图(参见习题与实验指导书)4)展示一些软件需求规格说明书的参考范例课外学习要求1)课后习题。一、判断题、选择题全部四、应用题(可选1-2题如行李收费等让学生提交作业)2)自学3.5项目实践

7

授课时间年月日理论学时第周星期节实验2学时授课章节实验2结构化需求分析建模使用VISIO绘制数据流程图教学要求结合项目实践,学会绘制数据流图理解图书管理系统的软件需求尤其是功能需求及其表达方式重点难点数据流图的画法教学的组织与设计阅读3.6项目实践:“图书管理系统”需求分析文档,使用VISIO画图工具绘制图3-10中各层数据流图。可以将图形保存为一个或多个绘图文件。注意:要结合图书借阅流程绘制图形,注意上下层的对应关系,结合教材内容学习“数据流图中的命名规则”“数据流图中的分层技术”等内容。文件名为:班级-学号-姓名-实验2,提交文件。如有多个文件请提交压缩包文件。课外学习要求完成习题3中“四、应用题”中1-3题数据流图绘制。如“考务管理系统”(使用Visio工具绘制)完成习题3中“四、应用题”中4-6题判定表和判定树的绘制。如“托运行李收费政策”(使用Word或WPS文字绘制)

8

授课时间年月日理论2学时第周星期节实验学时授课章节概要设计4.1软件设计概述4.2概要设计的任务与步骤4.3概要设计的原则4.4模块独立性教学要求•理解软件设计的概念与重要性。•理解软件设计的任务和阶段划分。•掌握概要设计在软件生命周期中的位置,明确概要设计的核心任务和一般步骤。•理解概要设计的原则,掌握模块化设计原则重点难点概要设计的主要任务、概要设计的主要原则与一般步骤概要设计的主要任务教学的组织与设计1、回顾上节内容并提问讲解作业中数据流图绘制共性问题。互动提问:1)数据流图中各种元素的命名一般规则(数据流用名词、加工用动宾等)2)数据流图中编号的层次关系(1.2是1.2.1等的父图等)3)如何理解数据流图中的父图与子图平衡?2、讲述新知1)以课件形式学习4.1软件设计概述:需求分析是“做什么”,产生逻辑模型;软件设计是“怎么做”,产生物理模型。是把软件需求转换为软件表示。是连接需求和代码的“施工蓝图”软件设计的任务:从工程和技术两种角度划分阶段。软件设计阶段的划分:概要设计(总体设计)+详细设计4.2概要设计阶段的主要任务、产生的文档(核心任务:模块划分、接口定义、数据结构和架构造型)4.3概要设计的原则(模块化、抽象与分解、信息隐蔽与局部化、模块独立性等)用生活中的例子作比喻。如学生分班就是分模块,如果不分班,人数太多不好管理;给软件系统起名就是最高度的抽象;模块独立性与国家主权独立等4.4模块的独立性:耦合性介绍互动提问与交流用盖大楼比喻软件开发各阶段,重点讲哪些工作属于概要设计阶段的工作。如:大楼主体属于总体设计;室内装修属于详细设计;各房间属于模块,门口属于接口等可安排课堂小测:测试习题中的判定表、判定树绘制等3、相关案例以学生熟悉的简单单项业务系统为案例。如教务管理系统、工资管理系统、图书管理系统等,突出回答“系统由哪几块组成”“它们之间怎么通信”“数据怎么流动”等问题。课外学习要求本章习题判断题、选择题

9

授课时间年月日理论2学时第周星期节实验学时授课章节4.4模块独立性4.5软件结构设计的图形工具4.6结构化设计方法4.7概要设计文档的编写与评审教学要求•学会模块划分的方法。•熟悉软件结构设计描述工具,会使用结构图等工具表达设计。•了解概要设计说明书的编写与评审知识重点难点模块独立性(耦合与内聚)模块划分方法教学的组织与设计1、回顾上节内容并提问互动提问:1)确定软件是以网站形式还是桌面程序方式开发的工作属于软件设计的哪个阶段的任务?2)数据库的设计属于软件设计的哪个阶段?3)制订软件测试计划是在需求分析、概要设计阶段还是详细设计阶段进行?2、讲述新知1)以课件形式学习4.4模块的独立性4.4.1耦合性介绍7种耦合性可借助已学过的语言介绍,如以C语言的函数为模块介绍函数间的参数传递关系等。数据耦合:值传递标记耦合:数组或指针传递控制耦合:传递0/1或“Y”“N”逻辑变量外部耦合:定义全局变量等情况公共耦合:如数据库中数据表的访问4.4.2内聚性偶然内聚:只为节省语句将无实质联系的语句放在同一模块,如各类名称为“公用”的模块,例如模块中的语句只是多个模块中都会用到的几个语句。逻辑内聚:将相似而不相同的语句放在同一模块,内部需要分支结构时间内聚:将只是同时执行的语句放在同一模块,如“初始化”模块等过程内聚:将按顺序执行的语句序列(它们的功能不同)放在同一模块,如模块内有两部分,一是计算数据生成报表,二是打印报表通信内聚:模块内各组成部分使用相同的输入或输出,如模块内有三部分,第一部分输入10个整数,第二部分求10个数之和,第三部分求10个数中最大值。顺序内聚:将为实现同一功能的语句序列放在同一模块,如模块内有两部分,第一部分对数据排序,第二部分使用二分法查找数据功能内聚:模块内各组成部分实现同一个功能4.4.3软件结构优化准则模块功能要完善(三部分);消除重复;模块大小要适中;深度、宽度、扇入扇出适当、作用范围在控制范围之内、降低接口复杂度、单入口单出品、功能可预测4.5软件结构设计的图形工具。层次图H图、IPO图、结构图4.6结构化设计方法。区分变换流和事务流,了解将数据流图转换为初始结构图的方法面向数据流的设计。两种DFD识别介绍由数据流图设计出初始软件结构图的过程设计过程4.7概要设计文档的编写与评审。编写内容、评审原则与内容互动提问与交流(结合C语言的函数进行耦合与内聚的学习)(1)某函数名称叫“计算当月工资”“打印某人工资条”,这些函数是什么内聚?(2)求一元二次方程的根函数floatquad(xbl[],float2)与调用函数是什么耦合?float函数是什么内聚?若修改为:floatquad(floata,floatb,floatc,floatx1,floatx2)呢?(3)A模块调用B模块,B模块是用户账号和密码的输入与判断,用户账号和密码正确向A模块返回1,否则返回0,A模块和B模块之间是什么耦合?B模块是什么内聚?(4)在工资软件中,“打印工资报表”和“打印工资汇总表”这两个模块中打印报表表头的一段程序是基本相同的,只是后者中的各项数据数值较大,打印的单元格宽度较大,有人提出提取一个“打印工资表表头”模块作为两个模块公用,请分析并评价这种做法。课外学习要求本章习题:四、应用题自学4.8项目实践

10

授课时间年月日理论学时第周星期节实验2学时授课章节实验3软件概要设计绘制图书管理系统总体结构图教学要求绘制层次图(H图)、软件结构图(SC图)重点难点软件结构图的符号和绘制方法掌握模块划分的基本原则教学的组织与设计一、教师简要介绍使用Visio工具绘制软件结构图的基本方法1)绘制教材4.7节中图4-24中的图书管理系统的层次图2)可结合瑞天图书系统的功能模块,绘制瑞天图书系统的层次图/总体结构图(前3层)根据共性问题讲解画图中注意的问题:使用规范的结构图符号。如用矩形表示模块等。区分层次图和结构图。模块是上下层关系时不加箭头的图是层次图,加箭头表示模块调用关系的图是结构图尽量用连接线连接形状,以确保移动形状时能保持形状间的连接;线条加箭头、去箭头方法;注意要选定多个形状一并设置字体、字号,对齐方式等格式,而不要一一设置。具体要求:保持同类形状大小等格式的统一;图形符号要规范、整体要美观。二、运用模块化程序设计思想进行模块划分1、教师讲实验指导书实验三实验要求,要求学生先进行模块设计,即对给出的问题设计几个C语言函数,给出不同设计方案。2、比较各种方案的模块独立性,选出优秀方案。3、使用Word或WPS文字画出模块结构图。4、对优秀方案编程实现。将C代码复制到Word或WPS文字文档中。课外学习要求

11

授课时间年月日理论2学时第周星期节实验学时授课章节第5章详细设计5.1详细设计的任务与原则5.2详细设计的工具教学要求•理解详细设计在开发流程中的定位•掌握其核心任务和应遵循的原则。•掌握结构化详细设计方法•能看懂、会绘制程序流程图、盒图(NS图)、PAD图重点难点程序流程图、盒图、PAD图的绘制程序流程设计思路的培养教学的组织与设计1、回顾上节内容并提问互动提问:1)耦合性与模块独立性的关系,最好和最差的耦合性各是什么?2)在模块划分时,是否一定要使用功能内聚和数据耦合?3)模块的独立性是越高越好吗?2、讲述新知1)以课件形式学习(1)详细设计的任务、原则(2)详细设计的工具。有图形工具、表格工具和语言工具共三种工具,重点介绍程序流程图、NS图和PAD图的具体画法。(3)通过例5-1学习程序流程图的画法(4)PDL语言介绍(5)Raptor工具的简介2)互动提问与交流(1)程序流程图和系统流程图、数据流图、软件结构图的区别。(2)程序流程图、NS图和PAD图的特点。课堂练习:绘制1~100之和的程序流程图、NS图和PAD图。建议将学生分为三大组,每组分别使用一种工具绘制。然后互相交流。3、相关案例例5-1、例5-2课外学习要求习题:本章判断题、选择题

12

授课时间年月日理论2学时第周星期节实验学时授课章节5.3用户界面设计5.4数据代码设计5.5详细设计文档的编写与评审教学要求•理解用户界面设计的重要性和基本原则。•掌握数据代码的分类、设计原则和方法。•了解详细设计说明书的编写与评审知识。•掌握详细设计文档的编写方法重点难点用户界面设计的基本原则,数据代码的设计原则教学的组织与设计1、回顾上节内容并提问互动提问:1)绘制流程图的必要性是什么?不绘制流程图直接编程可能会有什么问题?2)单分支结构、双分支结构、多分支结构在三种流程图工具中分别如何表达?2、讲述新知1)以课件形式学习(1)用户界面设计的概念和重要性用户界面设计应考虑的问题用户界面设计指南(一般交互、数据输入界面设计、数据显示界面设计)数据代码设计代码的种类和设计原则(3)以PPT为主介绍详细设计说明书编写内容详细设计说明书的编写要点、评审内容与形式2)互动提问与交流强调三种流程图的常见错误画法如顺序结构中使用了菱形框;循环结构和分支结构的区分;分支结构没有画出汇合点等。规范的流程图画法/3、相关案例学习本章项目实践内容课外学习要求布置作业:课后习题:四、应用题全部

13

授课时间年月日理论学时第周星期节实验2学时授课章节实验4详细设计——利用Raptor工具绘制流程图教学要求了解流程图的基本符号与结构,掌握Raptor工具的基本操作能使用Raptor工具绘制顺序、选择、循环三种基本结构的流程图培养逻辑思维与规范化的程序设计习惯实验室提前安装好Raptor工具软件环境重点难点Raptor工具绘制流程图的步骤、三种基本结构的实现循环结构的条件设置与流程控制教学的组织与设计提问:什么是流程图?在软件工程中有什么用?展示一个简单流程图例子(如判断由键盘输入的一个数据是否是正数、求两个数据之和等),或结合教材微课展示。结合案例介绍Raptor工具的启动、退出、工作界面和画图主要操作。布置任务:1)参考教材图5-3,将教材上的程序流程图利用Raptor工具实现,并运行流程图。可将学生分三个大组,每组绘制一个,互相交流。2)利用Raptor工具绘制s=1+2+3+...+100的流程图。3)利用Raptor工具绘制s=1-1/2+1/3-1/4+...-1/100的流程图。4)参考教材例5-2,利用Raptor工具绘制流程图,要求将判断一个数是否是素数作为一个子过程(子图)。提交程序流程图文件压缩包。课外学习要求利用Raptor工具绘制流程图:求一元二次方程的根(需考虑不同判别式情况)利用Raptor工具绘制习题中“四、应用题”中的流程图

14

授课时间年月日理论2学时第周星期节实验学时授课章节第6章面向对象概念和ROSE建模技术教学要求•理解面向对象编程与结构化编程的根本区别。•掌握面向对象的基本概念。•熟悉UML的各种图形。•熟悉静态建模和动态建模方法。•学会RationalRose软件的安装、配置和基本使用方法。重点难点理解面向对象的基本概念学会利用RationalRose软件绘制UML图教学的组织与设计1、回顾上节内容并提问互动提问:1)在第1章我们学过软件开发方法,请问软件开发方法主要有哪几种?2)前面几章我们学习的软件开发方法大都属于什么软件开发?3)你有没有接触过Scratch积木式编程?它的开发方法属于什么软件开发?2、讲述新知1)以课件形式学习可以以一个小例子,如“由键盘输入两个圆的半径数据,求两个圆的面积之和并输出”,介绍面向过程和面向对象软件开发的区别。(1)面向对象方法概述。面向对象方法的特点、基本概念(对象、类、消息、继承性、多态性、重载等)。可以结合C++/JAVA等学生学过的面向对象语言,介绍封装、继承、多态等概念。(2)统一建模语言(UML)。发展史简介,主要特点、主要内容(UML的组成、事物、关系、UML的图)。(3)静态建模。用例图及其画法、类图及其画法等。(4)动态建模。结合教材中的图介绍时序图、协作图及其作用。(5)Rose工具的作用简介(两三句话提及、上机时使用)。2)互动提问与交流(1)用例图的主要用途是什么?(2)类图和对象图的区别和联系是怎样的?3、相关案例图书管理系统课外学习要求预习6.3Rose建模工具

15

授课时间年月日理论学时第周星期节实验2学时授课章节实验5Rose建模教学要求•了解Rose工具的安装过程、启动与配置•掌握Rose建模的基本过程•能使用Rose工具绘制用例图、状态图、活动图、时序图等•实验室提前安装好Rose工具软件环境重点难点Rose工具建模步骤与方法教学的组织与设计提问:什么是建模?为什么要建模?结合教材案例(如图6-4)介绍Rose工具的启动、退出、工作界面和画图主要操作。布置任务:1)参考教材图6-29,使用Rose工具画用例图。2)参考教材图6-20和图6-21,使用Rose工具画时序图和协作图。3)参考教材图6-24和图6-26,使用Rose工具画状态图和活动图。建议可将学生分两个大组,每组绘制不同的图形,然后组间互相交流。提交图形文件压缩包。课外学习要求16

授课时间年月日理论2学时第周星期节实验学时授课章节第7章面向对象的分析与设计教学要求•理解面向对象分析与面向对象设计的定义、区别与关系。•理解面向对象分析的目标、任务和一般过程。•初步掌握对象模型的建立方法与步骤。•了解动态模型和功能模型的建立方法。•理解典型的面向对象设计模型及面向对象设计的主要工作。重点难点运用面向对象思想进行软件系统的分析与设计方法教学的组织与设计1、回顾上节内容并提问互动提问:1)在面向对象方法中“需求分析”和“系统设计”分别解决什么问题?2)面向对象分析和面向对象设计在实践中的界限应该是清晰的还是模糊的?3)如要设计一个图书借阅系统,你认为哪些关键类是必须的?请给出3~5个关键类?2、讲述新知1)以课件形式学习(1)7.1面向对象分析的目标、任务和过程。面向对象分析的三大模型、面向对象分析的层次。(2)7.2建立对象模型。建立对象模型的一般过程。(3)7.3建立动态模型。建立动态模型的基本过程。(4)7.4建立功能模型。构建事件追踪图、构建状态图。(5)7.5面向对象设计。面向对象设计的准则、启发式规则。(6)7.6系统设计。系统设计的一般步骤。(7)7.7类与对象设计。OOD的主要任务。2)互动提问与交流(1)面向对象建模中的对象模型描述什么内容?(2)面向对象建模中的动态模型描述什么内容?(3)面向对象建模中的功能模型用哪些图形来描述?(4)OOA和OOD的区别和联系是什么?(5)OOD的主要工作有哪些?3、相关案例教材中的例题课外学习要求自学7.8项目实践17

授课时间年月日理论学时第周星期节实验2学时授课章节实验6面向对象的分析与设计教学要求理解面向对象分析与设计的主要任务和一般过程初步掌握对象模型的建立方法重点难点建立图书管理系统的用例模型教学的组织与设计提问:结合教材名内容提出问题1)如何确定一个系统的参与者?2)用例图中的主要符号有哪些?(参与者、用例间的关系)3)两个用例图之间的关系主要有哪几种?(包含、扩展、继承),各用什么符号表示?布置任务:1)阅读教材第7章7.8项目实践中“1、建立用例模型”内容,重点理解图7-14~图7-17内容,使用Rose工具绘制图7-15~图7-17,最少绘制一个图(图7-16)。2)重点阅读教材第7章7.8项目实践中表7-2及下方的用例描述内容,参照“办理借书”和“办理续借”的用例描述,编写“办理还书”的用例描述。在Word或WPS文字中完成文字内容。3)扩展内容。参照“办理借书”用例的活动图,使用Rose工具完成“办理还书”用例的活动图。可组织学生间互相交流。具体要求:1.使用规范的符号绘制图形;2.图形中相同类型的元素字体、字号要一致、图形形状要统一;3.用例文字描述符合业务逻辑、语句通顺、易于他人理解。提交图形文件和文字文档文件压缩包。课外学习要求使用Rose工具绘制“办理还书”用例的时序图

18

授课时间年月日理论2学时第周星期节实验学时授课章节第8章编码8.1编码的目的与要求8.2程序设计语言8.3程序设计风格8.3.1~8.3.2教学要求•理解编码在软件生命周期中的定位、编码的目的与要求。•了解程序设计语言的发展与分类。•掌握程序设计语言的选择原则。•了解行业通用的编码规范(如命名规则、代码布局、注释风格),掌握特定语言(如Java、C++)的编程风格。重点难点掌握编码阶段的任务,程序设计语言的分类,程序设计语言的选择原则编程风格中的注释与数据说明方法教学的组织与设计1、回顾上节内容并提问互动提问:1)到目前为止你都学习过哪些编程语言,你对哪一种语言最为熟悉?2)你知道目前世界上大约有多少种程序设计语言吗?3)对于一个开发项目,如何选择合适的程序设计语言?2、讲述新知1)以课件形式学习(1)8.1编码的目的。保证编码质量诮注意的问题。(2)8.2程序设计语言的发展与分类,4GL的中文含义。(3)程序设计语言的选择原则(4)8.3程序设计风格。8.3.1源程序文档化8.3.2数据说明2)互动提问与交流(1)注释太多也会影响程序的运行效率,所以注释量要尽量小,此说法正确吗?(错误)(2)有人说,应该为每一条语句加上注释,这样程序就方便别人阅读,此说法正确吗?(不完全正确,要为语句段加注释)(3)良好编程风格应从哪些方面考虑?3、相关案例教材中的例题课外学习要求通过“元宝”等学习“匈牙利命名”法;自学了解当今主流的编程语言,并对它们的特性进行列表比较。主要从易学程度,运行速度,编程效率,使用人数等方面比较。

19

授课时间年月日理论2学时第周星期节实验学时授课章节第8章编码8.3.3~8.3.58.4结构化程序设计8.5面向对象的程序设计教学要求•了解行业通用的编码规范(如命名规则、代码布局、注释风格),掌握特定语言(如Java、C++)的编程风格。•理解结构化程序设计的核心思想与基本原则。•了解面向对象的程序设计方法。重点难点掌握编码风格中的语句构造、输入与输出等内容结构化程序设计的核心思想与基本原则教学的组织与设计1、回顾上节内容并提问互动提问:1)双重if--else语句和单重if--else语句但使用复杂逻辑比较条件,哪一种做法更符合良好的编程风格?2)在编程中临时变量应该多用还是少用为好?3)多重循环时,最里层循环中的语句要尽量减少,这种做法对吗?4)为了节省程序的长度,尽量在一行中写多个语句,这种做法对吗?2、讲述新知1)以课件形式学习结合课件和教材中案例讲解(1)学习语句构造中的常用规则。通过教材例题重点学习某些规则。(2)学习输入/输出语句中的常用规则。(3)学习提高程序效率的一般做法。(4)8.4结构化程序设计。主要学习基本思想和原则。(5)8.5面向对象的程序设计。主要学习一般原则。2)互动提问与交流(1)如何解决编程时没有思路的问题?(应运用“逐步求精”思路,先绘制流程图)。(2)谈谈语句构造方面的体会。3、相关案例教材中相关问题如果学过JSPweb开发,可以学习8.6相关内容课外学习要求通过“元宝”等学习华为公司编程规范等内容

20

授课时间年月日理论学时第周星期节实验2学时授课章节实验7编程风格训练教学要求给出程序设计要求或给出流程图,要求使用某种程序设计语言(如C语言、JAVA语言等)编程,学习编程规范。了解软件公司良好的程序编码风格。运用良好的程序编码风格,优化指定的程序源编码。重点难点培养良好的编程风格教学的组织与设计提问:1)什么是程序的注释?有几类注释?2)匈牙利命名规则的主要内容是什么?3)某软件公司招聘程序员,程序是“输出1~100中的素数”,有的考生在很短时间完成了,而程序代码长度短、运行也完全正确,有的考生却编程时间长、速度慢、程序代码长度长、运行也完全正确,但注释完备、命名规范、语句结构清晰,请问,如果你是考官,你如何选择?布置任务:1)按照教材第8章例8-8程序设计逐步求精例题编程,按照程序编码规范和程序设计风格的要求,运用C语言编写程序,调试程序并运行。建议全体学生完成。2)完成教材第8章习题中“四、应用题”中部分题目,如第3、5题。建议可将学生分两个大组,每组一个题目,组间互相交流。注意结合良好程序编程规范进行编程,有足够的注释、命名规范、语句构造符合要求。编程要求:在做程序优化时应参考教材中第8章“编码”中的程序设计风格内容,同时参考软件公司如华为公司的软件编码规范。具体应注意以下几条。1.要在模块开头为程序编写序言性注释,内容至少包括程序或模块名称、作者名、程序或模块的功能简介、编写或修改日期等;2.变量命名是否规范,是否按一定顺序排列变量名;3.语句构造是否直截了当、简单易懂;4.语句布局是否进行了合理的缩进;5.关键语句段是否给出了注释。要注意只提供程序不能提供的附加信息,不要对每条语句都加注释,不要对语句本身进行无必要的解释。6.输入方面是否方便用户的输入,输出结果是否能够自我解释、清晰明确。7.错误处理方面是否合理,是否提供了帮助用户发现或解决问题的提示。将每个编码题目形成的C/JAVA语言程序代码全部到Word中形成一个Word文档。提交程序文件压缩包。课外学习要求完成习题“四、应用题”其他题目21

授课时间年月日理论2学时第周星期节实验学时授课章节软件测试9.1软件测试概述9.2软件测试方法9.3测试用例的设计教学要求•理解软件测试的定义、目标、原则和重要性。•掌握软件测试的主要分类方法。•掌握等价类划分、边界值分析和逻辑覆盖法等主流测试用例设计技术的原理与应用场景。重点难点测试的定义、目标、原则和重要性测试用例设计技术教学的组织与设计1、课程导入互动与提问1)为什么进行软件测试?2)软件测试方法如何分类?2、讲述新知以课件为主讲解在教学中可以采取以提问形式教学,有些内容由学生来讲解。9.1软件测试的目标测试专家的三个观点,要求高度重视测试的重要性;测试的原则(10条原则逐条解释),要求掌握测试的目标和原则;了解软件用例的概念及其组成;对照图9-1学习软件测试的信息流。9.2软件测试方法重点学习图9-2,重点了解动态测试方法;静态测试与动态测试的区别和适用场合;了解软件错误种类。9.3测试用例的设计9.3.1黑盒技术等价类划分法等,重点讲基本思想和各条启发式规则3、相关案例等价类划分法案例:报表日期的输入课外学习要求了解软件错误的种类以及对应的测试方法22

授课时间年月日理论2学时第周星期节实验学时授课章节9.3测试用例的设计9.4软件测试步骤9.5软件测试工具简介9.6调试9.7面向对象的软件测试简述教学要求•熟悉软件测试从单元测试到系统测试的一般流程及各阶段任务。•了解主流软件测试工具的原理和作用。•理解调试的基本概念和主要原则。•了解面向对象软件测试的特点重点难点黑盒测试法白盒测试法教学的组织与设计1、课程导入互动与提问1)测试的主要原则有哪些?2)错误群集现象是怎么回事?3)黑盒法以什么为基础设计测试用例?白盒法呢?4)结合黑盒法例9-1提问2、讲述新知以课件为主讲解9.3.1黑盒技术边界值分析法因果图法错误推断法。打印机无纸,未联机时发出了打印命令;通讯中断时的信息发送失败;数据库表中没有记录却执行显示或打印等。9.3.1白盒技术白盒测试法简介结合例9-2讲解逻辑覆盖法,共6种路径测试(补充)9.3.3综合测试策略测试实例分析:三角形案例测试过程与策略9.4软件测试步骤,指整体测试的实施步骤1)单元测试的内容与步骤,重点掌握单元测试的主要内容;桩模块与驱动模块概念2)组装测试的方式和组装测试内容3)确认测试4)系统测试9.5软件测试工具简介测试工具介绍,主要引导同学从网上搜索相关内容学习3、相关案例教材中的案例课外学习要求通过“元宝”等查询主流自动化软件测试工具及其应用23

授课时间年月日理论学时第周星期节实验2学时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论