SAシステムアーキテクト試験 午前Ⅱ

平成28年度秋期 システムアーキテクト 午前Ⅱ 問9

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

組込みシステムの開発におけるソースコードの品質向上のために,C言語のコーディング規則をまとめたものはどれか。

選択肢

  1. ア
    CSS
  2. イ
    GCC
  3. ウ
    MISRA-C
  4. エ
    SystemC
解き方のヒントを見る

コーディング規約の名称と目的の対応

組込み分野では、ソフトウェアの品質や安全性を確保するために複数のコーディング規約が使われています。名称だけを暗記するのではなく、その規約が何を目的に作られ、どの範囲に適用されるものかという観点で整理して検討しましょう。

この問題で問われていること

この問題で確認すべき観点は一つ、規約の名称と、その規約が策定された目的・背景とを正しく対応づけられるかどうかです。似た響きの名称や、別分野の標準・手法の名前と混同していないかを意識しながら検討してください。

視点

コーディング規約とは、ソースコードの書き方について組織や業界が定めた取り決めです。規約にはそれぞれ策定した団体や目的があり、名称はその背景と結びついています。名称を見たときに『誰が・何のために定めたものか』を思い出せるかを確かめましょう。そうすると、規約以外の規格・開発手法・品質モデルなどの名称と区別しやすくなります。

確認ポイント

  • 登場する各名称について、策定した組織や目的を自分の言葉で説明できるか確認したか
  • コーディング規約ではない別種の規格・手法・ツールの名称と混同していないか意識したか
  • 名称の響きや印象だけで判断せず、目的と適用範囲の対応関係にもとづいて判断したか
正解と解説を見る

正解

ウ

解説

C言語のソースコード品質向上を目的として、組込みシステム向けのコーディング規則をまとめたものはMISRA-Cです。安全性や保守性を高めるため、避けるべき記述や推奨される記述方法を示します。

理由

MISRA-Cは、組込みシステムで使用されるC言語のソースコードについて、品質・安全性・信頼性を高めるためのコーディングガイドラインです。記述上の規則を定め、バグや誤解を招きやすいコードを減らします。

比較

CSSはWebページの表示を定義するスタイルシート言語、GCCはコンパイラ群、SystemCはシステム設計や検証に用いるC++ベースの設計・記述環境です。いずれもC言語のコーディング規則をまとめたものではありません。

選択肢ア

これは不正解だよ。CSSはWebページの文字や配置、色などの見た目を指定するスタイルシート言語です。組込みシステムで使うC言語ソースコードの品質向上を目的に、記述上の規則をまとめたものではないため、この設問の条件に合いません。

選択肢イ

これは不正解だよ。GCCはGNU Compiler Collectionの略称で、C言語などのソースコードをコンパイルするコンパイラ群です。コンパイルや実行形式の生成に関係しますが、C言語のコーディング規則をまとめたガイドラインではありません。

選択肢ウ(正解)

これは正解だよ。MISRA-Cは、組込みシステムで用いるC言語のソースコードについて、安全性、信頼性、保守性を高めるためのコーディング規則をまとめたガイドラインです。設問の目的と対象に一致します。

選択肢エ

これは不正解だよ。SystemCは、ハードウェアとソフトウェアを含むシステムの設計や検証を記述するためのC++ベースの仕組みです。組込み開発に関係しますが、C言語のソースコード品質向上を目的とするコーディング規則そのものではありません。

学習のポイント

言語仕様、コンパイラ、設計言語、コーディング規則の役割を区別して覚えましょう。

出典:独立行政法人 情報処理推進機構(IPA)平成28年度秋期 システムアーキテクト試験 午前Ⅱ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針