zoukankan      html  css  js  c++  java
  • 软件工程(软件过程模型、软件开发过程的建模与文档)

    1、 软件生命周期
    软件定义时期(问题定义阶段、可行性研究阶段、需求分析)、软件开发时期(摘要、详细、编码、测试)、运行维护时期


    2、 软件过程模型定义
    (1) 软件过程:
    规定了完成各项任务的工作步骤,完成一系列任务的框架。
    (2)模型:
    没有通用性,要根据实际情况而定。


    3、软件工程过程模型

    (1)瀑布模型

    举例:

    工作清单:功能(需求分析)

    其他说明(例如:结合用户的实际情况,界面简洁、易操作等)(需求分析)
    开发工具(概要设计)
    开发环境(概要设计)
    工作量(如何具体工作)(概要设计)
    写代码思考(详细设计)
    写代码(实现)
    检测(测试)
    (交付)
    (维护)

    特点:
    每个阶段之间有顺序性、依赖性(实际的瀑布模型是有“反馈环”的,在完成后面的内容的时候,前面有问题可以及时处理)
    推迟实现的观点:注重前期的准备工作
    质量保证的观点:每个过程有文档并进行审核


    优点:
    强迫开发人员采用规范的方法
    文档驱动模型

    缺点:
    个阶段之间反馈较少
    项目的生命周期后期才鞥看到结果
    灵活性不够
    早期的错误可能会在后面暴露,后果比较严重

    (2)快速原型模型:获取用户的主要需求后,快速建立一个原型系统。

    类型:
    探索型原型:需求分析阶段,弄清用户的需求
    实验型原型:设计阶段,考核设计方案是否合理
    演化型原型:得到用户认可后不断扩充为目标系统


    步骤:
    快速分析:与用户配合确定需求
    构造原型
    运行原型:发现问题、消除误解
    评价原型:提出修改意见
    修改

    优点:克服瀑布模型的缺点(最后才能看到效果)减少由于需求不明确带来的缺点
    缺点:连续的修改可能会降低软件的质量

    (3)增量模型

    特点:一个构件一个构件地完成(构建之间无联系),逐步向用户提交产品。

    优点:用户有足够的时间适应新产品。

    缺点:加入构件不能破坏以前的系统

               需求的改变,可能演化为边做边改的模型

    适用范围:适用于模块化、分批次交付、一次性开发难度大的项目

    (4)螺旋模型:在每一个阶段之前加上风险分析

    (5)喷泉模型:迭代的方式进行

    (6)RUP(统一过程)

      阶段:

             初始阶段(确定项目边界)

             细化阶段(分析问题)

             构建阶段(开发)

             交付(满足用户需求)

     4、软件开发过程的建模与文档

    (1)项目前期:

    现状分析(目标单位硬件软件两方面)、收集需求、粗略设计(高层的抽象模型)、可行性分析(技术、经济、社会等)

    需求说明书:用户关于未来软件系统的功能性和非功能性需求

    技术应答书:用户关心的技术问题以及未来拟应对的策略

    软件任务立项报告:项目的名称、性质、目标、意义和规模等

    可行性研究报告:涵盖软件立项报告,增加了可行性分析的相关信息

    (2)需求分析

    以用户需求为基本依据,从功能、性能、数据、操作等多个方面,对软件给出完整、准确、具体的描述,用于确定软件的规格

    (3)概要设计

    要把ER模型转换为逻辑模型

    (4)详细设计和实现

    目的、背景、定义和参考资料

    程序系统的结构

    每个模块的设计说明

    (5)编码

    (6)测试

    (7)项目结束

    项目开发总结报告

  • 相关阅读:
    mybatis plus foreach 的用法
    mongodb聚合查询
    mongodb and 和 or 查询
    mongodb全文搜索
    时间参数的传递
    rabbitmq
    AOP各种的实现
    OWASP Top 10十大风险 – 10个最重大的Web应用风险与攻防
    OAuth2.0认证和授权机制讲解
    MySQL主从复制
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12365969.html
Copyright © 2011-2022 走看看