クラス図は何も語らない

UMLはすっかりオブジェクト指向プログラミングの構造を図示するためのスタンダードとなった。その中でも,特にクラス図とシーケンス図に関しては,書く機会が多いのではないだろうか。しかし,だからといって,それがプログラマに伝える情報の量は微々たるものである。 ソフトウェア開発プロジェクトにおいて,近年では「基本設計=外部設計」「詳細設計=内部設計」というパターンが多い。ここでいう外部設計とは,システムを外から見たときの振る舞いの定義を指し,内部設計とは,システムの内部の振る舞いの定義を指す。つま...

自動生成すりゃいいじゃん

「自動生成」という言葉を聞くだけで,過剰反応する開発者がとても多い。反対する人のほとんどは,「自動生成の有効性が明確ではない」という理由である。なぜそう考えてしまうのか,ちょっと考えてみた。 ソフトウェア開発は,設計から実装,つまり設計書からソースコードへの変換作業であることは,改めて言うまでもないことだ。ただし,多くの現場で,それは成り立たない。設計書が正しく記述され,メンテナンスが継続的に行われることは少なく,納品時に残っているものは実装だけ,なんて状況も少なくない。 この状況が発生す...

enum型のコメント

JDK5.0から新しく加わったenum型。例えば,Webアプリケーションでよく出てくるスコープの種別について,以下のように定義したとする。 /** スコープの種別を持つ列挙型クラスです。 @author yoichiro */ public enum Scope {   CONTEXT,   SESSION,   REQUEST,   PAGE } このコードでは,この列挙型自体のJavadocコメントを記述している。この状態でJavadocを出力し...

JAVA PRESS Vol.47に寄稿しました

JAVA PRESS Vol.47の巻頭特集「みんなのためのJavaルールブック 初心者もそうじゃない人も全員集合!」に寄稿た。この中の「第6章:基本パッケージを使いこなせ!」が,僕が書いた記事だ。 JAVA PRESSは,この号を持って隔月での出版が最後となる。今後は,不定期出版となるため,この号は特別な意味を持っている。完全に市民権を得たJavaについて,最後に言語としてのJavaをまとめてみよう,というのが主旨である。 そのため,僕も日頃思っていること,特に多くのJavaプログラマに...

カットオーバーという瞬間

長年ソフトウェア業界で仕事をしているが,自分が携わった案件がカットオーバーとなり,一般に利用される瞬間に立ち会ったという経験は,実はあまり多くない。社内の業務システムについては納品&稼働開始の現場にいた経験はあるが,それも数えるほど。パッケージの開発の方が多かったこともあり,実際に自分が作ったものを使ってもらえているという実感を直接体感したことは,皆無に等しい。 昨年に関わった某顧客のシステム開発でも,結局途中で他の案件に移動となり,最後まで携わることができなかった。風の噂で,そのシステム...

IntelMacでWindows XPをブート成功!?

前のエントリ「 Windows2000 on QEMU in IntelMac」にて,エミュレータを使ったWindowsの動作が可能なことを紹介した。しかし,IntelMacに直接Windowsをブートさせるのは,非常に困難だと言われていた。 しかし,ついにそれが可能になった模様だ。 Windows XP on an Intel Mac Intel MacでWindows XPを起動するためのツールが公開される - ITmedia Windows Vistaも,こんな感じで誰かが起動を...

Eclipse on IntelMacにWTPインストール

「 IntelMacでEclipse」でインストールしたEclipseだが,Webアプリケーション開発がほとんどを占める最近では,WTP(Web Tools Platform)が欠かせない。ただし,All-in-oneなWTPは,WindowsとLinuxしか提供されていないため,MacOS XではEclipseを入れた後で別途WTPを入れなければならない。 幸い,WTPはupdate-siteから手軽にインストールすることができた。 Eclipse Web Tools Platform...

JDKの標準バージョンの変更

MacBook Proでは,JDKが標準でインストールされている。WindowsやLinuxなどのOSと違って,Java環境が統合されているっていう印象だ。インストールされているバージョンは,1.3,1.4,そして1.5であり,1.4が標準になっている。つまり,ターミナルで「java -version」と打ち込んだときに起動するJavaVMは,購入直後では1.4.2と表示されている。 最近では仕事でも1.5を使うことが多くなってきたので,標準のバージョンを1.4から1.5に変更したいところ...

IntelMacでJudeを動かす

Eclipseと並んで,僕のJava開発で欠かせないモデリングツールであるJude。 Judeのホームページでは,保証外とはいえ,MacOS Xでの動作について記述がされている。もともとJavaで記述されているので,基本的には問題ないはずだ。 まずは実際にやってみた人がいるかどうか調査。以下のページに,JudeのインストールとJude.appファイルの作り方まで記述があった。 Judeインストール - DebianなPowerbookでDarwinと遊ぶ ポイントは,起動のためのシェルス...

IntelMacでEclipse

Javaの開発に欠かせないEclipse。もちろん昔からMac版は提供されてきたが,ネイティブバイナリのSWTがPowerPC向けのものなために,そのままではIntelMacでは動作しない。 そこで,SWTをユニバーサリーバイナリとしてリコンパイルしたものが,EclipseのBugデータベースで提供されている。 Bugzilla Bug 98889 Add support for Mac OSX (X86/Intel) ここの,「3.1.2: SWT 3139 with universa...