EE308FZ 笔记D

个人知识库

Author: 刘杰文, Date: Unknown, Categories: , Tags:

EE308FZ 笔记D

导览


  1. 本质
    1. 软件的本质
      1. 角色
      2. 应用领域
      3. 类别
    2. 软件的变更本质
      1. 四新软件
  2. 软件工程
    1. 软件过程
      1. 定义和组成
    2. 实践
    3. 传言
  3. 软件过程结构
    1. 通用过程模型
      1. 基本的几个图(过程流)
    2. 框架活动
    3. 任务集
    4. 过程模式
      1. Ambler
      2. 模板
  4. 过程模型
    1. 惯用过程模型
      1. 瀑布模型(经典生命周期)
        1. V模型
      2. 增量过程模型(迭代的瀑布)
        1. 迭代式开发
      3. 演化过程模型
        1. 原型开发
        2. 螺旋模型
    2. 专用过程模型
      1. 构建开发模型
      2. 形式化方法模型
    3. 统一过程(UP)
      1. 统一建模语言(UML)
    4. 产品和过程
      1. 二象性
    5. 回顾
      1. 流行模型
        1. 瀑布模型
        2. 原型模型
        3. 快速应用开发模型(RAD,耗人力分模块并行开发)
        4. 增量模型
        5. 螺旋模型
        6. 形式化方法模型
        7. 敏捷过程模型
        8. 构件组装模型
        9. 并发开发模型
      2. 过程模型共性:“What-How-Change”
      3. 例题及答案
  5. 敏捷开发(Agile)
    1. 敏捷与惯用模型区别、定义
    2. 敏捷与变更成本
    3. 什么是敏捷过程
      1. 敏捷原则
      2. 敏捷过程定义
    4. 极限编程(XP)
      1. KIS(Keep it simple)原则
      2. CRC卡(类-责任-协作者)
      3. 故事与原型、Spike解决方案
      4. 工业极限编程
    5. 其他敏捷过程模型
      1. Scrum
        1. 任务–冲刺(sprint)
      2. 动态系统开发方法(DSDM)
        1. 特点
        2. DSDM生命周期活动
      3. 敏捷建模(AM)
        1. 敏捷建模原则
      4. 敏捷统一过程(AUP)
    6. 敏捷过程工具集
  6. 软件工程的人员方面
    1. 软件工程师的特质
    2. 软件工程心理学
    3. 软件团队
    4. 团队结构
    5. 敏捷团队
    6. 社交媒体的影响
    7. 软件工程中云的应用
    8. 协作工具
    9. 全球化团队
  7. 理解需求
    1. 需求工程
      1. 需求过程
        1. 瀑布式需求
        2. 进化式需求
        3. SRS
    2. 建立根基
    3. 获取需求
      1. 质量功能部署(QFD)
    4. 开发用例
      1. 用例图
        1. 功能分析
      2. 例题及答案
        1. 用例模板
    5. 构建分析模型
      1. 需求模型=分析模型
      2. 元素
        1. 有图
        2. 基于场景的元素
        3. 基于类的元素
        4. 行为元素
        5. 面向数据流的元素
      3. 分析模式-协商需求-确认需求
    6. 避免常见错误
  8. 需求建模:基于场景的方法
    1. 需求分析
      1. 模型类型
        1. 场景
        2. 数据:信息域
        3. 流程
        4. 行为
      2. 需求模型的三个主要目标
      3. 分析的经验原则
      4. 域分析
      5. 需求模型的元素(
      6. 需求建模方法(四类:场景、类、行为、流)
    2. 基于场景的建模
      1. 用例和场景
      2. 初步用例图
    3. 补充用例的UML模型
      1. 活动图
        1. 泳道图
    4. 补充:数据建模概念
      1. 定义
      2. 有图
        1. 数据对象的表格表示
      3. 实体关系图(E-R图)(实体-属性-联系)
  9. 需求建模:基于类的方法
    1. 识别分析类
      1. 潜在类的选择
    2. 描述属性
    3. 定义操作
      1. 有图(类图)
      2. 例子
    4. 类-职责-协作者建模(CRC)
      1. 有图有例子
      2. 职责的指导原则
      3. 实现职责:自主或协作
      4. 类间的三中通用关系
        1. is-part-of:是…的一部分
        2. has-knowledge-of:有…的信息
        3. depends-upon:依赖…
    5. 关联和依赖
      1. 关联
        1. 多样性限制的表示
      2. 依赖
    6. 分析包
  10. 需求建模:行为和模式
    1. (补)面向流程建模
      1. 数据流图(DFD)、状态迁移图、判定表、数据字典
      2. 有图有例子
    2. 生成行为模型
    3. 识别用例事件
    4. 状态表达
      1. 状态图
      2. 顺序图
      3. 数据流图
      4. 协作图
      5. 例子
    5. 需求建模的模式
      1. 例子
  11. 设计概念
    1. 软件工程中的设计
    2. 设计过程
      1. 软件质量属性FURPS
      2. 通用设计任务集
    3. 设计概念
      1. 抽象
      2. 体系结构设计
      3. 设计模式
      4. 适度的模块化
      5. 信息隐蔽
      6. 功能独立
        1. 内聚(cohesion)
        2. 耦合(coupling)
      7. 设计类
      8. 依赖倒置
    4. 设计模型
      1. 转换对应图(抽象维度)
      2. 设计元素
        1. UML类图中的接口
      3. UML构件图(组件图)
  12. 体系结构设计
    1. 软件体系结构
    2. 体系结构类型
    3. 体系结构风格
    4. 体系结构考虑要素
    5. 体系结构决策
    6. 体系结构设计
    7. 评估候选的体系结构设计
    8. 经验学习
    9. 基于模式的体系结构评审
    10. 体系结构一致性检查
    11. 敏捷性与体系结构
  13. 构件级设计
    1. 什么是构件
    2. 设计基于类的构件
      1. OCP
      2. Liskov替换原则
      3. 依赖倒置
      4. 接口分离(ISP)
    3. 实施构件级设计
    4. WebApp的构件级设计
    5. 设计传统构件
    6. 基于构件的开发
  14. 用户界面设计
    1. 黄金规则
    2. 用户界面的分析与设计
      1. 设计过程
    3. 界面分析
    4. 界面设计步骤
      1. 设计问题
    5. 设计评估
      1. 设计评估周期
      2. 评估标准