掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2012年07月28日
汎用性のある顧客管理イディオム
顧客ダイアグラム

構造だけでは明らかに説明不足なので追加説明。(結構長いです)

続きを読む ...
 
[ 投稿者:mk3008 at 15:39 | 設計メモ | コメント(0) | トラックバック(0) ]

2011年07月18日
1ユーザーに対するメニュー権限管理のイディオム
UserMenuDiagram
以下のような管理ができる。
1. ユーザーは1つのロールを所持しており、ロールを元に権限管理が行える。
2. ユーザーは0から複数の拡張ユーザーメニューを所持しており、属人的な権限管理が行える。
3. ユーザーが利用できるメニューは、「1」と「2」をマージしたものである。

備考
ロールで権限管理することを基本とし、拡張ユーザーメニューを利用することは控える。
拡張ユーザーメニューを使用する場合は、
  申請者
  上長
  目的
  有効期日(ex.年度末まで)
を管理し、保守のタイミングや確認方法を明らかにしておくと後々便利。

利用する際には、「3」のビュー(クエリ、モデル)を作成すると開発しやすい。

ユーザー別店舗、支店管理もこのイディオムで表現可能と思われる。
[ 投稿者:mk3008 at 13:38 | 設計メモ | コメント(0) | トラックバック(0) ]

2008年11月22日
CVSを使ってVBのソースコードのバージョン管理をする!(備忘録)
今回はソースコードのバージョン管理に便利なCVSの利用方法について書こうと思います。

このツール(バージョン管理ソフト)を要約すると、
  過去のコードと現在のコードの変更箇所が一目でわかる
ツールであるといえます。

このため、「複数人でのコーディング」や、「ソースコードを旧バージョンにロールバックする」ことが簡単に行えます。

こんなに便利な無償のツールなのに、インストール方法の解説サイトが少ない(※1、2)ような気がしましたので備忘録を兼ねてまとめてみました。

※1 CVS自体は有名でCVSを扱った書籍はあるにはあるのですが、古い技術のせいか、今ではほとんど出回っておりません。
CVS以外にはSubVersion、Visual SourceSafe、Gitなどが有名です。
なお、Visual SourceSafe はMicrosoft製でVisualStudioと相性がよいですが、有償。

※2 利用方法についてもあまりよいページがない気がような?まぁ、用語さえ覚えれば説明不要なぐらい簡単ですけどね。


#2011/7/18追記
新しくバージョン管理をするならSVNを使用することをお勧めします。
以下、SVNを選ぶ理由
・VisualStudioとの統合ができる(Professional以上が必要)
 重要。
 TortoiseCVSがあるとはいえ、統合された環境には適わない。
 ファイルの追加漏れなども防ぎやすい。
・ソリューション、プロジェクト単位での変更履歴が取得できる。
 CVSではファイル単位しかできなかった気がする。
 これのおかげでタグがなくても、ある程度過去バージョンのデータを呼び出す目処がつく。
・リバート(元に戻す)ができる
 「編集内容を破棄したいファイルを削除してからCVSでアップデート」
 というめんどくさい作業が一発で完了する。
・ファイルのリネームができる
 重要。
 クラスの名前を適切なものに変えたいと思っても
 CVSでは別ファイル化(過去の編集履歴を捨てる)する必要があった。
 スペルミス修正やリファクタリングする際にないととっても困る。
・環境の準備が楽
 ファイルサーバーであれば何でもいける。
 サーバーでなくても、個人PCの中にリポジトリを作ることもできる。

続きを読む ...
 
[ 投稿者:mk3008 at 20:54 | 設計メモ | コメント(0) | トラックバック(0) ]

2008年03月13日
テーブルを作成、または修正する
SQLServerでテーブルを作成する、または列情報を更新する。

--テーブルの作成
CREATE TABLE {TableName} (
{ColumnName} {ColumnType} {Default} {NotNull} {Unique},
,
{ColumnName} {ColumnType} {Default} {NotNull} {Unique}
)

--列の追加
ALTER TABLE {TableName} ADD {ColumnName} {ColumnType} {Default} {NotNull} {Unique}

--列の削除
ALTER TABLE {TableName} DROP COLUMN {ColumnName}

--列の定義変更
ALTER TABLE {TableName} ALTER COLUMN {ColumnName} {ColumnType} {Default} {NotNull} {Unique}

--主キーを追加する
ALTER TABLE {TableName} ADD CONSTRAINT PK_{TableName} PRIMARY KEY ({ColumnName1}, {} ,{ColumnNameN})

--主キーを削除する
ALTER TABLE {TableName} DROP PRIMARY KEY
[ 投稿者:mk3008 at 01:26 | 設計メモ | コメント(0) | トラックバック(0) ]

テーブル、列の備考情報を設定、取得する
SQLServerのテーブル、列にコメントを設定する、または取得するクエリ。

--テーブルコメント設定
EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'{TableRemarks}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'{TableName}'

--列コメント設定
EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'{ColumnRemarks}' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'{TableName}', @level2type=N'COLUMN',@level2name=N'{ColumnName}'

--テーブルコメント取得
select b.value from sys.tables a
left join sys.extended_properties b on a.object_id = b.major_id and a.parent_object_id = b.minor_id
where a.name ='{TableName}'

--列コメント取得
select b.name, c.value from sys.tables a
inner join sys.columns b on a.object_id = b.object_id
left join sys.extended_properties c on b.object_id = c.major_id and b.column_id = c.minor_id
where a.name ='{TableName}' and b.name='{ColumnName}'
[ 投稿者:mk3008 at 01:23 | 設計メモ | コメント(0) | トラックバック(0) ]

2008年03月12日
データベースの構造を取得するクエリ
Microsoft SQL Server データベースの構造を取得するクエリをメモ。

USE カタログ名
--テーブル一覧
SELECT * FROM INFORMATION_SCHEMA.TABLES AS A
WHERE A.TABLE_CATALOG='カタログ名'

--フィールド一覧
SELECT * FROM INFORMATION_SCHEMA.COLUMNS AS A
WHERE A.TABLE_CATALOG='カタログ名' AND A.TABLE_NAME ='テーブル名'

--キー一覧
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS A
WHERE A.TABLE_CATALOG='カタログ名' AND A.TABLE_NAME ='テーブル名'


続きを読む ...
 
[ 投稿者:mk3008 at 00:12 | 設計メモ | コメント(0) | トラックバック(0) ]

2007年10月17日
Visioの真骨頂はリバースエンジニアリングか?
なんとなく「必要だから」ってことで、Visioが会社にありますが、

  「どんなにVisioできれいに書いたとしても、
   結局VisualStudioに2度書きするハメになるんだから、
   多少汚くてもExcelで書いたほうが早い
   (VisioとVisualStudioの連携がもっと密ならいいのに)」

ということで、全く利用していませんでした。

と思ったら、MSのサイトでVisioの偶然こんなページを発見。
Visio2007 部署別活用術-情報システム部門
http://office.microsoft.com/ja-jp/visio/HA102201391041.aspx
さらに進むと
活用3:リバース エンジニアリングによる自動作図
既に存在しているデータベースに対し、リバース エンジニアリングを行うことにより、全テーブル、ビューの構成およびそれらのリレーションの情報全てを自動的に検出し、図面に配置することが可能となります。仕様の変更に対し、柔軟に対応できるばかりでなく、以前に誰かが作成しドキュメントが存在しないようなデータベースを移行しなければならないといった場合にも活用することが出来ます。
http://office.microsoft.com/ja-jp/visio/HA102201421041.aspx
なんてものがあるじゃないですか?

「具体的にどうやるんだろ?」って探してたら、VisualStudioのソースコードもリバースエンジニアしてくれるらしい!!
こいつは便利なソフトかもしれないぞ?(まだ試してないけど)

(詳細手順は以下にあります。)

続きを読む ...
 
[ 投稿者:mk3008 at 15:19 | 設計メモ | コメント(2) | トラックバック(0) ]

2007年10月08日
MediatorパターンとVB.NET
Mediatorとは相談役と言われるデザインパターンで、
おもにGUIの制御に用いられることが多いようです。

ざっくり説明すると
  各コントロールにメディエータークラスをセットして、
  なにか(イベント)があったらメディエーターに通知
して、
  通知を受けたメディエーターが適切に処理
するというもの。

イベントがメディエーターに一極集中するため、処理が分散されないという利点があります。

GUI系の処理は複雑になることも多いので、ぜひ試したいと思ったのですが…
GUIに適用しようと思った場合、
  ・コントロールにメディエーターはだれなのか
  ・どのイベントが起きた時メディエーターに通知すべきか
というロジックをコントロールに書き込む必要がでてきます。

それはユーザーコントロールを作るという意味になってしまい、
導入するのはなかなか骨が折れそうです。
(1度作ってしまえば転用が利くとはおもいますけども、
(利用するコントロールの種類が多いと少々手間です。

以下、GUI制御にメディエーターを使うべきかどうかを
考えてみました。

続きを読む ...
 
[ 投稿者:mk3008 at 16:10 | 設計メモ | コメント(3) | トラックバック(0) ]

2006年11月26日
プラグインの開発、実装
DOBONさんのページにVB.NETでプラグインの実装方法が載っていました。

プラグイン機能を持つアプリケーションを作成する
http://dobon.net/vb/dotnet/programing/plugin.html

参考にしよっと。
[ 投稿者:mk3008 at 23:19 | 設計メモ | コメント(0) | トラックバック(0) ]

2006年04月15日
無料の上流工程モデリングツールがあった!
前の記事にも書かせてもらいましたが、
私は渡辺幸三氏の開発手法をすばらしいものだと思っており、
著作のなかで紹介されているDFD、データモデルなどのモデリングツールを自分で作ろうかと思ったほどです。

ところが、すでに氏のHPには、このモデリングツール「XEAD」があったのです。しかも無料で!

続きを読む ...
 
[ 投稿者:mk3008 at 11:24 | 設計メモ | コメント(9) | トラックバック(0) ]