9-25 软件开发模型及开发流程

一、软件开发模型

    软件开发模型指的是软件开发的全部过程、活动和任务的框架。

  软件开发模型的作用:

    能清晰直观的表达出软件开发的全部过程,明确规定了软件开发的具体活动和任务,是企业级软件开发项目的基础和保障。

二、开发模型种类

  1.瀑布模型

    核心思想:是按工序将问题简化,将功能的实现和设计分开、便于实现分工合作。即采用结构化的分析和设计方法将逻辑分析和物理实现分开。

    瀑布模型适应于开发需求固定的开发。

  瀑布模型的工序

    1)可行性分析

      目的:

          是用最的小代价在尽可能短的时间内确定该项目是否指的开发。

      任务:

          技术可行性:  从技术方面确定现有的条件是否能够完成开发。

          经济可行性:  确定该项目的经济效应是否指的开发。

          社会可行性:  确定该项目是否存在违反法律和道德。

      结果

          输出《项目可行性分析报告》

    2)项目开发计划

      任务

        范围:  确定该项目的具体工作内容

        资源:  确定该项目所需要的人力资源、软硬件资源

        进度:  制定该项目的节点和交付时间

        成本:  核算该项目的成本

        风险:  预测该项目可能会出现的各种可控和不可控风险

      结果

        输出《项目开发计划书》

    2)需求分析

      任务

        功能需求:    确定软件所需要的功能

        性能需求:    确定开发的的软件有哪些技术性需求

        环境需求:    确定软件开发过程中所需的软硬件需求

        用户界面需求:  确定界面的风格和人机交互方式

      结果

        输出《需求规格说明书》

    3)系统概要设计

      任务

        设计软件的架构

        设计数据结构

        设计数据库

        设计界面模型

      输出

        《系统概要设计说明书》《数据库设计说明书》《界面模型设计说明书》

    4)系统详细设计

      任务

        为每个类进行详细的算法设计

        对模块内部数据进行详细设计,根据概要设计进行细节设计

      输出

        《系统详细设计说明书》

    5)编码

      任务

        遵守设计原则

        遵守编码规范

        合理使用设计模式

        编写调试日志信息

        代码具有可阅读性、可测试性、可调试性、可扩展性

      输出

        《API帮助文档》

    6)测试

      黑盒测试(测试人员)            单元测试(开发人员)

      白盒测试(开发人员)            集成测试(开发人员)

      灰盒测试(开发/测试人员)          系统测试(测试人员)

      输出

        《软件测试用例》《软件测试报告》

    7)维护

      任务

        校正性维护:  对软件开发过程中存在的为暴露的Bug进行修改

        完善性维护:  根据用户的需求增加新的功能和性能需求

        适应性维护:  为适应市场的需求而进行软硬件的升级

        防御性维护:  为提高软件的的可维护性和可靠性而进行维护

      输出

        《程序维护手册》

  2.迭代模型  、

    特点

      将项目按阶段性进行,每个阶段都执行一个瀑布模型,其中包括不同比例的需求分析、设计、编码、测试,每个阶段都发布一版可运行的版本,通过多次迭代完成整个项目开发。

    迭代模型适合客户需求不确定的项目开发。

  3.快速原型模型 

    指的是客户需求不明确,需要快速建立一个可以运行的软件原型,以便于客户和开发人员沟通,最终确切具体的开发需求。

    适合客户需求不明确、可变的的项目开发。

  4.混合模型

    指的是几种不同的模型混合而形成的模型。

    适合用户需求特异的软件开发

posted @ 2020-09-27 20:58  随时随地的  阅读(401)  评论(2编辑  收藏  举报