見出し画像

ソフトウェア開発のプロセスモデル

資格試験の勉強中なので、勉強した内容の書き起こし。

ソフトウェア開発のプロセスモデルを集めて、メリデメを整理。

ソフトウェア開発のプロセスモデルは多種多様。
モデルというものはQuality、Cost、Delivery必達のための
先人たちの知恵の結晶

「自分の商品を作りたい」と思ったときに、そのプロセスをいかに敷くか。
に参考になりそう。

ウォーターフォールモデル

システム開発の工程を、分析、設計、プログラミング、テストに分割し、その工程の順番で開発を進めるモデル。

メリット
・作業の分担やスケジューリングを行いやすく、大規模システムにも適用できる
デメリット
・開発が進んでから前工程の変更や修正が発生すると、手戻りのロスが大きくなる

画像1

画像引用元:
https://dcross.impress.co.jp/docs/column/column20180923-01/000728.html

スパイラルモデル

対象システムを独立性の高いいくつかの部分に分割し、各部分について順次開発を進めて組み立てるモデル。

メリット
組み立てる過程で、利用者の要望を取り込んだり、性能改善を行ったりすることで、開発の手戻りを減らすことができる。

画像2

画像引用元:
https://akademeia.info/index.php?%A5%BD%A5%D5%A5%C8%A5%A6%A5%A7%A5%A2%A5%D7%A5%ED%A5%BB%A5%B9%A5%E2%A5%C7%A5%EB

プロトタイピング

開発初期段階でシステムのプロトタイプ(試作品)を作成し、利用者にユーザーインターフェースなどを確認、評価させた上で、本格的な開発に着手するモデル。

メリット
開発の終盤や、終了後に評価させるより、手戻りを減らすことができる

画像3

画像引用元:
https://tecb.jp/blog/598

RAD(高速アプリケーション開発)

Rapid Application Developmentの略。
早く、安く、高品質に開発を行うことを目的とした、短期システム開発モデル。ユーザーを含む少人数のチームにより、仕様分析、設計、開発を進め、
CASEツール(Computer Aided System Engineering)やビジュアルプログラミング言語を活用したプロトタイピング手法によって評価・改良することで完成品に近づけていく。
開発期間をあらかじめ設定した「タイムボックス」を活用し、一定の期間がきたら、次の工程に強制的に移る。
CASEツールとは開発支援ソフトウェアのことで、設計が正しいかのチェック、ドキュメントやプログラムの一部を自動生成したりする。

アジャイル開発

少数精鋭の開発者と利用者が共同して、システム全体を小さい開発単位に区切って、開発単位ごとに要件定義、実装、テスト、修正、リリースを行い、次第に全体の完成を目指すモデル。
少人数でコミュニケーションを密にすることで、短期で高品質の開発を目指す。また、仕様や要件は変化するものであるという前提に立ち、開発単位を小さくすることで、変化に柔軟に対応することを目指す。

画像4

画像引用元:
https://www.google.co.jp/amp/s/udemy.benesse.co.jp/development/web/agile.html

プロダクトライン開発

ソフトウェア開発をプロダクト(製品)ごとに独立して行うのではなく、シリーズやバージョン全体で体系的に開発するモデル。
そのために同系列のソフトウェア群の共通部分をコア資産とし、それを基に個々のプロダクトを開発する。
 従来の再利用技術は、開発はプロダクト単位で行い、その過程で得られた部品を二次的に利用する考え方に過ぎなかった。プロダクトライン開発は、再利用による開発を組織的に実践しようとするもの。

画像5

画像引用元:
https://xtech.nikkei.com/it/article/COLUMN/20051012/222663/

AI開発プロセス

AIが組み込まれたシステム開発における共通的な工程を体系化して定義した開発モデル。
AIシステムの総合的な品質保証を念頭におき、社会的に求められる倫理、コンプライアンス上のチェック観点や、AIシステム開発において重要となるデータの事前加工や品質管理に関するノウハウが組み込まれている。
AIが組み込まれたシステムの開発には従来のシステム開発とプロセスも必要な知識・スキルも異なってくるため、定義された。

画像6

画像引用元:
https://r.nikkei.com/article/DGXLRSP536846_Q0A630C2000000?s=6

更新履歴

20201005 初版投稿

この記事が気に入ったらサポートをしてみませんか?