見出し画像

時には寄り道するのが人生〜ソフトウェア開発のライフサイクル

良い子のみんなー!
愛と平和を歌って笑顔を届ける愉快なピエロ、MR.SMILEだよー🤡

人は生まれ、育まれ、そしていつか死にゆくもの、
それはまるで一つの輪を成すように、、、

愛と平和を「歌う」系 ソフトウェアテスト技術者っぽく詩的な感じで初めてみたよ。

そして、今回のテーマは「ライフサイクル」。

生まれ、育ち、死ぬまでの過程を円環(サイクル)で表現するのがライフサイクルなんだけど、ソフトウェア開発にもライフサイクルがあるんだ。

JSTQB FLシラバスでも解説されてるソフトウェア開発ライフサイクルの説明の前に少し寄り道して概要を見ていこうね。

ソフトウェア開発ライフサイクル概要


ソフトウェア開発のライフサイクルは、ソフトウェア開発プロジェクトを計画、実行、管理するための一連のステップだよ。
主に要件定義、設計、開発、テスト、リリース、保守の6つのステップに分けられるんだ。

要件定義

ユーザーの要求の収集と分析から、ソフトウェア開発プロジェクトの目的やソフトウェアに必要な機能や性能などの要件を決める。

設計

要件に基づいてシステムの設計を行う。ソフトウェアの構造やデザイン、各コンポーネント(部品、要素)やデータベースの設計を決める

開発

設計に基づいて、システムやコンポーネントソフトのコードを実装する。
(プロクミング言語でソースコードを記述していく作業)

テスト

ソフトウェアの欠陥を検出、修正により品質を向上させるためのテストを行う。

リリース

テストが完了したソフトウェアを実際の環境で使用可能な状態にする。
システムであればサーバーへの配置やインストーラー、製品などの場合は製品上でソフトウェアが動作して販売可能な状態にすること。

運用/保守

顧客やユーザーが使用している状態。
監視を行い、必要な場合はバグ修正やパフォーマンスの最適化、新機能の追加など、ソフトウェアの保守と改善を行う。

ソフトウェア開発ライフサイクルモデル


基本的なライフサイクルから開発の規模や目的、手法に合わせて使い分けられる開発のライフサイクルモデルも生み出されてきたんだ。

昔ながらのウォーターフォール開発と呼ばれるモデルは上で説明したライフサイクルを段階的に進めていくモデルで前のステップが終わらないと次のステップの作業を開始しない(できない)と言う前提の開発ライフサイクルになっているよ。
順番に処理することを表すシーケンシャル開発の一つとされているよ。

上から水が流れ落ちるように

他にもスパイラル、イテレーティブ、インクリメンタル、アジャイルなどの色んな開発ライフサイクルモデルが存在していて、それぞれに長所、短所があるのでプロジェクトや開発対象、組織の方針に合わせて使い分けられているんだ。

まずは概要として「そんなのがあるんやー」くらいに思ってもらえればいいよ。
次回からJSTQB FLシラバスに書かれた内容を元にソフトウェア開発ライフサイクルモデルについて解説していくね。

では、今回はこの辺で!
最後まで読んでくれた良い子のみんなー!
さんきゅーすまいる🤡

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