いきなりの総括開始宣言。

久しぶりの更新です。
忙しかったりGWなどで間が開きました。1度開くと再現が無いですね。今回のエントリーは各人の1度目のクラス図の感想とか、2回目の分析工程としてのクラス図を書くべきなのですが、、、1ヶ月のコードレビュー、そして、4月からの開発について、まとめをしようと思います。もともと、どういう感じであればよいか少人数でとりあえずやってみようという意味もありましたし、又、メンバーが仕事で暫く遠くへ行くので今までのように続けることは不可能なるので、一旦、今までの事を各人がまとめ、火曜に今後についてを皆で纏めます。間が開いてある程度覚めた頭になったといことも、結果キリが良いわけですし。せっかくOpenに情報を公開しているので、コメントもあればどうぞよろしくお願いします。
後は、各人のエントリーにて。

レビューの仕方を考える。

Oさんからレビューについて考えようとコメントがありました。

あと一点レビューについて考えることがあるな、と。ソフトのレビューのやり方ていくらでもあると思うのだけど、どういうやり方が一いいのかね??
以前やったコードレビューみたいに、バグだしのみを行うレビュー(ウォークスルー)のようなこととかやってみたいです。毎回うちらがやっているレビューって GUIのレビューなのか基本設計のレビューなのかよくわからない、と感じることが多々あるんだよね。参加者のコメントがあちらこちらに飛んだり、何の目的でレビューを行っているのかと。まあそいう文化(ソフト開発に無頓着?)なのだろうけど、これからはなおしていきたいな、と個人的に思ってます。(レビューの目的、参加者の担当、レビューの結果を明確にするとかね)。
と言いたいことを書きました。

ので、やりたいこととか、反省点とか、エントリー書くより手軽かなと思ったのでレビューについてコメントできるエントリーを用意しました。(エントリっても良いよ。)

続きを読む

半身浴の研究

ところで、真面目に書きすぎで突っ込めないっていう意見が出てたので、1,2年前に)エントリーに新たな研究成果を加え投下することによって雰囲気を変えてみる。全くシステムとは関係ないけど、って、そもそもベクトルが違うって!?
いやいや、「温故知新」、「愚者は経験に学び、賢者は歴史に学ぶ」、そこには何か学ぶべきものがきっとあるはずです。

続きを読む

うねうねの可視化

PLCプロジェクトのチャットの特徴として、会議室に乗り込めるというのがポイントです。なので、話題になっている事を誰もが覗けるのです。bolgや動画やスレに、喋りたい人、見たい人が自由に参加できるように。

どの話題を見ている人が他のどの話題を掛け持ちしているか、可視化すると面白いでしょうね。下記のサービスのように。

http://www.fmp.jp/~sugimoto/mixiGraph/
http://bkv.so-net.ne.jp/

実際に会話している人、一言だけ残す人、ROM、そして、その話題のキーワードが分かれば、活発な議論がされているとか、炎上しているとか、講義的なものが行われているとか、色々分かり便利でしょうね。
そして、そのネットワークがリアルタイムにうねうねと生物的に変化するのを見るのが面白いでしょうね。うねうね。うにょうにょ。ぐにょぐにょ。

もうあるかもしれんけどね。

宿題と出すタイミング

宿題とかあったとして、それに込めた価値が自分にとって少ない損失で、提供できるか?また、皆にとって新しい情報を提供する機会を逸しないかについて。


宿題とかアイデア募集をした時、打ち合わせ前に一旦全て1箇所にまとめた方が良い。
順次出していく方法だと、話の盛り上がりや流れによって、出す機会を逸することがある。また、会の大半をその理解に費やしてします。


事前に1箇所にまとめて各人が観覧できれば、理解の促進や課題の発見が前もって分かり会がスムーズに運ぶと思われます。紹介の順番などによる評価変化や機会の平等化もより良くなると思われます。


でも、時間が無かったり理解の仕方によっては各人の意識に相違があるので、会の冒頭で考えを共有する工程が必要無いということにはならないのだけれど。それでも、効率は上がるでしょう。物事が複雑になったり大きくなったりすれば、より。

まあ、人数が多くなると、情報を纏めたり間引いたりする必要が出てくるでしょうが。


lino - 付箋と写真を共有しよう!が便利

PLCの開発 その04 シーケンス図

というわけで前回アプリの共通イメージを構築しました。
さてシーケンス図ですが、

オブジェクト間のメッセージの流れを時系列的に表現することが可能である。
シーケンス図 - Wikipedia

となっています。では、前回のイメージからログインという機能をシーケンス図にしてみます。

時系列ということで、操作の流れを思い描きます。まず、ユーザがメイン画面のログインボタンを押します。次に、メイン画面はユーザをログイン状態にして、ユーザがオンラインに更新された参加者リストが出来上がるので、これをメイン画面の参加者リストに表示させます。

さて、メイン画面はユーザがログインするという情報をPLCに書き込まないといけません。この時、ユーザの操作を受けたり情報を表示したりするメイン画面がログインや参加者リストの表示等の他に、PLC関連の操作も担うと色々な機能がこんがらがることになります。あれもこれも色々な機能を持つと何をやっているものかわからなくなります。様々な機能が1つのところにあると、様々な機能が相互に影響しあって、どれかが駄目になったら他も一緒に駄目になってしまう腐った蜜柑理論で割れ窓理論なものになってしまいます。
ということで、PLC関連の操作を行う、PLC操作部を用意しました。PLC操作部はPLCへの操作の窓口にします。PLC操作部はPLCへの色々な処理を一手に引き受けます。一方、メイン画面はユーザの操作の窓口になります。

以上を整理すると、、、

  1. メイン画面はユーザからログインしたいという処理を受け付けます。
  2. メイン画面はユーザの情報をログインするものとしてPLC操作部に渡します。
  3. PLC操作部は参加者リスト情報を保存する場所にユーザ情報を追加します。
  4. PLC操作部は新しくなった参加者リストを取得しメイン画面に渡します。
  5. メイン画面は受け取った参加者リストを表示します。

できたのが以下です。

メイン画面とPLC操作部という"オブジェクト:矩形"を作りました。

そして初めにユーザがメイン画面のログインボタンを押すという操作を行います。メイン画面がログインを行う"メッセージ:水平線"をPLC操作部に渡します。PLC操作部はこのメッセージを受け取ると更新された参加者リストをメイン画面に"返します"(リターン:水平破線)。


他のシーケンス図も全部貼り付けます。

続きを読む

PLCの開発 その03 共通イメージの構築

今回の予定はシーケンス図の作成でしたが、どういう感じで何をオブジェクトとして描けば良いかがわからない、という問題が持ち上がりました。
そもそも、作るものに対してある程度イメージを共有していないと相手が何を言っているのかわからなったり、食い違いが起きるので、UMLを書いたとしても各人であまりに幅の広いものができとり止めがなくなると思われます。つまり、分析する取っ掛かりが無く、実際に使う操作感やスタイルは伝わり難く、逆にそのスタイルを実現するための分析、設計も作れないと思われました。そこで、会の始めにホワイトボードで簡単にイメージを固めたました。その上でUMLを書くことである程度共通な部分が出てくるでしょうし、違う部分が出てくるはずです。これを考えることで曖昧なイメージを具体的なモデルに落とし込むことができると思います。ある程度、規模にしても、スタイルにしても範囲を絞ることで、考える土台ができると考えました。
ということで、今回はシーケンス図作成の前段階として、基本機能(設定などは於いておく)のイメージを説明することにします。


1:メイン画面

  • 立ち上げて、ログインすると図のように参加者リストが表示されます。
  • 参加者リストには個人と会話のグループが表示されます。
  • 個人は現在その人かオンラインかオフラインかを知ることができます。
  • グループは自分合わせて2人以上の参加者が有る場合、つまり、会話をしている組が表示されます。グループには参加している個人がぶら下がります。


2:会話画面

  • メイン画面の参加者リストで個人やグループを選択すると会話画面が開きます。
  • グループを選択した場合、今までに話されてた会話を表示します。
  • 会話に参加させたいオンラインの個人を追加させることができます。
  • ウィンドウを閉じると会話のグループから抜けることができます。2人の会話であった場合はグループが解散されます。


社内で使用するということで、誰が話をしているかをオープンにしています。グループからの誘われる以外に、自らグループに参加できるようにします。途中参加でも会話の流れが分かるようにlogを表示します。これによって、情報の行き来を円滑化したいと思います。しかし、密かに話したい場合もあると思いますので、パスワードや人数を設定することで、クローズドなグループを実現することも考えられます。


このようなイメージを元に、基本機能のシーケンス図を考えました。結果は次回のエントリーになります。