設計されたソフトウェアが使いにくいのはなぜですか?これは、ソフトウェア開発モデルに慣れていないためです。ソフトウェア開発モデルをよく理解してください

序文

  前回の記事では、コンピュータ構成の原理とアーキテクチャを簡単に紹介しましたが、この記事では、要約レコードに基づいたソフトウェア開発モデルを継続します。この記事では、ソフトウェア設計モデルの基礎知識を紹介しますので、よろしくお願いします。ソフトウェア開発モデルの基本的な知識のマインドマップが必要な場合は、質問の下にメッセージを残すことができます。作成者からできるだけ早く連絡があり、送信されます。

  ソフトウェア開発モデルに関連する知識は非常に豊富であるため、この記事では、ソフトウェア開発モデルで使用される知識ポイントを紹介します。これは、ソフトウェア開発モデルの体系的な学習のリファレンスとヘルプを提供します。

ソフトウェア開発モデル

  ソフトウェア開発の過程で、ソフトウェア開発のプロセス、活動、タスクに注意を払う必要があることがよくあります。このアーキテクチャはソフトウェア開発モデルです。百科事典の説明から借用:ソフトウェア開発モデルは、ソフトウェア開発のプロセス全体、アクティビティ、およびタスクの構造的フレームワークを指します。

  ソフトウェア開発には、要件、設計、コーディング、テスト、場合によってはメンテナンスなどのフェーズが含まれます。

  ソフトウェア開発モデルは、ソフトウェア開発のプロセス全体を明確かつ直感的に表現でき、完了する必要のある主要なアクティビティとタスクを明確に定義し、ソフトウェアプロジェクト作業の基礎として使用されます。さまざまなソフトウェアシステムに対して、さまざまな開発方法を使用でき、さまざまなプログラミング言語とさまざまなスキルを持つ人々を使用して作業でき、さまざまな管理方法と手段を使用でき、さまざまなソフトウェアツールとさまざまなソフトウェアエンジニアリング方法を使用できます。周囲。

  • ラピッドプロトタイピングモデル

  ラピッドプロトタイピングモデルでは、問題を理解して明確にするために、実用的なソフトウェアプロトタイプを迅速に構築する必要があります。これにより、開発者とユーザーは合意に達し、最終的に特定された顧客のニーズに基づいて顧客満足のいくソフトウェア製品を開発できます。-進化モデル-スパイラルモデル-ウォーターフォールモデル-インクリメンタルモデル

  • Vモデル

    • 処理する

      • 需要分析
      • アウトラインデザイン
      • 細かい所までいきわたったデザイン
      • コーディング
      • 単体テスト
      • 統合テスト
      • システムテスト
      • 検収試験
    • 機能:テストのセグメンテーション、要件の改善、問題の早期発見

  • RAD迅速開発モデル

    • ウォーターフォールモデルとコンポーネント化されたモデルで構成されています

    • 処理する

      • ビジネスモデリング
      • データモデリング
      • プロセスモデリング
      • アプリケーションの生成
      • テスト配信
  • アジャイル開発手法

    • アジャイル開発モデル

      • 適応開発
      • クリスタルメソッド
      • 機能駆動開発
      • スクラム
      • エクストリームプログラミング
    • 基本原則

      • 短くて簡単な会議
      • 小さなバージョンのリリース
      • ドキュメントが少ない
      • 協力は重要です
      • 直接顧客エンゲージメント
      • 自動テスト
      • 適応計画の調整
      • ペアプログラミング
      • テスト駆動開発
      • 継続的インテグレーション
      • リファクタリング
    • 4つの価値

      • 伝える
      • 単純
      • フィードバック
      • 勇気
    • 5つの原則

      • クイックフィードバック
      • 単純さの仮定
      • ステップバイステップ
      • 変化を提唱する
      • 优质工作
  • 软件需求

    • 分类:业务需求、用户需求、系统需求
    • 功能需求、性能需求、约束设计
    • 基础需求、期望需求、兴奋需求
  • 软件测试

    • 动态测试

      • 黑盒测试

        • 等价类划分
        • 边界值分析
        • 错误推测
        • 因果图
      • 白盒测试

        • 基本路径测试
        • 循环覆盖测试
        • 逻辑覆盖测试
      • 灰盒测试

    • 静态测试

      • 桌前检查
      • 代码走查
      • 代码审查
    • 软件测试阶段

      • 单元测试

      • 集成测试

        • 一次性组装
        • 增量式组装
      • 确认测试

        • 内部确认测试
        • Alpha测试
        • Beta测试
        • 验收测试
      • 系统测试

  • 环路复杂度计算 :边数-结点数+2

  • 项目管理

    • 范围管理
    • 时间管理
    • 成本管理
    • 质量管理
    • 人力资源管理
    • 沟通管理
    • 风险管理
    • 采购管理
    • 整体管理
  • 瀑布模型SDLC

    • 开发过程

      • 软件计划
      • 需求分析
      • 软件设计
      • 程序编码
      • 软件测试
      • 运行维护
    • 适合场景:需求明确;二次开发

    • 缺点:需求不明确

    • 结构化的开发

  • 螺旋模型

    • 包含:瀑布模型、原型、增量模型、演化模型的特征

    • 引入了风险分析

    • 包含

      • 制定计划
      • 风险分析
      • 客户评估
      • 实施过程
  • 喷泉模型

    • 迭代
    • 无间隙
    • 面向对象的模型
  • 构建组装模型CBSD

    • 提高复用性

    • 过程

      • 需求分析和定义

      • 软件架构设计

      • 构件库的建立

        • 构件标准

          • CORBA
          • EJB
          • COM/DCOM/COM+
      • 应用软件建立

      • 测试发布

  • 信息系统开发方法

    • 结构化方法

      • 用户至上
      • 严格区分阶段
      • 系统开发的整体性和全体性
      • 自顶向下,逐步求解
    • 原型方法

      • 适用于需求不明确
      • 包括抛弃式原型和演化式模型
    • 面向对象方法

      • 更好的复用性
      • 全面合理统一的模型
      • 分析设计实现界限不明确
    • 面向对象方法

      • 操作服务业务
      • 基础设计层、应用结构层和业务组织层
      • 服务发现、服务规约、服务实现
  • 结构化设计

    • 概要设计

      • 自顶向下,逐步求精
      • 信息屏蔽
      • 模块独立,低耦合高内聚
    • 详细设计

  • 软件维护

    • 可维护性

      • 易分析性
      • 易改变性
      • 稳定性
      • 易测试性
    • 维护类型

      • 改正性维护
      • 适应性维护
      • 完善性维护
      • 预防性维护
  • 软件过程改进CMMI

    • 阶段式

      • 过程管理
      • 项目管理
      • 工程
      • 支持
    • 连续式(组织能力成熟度)

      • 混乱
      • 已管理级
      • 已定义级
      • 定量管理级
      • 优化级

结语

  好了,以上就是软件开发模型基础的介绍,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。

  作者介绍:【小阿杰】一个爱鼓捣的程序猿,JAVA开发者和爱好者。公众号【Java全栈架构师】维护者,欢迎关注阅读交流。

ナゲッツテクノロジーコミュニティのクリエイター署名プログラムの募集に参加しています。リンクをクリックして登録して送信してください。

推奨読書

[SpringBootクイックスタート]25。SpringBootのDingdingグループロボットへのクイックアクセスを詳しく紹介します

2022年の半ば、昨日のトランス状態のようですが、その年の約束を今でも覚えていますか?

Spring Bootコラム、SpringBootクイックスタートシリーズ。このコラムは、Java開発者、特にSpring Bootを初めて使用する開発者や、従来のSpringからSpringBoot開発に移行する必要のある技術スタッフを対象としています。クイックスプリングブートプロジェクトの例がたくさん

おすすめ

転載: juejin.im/post/7122486371817619463