软件工程方法论教案章程.docx
《软件工程方法论教案章程.docx》由会员分享,可在线阅读,更多相关《软件工程方法论教案章程.docx(49页珍藏版)》请在冰豆网上搜索。
软件工程方法论教案章程
安徽大学本科教学课程教案
课程代码:
ZJ36030
课程名称:
软件工程方法论
授课专业:
软件工程
授课教师:
章程
职称/学位:
讲师/博士
开课时间:
二○一六至二○一七学年第 二 学期
第 一 次课程教学方案
周次
1
课时数
2
教学章节
第1章软件和软件工程
目标要求
通过本章的学习,了解软件的本质、分类及其开发中存在的问题,理解软件工程的过程、方法和工具,掌握软件工程实践的框架和原则。
重点难点
重点:
(1)软件的3个特性;
(2)软件工程的3个层次;(3)软件的过程框架;(4)软件工程整体实践的7个原则。
难点:
软件的过程框架
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P15:
1.5、1.8
板
书
设
计
教学课件《第1章软件和软件工程》
第 一 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.全面地介绍《软件工程方法论》的课程内容、课程目的和课程要求
2.提问:
软件和软件工程的区别和联系;什么是方法论?
3.导入第一章的课程内容
4.提问:
以前接触过哪些常见的软件过程?
讲
授
内
容
第1章软件和软件工程
第一节软件的本质
(一)定义软件
1.软件的形式化定义
软件的三个要素:
①指令的集合;②数据结构;③软件描述信息。
2.软件的三个特性
(二)软件应用领域
1.计算机软件的七大分类
2.“遗留软件”及其存在的问题
第二节软件工程
软件工程的三个层次:
过程层、方法层、工具层。
第三节软件过程
1.软件过程框架:
包含活动和普适性活动
2.5个活动
3.普适性活动
第四节软件工程实践
(一)实践的精髓
四个实践精髓
(二)一般原则
软件工程整体实践的7个原则
归
纳
总
结
通过本章的学习,了解软件的本质、分类及其开发中存在的问题,理解软件工程的过程、方法和工具,掌握软件工程实践的框架和原则。
第 二 次课程教学方案
周次
2
课时数
2
教学章节
第2章过程模型
目标要求
通过本章的学习,掌握通用过程模型,掌握惯用的过程模型。
重点难点
重点:
(1)通用过程模型;
(2)惯用过程模型;(3)专用过程模型。
难点:
(1)过程流;
(2)任务集;
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P37:
2.2、2.5、2.6
板
书
设
计
教学课件《第2章过程模型》
第 二 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第二章的课程内容
3.布置作业
讲
授
内
容
第2章过程模型
第一节通用过程模型
(一)定义框架模型
(二)明确任务集
(三)过程模式
第二节惯用过程模型
四种惯用过程模型:
(一)瀑布模型
(二)增量过程模型
(三)演化过程模型
(四)协调模型
第三节专用过程模型
三种过程模型:
(一)基于构建的开发
(二)形式化方法模型
(三)面向方面的软件开发
第四节统一过程
统一过程的5个阶段:
(一)起始阶段
(二)细化阶段
(三)构建阶段
(四)转换阶段
(五)生产阶段
归
纳
总
结
通过本章的学习,掌握通用过程模型,掌握惯用的过程模型。
第 三 次课程教学方案
周次
3
课时数
2
教学章节
第3章敏捷开发
目标要求
通过本章的学习,阐述软件工程中敏捷理念的四个关键问题:
自我组织团队对所开展工作具有控制力的重要性;团队成员之间以及开发参与者与客户之间的交流与合作;对“变更代表机遇”的认识;强调快速软件交付以让客户满意。
并对最广泛应用的敏捷过程极限编程(XP)做出讲解。
掌握用敏捷开发的方法以适应现代软件工程的需求。
重点难点
重点:
(1)敏捷过程;
(2)极限编程。
难点:
(1)敏捷原则;
(2)极限编程过程。
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P57:
3.2、3.4
板
书
设
计
教学课件《第3章敏捷开发》
第 三 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第三章的课程内容
讲
授
内
容
第一节什么是敏捷
●普遍存在的变化是基本动力
●鼓励沟通
第二节敏捷及变更的成本费用
第三节敏捷过程是什么
(一)敏捷原则
(二)敏捷开发的战略
(三)人的因素
第四节极限编程
●最广泛应用的敏捷软件开发方法
●极限编程的权限、过程
●工业极限编程。
第五节其他敏捷过程模型
除了极限编程之外的几种较普遍应用的敏捷过程模型:
(1)自适应软件开发;
(2)Scrum;
(3)动态系统开发方法;
(4)Crystal;
(5)特征驱动开发;
(6)精益软件开发;
(7)敏捷建模;
(8)敏捷统一过程。
归
纳
总
结
通过本章的学习,阐述软件工程中敏捷理念的四个关键问题:
自我组织团队对所开展工作具有控制力的重要性;团队成员之间以及开发参与者与客户之间的交流与合作;对“变更代表机遇”的认识;强调快速软件交付以让客户满意。
并对最广泛应用的敏捷过程极限编程(XP)做出讲解。
掌握用敏捷开发的方法以适应现代软件工程的需求。
第 四 次课程教学方案
周次
4
课时数
2
教学章节
第4章理解需求
目标要求
通过本章的学习,阐述在与客户沟通活动和为一般软件过程定义的建模活动过程中,软件团队成员要实施的7个需求工程职能:
起始、导出、精化、协商、规格说明、确认和管理。
掌握需求工程可以为设计和构建活动建立一个可靠坚固的基础。
重点难点
重点:
需求工程
难点:
(1)开发用例;
(2)分析模式。
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
(一)为什么我们说需求模型表现了系统的时间快照?
(二)用你自己的话描述一个分析模式。
(三)在需求工程活动的谈判情境中,“双赢”意味着什么?
板
书
设
计
教学课件《第4章理解需求》
第 四 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第四章的课程内容
讲
授
内
容
4.1需求工程
¢起始——询问一系列问题以建立……
•对问题的基本理解
•需要解决方案的人
•所期望解决方案的性质
•项目利益相关者和开发人员之间达成初步交流合作的效果
¢导出——引出所有利益相关者的需求
¢精化——创建一个分析模型,用以说明软件的数据、功能和行为等需求
¢协商——对开发者和客户来说是现实的、达成一致的可交付系统
¢规格说明——可以是以下一项或任意组合:
•一份写好的文档
•一套模型
•一个形式化的数学模型
•一组使用场景(用例)
•一个原型
¢确认——一种审查机制,即找出:
•内容或解释上的错误
•可能需要进一步解释澄清的地方
•丢失的信息
•不一致性(这是建造大型产品或系统时遇到的主要问题)
•冲突的需求或不可实现的(不能达到的)需求
¢需求管理
4.2建立根基
¢确认利益相关者(stakeholders)
•“你认为我还应该和谁交谈”
¢识别多重观点(软件分析师应从不同涉众的角度去识别、表述他们需求。
)
¢协同合作
¢首次提问
4.3导出需求
¢会议由软件工程师和利益相关者共同举办和参与
¢制定筹备和参与会议的规则
¢建议拟定一个会议议程
¢由一个“调解人”(可以是客户,开发人员或其他人)控制会议
¢采用“方案论证手段”(可以是工作表、活动挂图、不干胶贴纸或电子公告牌、聊天室或虚拟论坛)。
¢目的是
•识别问题
•提出问题解决方案
•协商不同的方法
•确定一套解决需求问题的初步方案
4.4开发用例
¢一组用户场景,描述系统的线程使用
¢从“参与者”的点-视角来描述每一个场景——人或设备以某种方式与软件交互
4.5构建需求模型
¢分析模型的元素
•基于场景的元素
¢功能说明——处理软件功能的描述
¢用例——描述“参与者”和系统之间的交互作用
•基于类的元素
¢由场景暗示
•行为元素
¢状态图
•面向数据流元素
¢数据流图
归
纳
总
结
通过本章的学习,阐述在与客户沟通活动和为一般软件过程定义的建模活动过程中,软件团队成员要实施的7个需求工程职能:
起始、导出、精化、协商、规格说明、确认和管理。
掌握需求工程可以为设计和构建活动建立一个可靠坚固的基础。
第 五 次课程教学方案
周次
5
课时数
2
教学章节
第5章需求建模:
场景、信息与类分析
5.1需求分析
5.2基于场景建模
5.3补充用例的UML模型
目标要求
通过本次课的学习,掌握需求分析的概念,掌握基于场景建模的方法,掌握流程图和泳道图的画法。
重点难点
重点:
需求分析,基于场景的建模
难点:
(1)用例;
(2)泳道图。
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P1095.7
板
书
设
计
教学课件《第5章需求建模:
场景、信息与类分析》
第 五 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第五章基于场景建模的课程内容
讲
授
内
容
5.1需求分析
–确定软件的操作特性
–指明软件和其他系统元素的接口
–规定软件必须满足的约束
–需求分析让软件工程师(有时这个角色也被称作分析或建模师):
–细化在前期需求工程任务中建立的基础需求
–建立描述用户场景、功能活动、问题类及它们之间的关系、系统和类行为以及数据流变换时等模型
5.2基于场景建模
–新建初始用例
–细化初始用例
–编写正规的用例
5.3补充用例的UML模型
–开发活动图
–泳道图
归
纳
总
结
通过本次课的学习,掌握需求分析的概念,掌握基于场景建模的方法,掌握流程图和泳道图的画法。
第 六 次课程教学方案
周次
6
课时数
2
教学章节
第5章需求建模:
场景、信息与类分析
5.4数据建模的概念
5.5基于类的建模
目标要求
通过本次课的学习,掌握数据建模的概念,掌握基于类的建模的方法,掌握CRC卡的方法。
重点难点
重点:
数据对象,基于类的建模
难点:
(1)关系;
(2)CRC建模。
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P1095.5,5.8
板
书
设
计
教学课件《第5章需求建模:
场景、信息与类分析》
第 六 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一次课内容
2.导入第五章基于类建模的课程内容
讲
授
内
容
5.4数据建模的概念
•检查数据对象的独立处理
•注意力集中在数据域
•创建客户级抽象的模型
•指出数据对象之间的相互联系
5.5基于类的建模
•基于类建模表示:
–系统操作的对象
–应用于对象间能有效控制的操作(也称为方法或服务)
–对象间的关系(某种层级)
–定义出现在类之间的协作
•基于类的模型的元素包括类和对象、属性、操作、CRC模型、协作图和包。
1、识别分析类
•通过检查需求模型开发的使用场景,对系统开发的用例进行“语法解析”[Abb83]
–带有下划线的每个名词或名词词组可以确定为类,并将这些名词输入到一个简单的表中。
–标注同义词。
–如果要求某个类(名词)实现一个解决方案,那么这个类就是解决方案空间的一部分;否则,如果只要求某个类描述一个解决方案,那么这个类就是问题空间的一部分。
2、定义属性
•属性描述了已经选择包含在需求模型中的类。
3、定义操作
•做语法解析的处理说明,关注动词
•操作可以划分为4种类型:
–
(1)以某种方式操作数据(例如:
添加、删除、重新格式化、选择)
–
(2)执行计算的操作
–(3)请求某个对象的状态的操作
–(4)监视某个对象发生某个控制事件的操作
4、CRC模型
•类-职责-协作者(CRC)建模[Wir90]提供了一个简单方法,可以识别和组织与系统或产品需求相关的类。
Ambler[Amb95]用如下文字解释CRC建模:
–CRC模型实际上是表示类的标准索引卡的集合。
这些卡片分为三部分,顶部写类名,卡片主体左侧部分列出类的职责,右侧部分列出类的协作者。
归
纳
总
结
通过本次课的学习,掌握数据建模的概念,掌握基于类的建模的方法,掌握CRC卡的方法。
第 七 次课程教学方案
周次
7
课时数
2
教学章节
第6章需求建模:
流程、行为和模式
6.1需求建模策略
6.2面向流程建模
目标要求
通过本次课的学习,掌握需求建模的策略,掌握画数据流程图的方法。
重点难点
重点:
面向流程建模
难点:
数据流程图
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P1246.26.4
板
书
设
计
教学课件《第6章需求建模:
流程、行为和模式》
第 七 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第六章基于流程建模的课程内容
讲
授
内
容
6.1需求建模策略
¢一种考虑数据和处理的需求建模方法被称为结构化分析,其中数据作为独立实体转换。
•数据对象模型的方式定义了它们的属性和关系。
•操作数据对象的建模过程表明当数据对象通过系统时如何转换数据。
¢分析建模的第二种方法称做面向对象分析,这种方法关注于
•定义类
•影响客户需求的类之间的协作方式
6.2面向流程建模
¢表示当数据对象在系统中移动时是如何转变的
¢数据流图是使用图解的形式
¢被许多人认为是一种“保守派”的方法,但仍提供系统独特的观点——它应该用来补充其他分析模型元素
¢数据流图:
原则
–第0层的数据流图应将软件或系统描述为一个泡泡
–应仔细标记主要的输入输出
–通过把选定的处理、数据对象和数据存储分离为下一层表示而开始精化过程
–应使用有意义的名称标记所有的箭头和泡泡
–当从一个层转到另一个层时要保持信息流连续性
–一次精化一个泡泡
归
纳
总
结
通过本次课的学习,掌握需求建模的策略,掌握画数据流程图的方法。
第 八 次课程教学方案
周次
8
课时数
2
教学章节
第6章需求建模:
流程、行为和模式
6.3生成行为模型
6.4需求建模的模式
目标要求
通过本次课的学习,掌握生成行为模型的方法,理解需求建模的模式。
重点难点
重点:
生成行为模型
难点:
状态图
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P1246.76.8
板
书
设
计
教学课件《第6章需求建模:
流程、行为和模式》
第 八 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第六章生成行为模型的课程内容
讲
授
内
容
6.3生成行为模型
¢行为模型显示了软件如何对外部事件或激励作出响应。
要生成模型,分析师必须按照如下步骤进行:
¢评估所有的用例,以保证完全理解系统内的交互顺序。
¢识别驱动交互顺序的事件,并理解这些事情如何与特定的对象相互联系。
¢为每个用例生成序列。
¢创建系统状态图。
¢评审行为模型以验证准确性和一致性。
1、状态图
¢在行为建模的场合下,必须考虑两种不同的状态描述:
•系统执行其功能时每个类的状态
•系统执行其功能时从外部观察到的系统状态
¢类状态具有被动和主动两种特征[CHA93]。
•被动状态只是某个对象所有属性的当前状态。
•一个对象的主动状态指的是对象进行持续变换或处理时的当前状态。
2、系统状态
¢状态——在给定的时间内,观察到的一组系统行为特征的情况
¢状态转换——从一个状态到另一个状态的运动
¢事件——能导致系统表现出一些可预测的行为方式的发生
¢活动——以作出转变结果形式出现的过程
3、行为建模
¢列出不同的系统状态(系统如何表现?
)
¢表明系统如何从一个状态转变为另一个状态(系统怎样改变状态?
)
•指出事件
•指出活动
¢画状态图或顺序图
6.4需求建模的模式
1、发现分析模式
2、举例:
执行器-传感器
归
纳
总
结
通过本次课的学习,掌握生成行为模型的方法,理解需求建模的模式。
第 九 次课程教学方案
周次
9
课时数
2
教学章节
第7章设计概念
目标要求
本章学习可以应用于所有软件设计的基本概念和原则、设计模型的元素以及模式对设计过程的影响。
重点难点
本章重点:
设计过程;
(2)设计模型。
本章难点:
设计模型。
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
(一)如何评估软件设计的质量?
(二)简要描述设计模型的四个元素。
板
书
设
计
教学课件《第7章设计概念》
第 九 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第七章的课程内容
讲
授
内
容
软件工程中的设计
⏹分析模型——设计模型——设计文档
⏹回答Howtodo?
⏹可以分为概要设计、详细设计
⏹把分析阶段产生的软件需求分析说明转换为用适当手段表示的软件设计文档。
设计模型
⏹数据设计
⏹信息模型——软件数据结构
⏹体系结构设计
⏹定义软件部件间的关系
⏹接口设计
⏹软件内部、外部及与人之间的通信
⏹构建级(过程)设计
⏹软件组件的过程性描述
归
纳
总
结
本章学习可以应用于所有软件设计的基本概念和原则、设计模型的元素以及模式对设计过程的影响。
第 十 次课程教学方案
周次
10
课时数
2
教学章节
第8章体系结构设计
8.1软件体系结构
8.2体系结构类型
8.3系统结构风格
目标要求
通过本次课学习,掌握软件体系结构的概念、类型和风格。
重点难点
本章重点:
软件体系结构。
本章难点:
体系结构风格。
教学方式
√课堂讲授 □小组活动 □实验演示 □难点答疑 □提问
□作业讲评 □实践教学 □考试测验 □其他活动
媒体资源
□文字教材 √电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
课后作业
P1678.18.2
板
书
设
计
教学课件《第8章体系结构设计》
第 十 次教学活动设计
教学
环节
内容设计与手段
导
入
新
课
1.回顾上一章内容
2.导入第八章软件体系结构概念的课程内容
讲
授
内
容
8.1软件体系结构
1、什么是体系结构
体系结构并非可运行的软件,确切地说,它是一种表达,使能够:
(1)对设计在满足既定需求方面的有效性进行分析;
(2)在设计变更相