3-1 软件工程与开发模型

考点分析

image-20240327210733750

只考察上午题

最常考察:关键路径法、软件工程基础

软件工程基础

  • 软件危机:随着软件复杂度提升,开发成本、软件质量、生产效率等问题,软件系统涉及因素巨大

  • 软件工程:为了消除软件危机,以工程学思路进行软件开发,即软件工程

软件工程三个要素

  • 方法:完成软件工程项目的技术手段——偏向于使用的架构

  • 工具:支持软件的开发、管理、文档生成——语言、管理、文档等

  • 过程:支持软件开发的各个环节控制、管理——偏向于项目管理

软件的生命周期

软件生命周期:即软件产品从考虑其概念到产品交付使用,直至最终退役为止的整个过程。可以分为以下6个周期

  1. 计划阶段:确定待开发系统的总体目标和范围,可行性研究和预算、进度估算

  2. 分析阶段:分析、整理和提炼用户需求,编写需求规格说明书和初步用户手册

  3. 设计阶段:根据需求规格说明书,确定软件体系结构,确定每个模块的实现算法、数据结构和接口,编写设计说明书,并组织评审。——系统架构师

  4. 实现阶段:将设计的各个模块编写成计算机可接受的程序代码和相关文档——程序员

  5. 测试阶段:测试各个功能模块,然后将各个模块集成起来,进行功能需求测试——测试人员

  6. 运行维护阶段:后期运维,增删改

软件开发的模型

瀑布模型

定义:将软件生命周期分为:制定计划、需求分析、软件设计、程序编写、软件测试和运行维护6个阶段,并规定他们是自上而下、相互衔接的固定次序

优点:可以规范过程,有利于评审(一步一步形成过程文档,利于评审)

缺点:过于理想,缺乏灵活性,容易产生需求偏差

适用性:用户需求明确、软件开发单位有充足经验和案例的项目(即适用非常成熟的项目)

image-20240327211749397

快速原型模型(抛弃原型法)

  • 第一步是建造一个快速原型,让用户评价,之后抛弃原型,确定需求转入正式开发。

  • 可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险

演化模型(演化原型法)

与快速原型模型不同的是,该模型快速开发一个原型,逐步演化成最终软件。

增量模型

  • 软件被作为一系列的增量构件来设计、实现、集成和测试(即先逐个开发子模块,客户逐个看到,再验证修改)
  • 整个产品被分解成若干构件,开发人员可以逐个开发交付,客户可以不断看到开发的软件,从而降低开发风险,有利于快速开发软件

螺旋模型

综合了瀑布模型和演化模型的优点,还增加了风险分析,特别适合大型复杂系统

image-20240327212337926

站内搜索

没有找到内容!