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

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

Astah*で、上流から、下流まで、トレーサビリティをもって開発する方法(1)

2013-04-15 20:06:39 | 開発ネタ
こんなような話は、何回も書いているけど、
最近、ソフトウェア工学ネタで、見てくれる人が多くなった。
なので、もしかすると、見てない人がいるかもしれないので、
また、取り上げてみる。




■全体の流れと、今日の説明範囲

そもそもUMLだと、「詳細設計書」は、書かなくないか?
http://blog.goo.ne.jp/xmldtp/e/147b230c186e8b5a3d5092cb0c50ecf9

に書いた。
(以下太字が書いたところ。なお、今回は、番号を振っている)

いい、いくよ!付いてきてね!!

(1)ユースケースに対して、そのアクティビティを書いて、
   要求を明示するよねえ
    →ユースケース図、アクティビティ図

(2)そのアクティビティに対し、入出力を明示し
   (ここが入出力設計、UI)

(3)その入出力を元に(正規化とか)、クラスをつくるよねえ
   →クラス図(ER図に相当する)

(4)その後、MVCアーキテクチャを採用したとすると、
   なんかのフレームワークを決めて、

(5)アクティビティ図の入出力に対する部分がViewとなり、
   クラス図(ER図に相当する)ところが、モデル(DAO)になり
   アクティビティは、Viewを受ける部分にあたるので、コントローラーとなる。
    →コントローラーが
       クラスとなるか(Struts,Actionクラス)
       メソッドとなるか(CakePHP,Zendなど)
     は、フレームワークやアーキテクチャによる
   これで、アーキテクチャに基づいたクラス、メソッド割がきまる。

(6)そして、クラスから、何を呼び出すかという、呼び出し関係と
   メッセージ(引数)を、シーケンス図に描き、

(7)状態遷移は、遷移図(ステートマシン図)に書ける


これを、Astahでやると、どうなるかについて書く。

また、詳細設計に相当するところはどこに書いて、
どの後どうするかについても、書いてみたい・・・

が、長くなるので今日は、(1)、(2)くらいまで




■御題。

 アンケートサイトを作り、集計するとする。
 アンケートの内容は、以下のとおり


・緊急アンケート
・問1
 あなたは、卵かけご飯を食べたことがありますか
   A:ある
   B:ない → 問4へ、進んでください

・問2
 あなたは、卵かけご飯は、危険な食べ物だと思いますか?
   A:思う
   B:思わない

・問3
  以下の記事を読んでください

日本の「卵かけ御飯」が「絶対に危険な食べ物」に選ばれる…中国
http://blog.livedoor.jp/dqnplus/archives/1758248.html

 あなたは、卵かけご飯は、危険な食べ物だと思いますか?
   A:思う
   B:思わない

・問4 あなたの性別について答えてください
   A:男
   B:女
   C:その他

・問5 あなたの年齢層について答えてください
   A:10歳未満
   B:10代
   C:20代
   D:30代
   E:40代
   F:50代
   G:60代
   H:70歳以上


結果は、以下のように表示する

問1~問4まで:円グラフ
問5:棒グラフ

さらに、問3、問4については、思う、思わないをクロス集計




■まず、このシステムでしたいことと、それに関する人物
 (ステークホルダー)をユースケースで書く

 このシステム(アンケート)は、アンケートに回答してもらって、
集計する。当然回答する人と、集計する人がいる。
それを、ユースケースに書く。

なかんじ




■そのユースケースごとに、アクティビティを書く

 ユースケースは、2つ上がった
   ユースケース回答、
   ユースケース集計

 このユースケースごとに、ステークホルダーである登場人物が、どんな手順で
なにをするかを、アクティビティ図に描く。
 ステークホルダー(集計する人、回答する人)は、それぞれ、レーンになる。
 また、後作業のため、システムも入れておこう。
 こんなかんじ。

<<アンケート回答>>


<<アンケート集計>>





■そのアクティビティ図に入出力画面とかを入れる

 アクティビティ図に入出力画面やDBのデータ、帳票などを入れる。
 入れ方だが、

    ステークホルダーから、システムにいくには、
      何らかのイベントを起こすはずである=ボタンなど
      多くの場合、データを保存する

    システムからステークホルダーに行くときは、
      画面表示、帳票表示など、何らかのデバイスへの出力をするのが普通
      出力するため、データを入力することが多い

  これをもとに、オブジェクトノードを追加する。

<<アンケート回答>>


<<アンケート集計>>




■次回は・・・

 このオブジェクトノードをクラスにしていく。

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

FPGAと3Dプリンターで、カスタムロボットが作れる時代になるかも・・・

2013-04-15 18:37:48 | Weblog
今日の2つのエントリ

新たな情報メディアとしての、ロボット
http://blog.goo.ne.jp/xmldtp/e/9224784ecacf8c3e67914324c3207b4a



3Dプリンタ40万の(サイエンスZEROの)と、6万程度の組み立てキット
http://blog.goo.ne.jp/xmldtp/e/0606a849c252cc198d5f5b7452bb1631


それと、

ペアプロの相手が理想の初音ミクみたいなのが、ソフトウェア工学の将来像
http://blog.goo.ne.jp/xmldtp/e/df1dfe82505ad9aaa1ae468f1dc83a01

に関連した話。




この話の帰結として、3Dプリンターでロボットが作れるかもしれない
ということになる。モーターの部分は別に買うとしても、
外側の部分は、プラモデルみたいにして、作れるかもしれない。

そして、それを動かす人工知能部分は、FPGAで作るとすれば、

・秋葉原で、FPGAボードと、モーターその他の部品を買ってきて、
・外観と人工知能部分はWebで落としてきて、
・人工知能部分はFPGAにダウンロードした内容をUSB経由で書き込み
・外観部分は3Dプリンタで作成
・それらをプラモデルみたいにあわせて、ロボット出来上がり

となる。外観や人工知能部分は、デジタルデータなので、いろいろとカスタマイズが
可能である。




そして、それらのロボットはクラウドとつなげて、遠隔地のロボットと交信したり、
クラウド上で、情報検索や複雑な処理がいろいろできるようにしたりする。

こうなってくると、そのロボットは、開発の役割を、いろいろ担ってくるわけだ。
コーディング内容のチェックはもちろん、
開発者の人々すべて、ロボットを持っていると、そのロボット同士で、会話して、
協調作業を行う(仕様変更の打ち合わせ、チェックとか)
ドキュメントの更新とかも、そのロボットがテキトーにやってくれる。

そんな小型ロボット(フィギュア?)が出てくるんじゃないかなと想像している。
その辺が次のソフトウェア工学のネクストステップだろう。


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

新たな情報メディアとしての、ロボット

2013-04-15 15:24:36 | AI・BigData
情報メディアというと、現在は、テレビ、そして最近はPCやスマートフォンなどという
イメージではないだろうか?
実は、デジタルサイネージなども、そうだし、「情報」メディアはデジタルでなければならないという
定義はないので、デジタルでないサイネージ=看板や、マネキンまでも入るかもしれない。

そうやって考えると、ロボットなども将来的には、メディアになる可能性がある

これは、

ヒト型ロボットはメディアになる(前篇)
http://wedge.ismedia.jp/articles/-/822

などでも書かれていることだけど、

たとえば、いろんなところにロボットがあって、それが
1箇所のコントローラーから操作できたら、
各ロボットは、コントローラーの操作を伝える情報メディアに
なるということになる。

だから、ロボットが情報メディアになる可能性がある。
一家に一台ドラえもんがいたとして、そのドラえもんが
放送局のニュースを伝えたり、歌手の代わりに歌ったり、
浅田真央さんのかわりに滑ったら?
そのドラえもんは情報メディアである。





ただ、これは、マネキンのデジタル化とも考えられる。
そう考えると、そんなに新しい発想ではないかもしれないが、
マネキンと違うのは、状況に応じて反応すること、
これがひとつ。

もう一つ、「一家に一台ドラえもん」の世界になってくると、
カスタマイズの話が入ってくる。
この話は、長くなるので、一旦ここで切る。

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

3Dプリンタ40万の(サイエンスZEROの)と、6万程度の組み立てキット

2013-04-15 12:04:41 | トピックス
昨日の、サイエンスZERO

3Dプリンター「魔法の箱」の真骨頂!
http://www.nhk.or.jp/zero/contents/dsp422.html


すげ~、あれじゃあ、切削機って、要らなくなるよね。
なんでも作れるんだ・・

あれだけあれば、コップもお皿も機関銃でも何でも作れるし、
フィギュアとかも、簡単に作れてしまうのですね。
試作機や、モックも簡単に作れそう。

ロボットとかも、作れそう・・・

知り合いの先生が、3Dプリンタ買った!と
Facebookに書いていたけど、
それも納得。

そういえば、情報処理学会の雑誌、「情報処理」でも、
取り上げられていたなあ~

水本武志,粟野皓光,坂東宜昭:夏休み自作自習:1. 3Dプリンタで遊ぼう
情報処理 Vol53 No8,pp810-815,情報処理学会(2012)





で、番組では、そんな3Dプリンタが40万円という話がでていたけど、
これのこと?

超低価格の3Dプリンター BFB 3D Touch。シングルヘッドは35万円から。ABS・PLAでお手軽立体化!
http://systemcreate-inc.co.jp/products/degitald/rapid/bfb.html

うん、外観が、サイエンスZEROで出ていたのと同じだ・・

ちなみに、6万円のものもあるらしい

3Dプリンターを安く組み立てる 「Lunavast Prusa 3Dプリンターキット」
http://gadget.itmedia.co.jp/gg/articles/1202/07/news075.html


具体的には、こちら!

3Dプリンター LUNAVAST ルナヴァースト
http://lunavast.com/?pid=39241828



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