TOPシステム開発> UML
はじめてのJava
はじめてのJava入門

第3回:オブジェクト指向への第一歩を踏み出そう

著者:サイオステクノロジー  片桐 一宗   2007/9/6
前のページ  1  2  3
UML

   C言語での開発では、開発者が関数の仕様を記述した仕様書を記述し、プログラマがその通りに実装する、という方法が多く取られることでしょう。それに対してオブジェクト指向での設計は、どのオブジェクトが必要か、という観点で設計すると前述しました。具体的にはUML(Unified Modeling Language)というモデルの表記法を使用し、設計の確認と開発者との意思疎通をはかります。

   場合によっていくつかの図を使い分けるのですが、使用頻度の高いものは以下の4つになります。
ユースケース図 システムと外部との関わりをあらわす(図5)
アクティビティ図 業務フローのアルゴリズムをあらわす(図6)
クラス図 主にクラス間の依存関係をあらわす(図7)
シーケンス図 オブジェクトのメッセージのやり取りをあらわす(図8)

表5:使用頻度の高いUML図

   UMLが読めることで、プロジェクトにアサインされた時の立ち上がりも早くなります。システムと利用者の関係が記述されていればシステム全体の流れも把握しやすくなりますし、システム全体のクラス設計指針が記述されていれば業務機能の設計をパターン化することができます。UMLを知らなければJavaシステムを構築できないわけではありませんが、自然言語による記述のあいまいさを取り除くために、ビジュアル的に表現できるUMLはよく使用されています。

ユースケース図
図5:ユースケース図

アクティビティ図
図6:アクティビティ図
(画像をクリックすると別ウィンドウに拡大図を表示します)

クラス図
図7:クラス図

シーケンス図
図8:シーケンス図
(画像をクリックすると別ウィンドウに拡大図を表示します)


最後に

   Javaを通してオブジェクト指向についてお話してきましたが、オブジェクト指向が手続き指向よりもエレガントかというと、そうではありません。C言語でも再利用可能な関数を書くことはできますし、Java言語を使っていても保守性が悪いプログラムを記述することもできます。

   勢いで実装されたプログラムは、どの指向の言語を使用しても後々煙たがれるものです。きちんと設計することで無駄なロジックを書かないようにすることがエレガントなプログラムを実現する方法なのです。またJava SEより提供されているAPI群だけでなく、Apache Commonsプロジェクトより提供されている機能をアプリケーションに適応することで、独自に作成するロジックを削減することもできるのです。

Apache Commonsプロジェクト
http://commons.apache.org/

   Javaの魅力は豊富なAPIにあるといっても過言ではなく、知っていると知っていないとでは生産性が圧倒的に違います。

   少ないソースコードでWebアプリケーションが構築できるRuby on Railsに人気が集まりつつあるのもうなずけますが、現在稼動中のシステムはまだまだJavaで構築されたものが多く、新しい言語が出たからといってすべて刷新するわけにもいかないのが現状ではないのでしょうか。

   そうなると、現在稼動中のシステムをいかに有効活用するかがポイントになってきます。Webサービス化してSOAでシステムを再構築したり、マッシュアップして新しいサービスを提供したりとまだまだこれからJavaの技術者が活躍できるステージがあります。

   だからこそ、皆さん、Javaの世界に足を踏み入れてみてはいかがでしょうか?

サイオステクノロジーのトレーニング
  • サイオスのオブジェクト指向関連コース
  • Java関連コース
初めてプログラムを学ぼうという方から、Javaへのスキルチェンジを検討している方を対象としたトレーニングコース
http://www.sios.com/training/oo_java_net.html

前のページ  1  2  3


株式会社システムインテグレータ 安治
著者プロフィール
サイオステクノロジー株式会社  片桐 一宗
ソフトハウスでC、C++、Javaでの開発経験を積み、テンアートニ(現サイオステクノロジー)入社。Webシステムの設計・開発・保守からプロジェクトリーダーまでこなした後、現在、品質管理チームの一員を担当。サイオステクノロジーのシステム構築サービス品質向上に向け、日々奮闘中。


INDEX
第3回:オブジェクト指向への第一歩を踏み出そう
  オブジェクト指向と手続き指向
  オブジェクト指向の基本概念
UML