こんにちは、くろいのです。
今回は、2次試験に役立つ(かもしれない)考え方ということで、自分はこうした考え方に気づいて良い結果を残せた(かもしれない)、という内容を共有させていただきたいと思います。
下ごしらえとして、まず1次試験の過去問題の論点をネタとして取り上げます。取り上げる論点は、令和2年度の経営情報システム第3問の「オブジェクト指向」です。まずはオブジェクト指向について辞書的な意味を押さえておきます。
まずはオブジェクトですが、これは今回は「モノ」として置き換えることとします。
コトバンクによれば、「指向」とは「ある目的をめざして向かうこと。定まった方向に向かうこと、また、向けること」だそうです。すなわち、オブジェクト指向とは「モノをめざして向かうこと」ということになります。このままだと曖昧模糊としているのでもう少し掘り下げます。
問題文にも書かれている通り、「オブジェクト指向では、実世界をオブジェクトの観点からモデル化し、その結果をプログラミングによって実現」します。
あるシステムをプログラム化しようと考えた場合、全体をまとめて扱うのは大変なので、どうにかして部分に落とし込んでいくかということになるのですが、その際にはパターンが色々存在します。例えば処理工程順に分けたり、ある条件下における挙動をひとまとまりとして条件別に分類したり、といったことが考えられます。
オブジェクト指向は、その中でも特に「オブジェクト≒モノ」に焦点に当てて分解していきましょうよ、ということです。
身近な例で、例えば「自動販売機」をオブジェクト指向で考えるなら、まずはざっくばらんに「自販機本体」「飲み物」「お金」あたりのオブジェクトに分解できるでしょう。
そこから「自販機本体」は実際には冷蔵や保温設備、電灯やお金の貯蔵が必要だなとか、「お金」は「お札」と「硬貨」があって、さらに「お札」には「~円札」があって、とか具体的にすることで分解していこう、というのがオブジェクト指向の考え方になります。
現状のシステム開発においてはオブジェクト指向による設計がハマりやすく、直観的に分かりやすい上に共同作業にも適している等という理由から、現在の主流となっています。また、第6問の「リレーショナルデータベース」や、第17問の「UML」もオブジェクト指向をサポートする強い武器になっていることも主流となっている要因の一つと言われています。
そんなオブジェクト指向ですが、考え方の根幹となるキーワードがいくつかありますが、その一つに「汎化」と「特化」があります。
例えば「イヌ」「サル」「キジ」をまとめて「動物」とすることは「汎化」となります。逆に「動物」オブジェクトに「イヌ」の性質を当てはめることは「特化」となります。
さらにもう少しだけ掘り下げると、「汎化」で行うことは根本的には「捨象」であり、共通部分以外を「捨てる」操作になります。逆に、「特化」で行うことは「具象」であり、抽象的な概念を具体化する操作になります。
長々と講釈を垂れる形となってしまいましたが、ここまでを前提として、私の気づいた考え方を共有して締めさせていただきます。
それは、2次試験というものが上で述べた「捨象」と「具象」の力を図る試験なのだという考え方にたどり着いたことです。
つまり、事例問題で出てくるA社~D社をまとめて「中小企業」オブジェクトとして「汎化」し、抽象レベルで課題や対応策を整理した上で、再び事例企業特有の話に「特化」する。
ということは、「汎化」の段階において、事例企業の情報について共通部分以外を「捨象」することになるわけですが、その共通部分というのが1次試験で学んだ知識の内容となるはずです。逆に「特化」の部分では、与件文の情報を活用して「具象」してやるということになります。
この前提でいくと、ただ与件文を活用しただけではダメで、一旦共通部分となる1次知識に照らし合わせて情報を「捨てる」こともそこそこ大事になってくるということになります。
この考え方に至った際、「与件文の情報と1次知識」を活用すべきということでは同じなのですが、頭の中のプロセスが若干変わって何か腑に落ちたような気がしました。
それまでは与件文で関係のありそうな箇所を漏れなく解答要素に詰め込もうとしたり、1次知識で無理やり解答しようとしたりして錯綜していたのですが、以上の考え方で一本筋道が通って自分なりの解答手順に少し自信が持てたような気がします。さらに、実際に過去問を見直してみても、全体のテーマやストーリーのようなものがつながってきたようにも感じました。
大分雲をつかむような話になってしまったかもしれませんが、今回の話は以上となります。多少なりとも気づきになれば幸いです。ここまで飽きずに読んでいただきありがとうございました。