設計・分析の手法とモデリング
頻出約 30 分5 用語過去問 12 題
この単元の目標
- 機能を分けていく構造化手法と、データと操作をまとめるオブジェクト指向を、何を単位に設計するかで見分けられる。
- ユースケースが何を書き表すものか、またUMLとどう関係するかを説明できる。
- リバースエンジニアリングを、既存の成果物から仕様や設計情報を取り出す技法として位置づけられる。
用語総表(5 語)
用語
構造化手法は、システムを機能 (処理) の単位でとらえ、大きな機能を上位から下位へ段階的に細かく分けていく設計手法である。
分け方の基準は「システムが何をするか」であり、分けた機能どうしの間をどんなデータが流れるかも合わせて整理する。この流れを図にするときには、例えば DFD (データフロー図) が使われる。
たとえ大掃除の計画を、家全体から部屋ごとへ、部屋から「床をふく」「窓をみがく」といった一つずつの作業へと分けて書き出していくようなもの。
覚え方「構造」は建物の骨組みのこと。先に全体の骨組みを決め、そこから細部へ下りていく、と字から思い出す。
出題のポイント
- 混同注意構造化手法は設計の進め方そのものを指し、DFDはその分析の中で処理とデータの流れを描くための図法である。
この用語の過去問 1 題 構造化手法 →
オブジェクト指向は、データと、そのデータを扱う操作をひとまとめにしたオブジェクトを単位として、システムを組み立てる考え方である。
← 図は横にスクロールできます →
オブジェクトのひな型をクラスといい、クラスから実際に動くオブジェクトを作る。中身を外から隠すカプセル化、上位のクラスの性質を引き継ぐ継承、同じ指示に対してオブジェクトごとに違う動きをする多態性が代表的な性質である。
たとえ家電のリモコンは、ボタンを押せば中の回路を知らなくても使える。中身を包んで外には操作の窓口だけを見せる点が、オブジェクトに似ている。
覚え方カプセル化の「カプセル」は、薬のカプセルと同じく中身を殻で包むという意味。
出題のポイント
- 出題利用する側はオブジェクトに依頼を送るだけでよく、内部のデータの持ち方や処理の作りを知らなくても機能を使える。これがカプセル化の効果である。
- 出題継承は、上位のクラスが持つデータと操作を下位のクラスが引き継ぐ仕組みで、共通部分を書き直さずに部品として再利用でき、開発の生産性が上がる。
- 混同注意構造化手法は機能を単位に分けて設計し、オブジェクト指向はデータと操作のまとまりを単位に設計する。
この用語の過去問 2 題 オブジェクト指向 →
ユースケースは、利用者 (アクター) がシステムを使って目的を果たす場面ごとに、利用者とシステムの間のやり取りを書き表したものである。
アクターは人に限らず、システムとやり取りする外部のシステムも含む。システムの内部でどう処理するかではなく、外から見て何ができるかを書くため、要求を整理する段階で使われる。
たとえ芝居の台本が、場面ごとに役者どうしのせりふのやり取りを書き、舞台裏の仕掛けは書かないようなもの。
覚え方英語の use case は直訳すると「使う場面」。場面ごとに一つずつ書く、と名前から思い出す。
出題のポイント
- 出題ユースケースは、利用者がシステムを使う筋書き (シナリオ) をもとに、利用者が何をしてシステムがどう応じるかを記述する。
この用語の過去問 1 題 ユースケース →
UML (統一モデリング言語) は、システムの構造や振る舞いを図で表すために、図の種類と描き方を定めた標準の表記法である。
オブジェクト指向の分析や設計で広く使われ、特定のプログラミング言語や製品に縛られない。図の種類は用途ごとに用意されており、目的に合わせて使い分ける。
たとえ楽譜の記号が決まっているので、誰が読んでも同じ曲として演奏できる。UMLは設計を図にするための共通の楽譜のようなもの。
覚え方U は Unified (統一)。それまで別々だった複数の表記法を一つにまとめて生まれた経緯が名前に残っている。
出題のポイント
- 出題UMLには構造を表す図だけでなく振る舞いを表す図もあり、例えばアクティビティ図を使えば業務の手順の流れを図に描ける。
- 混同注意ユースケース図はUMLが定める図の一つであり、UMLはそれを含む図の表記法の体系全体を指す。
この用語の過去問 1 題 UML →
リバースエンジニアリングは、すでにあるプログラムや製品を解析して、その仕様や設計情報を取り出す技法である。
設計から製品を作る通常の開発 (フォワードエンジニアリング) とは向きが逆で、完成品から設計へさかのぼる。取り出した情報は、既存システムの保守や作り直し、製品の技術調査などの資料になる。
たとえ古い時計を分解して部品の形と組み合わせを調べ、残っていない設計図を描き起こすようなもの。
覚え方reverse は「逆向き」。車のギアのリバースと同じく、ふつうの開発の道筋を後ろ向きにたどる。
出題のポイント
- 出題リバースエンジニアリングではプログラムを解析して仕様を調べ、設計情報を抜き出す。対象はソフトウェアに限らず、製品を分解して構造を明らかにすることも含む。
- 混同注意リファクタリングは外から見た動作を保ったままプログラムの内部構造を整える活動で、既存の成果物から仕様や設計情報を取り出すリバースエンジニアリングとは目的が違う。
この用語の過去問 3 題 リバースエンジニアリング →
要点
- 構造化手法は、システムを機能の単位に分け、上位から下位へ段階的に細かくしていく。
- オブジェクト指向では、カプセル化で中身を隠し、継承で共通部分を引き継ぐことで部品の再利用を進める。
- ユースケースは、利用者がシステムを使う場面ごとに、外から見たやり取りを書き表す。
- UMLは、構造と振る舞いの両方を図で表せる標準の表記法である。
- リバースエンジニアリングは、既存のプログラムや製品を解析して、仕様や設計情報を取り出す。
この分野の過去問をすべて見る →