软件工程师——(十一)软件工程

61 阅读4分钟

1. 软件开发模型———主要需掌握每种模型的特点

image.png

1. 瀑布模型(SDLC)———典型结构化方法的模型

  • 1、基本结构 image.png
  • 2、存在的问题
    • 由于需求阶段难以把控(软件的需求往往都是不明确的,尤其在项目初期),容易被用户推翻
    • 修改时,需要回到需求分析阶段,会浪费大量时间,导致软件项目失败
  • 3、适用场景———需求明确二次开发

2. 其他经典模型

image.png

0. 原型法

  • 说明————通过简易系统的方式,以比较低的成本获取比较全面,比较准确用户需求
  • 实现过程
    • 项目开发初期,构造一个简易系统(一套界面或初步的系统)
    • 简易系统给用户演示
  • 演化模型(变换模型)
    • 说明———将最初的原型通过很多步的演化,调整成给用户使用的软件产品

1. 增量模型

image.png

  • 说明———有原型的思想加上瀑布模型的思想,得到增量模型
  • 思路
    • 先做用户需求核心模块,拿给用户进行使用,发现问题就修正问题
    • 然后再增加开发新的模块,拿给用户进行使用,发现问题就修正问题
    • 不断重复以上步骤

2. 螺旋模型

image.png

  • 说明———由原型发展而来,同时拥有演化模型瀑布模型的特征
  • 特征
    • 多个模型组合而成
    • 引入风险分析

3. V模型(一个强调测试的模型)

image.png

  • 特点
    • 提升测试的地位,对于测试进行细化
    • 步骤之间有着对应关系
      • 需求分析时会验收测试和系统测试的测试计划———便于提早发现系统存在的问题
      • 概要设计时会集成测试的测试计划———概要设计会进行模块的划分,集成测试会测试模块之间衔接,就可以发现模块划分出现的问题
      • 详细设计时会单元测试的测试计划

4. 喷泉模型(比较早面向对象的模型)

image.png

  • 特点
    • 迭代
    • 无间隙

5. RAD(快速开发模型)

image.png

  • 特点
    • 瀑布模型构建化开发模型(CBSD)组合形成
    • 可以快速的构建应用系统
  • 开发步骤
    • 业务建模
    • 数据建模
    • 过程建模
    • 应用生成
    • 测试与交付

6. 构建组装模型(CBSD)

image.png

  • 特点
    • 极大地提高了软件开发复用性,从而极大的减小软件开发的时间成本
    • 降低软件开发成本,提高软件可靠性
  • 基本思路
    • 将软件开发中的各个模块都考虑做成标准的构件
    • 构件进行组装,从而得到需要的软件
  • 构件标准
    • CORBA———对象管理组织(OMG)提出的
    • COM/DCOM/COM+———微软家族的
    • EJB———Java体系中用到的

7. 敏捷开发方法(适用于小型项目)

image.png

  • 基本思想———砍掉不必要的流程,减去不必要的文档,从而减轻开发人员负担
  • 相关模型———共同价值观,共同处事原则
    • 自适应开发
    • 水晶方法
    • 特征驱动开发
    • SCRUM
    • 极限编程(XP)
  • 基本原则
    • 短平快的会议———砍掉不必要的会议,找到替代的方法
    • 小型版本的发布
    • 较少的文档
    • 合作为重
    • 客户直接参与
    • 自动化测试
    • 适应性计划调整
    • 结对编程
    • 测试驱动开发
    • 持续集成
    • 重构

2. 信息系统的开发方法———了解每种方法的特征

image.png

3. 需求的分类与获取

image.png

4. 结构化设计

1. 基本原则

image.png

2. 内聚和耦合(内聚程度高到低排列;耦合程度低到高排列;)

image.png

3. 系统结构/模块结构

image.png

5. 软件测试

1. 测试原则与类型

image.png

2. 测试用例设计

image.png

3. 测试阶段

image.png

4. McCaba复杂度———需掌握(注意那个是边,那个是点,分叉可以抽象为结点,也可不抽象为结点)

image.png

5. 系统运行与维护

image.png

6. 软件过程改进(CMMI)

image.png

7. 项目管理

image.png

相关计算———考点

image.png

  • 1、Gantt图不能直观的表达出各个任务之间的依赖关系
  • 2、PERT图计算(先正推求出事件的最早开始时间,然后逆推求出事件的最晚开始时间)
    • (正推)最早开始时间=Max(耗时最长的)(前一个事件``最早开始时间+事件的持续时间)
    • (逆推)最晚开始时间=后一个事件``最早开始时间-事件的持续时间
  • 3、答案————D、C

2. 风险管理

image.png