概念モデリングでは、「関連」と「多重度」がモデルを読むときに大切な要素となります。
関連は、あるエンティティとエンティティを結ぶ線のことです。しかし、今回は、もう一歩進んだ関連の使い方である、「関連の属性のクラス」と「関連のクラス」の違いを整理したいと思います。
もう一つの目的として、「多重度」の見方も整理したいと思います。「種類(品目)と物(特定品目)」の多重度の違いを理解できればと思います。
概念モデリングでは、「関連」と「多重度」がモデルを読むときに大切な要素となります。
関連は、あるエンティティとエンティティを結ぶ線のことです。しかし、今回は、もう一歩進んだ関連の使い方である、「関連の属性のクラス」と「関連のクラス」の違いを整理したいと思います。
もう一つの目的として、「多重度」の見方も整理したいと思います。「種類(品目)と物(特定品目)」の多重度の違いを理解できればと思います。
「ソフトウェアエンジニアリング」を一言で言えと言われたら、ソフトウェア開発を定量的に見積り、計画によって管理していく学問だと答えるでしょう。ソフトウェアエンジニアリングは学問に近いところにあると私は考えています。
本書は、ソフトウェアエンジニアリング(つまり、ソフトウェア工学)をオブジェクト指向の視点で整理して解説した本です。オブジェクト指向というと、プログラミング、分析・設計、UMLが現在の代名詞となっています。本書はもっと大きな視点で、オブジェクト指向開発と言うものをとらえた本になっています。
分厚くて、教科書的で、理論と実践が織り交ざっています。教科書として使える本なので、学問的ですが、実践で使える手法や手段も載っています。技術者として経験を積んできたころに読むと一層効果的だと思います。
コミュニケーションとは『相手を思う心遣いである』。これが私が本書を読んで一番言いたい主張です。本書では、「相手に興味を持つ(相手を知る)」「相手に興味を持たせる(出会いと別れのテクニック)」「相手に対して肯定的な姿勢を心がける」といったことに焦点を当ててHow toを紹介しています。
書籍のタイトルに『マインドマップ』とありますが、実際にはマインドマップのことにはほとんど触れられていません。「頭の中の思考状態」という意味でのマインドマップだと考えたほうが良いです。つまり、マインドマップの書き方や読み方についての解説書ではないということです。
コミュニケーションの本質は「相手にいかにいい気分になってもらうか」ということだと感じました。色々なテクニック(表現方法やプレゼントの渡し方など)を用いて、相手の印象に残りやすくするといったことにも触れられています。
人間としてのたしなみとして、「相手を思いやる心」は大切にしなければならないものだと思います。人は一人で生きているわけではないのですから。相手に拒否されるようでは、生きていけません。本書を読んで、「相手を思いやる心」に磨きがかかったような気がします(ちょっと偉そうですかね ^^;)
本書を読めばリレーショナルデータベース(RDBMS)がどのように動くのか、とてもよく理解できます。RDBMSがSQL文を解析して処理するまでの道のりや、トランザクション制御、ログ、リカバリと言った、RDBMSの裏側の動きがすっきりと整理できます。
「RDBMSの仕組みなんかデータベース管理者だけが知っていれば良い!」そんなことを言われるかもしれません。確かに、データベースの仕組みなんか知らなくても、プログラムは書けるし、設計もできます。しかし、データベースの仕組みを知っているのと知らないのではプログラムの質も設計の質も変わってくるのです。
なぜなら、RDBMSの仕組みを理解したプログラマは、最適なSQL文を書くことが出来るようになります。また、RDBMSの仕組みを理解したSEは、どのようにデータベースを作成し、物理テーブルを配置すればアクセス効率が良くなるかを知っているからです。
RDBMSの仕組みを理解して、最適な構成でデータベースを構築した場合、数十倍のパフォーマンスの差が出てくるといいます。これだけの差が出るとなると、RDBMSの仕組みに関する知識は不要とは言えません。
本書は、DB Magazineで連載されていた記事をまとめたものです。なので、図や表が随所に盛り込まれ、文章だけでは理解しにくい言葉も理解しやすくなっています。データベースを利用するすべての人に、本書をおすすめします。
本書は、多少アカデミックな本ですが、上流工程の設計に焦点を当てたいい本だと思います。オブジェクト指向のなんたるかを、ソフトウェア工学の観点から納得できるようにとても平易な文章で書いています。さらっと書かれている中に、とても重要なポイントがあったりするので、マーカーでページがいっぱいになりました。
この手の書籍にしては薄く、内容がずっしり詰まった感じです。ポイントポイントを抑えているので、短時間で読めますが、確実に設計力はつくと思います。また、オブジェクト指向についての知識の整理や、気をつける点も理解できると思います。
本書は、ソフトウェア工学の観点から書かれているので、学生や研究者向きです。しかし、実践で役立つポイントも満載なので、実務で上流工程の設計をオブジェクト指向で行っている方にもおすすめできます。
「モデリング」や「モデラー」と言う言葉に関心がある人は、『アナリシスパターン―再利用可能なオブジェクトモデル』を聞いたことがあると思います。アナリシスパターンは、モデルのパターンを集めたものになっていて、バックボーンがないと読み進めるのが難しいものです。
本書は、モデリングのポイントや考え方を解説する本になっています。一般には「良いモデル」と言うのは存在しない、人によってそれぞれだと言われますが、本書にとっての「良いモデル」とは「モデルの存在価値があること」だと私は解釈しています。「良いモデル」を書く考え方や方法を本書では解説しています。
モデリングに興味のある人は本書を読むことをおすすめします。UMLの解説書を読むだけでは本当の「モデリング」はできません。モデルには意図があり、意味があるはずです。その意図や意味を正確に相手に伝えるための方法が本書には盛り込まれています。
Hibernate は O/R マッピングツールと呼ばれる、リレーショナルデータベースとオブジェクトモデルとの間を埋めるフレームワークです。
O/Rマッピングを行うとトランザクション制御をあまり考えなくてもいいような気になってしまう感があります。でも、トランザクション制御って非常に大切な要素です。しかも、O/Rマッピングを行っていようと、トランザクションのことを何も考えていなければ、データの不整合が起きる可能性もあればデッドロックが起きる可能性もあります。
JDBCを直接扱う場合は、まだトランザクションを気にしながらコーディングする方なのでいいのですが、O/Rマッピングを使う場合に忘れがちなトランザクションのことを、ちょっとでも頭にとどめておくためにメモ程度に記録しておきます。(間違いを見つけたらコメントください) + Hibernate Reference 3.0
Jakarta Commons は再利用可能なJavaコンポーネントをまとめたプロジェクトです。簡単に言うと「Java の便利ライブラリ(Util)」です。
本書は、Commons パッケージに含まれるいくつかのコンポーネントを紹介したものになっています。特徴的なのは、各コンポーネントについて継承関係などを表すクラス図が載っていることです。自分のソースコードからどのクラスを呼び出せば良いのかが分かりやすくなっています。
Commonsパッケージには多数のコンポーネントがあるため、すべてのコンポーネントについて詳しい解説が載っているわけではありません。著者が利用価値が高いと判断されたものに関しては結構深く解説してあったり、使い方も色々載っていたりします。
リファレンスと言うよりは、Commonsをざっと眺めてどんなコンポーネントがあるかをインプットしておくといった読み方が正しいのかもしれません。Javaで開発を行っている人は、一度見ておくと不要なライブラリ作成の手間が省けること間違い無しです。
本書は初心者向けのSQL解説本です。SQLとは何か?データベースとは何か?と言うことをまったく知らない人が導入段階で読むレベルの内容です。
SQLはデータベース管理システム(DBMS)を扱うための言語で標準が定められています。もちろん、詳細部分では各DBMSに固有の関数などが加えられていたりしますが、本書ではDBMS固有の部分については省かれています。
SQL文でできることには非常にたくさんの数があります。文法を覚えるだけでも大変なのに、実行結果をイメージしてSQL文を見つけるのは、最初の段階では至難の業だと思います。本書は、基本的に見開きで一つの項目を解説しています。
左側のページではその項目の解説を、右側のページでは実行結果やデータ操作のイメージが図として載っています。SQL文のことだけでなくデータベースに関しての解説もあるので、本書を取っ掛かりにしてさらに詳しい書籍にチャレンジするのがいいと思います。
本書は、新社会人が会社に入ってどういった考えを持つと良いかをまとめたものになっています。ビジネスマナーから仕事のやり方まで、ケーススタディを使ってポイントを解説してあります。
ただ、こういった場合はこうすればよいといったノウハウ本ではありません。社会人になってからの常識とマナーを学ぶために、例となるケーススタディを分析し、こういう考え方をしたほうがより良いと思われる考え方や行動を示しています。
特にケーススタディが最初に例示されているので、その状況というものがとてもよく分かります。そして、その状況ではこういう判断基準を持つ方がよりベターであるという感じで進めて行きますので、とても理解がしやすいです。