软考必过 - 系统架构师 - 软件工程

wuchangjian2021-11-12 09:33:49编程学习

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

软件工程

软件开发方法

结构化

  • 特点

    • 面向过程
  • 场景

    • 需求明确

面向对象

  • 特点

    • 复用
    • 解耦

面向服务

  • 特点

    • 粗粒度
    • 低耦合
    • 标准化接口
  • 阶段

    • 操作
    • 服务
    • 业务流程
  • 建模

    • 服务发现
    • 服务实现
    • 服务规约

逆向工程

  • 级别

    • 实现级

      • 抽象语法树
    • 结构级

      • 依赖
    • 功能级

      • 功能
    • 领域级

      • 领域

净室工程

  • 模型驱动架构

软件开发模型

瀑布

  • 特点

    • 结构化
    • bug传递
  • 场景

    • 需求明确

螺旋

  • 特点

    • 原型
    • 增量和迭代
    • 引入风险分析

原型

  • 分类

    • 抛弃式
    • 演化式
  • 场景

    • 需求不明确

喷泉

  • 特点

    • 面向对象

V

  • 特点

    • 测试贯穿始终
  • 测试

    • 验收测试

    • 系统测试

    • 集成测试

    • 单元测试

      • 编码

统一过程

  • 特点

    • 用例驱动
    • 以架构为中心
    • 增量和迭代
  • 阶段

    • 初始

      • 需求分析
    • 细化

      • 架构设计
    • 构建

      • 实现和运维
    • 交付

      • 发布

快速开发

  • 特点

    • 构件
    • 增量和迭代

敏捷方法

  • 特点

    • 适应性的
    • 以人为本
    • 周期短,小步快跑
  • 场景

    • 适用于小型项目
  • 价值观

    • 沟通
    • 简单
    • 反馈
    • 勇气
  • 实例

    • XP极限编程

      • 控制成本
    • 开放源代码

      • 不同地域
    • 功用驱动

      • 主程序员和“类”程序员
    • SCRUM

      • 周期短(2~4周一个sprint),小步快跑

构件组装

  • 过程

    • 需求分析
    • 架构设计
    • 构件库建立
    • 应用软件构建
    • 测试和运维

设计模式

原则(7)

  • 单一职责原则

    • 职责单一
  • 开闭原则

    • 打开扩展,关闭修改
  • 依赖倒置原则

    • 具体依赖于抽象,而非抽象依赖于具体
  • 接口隔离原则

    • 不实现冗余接口
  • 里氏替换原则

    • 子类能够替换父类
  • 迪米特法则

    • 对其他类有最少的了解
  • 组合重用原则

    • 组合代替继承

分类(3)

  • 创建型(5)

    • 单例

      • 一个类只有一个对象
    • 工厂方法

      • 提供创建对象的统一接口
    • 抽象工厂

      • 提供创建一系列相关或相互依赖对象的统一接口
    • 构建器

      • 创建复杂对象
    • 原型

      • 克隆,快照
  • 结构型(7)

    • 适配器

      • 接口适配
    • 桥接

      • 接口与实现分离组合
    • 组合

      • 树形机构
    • 装饰

      • 动态添加职责
    • 外观

      • 统一对外接口
    • 享元

      • 对象细粒度共享
    • 代理

      • 访问控制
      • 日志记录,缓存
  • 行为型(11)

    • 责任链

      • 职责传递
    • 解释器

      • 自定义
    • 迭代器

      • 安全遍历
    • 观察者

      • 一对多依赖
    • 访问者

      • 数据与结构分离
    • 中介者

      • 封装交互,解耦
    • 状态

      • 状态指导行为
    • 策略

      • 统一接口,策略切换
    • 模板方法

      • 抽象流程,复用
    • 备忘录

      • 记录与恢复
    • 命令

      • 封装命令,支持撤销

相关文章

线性代数1(2021.10.27)

1.置换矩阵[一个m*n(m<=n)的(0,1)矩阵P为置换矩阵的充要条件...

电力电子技术-整流电路2

电力电子技术-整流电路2

1.2  单相桥式全控整流电路  (Single Phase Bridge Contre...

java知识点04

java类及类的成员:属性,方法,构造器&#x...

服务网关的作用

1,简化客户端的调用复杂度,统一处理外部请求。 2...

连接(join)group by、order by、where的执行顺序

一、group by group by主要用于分组,达到对数据的分类更加...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。