こんにちは、Takamiです!
文系出身だけどIT系の職種に就職したい方の中には、「IT職に就きたいから、とりあえずプログラミング言語を勉強しよう!」と思っている方がいらっしゃるのではないでしょうか?
しかし!実際に言語がシステム開発の中のどの時点で必要とされるのか、また言語以外にどのようなスキルが必要なのかについて理解していなければ、せっかく学んだ言語もただの「教養」となりかねません。
今回はそんなIT系職種を目指す文系の方向けに、ITシステムの開発工程について簡単に解説していきます!
システム開発の流れ
システム開発は基本的に以下のような流れで行います。
- 要件定義
- 基本設計・詳細設計
- 開発(プログラミング)
- 単体テスト
- 結合テスト
- 総合テスト(システムテスト)
- リリース(システム移行)
③はプログラミング言語を使って実際にシステムを作っていく工程、⑦はプログラムを実際にユーザーが使える環境に解放することを指します。
他の項目については、少し詳細に解説していきます!
①要件定義
要件定義とは、どんなシステムをどのような開発手法で作るのか、といったシステム開発の基本的な内容を決める作業です。導入・運用の方法、予算、開発期間なども要件定義で決めます。
要件定義の目的はシステムを利用するお客様(クライアント)の要望を、どのようにしたら実現できるかを決めることです。そのためシステム的な観点での善し悪しだけではなく、クライアントの要望に沿わないシステムにならないように注意する必要があります。
②基本設計・詳細設計
基本設計とは、①要件定義で決めた内容を基に、システムの見た目や画面上での動き(インターフェースと言います。)を決定する工程です。システムにおける各画面ごとに、どのような動きをすれば良いのかを決めていきます。
詳細設計は、基本設計の内容を基に実際のプログラムコード(ソースと言います。)のどこをどのように追加・修正していけば良いのかを決めていきます。データの流れを整理した図「データフロー図」やデータベースの設計なども決めていきます。
④単体テスト
テストは、プログラミングし終わったシステムが問題なく動作するかを確認する作業です。
中でも単体テストでは、プログラミングした一つ一つの機能(モジュールと言います。)単位でテストを行い、問題が見つかった際は修正を行い、もう一度テスト…といった流れを繰り返します。
⑤結合テスト
結合テストは、④単体テストでモジュール単体で問題が無いことを確認した後に行う確認作業です。
複数のモジュールを組み合わせて流れで操作をしてみて、不具合が起こったり連携が上手くいかなかったりしないかを確認します。
⑥総合テスト(システムテスト)
総合テスト(システムテスト)は、単体・結合テストを終えた後に行う確認作業です。
最初の①要件定義で決めた要件を満たしているか、という観点でシステム全体を通して不具合が起こらないかを確認します。システム的にエラーではなくても、要件に沿っていない動きをしていれば修正が必要です。
また処理が遅くならないか、画面のレイアウトが崩れないかなど、様々な角度から確認を行います。
さいごに
今回はシステム開発の流れについて解説していきました!
ITシステムを作るということがどういうものなのか、これを読んだ文系の皆さんがイメージすることができれば嬉しいです。
それではまた!