导图社区 软件工程
软件工程学(一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科),里面列了详细的软考高级架构师的高频考点,复习可用。
编辑于2024-12-31 23:41:30软考在企业认可度高,尤其是国企可升职加薪,也可在一线城市积分落户 此为我整理的软考高级架构师的【备考指南】注:上班族精力有限,可按备考指南学习 考试分为综合知识、案例分析、论文,每门75分,每门考到45分及格即可得证,整理不易,谢谢支持!
龙年随记,这张思维导图是一个个人兴趣和能力的全面展示,旨在帮助自己找到真正热爱的事情,并明确个人的发展方向和目标。
个人对《我用木雕记录异常》这本热门悬疑小说,1至18章的拆解及总结,对起承转合以及伏笔做了注释,拆解下来的总结,感觉大神写作都节奏感极强,哪里起哪里转几乎已经成为本能,分析思考+整理笔记不易,谢谢支持,共同进步。
社区模板帮助中心,点此进入>>
软考在企业认可度高,尤其是国企可升职加薪,也可在一线城市积分落户 此为我整理的软考高级架构师的【备考指南】注:上班族精力有限,可按备考指南学习 考试分为综合知识、案例分析、论文,每门75分,每门考到45分及格即可得证,整理不易,谢谢支持!
龙年随记,这张思维导图是一个个人兴趣和能力的全面展示,旨在帮助自己找到真正热爱的事情,并明确个人的发展方向和目标。
个人对《我用木雕记录异常》这本热门悬疑小说,1至18章的拆解及总结,对起承转合以及伏笔做了注释,拆解下来的总结,感觉大神写作都节奏感极强,哪里起哪里转几乎已经成为本能,分析思考+整理笔记不易,谢谢支持,共同进步。
1.软件工程学(一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科)
软件生命周期(系统分析师录播必修3第1章 软件工程:1-2)
过程管理(系统分析师录播必修3第1章 软件工程:1-28、1-29)
软件能力成熟度模型(Software Capability Maturity Model,简称CMM)
一级:未管理
二级:使用了项目管理
三级:开发过程使用了某种软件方法
四级:开发过程中产生的工件可以标准化
五级:组织使用的开发方法可以持续改进进化
软件开发方法(核心)
概念
软件方法是软件开发全过程的详细指导原则与方法
分类(系统分析师录播必修3第1章 软件工程:1-3 、1-4、1-5、1-6、1-7、1-8、1-9、1-10、1-12、1-13、1-14、1-15)
注意:软件方法的分类可以按多个维度,多个特性来分类,比如可以使用软件方法过程中主要使用的技术(例如:面向过程,面向对象)分类,也可以按软件开发过程中产生的工件(例如:原型、构件,服务)分类,也可能是软件开发过程中的过程特点(例如:瀑布、螺旋)分类
最成熟常用的两大类的软件方法
结构化(面向过程)(系统分析师录播必修3第1章 软件工程:1-6)
数据流图+er图
面向对象(系统分析师录播必修3第1章 软件工程:1-7、1-8、1-9、1-10)
序列图+类图+状态图
注意:用例并不是面向对象的,只不过他的创始者是面向对象大师
软件方法实例
*(标准方法)潘加宇老师的软件方法
过程
A.业务建模
定位需要改进的目标组织(人群或机构)以及该组织接下来最需要改进的问题。
B.需求
描述为了改进组织的问题,所引入的信息系统必须具有的表现。
C.分析
提炼为了满足功能需求,所引入的信息系统需要封装的核心域机制。
D.设计
考虑质量需求和设计约束,将核心域机制映射到选定非核心域上实现。
资料来源
书籍:《软件方法(第二版)》作者:潘加宇,清华大学出版社
幻灯片:《软件需求设计方法学全程实例剖析》 下载地址 umlchina.com/training/slide.html
视频:https://b23.tv/lWX2841
电子书:《软件方法》(2024版)下载地址: umlchina.com/url/softmeth2024.html
RUP
过程
工作流
1.业务建模
2.需求
3.分析和设计
4.实现
5.测试
6.部署
配置和变更管理
项目管理
环境
阶段
初始阶段
细化阶段
构造阶段
移交阶段
资料来源
书籍:《统一软件开发过程》作者:Ivar Jacobson\Grady Booch\James Rumbaugh,机械工业出版社
该方法的核心过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
1.业务建模
B.需求
2.需求
C.分析
3.分析和设计
D.设计
3.分析和设计
4.实现
5.测试
6.部署
FAST
过程
1.范围定义
2.问题分析
3.需求分析
4.逻辑设计
5.决策分析
6.物理设计和集成
7.构造和测试
8.安装和发布
资料来源
书籍:《系统分析与设计方法》,第7版,作者:Jeffrey L.Whitten\Lonnie D.Bentley 机械工业出版社
该方法的过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
1.范围定义
2.问题分析
B.需求
3.需求分析
C.分析
4.逻辑设计
D.设计
5.决策分析
6.物理设计和集成
7.构造和测试
8.安装和发布
ADD
过程
步骤1:评审输入
步骤2:通过选择驱动因子建立迭代目标
步骤3:选择一个或多个系统元素来细化
步骤4:选择一个或多个设计概念以满足选中的驱动因子
步骤5:实例化架构元素、分配职责和定义接口
步骤6:草拟视图和记录设计决策
步骤7:分析当前设计、评审迭代目标、实现设计目的
资料来源
书籍:《软件架构设计实用方法及实践》,作者:Humberto Cervantes\Rick Kazman 机械工业出版社
该方法的过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
B.需求
C.分析
D.设计
步骤1:评审输入
步骤2:通过选择驱动因子建立迭代目标
步骤3:选择一个或多个系统元素来细化
步骤4:选择一个或多个设计概念以满足选中的驱动因子
步骤5:实例化架构元素、分配职责和定义接口
步骤6:草拟视图和记录设计决策
步骤7:分析当前设计、评审迭代目标、实现设计目的
FDD
过程
1.开发一个整体模型
2.构造一个特征表
3.根据特征制定计划
4.根据特征进行设计
5.根据特征进行构造
资料来源
书籍:《特征驱动开发方法原理与实践》,作者:Stephen R.Palmer\JohnM.Felsing 机械工业出版社
该方法的过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
1.开发一个整体模型
B.需求
2.构造一个特征表
C.分析
4.根据特征进行设计
D.设计
4.根据特征进行设计
5.根据特征进行构造
ADM(TOGAF)
过程
预备阶段
需求管理
A.架构愿景
B.业务架构
C.信息系统架构
D.技术架构
E.机会和解决方案
F.迁移规划
G.实施治理
H.架构变更管理
资料来源
书籍章节:《系统架构设计师教程(第二版)》第十二章第三节 作者:叶宏 等 ,清华大学出版社
书籍:业务架构应用架构数据架构实战(第2版) 作者:温昱 ,电子工业出版社
该方法的核心过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
预备阶段
A.架构愿景
B.业务架构
B.需求
需求管理
C.分析
C.信息系统架构
D.设计
C.信息系统架构
D.技术架构
E.机会和解决方案
F.迁移规划
G.实施治理
软考系统分析师教程中的软件方法
过程
1.系统规划
2.系统分析
3.需求获取
4.需求分析
5.需求验证
6.软件架构设计
7.系统设计
8.系统实现与测试
资料来源
书籍:《系统分析师教程》作者:张友生,清华大学出版社
该方法的核心过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
1.系统规划
2.系统分析
B.需求
3.需求获取
5.需求验证
C.分析
4.需求分析
D.设计
6.软件架构设计
7.系统设计
8.系统实现与测试
DSSA
过程
1.领域分析
2.领域设计
3.领域实现
资料来源
书籍章节:《系统架构设计师教程(第二版)》第七章第五节 作者:叶宏 等 清华大学出版社
该方法的过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
1.领域分析
B.需求
1.领域分析
C.分析
2.领域设计
D.设计
2.领域设计
3.领域实现
ABSD
过程
A.体系结构需求
1.需求获取
2.标识构件
a. 生成类图
b.对类进行分组
c.把类打包成构件
3.架构需求评审
B.体系结构设计
1.提出软件体系结构模型
2.把已标识的构件映射到软件体系结构中
3.分析构件之间的相互作用
4.产生软件体系结构
5.设计评审
C.体系结构文档化
D.体系结构复审
E.体系结构实现
F.体系结构演化
1.需求变化归类
2.制订体系结构演化计划
3.修改、增加或删除构件
4.更新构件的相互作用
5.构件组装与测试
6.技术评审
资料来源
书籍章节:《系统架构设计师教程(第二版)》第七章第二节 作者:叶宏 等 清华大学出版社
该方法的核心过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
A.体系结构需求-1.需求获取
B.需求
A.体系结构需求-1.需求获取
A.体系结构需求-3.架构需求评审
C.分析
A.体系结构需求-2.标识构件-a. 生成类图
A.体系结构需求-2.标识构件-b.对类进行分组
A.体系结构需求-2.标识构件-c.把类打包成构件
D.设计
B.体系结构设计
C.体系结构文档化
D.体系结构复审
E.体系结构实现
F.体系结构演化
MDA
过程
CIM(Computation Independent Model):聚焦于芯片系统环境及需求,但不涉及芯片系统内部的结构与运作细节
CIM-1: 定义业务流程
CIM-2: 分析业务流程
CIM-3: 定义系统范围
PIM(Platform Independent Model):聚焦于芯片系统内部细节,但不涉及芯片系统的具体平台 (Platform)
PIM-1: 分析系统流程
PIM-2: 分析业务规则
PIM-3: 定义静态结构
PIM-4: 定义操作及方法
PSM(Platform Specific Model):聚焦于芯片系统落实于特定具体平台的细节。例如,Java 、C/C++ 、SystemC 、Verilog 等都是一种具体平台
资料来源
书籍:《系统分析师UML实务手册》作者:邱郁惠,机械工业出版社
该方法的核心过程与潘加宇老师的软件方法过程大致对应关系
A.业务建模
CIM-1: 定义业务流程
CIM-2: 分析业务流程
B.需求
CIM-3: 定义系统范围
C.分析
PIM-1: 分析系统流程
PIM-2: 分析业务规则
PIM-3: 定义静态结构
PIM-4: 定义操作及方法
D.设计
PSM
软件开发模型
概念
软件开发模型是指软件开发过程、活动和任务的结构框架
分类(系统分析师录播必修3第1章 软件工程:1-17、1-18、1-19、1-20、1-21、1-22、1-23、1-24)
现在成熟的软件方法的开发过程模型基本上都趋向于RUP(工作流+阶段的二维过程)
软件方法与软件开发模型的关系
软件方法是软件开发全过程的指导原则与方法。软件开发模型是软件开发过程的抽象。软件开发模型与软件方法的关系就像是接口与实现类的关系。软件方法可以实现几个不冲突的软件开发过程模型。
同一个软件开发模型可以由不同的软件方法来实现
同一个软件开发模型的不同过程(或是工作流)也可以使用不同的技术(或者工件)实现。例如在分析工作流可以使用面向对象的技术制作工件(分析类图),而设计工作流使用的是面向过程的实现技术平台(C语言)