基本情報技術者 ~システム開発[1]~



f:id:potato_head0809:20210116010233p:plain




こんにちは!ポテトヘッド(@potato_head0809)です!



今回はシステム開発について見ていこうと思います!



では早速始めましょう!





システム開発と言っても、ただプログラムを書けば良いというものではありません。



お客様と話し合いをして理想のシステムを考えたり、



予算など、お金の話も欠かせません。



では、全体的にどのような流れになっているのか...。



それは以下の図のような感じです。



f:id:potato_head0809:20201217191326p:plain




このような一連の流れを「ソフトウェアライフサイクル」と言います。



まずはシステムの導入を企画することから始まります。



当たり前ですよね。システムを必要としないと何も始まりません。



続いて、導入したいシステムにはどのような機能が必要かを固めていきます。



ここが結構重要で、この工程をしっかりしていないと



理想のシステムを開発することが難しくなってきてしまいます。



その次がようやく、プログラムを書いていく工程になります。



そしてここで終わり...とはなりません!



作って終わり。ではなくその後もサポートをしなくてはいけません。



それが運用プロセスになります。



そこからは定期的なメンテナンスを行ったりしていくのが



システム開発の一連の流れになります。



システムベンダが決まるまで...。



システムを導入したい発注側はシステム開発をしてくれる



システムベンダを選びます。



その担当のシステムベンダが決まるまでの流れを見ていこうと思います。



まずは図を見てみてください。



f:id:potato_head0809:20201217192131p:plain




発注側がどのようなシステムが欲しいかがある程度決まったとき



まず欲しいものはおそらくそのシステムに関する情報だと思います。



そこで発注側が「情報提供依頼書」を提出し、情報提供依頼を行います。



この書類を受け取ったシステムベンダは情報を与えます。



次の段階では、予算や機能などの要件をまとめ、「提案依頼書」をシステムベンダに提出します。



この「提案依頼書」を受け取ったシステムベンダは具体的な内容を提案書にまとめ、



発注側に「提案書」を渡します。



この提案書を発注側が見て、納得がいったらシステムベンダに見積書の提出を求めます。



そして見積りを行い、それをまとめた「見積書」を発注側に提出して納得すれば



システムベンダとして選ばれるという流れになっています。



ちょっと長々としてしまいましたが、ざっくり言うと



情報→要件→予算という流れですね。





ではシステム開発の工程をもう少し詳細に見ていくとしましょう。



冒頭で触れたシステム開発の流れは覚えていますでしょうか。



要件定義



この工程では作成するシステムにどんな機能がいるのかを明らかにします。



f:id:potato_head0809:20201217193333p:plain




やはり、お客様の要求に応えることが一番です。



そのためにはお客様との話し合いが欠かせません。



これらの要件をまとめた結果については



要件定義書というもので書き残しておきます。



システム設計



この工程では、要件定義の内容を具体的にシステム仕様にしていきます。



システム設計には3つの段階があります。



図を見てください。



f:id:potato_head0809:20201217193632p:plain




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



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



そして、プログラム設計ではプログラムをどのように作っていくのかを設計します。



プログラミング



この工程は、先程のシステム設計で決定した内容に従い、



プログラムをモジュールという単位で作成します。



ここで登場してくるのがプログラミング言語です。



このプログラミング言語を使って命令を書き込んでいきます。



f:id:potato_head0809:20201217194005p:plain




普段我々は日本語を話しています。英語を知らない方からすれば



英語で話されてもよくわかりませんよね。



それと同じで、コンピュータには機械語という言語があります。



プログラミングで書かれた文字ではコンピュータはプログラムを実行できません。



では何が必要か...。それはコンピュータにわかる言語に翻訳することです。



プログラムが書かれたソースコード機械語に翻訳することで、



プログラムが実行できるようになっているのです。



テスト



この工程では、作成したプログラムにミスがないかを確認しています。



システム設計のようにテストにおいても複数の段階に分けられています。



f:id:potato_head0809:20201217194426p:plain




モジュール単位でのテストや、複数のモジュールを組み合わせたテスト、



さらにはシステム全体のテストなど様々です。



最終的には、本番の環境と同じ状態でテストを行います。



さいごに。



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



ただプログラミングをすれば良いというものではないとわかって頂けたでしょうか。



最後までご覧いただきありがとうございます。



宜しければツイッター(@potato_head0809)のフォローをお願いします!



今回は以上です。お疲れ様でした。