平成21年度 春期 ITパスポート試験 問49 解説 プログラミングの定義
プログラミングの説明として,適切なものはどれか。
- ア 個々のプログラムを結合し,ソフトウェアが要求どおり動作するかを検証する。
- イ ソフトウェアを階層構造に基づいて機能分割する。
- ウ プログラム言語の文法に従って処理手順などを記述し,その処理手順などに誤りがないかを検証する。 ✓ 正答
- エ プログラムの処理手順を図式化する。
解説
プログラミングとは「コンピュータへの指示書(ソースコード)を書く作業」と「書いた内容が正しいか確認する作業」のセットであると判断しましょう。選択肢の中で、この「記述」と「検証」の両方に触れているのはウだけです。
ソフトウェア開発におけるプログラミングの位置付け
システム開発は、要求分析から始まり、設計、プログラミング、テスト、保守という流れで行われます。プログラミングは、設計書で決まった「何をするか」という論理を、コンピュータが理解できるプログラミング言語(JavaやPythonなど)の文法に従って翻訳する作業です。
この工程は単にコードを書くだけではありません。記述したコードに文法ミスがないか(構文エラー)、また意図した通りに動くか(論理的な誤りがないか)を、コンパイルや単体テストを通して確認するまでがプログラミングという工程に含まれます。
選択肢を吟味する判断のポイント
他の選択肢は、プログラミング以外の開発工程を説明しています。これらを混同しないことが、システム開発全体の流れを理解する近道です。
アの「個々のプログラムを結合し、ソフトウェアが要求どおり動作するかを検証する」は、結合テストやシステムテストのフェーズです。プログラミングの段階ではまだ個別の機能を作っている最中であるため、結合は後の工程になります。
イの「ソフトウェアを階層構造に基づいて機能分割する」は、基本設計の工程です。どのような機能が必要かを洗い出し、システム全体の枠組みを決める作業です。
エの「プログラムの処理手順を図式化する」は、詳細設計の工程です。プログラミングを始める前に、フローチャートや擬似コードを用いて論理を整理するステップを指します。
現場で求められるプログラミングの視点
実際の開発現場では、プログラミングは「設計書通りのものを作る」だけの受動的な作業ではありません。コードを書く過程で「この処理手順だと効率が悪いのではないか」「例外的な入力があったときにどう動くべきか」といった設計上の不備に気づくことも多々あります。
試験対策としては、単に用語を暗記するのではなく、上流工程(設計)から下流工程(テスト)へのバトンタッチがどのように行われているかという「プロセスの流れ」を意識してください。プログラミングが、設計という「計画」を、テストという「評価」に繋ぐ重要な架け橋であることを理解しておきましょう。