基本情報技術者試験

システム開発の流れ(ソフトウェアライフサイクル)

ぼく

こんにちは、まさとです。

ぼく

今回はシステム開発はどのようにして
行われるのかと言った流れの部分を
解説していきます。

悩む人

頼まれたものを作って
渡すだけじゃ無いの??

ぼく

それだと少し足りません、、
大まかにはそれでいいんですが
少し細かくやっていきましょう!

システムを開発する流れ

システムを開発する流れは大まかに

「企画」

「要件定義」

「開発」

「運用」

「保守」

となります。

システムの一生というのは
上のように進んでいきます。

役目を終えて破棄される瞬間まで
働き続けることになります。

これをソフトウェアライフサイクルと言います。

システム開発の調達

調達というのは開発を担当する
システムベンダに対して発注をかけることです。

契約締結に至るまでの流れとそこで
取り交わす文書は次のようになります。

情報提供依頼書(RFI:Request For Information)
渡して最新の導入事例などの提供をします。

システムの内容や予算などの諸条件を
提案依頼書(RFP:Request For Proposal)
システムベンダにまとめて渡します。

システムベンダは
具体的な内容を提案書としてまとめて
発注側に渡します。

提案内容でOKがでたら
開発や運用、保守にかかる費用を
見積書にまとめて渡します。

このようにして
システムベンダを選定し
契約に至ります。

基本計画(要件定義)

作成するシステムに
どんな機能が求められているか
を明らかにします。

・どの業務をシステム化するか

・求められる性能は

・どんな処理が必要か

など発注側と開発側で共有して
意思疎通を図ります。

ここでまとめたものを
要件定義書という形で
文書にして残しておきます。

システム設計

要件定義の内容を具体的な
システムの仕様に落とし込みます。

外部設計

外部設計では
システムを「利用者側から見た」
設計を行います。

つまり見た目などの
利用者が実際に使う部分の設計をします。

内部設計

内部設計では
システムを「開発者から見た」
設計を行います。

つまり外部設計を実現するための実装方法や
物理データ設計などを行います。

プログラム設計

プログラム設計では
プログラムをどう作るのか
という視点の設計を行います。

プログラムの構造化設計や
モジュール同士のインターフェース仕様などが
これにあたります。

プログラミング

この工程では
システム設計で固めた内容に従って
プログラムをモジュール単位で作成します。

プログラミング言語を使って
命令を一つずつ記述していきます。

プログラミング言語は
言語というくらいですから
日本語、英語、フランス語などのように
多く存在します。

テスト

作成したプログラムにミスがないかを
確認していきます。

単体テスト

モジュール単位で行っていくテストです

入出力のチェックをしたり、
プログラム設計通りにできているかなどを
テストしていきます。

結合テスト

結合というくらいですから
モジュールを結合させて状態での動作確認や
入出力検査を行います。

システムテスト

システム全体を稼働させてからの
動作確認や負荷テストなどを行います。

負荷テストというのは
たくさんのアクセスが一度に来ても
システムが落ちたり、異常をきたしたりしないかを
見るものです。

運用テスト

実際の運用と同じ条件下で
動作確認を行います。

テスト環境と本番環境が違った場合
思わぬ落とし穴がここで見つかることもあります。

「テストしましたよー」という証拠となる
エビデンスというものを残して
システムと一緒に発注者に渡す場合もあります。

最後に

いかがだったでしょうか。

今回の内容をまとめます。

✔️本記事のまとめ
  • システム開発の流れ
  • 基本設計
  • システム設計
  • プログラミング
  • テスト
ぼく

お疲れ様でした。

悩む人

これ作ってで終わりじゃないんだね。

ぼく

もちろん会社と会社の取引になるので
書類のやり取りまでかなり細かく
して開発し始めるんですよ。

今回はシステム開発の流れについて
解説してきました。

まずは大まかな流れを掴んでいただいた後に
やり取りする書類の名前など
一つずつ覚えていってください!

ぼく

以上、まさとでした。