基本情報技術者試験の過去問を解いているといろんな図が出てきますよね。応用と基本で出題範囲は分かれていますが、図に関しては応用に出てくる図は基本にも普通に出てくるので、基本の対策のために市販されている参考書に載っている図をおぼえるだけでは足りないといった印象を受けました。
ということで試験を今週末に控えた今、基本情報に出てくる図を備忘録としてまとめておこうと思います。(業務経験のない大学院生のメモです・・・参考程度にお願いします)
UML
まずは、UML(Unified Modeling Languag:統一モデリング言語)のモデリング図をまとめます。
3年分の過去問を確認するとUML関連の問題は毎年出ているという印象を受けました。年によっては2問連続で出ることもありますよね。
そもそもUMLって何なのかという話ですけど、システムを設計する段階で使う、要件や仕様を一意的に形式言語でまとめてモデル図で可視化してくれるツールみたいです。実際にシステム開発に携わったことない僕にはどんな風に使うものなのか想像しにくいですが、すべての図はシステムの設計を表しているという理解ですね。
アクティビティ図 ★★★
まずはこれ。
アクティビティ図はここ3年のFE試験ではUMLの中では一番出題されているイメージです。ということはこれからは出ないかもです笑。
大学時代2年間スーパーでレジ打ちのバイトをしていたので商品のバーコードを読み取る作業をアクティビティ図にしました。細かい説明は僕もわからないのでしません。
上が開始地点で時系列的には前、したが後です。アクティビティ(作業的なもの?)をやじるしで並べていますが、並行して起こることは平行線で囲みます。分岐はひし形で表していますね。まぁ普通のフローチャートですね。
普通は専用のツールがあるのだと思いますけど、パワーポイントで作成すると時間がかかります笑。早くも面倒になってきた笑。
コンポーネント図 ★★★
コンポーネントという言葉が基本情報試験では何度も出るので、コンポーネント図も重要です。
文字通り設計するシステムをコンポーネント(部品)として、ライブラリやモジュールに分けてその関係性をまとめます。
レジの機能をまとめるとこんな感じでしょうか。やじるしが各部品の依存関係を表します。(実際のレジがどうなってるかは知らないので内容は適当です笑)
クラス図 ★★★
クラスとクラスを線で結んでその間の関係性を示します。クラスということでオブジェクト指向の言語でプログラムを書くときに使うんだと思います。たぶん・・・、JavaとかRubyとかPythonとか。
クラスがわかる人は話が早いんですけど、わからない人は一応試験範囲なので調べてください。
簡単に言うと、オブジェクトと呼ばれる変数とか関数とかをごっちゃにしたオブジェクトというものを作るための型です。
そのクラスの関係性を示したのがクラス図です。コンポーネント図のクラス版といったところでしょうか?正しい表現かわかりませんが、コンポーネントと比べるとクラスはさらに細かい概念でコンポーネントの中にクラスが存在します。たぶん。
シーケンス図 ★★
ここまでは覚えておいた方がいいと思います。シーケンス図は横に関係する人やハードウェア、システムを並べて、上から下にやり取りを矢印で表していく方法です。
面白いたとえが思いつかないのでスーパーのタイムセールの例でいきます。
正式なやつはもっとちゃんとしているのでしょうけど、これくらい簡素化されたやつが午後の文章題にも出てくるのでこの図の読み方に慣れておくのは必須です。
ステートマシン図 ★
あとで説明する状態遷移図のUML版です。アクティビティ図に似ていますけど、アクティビティ図は一つの一つの枠が実行される命令を表しているのに対して、こっちはシステムの状態を表しています。状態が変わると同じシステムでも挙動が変化することを表してます。
ユースケース図 ★
アクタと呼ばれるユーザーとユースケースと呼ばれるシステムの機能を線で結んで関係を示します。一つのシステムで提供されるユースケースは枠で囲まれています。
QC 品質管理
UMLはシステム開発時の話ですが、QCに出てくる図はシステムや製品ができた後にそれを評価するためのツールです。
パレート図 ★★★
パレート図はそんなに出ませんが知らないとなんじゃいっ!ってなるので覚えておきたいところです。
商品をシェアとか割合で横にソートして順に棒グラフで並べます。
割合なので全部足せば1になります。
ついでに、累積和を折れ線で書いとけばさらにわかりやすいというわけです。
さらに、経営戦略のところでABC解析というのも出てくるので覚えてください。これは、パレート図で累積和がある割合になるまでをA(主力)、そしてその次をB(そこそこ)、さらにC(だめぽ)で分類して商品のシェアごとに分類する方法です。
管理図 ★★★
四択選択肢によく混ざってます。あるスーパーの1月から5月までの冷蔵庫の平均温度の遷移をグラフにしました。
管理図は温度や生産数、エラー率、不良品率を図系列順に折れ線グラフにするのですが、必ず上限か下限が設定されていています。
スーパーの冷蔵庫では温度が下がりすぎると凍ったり霜が発生して品質が落ちますし、温度が上がると腐ります。つまり、白い範囲を超えると担当者が上司に怒られるわけです。
特性要因図 ★★
頻出ですが、参考書で必ず解説されるので、間違える人は少ないと思います。ある特性(というか結果)に対して原因は何であったかを矢印を使ってまとめます。
この他にもQC7つ道具には散布図、ヒストグラム、層別管理、チェックシートがあります。層別管理は出題されているところを見たことないです。心配な人は自分で調べてください。散布図、ヒストグラム、チェックシートは読んでそのままです。
連関図法 ★★
新QC七つ道具ってやつの一つです。
パイナップルがおいしい要因を紐解きます。ある結果の要因を矢印でつなげて、さらにその要因の要因をつなげていきます。「結果←要因」の関係になっているのが特徴です。
系統図法 ★★
連関図法にぱっと見似てますが、「目的←手段」になっているのが違います。
PDPC法 ★
ある状態から次に想定される事態を次々並べていきます。「原因→結果」順で時系列順でどんどん広げていきます。
アローダイアグラム ★
問題文で出てくることが多いので、おぼえておく必要はないと思いますが、どういうものか知っといた方がいいですね。
データベース関連
E-R図 ★★★
E-R図は午前にも午後にも出てくるので必修事項です。午後の問題文にE-R図が出てきて読めないとヤバいです。まぁ雰囲気でなんとなく理解できますけど。
E-RのEはエンティティのEでエンティティつまりデータベースに関する実体の関係(Reletion)をまとめた図になります。依存関係を表しているところはUMLのコンポーネント図に似てますかね。
このエンティティってなんやねんって話ですが僕もわかりません。データベースや一部言語にしか出てこない単語らしいです。
ニュアンス的には対象とかオブジェクトとかに近いと思います。つまり、データベースに関連するものという意味ですが、物体も概念も契約もなんでもかんでもデータベースの記録対象になりうるので、エンティティという言葉もかなり広義的な使われ方をするのではないでしょうか。
エンティティ(データベースに載せるもの)ごとに枠を作って、枠の中にそのエンティティが持つ項目を属性として追加していきます。さっき依存関係を表していると書きましたが「被依存→依存」の関係になってます。「一対一」「一対多」などの関係を表すことも可能みたいです。書き方の流儀はいろいろあるみたいなので、ここら辺は図によって違うと思います。
出題されるかは微妙ですが、顧客や商品などもともとこの世にあって何にも依存しないで存在できるものを被依存エンティティとか独立エンティティとか強実体と呼ぶようです。逆に契約のような、何かが存在しないと成立しない概念を依存エンティティとか弱実体と呼ぶらしいです。
DFD ★★★
データベースというよりはシステム開発で出てきます。ただ、午後試験ではシステム開発とデータベースの問題がごっちゃになって出てくるので、データベースとも関連性がある図だと勝手に思ってます。
そろそろクリスマスシーズンなのでスーパーのクリスマスケーキ予約の手順をDFD図にしてみました。あってるかは知りません。
昔はこのくらいの時期になると社員にクリスマスのシフトに入れと会うたびに言われていました笑。
四角い枠がデータの発生源です。人間だけじゃなくて、デバイスやセンサー、組織などなんでもデータを発するならOKです。
楕円の枠は処理やタスクを表しています。
平行線で囲まれたところは、データストアでデータのたまるところを表しています。うちのスーパーは都内に数軒しかない弱小スーパーだったので、システム化されていなくて社員がエクセルに手動でポチポチ打ち込んでましたね。
その他
状態遷移図 ★★
情報系とか工学系の人は大学時代に見たなぁと感じると思います。僕も論理回路で習いました。再履になったから思い出したくない笑。
某参考書の150円ジュース販売機の例がめちゃめちゃわかりやすかったので丸パクリしました。さらにカラーにしたから余計にわかりやすいです。
まず、楕円は何を表しているとシステム状態です。
150円ジュース販売機なので、S1の状態が初期状態で何も入ってない状態。S2が50円だけ入った状態。S3が100円も入っている状態。
ちなみに、この自販機は100円と50円しか受け付けません。さらに、150円以上たまると自動的にジュースとお釣りを吐き出します。もちろん、商品の選択もできません。
で矢印の上についてる情報は「入力条件/出力するもの」が記載されています。
例えば、S1の状態から50円を受け付けた場合は、何も出力せずに自販機はS2の50円入った状態に遷移するわけです。
100円が入ったS3の状態から50円受け付けた場合はジュースを吐き出してS1の初期状態に戻るわけですが(黒の矢印)、100円が入った場合はジュースと一緒にお釣りの50円も吐き出します(オレンジの矢印)。
図で出てくるのはこれくらいですかね。もし、他の図でこれは書いておく必要があるなと思った図を見つけたら追記しますが、現時点で明後日が本番なのでそれはないと思います。
ちなみに、参考にさせていただいた参考書は技術評論社の応用情報技術者教本です。正直薄めの基本情技術者の参考書では出題される図を網羅することができないので、最初は基本情報の参考書を見てましたが、最近はこっちを使ってました。
それでは。