2018年10月27日土曜日

抽象化をツリーで表現してセットベース開発へ!

SWEST20参加で大きな収穫の1つ

抽象化を考えるツールとしてツリーを活用する!

フィーチャーモデルを活用したという事ですが、
形式に拘らず、単純にツリーで表現する事に意義がありそうです。

早速、社内でも演習を実施してみたところ、
ツリーとして出力する、見える化する事で、
考えがまとまっていく感じです。

という事で、
以下、ツリーで見える化(表現)する事の効果を5つほど紹介します。
(現時点で感じた事です)

1)自身の考え(抽象化)を整理する事に活用出来る
2)抽象化のポイントが分かり易い(クラス図より分かり易いかも?!)
3)考えをマネし易い
4) 横か縦かで決まる?
5)実装と概念の中間(ここがポイントかも?!)

5つを1つずつ説明します。

1)自身の考え(抽象化)を整理する事に活用出来る
 まずはツリーを書いてみる。
 そこから整理して、何度か書き直す事で
 視点を変えて見直す事で、気になる点、気にすべき点が見えてきます。
 ツリーという単純な図なので、
 どんなツールでも記載出来ますし、何度も書く気になります。
 考えを整理するのにお手軽なのに効果的です。

2)抽象化のポイントが分かり易い(クラス図より分かり易いかも?!)
 例えば2つの設計案をクラス図で作成した時に
 2つの違いを明確にするのって意外と難しい。
 ツリーだと誰にでも分かる。
 例えば、ツリーだとデザインパターンを知らない人にも
 抽象化のポイントが分かり易い。(と思う)
 そして、何より違いが分かり易い事は
 セットベース開発への可能性を感じました!
 セットベース開発にはツリーで設計案を比較すると効果的な気がします。
 (今後検証していきます!)

3)考えをマネし易い
 ツリーなので人のマネがし易い
 ベテランのツリーをマネて作成する事が出来る。
 自分で書く事で、考え方をマネする事にもなり、
 若手の育成にも効果がありそう
 クラス図をマネるのとは違う何かがある感じ。
 以降の5と関係するのかな?!

4) 横か縦かで決まる?
 大きくは、横に広がる形が抽象度が高くなる傾向かと
 下に深くなるのは抽象度が低くなる傾向かと。
 下に深くなる場合は、フローチャート思考というか、
 処理の順番を意識している事が多い気がします。

 ただし、単純に横に広げれば良いわけでは無いので、
 このあたりを整理出来ると、育成には効果を発揮しそうです。
 感覚的には、ただ横に広げている人とそうでない人は分かりますが、
 それを表現するのは難しい…(整理が必要なのです)
 
5)実装と概念の中間(ここがポイントかも?!)
 クラス図だと  ”実装より” か ”概念より” かのどちらかになる気がしています。
 私自身は、これまで2つを必ず作成していましたが
 なかなか伝わらない事がほとんどでした。
 しかし、ツリーだと ”実装より” にはなりません。
 ”概念より” になるかと思ったのですが、
 実際の機能名などをそのまま図に入れるので、
 概念とは違い、少し詳細化する感じです。
 なので、タイトル通り、実装と概念の中間な感じです。
 このあたりが抽象化を考えるポイントなのかもしれません。
 

0 件のコメント:

コメントを投稿