ブランコの比喩はどこから来たのか / Where did the swing metaphor come from
by
Kazuki Higashiguchi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© - BASE, Inc. X ブランコの⽐喩は どこから来たのか 2019.9.25 第142回PHP勉強会 #phpstudy - @hgsgtk
Slide 2
Slide 2 text
© - BASE, Inc. よくみるブランコの⽐喩 https://tech.nikkeibp.co.jp/it/article/COLUMN/ / /
Slide 3
Slide 3 text
© - BASE, Inc. • どこからこの⽐喩が⽣まれたかご存知で すか? • ブランコの⽐喩の出⾃からソフトウェア 設計の歴史を⾒ていきます よくみるブランコの⽐喩
Slide 4
Slide 4 text
© - BASE, Inc. : @hgsgtk var_dump($hgsgtk); 東⼝ 和暉 ( Higashiguchi Kazuki ) Back-end Engineer (Go, PHP, Python ) BASE BANK, Inc. (BASE, Inc.) / Dev Division / Tech Lead
Slide 5
Slide 5 text
© - BASE, Inc. • 時間の都合上、歴史を厳選ピックアップ してお届けしています 本資料の注意事項
Slide 6
Slide 6 text
© - BASE, Inc. 本トークの構成について • 序章:ブランコの⽐喩 • 第⼆章:クリストファー‧アレグザン ダーの理論 • 第三章:ソフトウェア設計への展開 • 終章:まとめ
Slide 7
Slide 7 text
© - BASE, Inc. Special Thanks: http://gihyo.jp/magazine/wdpress/plus/ - - - -
Slide 8
Slide 8 text
© - BASE, Inc. 本トークの構成について • 序章:ブランコの⽐喩 • 第⼆章:クリストファー‧アレグザン ダーの理論 • 第三章:ソフトウェア設計への展開 • 終章:まとめ
Slide 9
Slide 9 text
© - BASE, Inc. よくみるブランコの⽐喩 https://tech.nikkeibp.co.jp/it/article/COLUMN/ / / “ユーザーは⾃分が本当に必要とする要件について 正しく表現できない。 ユーザーからの要求事項は絶対ではない。”
Slide 10
Slide 10 text
© - BASE, Inc. よくみるブランコの⽐喩 https://tech.nikkeibp.co.jp/it/article/COLUMN/ / /
Slide 11
Slide 11 text
© - BASE, Inc. 書籍『オレゴン⼤学の実験』 著者: クリストファー‧ア レグザンダー 1975年に原著出版 オレゴン⼤学で著者が試 みた、建築‧計画に対す るアプローチをまとめま たもの https://www.amazon.co.jp/dp/
Slide 12
Slide 12 text
© - BASE, Inc. ブランコの⽐喩 https://www.pinterest.com/pin/
Slide 13
Slide 13 text
© - BASE, Inc. 掲載されたブランコの⽐喩のマンガ • 建築業界における各領域の専⾨家と利⽤ 者との理解の齟齬を批判的に⽰したの が、ブランコの⽐喩 • アレグザンダー⽒のオリジナルではない • カリフォルニア⼤学バークレー校の研究 所のドアによく貼られていたもの
Slide 14
Slide 14 text
© - BASE, Inc. 序章まとめ • ブランコの⽐喩は、建築業界を出⾃とし ている • では、ソフトウェア業界‧建築業界がど う繋がって現在に⾄ったのか
Slide 15
Slide 15 text
t t 令和PHPer
Slide 16
Slide 16 text
© - BASE, Inc. 本トークの構成について • 序章:ブランコの⽐喩 • 第⼆章:クリストファー‧アレグザン ダーの理論 • 第三章:ソフトウェア設計への展開 • 終章:まとめ
Slide 17
Slide 17 text
t t 令和PHPer
Slide 18
Slide 18 text
© - BASE, Inc. クリストファー‧アレグザンダー 1936年ウィーン出⾝の都 市計画家‧建築家 建築‧都市計画の理論と して、「パタン‧ラン ゲージ」を提唱 https://en.wikipedia.org/wiki/Christopher_Alexander
Slide 19
Slide 19 text
© - BASE, Inc. アレグザンダー⽒の思考の変遷 • 「⼈が⽣きるに値する暮らしを送れる」 環境を提供すること、この⼀点を⽬指し て構築してきた • その中で、⻑い研究⽣活の中で幾度も考 えを変化させている 参考書籍 ⻑坂 ⼀郎 著 『クリストファー‧アレグザンダーの思考の軌跡―デザイン⾏為の意味を 問う』
Slide 20
Slide 20 text
© - BASE, Inc. 主な著書‧論⽂ • 1964年 『形の合成に関するノート』 • 1965年 『都市はツリーではない』 • 1975年 『オレゴン⼤学の実験』 • 1977年 『パタン‧ランゲージ』 • 1979年 『時を超えた建設の道』
Slide 21
Slide 21 text
© - BASE, Inc. 1964年 『形の合成に関するノート』 https://www.amazon.co.jp/dp/ X
Slide 22
Slide 22 text
© - BASE, Inc. 設計プロセスの数学的な形式化 • 設計という⾏為を理論化する研究 • 良い設計=なるべく多くの条件を満たす 形態を探し当てる • 数学的なアプローチで解ける問題へ還元
Slide 23
Slide 23 text
© - BASE, Inc. やかんの例 http://www.girlwonder.com/tag/cybernetics
Slide 24
Slide 24 text
© - BASE, Inc. 数学的に扱うアプローチ . 要求条件を洗い出し細分化する • 要求条件の集合全体を「システム」と呼ぶ . 条件間の関係性を検討し、すべての条件について 他の条件との関係性を洗い出す . それぞれの条件が適合している/していないとい う2値で取ると数値の集合として数学的に扱える
Slide 25
Slide 25 text
© - BASE, Inc. 条件間は複雑に絡み合うためツリー構造へ . 要求条件を洗い出し細分化する • 要求条件の集合全体を「システム」と呼ぶ . 条件の関係を吟味、互いに影響を与えうる条件だ けを集めて「サブシステム」とする . サブシステムで更に分割し、より⼩さなサブシス テムへ . 全体の構造をシステム‧サブシステムの親⼦関係 (ツリー構造)に還元していく、トップダウンな アプローチ
Slide 26
Slide 26 text
© - BASE, Inc. やかんの例 http://www.girlwonder.com/tag/cybernetics
Slide 27
Slide 27 text
© - BASE, Inc. https://www.sfgate.com/travel/resources/transit/article/The-location-of-a-historic-BART-meeting- was-a- .php 1964年 ベイエリア⾼速鉄道の計画 ※ 当時の写真ではありません
Slide 28
Slide 28 text
© - BASE, Inc. 1964年 ベイエリア⾼速鉄道の計画 でわかった問題点 • 要求分析をし、390個の要求分析をし、ツリー構 造に分割 • 膨⼤な数のサブシステムになり、計算プログラム も巨⼤に • 予期しなかったサブシステム間の連携が⽣じる • ex. チケットブースの列が膨らむ→⼈の通⾏が妨 げられる
Slide 29
Slide 29 text
© - BASE, Inc. http://en.bp.ntu.edu.tw/wp-content/uploads/ / / -Alexander-A-city-is-not-a-tree.pdf 1965年 『都市はツリーではない』
Slide 30
Slide 30 text
© - BASE, Inc. 論⽂『都市はツリーではない』 • それまでの都市計画に対する批判 • それまでの都市計画によってできた都市を「⼈⼯ 都市」と呼ぶ、ツリー構造に還元される • ⾃然都市: ⾃然にできた都市 • 1つの場所が複数の役割を同時に担うセミラティ ス構造を持つ http://en.bp.ntu.edu.tw/wp-content/uploads/ / / -Alexander-A-city-is-not-a-tree.pdf
Slide 31
Slide 31 text
© - BASE, Inc. セミラティス構造とツリー構造 https://www.researchgate.net/figure/Semilattice-a-and-Tree-Structures-b-Source-A-City-is-Not-a- Tree- _fig _
Slide 32
Slide 32 text
© - BASE, Inc. セミラティス構造 • 重複を許すように分割するときに出来る構造 • 市⺠の活動はツリー構造には収まらない • ex. 仕事と週末、同じ地域で⾏うこともある • 都市は、セミレティス構造のまま扱わなければな らない
Slide 33
Slide 33 text
© - BASE, Inc. 1975年『オレゴン⼤学の実験』 https://www.amazon.co.jp/dp/
Slide 34
Slide 34 text
© - BASE, Inc. 建築‧計画を⾏うための6つの原理 . 有機的秩序の原理 (The principle of organic order) . 参加の原理 (The principle of participation) . 斬新的成⻑の原理 (The principle of piecemeal growth) . パターンの原理 (The principle of patterns) . 診断の原理 (The principle of diagnosis) . 調整の原理 (The principle of coordination) 書籍 Alexandar C 『オレゴン⼤学の実験』
Slide 35
Slide 35 text
© - BASE, Inc. 詳説:6つの原理 • 有機的秩序の原理 • 計画や施⼯は、全体を個別的な⾏為から徐々に ⽣み出していくようなプロセスによって導かれる こと • 参加の原理 • 建築内容や建設⽅法に関するすべての決定は利⽤ 者の⼿に委ねること 書籍 Alexandar C 『オレゴン⼤学の実験』
Slide 36
Slide 36 text
© - BASE, Inc. 詳説:6つの原理 • 斬新的成⻑の原理 • 各予算年度に企画される建築は、⼩規模なプロ ジェクトに特に重点を置くこと • パターンの原理 • すべての設計と建設は、正式に採⽤されたパター ンと呼ばれる計画原理の集合によって指導され ること 書籍 Alexandar C 『オレゴン⼤学の実験』
Slide 37
Slide 37 text
© - BASE, Inc. 詳説:6つの原理 • 診断の原理 • 各コミュニティ全体の健康状態は、コミュニティ の変遷のどの時点でも、どのスペースが⽣かさ れ、どのスペースが⽣かされていないか、を詳し く説明する定期的な診断に基づいて保護される こと 書籍 Alexandar C 『オレゴン⼤学の実験』
Slide 38
Slide 38 text
© - BASE, Inc. 詳説:6つの原理 • 調整の原理 • 全体における有機的秩序の緩やかな⽣成は、利 ⽤者の推進する個々のプロジェクトの流れに制 御を施す財政的処理によって確実なものとされ ること。 書籍 Alexandar C 『オレゴン⼤学の実験』
Slide 39
Slide 39 text
© - BASE, Inc. 1977年『パタン‧ランゲージ』 https://www.amazon.co.jp/dp/
Slide 40
Slide 40 text
© - BASE, Inc. パタン‧ランゲージ • 建築において繰り返し現れる構造を再利 ⽤しやすい形式にまとめたもの • 利⽤者と設計者の共通⾔語として使うこ とで、利⽤者が⾃分⾃⾝で建築の設計を ⾏い、本当に望んだ建築を実現できる⽤ になることを⽬指した 書籍 Alexandar C 『パタン‧ランゲージ』
Slide 41
Slide 41 text
© - BASE, Inc. 『パタン‧ランゲージ』の3つの部 • 「町」:都市の⼤きな配置を考えるため の⼤きなパターン • 「建築」:敷地の空間にどのように建物 を配置すべきかというパターン • 「施⾏」:建物の構造‧材料、柱‧壁、 床‧天井などの⼀つ⼀つの構造を決める ためのパターン
Slide 42
Slide 42 text
© - BASE, Inc. パタン‧ランゲージによる建築 • 部品を⽤意してつなぎ合わせるというわ けではない • 利⽤者と建築家をつなぐための⼯夫の集 積、そのための道具の⼀つ
Slide 43
Slide 43 text
© - BASE, Inc. 1979年『時を超えた建設の道』 https://www.amazon.co.jp/dp/
Slide 44
Slide 44 text
© - BASE, Inc. 『時を超えた建設の道』 • ⼀連の著作の背景理論を述べた理論書 • 「無名の質(QWAN: Quality Without A Name)」 • ⽣き⽣きとした建物や町が持つ特性
Slide 45
Slide 45 text
© - BASE, Inc. 第⼆章まとめ • 建築家アレグザンダーによる理論 • 建築‧計画するための「6つの原理」 • 「パタン‧ランゲージ」 • 「無名の質」
Slide 46
Slide 46 text
t t 令和PHPer
Slide 47
Slide 47 text
© - BASE, Inc. 本トークの構成について • 序章:ブランコの⽐喩 • 第⼆章:クリストファー‧アレグザン ダーの理論 • 第三章:ソフトウェア設計への展開 • 終章:まとめ
Slide 48
Slide 48 text
t t 令和PHPer
Slide 49
Slide 49 text
© - BASE, Inc. OOPSLA • Object-Oriented Programming, Systems, Languages, and Applications • オブジェクト指向に関するシンポジウム • 1986年 オレゴンにて第⼀回開催
Slide 50
Slide 50 text
© - BASE, Inc. アレグザンダー⽒の理論の適⽤の初め https://en.wikipedia.org/wiki/Ward_Cunningham https://en.wikipedia.org/wiki/Kent_Beck Ward Cunningham Kent Beck
Slide 51
Slide 51 text
t t 令和PHPer
Slide 52
Slide 52 text
© - BASE, Inc. パタン‧ランゲージへの興味 https://www.amazon.co.jp/dp/ Kent Beck⽒は、⼤学⽣のときに ⽣協でこの書籍を読んだそう
Slide 53
Slide 53 text
http://wiki.c .com/?SemiconductorTestSystemsGroup
Slide 54
Slide 54 text
© - BASE, Inc. パターンを使ったシステム設計の試み • システム利⽤者に最終設計をしてもらう • ユーザーインターフェースに関するパ ターン5つ収集 • パターンを使って設計してもらう
Slide 55
Slide 55 text
© - BASE, Inc. 1987年 “Using Pattern Languages for Object- Oriented Programs” http://c .com/doc/oopsla .html
Slide 56
Slide 56 text
© - BASE, Inc. Using Pattern Languages for Object-Oriented Programs • ユーザーインターフェースの設計をシステム設計 に取り込む • 旧来の設計⽅法論(構造化分析‧エンティティリ レーションシップ)は有効ではないという主張 • アレグザンダーのパタン‧ランゲージを取り⼊れ る
Slide 57
Slide 57 text
© - BASE, Inc. • Erich Gamma⽒がソフトウェアの設計 に繰り返し現れる構造に着⽬するように なる 繰り返し現れる構造への着⽬
Slide 58
Slide 58 text
© - BASE, Inc. 1988年 “ET++ - An Object-Oriented Application Framework in C++ “ http://citeseerx.ist.psu.edu/viewdoc/download?doi= . . . . &rep=rep &type=pdf
Slide 59
Slide 59 text
© - BASE, Inc. 1992年 “Documenting Frameworks using Patterns” / Ralph E. Johnson https://www.researchgate.net/publication/ _Documenting_Frameworks_Using_Patterns
Slide 60
Slide 60 text
© - BASE, Inc. 1994年 GoF (Gang of Four) • 1992年 OOPSLAで、Erich Gamma、Richard Helm、Ralph E. Johnson、John Matthew Vlissides の4⼈組が顔合わせ • 1994年10⽉、書籍『オブジェクト指向における再 利⽤のためのデザインパターン』を発表 • ソフトウェア設計において繰り返し現れる構造を パターンとしてまとめる
Slide 61
Slide 61 text
© - BASE, Inc. 1996年~ C プロジェクト • C: Chrysler Comprehensive Compensation project • 1996年、Kent BeckがChrysler社に呼ばれる • COBOLで書かれた給与計算プログラムを Smalltalkに置き換えるプロジェクト • これまでのコミュニティのパターンを徹底的に実 践
Slide 62
Slide 62 text
© - BASE, Inc. C プロジェクトで実践されたプラクティス • Unit Testing • Integration, Relentless Testing • Short Iterations • YAGNI (You’re NOT gonna need it!) • Code Ownership • Pair Programming • etc
Slide 63
Slide 63 text
© - BASE, Inc. 1999年 『XP エクストリーム‧プログラミング⼊⾨』 • Kent Beckによる発表の書籍 • 良いとされている⾏動指針を極端なまで に実践してみようという発想 • C プロジェクトで培ったプラクティス をまとめた
Slide 64
Slide 64 text
© - BASE, Inc. 第三章まとめ • アレグザンダーのパタン‧ランゲージの 取り組みをソフトウェア設計に取り⼊れ る試み • GoF デザインパターン • XP
Slide 65
Slide 65 text
t t GoF 令和PHPer XP
Slide 66
Slide 66 text
© - BASE, Inc. まとめ • 序章:ブランコの⽐喩 • 第⼆章:クリストファー‧アレグザン ダーの理論 • 第三章:ソフトウェア設計への展開 • 終章:まとめ
Slide 67
Slide 67 text
© - BASE, Inc. まとめ • ソフトウェア開発は⼤きく建築設計の理 論に影響を受けている • デザインパターン‧XPは、Kent Beck とその周辺コミュニティが起こしたムー ブメントであり、アレグザンダーの思想 をプログラミングの世界に持ち込む試み
Slide 68
Slide 68 text
© - BASE, Inc. パタン‧ランゲージとの対応 • 「町」 ≈ アーキテクチャ • ex. Layers, MVC etc • 「建築」 ≈ GoFのデザインパターン • 「施⾏」 ≈ 各⾔語での実装パターン • ex. Smalltalkベストプラクティスパターン 書籍 江渡 浩⼀郎. パターン、Wiki、XP 時を超えた創造の原則
Slide 69
Slide 69 text
© - BASE, Inc. アレグザンダーの6つの原理とXP . 有機的秩序の原理 ≈ ストーリー . 参加の原理 ≈ 実顧客の参加 . 斬新的成⻑の原理 ≈ インクリメンタル設計‧配 置 . パターンの原理 ≈ ストーリー . 診断の原理 ≈ 常時結合‧テストファーストプロ グラミング . 調整の原理 ≈ 根本原因の分析 書籍 江渡 浩⼀郎. パターン、Wiki、XP 時を超えた創造の原則
Slide 70
Slide 70 text
© - BASE, Inc. この流れを知って • 単純にプラクティスとして覚えて実践す るよりも、その背景にどういう成り⽴ち があるか知ると、かけがえのない歴史の 積み重ねの結果だと分かる
Slide 71
Slide 71 text
© - BASE, Inc. よくみるブランコの⽐喩 https://tech.nikkeibp.co.jp/it/article/COLUMN/ / /
Slide 72
Slide 72 text
© - BASE, Inc. Special Thanks • 〈建築理論研究 07〉──クリストファー‧アレグ ザンダー『形の合成に関するノート∕都市はツ リーではない』『パタン‧ランゲージ』 • http:// plus .jp/monthly/ / /- .php
Slide 73
Slide 73 text
© - BASE, Inc. おしまい