システム導入、システム開発、WEB構築のコンサルティングを納得の価格・期間でサポートいたします。

志賀IT事務所

教育の重要性

今回は、教育の重要性について、お話させていただきます。

システム開発者が学ぶべきこと

最も重要な分野はデータベースです。
なぜなら、ほとんどのシステムは、正しくデータが入力され、正しく保存され、正しく抽出できることが絶対条件だからです。
良いシステムと悪いシステムの境界線は、データベース設計がいかに上手く設計されているかと言い換えることもできます。

画面周りや帳票などは、本稼動後も修正することが可能ですが、データベースはそう簡単に変更することができません。
変更すると、データベースだけでなく、プログラムも大幅に変更の可能性が出てくることも少なくなく、なによりも蓄積したデータに手を加えることになってしまいます。
そうならないよう、理論的に分析されていなければなりません。

例えば、「データベースの正規化」という手法があります。
これは、データテーブルを決められた手法で分割していくことにより、操作しやすい柔軟な形に変形することができます。
正規化は、第一正規形から第五正規形(ボイスコッド正規形というのもあります)までありますが、業務では第三正規形までとすることが多いので、覚えなければいけないことは僅かに3つだけということになります。
技術的にも特に難しいものではないため、初級シスアドの出題範囲で十分カバーされているほどなのですが、現実的には、きちんと理解している技術者が1割いるかどうかといったところです。
にわかに信じがたいことではありますが、技術者に「第二正規形と第三正規形の違いが分かりますか?」と聞いてみれば、現状が分かることでしょう。

世の中には、システムエンジニアが相当な人数いる訳ですが、正規化が分からないほとんどのシステムエンジニアは、過去の似たような事例などを参考にしてデータ設計を行っているケースが多いのです。
つまり、似ているシステムで大丈夫だったから今回も大丈夫だろうという、一種の勘で設計されているのです。
勘で設計されたシステムの末路は...言わなくても理解できることと思います。

大事なことは、「どうして、このような設計になっているのですか?」と聞かれたとき、「これは、○○理論に基づき、××のような検討を行った結果、このようになりました」というように、説明できる知識が必要だということです。
このように理論的に考えるということは、データベースだけでなく、ネットワーク設計や、システム設計(例えば、クラス設計など)でも同様で、大変重要です。

システム開発が成功するためには、高い技術力を持った、いわゆるエースの存在が重要視されるのですが、それだけでなく、開発に関わるメンバー全てが最低限の基礎知識を身に付けている必要があると、私は考えています。


導入する側が学ぶべきこと

導入する側は、パソコンに詳しくない方が多いと想定します。
こういった場合、システム導入時のトラブルとして、利用者の操作ミスやうっかりミスによってデータが間違って登録されたり、あるいはシステムの一部を破壊してしまうなどが考えられるでしょう。
そのような事態にならないため、導入前にパソコンの基本的な操作方法などを学んでおく必要があります。

特に大事なポイントは、ウィルスやスパイウェアといった悪意のあるソフトウェア、個人情報漏洩などに代表されるセキュリティの対策です。
個人情報保護法も既に施行されており、個人情報を漏洩させてしまった会社が一気に信用を失う時代になりました。
ウィルス対策ソフトをインストールするだけでなく、明確なセキュリティポリシを定め、従業員全員に周知徹底させなければなりません。

また、運用部門では、システム開発者と同様に、データベースの基本を理解しておく必要があります。
データは、自社の大事な資産ですから、人任せにせず積極的に設計に関与し、納得のいくデータベースを作り上げるようにします。
当事者にとっては、面倒なことかもしれませんが、システムの寿命を少しでも長くするためには大事なことです。


良質なアウトプットは、良質なインプットから

良質なアウトプットを出すためには、当然のことながら、良質なインプットを行わなければなりません。
システム導入、開発といったアウトプットの質を向上させるためには、ただ目の前の仕事をこなすだけでなく、目標をきちんと定めて学習する必要があるでしょう。
「教育は国家百年の計」という言葉もあります。御社の輝ける未来のために、今一度、教育を考えてみてはどうでしょうか。