【软件工程】软件工程学概述复习资料

一、软件的概念与特点

概念

  1. 满足功能要求和性能的指令或计算机程序集合
  2. 处理信息的数据结构
  3. 描述程序功能以及程序如何操作和使用所要求的文档

特点

  • 抽象性:逻辑实体而非物理实体
  • 智力产品:知识技术的转换产物
  • 无磨损:不存在机械老化问题
  • 系统依赖性:受计算机系统限制
  • 手工开发:尚未完全自动化
  • 高成本:开发费用日益昂贵

二、软件危机

定义

在计算机软件开发和维护过程中遇到的一系列严重问题

表现

  1. 开发效率跟不上计算机普及速度
  2. 软件成本占比逐年上升
  3. 开发人员与用户沟通不充分
  4. 质量难以保证
  5. 可维护性差
  6. 重用性低
  7. 文档不完善

产生原因

  • 软件生产本身的复杂性
  • 开发方法和技术局限

三、软件工程方法学三要素

方法工具过程

四、软件生命周期

三个时期

  1. 软件定义时期

    • 问题定义
    • 可行性研究
    • 需求分析
  2. 软件开发时期

    • 总体设计
    • 详细设计
    • 编码和单元测试
    • 综合测试
  3. 运行维护时期

五、软件开发模型

1. 瀑布模型

核心思想:按工序化简问题,分离功能实现与设计

特点

  • 阶段顺序性和依赖性
  • 推迟实现观点
  • 质量保证(阶段评审)

存在问题

  • 不适合需求模糊的系统

适用场景:操作系统、编译系统等系统软件开发

2. 快速原型模型

特点

  • 快速建立功能子集原型
  • 用户通过试用了解系统概貌

3. 增量模型

特点

  • 瀑布模型顺序特征 + 原型迭代特征
  • 将软件视为相互联系的增量

其他模型

  1. 螺旋模型
  2. 敏捷模型(XP极限编程)
  3. 喷泉模型
  4. 微软过程模型

你可能感兴趣的:(软件工程,软件工程)