Home > System Archive

System Archive

Webエンジニアのための データベース技術[実践]入門

Webエンジニアのための データベース技術[実践]入門
タイトル
Webエンジニアのための データベース技術[実践]入門
著者
松信 嘉範 (著)
出版社
技術評論社
hamasyou's おすすめ度

「データベース技術実践入門」とタイトルにはありますが、この本は入門ではなく「おぼえがき」のようなものだと読んで感じました。データベースの設計を行う際の注意点や、こういう点は押さえておくべきということを広く確認できる構成になっていたからです。

例えば、インデックスの種類を挙げ、データ数が増えてきた際にどのようにインデックスが効いてくるか、逆に効かなくなってくるかをまとめてあったり、データベースが吐き出すログにはどのようなものがあり、障害時の復旧手順のなかでどのログがどのような役割をになっていたりするかをまとめてあったりします。

また、最近のストレージ動向にも目を向け、データベースのパフォーマンスを上げるためにはどうすればよいかを解説していたりもします。

本書はつまるところ、「データベースを自分で構築し、(大規模なデータを扱う)サービスと絡めて運用する人向け」の本だと思います。「Webエンジニアのための」と書いてありますが、全てのエンジニアではなく、昨今話題のスマートフォン向けソーシャルゲームや、大量ログを扱わなければならないようなサービスを運営する中小規模の開発会社の開発者向けです。

DBの設計や、エンタープライズシステム向けのデータベースを扱う際に読むような本ではないですが、サラッと読んで知識を蓄える感じで読むのにステキなまとめられかたをしていると思います。

ちなみに、本書で扱っているデータベースは MySQL になります。

続きを読む - Webエンジニアのための データベース技術[実践]入門

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ
タイトル
[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ
著者
伊藤 直也 (著), 田中 慎司 (著)
出版社
技術評論社
hamasyou's おすすめ度

大規模サービスの運営、大変だということは分かっていても、じゃあ実際にどういうふうに大変なのか。実際に体験してみないとこの大変さはわからないと思います。

でも、実際に大規模サービスの開発・運営に携わることになったら!?

本書は、はてなで実際に運用されているサービスを元に、大規模サービス技術のノウハウを解説しています。実際にはてなのインターンシップで講義資料として使われているものがベースになっているので、分かりやすくかつ、実用的です。

Web サービスはいつユーザ数が爆発するかわからないという面白さがある一方、きちんとサービスのノウハウがないとシステムダウンにすぐに繋がってしまうという怖さがあります。

すべてのWeb サービス開発エンジニアにおすすめです。本書で本質的な知識を得て、準備万端にしておくと良いと思います。

続きを読む - [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ

Webを支える技術 -HTTP、URI、HTML、そしてREST

Webを支える技術 -HTTP、URI、HTML、そしてREST
タイトル
Webを支える技術 -HTTP、URI、HTML、そしてREST
著者
山本 陽平 (著)
出版社
技術評論社
hamasyou's おすすめ度

Webで成功するサービスを作る究極の指針は「シンプルであること」だと思います。これは別にWebに限らずそうだと思います。例えば、AppleやSONYやDELLなどの起業が成功したのは、シンプルな製品、サービスを作り出したからではないかと思います。Googleの検索窓なんかは、究極のシンプルだと思います(だんだんといろんなものがつき始めましたが。。。)

業務で使用するWebサービス、コンシューマ向けのWebアプリケーションAPIなどもこの設計指針が当てはまると思いますし、本書はこのことだけが追求されて書かれている良書です。

Webの成り立ち、ここまで成長してきたのは何故か、Webをより良く使うための設計方針が本書には詰まっています。Web開発の初心者にはもちろん、Web開発をバンバンにやってきた人にも、一度は目を通して欲しい本です。かなりオススメですし、読めば必ず目から鱗間違いなしです。

続きを読む - Webを支える技術 -HTTP、URI、HTML、そしてREST

インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践

インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践
タイトル
インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践
著者
Ken Pugh (著), 角谷 信太郎(監訳) (翻訳), 児島 修 (翻訳)
出版社
オライリージャパン
hamasyou's おすすめ度

本書は、プログラムにおけるインターフェース設計へアドバイスを与えるものです。GUIやデザインの話ではありません。高凝集度で疎結合な設計を行うためにインタフェース設計をどのように進めたらよいか、どのように考えてインターフェースを作れば良いかなどを説明しています。

システム開発というのは複雑な作業です。その複雑さを少しでも解消するために分割して統治せよ(Divide and Conquer)という理論を用いることが良いことだとされています。このときに大切になってくるのが「凝集度」と「結合度」になります。

凝集度は高いほど良い、つまり責任範囲が明確でが軸ぶれないほどよいです。結合度は低いほど、つまりそっちはそっちで勝手にやっててねとできるほどよいです。高凝集で低結合(英語で言うと「High Cohesion and Low Coupling!」)なプログラム部品にするために必要なのが「良いインターフェース」なのです。本書は、この良いインターフェースとは何か?どうやって良いインターフェースを設計するか?を解説するものです。

本書の対象読者は、プログラム経験があり設計に興味がある人、DI(Dependency Injection)って流行ってたけど未だに何が良いのかわからない人、テスト容易性が大事って聞くけどどうやって設計したらいいかわからない人です。

200ページくらいしかなく、かなり薄い本になっていますのでサクサク読めると思いますが、実はあまり詳しい説明というのが載っていません。内容が薄いのではなく、説明が薄いのです。「こんな場合こういう考えでインターフェースを切ると良いよ。作り方は二種類ある。長所はこれで、短所はこれ」みたいな説明が多いように思えました。

それでもかなりの良書の部類に入ると思います。さらっと読んで、良く理解できなかった部分は先輩に聞いたり、Webで質問したりして、自分なりに噛み砕いていく。そういう読み方をする本かなと思います。

続きを読む - インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践

ドメイン駆動

ドメイン駆動
タイトル
ドメイン駆動
著者
Jimmy Nilsson (著), 尾島 良司 (監修), 株式会社ロングテール 長尾 高弘 (翻訳)
出版社
翔泳社
hamasyou's おすすめ度

本書は、ドメイン駆動設計(DDD:Domain Driven Design)について書かれているで、ドメインモデル、エンタープライズアプリケーションアーキテクチャ、アーキテクチャパターン、テスト駆動開発を勉強する本です。

この本のお勧めの点の一つが、筆者の経験をもとにした生きたサンプルにあります。「システム開発は○○の理由でドメイン駆動設計を行ったほうがよい。こういう背景があって、こういうアーキテクチャパターンの適用を考えていく。」こういった生きた経験が本書にちりばめられています。

対象読者は業務アプリケーション開発に携わるアーキテクチャ、システムエンジニア、開発者さん達です。最近は定着したドメイン駆動設計(ドメイン駆動開発)という言葉ですが、現場で実際に使われているのは実は少ないのではないでしょうか。ドメイン駆動で設計するとはどういったことなのか?本書を読めば、新しい視点が学べると思います。お薦めの一冊です。

続きを読む - ドメイン駆動

RESTful Webサービス

RESTful Webサービス
タイトル
RESTful Webサービス
著者
Leonard Richardson (著), Sam Ruby (著), 山本 陽平 (監修), 株式会社クイープ (翻訳)
出版社
オライリー・ジャパン
hamasyou's おすすめ度

REST とは リソースの状態を表す「何か」を転送するということを表した、Webアーキテクチャスタイルです。REST はアーキテクチャではなく、アーキテクチャのスタイルであり、実際に REST スタイルのアーキテクチャとして、ROA(リソース指向アーキテクチャ)などがあります。

本書は、この REST と ROA に関して解説されたもので、RESTful なシステム(REST スタイルに則ったシステム)の設計方針、ROA の考え方などが解説されています。

Web アプリケーション開発をこれまでしてきた中で、RESTful や ROA な考えでシステムを設計したことがない人には、新しい発見があり、とてもわくわくして読むことが出来ます。

本書は、特に、Web アプリケーションの設計者、アーキテクトの方が読むと良いと思います。最近話題の REST の詳細を理解したい人、RESTful システムを構築したい人、ROA の考え方を取り入れたい人に本書はお勧めです。

オライリーっぽいちょっとお堅い文章ですが、楽しく読めると思います。『WEB+DB PRESS vol.42』の現場で使える REST の記事を読んで、REST とは何か? ROA とは何か?の概要を抑えてから読むと、理解が早いと思います。

お勧めです。

参考

yohei-y:weblog

続きを読む - RESTful Webサービス

Webアプリセキュリティ対策入門

Webアプリセキュリティ対策入門
タイトル
Webアプリセキュリティ対策入門
著者
大垣 靖男 (著)
出版社
技術評論社
hamasyou's おすすめ度

Webアプリケーションのセキュリティを高めるために使える本です。セキュリティ対策とは何をすることかということから始まり、Webアプリケーションが狙われる手法などを解説しています。固有の名称を持つWebサイト攻撃法を紹介し、それに対する防御手段を解説しているところが実用的なところだと思います。

Webアプリケーションに特化したセキュリティ対策本ですが、Webアプリケーションだけでもこんなにたくさんの攻撃方法があるのかとちょっと怖さも感じました。

物理的なセキュリティ対策と比べ、ソフトウェアセキュリティ対策に漏れがないか検証することのほうが難しいです。プログラムのソースコードがない場合、安全性の検証はさらに難しくなります。ソフトウェアのセキュリティ対策は非常にもろいものであることがほとんどです。このため、使用中のソフトウェアが安全であるか情報を収集し、安全性が保たれているか継続的に確認することが重要であるとともに、複数の安全対策を実施することが重要です。

本書「セキュリティ対策の基礎知識」より

本書の対象読者は、Webアプリケーションの開発者やそのマネージャ、管理者です。Webアプリケーションのセキュリティは、仕組みをよく理解して適切な対策を行わなければ意味がありません。さらには、その対策を複数行わなければ安全性を確保することが難しいです。本書を何度も読み直して、セキュリティ向上に役立てられるといいと思います。

続きを読む - Webアプリセキュリティ対策入門

エンタープライズ アプリケーションアーキテクチャパターン

エンタープライズ アプリケーションアーキテクチャパターン
タイトル
エンタープライズ アプリケーションアーキテクチャパターン
著者
マーチン・ファウラー (著), 長瀬 嘉秀 (監訳), 株式会社 テクノロジックアート (翻訳)
出版社
翔泳社
hamasyou's おすすめ度

本書は、業務アプリケーションのアーキテクチャパターンをカタログ化したパターン本です。アーキテクチャ設計において考えなければならない必須要素(下記箇条書き)に関して、例を示しながら説明しています。

  • レイヤ化
  • プレゼンテーション層の構築
  • ビジネスロジック層の構築
  • インテグレーション層(O/Rマッピング)の構築
  • 分散環境に関するパターン
  • セッションステートパターン
  • 基本パターン

アーキテクチャは開発者の実作業に大きな影響を与えます。良いアーキテクチャは、システムに要求されている事柄を容易に構築できる環境を提供します。悪いアーキテクチャは一つのことを成し遂げるのに苦労を伴います。

良いアーキテクチャか悪いアーキテクチャかというのは、設計の良し悪しで決まることもありますが、ほとんどはそうではないと思います。アーキテクチャの良し悪しは、そのアーキテクチャの使いどころがぴったりはまっているかどうかだと思います。

本書は、それぞれのアーキテクチャパターンの長所・短所、使いどころ、使用上の注意などがまとめられています。初めてアーキテクチャ設計に携わるような開発者に是非とも読んでもらいたい一冊です。

続きを読む - エンタープライズ アプリケーションアーキテクチャパターン

ソフトウェアパターン入門―基礎から応用へ

ソフトウェアパターン入門―基礎から応用へ
タイトル
ソフトウェアパターン入門―基礎から応用へ
著者
パターンワーキンググループ (著), 羽生田 栄一 (監修)
出版社
ソフトリサーチセンター
hamasyou's おすすめ度

ソフトウェアパターンと聞いて何を思い浮かべますか?デザインパターン?アナリシスパターン?アーキテクチャパターン?このどれも本書でまとめられています。『ソフトウェアパターン入門』と題されていますが、その中身は非常に広範囲にわたっています。ソフトウェア開発の組織に関するパターンもまとめられています。

本書は、ソフトウェア開発におけるパターンと名のつくもののまとめ本です。詳しく知りたい場合は本書にまとめられている別の書籍へのポインタを利用することができます。

本書の執筆はパターンワーキンググループの方たちが行っています。著者がそれぞれ違うので、章の深さや切り口が様々です。それでいて非常に上手くまとめられているため、パターンという言葉に疲れてしまった人、頭がゴチャゴチャしている人におすすめの一冊です。

続きを読む - ソフトウェアパターン入門―基礎から応用へ

できる人のモデル思考力 -データモデルはこう使え!!

できる人のモデル思考力 -データモデルはこう使え!!
タイトル
できる人のモデル思考力 -データモデルはこう使え!!
著者
勝藤 彰夫 (著), 石ヶ森 正樹 (著)
出版社
技術評論社
hamasyou's おすすめ度

ビジネスマンだからこそモデリングを覚えるべきだ!」本書はこう主張しています。その根拠は、システムはビジネスでやりたいこと(What)を具現化したものだから、ビジネスマンがモデリングを覚えてシステムのモデルを整理できることが一番正確で一番早いから、です。

しかし現実はそうかんたんには行きません。ビジネスマンにはモデリングを覚えることよりももっと他に優先度の高いことがあります。だからこそ、RFP(提案依頼書)作成の代行サービスが流行っているのです。

本書は、そんな時間の無いビジネスマンに、モデリングという作業を分かりやすく短時間で身に着けてもらうための本になっています。SI業務でデータベース設計をやったことがある人や、要件定義やシステム分析をバリバリにやっているコンサルタントやSEには少し物足りない内容になっています。

続きを読む - できる人のモデル思考力 -データモデルはこう使え!!

オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―

オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
タイトル
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
著者
平澤 章 (著)
出版社
日経BP社
hamasyou's おすすめ度

『なぜシリーズ』の第5弾となるオブジェクト指向に関する書籍です。「オブジェクト指向」というキーワードは一時期Buzzwordでした。それは、オブジェクト指向をプログラミングの道具として説明したり、概念だけを説明したり、UMLを使った設計技法のことを指して説明していたりと、知らない人が聞いたら混乱してしまうような説明しかされていなかったためです。

実際には「オブジェクト指向が現実世界をそのままソフトウエアに表現する技術である」という説明は間違いです。

本書

この説明が示すように、オブジェクト指向を本当に理解し、使いこなすには、オブジェクト指向に関する誤解を解く必要があると思います。本書はその手助けをしてくれる、正真正銘、本物のオブジェクト指向入門書です。

オブジェクト指向のキーワードに惑わされて疲れてしまった人、オブジェクト指向って難しそうだから敬遠していた人、オブジェクト指向を理解してみたい人、おすすめの一冊です。

続きを読む - オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―

プログラミングの心理学―または、ハイテクノロジーの人間学

プログラミングの心理学―または、ハイテクノロジーの人間学
タイトル
プログラミングの心理学―または、ハイテクノロジーの人間学
著者
ジェラルド・M. ワインバーグ (著), 木村 泉 (翻訳), 久野 靖 (翻訳), 角田 博保 (翻訳), 白浜 律雄 (翻訳)
出版社
毎日コミュニケーションズ
hamasyou's おすすめ度

本書は、哲学や心理学といった学問の切り口からプログラミングという作業について書かれたものです。

  • プログラミングとは何か?
  • プロフェッショナルとアマチュアの違いは何か?
  • プログラミングの学習方法について
  • プログラミング言語による設計について

といったことについて書かれています。

実際にプログラミングをしている人も、プログラミングという作業がどういうものかということを考えるきっかけを与えてくれる本です。仕事で仕方なくプログラミングをしている人も、学校の宿題だからプログラミングしなければならない人も、趣味で好きでやっている人も、読む価値のある本田と思います。

読んですぐに実践で使える本ではありませんが、本書を読むことでプログラミングという作業への思いが変わると思います。

続きを読む - プログラミングの心理学―または、ハイテクノロジーの人間学

ユースケース入門―ユーザマニュアルからプログラムを作る

ユースケース入門―ユーザマニュアルからプログラムを作る
タイトル
ユースケース入門―ユーザマニュアルからプログラムを作る
著者
ダグ ローゼンバーグ (著), ケンドール スコット (著), Doug Rosenberg (原著), Kendall Scott (原著), 長瀬 嘉秀 (翻訳), 今野 睦 (翻訳), テクノロジックアート (翻訳)
出版社
ピアソンエデュケーション
hamasyou's おすすめ度

本書は、ICONIXアプローチに焦点を当て、その中でロバストネス分析の方法について解説している数少ない書籍です。

ICONIXアプローチとは、ユースケースからオブジェクトモデルを導き出すアプローチのことです。ユースケースは、ユーザの視点で書かれたシステムが提供するサービスを表すものです。ユースケースを中心にモデルをおこすことで(ユースケース駆動)、要求が変化した場合にどこのモデルを変更すればよいか分かりやすくなります。

ロバストネス分析とは、ICONIXアプローチにおいて、ユーザの要求(What)をモデルの実装(How)に結びつける役割を持ちます。これにより、要求から実装、実装から要求のトレーサビリティが向上します。

本書は、あまり語られることの多くないICONIXアプローチとロバストネス分析を説明するものです。非常に本質を突いた説明がされていて、ユースケースの実用的な使い方についても学べます。

薄い本ながら(140ページ弱)、その内容の濃さは読んでみればわかるでしょう。非常にためになる良い本です。対象読者は、ユースケースについては知っているが使い方がいまいちよく分からない人、ロバストネス分析に興味がある人です。

続きを読む - ユースケース入門―ユーザマニュアルからプログラムを作る

UMLによるオブジェクト指向モデリングセルフレビューノート

UMLによるオブジェクト指向モデリングセルフレビューノート
タイトル
UMLによるオブジェクト指向モデリングセルフレビューノート
著者
荒井 玲子 (著)
出版社
ディー・アート
hamasyou's おすすめ度

本書は、モデルを検証する視点を学ぶ本です。UMLで書かれたモデルの適切さ正しさをどのような観点で評価すればよいか学べます。

クラス図を描いたけど、本当にコレでよいのか。シーケンス図上ではこうなっているけど、コレで上手くいくのか。こんな疑問に答えてくれるのが本書です。主にクラス図シーケンス図ユースケース図について書かれています。

対象読者は、初心者モデラー、設計を行うSEです。プログラマーにはあまり関係ない内容だと思います。

設計に正解はない」と言われますが、十分に適切であるかの評価は出来ます。それは本書を読めば分かるでしょう。

続きを読む - UMLによるオブジェクト指向モデリングセルフレビューノート

オブジェクト開発の神髄〜UML 2.0を使ったアジャイルモデル駆動開発のすべて

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

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

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

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

続きを読む - オブジェクト開発の神髄〜UML 2.0を使ったアジャイルモデル駆動開発のすべて

MDA(モデル駆動型アーキテクチャ)導入ガイド―UMLを基盤としたオブジェクト指向設計・開発手法

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

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

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

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

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

続きを読む - MDA(モデル駆動型アーキテクチャ)導入ガイド―UMLを基盤としたオブジェクト指向設計・開発手法

J2EEデザインパターン

J2EEデザインパターン
タイトル
J2EEデザインパターン
著者
Jonathan Kaplan (著), 福龍興業 (著), 佐藤 直生 (著), 木下 哲也 (著)
出版社
オライリージャパン
hamasyou's おすすめ度

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

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

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

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

続きを読む - J2EEデザインパターン

ワークブック形式で学ぶUMLオブジェクトモデリング―「ユースケース駆動」でソフトウェアを開発する

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

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

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

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

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

続きを読む - ワークブック形式で学ぶUMLオブジェクトモデリング―「ユースケース駆動」でソフトウェアを開発する

業務モデルとデータモデルの考え方

業務モデルとデータモデルの考え方
タイトル
業務モデルとデータモデルの考え方
著者
松本 聡 (著)
出版社
翔泳社
hamasyou's おすすめ度

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

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

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

続きを読む - 業務モデルとデータモデルの考え方

J2EEアンチパターン

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

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

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

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

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

続きを読む - J2EEアンチパターン

ソフトウェアエンジニアリング

ソフトウェアエンジニアリング
タイトル
ソフトウェアエンジニアリング
著者
羽生田 栄一 (翻訳)
出版社
翔泳社
hamasyou's おすすめ度

ソフトウェアエンジニアリング」を一言で言えと言われたら、ソフトウェア開発を定量的に見積り、計画によって管理していく学問だと答えるでしょう。ソフトウェアエンジニアリングは学問に近いところにあると私は考えています。

本書は、ソフトウェアエンジニアリング(つまり、ソフトウェア工学)をオブジェクト指向の視点で整理して解説した本です。オブジェクト指向というと、プログラミング、分析・設計、UMLが現在の代名詞となっています。本書はもっと大きな視点で、オブジェクト指向開発と言うものをとらえた本になっています。

分厚くて、教科書的で、理論と実践が織り交ざっています。教科書として使える本なので、学問的ですが、実践で使える手法や手段も載っています。技術者として経験を積んできたころに読むと一層効果的だと思います。

続きを読む - ソフトウェアエンジニアリング

RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み

RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み
タイトル
RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み
著者
鈴木 幸市 (著), 藤塚 勤也 (著)
出版社
翔泳社
hamasyou's おすすめ度

本書を読めばリレーショナルデータベース(RDBMS)がどのように動くのか、とてもよく理解できます。RDBMSがSQL文を解析して処理するまでの道のりや、トランザクション制御、ログ、リカバリと言った、RDBMSの裏側の動きがすっきりと整理できます。

「RDBMSの仕組みなんかデータベース管理者だけが知っていれば良い!」そんなことを言われるかもしれません。確かに、データベースの仕組みなんか知らなくても、プログラムは書けるし、設計もできます。しかし、データベースの仕組みを知っているのと知らないのではプログラムの質も設計の質も変わってくるのです。

なぜなら、RDBMSの仕組みを理解したプログラマは、最適なSQL文を書くことが出来るようになります。また、RDBMSの仕組みを理解したSEは、どのようにデータベースを作成し、物理テーブルを配置すればアクセス効率が良くなるかを知っているからです。

RDBMSの仕組みを理解して、最適な構成でデータベースを構築した場合、数十倍のパフォーマンスの差が出てくるといいます。これだけの差が出るとなると、RDBMSの仕組みに関する知識は不要とは言えません。

本書は、DB Magazineで連載されていた記事をまとめたものです。なので、図や表が随所に盛り込まれ、文章だけでは理解しにくい言葉も理解しやすくなっています。データベースを利用するすべての人に、本書をおすすめします。

続きを読む - RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み

オブジェクト指向とコンポーネントによるソフトウェア工学―UMLを使って

オブジェクト指向とコンポーネントによるソフトウェア工学―UMLを使って
タイトル
オブジェクト指向とコンポーネントによるソフトウェア工学―UMLを使って
著者
ペルディタ スティーブンス (著), ロブ プーリー (著), Perdita Stevens (原著), Rob Pooley (原著), 児玉 公信 (翻訳)
出版社
ピアソンエデュケーション
hamasyou's おすすめ度

本書は、多少アカデミックな本ですが、上流工程の設計に焦点を当てたいい本だと思います。オブジェクト指向のなんたるかを、ソフトウェア工学の観点から納得できるようにとても平易な文章で書いています。さらっと書かれている中に、とても重要なポイントがあったりするので、マーカーでページがいっぱいになりました。

この手の書籍にしては薄く、内容がずっしり詰まった感じです。ポイントポイントを抑えているので、短時間で読めますが、確実に設計力はつくと思います。また、オブジェクト指向についての知識の整理や、気をつける点も理解できると思います。

本書は、ソフトウェア工学の観点から書かれているので、学生や研究者向きです。しかし、実践で役立つポイントも満載なので、実務で上流工程の設計をオブジェクト指向で行っている方にもおすすめできます。

続きを読む - オブジェクト指向とコンポーネントによるソフトウェア工学―UMLを使って

UMLモデリングの本質

UMLモデリングの本質
タイトル
UMLモデリングの本質
著者
児玉 公信 (著)
出版社
日経BP社
hamasyou's おすすめ度

「モデリング」や「モデラー」と言う言葉に関心がある人は、『アナリシスパターン―再利用可能なオブジェクトモデル』を聞いたことがあると思います。アナリシスパターンは、モデルのパターンを集めたものになっていて、バックボーンがないと読み進めるのが難しいものです。

本書は、モデリングのポイントや考え方を解説する本になっています。一般には「良いモデル」と言うのは存在しない、人によってそれぞれだと言われますが、本書にとっての「良いモデル」とは「モデルの存在価値があること」だと私は解釈しています。「良いモデル」を書く考え方や方法を本書では解説しています。

モデリングに興味のある人は本書を読むことをおすすめします。UMLの解説書を読むだけでは本当の「モデリング」はできません。モデルには意図があり、意味があるはずです。その意図や意味を正確に相手に伝えるための方法が本書には盛り込まれています。

続きを読む - UMLモデリングの本質

まるごと図解 最新オブジェクト指向がわかる

まるごと図解 最新オブジェクト指向がわかる
タイトル
まるごと図解 最新オブジェクト指向がわかる
著者
河合 昭男 (著)
出版社
技術評論社
hamasyou's おすすめ度

「まるごと図解」シリーズは、とても分かりやすく技術を解説してくれます。この「オブジェクト指向がわかる」も例に漏れず、とても分かりやすくオブジェクト指向の世界をのぞかせてくれます。

本書は、オブジェクト指向を現実の世界に落として説明しています。図も多く、プログラミングコードも出てくるので、プログラマにも分かりやすいと思います。

オブジェクト指向をかじったことがある人、オブジェクト指向で飯を食っている人からすると、コレではオブジェクト指向を語っているとは言えないかもしれません。しかし、何も知らない人向けにオブジェクト指向を教える場合、本書のような内容のほうが分かりやすいのも事実だと思います。最初に始めるなら、このレベルからやるのもいいかもしれません。逆に、最初からちゃんとしたオブジェクト指向を学ぶのであれば、小難しい言葉が並んだ分厚い本を選ぶのもいいと思います。

オブジェクト指向でなぜつくるのか』では、本書とはまったく違うアプローチである、「現実の世界との対比、オブジェクト指向と現実とは違う」というところからオブジェクト指向を説明しています。

続きを読む - まるごと図解 最新オブジェクト指向がわかる

Web+DB press (Vol.25)

Web+DB press (Vol.25)
タイトル
Web+DB press (Vol.25)
著者
-
出版社
技術評論社
hamasyou's おすすめ度

Vol25 の注目記事は「アーキテクチャ設計入門」です。J2EEをアーキテクチャ設計の勘所をポイントを抑えて解説しています。最近の典型的な4層構造(プレゼンテーション層、サービス層、ドメイン層、永続化層)のそれぞれの設計ポイントがまとめられています。

開発者のためのドキュメント作成の技術」も新人さんや2〜3年目の社員の方におすすめできる内容だと思います。設計書、マニュアル、議事録、提案書、報告書、メール、嘆願書、ポイント集と項目を挙げるだけでも読みたいと思えるようなものばかりだと思います。

Javaプログラミングの○と×」も初心者プログラマの人には楽しめる内容だと思います。どんな点に気をつけてプログラミングを行えばいいかと言ったことが載っていました。

アーキテクチャ設計入門はプログラマ・システムエンジニアの人に是非読んでもらいたい記事です。かなり面白いことが書いてありウンウン納得しながら気持ちよく読めると思います。

続きを読む - Web+DB press (Vol.25)

プロジェクトマネージャのためのUML徹底活用術

プロジェクトマネージャのためのUML徹底活用術
タイトル
プロジェクトマネージャのためのUML徹底活用術
著者
巻山 展輝 (著)
出版社
翔泳社
hamasyou's おすすめ度

本書で伝えたいことは一つ「UMLを使う技術」です。UMLを学び始めたときは、すべての仕様書をUMLだけで書けてしまうと思いがちです。でも、これはほとんどの場合間違いで、プロジェクトの進捗にあった適切なドキュメントを、一番コストがかからない方法で作成する方がよいのです。

本書では、「UMLを読む技術」、「UMLを描く技術」、「UMLで検証する技術」、「UMLで進捗管理する技術」を学ぶことができます。"プロジェクトマネージャのための" とタイトルにあるように、プロジェクト管理にUMLを使う方法を学べるのが特色です。

UMLを読む技術、UMLを描く技術と言うと、かなり濃いところまで説明されているように感じる人もいると思います。しかし、本書では設計段階に落とす前までの、つまり業務分析や業務モデリングの段階で使える程度の知識を学ぶところに焦点が当てられています。なので、決して技術者向けということは無い感じです。

プロジェクトで、UMLを導入してみたいと思っているプロジェクトマネージャーや管理者、業務分析や業務モデリングで作られたドキュメントを読む必要の在る設計者におすすめします。とても分かりやすい言葉で書かれていて、理解しやすいです。入門書として活用するのが効果的だと思います。

続きを読む - プロジェクトマネージャのためのUML徹底活用術

アジャイルモデリング―XPと統一プロセスを補完するプラクティス

アジャイルモデリング―XPと統一プロセスを補完するプラクティス
タイトル
アジャイルモデリング―XPと統一プロセスを補完するプラクティス
著者
スコット・W・アンブラー (著), 株式会社オージス総研 (翻訳)
出版社
翔泳社
hamasyou's おすすめ度

アジャイルモデリングとは何か −

アジャイルモデリング(AM)とは、効果的なモデラーになるための秘訣を説明した、プラクティスに基づくプロセスです。モデリングなんてしないという極端な状況では、ソフトウェアが十分に考えられずに作成されたことに気づいたときには、膨大な再作業が発生することがあります。もう一方の極端は、過剰にモデルや文章が作成されると言う場合で、カタツムリのようにソフトウェア開発の進行が遅れることがしばしばです。AM は、そのような両極端の間で、開発対象のシステムを効果的に検討したり、文章家するために十分なレベルで、かつプロジェクトの開発を遅らせるような重荷にならない程度で、程よくモデリングを行うためのやり方を探すお手伝いをします

本書はじめにより

今までのプロジェクトを振り返って、モデリングがなされなかったプロジェクトはいくつありましたか?ドキュメント地獄で、実行可能なコードを書く時間がまったく無かったプロジェクトはいくつありましたか?本書は「アジャイルモデリング」という、モデリングの方法を解説します。

本書では、モデルの表記法(ノーテーション)には触れていません。UMLを使ってもいいし、OMTを使ってもかまいません。また、開発プロセスに関しても、アジャイル開発プロセス(XP、 Scrum、FDDなど)に適用すれば効果的ですが、開発プロセスの限定はしていません。

本書は、確かにためにはなるし、勉強になります。ただ、そんなことよりも読んでいてワクワクする気持ちのほうが強かったです。読み終わった後、何かしたい衝動に駆られること間違いなしです。

アジャイルモデリングの原則、プラクティス、実践、実際に開発プロセスに適用した場合のケーススタディ。本書は、アジャイルモデリングを余すところ無く解説しています。開発者だけでなく、プロジェクトマネージャーにも是非読んで欲しい一冊です。非常に良い本です。かなりおすすめです。

続きを読む - アジャイルモデリング―XPと統一プロセスを補完するプラクティス

思考系UMLモデリング即効エクササイズ

思考系UMLモデリング即効エクササイズ
タイトル
思考系UMLモデリング即効エクササイズ
著者
渡辺 博之 (著), 芳村 美紀 (著), 桑本 茂樹 (著), 敷山 喜与彦 (著)
出版社
翔泳社
hamasyou's おすすめ度

本書は、UMLモデリングを自主勉強するための問題集になっています。13のお題が与えられ、それに対して自由にモデリングを行うと言うものです。モデリングを行うときの視点や、よくある間違えなど、解説が丁寧なので一人でモデリングの勉強をすることができます。

本書のよい点は、解説が豊富である点です。よくある間違えや、模範解答のモデルにたどり着くための考え方が詳しく載っています。

反対に悪い点は、「コンテキストが明確になっていない」点です。ほとんどのお題に言える事ですが、単に「アイスクリームをモデリングせよ」のように問題が出されているだけです。これでは、模範解答のモデルとまったく違うモデルができてしまうこともたびたびあります。

モデリングの肝は、「コンテキストの理解」にあると思っています。本書では、これを「本質を見抜く」という言葉で表しています。本書はモデリングの本質を見抜くための問題集だと思います。確かに難しいし、唖然とするようなこともありましたが、一度体験しておくとモノの本質を考える能力が発達するのではないかと思います。

続きを読む - 思考系UMLモデリング即効エクササイズ

かんたんUML

かんたんUML
タイトル
かんたんUML
著者
オージス総研 (著)
出版社
翔泳社
hamasyou's おすすめ度

本書は、「UML (Unified Modeling Language)」の書き方の本です。モデリングの本だと思って買うと、たぶん期待を裏切られると思います。モデリング技能認定試験 (旧 UML技術者認定制度)のL1-T1 レベル(OOの基礎概念、UML入門的知識)を学ぶための本です。

本書は、UMLの使いどころを学ぶのにいいと思います。UML解説の本ですから、(チュートリアルの)ソフトウェア開発設計のすべての場面でUMLを使っているのは、実際の現場からしたら少し考え物ですが、どの段階でどのUML図を使うかを見極める勉強にはなると思います。

モデリング技術についてはそれほど難しいことは出てきません。純粋にUMLの書き方と使いどころを学ぶ本だと思います。UMLをまなぶ最初の本か、2冊目の本にするとちょうどよいレベルだと思います。その後は、「モデリング」を学ぶ書籍を読み進めていくといいと思います。読みやすくて好きです。

続きを読む - かんたんUML

T字形ER データベース設計技法

T字形ER データベース設計技法
タイトル
T字形ER データベース設計技法
著者
佐藤 正美 (著)
出版社
ソフトリサーチセンター
hamasyou's おすすめ度

見た目は確かに教科書っぽい感じがします。「データベース設計技法」とタイトルにあるので、論理設計もしくは物理設計に関する書籍かと思うかもしれません。しかし本書は、教科書でもないし、DB設計の技術書でもありませんでした。

本書は、「ビジネスドメインの解析手法」を学ぶものです。T字形ER手法という考え方を用いて、ビジネスの現場をモデル化する手法を学べます。ページ数も140ページ少々と少なく、見開きでひとつのタイトルを解説しているため、とてもわかりやすく理解しやすいです。

T字形ER手法では、テーブルを「リソース」と「イベント」という区別で扱います。概念の違いですので、物理設計には関係ありませんが、ビジネス解析(要求分析)の段階では、とても重要になってきます。

オブジェクト指向設計に通じるところもあり、本書で説明している概念を理解すると、ビジネスドメインでのデータの見方というのがしっくり来ると思います。業務アプリケーション開発者は一通り読んでおくと、設計時や開発時に参考になると思います。

続きを読む - T字形ER データベース設計技法

プログラマの「本懐」 ~アーキテクトという選択

プログラマの「本懐」 ~アーキテクトという選択
タイトル
プログラマの「本懐」 ~アーキテクトという選択
著者
山本啓二 (著)
出版社
日経BP出版センター
hamasyou's おすすめ度

「アーキテクト」という役職は、プログラマに近い場所から、ビジネスマンに歩み寄る綱渡しを行う職業です。ただ技術を極めれば良いと言うわけではなく、ビジネスだけを知っているのでもない。両方のいいところをあわせもった職業と言えます。

本書は、アーキテクトという役職を、時には美しく、時にはシビアに紹介しています。単なるプログラマで終わりたくはない。それでも、プロジェクトマネージャーになるよりは、技術を極めたい人に、読んで欲しい一冊です。

アーキテクトの役職を、仮想プロジェクトを通して説明しているため、実際の業務における仕事が分かりやすく解説されています。一つの例だとして受け取ればいいと思いますが、かなり面白そうな職業だと言うことが分かると思います。

アーキテクトは、チームプレイであるソフトウエア開発の中心で、ITスキルとヒューマンスキルを両輪に、プロジェクトを成功に導きます。そんなアーキテクトの役割を感じてもらえる一冊だと思います。プロジェクトマネージャーに関する書籍と言うのはあれど、アーキテクトに焦点を合わせた書籍と言うのはまだまだ少ないです。そんな中で「アーキテクトとはなんなのか」を身近に感じれる一冊になっています。

続きを読む - プログラマの「本懐」 ~アーキテクトという選択

Executable UML MDAモデル駆動型アーキテクチャの基礎

Executable UML MDAモデル駆動型アーキテクチャの基礎
タイトル
Executable UML MDAモデル駆動型アーキテクチャの基礎
著者
スティーブ J.メラー (著), マーク J.バルサー (著), 株式会社テクノロジックアート (編集), 二上 貴夫 (翻訳), 長瀬 嘉秀 (翻訳), Executable UML研究会 (翻訳)
出版社
翔泳社
hamasyou's おすすめ度

「Executable UML」とは、実行可能なモデルという意味です。Executable UML の目的は 「ソフトウェア実装上の構成を決定せずに、問題領域の解決に向けての分かりやすいモデルを提供すること」です。ソフトウェア実装とは例えば、プログラミング言語やプラットフォームといったいわゆる、問題領域の解決につかう道具のことです。逆に問題領域の解決とは、ビジネスモデルやビジネスルールと言われる、ソフトウェアの目的の部分です。

Executable UML は、UML のアクションセマンティックス(動作意味論) を提供します。これにより、ソフトウェア実装を決定せずともソフトウェアの動作を表すことができます。しかも、厳密に定義することで、ツールによる解釈・実行が可能になります。MDA (モデル駆動アーキテクチャ)は、こうしたExecutable UML によって書かれたモデルを解釈し、コードを自動生成しようとしています。モデルの解釈を行うためには、厳密なセマンティックスが必要とされます。

本書は、Executable UML を理解するためのよい書籍だと思います。Executable UML 自体は、新しいモデリング言語と言うわけではありません。UML の一つの拡張(プロファイル)であり、実行可能なモデルを生み出すためのただの表記法です。

最近は、「モデリング」という言葉をいろんなところで聞けるようになりました。書籍もたくさん出ています。今後は、プログラムだけではなくモデリングも出来なくてはならない時代が来るかもしれません。そうすると、自然とモデルからコードを生成するという発想が生まれてきます。今後は MDA のようなモデルからコードを生成する手法が一般的になってくるかもしれません。Executable UML は次世代のための必須知識と言えるのではないでしょうか。

続きを読む - Executable UML MDAモデル駆動型アーキテクチャの基礎

はじめて学ぶUML―オブジェクト指向の基礎からUMLの利用法まで、しっかりよくわかる!

はじめて学ぶUML―オブジェクト指向の基礎からUMLの利用法まで、しっかりよくわかる!
タイトル
はじめて学ぶUML―オブジェクト指向の基礎からUMLの利用法まで、しっかりよくわかる!
著者
竹政 昭利 (著)
出版社
ナツメ社
hamasyou's おすすめ度

「ユースケース図」から「パッケージ図」までの全10個のUML図をモデリング技能認定試験のL1,L2試験に合格できる程度で紹介されています。UMLは、世界標準のモデリング表記法です。モデリングの共通言語として使われています。

本書では、下記の10個のUML図について説明しています。

  1. ユースケース図
  2. クラス図
  3. シーケンス図
  4. コラボレーション図
  5. ステートチャート図
  6. コンポーネント図
  7. 配置図
  8. オブジェクト図
  9. アクティビティ図
  10. パッケージ図

UML図以外にも簡単なオブジェクト指向の基本概念やモデリングの必要性などにも触れられています。モデリング技能認定試験の勉強本としての活用が考慮されているのか、Keyword や Step Up といった本文中に出てきた用語の解説も豊富に載っています。

本書で扱われているUMLのバージョンは1.xです。今後は、UMLの2.0が使われ始めると思います。UML2.0では、1.xよりもさらに表現力豊かになった図が使えたり、現在のUML図のいくつかが変更されていたりします。ですが、UML2.0対応の本で始めるよりも、本書のような全体図を見渡せる入門書で基礎から作っていくのが、UMLの理解のコツかと思います。

続きを読む - はじめて学ぶUML―オブジェクト指向の基礎からUMLの利用法まで、しっかりよくわかる!

ストリームラインオブジェクトモデリング―パターンとビジネスルールによるUML

ストリームラインオブジェクトモデリング―パターンとビジネスルールによるUML
タイトル
ストリームラインオブジェクトモデリング―パターンとビジネスルールによるUML
著者
ジル ニコラ (著), マイク アベニー (著), マーク メイフィールド (著), Jill Nicola (原著), Mike Abney (原著), Mark Mayfield (原著), 今野 睦 (翻訳), デュオシステムズ (翻訳)
出版社
ピアソンエデュケーション
hamasyou's おすすめ度

モデリングの部分部分をパターン化して、モデリングに利用しようとしている印象を受けました。ビジネスのモデリングというのは細分化して分類してみると、12種類の「分子」に分けられるというのが著者の意見のようです。

12種類のパターンは以下のようなものがあります。

  • アクター-ロール
  • 外部の場所-場所
  • 品目-特定品目
  • 組立品-部品
  • コンテナ-コンテンツ
  • グループ-メンバー
  • トランザクション-ロール
  • トランザクション-場所
  • トランザクション-特定品目
  • コンポジットトランザクション-明細
  • 特定品目-明細
  • トランザクション-後続トランザクション

ビジネスモデルというものは、会社ごとに違っているのが普通だと思います。同じビジネスモデルでは、競争なんて出来ませからこれはきわめて普通なことだと思います。モデリングというのは、ビジネスを抽象化して捕らえるところに意味がある行為です。そして、抽象化したレベルではいくつかのパターンを見ることが出来る。これが本書の説明したかった事柄だと思います。

続きを読む - ストリームラインオブジェクトモデリング―パターンとビジネスルールによるUML

バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発

バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発
タイトル
バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発
著者
川端 光義 (著), 倉貫 義人 (著), 兒玉 督司 (著)
出版社
翔泳社
hamasyou's おすすめ度

テスト駆動開発(TDD)は、アジャイル開発に非常に良く適した開発技法である。プログラムを書く前にテストケースを書くという、今までの開発のやり方とはまったく逆の「目的から解法を求める」やり方です。このやり方だと何がいいのかというと、目的が見えているから(テストケースを満足させること)、解法が非常にシンプルになることです。つまり無駄がなくなる。トヨタのカンバン方式をご存知ならば、ほとんど一緒の考え方がこのテスト駆動開発になるのです。

本書は、今までの開発方法とは一風変わったテスト駆動開発を、日本人による解説と豊富なサンプルプログラムで分かりやすく理解できます。なぜテスト駆動がいいのかということを、余すことなくかかれています。

開発者だけでなく管理者の方も、本書を読むことで品質の良いプログラムを作るためのきっかけが得られるのではないかと思います。とても良い本だと思うので、少しでもテスト駆動開発に興味のある方は読んでみてください。

続きを読む - バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発

体験オブジェクト指向 はじめるUMLモデリング

体験オブジェクト指向 はじめるUMLモデリング
タイトル
体験オブジェクト指向 はじめるUMLモデリング
著者
山田 正樹 (著)
出版社
技術評論社
hamasyou's おすすめ度

「モデリング」という言葉が最近グッと身近に感じられる世の中になってきたような気がします。システム開発をやっていない人にはいまいちピンと来ないかも知れないのですが、上流工程ではビジネス要件をモデリングしますし、下流工程ではアプリケーション設計をモデリングします。

本書は、最近主流の「UML(Unified Modeling Language)」という記法を使ったモデリング方法を解説しています。非常に初心者向けの易しい内容です。

  • 要求モデリング
  • 概念モデリング
  • 仕様モデリング
  • 実装モデリング

の大きく分けて4レベルのモデリングを行います。実際のシステム開発でも、要求モデリング、概念モデリング、実装モデリング辺りは行っているのが現状ですので、実務経験が無い人でも『体験』的に学べると思います。

続きを読む - 体験オブジェクト指向 はじめるUMLモデリング

憂鬱なプログラマのためのオブジェクト指向開発講座

憂鬱なプログラマのためのオブジェクト指向開発講座
タイトル
憂鬱なプログラマのためのオブジェクト指向開発講座
著者
Tucker (著)
出版社
翔泳社
hamasyou's おすすめ度

これからオブジェクト指向をはじめる人に、超おすすめの一冊です。本書のサンプルはC++言語で書かれていますが、Javaで開発を行っている人も敬遠しないでください。ところどころに実装依存の話も出てきますが、全体的に抽象度が高いです。にもかかわらず読みやすく理解しやすく、楽しいのはなぜなんでしょう?

オブジェクト指向とはなんだというところから、どんな考え方が本当のオブジェクト指向なのかを気づかせてくれる、非常に秀逸な本です。繰り返し繰り返し要点を述べてくれるので、頭に残りやすいです。また、最後まで読みきれば、C++言語に関する一通りの文法も学べてしまう一石二鳥の内容となっています。

是非、オブジェクト指向をこれから始めるという方に、オブジェクト指向をもう一度勉強したいという人に読んでいただきたい良書です。自身を持っておすすめします。

続きを読む - 憂鬱なプログラマのためのオブジェクト指向開発講座

UMLシステム設計実践技大全―アッと驚く達人の技

UMLシステム設計実践技大全―アッと驚く達人の技
タイトル
UMLシステム設計実践技大全―アッと驚く達人の技
著者
テクノロジックアート (著), C&R研究所 (著), 橋本 大輔 (監修), 長瀬 嘉秀
出版社
ナツメ社
hamasyou's おすすめ度

タイトルは別として、UMLに関しての一般的な知識とある程度の使いどころを理解するには良い本だと思いました。全体的に絵や表をたくさん使っていて、UML初心者には非常にとっつきやすいと思います。ただ、タイトルの『アッと驚く達人の技』や『実践技大全』といった部分に引っかかったUMLの知識のある人には、少し物足りないかも知れません。

本書はUMLをシステム開発の現場で使うための最初の一冊です。ユースケースの意味や使いどころ、クラス図の描き方や注意点、シーケンス図の流れやワンポイントなど、それなりに使える知識が載っていました。

続きを読む - UMLシステム設計実践技大全―アッと驚く達人の技

ユースケースの適用:実践ガイド

ユースケースの適用:実践ガイド
タイトル
ユースケースの適用:実践ガイド
著者
ゲリ シュナイダー (著), ジェイソン ウィンタース (著), Geri Schneider (著), Jason P. Winters (著), 羽生田 栄一 (著), オージス総研 (著)
出版社
ピアソンエデュケーション
hamasyou's おすすめ度

実際のソフトウェア開発を行う上で、「ユースケース」をどのように作り上げていけばいいのかということが、ケーススタディを進める感じで学べます。RUPという開発プロセスに従ってユースケースの最初の一歩から、設計の前までをわかりやすくまとめてあります。190ページ弱という結構量が少ない中、ユースケースの色々な使い方、ドキュメントのまとめ方が書かれています。

今まで読んできた中で、ユースケースについて書かれている本でこの本ほどわかりやすいと思えたものはまだないです。

続きを読む - ユースケースの適用:実践ガイド

オブジェクト指向設計の原則

オブジェクト指向設計の原則
タイトル
オブジェクト指向設計の原則
著者
ロバート・C・マーチン (著), 瀬谷 啓介 (翻訳)
出版社
ソフトバンククリエイティブ
hamasyou's おすすめ度

「アジャイルソフトウェア開発の奥義」を読んで第二弾。オブジェクト指向設計の原則に関するメモです。自分で読んで思い出せるくらいの内容しかメモってないと思われるので、もっと詳しい解説が欲しければ本書を買ってください。

本書には、クラス設計の原則として5つの原則が載っています。

  • 単一責任の原則 (The Single Responsibility Principle: SRP)
  • オープン・クローズドの原則 (The Open-ClosedPrinciple: OCP)
  • Liskovの置換原則 (The Liskov Substitution Principle: LSP)
  • 依存関係逆転の原則 (The Dependency Inversion Principle: DIP)
  • インターフェース分離の原則 (The Interface Segregation Principle: ISP)

パッケージ設計の原則として次6つの原則が載っています。

  • 再利用・リリース等価の原則 (Resuse-Release Equivalency Principle: REP)
  • 全再利用の原則 (Common Resue Principle: CRP)
  • 閉鎖性共通の原則 (Common Closure Principle: CCP)
  • 非循環依存関係の原則 (Acyclic Dependencies Principle: ADP)
  • 安定依存の原則 (Stable Dependencies Principle: SDP)
  • 安定度・抽象度等価の原則(Stable Abstractions Principle: SAP)

プログラマのためのJava設計ベストプラクティス』という本にも、オブジェクト指向設計の原則に関しての解説があります。

続きを読む - オブジェクト指向設計の原則

図解入門 よくわかる最新オブジェクト指向の基本と仕組み

図解入門 よくわかる最新オブジェクト指向の基本と仕組み
タイトル
図解入門 よくわかる最新オブジェクト指向の基本と仕組み
著者
近藤 博次 (著)
出版社
秀和システム
hamasyou's おすすめ度

実践でそのまま使えるオブジェクト指向の考え方を学べるのが本書の特徴です。オブジェクト指向自体を解説する場合、抽象度が高く言っている意味はわかるけど、それがなんなの?ってなることが多い中、本書は開発現場でそのまま使える知識にまで落として解説しています。

例えば、「検索」という機能をオブジェクト指向でいうクラスの責務に併せて考える場合、どのクラスのメソッドとして実装すればしっくりくるのかということを解説していました。本書の中では、この例の場合は、static メソッドして、本の検索ならば本クラスに、著者の検索ならば著者クラスに実装する方法が解説されていました。

続きを読む - 図解入門 よくわかる最新オブジェクト指向の基本と仕組み

Java2エンタープライズシステム構築作法

Java2エンタープライズシステム構築作法
タイトル
Java2エンタープライズシステム構築作法
著者
ゴヴィンダ シシャドリ (著), ゴパランサレシュ ラジ (著), Govind Seshadri (原著), Gopalan Suresh Raj (原著), あびこ ひろし (翻訳)
出版社
オーム社
hamasyou's おすすめ度

この記事を書いている今では、Javaはエンタープライズシステム構築の場面で、非常に大きな成功を収めていると思います。サーブレット/JSP、EJBといったサーバーサイド技術や、JDBC、JNIといったJ2EE技術、RMIによる分散オブジェクト技術。Javaで業務用アプリケーションを作った事のある人なら、一度は聞いたことのある名前だと思います。

エンタープライズシステム構築技術の中には、忌み嫌われるものもいくつかあります。それでも僕は、その原理や実装、実情を踏まえた上で良し悪しを決めたい。そのための知識を得るために本書を読みました。

続きを読む - Java2エンタープライズシステム構築作法

プログラマのためのJava設計ベストプラクティス

プログラマのためのJava設計ベストプラクティス
タイトル
プログラマのためのJava設計ベストプラクティス
著者
カーク クネンシルト (著), Kirk Knoernschild (原著), 長瀬 嘉秀 (翻訳), 今野 睦 (翻訳), テクノロジックアート (翻訳)
出版社
ピアソンエデュケーション
hamasyou's おすすめ度

開放・閉鎖原則(Open Closed Principle)、Liskovの置換原則(Liskov Substitution Principle)、依存関係反転法則(Dependency Inversion Principle)、インターフェース分離原則(Interface Segregation Principle)、コンポジット再利用原則(Composite Reuse Principle)、最小知識原則(Principle of Least Knowledge)、以上が本書で説明されているオブジェクト指向設計におけるクラス原則です。

優れたクラス設計を行うためには、上記のような頭の痛くなる言葉を覚える必要はありません。が、この言葉の意味と何が言いたいのかを理解することは大切です。

本書は、オブジェクト指向の原則、デザインパターンとその実践的な利用方法、UMLとJavaとのマッピング、モデリングの指針、アーキテクチャモデリング、ソフトウェア開発プロセスといった、避けては通れない問題を丁寧に解説している。

続きを読む - プログラマのためのJava設計ベストプラクティス

UMLによるオブジェクト指向開発実践ガイド

UMLによるオブジェクト指向開発実践ガイド
タイトル
UMLによるオブジェクト指向開発実践ガイド
著者
吉田 裕之 (著), 上原 忠弘 (著), 山本 里枝子 (著), 田中 達雄 (著)
出版社
技術評論社
hamasyou's おすすめ度

UML、Java、CORBA、COMなど、オブジェクト指向はソフトウェア開発にとってもはや当たり前の技術になっているが、実践に基づいた具体的なノウハウはいまだに少ない。本書の目的は、オブジェクト指向開発プロジェクト全体に標準的な体系を与え、またチーム全体がオブジェクト指向技術のスキルを蓄積しながら成長するテクニックを、現場で実践するう方々に提供することである。

本書表紙より

続きを読む - UMLによるオブジェクト指向開発実践ガイド

Webアプリケーション/サービス開発者のためのJavaクラス設計

Webアプリケーション/サービス開発者のためのJavaクラス設計
タイトル
Webアプリケーション/サービス開発者のためのJavaクラス設計
著者
米川 英樹 (著)
出版社
ソフトバンクパブリッシング
hamasyou's おすすめ度

「Webアプリケーションって、なんだろう?」

最近のアプリケーションは、ほとんどがWeb対応になってきています。Webの仕組みは単純ながら奥が深い。モヤモヤした頭を、解きほぐしたいと思っている人に、本書はおすすめです。

Javaの文法を終え、プログラミング初心者を抜け出したいと思っている人、なんとなく、オブジェクト指向でのクラスの作り方がわからない人、Webアプリケーションについては知ってるんだけど、実際何なの?って人達のベースになる知識を幅広く学べます。

続きを読む - Webアプリケーション/サービス開発者のためのJavaクラス設計

Java開発者のためのアンチデザインパターン

Java開発者のためのアンチデザインパターン
タイトル
Java開発者のためのアンチデザインパターン
著者
安藤 利和 (著)
出版社
技術評論社
hamasyou's おすすめ度

本書は、Java開発者のためのデザインパターン入門である。アンチデザインパターンと銘打ってはいるが、アンチというよりもむしろデザインパターンを使わなかったときのはまりどころを、デザインパターンによって改善させる手段を解説したものである。

続きを読む - Java開発者のためのアンチデザインパターン

Javaデザインパターン徹底攻略

Javaデザインパターン徹底攻略
タイトル
Javaデザインパターン徹底攻略
著者
日立ソフトウェアエンジニアリングインターネットビジネス部 (著)
出版社
技術評論社
hamasyou's おすすめ度

最近デザインパターンの使いどころについてのメモを取っている。デザインパターンは、どんなものがあるのかという知識とともに、実際に使いどころをかぎ分ける嗅覚が必要だと思っていいる。

本書は、デザインパターンをJavaで実装するときの実例と共に見やすい形でまとめている。

デザインパターンというのは、アプリケーション設計の一種の定石というか、先人の知恵をカタログ化したものです。

続きを読む - Javaデザインパターン徹底攻略

JavaとUMLで学ぶオブジェクト指向の考え方―オブジェクト指向分析・設計入門

JavaとUMLで学ぶオブジェクト指向の考え方―オブジェクト指向分析・設計入門
タイトル
JavaとUMLで学ぶオブジェクト指向の考え方―オブジェクト指向分析・設計入門
著者
マット ワイスフェルド (著), Matt Weisfeld (原著), 萩本 順三 (翻訳), 多摩ソフトウェア (翻訳)
出版社
翔泳社
hamasyou's おすすめ度

オブジェクト指向でシステムの分析・設計を行う際にUMLを使う機会が増えてきました。こういった機会に出会うたびに、UMLとオブジェクト指向をどのように結びつけたらよいかと迷うときがあります。本書では、まずオブジェクト指向の考え方を学び、オブジェクト指向で設計・分析を行っていきます。

続きを読む - JavaとUMLで学ぶオブジェクト指向の考え方―オブジェクト指向分析・設計入門

Developing Applications with JAVA and UML -プログラマーのための統一モデリング

Developing Applications with JAVA and UML -プログラマーのための統一モデリング
タイトル
Developing Applications with JAVA and UML -プログラマーのための統一モデリング
著者
ポール・R. リード Jr. (著), 長瀬 嘉秀 (翻訳), 今野 睦 (翻訳), テクノロジックアート (翻訳)
出版社
ビーエヌエヌ新社
hamasyou's おすすめ度

JAVAとUMLと方法論をまとめて解説してある。「JAVAだけ」とか「UMLだけ」とか「方法論だけ」といった書籍を読むよりも断然実践的に使える。方法論とUMLを使ってJAVAで実装するところまで解説している本は、希少価値が高いと思う。これらのことというのはやはり別々で学んでも、実際に開発現場ではどうすれば良いのかがどうしても不透明になる。

続きを読む - Developing Applications with JAVA and UML -プログラマーのための統一モデリング

Index of all entries

Home > System Archive

Search
Feeds
access

access counter

Links

Return to page top