ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

オブジェクト指向で開発の最初から最後までの手順例-その1:概要

2007-07-02 16:24:48 | 開発ネタ

 新しく始めるシリーズですけど、以前に
要件を出すところから運用まで、一気に書いてみる
http://blog.goo.ne.jp/xmldtp/e/e7fda7fa6931e126d6d9741776bfa68a

で書いた、オブジェクト指向でやる場合の最初から最後までの流れ、

これについて、実際の例を挙げて書きたいと思います。

 売り上げか、なにかについての伝票書き出しと修正、一覧などについて行う予定です。実際に伝票として何を使うかは、今考えてはいるのですが、ちょっとあとで決めます。

 その際、流通サプライチェーン全体最適化促進事業の「次世代EDI標準メッセージ V 0.40 データ項目一覧」との関連などについても気が向いたら書きます。




システムはサーバー側は、サーブレットかstrutsで作る予定です。
画面はJSPでいくか、AJAXっぽく、クライアント側でデータ受け取って。。
って形にするかは、気分次第にします。




まあ、テスト、データ作成の話くらいまでは書こうかなあ。。と思っています。




 そんなかんじで、次回は、要望をまとめるところからです。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

オブジェクト指向における、データとメソッドの妥当性検証としてのCRUD図

2007-07-02 13:50:09 | Weblog

 以前書いた、クラスに原則として、CRUDのメソッドがないとこまるの裏返しにはなるんだけど、そうすると、あるデータ、とくにオブジェクトが存在しているということは

・かならず、そのオブジェクトを作成するメソッドがあり、
・読み込み、編集、削除前に、オブジェクトが作成されている

ということになる。ただし、システム外で生成されているというのは除く。
 一方、編集のないものは考えられるし(修正するときはかならず削除して生成する)、削除なし(手作業ないしは、絶対にレコードは増えないので、削除が必要ない)はありえる。




ということで、オブジェクトを縦ないし横軸、メソッドを横ないし縦軸にとって、CRUDを書いていくCRUD図は、データの生成削除の順番と抜けに対する確認が出来るという点で、妥当性が検証できるツールであるといえる。

 DFDの場合、この妥当性は、図自体で表現されるが(データとプロセスの入出力関係でわかる)、オブジェクト指向の場合は、(DFDは、項目レベルでやるので)DFDほどではないけど、妥当性をしらべることはできる。

 ただし、CRUD図は、UMLの図ではない
 というか、そもそも、図というが、あれは表だ。




 なお項目レベルまで調べたいのであれば、オブジェクトではなく、オブジェクトの属性まで考えることになるが、これはたいへんだったりする。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ニワンゴのAPIは、ゲームのケータイ版とか、イメージケータイ公開とかにいいのかな?

2007-07-01 23:09:02 | Weblog

ここのニュース
ニワンゴがAPI無償公開 携帯メールアプリを開発可能に
http://www.itmedia.co.jp/news/articles/0706/29/news069.html

によると、ニワンゴがOpenAPIというものを公開したそうな。

くわしくは、ここ
OpenAPI マニュアル
http://user.niwango.jp/document/manual.html


しくみは、簡単に言うと、

(1)ニワンゴがメールを受付
   メールには、コマンドが書いてある
(2)そのコマンドに対応するURL(あらかじめ登録)をGET形式で呼び出し、
(3)その呼び出しに答えるCGIなりPHPなり、サーブレットを書くと
(4)ニワンゴが(3)の内容をケータイ形式に変換して、(1)のメール送り主に返す

というもの。
したがって開発者は、

(あ)ニワンゴにコマンドと呼び出しURLを登録
  →登録するには、「ニワンゴ開発に参加」する必要があるみたい。

(い)上記(3)の部分のプログラムを作成し、(あ)のURLにおく
  →実は、プログラムでなくてもいい、テキストファイルを送ってもOK

くわしい書き方などは、チュートリアルを見ればわかる。



 一瞬、じゃあ、自分のサーバーにmakeとかantとかいれれば、ケータイから自宅のサーバーが操作できるってこと・・とおもったけど、それはだめだね。
 なぜなら、コマンドは誰でも打てるので、変な人が自宅のサーバーを操作してしまうかも。。

 ってことになると、やっぱ、

 脳内メーカーみたいなゲームを、ケータイのメールでもできるようにするとか・・さらに、そいつにCMつけてもいいし、

 そうではなく、コマンドを入力したら、なにかのCMを書いて。。。

 っていう利用よりも、

・なんか、画像とかを置いて
 (どういう画像かは、ご想像におまかせしますう ^^;)

・上記チュートリアルの「チュートリアルその3。 デコメールを使う」の
 「画像をつける」の方法で、サーバー側プログラムをつくって

・コマンドとURLを登録し、

・2ちゃんねるあたりに、「こーいう画像をあっぷしたよお・・
 ケータイで、m@open.niwango.jp、コマンド●●●でおくってねえ・・

とか、そーいう使われ方をするのかなあ(^^;)

P.S
上記、脳内メーカー、ウィリアムのいたずらの脳内は、こんなかんじ

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

日本のコンテンツの将来とか、秋葉原の将来って・・「6・30アキハバラ解放デモ」

2007-07-01 19:10:37 | Weblog

ここの痛いニュース
突如アキバで“6・30アキハバラ解放デモ”発生…mixi等から500人以上参加
http://blog.livedoor.jp/dqnplus/archives/997568.html


秋葉原で、解放?デモだそうです。
ここ  http://akiba630.moemoe.gr.jp/
が、そのデモのページだそうな。。

うーん、よくわかんないけど、
日本のコンテンツの将来とか、秋葉原の将来って、
こーいう感じなんでしょうかね・・・
って、どういう感じか良くわかんないけど(^^;)

日本のコンテンツ文化を象徴したコスプレというと・・・
コーいう感じ
http://image.blog.livedoor.jp/dqnplus/imgs/8/0/80491325.jpg

(注意:会社などで周りの人がいる所では、いろいろ誤解されそうなので
 開かないほうが無難ですよ。自己責任で開いてください。。。)

なんか、コンテンツ文化を輸出しても、ドン引きされそうな気も。。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その26:外部スキーマ(10)SQLその9)。

2007-07-01 14:05:13 | 土日シリーズ

 情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

いま、SQLをやっています。
SQLは検索(select)、挿入(insert)、削除(delete)、更新(update)とあって、今回はDELETEです。




■削除DELETEの構文

 テーブルにあるレコードを削除するには、

 DELETE FROM テーブル名;

 で削除できます。削除できますけど、これだと、全部のレコードを削除してしまいます。
 ふつう、削除したいのは、なんか、特定の1レコード、あるいは複数レコードですので、これに条件がつくことが多いです。
 条件をつけるには、

 DELETE FROM テーブル名 WHERE 条件文;

 となります。

 たとえば、OUBO_TBLのOUBOIDが5のレコードを削除するには

   DELETE FROM OUBO_TBL WHERE OUBOID=5;

 と書きます。なお、Accessでは、これでも動きますが、一回保存して、開くと、
 DELETE * FROM OUBO_TBL WHERE OUBOID=5;と書かれてしまいます。

 この*に関しては、複数テーブルに関係あるのですが、あんまり使わないと思うので、
 知りたい人は、
 ここ http://dev.mysql.com/doc/refman/4.1/ja/delete.html
 の下のほうにある複数テーブルの削除の説明を見てください。




■レコード全削除

 上記で、全部のレコードを削除するには、

 DELETE FROM テーブル名;

 とかきましたけど、

 TRUNCATE TABLE テーブル名;

 でも、レコード全削除できます。この違いは、

http://dev.mysql.com/doc/refman/4.1/ja/truncate.html

を見てください。

 なお、どちらも、成功時は、正常終了の値(0)が返るとおもいます。

 削除した件数を返したい場合は、

 DELETE FROM テーブル名 WHERE 絶対成立する条件;

 と、「絶対成立する条件」を書きます。たとえば、1=1とか、1>0とか、なんでもいいです。




■レコード全削除と、テーブルごと削除

 なお、DELETE , TRUNCATE TABLEは、レコードを全部削除するだけで、テーブル自体はのこります。だからそのあと、INSERTすれば、レコードは入ります。

 そうではなく、テーブルごと削除したい場合は、

 DROP TABLE テーブル名;

 をつかいます。そうするると、テーブル定義ごとなくなってしまいます。つぎにINSERTしても、テーブルがないので、失敗します。
 くわしくは、
ここ http://dev.mysql.com/doc/refman/4.1/ja/drop-table.html

 なお、DROPは、TABLEだけではなく、DROP INDEXとかDROP DATABASEとか、ほかにも、なくしちゃうのに使います。




ということで、DELETEは、ここまで




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする