本文へスキップ

設計・分析の手法とモデリング

頻出約 30 分5 用語過去問 12 題

この単元の目標

  • 機能を分けていく構造化手法と、データと操作をまとめるオブジェクト指向を、何を単位に設計するかで見分けられる。
  • ユースケースが何を書き表すものか、またUMLとどう関係するかを説明できる。
  • リバースエンジニアリングを、既存の成果物から仕様や設計情報を取り出す技法として位置づけられる。
用語総表(5 語)
用語ひとことで着目するもの主な使いどころ
構造化手法システムを機能に分け、上から下へ段階的に細かくする設計手法機能 (処理)システムの分析と設計
オブジェクト指向データと操作をひとまとめにしたオブジェクトを単位に組み立てる考え方データと操作のまとまり分析・設計からプログラミングまで
ユースケース利用者がシステムを使う場面ごとに、利用者とシステムのやり取りを書いたもの利用者から見た使い方要求の整理
UMLシステムの構造や振る舞いを図で表すための標準の表記法図の描き方の決まり分析や設計の内容の図示
リバースエンジニアリング既存のプログラムや製品を解析し、仕様や設計情報を取り出す技法すでにある成果物保守のための文書づくり、技術の調査

用語

構造化手法は、システムを機能 (処理) の単位でとらえ、大きな機能を上位から下位へ段階的に細かく分けていく設計手法である。

  • 図書館システム
    • 貸出
      • 利用者を確認する
      • 貸出記録を登録する
    • 返却
      • 返却を受け付ける
      • 延滞の有無を調べる

さらに各機能を、手順として書ける細かな処理まで分ける。

3 / 3

分け方の基準は「システムが何をするか」であり、分けた機能どうしの間をどんなデータが流れるかも合わせて整理する。この流れを図にするときには、例えば DFD (データフロー図) が使われる。

たとえ大掃除の計画を、家全体から部屋ごとへ、部屋から「床をふく」「窓をみがく」といった一つずつの作業へと分けて書き出していくようなもの。

覚え方「構造」は建物の骨組みのこと。先に全体の骨組みを決め、そこから細部へ下りていく、と字から思い出す。

出題のポイント

  • 混同注意構造化手法は設計の進め方そのものを指し、DFDはその分析の中で処理とデータの流れを描くための図法である。

この用語の過去問 1 題 構造化手法

オブジェクト指向は、データと、そのデータを扱う操作をひとまとめにしたオブジェクトを単位として、システムを組み立てる考え方である。

クラス(設計図)

オブジェクト(実体)

カプセル化(データと処理をまとめる)

継承(性質を引き継ぐ)

多態性(同じ指示で異なる動作)

オブジェクトのひな型をクラスといい、クラスから実際に動くオブジェクトを作る。中身を外から隠すカプセル化、上位のクラスの性質を引き継ぐ継承、同じ指示に対してオブジェクトごとに違う動きをする多態性が代表的な性質である。

たとえ家電のリモコンは、ボタンを押せば中の回路を知らなくても使える。中身を包んで外には操作の窓口だけを見せる点が、オブジェクトに似ている。

覚え方カプセル化の「カプセル」は、薬のカプセルと同じく中身を殻で包むという意味。

出題のポイント

  • 出題利用する側はオブジェクトに依頼を送るだけでよく、内部のデータの持ち方や処理の作りを知らなくても機能を使える。これがカプセル化の効果である。
  • 出題継承は、上位のクラスが持つデータと操作を下位のクラスが引き継ぐ仕組みで、共通部分を書き直さずに部品として再利用でき、開発の生産性が上がる。
  • 混同注意構造化手法は機能を単位に分けて設計し、オブジェクト指向はデータと操作のまとまりを単位に設計する。

この用語の過去問 2 題 オブジェクト指向

「構造化手法」と「オブジェクト指向」の違い

観点構造化手法オブジェクト指向
決め手設計の単位機能 (処理)データと操作をまとめたオブジェクト
データと処理の関係分けて扱い、機能の間を流れるデータとして整理する一つのオブジェクトの中にまとめて持つ
組み立て方大きな機能を上位から下位へ段階的に分けるオブジェクトを組み合わせ、クラスの継承で共通部分を再利用する

ユースケースは、利用者 (アクター) がシステムを使って目的を果たす場面ごとに、利用者とシステムの間のやり取りを書き表したものである。

描くときの要素図での描き方表すもの
アクター人の形システムを使う人や外部のシステム
ユースケース楕円利用者がシステムで果たしたい目的
システム境界四角い枠対象とするシステムの範囲

アクターは人に限らず、システムとやり取りする外部のシステムも含む。システムの内部でどう処理するかではなく、外から見て何ができるかを書くため、要求を整理する段階で使われる。

たとえ芝居の台本が、場面ごとに役者どうしのせりふのやり取りを書き、舞台裏の仕掛けは書かないようなもの。

覚え方英語の use case は直訳すると「使う場面」。場面ごとに一つずつ書く、と名前から思い出す。

出題のポイント

  • 出題ユースケースは、利用者がシステムを使う筋書き (シナリオ) をもとに、利用者が何をしてシステムがどう応じるかを記述する。

この用語の過去問 1 題 ユースケース

UML (統一モデリング言語) は、システムの構造や振る舞いを図で表すために、図の種類と描き方を定めた標準の表記法である。

図の例表すもの
クラス図クラスとクラスどうしの関係 (構造)
ユースケース図利用者から見たシステムの使い方
シーケンス図オブジェクト間のメッセージの時間順
アクティビティ図処理や業務の流れ

オブジェクト指向の分析や設計で広く使われ、特定のプログラミング言語や製品に縛られない。図の種類は用途ごとに用意されており、目的に合わせて使い分ける。

たとえ楽譜の記号が決まっているので、誰が読んでも同じ曲として演奏できる。UMLは設計を図にするための共通の楽譜のようなもの。

覚え方U は Unified (統一)。それまで別々だった複数の表記法を一つにまとめて生まれた経緯が名前に残っている。

出題のポイント

  • 出題UMLには構造を表す図だけでなく振る舞いを表す図もあり、例えばアクティビティ図を使えば業務の手順の流れを図に描ける。
  • 混同注意ユースケース図はUMLが定める図の一つであり、UMLはそれを含む図の表記法の体系全体を指す。

この用語の過去問 1 題 UML

「ユースケース」と「UML」の違い

観点ユースケースUML
何を指すか利用者とシステムのやり取りを場面ごとに書いたもの構造や振る舞いを図にするための表記法の体系
決め手両者の関係UMLではユースケース図として描くユースケース図を含む多くの図を定めている

リバースエンジニアリングは、すでにあるプログラムや製品を解析して、その仕様や設計情報を取り出す技法である。

  1. 既存のプログラムや製品
  2. 中身を解析する
  3. 仕様や設計情報を取り出す
  4. 文書化して保守などに生かす

まとめた情報を文書にし、保守や作り直しの土台にする。

4 / 4

設計から製品を作る通常の開発 (フォワードエンジニアリング) とは向きが逆で、完成品から設計へさかのぼる。取り出した情報は、既存システムの保守や作り直し、製品の技術調査などの資料になる。

たとえ古い時計を分解して部品の形と組み合わせを調べ、残っていない設計図を描き起こすようなもの。

覚え方reverse は「逆向き」。車のギアのリバースと同じく、ふつうの開発の道筋を後ろ向きにたどる。

出題のポイント

  • 出題リバースエンジニアリングではプログラムを解析して仕様を調べ、設計情報を抜き出す。対象はソフトウェアに限らず、製品を分解して構造を明らかにすることも含む。
  • 混同注意リファクタリングは外から見た動作を保ったままプログラムの内部構造を整える活動で、既存の成果物から仕様や設計情報を取り出すリバースエンジニアリングとは目的が違う。

この用語の過去問 3 題 リバースエンジニアリング

要点

  • 構造化手法は、システムを機能の単位に分け、上位から下位へ段階的に細かくしていく。
  • オブジェクト指向では、カプセル化で中身を隠し、継承で共通部分を引き継ぐことで部品の再利用を進める。
  • ユースケースは、利用者がシステムを使う場面ごとに、外から見たやり取りを書き表す。
  • UMLは、構造と振る舞いの両方を図で表せる標準の表記法である。
  • リバースエンジニアリングは、既存のプログラムや製品を解析して、仕様や設計情報を取り出す。

確認問題

この単元の過去問から 4 題

確認問題を解く

この分野の過去問をすべて見る