タイトル
オブジェクト開発の神髄〜UML 2.0を使ったアジャイルモデル駆動開発のすべて
著者
Scott W.Ambler (著), 越智 典子 (著), オージス総研 (著)
出版社
日経BP出版センター
Amazonで購入する

本書は、ソフトウェア開発における上流工程から設計までをカバーした本です。アジャイルにソフトウェア開発を行う方法について書かれています。要求をユースケースにまとめ、概念モデルを書き、ビジネスプロセスをモデル化して、設計を行う。一連のソフトウェア開発の流れに沿って、アジャイルに進めるにはどうしたらよいのか、どうUMLを活用したらよいのかについて説明されている本です。

筆者の経験則が随所にちりばめられており、経験の少ない人でも理解しやすくなっています。UMLを使ったモデリングの方法について書かれている本ですが、図の書き方については書かれていません。本書は使い方の本です。

非常に読みやすい内容で、納得できる部分も多いです。重要事項についてだけ書かれている、そんな感じのする書籍になっています。このボリュームで4,200円は安いと思います。

タイトル
開発のプロが教える標準FindBugs完全解説
著者
宇野 るいも (著), arton (著)
出版社
アスキー
Amazonで購入する

FindBugsはJavaのコードインスペクションツールです。コードインスペクションとは、コードが正しく書けているかをチェックすることです。コンパイルは通るけど、明らかにバグが埋め込まれているというコードを検査するのに使われます。

FindBugsは、Javaのバグパターンをチェックしてくれる優れたツールです。Eclipseのプラグインとしても提供されていて、Javaプログラマには必須のツールだと言えます。 FindBugs (Eclipse Plugin)

本書は、FindBugsで検知されるバグパターンが起こる原因とその対処法を記したものになっています。FindBugsのバグパターンは結構な数があり、明らかにバグだと分かるものから一見すると正しいコードに見えるが実はバグといったものまで検知してくれます。

内容的には『Effective Java プログラミング言語ガイド』に似たものになっています。ただし、本書の方はバグパターンについて本なので、プログラミング経験者なら「覚えがある」問題が多いと思います。

プログラミング初心者から、経験者まで幅広くおすすめできる一冊です。堅牢(ロバストネス)なコードで品質のよいプログラムを作りたい人は本書を一読すべきでしょう。『Effective Java』以来の、かなりおすすめな一冊です。

タイトル
MDA(モデル駆動型アーキテクチャ)導入ガイド―UMLを基盤としたオブジェクト指向設計・開発手法
著者
Anneke Kleppe (著), Wim Bast (著), Jos Warmer (著), 長瀬 嘉秀 (監修), テクノロジックアート (翻訳)
出版社
インプレス
Amazonで購入する

MDA(モデル駆動型アーキテクチャ)とは、UMLなどの標準モデリング技術を使ってモデルを作り、モデルをベースにソフトウェア開発を行っていくというものです。プラットフォームに依存しないモデル(PIM)からプラットフォームに依存するモデル(PSM)へ自動的に変換してくれるツールを用いて開発を行います。

本書は、MDA開発のプロセスと、モデルの変換について、現時点で使えるツールについて書かれています。MDAという考え方は、比較的あたらしく、ツールのサポートが不十分です。今の段階でMDAをプロジェクトで活用することはまだ不安があります。

対象読者は、プロジェクトマネージャ、開発者です。現時点で実務に使うのに不安があるMDAですが、そのメリットと仕組みを知っておくと今後のパラダイムシフトにすばやく対応できるでしょう。

本書にはプログラムコードはほとんど出てきません。擬似コードかモデルが出てくるだけです。つまり、本書で解説していることがMDAの概念や仕組みに特化していると言うことです。

タイトル
J2EEデザインパターン
著者
Jonathan Kaplan (著), 福龍興業 (著), 佐藤 直生 (著), 木下 哲也 (著)
出版社
オライリージャパン
Amazonで購入する

J2EEパターン 第2版』で紹介されているパターン + トランザクション、メッセージング、アンチパターン といった構成になっています。J2EEのデザインパターンに関する書籍としては、かなり上位のレベルの本です。

デザインパターンは、Javaプログラマならどこかで一度は聞いたことがある、良い設計の模範のことです。繰返しあらわれる設計に名前を付けて管理したものです。本書は、J2EEにおけるデザインパターンの解説書、リファレンスになっています。

オライリーから出版されているというだけで、かなり濃い内容で詳細に書かれていることが分かると思います。本書は、オライリー本にしては珍しく、とても分かりやすいです。

J2EEデザインパターンを勉強したい人。良い設計について学びたい人におすすめです。実際に使う機会がまだないとしても、良い設計とはどんなものなのかということを勉強しておくことは良いことです。J2EEのデザインパターン本で迷ったら、本書を購入してみてください。

タイトル
Java 5.0 Tiger 開発者ノートシリーズ
著者
ブレット マクラフリン (著), デイビッド フラナガン (著), Brett McLaughlin (原著), David Flanagan (原著), 菅野 良二 (翻訳)
出版社
オライリー・ジャパン
Amazonで購入する

Javaの最後の言語拡張と言われている「Java5.0」通称「Tiger」がついに登場しました。Tigerは言語仕様そのものが拡張されています。本書は、この拡張された仕様に関しての解説書になっています。

内容はさすがオライリーと言う感じです。深く説明されているし、注意する点も抜け目なく解説しています。例えばこんなものがあります。

Enum を実装する場合、toString()の振る舞いを変更したらvalueOf()の振る舞いも変更する必要がある。この2つのメソッドは常にペアの鏡像になる。

本書

この記事を書いている現在(2005/07/23)、本書が一番薄くて一番内容が濃いように思いました。本書の後半にあるスレッド処理の章を読んで、「なんか深いな」と感じました。

Java5.0がどんなものか知りたい人、業務でJava5.0を使う人、いろんな人におすすめです。

タイトル
ワークブック形式で学ぶUMLオブジェクトモデリング―「ユースケース駆動」でソフトウェアを開発する
著者
ダグ ローゼンバーグ (著), ケンドール スコット (著), Doug Rosenberg (原著), Kendall Scott (原著), 今野 睦 (翻訳), 長瀬 嘉秀 (翻訳), テクノロジックアート (翻訳)
出版社
ソフトバンクパブリッシング
Amazonで購入する

数少ない「ICONIXプロセス」について書かれている本です。ICONIXプロセスは、「ユースケース駆動」で進める軽量な開発プロセスです。UMLを用います。分析・設計・実装の各段階の前後のトレーサビリティを重要視します。

ICONIXプロセスでは、「ロバストネス分析」を行います。分析の「what」と実装の「how」のギャップを埋めるために使われます。本書はこのロバストネス分析に使われる「ロバストネス図」というUMLの拡張(ステレオタイプを使う)も解説しています。

本の作りは非常にシンプルでかつ実践的になっています。各章の最初の数ページで、その章のポイントを解説します。その後、実際に起こりやすい間違いトップ10という形で実例を解説し、演習問題を解くという流れになっています。

実際にICONIXプロセスを体験しながら覚えたい人、ロバストネス図って聞いたことあるけどどんなものなんだろうと思っている人。そういう人に本書はおすすめです。演習を行いながら読み進められるので、頭に残りやすいのが特徴です。

タイトル
業務モデルとデータモデルの考え方
著者
松本 聡 (著)
出版社
翔泳社
Amazonで購入する

僕は最初この本を読んだとき、内容をあまり理解できませんでした。それは、趣味でしかモデリングをやっていなかったからです。つまり、業務の知識がまったくなかったのです。

本書は、業務をどうデータモデルに落とすか、ER図に落とすかというところを解説しています。そこには、どんなツールを使うか、どんなフローを書けばいいのかといったことまで含まれています。

「なんだか実務をこなしているみたい」と、読後は思いました。それくらい、実践よりの本になっています。データモデリング初心者でも読みこなせる優しい文章になっていますが、業務知識がないと読み進めることがつらいです。

タイトル
J2EEアンチパターン
著者
ビル ダドニー (著), ジョセフ クロザック (著), ケビン ウィトコフ (著), スティーブン アズベリー (著), Bill Dudney (原著), Kevin Wittkopf (原著), Joseph Krozak (原著), Stephen Asbury (原著), トップスタジオ (翻訳)
出版社
日経BP社
Amazonで購入する

本書は、J2EE技術を使ったアプリケーション作成でおちいりやすい罠について説明されています。おちいりやすい罠とは例えば、ユースケースの一つ一つについてサービスクラスを作ってしまうようなものを言っています(Tiny Serviceアンチパターン)。

デザインパターンとは違った面白さがここにはあります。私が感じた面白さの一つは、「自分もこんな間違えやってるなー」といった敗北感や、「前にやった設計、このアンチパターンを回避してたぜ」みたいな安心感などを読みながら感じられるところです。

J2EEというと範囲がとても広いと思ってしまいます。確かに、ページ数は500ページを超える分厚い部類に入ると思います。ただ、本書のようなある種のパターン本は最初から最後まで全部読む必要はなく、必要になったとき(例えば設計やコードレビューのとき)にパラパラめくるだけでいいと思います。

サーブレット、JSP、EJB、分散、永続化、サービス層、そしてWebサービス。粒度は違えど、すべてJ2EEに関係のあるものばかりです。リファレンス感覚で、手元においておくのはどうですか?値段だけで決めるとしても、決して高くないと思いますよ。

タイトル
Pro Spring
著者
Jan Machacek (著)
出版社
Apress
Amazonで購入する

最初に断っておきます。本書は洋書です。ただ、この記事を執筆している現在(2005/06/14)で、この本より詳しく、この本より分かりやすくSpringを解説している本はないです。しかも洋書なので、下手な訳がない分逆に分かりやすいです。

本書は、Spring Framework(以下、Spring)について解説した本です。Springは数あるフレームワークの一つで、最近話題のDIパターンを実装しています。

本書は、DIパターンを実装しているフレームワークの中でも、アメリカで爆発的に人気の在るSpringの、仕組みや使い方を学ぶ本です。業務でSpringを使う予定がある人、Springを勉強したい人は、かなり買いの一冊です。

タイトル
リファクタリングワークブック
著者
株式会社テクノロジックアート (著)
出版社
アスキー
Amazonで購入する

「リファクタリング」とは、プログラムの振る舞いを変えずに、内部設計を改善する技術です。良い設計が生み出す利益は計り知れません。最初から良い設計を行うのは、非常に難しい技術が伴います。また、時間もかかります。

リファクタリングを行いながらプログラミングを進めることで、最初から良い設計を行おうとして時間がかかってしまうのを防ぐことが出来ます。本書は、そんなリファクタリングを、ワーク形式で勉強できる本になっています。

リファクタリング』に載っている数十個の臭いに対するリファクタリングが載っています。臭いとは、リファクタリングが必要だと思われる怪しい箇所のことです。

本書の対象読者は、プログラミングをしたことがある人だと思います。一度でもプログラミングをしたことがあれば、臭いのする場所がなんとなく理解できるのではないかと思います。