連載
Javaオブジェクトモデリング
■本連載で使用する言語について
オブジェクト指向技術では、非常に多様な用語が使われます。もちろん、これにはいろいろな歴史的な経緯があるわけですが、現在はUMLの仕様に準拠した用語をベースにするのが妥当です。日本語の用語については『UML仕様書』で定義されており、これを使うことが一般的に望ましいとされています。ただ、UML仕様書で定義されている用語は一般名詞と重なっているものがあり、ほかの技術分野(例えば関係?)と重なっている場合もあります。以上の点から、本連載ではUML仕様書をベースとしつつ、次の基準を用いて一部独自の用語を使います。
- 基本的にはUML仕様書に従う
- UML仕様書の用語が一般名詞と重なる場合は、カタカナ語を用いる
本連載で用いる用語を下表に示します。
本連載での用語
| UML(英) | UML(日) | そのほか | 本連載 |
| abstract | 抽象 | アブストラクト | 抽象 |
| concrete | 具象 | コンクリート | 具象 |
| classifier | 分類子 | クラシファイア | 分類子 |
| relationship | 関係 | リレーションシップ | リレーションシップ |
| association | 関連 | アソシエーション | アソシエーション |
| aggregation | 集約 | アグレゲーション | 集約 |
| composition | コンポジッション | 複合集約 | コンポジッション |
| generalization | 汎化 | ジェネラライゼーション | 汎化 |
| realization | 実現 | リアライゼーション | リアライゼーション |
| dependency | 依存性 | ディペンデンシィ | ディペンデンシィ |
| operation | 操作 | オペレーション | オペレーション |
| attribute | 属性 | アトリビュート | 属性 |
| responsibility | 責務 | 責任 | 責務 |
| signature | シグニチャ | シグネチャ | シグニチャ |
| activity | 活動 | アクティビティ | アクティビティ |
| collaboration | 協調 | コラボレーション | コラボレーション |
| deployment | 配置 | 配備 | デプロイメント |
| interaction | 相互作業 | インタラクション | 相互作用 |
■本連載で使用するバージョンについて
Javaの最新バージョンはJDK 2 1.4、UMLの最新バージョンは1.4です。しかし、本連載では適用範囲を広げる意味でも、Java2 1.2およびUML 1.3をターゲットにします。いずれのバージョンも核となる安定したバージョンであり、後続のバージョンはこのバージョンのマイナーチェンジという形になっています。
Java2 1.2から最新版のJava2 1.4までの拡張はクラスライブラリの機能追加が主で、UMLによる設計図にインパクトを与える言語仕様の拡張はないので特に問題はないでしょう。ただJava2 1.4には、まだ正式採用には至っていないJava言語の新機能であるGenericsがあります。これはUMLによる設計図にも影響してきますが、Java2 1.4での正式仕様でないことから今回の連載では扱わないことにします。
UMLについては、以下の5冊の書籍をベースにします。いずれもUML 1.3をターゲットにしたものです。
- The Unified Modeling Language Reference Manual (邦訳版:UMLリファレンスマニュアル)
- The Unified Modeling Language User Guide (邦訳版:UMLユーザーガイド)
- The Unified Software Development Process (邦訳版:UMLによる統一ソフトウェア開発プロセス―オブジェクト指向開発方法論)
- OMG Unified Modeling Language Specification Version 1.3, June 1999
- UML仕様書
また、必要に応じてUML 1.4の情報にも触れることにします。UML 1.4の情報は以下の書籍を使用します。
- OMG Unified Modeling Language Specification Version 1.4, September 2001
| INDEX | |
| Javaオブジェクトモデリング | |
| 第1回 UMLとJavaの関係 | |
| Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|




