软件工程的基础

  1.  软件危机
  2. 软件工程
    软件工程是将系统化的,严格约束的,可量化的方法应用于软件的开发,运行和维护,将工程应用于软件

     
  • 软件工程的三个要素:方法,工具,过程
  • 软件的生命周期,是指从从软件的产生到报废的生命周期包括:
  • 问题定义,可行性分析,需求分析,总体设计,详细设计,编码,测试,运行,维护。
  • 软件开发模型:瀑布模型,增量模型,螺旋模型,喷泉模型,智能模型,v模型,快速应用开发模型,构建组装模型,敏捷方法,和统一过程。
     

  1. 瀑布模型(生命周期法)
    6个阶段:软件计划,需求分析,软件设计,程序编码,软件测试,运行维护
    瀑布模型的优点为项目提供了按阶段划分的检查点;完成当前阶段,只需要关注后面阶段;提供了一个模板,此模板使得分析,设计,编码,测试和支持有共同的指导模型。
    瀑布模型的缺点:
    各个阶段产生大量文档,增加了工作量;由于开发方式是线性的增加了开发风险;不适应用户的需求变化;需要明确的目标或者很少变更的项目

  2. 快速原型模型:是利用原型辅助软件进行开发的一种新思想(沙盘)

    原型分类:
    探索型:主要在需求分析阶段
    实验型:主要在设计阶段

  3. 演化原型:在保证最主要需求,然后根据用户的意见进行改进。
    优点软件工程的基础_第1张图片
    软件工程的基础_第2张图片


  4.  增量模型软件工程的基础_第3张图片增量模型的优点:人员灵活分配,前期投入小                                                                                             用户可以直观的感受项目进展,即使使用产品功能                                                         有利于风险的把控

  5. 螺旋模型:
    瀑布模型和演化模型的结合,并增加了风险分析软件工程的基础_第4张图片

    螺旋模型的优点:
                                    设计灵活
                                    以小的分段系统封来构建大系统
                                    用户始终掌握项目的最新信息 ,保证项目的准确性
    螺旋模型的缺点:
                                   必须具有相当丰富的风险评估能力,经验,未能标识风险,势必造成重大损失
                                    过多的迭代次数会增加开发的成本,延迟提交时间

     


     
  6. 喷泉模型:
    是以用户需求为动力的,以对象为驱动的模型
    软件工程的基础_第5张图片

  7. 基于构建的开发模型:
    将整个系统模块化,在一定构建模型的支持下重复使用构建库中的一个或多个软件构建,通过组合手段实现高效化,高质量完成系统的开发。

    优点:
    软件工程的基础_第6张图片
    缺点:
    软件工程的基础_第7张图片

  8. 快速应用开发模型:
    是一个增量型的开发软件模型,强调时间极短。
    软件工程的基础_第8张图片

  9. 敏捷开发:
    以用户的需求为核心,采用迭代,循序渐进的方法进行软件开发
    诞生了敏捷宣言:
    软件工程的基础_第9张图片

 敏捷开发方法
软件工程的基础_第10张图片
敏捷开发原则:
软件工程的基础_第11张图片

你可能感兴趣的:(数据库软考,软件工程)