goo blog サービス終了のお知らせ 

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

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

米マイクロソフト、著作権切れ書物の検索・ダウンロードサービス、ベータ版リリース

2006-12-11 20:25:50 | Weblog

 すでに米Googleが、「Google Book Search」で著作権切れ書籍の無料PDFダウンロードを開始しているけど、米マイクロソフトもはじめたようだ。

ここのニュース
米Microsoftが「Live Search Books」ベータ版をリリース
http://internet.watch.impress.co.jp/cda/news/2006/12/07/14162.html

によると(以下斜体は上記ニュースより引用)

米Microsoftは6日、書籍サーチエンジン「Live Search Books」ベータ版をリリースした。著作権が切れた書物をスキャンし、検索・ダウンロードできるようにしたサービスだ。今回公開された書籍にはカリフォルニア大学、トロント大学、大英図書館からスキャンされた書物が含まれている。


日本の場合、公文書なら、国立公文書館デジタルアーカイブがあるけど、ふつうの著作権切れの本っていうと、青空文庫

まあ、とにかく、大学の研究とかは、やりやすくなってるかも。。
一般の場合、著作権切れっていうと、かなりまえのものだからなあ。。。


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

ユースケースシナリオからクラス図にもって行けば、業務仕様と実装がつながる

2006-12-11 17:52:20 | 開発ネタ

 以前、ここに書いた話。
 UMLで設計するとき、ユースケース図から、クラス図を直接持っていけない(データの情報が欠落している)っていう話を書きました。

 で、実際に、どうしたら良いかという話。

 実務上、以下の本が、アクティビティ図を作って要求分析するところから、Javaでプログラムするところまでつながっている(これが、前回のブログで、最後に「本を置いてきてしまった」と書いた本)。

 UMLシステム設計実践技大全 ISBN4-8163-3635-4

 で、このサブタイトルが、「あっと驚く達人の技」なんだそうだが、達人かどうかはわかんないけど、ここで、あっと驚くことをしている。

 つまり、95ページなんだけど、ユースケース図から、名詞をとりだし、オブジェクトを抽出しているようにみえるが。。。よーくみると。。顧客A、住所??

 そう、ユースケース(図ではない)から抽出している。

 つまり、ここの部分、実際には、こうやっていることになる

・ユースケースシナリオを書いて、それを顧客と合意する
 このユースケース”シナリオ”は図というよりか表?少なくともUMLではない。
 →図でなく、言葉で書いているので、顧客も分かり、合意できる

・このユースケースシナリオから名詞を抽出し、クラスを作っている。

 あっと驚いてしまう実践ワザは、UMLをつかわないこと(^^;)




 ま、それはさておき、なんで、こんな話をしたかというと、
ヒアリングで聞き出した業務内容をアクティビティ図等に結びつける、まとめ方のカードの話。

 これから、アクティビティ図や、ユースケース図がでるのはいいけど、クラス図が出てこないと、この後の話につながらない。
 そして、クラス図を出すには、ユースケースシナリオを出さないとつながらないが、
 実は、このシート自体が、ユースケースになっていて、あとは具体的な値をいれると、ユースケースシナリオになるようになっている。
 なので、ここから、名詞抽出法によって(つまり、上記の本のやり方で)、クラスをつくることができる。

 そして、動的な振る舞いをシーケンス図を描いて規定するが、これにも、ユースケースシナリオが必要になる(静的なデータ構造のクラス図と、動的な振る舞いのシーケンス図を描くことにより、機能は定義される)。
 このシーケンス図を描くにも、やはり、さっきのシートを使えば出てくることになる。

 つまり、さっきのシートを書くことによって、
   分析のアクティビティ図、ユースケース図、
   実装のクラス図、シーケンス図、
   要求のスノーカード
   データ定義のER図
 これらをいっぺんにつなげる役割を持っている。

 っていうことを書きたかったわけ。


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

JPEG画像にふせん(コメント)を貼るソフトを作るとしたら?

2006-12-11 13:51:44 | Weblog

 日経産業新聞の、12月18日号(金曜日)の1面に、管理工学とCOM-ONEという会社が、サイト上に重要な箇所に、電子ふせんを貼るっていう技術を開発した。。。で思い出したけど、

 そうそう、(上記の話とは全然関係ないけど)JPEG画像なら、コメントいれることで、ふせんがはれるよね。。

 リコーのインタラクティブステーションのように、手書きでやる場合には、写真でとるしかないけど、画像やスクリーンショットに対して、キーボード入力してコメントを入れるなら、JPEG画像に直接コメントを埋め込むっていうのもアリかも。。




 方法なんだけど、そのまえに基礎知識。
 JPEG画像には2種類ある。JFIF形式とEXIF形式。
 この見分け方は、JPEG画像をノートパッドで開くと(^^;)
 初めのほうに書いてある。

 ちなみに、多くのJPEG画像はJFIF形式なんだけど、
 ケータイでGPSなどの位置が入ってるのがEXIF形式。

 で、EXIF形式の場合、いろんなタグが入っていて、付加情報が付けられる。
 したがって、ユーザーコメントのタグをつかって、付箋情報
 (位置やふせんのコメント内容)を入れればよい。

 その仕様については、ここ

EXIFの仕様書
http://www.exif.org/specifications.html


 って書くと、欧米か!と言われそうなので、2.1だけど、日本の仕様書を示しておくと、
 ここ(PDF)
http://it.jeita.or.jp/document/publica/standard/exif/japanese/Exifj.pdf

そのPDFの仕様書の40ページ目(PDFだと46/172っていうところ)、
「D.ユーザー情報に関するタグ」の「ユーザーコメント UserComment」
にあるように、コメントをいれられる。


っていっても、そもそも、この仕様がよくわかんないと思う。
その場合は、

GET_DS7
http://www.yk.rim.or.jp/~mamo/Computer/DS-7/exif.html




exifファイルフォーマット
http://www.a-effect.com/count/sentaku.cgi?pos=column&fil=exif


に詳しく説明が書いてあるので、まあ、それをみればわかるかな?
EXIF形式のJPEGは、画像関係、ブラウザ、どれもふつうにサポートしている。
(画像は表示する。コメントは見えない)
なので、それらで開いても、コメントはみえず、
自分の作ったアプリでだけ、コメント(付箋部分)がみれるというものを作ることができる。




おー、じゃあ、そー言うソフトをつくって、
ラブラブメッセージをつけて、
グーグルのオンラインアルバム「Picasa Web Albums」日本語版
にアップしておけば、
公開してるのは、普通の写真だけど、
2人のあいだだけ、ラブラブメッセージが見れる。。。

っていうと、そうじゃなくって、

EXIF Reader
http://www.rysys.co.jp/exifreader/jp/


っていうフリーソフトがあるので、そのフリーソフトをつかってしまうと、
コメントのところも全部見えてしまう。

もちろん、コメントを入れるときに、暗号化すれば、
暗号を解除できる人だけの間でコメントがみれて、他の人は見れない
とかもできるけどね。。




あ、ついでにかいとくと、サイトにふき出しの形で、コメントというか、
説明を入れられるJavascriptっていうのがあるみたいよ。

ここ
リンクに説明を表示してくれるJavaScript
http://youmos.com/news/bubble_tooltips.html




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

要求から業務手順にうつすときの関連

2006-12-11 11:52:49 | 開発ネタ

 前に、
スノーカードを使って要求をまとめるという話と、
業務手順をまとめる
という話を書きました(それぞれのリンク先に書いてあります)
 要求仕様のまとめ方に関しては、そのリンク先で紹介している要件プロセス完全修得法(ISBN: 4-88303-111-X)に書いてあるからいいとして、また、業務手順をまとめてからの展開は、今後書いていくからお楽しみとして、問題は、この2つの関係、つまり、要求を業務手順にうつすときの関係は?ってことになります。

 ここをつなげるには、スノーカードで書いてもらう内容に1つ追加して、「業務」という項目を付け加えないといけません。だから、スノーカードで書く項目は、こんなかんじ
</yt>

・要件番号
・要件タイプ
・事象/ユースケース番号
・業務

・内容
・理由
・要求元
・適合基準
・顧客満足度
・顧客不満足度
・依存関係
・競合関係
・関連資料
・履歴

 そして、そこの業務の項目に書かれた業務は、かならず業務手順のシートを作成する。
 そして、そのシートが完成したら、要求仕様と一致しているかを確認するということです。




 そうすると、ここで、以前指摘した、断層
 つまり、
  要求仕様は、なにをして欲しいかということを記述し、
  外部仕様以降は、どうやるかということを記述する
 ための断層が起こるけど、これはいいのか?ってことになります。

 結論から言うと、これはいいというより、ここで断層を「起こすべきです」。

 前に指摘したSDLCの断層、つまり、上記の場合は、要求仕様と外部仕様の間の断層が、外部仕様作成時におきます。つまり、SEさんが、コンピューターシステムに実装するときにおきるわけで、これを勝手に決めてしまって、要求が満たせなかったら、お客さんは怒るわけです。
 さらに、要求が実際に満たせないので、開発中止となった場合、SEが動いている=SEが動いているお金は支払われているので、ユーザーは損をしてしまいます。
 さらに、SEが実装を決めてしまったら、ユーザーのノウハウや、本当にやりたいことは生かされないかもしれません。システム的に、ここで、コンピューターがチェックしているが、実は、このチェックはいらない。。とかとか。。




 ところが、今回のスノーカードと業務仕様との間の断層は、ユーザーの要求仕様作成時におき、この行為はまさに、ビジネスモデルの決定になります。
 つまりSEが決めるのでなく、ユーザー、あるいは、コンサルタントが決定することになります。これが、本来あるべき姿です。
 ビジネスの実装をSEが決めるのではなく、ユーザーやコンサルタントが、どうやって、業務実現にコンピューターや人を動かすかを考えるっていうのが、正しいありかたなわけです。

 そして、この断層、つまり要求から業務手順への落とし込みの断層が大きいければ、大きいほど、差別化となり、他者が追いつけなくなります。

 逆に、もし、SDLCの断層のように、SEが手順を決めてしまうと、SEでわかるということになるので、似たり寄ったりのシステムになります。
 たとえば、POSによる、発注予測システムを考えた場合、もし、SDLCの断層のように、外部仕様のところで断層を起こすと、SEがかんがえつく予測なんていうのは、POSデータの統計処理で、似たり寄ったりになります。
 それに対して、ユーザーが予測を考えた場合、奇想天外な予測もありえるかもしれません。
 そして、ユーザーがわで、実装方法を記述できれば(それをこれからの話で展開するわけだが)、その奇想天外予測によって、他社と差別化できるってことです。




 ってなわけで、要求と業務仕様の連携のお話でした。


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

Tomcat6.0を入れたら、4.Xと違っていて。。。。

2006-12-11 01:36:54 | JavaとWeb

 とまどってしまった(^^;)

 4.0と6.0の違いで、戸惑ったのは、こんなかんじ

・confのserver.xmlは修正しなくてよい。
・リンクするのはservlet-api.jar
・web.xmlはちゃんと書かないと動かない

で、これについて説明する前に、まず、Tomcat6.0を入れる話。




■Tomcat6.0を入れる
 Tomcat6.0のありかは、
 ここ http://tomcat.apache.org/download-60.cgi

Windowsパソコンに入れたので、6.0.2-betaのBinary DistributionsのCoreの
 Windows Service Installer をクリックして、すぐに実行して入れました。
 途中、入れるのを聞いてくるところでnormal,custom,fullと選択できるんですけど、
 fullにしてインストールしました。

 なんか、途中で、いろいろセキュリティのワーニングが出ましたが、許可許可!!
 ってして、入れました(^^)




■(変更点1)confのserver.xmlは修正しなくてよい

 いままで、confのserver.xmlを修正していたのですが、これ、入らなくなったみたいです。
 つまり、JSPなら、フォルダ作って置いて、そこのURLを指定すると、すぐに見えます。




■(変更点2)リンクするのはservlet-api.jar

 いままでは、server.jarだったと思うんですけど、
 6.0では、コンパイルしてクラスを作るとき、
 Tomcatのフォルダの、libのservlet-api.jarを
 かわりにクラスパスに通します。




■(変更点3)web.xmlはちゃんと書かないと動かない

4.0のときは、web.xmlは、web-appだけ書けば、たとえば、
 フォルダtest/WEB-INF/classes/shori.class
 のサーブレットにアクセスするには

http://127.0.0.1:8080/test/servlet/shori

 でアクセスできましたが、6.0ではできません。

 servletタグとservlet-mappingタグを指定しないといけないみたいです
 (servlet-mappingでURLを指定します)
 上記のように、
 Tomcatのフォルダ/webapps/test/WEB-INF/classes/shori.class
 に、クラスファイルがあって、

   http://127.0.0.1:8080/test/servlet/shori

 で、アクセスするためには、Tomcatのフォルダ/webapps/test/WEB-INF/web.xmlを、
 以下のように書く必要があるみたいです。
<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

    <servlet>
        <servlet-name>shori</servlet-name>
        <servlet-class>shori</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>shori</servlet-name>
        <url-pattern>/servlet/shori</url-pattern>
    </servlet-mapping>

</web-app>

(上記 < > ¥ は、本当は半角です)
 これで、アクセスできました。




■おまけ:examplesのURLのみかた

 変更点3に書いてあるように、webappsの下にあるexamplesのURLを知るには、
 Tomcatのフォルダ/webapps/examples/web.xmlを開いて、servlet-mappingを
 見ることになります。

 ちなみにHello Worldの例は

http://127.0.0.1:8080/examples/servlets/servlet/HelloWorldExample

です。




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