開発
付け焼刃
iwabuchi
皆さんはモデリングというと何を思い浮かべますか?
同じモデリングという言葉でも理学に親しんでいる方と芸術に親しんでいる方では思い浮かべるものは違うかもしれません。このブログをご覧になっている皆様はIT分野に携わっているか、少なくとも興味をお持ちの方かと思います。モデリングと聞くと、UMLなどのモデリング言語を思い浮かべるかもしれませんね。今回はモデリングを始めとしたソフトウェアの設計について少々述べさせていただきたいと思います。
さて、会津大学はコンピュータの専門大学ということで所属する学生は授業でたくさんのプログラムを書きます。それらの多くは言語自体を学ぶためであったり、アルゴリズムを学ぶための比較的小さなプログラムです。そこに設計は存在せず、あやふやな方針を具体的なコードで補うことでプログラムを完成させる学生が多いように思います。
コンピュータの専門大学であるにもかかわらず、一般に行われるような大規模なプログラムを書く機会は(人によるかと思いますが)意外なほどにありません。それ故に、ソフトウェアを書く上で設計を行う癖がついていない学生が非常に多いです。
私も正にそういった学生の一人でした。
しかし、設計をきちんと行おう!という方針の講義へ参加したことにより、普段設計を意識したことのない私がソフトウェアの設計を行わざるを得ない状況に陥りました(ネガティブな表現を用いていますが、素晴らしいことです)。
さて、設計を行うぞ、という段階で何から始めてよいのか全く分からないことに気が付きました。モデリングに使われる様々な図の書き方を知らないばかりか、設計の考え方自体が分かりません。
仕方がないのでいろいろと調べてみて何とかそれらしきものは出来上がったものの何かがおかしい。結局は担当教授に添削をいただきながらモデリングを進めていきました。
モデリングを始めとした設計技法は一朝一夕で身に付くものではありません。
たくさんのプロジェクトの経験を通して徐々に学んでいくものだと思います。ここでいうプロジェクトは大きなものでなくても構いません。小さなものでも意識して設計を行っていくことで気付くことや学べることがたくさんあると思います。
私は件の講義を通してそれに気付くことができました。正直なところ設計技法に関してちょっとは詳しくなりましたが、使いこなせるまでには至りません。ここまで来た以上(会津大学生となった以上)、私の人生にソフトウェア開発はついて回る課題となるでしょう。
少しでも気の利いたコードを書くために利用できる知識は利用していきたいと思います。