软考高级-系统架构师-软件工程

一.软件开发方法与开发模型

1.软件开发方法

在这里插入图片描述

2.软件开发模型

在这里插入图片描述

瀑布模型是一种典型的结构化开发方法的体现,该模型适合 需求非常明确 的项目。

在这里插入图片描述

项目的 需求不明确 适合选用原型模型。

在这里插入图片描述

所谓的原型就是通过原型图给用户描述相关功能,在实际项目开发中常常就是一些静态html网页进行描述,或者通过相关软件(Axure)画的原型图:
在这里插入图片描述

下面就是原型的html:

在这里插入图片描述

增量模型和螺旋模型都是在原型模型的基础上进行演化的,其中螺旋模型适合比较大的项目,并且该模型最大的一点就是引入 风险分析 ,而增量模型是在一个基础版本上不断的增加。

在这里插入图片描述

V模型是一个 测试 贯穿于始终的模型,在每一个阶段都会进行相关测试,这里的测试不仅仅是代码测试还有测试计划的编写,喷泉模型是一种 面向对象 的模型,RAD快速应用开发模型是一种 快速开发 的模型,由SDLC瀑布模型和CBSD基于构件的开发组合,其中CBSD基于构件的开发是能够快速开发的核心。

在这里插入图片描述

下图为构建开发模型,其中的构建库的建立是CBSD的核心是RAD能够快速应用开发的原因,使用构件库不仅仅保证了速度快还能提高可靠性和节约成本,前提是建构件库不是新构建的,而是已经存在,已经经过多次验证后的构件库。

在这里插入图片描述

3.软件开发方法

软件开发模型统一过程三大核心特点, 用例驱动 , 以架构为中心迭代和增量,统一过程分为四个阶段,初始( 确定项目范围和边界 ),细化( 建立软件架构基础 ),构建( 构件组装与测试 )和交付( 制作发布版本 )。

在这里插入图片描述

敏捷方法适合小型项目的开发,作用是为了减轻开发人员的负担,去掉一些没有必要的开发文档,敏捷方法包含多种开发方法如自适应开发,水晶方法,特性驱动开发和极限编程。

在这里插入图片描述
相关方法的介绍:

在这里插入图片描述

4.逆向工程

逆向过程的考点在于下图中的四个层级,实现级,结构级,功能级和领域级。

在这里插入图片描述

5.净室工程

在这里插入图片描述

二.需求工程

考点如下:

在这里插入图片描述

1.需求工程

需求工程是指应用已证实有效的原理 、方法 , 通过合适的工具和记号 ,系统地描述待开发系统及其行为特征和相关约束 。需求工程划分为二个板块即需求开发和需求管理模块,需求管理模块为需求开发提供支持,需求开发模块的过程划分为需求获取,需求分析,需求定义和需求验证。

在这里插入图片描述

(1) 需求获取

软件需求按技术划分可以划分为业务需求,用户需求和系统需求(功能需求,性能需求和设计约束),按项目管理划分为基本需求,期望需求和兴奋需求。

在这里插入图片描述

(2) 需求分析

结构化 需求分析-SA:

SA分析结构如下所示,三个模型功能模型,数据模型和行为模型,三个模型的相关详细信息通过数据字典获得和解析。

在这里插入图片描述

数据流图(DFD):

在这里插入图片描述

E-R图:

在这里插入图片描述

状态转换图:

在这里插入图片描述

面向对象 需求分析:

在这里插入图片描述

UML统一建模语言:

在这里插入图片描述

UML图划分为静态图和动态图,详细如下表所示:

在这里插入图片描述

UML4+1视图:

在这里插入图片描述

面向对象需求分析需求需要完成二个模型用例模型和分析模型:

在这里插入图片描述

用例图:

在这里插入图片描述

用例数据字典:

在这里插入图片描述

三种关系(包含,扩展和泛化):

在这里插入图片描述

在这里插入图片描述

例题:

在这里插入图片描述

答案:D(包含和扩展关系都可以叫做依赖关系),B(包含关系,老版本使用uses即使用关系)

类图和对象图:

在这里插入图片描述

相关关系:

在这里插入图片描述

练习题:

在这里插入图片描述
答案:D,C

顺序图:

在这里插入图片描述

活动图(类似于流程图):

在这里插入图片描述
在这里插入图片描述

状态图:

在这里插入图片描述

通信图(协作图):

在这里插入图片描述

(3) 需求定义

在这里插入图片描述

(4) 需求验证

在这里插入图片描述

2.需求管理

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.软件系统建模

在这里插入图片描述

在这里插入图片描述

三.系统设计

在这里插入图片描述

1.人机界面设计

这部分只需要了解以下三个规则即可:

  • 置于用户控制之下
  • 减少用户的记忆负担
  • 保持界面的一致性

置于用户控制之下:

在这里插入图片描述
减少用户的记忆负担:

在这里插入图片描述
保持界面的一致性

在这里插入图片描述

2.结构化设计

在这里插入图片描述

在这里插入图片描述

3.面向对象设计
(1) 设计原则

在这里插入图片描述

(2) 架构模式,设计模式和惯用法:

在这里插入图片描述

(3) 设计模式

简单方便的复用成功的设计和体系结构

设计模式考点:

在这里插入图片描述

设计模式分类:

在这里插入图片描述

类或对象可参照下图:

在这里插入图片描述

创建型模式:

创建型模式主要用于 创建对象

在这里插入图片描述

工厂方法:

在这里插入图片描述

抽象工厂方法:

在这里插入图片描述

构建器模式:

在这里插入图片描述

结构型模式:

结构型模式主要用于 处理类或对象的组合 。

在这里插入图片描述

适配器模式:

在这里插入图片描述

桥接模式:

在这里插入图片描述

组合模式:

在这里插入图片描述

代理模式

不直接处理而是交给代理进行处理,房屋出租人将房子代理给房屋中介,帮忙出租房屋 。

在这里插入图片描述

中介模式

将网状结构转换为星型,中介是1对多处理,租房族不直接通过房屋出租人租房子(网状),而是通过房屋中介商租房(星型)。

在这里插入图片描述

行为型:

行为型模式主要用于 描述对类或对象怎样交互和怎样分配职责 。

在这里插入图片描述

在这里插入图片描述

职责链模式:

在这里插入图片描述

练习题:

在这里插入图片描述
答案:A(基本设计决策–高层次),B,B

四.软件测试

在这里插入图片描述

1.软件测试方法

在这里插入图片描述

黑盒测试和白盒测试:

在这里插入图片描述

测试阶段:

在这里插入图片描述

在这里插入图片描述

面向对象的测试:

在这里插入图片描述

2.软件调试

在这里插入图片描述

3.系统运行与软件维护

在这里插入图片描述

遗留系统演化策略:

在这里插入图片描述

在这里插入图片描述

修旧系统的转换策略:

在这里插入图片描述

数据转换和迁移:

在这里插入图片描述

系统运行与维护:

在这里插入图片描述

例子:

在这里插入图片描述
答案:A(新增功能…–>扩充功能),B(诊断和更正这些错误…–>改正),C(改进软件未来的可维护性或可靠性…—>预防性)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟嘟的程序员铲屎官

你的鼓励将是我最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值