優れたデザインにとってコンセプトが重要な理由
https://www.maruzen-publishing.co.jp/book/b10122074.html
https://gyazo.com/afee7dda74cd54a3ea6c192ae4c132f3
電子書籍出してくれ〜〜〜〜〜
/pintcle-books/優れたデザインにとってコンセプトが重要な理由
/mrsekut-p/『優れたデザインにとってコンセプトが重要な理由』
コンセプトとは何か、という説明自体が、少ない
コンセプト、概念 の概念を説明するのはもちろん難しいから、仕方のないことではあるが
第四章、コンセプトの構造 でのまとめにこうある
コンセプトの定義には以下を含む
名称
目的
状態
動作
操作の原則
このような概念を「概念」と呼ぶのは、かなり正しい
しかし、広義の、一般的な用語での概念と、この意味での概念は、少しスコープが違うのでは?
"コンセプトモデリング"とでも呼べそうな手法だろうか
というか、この記述自体がかなりAlloy風なのだろうか?
ステートマシンの記述は、自然言語として読まれることを想定してるだろう。だからAlloyについては知る必要はない
本当に、知らないで理解できるようになっているかは怪しさも少しある
従来のDDD等
これらと関連付けて考察することは可能だが、
異なる部分も多いので、この本で言う「コンセプト」はそれ自体で考えるべき
とくに、コンセプトはユーザに露出するものなので、隠蔽などは実質的に存在しないことが大きい
この点で、従来のソフトウェア開発でのモジュール化と異なる
また、コンセプトに目的を1つだけ紐付ける、特異化原則も制約として強く、かつ考える手立てとしても強力か
しかし、「コンセプトの目的」を適切に定めるのが難しくなる
コンセプト、というものはステートマシンとして考えているはず
ステートマシンは、プログラム未満な存在としてちょうどいい
実装よりも手前の段階で分析が進められているのが良い
ステートマシンは、実際の実装よりも"ソフト"と言える
ノートを省いて読み切った
ノートを除外したらすぐ読めていいね
実用性
高そうであるが、Domain Modeling Made Functionalほどの即効性は無い
筆者は、「コンセプトでソフトウェア開発を設計する」という手法を提案している
おそらく筆者の中では、すでにある程度このノウハウが生まれている
しかし、読者がすぐにできるような方法論、指針がない
ある種、これは「発想」みたいな部分があり、伝えづらいのでは?
本の最後が、これからどう考えていくべきかの提案があるのもそういうことだろう
いや、でもコンセプトを振る舞い(action)から考えつつ、そこから状態(state)も考えると、適切なドメインモデルも見出しやすい、ということは書かれてて、そこは実用性が高そうだ
コンセプト名索引
これを眺めて、こねくり回すのは良いかもしれない
コンセプトとは何かを考える手がかり
本自体やノートにも色々書いてある
ステートマシンとする
目的を一つ定める
目的の分析
ゴールとは違うのか?
使命?
ーーーー
日本語での言及はこれだけ
増田氏のツイート
@masuda220: Alloyのダニエル・ジャクソン氏の The Essence of Software が翻訳されたのか。ちょっとびっくり。考え方としてはおもしろいんだけど、いろいろ難しい本。
https://t.co/ZfG4QyyrNG
@masuda220: この本が面白い。いままでのさまざまなソフトウェア設計の方法論を幅広く取り上げつつ、「概念(コンセプト)」を設計の中心に据えたデザイン論を展開している。個人的には本論よりノートの内容のほうが興味深い。
優れたデザインにとってコンセプトが重要な理由 https://t.co/ENZDCTsU8R
"The Essence of Software"が提唱する全く新しいソフトウェア設計の考え方|Idein株式会社
https://essenceofsoftware.com/
記事があるな
これは読むべき
https://essenceofsoftware.com/tutorials/
https://www.goodreads.com/book/show/58885974-the-essence-of-software