导图社区 软件工程导论第六版张海藩
下图为第六版《软件工程导论》思维导图,基本覆盖全重点,清晰地梳理了软件项目管理、软件生命周期、软件工程和软件危机等内容的脉络。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《老人与海》思维导图
《钢铁是怎样炼成的》章节概要图
《傅雷家书》思维导图
《西游记》思维导图
《水浒传》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
软件工程
软件危机
定义
表现
原因
消除途径
本质特性
基本原理
软件工程方法学
三要素
传统方法学
面向对象方法学
四个要点
出发点与基本原则
优点
面向对象的十个概念
三要素:封装、继承、多态性
面向对象建模
对象模型
关系:关联、聚集、泛化、依赖细化
银行画图题
动态模型
子主题
功能模型
用例图
画图方法P253
三种模型之间的关系:8条
面向对象分析(OOA)
复杂问题五个层次、三个子模型
面向对象设计OOD
设计准则:模块化,抽象,信息隐藏 弱耦合,强内聚,可重用P260
启发选择:6条P261
软件重用
层次,级别,可重用成分p263
类构件
重用方式:实例,继承,多态重用
可重用构件特点
面向对象实现OOP
设计语言的优点P290
设计语言的技术特点P290
选择面向对象语言的因素P294
提高可重用性,可扩充性,健壮性准则
测试策略
单元测试
集成测试:方法
确认测试测试类的方法300
软件生命周期
软件定义
问题定义
可行性研究
分类:技术可行性,经济可行性,操作可行性
根本任务:对以后的行动方针提出建议
步骤8条
系统流程图
数据流图
源点或终点,处理,数据存储,数据流
基本目的
作为交流信息的工具
作为分析和设计的工具
数据字典
组成
1数据流2数据流分量3数据存储4处理
方式
顺序,选择,重复,可选
成本/效益分析
成本估计
代码行技术
任务分解技术
自动估计成本技术
方法
1货币的时间价值2投资回收期3纯收入4投资回收率
需求分析
基本任务:准确的回答“系统必须做什么”,对目标系统提出完整,准确,清晰,具体的要求
任务
确定对系统的综合要求
分析系统的数据要求
与用户沟通获取需求的方法
分析建模与规格说明
实体-联系图
数据对象
属性
联系:一对一,一对多,多对多
数据规范化
状态转换图
其他
层次方框图
warnier图
IPO图:输入,处理,输出图
验证软件需求
从那些方面验证
工具
软件开发
系统设计
总体设计
系统设计阶段,确定系统的具体实现方案
结构设计阶段,确定软件结构
设计过程9条
设计原理:模块化,抽象,逐步求精,信息隐藏与局部化, 模块独立(低耦合,高内聚)
启发原则
面向数据流的设计方法
结构化设计方法(SD)是基于数据流的设计方法
变换流与事物流
层次图,结构图,HIPO图
详细设计
结构程序设计
分类
经典
顺序,IF_THEN_ELSE分支,DO_WHILE循环
扩展
以上+DO_CASE多分支结构,DO_UNTIL循环结构
修正
以上+LEAVE结构
过程设计的工具
程序流程图
盒图
PAD图
判定表
判定树
面向数据结构的设计方法
Jackson图
面向数据结构,表现组成关系
程序复杂度的定量度量
McCabe方法
流图(程序图)
计算环形复杂度的方法
系统实现
编码和单元测试
编码
编码风格
测试
目标
准则
黑盒测试
等价划分
边界值分析
错误推测
白盒测试(结构测试)
逻辑覆盖
控制结构测试
基本路径测试
条件测试
循环测试
步骤5条
重点
代码审查
集成测试
渐增与非渐增测试
自顶向下集成与自底向上集成,二者比较
回归测试
确认测试
范围
配置复查
Alpha测试
Beta测试
调试
过程
途径
蛮干法
回溯法
原因排除法
软件可靠性
可靠性,可用性定义。MTTR,MTTF
综合测试
运行维护
软件维护
根本任务
特点
非结构化维护与结构化维护差别巨大
代价高昂
问题很多
过程软件的可维护性
决定软件可维护性的因素
可理解性
可测试性
可修改性
可移植性
可重用性
文档
维护性复审
预防性维护
怎样维护老程序
软件再工程
库存目录分析
文档重构
逆向工程
代码重构
数据重构
正向工程
模型
瀑布模型
由文档驱动
1阶段间具有顺序性和依赖性
2推迟实现的观点
3质量保证的观点
快速原型模型
适用于需求不确定性高
增量模型
缺点
螺旋模型
基本思想:使用原型及其他办法来尽量降低风险
由风险驱动
喷泉模型
迭代,无缝,求精,线性过程
Rational统一过程
敏捷过程与极限编程
微软过程
微软过程准则
微软软件生命周期
微软过程模型
软件项目管理
估算软件规模
功能点技术
估算工作量
静态单变量
KLOC
W_F
B_B
Doty(kloc>9时适用)
FP
A&G
MBM
动态多变量
COCOMO2模型(构造性成本模型)
进度计划
估算开发时间:W_F,COCOMO,COCOMO2,Putnam模型
如果想缩短开发时间,增加人数是否有效P313
Gantt图
工程网络
估算工程进度:计算EET,LET规则
关键路径
机动时间
人员组织
民主制程序员组
主程序员组
现代程序员组
质量保证
软件质量的定义
要点
主要影响因素
保证措施
软件配置管理
定义,目标
软件配置
软件配置项
基线
管理过程:小标题
能力成熟度模型CMM
基本思想
等级
初始级
可重复级
已定义级
已管理级
优化级
软件设计
结构设计
数据设计
接口设计
过程设计