ソフトウェア開発

ヒアリング
顧客の要求に満たし、持続的に運用可能なシステムを構築するために、顧客企業の現状、システム運用への要望及び将来事業展開において可能なニーズを把握するために、
ヒアリングを通して顧客企業の現行機器・ハード構成、現行稼動業務の中にシステム化する対象・範囲及びそのプロセス、情報関連図、例外事項とシステム運用上の留意点等情報を整理する工程である。

要件定義
システム構築・更新に際しての調査/定義に関わる、開発側が顧客の必要性や要求を特定する工程である。
概念上、以下の3つの活動が含まれる:
- 要求の聞出す(ヒアリング): 顧客やユーザーとの対話によってその要求を聞きだす。
- 要求の分析: 要求を必要に応じて明確化し、補い、矛盾点や問題点を明らかにする。
- 要求の記録: 要求を文書化する。

概要設計
システムがユーザーや外部システムに対してどのような機能、インターフェイスを提供するかを設計すること。即ち仕様に基づいてユーザーと開発側の設計者の間で開発するシステムの機能を決定する工程である。
作業内容としては、システム分割、入出力概要設計(画面/帳票設計)、コード設計、データベースの論理設計などがある。

詳細設計
概要設計で作成された仕様に基づいて、ソフトウェア内部のアーキテクチャ、データ処理や管理の方法、アルゴリズムなどを設計すること。開発側の設計者がプログラマに対する指示を決定する工程である。
作業内容としては、機能分割、物理データ設計、入出力詳細設計などがある。

コーディング
コーディングとは、ユースケース、仕様書など設計文書の内容を、プログラミング言語を使って具体的なソースコードを作成すること。

ソフトウェアテスト
ソフトウェアテストは、プログラムを実行し、正しく動作するかどうか確認する作業であり、プログラム中の欠陥(バグ)をできる限り多く発見することを目標とする。ソフトウェアテストでは、欠陥が存在することを示すことはできるが、欠陥が存在しないことは証明できない。
テスト内容としては、モジュール単位で行う単体テスト、プログラムを組み合わせて行う結合テストとプログラムを単独ではなく、他のプログラムやハードウェア、通信ネットワーク、データベースなどと組み合わせて実施するシステム結合テストがある。