导图社区 软件工程 思维导图
建议收藏!下图为软件工程体系的思维导图,包括章节小节等内容,含有软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理等要点。跟着本图一起学习,轻松通过期末考!
编辑于2021-05-25 14:22:51网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
计算机网络第1层-物理层。物理层(或称物理层,Physical Layer)是计算机网络OSI模型中最低的一层。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层。
建议收藏!下图为软件工程体系的思维导图,包括章节小节等内容,含有软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理等要点。跟着本图一起学习,轻松通过期末考!
社区模板帮助中心,点此进入>>
网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
计算机网络第1层-物理层。物理层(或称物理层,Physical Layer)是计算机网络OSI模型中最低的一层。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层。
建议收藏!下图为软件工程体系的思维导图,包括章节小节等内容,含有软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理等要点。跟着本图一起学习,轻松通过期末考!
第1部分软件过程
第一章 软件的本质
软件的定义
计算机系统中的程序及其文档
程序
文档 :各阶段的文档
软件的特点
无形的不可见的逻辑实体
设计开发的
生产过程中无磨损和老化
定制开发的
软件是复杂的
开发成本高,质量要求高
软件的种类
系统软件
支撑软件
应用软件
第二章 软件工程概论
软件工程的起源
软件开发的含义
实现问题域中的概念和处理逻辑到运行平台的概念和处理逻辑的映射
软件开发的本质
不同抽象层术语之间的“映射);不同抽象层处理逻辑之间”映射“
实现”映射“的一般途径:建模
软件开发的三个阶段
个人程序时期
软件作坊时期
软件工程时期
软件危机
成本高质量差,可靠性难以保证;成本难以控制,很少内在预算内完成;开发进度难以保证,周期拖延很长;可维护性较差,维护人员和费用增加;支付使用后,发现新的错误。
实现映射的基本手段:建模
软件工程的框架
软件工程的定义
将系统化的规范化的可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
软件工程的目标
正确性
软件产品达到预期功能的程度
可用性
软件基本结构/文档及实现达到用户可用的程度
开销合宜
软件开发、运动等整个开销满足用户需求的程度
软件工程的活动
需求活动
定义问题,建立系统模型
需求获取,需求定义,需求规约,需求验证
设计活动
总体设计和详细设计
实现活动
编码实现
确认活动
贯穿于整个开发过程
支持活动
修改和完善,为系统的运行提供完善性维护,纠错性维护和适应性维护
软件工程的原则
采用合适的开发范型,使用良好的设计方法
提供高质量的工程支持
实施有效的工程管理
软件过程框架的作用
软件工程可定义为:目标、原则、活动
给出了软件所涉及的软件工程的工程要素
各要素之间的关系
软件工程学科所研究的主要内容
第三章 软件过程
基本概念
软件生存周期
软件生存周期过程(软件过程)
软件过程的含义
活动的一个集合
软件生存周期过程
基本过程
支持过程
文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程、问题解决过程
组织过程
7各个过程
管理过程、基础设施过程、改进过程、人力资源过程、复用程序管理过程、领域模型管理过程
软件过程之间的关系
第四章 过程模型
惯用过程模型
瀑布模型
增量模型
演化模型
原型开发模型
螺旋模型
并发模型
专用过程模型
基于构件的开发
形式化方法模型
面向方面的软件开发
统一过程模型个人模型和团队模型
软件开发的基本活动
理解问题
规划解决方案
执行规划
为了准确性检查结果
cmm
5.优化级
4.量化管理级
3.已定义级
2.已管理级
1.初始级
第五章 敏捷开发
第六章 软件工程的人员方面
第2部分 结构化分析模型
1.软件开发方法
软件开发过程所遵循的办法和步骤
是规则 方法 工具的集成
常见的方法学
结构化方法
结构化分析方法
结构化设计方法
结构化程序设计
面向对象
面向数据结构
敏捷开发
2.1 结构化分析方法
基本术语
数据流
数据流和数据存储支持数据抽象
加工
支持过程/功能抽象,用于表达系统内涵
数据存储
数据源
数据流的起点,系统之外的实体
数据潭
数据流的归宿地,系统之外的实体
数据源和数据潭支持系统边界抽象,用于表达系统外延
模型表达工具
DFD数据流图
表达系统功能模型的工具
一种描述数据变换的图形工具,包含的元素可以是数据流、数据存储、加工、数据源和数据潭
数据字典
定义数据流和数据存储
用于定义数据流和数据存储的结构,并给出构成所给出的数据流和数据存储的各数据项的基本数据类型
数据流:1.销售的商品=商品名+商品编号+单价+数量+销售时间2.查询要求=[商品编号|日期]数据存储:销售文件={销售的商品}数据项:金额=非负实数
判定表/判定树
定义加工小说明
描述加工“做什么”,即加工逻辑,也包括其他一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等
①结构化自然语言:输入数据和输出数据之间的逻辑关系比较简单的加工描述②判定表:适用输入/输出数据之间比较复杂的加工描述③判定树:
结构化分析过程
过程指导
1.建立系统的功能模型
确定系统边界,建立系统环境图(顶层数据流图)
自顶向下,逐步求精,建立系统的层次数据流图
2.建立数据字典
定义数据流
定义数据项
定义数据存储
3.给出加工小说明
使用判定表/判定树
顶层数据流图DFD
建立系统的功能模型
自顶向下,逐层分解 形成0层数据流
按功能要求,将加工打碎
分派数据流,保持与顶层数据流一致
引入文件,形成有机整体(在各加工之间建立合理的关系)
建立数据字典
定义数据流 定义数据存储 定义数据库
给出加工说明
描述一个加工的模板:加工编号:加工名:输入流:输出流:加工逻辑:
2.2 结构化设计方法
设计的定义
定义实现需求规约所需的软件结构
设计目标:依据需求规约,在一个抽象层上建立系统软件模型,包括软件体系结构(数据和程序结构),以及详细的处理算法,产生设计规格说明书
结构化设计的整体框架
总体设计
确定系统的整体模块结构,即系统实现所需要的软件模块以及定义这些模块之间的调用关系
体系结构设计(MSD)
定义软件及其之间的关系,从分析模型(数据流图)导出
接口设计
外部接口
用户界面
目标系统与其他硬件设备
内部接口
系统内部各元素之间的接口
数据设计
软件涉及的文件系统的结构及数据库的表结构
详细设计
详细描述模块,模块内部设计(算法和数据结构)
结构化设计方法的需求
提供可提现“原理/原则”的一组术语
子主题
依据“术语”空间,给出表达软件模型工具
给出设计的过程指导
结构化设计方法
总体设计分为三个阶段
一阶段:初始设计
MSD
根据穿越系统边界的数据流初步确定系统与外部的接口
二阶段:精化设计
将初始的MSD转换为最终可供详细设计使用的MSD
根据模块“高内聚低耦合”设计其中的全局数据结构和每一模块的接口
模块、模块化
三阶段:设计复审
复审前两个阶段得到的高层软件结构
初始模块结构图的设计
总体设计第一步:将DFD转化为初始的MSD
引入两个术语/符号
模块
调用
引入模块结构图MSD
用于表达软件系统的静态结构
过程指导,任务将DFD转换为MSD
将DFD转换为MSD
子主题
1.数据流图分类
变换型DFD
物理输入 逻辑输出
具有较明显的输入部分和变换部分之间的界面、变换部分和输出部分之间界面的数据流图
变换设计的基本步骤
设计准备 复审并精化系统模型
确定输入、变换、输出这三部分的边界
第一级分解 系统模块结构图顶层和第一层设计
第二级分解 自顶向下逐步求精
事务型DFD
数据到达一个加工,该加工根据输入数据的值,在其后的若干动作序列(事务)中选出一个来执行。
事务型DFD和变换型DFD的区别:原则上所有的DFD都可以看作是变换型DFD一般而言,接受1个输入数据,分成多条路径
事务设计的基本步骤
设计准备 复审并精化系统模型
确定事务处理中心
第一级分解系统模块结构图顶层和第一层的设计
第二级分解
总体设计第二步:将初始MSD转换为最终可供详细设计使用的MSD
基于模块化原理(高内聚低耦合)给出设计规则-经验规则-启发式规则用于精化初始的MSD-体现设计人员的创造
模块
模块化
2.3 结构化程序设计方法
第3部分 UML
概念
面向对象分析方法学
一切系统都是由对象构成的,它们互相作用,互相影响,构成了大千世界的各式各样的系统
经历
1.支持编程的面向对象语言
2.20世纪80年代,出现了OOD OOA
3.发布UML(统一建模语言)和USDP(统一软件开发过程)
什么是面向对象
1.不仅仅是一种程序开发方法
使用面向对象程序设计语言
使用对象、类、继承、封装、消息等基本概念进行编程
2.面向对象是一种软件方法学
如何看待软件系统与现实世界的关系
以什么观点求解
如何进行系统构造
什么是对象
面向对象方法的主要特点
从问题域中客观存在的事物出发来构造软件系统
对象
属性
操作
对象的属性和操作结合为一体,构成一个独立的实体,对外屏蔽其内部细节
封装
对事物进行分类,把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的一个实例
分类
通过在不同程度上运用抽象原则,可以得到一般类和特殊类
抽象
继承
复杂的对象可以用简单的对象作为其构成部分
聚合
6.对象之间通过消息进行通信(不允许一个对象直接使用另一个对象的属性)
消息
7.用关联表达类之间的静态关系
关联
结构化表达客观事物的术语
类与对象
类:一组具有相同属性、操作、关系和语义的对象的描述
对象:对象是类的一个实例
1.面向对象的分析OOA
2.面向对象的设计OOD
3.面向对象的程序设计OOP