システム開発(ITパスポート)
システム開発の流れ
システムの開発を始めるのにどのような順番で進めていくのか、決められた流れがあります。
これに準じておかないと後々問題が発生した時、責任の所在にが明らかにならないので、問題解決に時間が掛かります、更にはどこから手をつけて良いのか右往左往する羽目になります。
従って十分に開発プロセスを理解しておく必要があります。
要件定義
・共同レビュー
開発者と発注する人が十分に話し合いながら「システム要件」を決めます。
・システム要件定義
システムに必要とされる「機能」や「処理能力」を決めます。
・ソフトウェア要件定義
ソフトの「インターフェース」を決めますインターフェースとはこのボタンを押すとこうゆう出力動作が行われるなどの機能。
・機能要件定義
機能性とはユーザーの利便性を考えたボタンの設置位置や見た目、UI=ユーザ・インタフェースといいます。
・非機能要件定義
ぱっと見、機能とは直結しない様で実はとても大事な構成要素、要件として「システムの信頼性」とか「システムの性能」などがある、例えば故障に備えて保存するデータは暗号化するとか、処理時間はどの程度のスピードかとか。
システム設計
上記の要件定義を基にしてシステムを設計します、外部設計と内部設計があり、外部設計はシステムの基本となる部分を設計します。内部設計はユーザから見えない部分の設計、例えばプログラム言語はPython使うとか、PHPにするとか。
・システム方式設計・ソフトウェア方式設計・ソフトウェア詳細設計
ユーザビリティ(使いやすさ)を考えて設計する。
GUI(グラフィカル・ユーザ・インターフェース)
マウスカーソルやブラウザなどアイコンで示すことで、ぱっと見わかる設計をする。
PCは本来、CUIというコマンドプロンプト(Macはターミナル)に指示を入力して動作を指示するが、それでは一般の人が使いにくいのでGUIが設計の基本となる。
プログラミング
システム設計が終わったら、プログラミングを行います、動作の流れやデータベース設計などのプログラムを作ります。
ちなみに、HTML,CSS,JavaScriptなどはブラウザ側で動作するのでテイストエディッタで入力するのが一般的だが、プログラミングの大半はサーバ側での動作が中心なので作業過程もコマンドプロンプトで制作することが多い。
テスト
作成したプログラムのテストを行います、動作確認やバグなどの修正処理。(基本的に作った人達で行う作業)
ソフトウェア受け入れ
ソフトウェアの受け入れテスト、注文した人が出来上がってきたソフトを更にテストします、このソフトを導入運用していく段階で自社のシステム構成とマッチしているか、トラブルは起こらないかをテストします。
ソフトウェア保守
最後に導入したソフトウェアに不具合が見つかった時どうするかを決めます、誰が責任者になってどの様に対応するのかを決めておきます。
以上の流れのでも開発順序の種類があります。
システム開発順序の種類
ウォーターフォールモデル
1工程ずつ完成させて順番に流れ作業。
ウォーターフォールモデル「滝」といいます。
上から一気に流れてゆくスピードのある開発モデルだが途中で戻れないという難点もある。
一つ一つの工程で責任を持ってチェックを行わないといけないのでスキルの高い監督者が必要。
プロトタイピングモデル
試作品(プロトタイプ)を作り実際に試しながら開発を進めてゆくタイプの開発順序、実際にユーザーと注文した人の間に立って双方の意見を聞きながら進めてゆく。
スピード感はないがより市場にあったシステムが作れるのと共にミスが有っても修正しながら進めるので完成時のトラブルが少ない。
スパイラルモデル
ウォーターフォールモデルとプロトタイピングモデルを組み合わせて作る方法。
要件定義・システム設計・プログラミング・テストとフィールドを分けて順番にまずは軽く一周する、そこで問題点やユーザの意見を吸収しながら、次の周回に入る、ユーザはある程度完成したシステムを試すのでレビューがし易い。
次の周回では前回の指摘や反省点を踏まえ開発を進める、これを繰り返す事によりより完成度の高いモデルを各担当の負担を軽くしながらスピーディに進めることができる。
ウォーター・フォールとプロトタイピングの両方の利点が使えるモデル。
次回はプログラミングについて、サクッと覚えます。