资源描述
安徽大学本科教学课程教案
课程代码: 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. 导入第三章课程内容
讲
授
内
容
第一节 什么是灵敏
l 普遍存在改变是基础动力
l 激励沟通
第二节 灵敏及变更成本费用
第三节 灵敏过程是什么
(一) 灵敏标准
(二) 灵敏开发战略
(三) 人原因
第四节 极限编程
l 最广泛应用灵敏软件开发方法
l 极限编程权限、过程
l 工业极限编程。
第五节 其它灵敏过程模型
除了极限编程之外多个较普遍应用灵敏过程模型:
(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课件 □ 其它资源:
课后作业
P109 5.7
板
书
设
计
教学课件《第5章 需求建模:场景、信息和类分析》
第 五 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第五章基于场景建模课程内容
讲
授
内
容
5.1 需求分析
– 确定软件操作特征
– 指明软件和其它系统元素接口
– 要求软件必需满足约束
– 需求分析让软件工程师(有时这个角色也被称作分析或建模师):
– 细化在前期需求工程任务中建立基础需求
– 建立描述用户场景、功效活动、问题类及它们之间关系、系统和类行为和数据流变换时等模型
5.2 基于场景建模
– 新建初始用例
– 细化初始用例
– 编写正规用例
5.3 补充用例UML模型
– 开发活动图
– 泳道图
归
纳
总
结
经过此次课学习,掌握需求分析概念,掌握基于场景建模方法,掌握步骤图和泳道图画法。
第 六 次课程教学方案
周次
6
课时数
2
教学章节
第5章 需求建模:场景、信息和类分析
5.4 数据建模概念
5.5 基于类建模
目标要求
经过此次课学习,掌握数据建模概念,掌握基于类建模方法,掌握CRC卡方法。
关键难点
关键:数据对象,基于类建模
难点:(1)关系;(2)CRC建模。
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
P109 5.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课件 □ 其它资源:
课后作业
P124 6.2 6.4
板
书
设
计
教学课件《第6章 需求建模:步骤、行为和模式》
第 七 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第六章基于步骤建模课程内容
讲
授
内
容
6.1 需求建模策略
¢ 一个考虑数据和处理需求建模方法被称为结构化分析,其中数据作为独立实体转换。
数据对象模型方法定义了它们属性和关系。
操作数据对象建模过程表明当数据对象经过系统时怎样转换数据。
¢ 分析建模第二种方法称做面向对象分析,这种方法关注于
定义类
影响用户需求类之间协作方法
6.2 面向步骤建模
¢ 表示当数据对象在系统中移动时是怎样转变
¢ 数据流图是使用图解形式
¢ 被很多人认为是一个“保守派”方法,但仍提供系统独特见解——它应该用来补充其它分析模型元素
¢ 数据流图:标准
– 第0层数据流图应将软件或系统描述为一个泡泡
– 应仔细标识关键输入输出
– 经过把选定处理、数据对象和数据存放分离为下一层表示而开始精化过程
– 应使用有意义名称标识全部箭头和泡泡
– 当从一个层转到另一个层时要保持信息流连续性
– 一次精化一个泡泡
归
纳
总
结
经过此次课学习,掌握需求建模策略,掌握画数据步骤图方法。
第 八 次课程教学方案
周次
8
课时数
2
教学章节
第6章需求建模:步骤、行为和模式
6.3 生成行为模型
6.4 需求建模模式
目标要求
经过此次课学习,掌握生成行为模型方法,了解需求建模模式。
关键难点
关键:生成行为模型
难点:状态图
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
P124 6.7 6.8
板
书
设
计
教学课件《第6章 需求建模:步骤、行为和模式》
第 八 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第六章生成行为模型课程内容
讲
授
内
容
6.3 生成行为模型
¢ 行为模型显示了软件怎样对外部事件或激励作出响应。要生成模型,分析师必需根据以下步骤进行:
¢ 评定全部用例,以确保完全了解系统内交互次序。
¢ 识别驱动交互次序事件,并了解这些事情怎样和特定对象相互联络。
¢ 为每个用例生成序列。
¢ 创建系统状态图。
¢ 评审行为模型以验证正确性和一致性。
1、状态图
¢ 在行为建模场所下,必需考虑两种不一样状态描述:
系统实施其功效时每个类状态
系统实施其功效时从外部观察到系统状态
¢ 类状态含有被动和主动两种特征[CHA93]。
被动状态只是某个对象全部属性目前状态。
一个对象主动状态指是对象进行连续变换或处理时目前状态。
2、系统状态
¢ 状态——在给定时间内,观察到一组系统行为特征情况
¢ 状态转换——从一个状态到另一个状态运动
¢ 事件——能造成系统表现出部分可估计行为方法发生
¢ 活动——以作出转变结果形式出现过程
3、行为建模
¢ 列出不一样系统状态(系统怎样表现?)
¢ 表明系统怎样从一个状态转变为另一个状态(系统怎样改变状态?)
指出事件
指出活动
¢ 画状态图或次序图
6.4 需求建模模式
1、发觉分析模式
2、举例:实施器-传感器
归
纳
总
结
经过此次课学习,掌握生成行为模型方法,了解需求建模模式。
第 九 次课程教学方案
周次
9
课时数
2
教学章节
第7章 设计概念
目标要求
本章学习能够应用于全部软件设计基础概念和标准、设计模型元素和模式对设计过程影响。
关键难点
本章关键:设计过程;(2)设计模型。
本章难点:设计模型。
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
(一)怎样评定软件设计质量?
(二)简明描述设计模型四个元素。
板
书
设
计
教学课件《第7章 设计概念》
第 九 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第七章课程内容
讲
授
内
容
软件工程中设计
n 分析模型——设计模型——设计文档
n 回复How to do?
n 能够分为概要设计、具体设计
n 把分析阶段产生软件需求分析说明转换为用合适手段表示软件设计文档。
设计模型
n 数据设计
n 信息模型 —— 软件数据结构
n 体系结构设计
n 定义软件部件间关系
n 接口设计
n 软件内部、外部及和人之间通信
n 构建级(过程)设计
n 软件组件过程性描述
归
纳
总
结
本章学习能够应用于全部软件设计基础概念和标准、设计模型元素和模式对设计过程影响。
第 十 次课程教学方案
周次
10
课时数
2
教学章节
第8章 体系结构设计
8.1 软件体系结构
8.2 体系结构类型
8.3 系统结构风格
目标要求
经过此次课学习,掌握软件体系结构概念、类型和风格。
关键难点
本章关键:软件体系结构。
本章难点:体系结构风格。
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
P167 8.1 8.2
板
书
设
计
教学课件《第8章 体系结构设计》
第 十 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第八章软件体系结构概念课程内容
讲
授
内
容
8.1 软件体系结构
1、什么是体系结构
体系结构并非可运行软件,确切地说,它是一个表示,使能够:
(1) 对设计在满足既定需求方面有效性进行分析;
(2) 在设计变更相对轻易阶段,考虑体系结构可能选择方案;
(3) 降低和软件结构相关风险。
2、体系结构为何关键
n 软件体系结构表示有利于对计算机系统开发感爱好各方(利益相关者)开展交流。
n 体系结构突出了早期设计决议,这些决议对随即全部软件工程工作有深远影响,同时对系统作为一个可运行实体最终成功相关键作用。
n 体系结构“构建了一个相对小、轻易了解模型,该模型描述了系统怎样组成和其构件怎样一起工作”[BAS03]。
3、体系结构描述
n IEEE 计算机学会提出了IEEE-Std-1471-,密集型软件系统体系结构描述推荐实践做法:[IEE00]
n 建立软件体系结构设计过程中使用概念性框架和词汇表,
n 提供表示体系结构描述具体准则,
n 激励良好体系结构设计实践。
n IEEE 标准将体系结构描述(AD) 定义为“统计体系结构产品集合”。
n 该描述本身使用多视图来表示,这里每个视图是“从一组[利益相关者]关注点角度观察整个系统一个表示”。
8.2 体系结构类型
n 类型隐含了整个软件领域中一个特定类型。
n 在每种类别中,会有很多子类别。
n 比如,在建筑物类型中,大致会有以下多个通常风格:房子、单元楼、公寓、办公楼、工厂厂房、仓库等。
n 在每一个通常风格中,也会利用更多具体风格。每种风格有一个结构,能够用一组可估计模式进行描述。
8.3 体系结构风格
每种风格描述一个系统类别,包含:
(1)完成系统需要某种功效一组构件(比如,数据库、计算模块);
(2)能使构件间实现“通信、合作和协调”一组连接件;
(3)定义构件怎样集成成为系统约束;
(4)语义模型,能使设计者经过分析系统组成已知属性来了解系统整体性质 。
n 以数据为中心体系结构
n 数据流体系结构
n 调用和返回体系结构
n 面向对象体系结构
n 层次体结构
归
纳
总
结
经过此次课学习,掌握软件体系结构概念、类型和风格。
第 十一 次课程教学方案
周次
11
课时数
2
教学章节
第8章 体系结构设计
8.4 体系结构设计
8.5 评定可选体系结构设计
8.6 使用数据流进行体系结构映射
目标要求
经过此次课学习,掌握软件体系结构设计方法和选择方案,掌握怎样从数据流图映射成体系结构设计。
关键难点
本章关键:软件体系结构设计。
本章难点:数据流映射体系结构。
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
P167 8.8
板
书
设
计
教学课件《第8章 体系结构设计》
第 十一 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一次课内容
2. 导入第八章软件体系结构设计课程内容
讲
授
内
容
8.4 体系结构设计
n 待开发软件必需放在所处环境中
n 设计应该定义和软件交互外部实体(其它系统、设备、人)和交互特征。
n 确定体系结构原型集
n 原型(类似于类)是表示系统行为元素一个抽象
n 设计人员经过定义和细化实施每个原型软件结构来指定系统结构
8.5 评定可选体系结构设计
n 设计会造成多个可供选择候选体系结构,其中每一个候选体系结构全部需要评定,以确定哪种体系结构最适合要处理问题。
8.6 使用数据流进行体系结构映射
n 体系结构风格描述了本质上不一样体系结构,所以,并不存在一个能够实现从分析模型到多种体系风格转换全方面映射。
n 为了描述体系结构映射方法,考虑“调用和返回”体系结构映射技术——这种体系结构是很常见结构。这种映射技术使得设计者能够从分析模型数据流图中导出相当复杂“调用和返回”体系结构,这种技术也称为结构化设计。
n 结构化设计常常被刻画为面向数据流设计方法,它提供了方便从数据流图到软件体系结构变换。信息流类型决定了映射方法。
归
纳
总
结
经过此次课学习,掌握软件体系结构设计方法和选择方案,掌握怎样从数据流图映射成体系结构设计。
第 十二 次课程教学方案
周次
12
课时数
2
教学章节
第9章 构件级设计
目标要求
本章学习构件级设计定义,并掌握定义数据结构、接口和算法需要遵守设计指导准则和完成设计方法。
关键难点
(一)本章关键:(1)设计基于类构件;(2)实施构件级设计。
(二)本章难点:(1)基础设计标准;(2)构件级设计步骤。
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
(一)术语“构件”有时极难定义,请先给出一个通常定义,然后针对面向对象软件和传统软件给出更明确定义。
(二)逐步求精和重构是一回事吗?假如不是,它们有什么区分?
板
书
设
计
教学课件《第9章 构件级设计》
第 十二 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第九章构件设计课程内容
讲
授
内
容
9.1 什么是构件
n OMG 统一建模语言规范[OMG01] 是这么定义构件:
n “系统模块化、可布署和可替换部件,该部件封装了实现并暴露一组接口。””
n OO 见解:构件包含一组协作类
n 传统见解:一个构件包含处理逻辑,实现处理逻辑所需内部数据结构和能确保构件被调用和实现数据传输接口。
9.2 设计基于类构件
1、基础设计标准
n 开闭标准(OCP)。“模块[构件]应该对外延含有开放性,对修改含有封闭性”。
n Liskov 替换标准(LSP)。“子类能够替换它们基类”。
n 依靠倒置标准(DIP)。“依靠于抽象,而非具体实现”。
n 接口分离标准(ISP)。“多个用户专用接口比一个通用接口要好”。
n 公布复用等价性标准(REP)。“复用粒度就是公布粒度”。
n 共同封装标准(CCP)。“一同变更类应该合在一起”。
n 共同复用标准(CRP).。“不能一起复用类不能被分到一组”。
2、设计指导方针
n 构件
n 对那些已经被确定为体系结构模型一部分构件应该建立命名约定,并对其做深入细化和精华,使其成为构件级模型一部分。
n 接口
n 接口提供相关通信和协作关键信息(也能够帮助我们实现OPC标准)。
n 依靠和继承
n 这种方法很好,模型依靠关系是自左向右,继承关系是自底向上(基类)。
3、内聚性
n 传统见解:
n 模块专一性
n OO 见解::
n 内聚性意味着构件或类只封装相互关联亲密,和和构件或类本身有亲密关系属性和操作。
n 内聚分类
n 功效,当一个模块只完成某一组特定操作并返回结果时
n 分层,由包、构件和类来实现。高能够访问低,反之不可
n 通信,访问相同数据全部操作在一个类中
n 有序
n 过程
n 临时
n 实用
4、耦合性
n 传统见解
n 构件之间相互联络、构件和外部世界联络程度一个度量
n OO见解:
n 类之间相互联络程度一个定性度量
n 耦合分类
n 内容,一个构件暗中修改其它构件内部结构
n 共用,当大量构件全部要使用同一个全局变量时
n 控制,当操作A调用操作B,而且向B传输控制标识时
n 标识,当类B被申明为类A某一操作中一个参数类型时
n 数据,当操作需要传输长串数据参数时
n 历程调用,当一个操作调用另外一个操作时
n 类型使用,当构件A使用了在构件B定义一个数据类型时
n 包含或导入,当构件A引入或包含一个构件B包或内容时
n 外部,当一个构件和基础设施构件进行通信和协作时
9.3 实施构件级设计
n 步骤1:标识出全部和问题域相对应设计类。
n 步骤2:确定全部和基础设施域相对应设计类。
n 步骤3:细化全部不需要作为可复用构件设计类。
n 步骤4:说明持久数据源(数据库和文件)并确定管理数据源所需要类。
n 步骤5:开发而且细化类或构件行为表示。
n 步骤6:细化布署图以提供额外实现细节。
n 步骤7:考虑每个构件级设计表示,而且时刻考虑其它可选方案。
9.4 设计传统构件
n 处理逻辑设计是由算法设计基础标准和结构化编程支配
n 数据结构设计由系统开发数据模型定义
n 接口设计是由协作支配,协作受构件影响
归
纳
总
结
本章学习构件级设计定义,并掌握定义数据结构、接口和算法需要遵守设计指导准则和完成设计方法。
第 十三 次课程教学方案
周次
13
课时数
2
教学章节
第11章 质量概念
目标要求
本章学习软件质量概念,考查为何软件质量值得认真考虑,何时应用软件工程实践。
关键难点
(一)本章关键:(1)软件质量;(2)软件质量困境。
(二)本章难点:质量成本。
教学方法
√课堂讲授 □ 小组活动 □ 试验演示 □ 难点答疑 □ 提问
□ 作业讲评 □ 实践教学 □ 考试测验 □ 其它活动
媒体资源
□ 文字教材 √ 电子教案 □ 录像材料 □ 录音材料 □ 直播课堂
□ CAI课件 □ IP课件 □ 其它资源:
课后作业
(一)用自己话描述软件质量困境。
(二)考虑质量成本4个方面每个方面,你认为那个方面是最昂贵,为何?
板
书
设
计
教学课件《第11章 质量概念》
第 十三 次教学活动设计
教学
步骤
内容设计和手段
导
入
新
课
1. 回顾上一章内容
2. 导入第11章质量概念课程内容
讲
授
内
容
11.1 什么是质量
n 质量是一个复杂多面概念。能够从5个不一样见解来描述。玄妙见解认为质量是立即就能识别东西,却不能清楚地定义。用户见解是从最终用户具体目标来说。假如产品达成这些目标,就显示出质量。制造商见解是从产品原始规格说明角度来定义质量,假如产品符合规格说明,就显示出质量。产品见解认为质量是产品固有属性。最终,基于价值见解依据用户愿意为产品支付多少钱来评测质量。
11.2 软件质量
n 软件质量能够这么定义:在一定程度上应用有效软件过程,发明有用产品,为生产者和使用者提供显著价值。该定义强调了以下3个关键方面:
n 有效软件过程为生产高质量软件产品奠定了基础。
n 有用产品是指交付最终用户要求内容、功效和特征,但最关键是,以可靠、无误方法交付这些东西。
n 经过为软件产品生产者和使用者增值,高质量软件为软件组织和最终用户群体带来了收益。
11.3 质量成本
n 质量成本包含追求质量过程中或在推行质量相关活动中引发费用和质量不佳引发下游费用等全部费用。为了解这些费用,一个组织必需搜集度量数据,为现在质量成本提供一个基准,找到降低这些成本机会,并提供一个规范化比对依据。质量成本可分为预防成本、评定成本和失效成本。
归
纳
展开阅读全文