2004年06月02日

【システム開発日記】.NET Windows Formsアプリの習得7

今日も.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得。

◎ツールバー
まず,ツールバーに貼り付ける画像をコレクションするオブジェクトを作成するのだが,これもドラッグ&ドロップ。
ボタンなどとは違って,コレクションオブジェクトは目に見えないものなので,ドラッグ&ドロップでフォームに貼り付けるっていう感覚が変な感じ。
基本的に,フォームクラスのインスタンス変数がボタン等のコントロールになるのだが,
フォームクラスにインスタンス変数を追加する作業はドラッグ&ドロップでやるようになってるらしい。
で,画像コレクションオブジェクトに画像を追加していく作業もGUIで行う。

次に,ツールバー本体をドラッグ&ドロップ。
画像コレクションオブジェクトをプロパティに設定。
ツールバーにボタンを追加するためのダイアログエディタでボタンと画像を登録していく。

次に,ツールバー上のボタンをクリックしたときに実行されるロジックの記述。
通常のボタンやメニュー項目は,クリックするボタンや項目毎にイベントが割り当てられるが,ツールバー上のボタンは,どれを押しても同じイベントが発生する。
なので,ソースコード内で「どのボタンが押されたか」を判断しなければならない。
なぜ,ツールバーのボタンだけ扱いが違うのだろう?
ちなみに,「どのボタンが押されたか」の判断は,ボタンに割り当てられたインデックスで判断する。

◎ボタンへの画像の登録
通常のボタンなどでも,画像コレクションオブジェクトに登録した画像が表示できる。

明日,Webサービス(Java)との連動実験をしてみようと思う。


posted by yashawks at 18:39| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月31日

【システム開発日記】.NET Windows Formsアプリの習得6

今日も.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得。

◎配列
私は,以下の書籍を見ながら,学習している。

「ゼロからスタート! Visual C#.NET 続・超入門 2003対応」
http://book.mycom.co.jp/book/4-8399-1133-9/4-8399-1133-9.shtml

この本に,既存の配列のサイズを自力で変更する方法が以下のように書かれていた。
1.一時保存用の配列型変数を定義し,それに既存の配列をコピーしておく。
2.新たな配列を,変更したいサイズを指定して生成し,既存の配列が格納されていた変数に格納。
3.2.で新規生成した配列に1.で保存しておいた配列の内容をコピー

なぜ,こんな回りくどい方法が書かれてるのだろう?
.NET Frameworkのクラスライブラリには,動的配列をサポートするクラスがあるんだから,それの使い方を説明した方が簡単では?
「超入門」だからか?

◎スクロールバー
スクロールバーもまた,ドラッグ&ドロップで簡単に作成できる。
現在の値,最大,最小値,増減値がソースコードから設定できる。
スクロールバーをダブルクリックすると,例によってソースコードエディタが開き,ユーザがスクロールバーをスクロールしたときに実行されるメソッドが出てくる。
いろんな使い道がありそう。
posted by yashawks at 18:03| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月28日

【システム開発日記】.NET Windows Formsアプリの習得5

今日も.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得。

◎ファイル操作
Webサービスのインターフェースとして.NETクライアントを考えてるので,ファイル操作の必要性は低いが,ノータッチデプロイメントでブラウザから呼び出された.NETクライアントがはたしてクライアントPC上にファイルを生成できるかどうか試したくなった。
生成できてしまうと,セキュリティ上,まずい。
テストプログラムとして,アプリケーション終了時にテキストファイルをクライアントPCに生成するプログラムを作り,Linux上のApache Webサーバに配布。
そして,ブラウザから呼び出して実行してみたところ,ファイル作成に失敗した。
ちゃんと,セキュリティ対策が考えられてるようだ。

◎タブコントロール
Windowsクライアントではおなじみの,タブで表示切り替えができるフォームを作成。
これも簡単に作成できる。Webアプリでも出来なくはないが,苦労するだろうね。

◎IMEの切り替え
入力箇所によって,カタカナ入力して欲しかったり,漢字入力して欲しかったりする場合がある。また,IMEそのものを無効にしたい場合もある。
このIMEの入力モードの切り替えも,コーディング無しでできてしまう。

来週あたり,Apache Axis との連携テストをやってみたいね。
posted by yashawks at 18:30| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月27日

【システム開発日記】.NET Windows Formsアプリの習得4

今日も.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得。

◎メニュー
Windowsクライアントアプリではおなじみのメニューをフォームに追加。これもドラッグ&ドロップ。
ドラッグ&ドロップといっても,好きな場所にメニューを付けられるわけではなく,ウインドウ上部に付く。
なのでドラッグ&ドロップである必要はないが,まあ,同じ操作ですべて出来た方が分かりやすいかな。
メニューも,ボタンなんかと同様にフォームが所有するからね。
メニュー項目の追加も簡単。Webアプリじゃ難しい部分だね。
また,メニューは1つのフォームに複数作成できる。例えば,ログインユーザによってメニューを切り替えたりできるわけだ。
メニュー項目を選択したときに実行するロジックは,これもおなじみ,項目をダブルクリックすればイベントハンドラが生成されるので,そこに記述する。

◎右クリックメニュー
マウスを右クリックすると出てくるメニューの作成も,ドラッグ&ドロップ。
メニュー項目の追加,実行ロジックの作成は,通常のメニューの場合と同じ。
通常のメニューとの違いは,フォーム上のコントロールにメニューを割り当てること。
なので,クリック対象のコントロールによってメニューの切り替えができる。
この右クリックメニューは,Webアプリじゃムリ。
posted by yashawks at 17:53| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月26日

【システム開発日記】.NET Windows Formsアプリの習得3

今日も.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得。

私は昔,Visual C++でWindowsクライアントアプリケーションを作った経験があるのだが,ここのところ,JavaでWebアプリばかり作ってたので,なかなか感覚が思い出せなかったりする。
そもそも,.NET Windows Formsの構築は,昔とはかなり違う。

◎ポップアップダイアログボックスの作成
まず,メインフォームからポップアップ表示されるダイアログボックスの作成。ダイアログボックスといっても,フォームとは別物ではなくて,同じ物。
既存のプロジェクトに,新たにフォームを追加し,コントロールを配置し,メインフォームのソースコードに追加フォームを表示するコードを追加。
ちなみに,モーダル/モードレスの2つの表示形式から選べる。
で,C#では,Java同様ガーベジコレクションによって不要なオブジェクトを廃棄するようになっているのだが,ダイアログボックスを閉じるというのは単に非表示になるだけで,インスタンスは残る。
そこで,.NET Frameworkにはインスタンス廃棄用メソッドが用意してあり,ダイアログボックス非表示後そのメソッドを実行すればダイアログボックスのインスタンスは廃棄されるらしい。
メインフォームとダイアログボックスのデータのやり取りは,VC++に近いかな。

◎リストボックス系コントロール
リストボックス系コントロールは,VC++やVBなんかと変わらないね。

なんか,Visual Studio .NETで作ってると,C#の言語仕様がまさに.NETのためだけにある!って感じがする。
posted by yashawks at 18:47| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月25日

【システム開発日記】.NET Windows Formsアプリの習得2

今日も.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得。

ボタンをクリックしたら実行するロジックを,Visual Basicではおなじみのフォーム上のボタンをダブルクリックしたら出てくるメソッドに追加。
Webアプリだと,ボタンを押す → サーバ送信だったりするが,
.NETクライアントならボタンを押す → クライアント上のロジックを実行という選択もできるね。
HTML上にJavaScriptを混在させるのもどうかと思うし。

次に,テキストボックスの内容が変更されたときに実行するロジックを,テキストボックスをダブルクリックしたら出てくるメソッドに追加。
簡単で良いね。

次に,特定のコントロールを変更不可にしたり,特定のキーの入力しか受け付けないようにしたりした。

次に,マウスカーソルが特定のコントロール上にくると表示されるツールヒントを作成。
簡単,簡単。

最後に,特定のコントロールに,ソースコード上の任意のイベントメソッドを割り当てたりもした。
さすが,作り易い。
posted by yashawks at 18:35| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月24日

【システム開発日記】.NET Windows Formsアプリの習得

先週一週間で,C#の文法的なところはだいたいつかんだので,今日から.NET Windows FormsアプリケーションのVisual Studio .NETでの作成手法の習得を始めた。

以下の書籍を見ながら,学習開始。

「ゼロからスタート! Visual C#.NET 続・超入門 2003対応」
http://book.mycom.co.jp/book/4-8399-1133-9/4-8399-1133-9.shtml

Visual Studio .NETを起動し,Windowsフォームを作成。
コントロールを自由に配置できるのは良いが,自由すぎて配置に苦労するね。
HTMLの方が,きれいに配置できるかも。

ただ,やはりコントロールはリッチだね。HTMLじゃ難しいコントロールが簡単に使える。
プロパティの指定によって,いろんな表現が出来て良いね。

今日は,フォームの作成と,DateTime構造体(クラスじゃないんだね)による日付の扱い方,
フォーム上に配置したコントロールの初期表示をC#ソースコードから変更する,といったことを覚えた。

ちょっと気になったのは,Visual Studio .NETはどうもリソースを食うらしく,マウスカーソルが部分的に見えなくなったり,Windowsが終了しなくなったりした。
Visual Studio .NET使うときは,他のアプリケーションは終了しないとな・・・
Javaだと,JVMが飛ぶだけで済むのにね。
posted by yashawks at 18:22| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月21日

【システム開発日記】C#とWebサービスの習得5

今日も,Visual Studio .NETでのC#の習得。

◎列挙型
Javaの世界では,虎(J2SE 1.5)で導入される列挙型を,C#ではすでに導入している。
例えば,ログインユーザに割り当てたロールを表す定数を定義する場合を考える。
Java(J2SE 1.4以前)だと,インタフェース定数で以下のように指定する。

interface Role
{
int ADMIN = 0;
int GENERAL = 1;
int GUEST = 2;
}

これを,C#の列挙型で表現すると以下のようになる。
enum Role
{
ADMIN,
GENERAL,
GUEST
}

そして列挙型は,変数のデータ型として使える。
Role role = Role.ADMIN;

現在ベータ版が公開中の虎(J2SE 1.5)でも,同じ表現ができるようになる。

Webサービスについては,引き続き NetBeans 3.6 で Ant ビルドファイルを途中まで作成した。
ちょっと帰りに,.NET関連の本をまた探そうかな。
posted by yashawks at 17:27| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月20日

【システム開発日記】C#とWebサービスの習得4

今日も,Visual Studio .NETでのC#の習得。

◎インデクサとHashtable

C#は,演算子が指定されたときの動作の定義ができるのと同様に,角括弧‘[〜]’が指定されたときの動作の定義もできる。単体のオブジェクトを,配列のように扱えるわけだ。これを,インデクサという。
で,このインデクサ,既存のライブラリで実装されてるものの1つに,Hashtableがある。
Javaだと,Hashtableに値を格納したり,逆に取り出したりするときは putメソッド,getメソッドを使うが,
C#だと,以下のように記述できる。

Hashtable ht = new Hashtable();
ht["名前"] = "yashawks"; // 値を格納
Console.WriteLine(ht["名前"]); // 値を取り出す


自作のクラスにインデクサを実装しようとは思わないが(メンドくさい),このHashtableでのインデクサを使った表現はかなり使える。

◎プロパティ

Javaの世界でプロパティというと,JavaBeansオブジェクトでのフィールドのことを指し,JavaBeans内のプロパティにアクセスするときはアクセサ(setXX,getXXメソッド)を使うようになっている。
C#の世界でのプロパティは意味合いが違い,「外部から見ると,public変数にアクセスするかのように見える処理機能」のこと。

例えば,以下のようなJavaBeansがあるとする。
public class User
{
private String name;
public void setName(String p_name) { name = p_name; }
public String getName() { return name; }
}

これを,C#で記述すると以下のようになる。
public class User
{
private String name;
public String Name
{
set{ name = value; }
get{ return name; }
}
}

そして,プロパティにアクセスするロジックは,以下のようになる。

★★★ Javaの場合 ★★★
User user = new User();
user.setName("yashawks");
System.out.println(user.getName());


★★★ C#の場合 ★★★
User user = new User();
user.Name = "yashawks";
Console.WriteLine(user.Name);


C#の方がスマートだね。J2SEの将来版でこうなる日は来るのかな?

Webサービスは,とりあえずローカル環境で試そうと,書籍を見ながらテスト開発を開始。
NetBeans 3.6 を立ち上げ,Ant ビルドファイルを途中まで作成した。
やっぱ,Eclipse より NetBeans の方が使い易いなぁ。
posted by yashawks at 17:19| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月19日

【システム開発日記】C#とWebサービスの習得3

今日も,Visual Studio .NETでのC#の習得。

◎ループ文
foreach文が便利。配列やコレクションオブジェクトから1つずつ値を取り出して処理するといった場合に重宝しそう。
たしか,虎(J2SE 1.5)でも同様の機能が実装されるんだよね。

◎オーバーフローチェック
例えば,int型の変数の値がint型の最大値を越えた場合,C#では通常はエラーにならず,変数値は変な値になってしまうのだが,checkedステートメントを使うと,int型の最大値を越えたときに例外エラーが発生する。
ちょっと,疑問だ。デフォルトで例外エラーが発生するようにすべきではないか?

◎定数定義
C#で定数定義する方法は2つ。constを使う方法とreadonlyを使う方法。
constは,Javaでいうfinalだ。基本的に,staticを付けて宣言する(だから,付けなくて済むようにしてほしいね)。
もう1つのreadonlyは,コンストラクタ内で一度だけ初期化できる。インスタンス生成時に値が決定するわけだ。
例えば,ログインユーザ情報を格納するクラスなんかで使えそう。
ログイン時に,ユーザ情報をコンストラクタの引数に渡してreadonly変数に格納ってな感じ。

◎コンストラクタの連鎖
あるクラス内に,引数の無いコンストラクタと引数のあるコンストラクタが定義されてるとする。
このとき,引数のあるコンストラクタ内で,引数の無いコンストラクタの内容を実行したい場合がある。
Javaだと,一方のコンストラクタ内でもう一方をメソッド呼び出しの形で記述するが,
C#だと,コンストラクタ定義部分で,事前に実行するコンストラクタを指定できる。
以下のような感じ。
pubic コンストラクタ名(パラメータ) : this() { 〜〜〜 }
こうすることで,パラメータ付きのコンストラクタでインスタンスが生成される前に,パラメータ無しのコンストラクタが実行されるようになる。
これは個人的に気に入った。

◎スーパークラスのコンストラクタ呼び出し
これも,上述と同じように記述できる。
pubic コンストラクタ名(パラメータ) : base(パラメータ) { 〜〜〜 }
こうすれば,サブクラスのインスタンス生成時に,スーパークラスのコンストラクタが先に実行される。
いいね。Javaに欲しいね。

Webサービスは,Apache Axisをダウンロードし,開発環境のクライアントPCにインストールした。
あとは,書籍を読んだ。
Webサービス側の開発は簡単そうだけど,C#クライアントは,ちょっと悩みそう。Javaより複雑。
posted by yashawks at 18:41| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月18日

【システム開発日記】C#とWebサービスの習得2

今日も,Visual Studio .NETでのC#の習得。

まず,メソッドの引数への値の引渡し方について。
C#では,メソッドの引数にrefやoutというキーワードが指定できる。
これらを指定すると,複数の値を戻すことができる。
Javaでは,メソッドから取得できる値は1つだけなので,うらやましい気もしたが,
メソッド内で複数の値を格納したクラスを生成して,それを返せば済むのでrefやoutは要らない気がする。

次に,演算子について。
C#では,C++と同様に演算子の処理内容を独自定義できる。
ただ実際のシステム開発の現場で,演算子を定義する開発者はあまりいないと思う。
ここまで考えて設計すると,工数が倍増しそうな気がする。
そもそも,クラスのインスタンス同士を‘+’や‘−’で足したり引いたりするのって,違和感がある。

最後にswitch文について。
これは,C → C++ → Java と引きずっていた欠陥を改善した感じ。
C,C++,Javaでのswitch文は,breakを付け忘れてしまうと次のcaseを実行してしまっていた。
私はこれを欠陥だと思っていた。コンパイルエラーも実行エラーも出ないので,原因がbreakの付け忘れだと特定しにくいのだ。
これをC#では,breakまたはgotoをつけることを強制したのだ。
また,C#のswitch文は,条件部分に文字列の指定もできる。
Javaで改善しておいてほしかったね。

Webサービスについては,書籍を読み進めたのみ。
体,2つほしい。
posted by yashawks at 18:19| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月17日

【システム開発日記】C#とWebサービスの習得&登録ユースケース再設計

今日は,まず,Visual Studio .NETでのC#の習得。
主に,継承とインターフェース,データ型あたりを調べた。

継承については,メソッドオーバーライドするにはスーパークラス側のメソッドにvirtual,サブクラス側のメソッドにoverrideを付けねばならない。
ソースをみるだけでどのメソッドがオーバーライドされてるかがすぐに分かるので便利なようだが,UMLのクラス図をしっかり描いてれば分かるので,個人的には付けなくて良いような気もする。
しかし,どのメソッドがオーバーライド対象かが明示的に示されてる方が実行時のパフォーマンスは上がりそう。
ただ,開発事後に,「やっぱりオーバーライドや〜めた」ってことになると,修正,めんどくさいかな。
修正漏れしそう。

データ型については,クラスはJava同様に参照型なのだが,C#には「値型のクラス」ともいえる,構造体という型が存在する。要するに,Java的にいうと,「プリミティブ型のクラス」ってな感じ。
参照型であるクラスと,値型の構造体を両方使ってると,混乱しそうだね。

あと,Javaでいうint等のプリミティブ型は,C#では構造体で定義されている。これは便利だね。
Javaだと,数値を文字に変換するのにラッピングクラスを使わないといけないけど,C#の場合はint自身が数値を文字にするメソッドを持ってるから,それを使えばいい。
つまりC#は,「すべてのデータ型がオブジェクト型(値型,参照型)」とも言える。
実は,オブジェクト指向言語としては,これが理想的だったりする。
Javaに足りないところかな。

Webサービスに関しては,先週末買った本を読み進めた。
早く覚えてテストできるようにならないと。時間が足りないな。

最後に,登録ユースケース再設計。Judeで設計クラス図の修正をやろうとしたが,いろいろ考えることがあり,完成しなかった。
2つの案件同時進行。つらいね。
posted by yashawks at 18:28| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月14日

【システム開発日記】登録ユースケース再設計開始

今日は,仕様変更に伴う登録ユースケースの再設計。
Judeで,設計クラス図の修正を始めた。
システム分析書やデータ構造図(クラス図),データベーステーブル設計書を見ながら熟考。
やはり,分析時に出てこなかったクラスが設計時に出てきた。
データベーステーブルの列のデータ型とクラスフィールドの型との整合性で考慮すべき点があり,
その部分で悩み続けたが,今日は解決しなかった。

あと,さらに別の案件が飛び出し(何件あるんだろう),とりあえずエンドユーザが記述した業務プロセスを表した文章をUMLのアクティビティ図で描き始めた。

今日は帰りに,.NETとWebサービス関連の本を探さねばならないので,もう帰ってしまおう。
posted by yashawks at 17:58| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月13日

【システム開発日記】登録ユースケース完了&Visual Studio .NET研究

今日は,仕様変更に伴う登録ユースケースの再分析の続き。
Wordで作成したシステム分析書の修正をプロジェクト管理Wiki上のシステム分析書に反映して,やっと登録ユースケースの再分析が終了。

そして,.NET関連の研究を始めた。
とりあえず,新しい言語を覚えなくては何もできないので,C#を@ITの連載記事をみながら研究。
Javaっぽいとは聞いてたけど,確かに。まあ,おかげで習得するのは苦にはならないけどね。
あと,Apache Axisも習得しないとね。週末は,.NETとWebサービス系の本でも買おう。

参考URL:
@IT連載「改訂版 C#入門」
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/
posted by yashawks at 18:30| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月12日

【システム開発日記】Visual Studio .NETでノータッチデプロイメントテスト

昨日,.NET Framework SDKのダウンロードインストールを断念したが,
ダウンロードしなくても,会社にVisual Studio .NETがあったのでそれをインストールした。
インストールファイルの総サイズが 2GB。でかいね。約3時間かかってインストール。

そして,ぜひとも試したいと思っていたノータッチデプロイメントのテスト用に,ダイアログボックスを表示するだけの簡単なアプリケーションをC#で作成(コーディング無し)。
そして,実行ファイルをLinuxサーバ上のApache Webサーバに配布。
次に,ブラウザから以下のURLを発行。
http://ホスト名/dotnet/実行ファイル名.exe
すると,ちゃんとダイアログボックスが表示されるではないか!
ノータッチデプロイメント,すばらしい!
これで,リッチクライアントは決まりかな?

ノータッチデプロイメントの参考URL:
@IT「特集:ノータッチデプロイメント」
http://www.atmarkit.co.jp/fdotnet/special/ntdeploy/ntdeploy_01.html
posted by yashawks at 17:49| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月11日

【システム開発日記】登録ユースケース再分析3&.NET Framework SDKダウンロード

今日も,仕様変更に伴う登録ユースケースの再分析の続き。
Wordで,システム分析書を修正した。
UMLを貼り付け,補足文書を修正中にロバストネス分析図の修正点を発見。
再びJudeでロバストネス分析図を修正し,システム分析書に貼り付け直した。
そして,補足文書の修正もおわり,システム分析書が完成した。

あともう1つ,別の案件でのリッチクライアントの適用についてだが,
.NETクライアントとApache Axisの連携を試したいと思い,
.NET FrameworkをクライアントPCにセットアップしようとした。
再配布可能パッケージと日本語 Language Packはダウンロード/インストールできたのだが,
.NET Framework SDKのファイルサイズが131MBとでかく,ダウンロードにたびたび失敗。
社内のネットワーク環境が,でかいサイズのファイルダウンロードに耐えられない感じ。
分割ダウンロードでも失敗の連続。とりあえず,8/11ダウンロードしたところで断念。
マイクロソフトって,何もかも詰め込みすぎなんだよねぇ。
インターネットやってる人間が,みんなブロードバンドやってるわけじゃないのにね。
posted by yashawks at 18:02| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月10日

【システム開発日記】登録ユースケース再分析2&リッチクライアント

今日も,仕様変更に伴う登録ユースケースの再分析の続き。
Judeで,分析シーケンス図を修正した。

あと,別の案件でシンクライアントでなくリッチクライアントの適用の要望があり,リッチクライアントとして何が良いかを考えた。
Flash,Java Web Start,Curl等があるが,Webサービスの利用を前提に考えると,マイクロソフトの.NETフレームワーク上で動作するWindowsクライアントアプリケーションが良いと思う。
世の中には,VBプログラマの人口が(残念ながら)多く,また,Windows上で一番パフォーマンスが良いのはやはりWindowsクライアントアプリケーションだろう。
サーバ側は,J2EEでWebサービスを構築しておき,.NETクライアントからそれを呼び出す。

●.NETクライアント側はビュー
●Webサービスはコントローラ
●ビジネスロジックは,JavaBeansやEJBで実装し,Webサービスが呼び出す

こんな感じかな。WebサービスにおけるMVC。
Strutsで,Webサービスサポートしないかな・・・
posted by yashawks at 17:44| 東京 ☔| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月07日

【システム開発日記】登録ユースケース再分析

今日は,仕様変更に伴う登録ユースケースの再分析の続き。
Judeで,ロバストネス分析図,分析クラス図を修正し,分析シーケンス図を途中まで修正した。
分析段階で,2つの新たなクラスが出てきた。これが設計段階ではどうなっていくんだろう。

私はUMLを描くときに,けっこう,レイアウトの美しさにこだわってしまう。
Judeには自動レイアウト機能があるが,納得のいくレイアウトになったためしがない。
「自動でステレオタイプ別に整列」とかできれば良いんだけどね。
ま,自分でやった方が良いかな。
posted by yashawks at 17:30| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年05月06日

【システム開発日記】開発ツール評価&登録ユースケース再分析

今日は,まずはじめに,例のドキュメントが雑でどう使って良いのかわからない開発ツールの評価をした。
ドキュメントをひととおり印刷して読んだが,さっぱり。何をどうして欲しいのか,意図が見えない。
結局,ドキュメントは無視して,モノをいじりながら探っていった。
悪戦苦闘したが,いまだ良く分からず。時間の無駄なので,ツールの評価は中断。
続いて,こちらもしばらく中断していた仕様変更に伴う登録ユースケースの再分析を開始。
2週間くらい中断していたので,プロジェクト管理Wikiを眺めてそれまでの経緯を思い出した。
そして,Judeを立ち上げ,中断していたロバストネス分析図の修正を開始。
いろいろ考えることがあり,結局ロバストネス分析図は完成しなかった。

上記の,ドキュメントが雑な開発ツールは,あるベンダの評価版なのだが,
評価して欲しいならまともな日本語を書いてもらいたい。
ドキュメントの良し悪しが,ベンダの将来を左右するといっても過言ではないと思う。
posted by yashawks at 17:54| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年04月28日

【システム開発日記】運用業務に追われる

今日は,運用業務系の作業に追われた。
クライアントの組織変更に伴う,既存システムの変更作業。
私はクライアント企業に常駐して仕事をしているのだが,既存システムは古い技術で作られているものばかりで,
今回のような既存システムのメンテナンス作業をする度にすべてを新しくしたくなる。
構造化手法をオブジェクト指向に変更し,
ビジネスやITシステムをUMLでモデリングし,
EAを導入して全体最適・・・・・・・
そんな仕事をしたいが,今の環境では夢のまた夢だね。
そろそろ,決断するときかな・・・
posted by yashawks at 18:03| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。