Files
softwaredesign/raw/book/EssenceOfSoftware_Eng/concepts-301-328/concepts-301-328.md
minsung 81a4d0a2fe feat: Essence of Software wiki 컴파일 + raw 원본 추가
raw/book/EssenceOfSoftware_Eng/ — Daniel Jackson (2021) 원본 11개 폴더 추가

wiki/sources/ EOS 챕터별 한국어 페이지 8개:
- EOS-overview: 전체 개요, 설계 3수준, 핵심 원칙
- EOS-part1: Ch1-3 동기 (Backblaze/Dropbox 사례, 개념 역할)
- EOS-ch4: 개념 구조 (5요소: 이름·목적·상태·행동·운영 원칙)
- EOS-ch5: 개념 목적 (좋은 목적 4기준, 미스피트 사례)
- EOS-ch6: 개념 조합 (동기화, 시너지, 과잉/과소 동기화)
- EOS-ch7: 개념 의존 (의존 다이어그램, 제네릭 개념)
- EOS-ch8: 개념 매핑 (다크 패턴, UI 매핑 딜레마)
- EOS-part3: 원칙 Ch9-11 (특정성·친숙성·무결성)

wiki/index.md Sources 섹션 EOS 8개 등록, wiki/log.md 기록

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 15:04:06 +09:00

62 KiB
Raw History

references

  • [34] Edsger W. Dijkstra. On the role of scientic thought (EWD 447). 1974. At hp:// www.cs.utexas.edu/users/EWD/ewd04xx/EWD447.PDF. Also in: Edsger W. Dijkstra, Selected Writings on Computing: A Personal Perspective, Springer-Verlag, 1982, pp. 6066.

  • [35] Edsger W. Dijkstra. On anthropomorphism in science (EWD936), 25 September 1985. At hps://www.cs.utexas.edu/users/EWD/transcriptions/EWD09xx/ EWD936.html.

  • [36] Edsger W. Dijkstra. e tide, not the waves. In Beyond Calculation: e Next Fiy Years of Computing, Peter J. Denning and Robert M. Metcalfe (eds.), Copernicus (Springer-Verlag), 1997, pp. 5964.

  • [37] Kieran Egan. e Educated Mind: How Cognitive Tools Shape Our Understanding. e University of Chicago Press, 1997.

  • [38] Eric Evans. Domain-Driven Design: Tackling Complexity in the Heart of Soware. Addison-Wesley, 2004.

  • [39] Rolf A. Faste. Perceiving needs. SAE Journal, Society of Automotive Engineers, 1987.

  • [40] Robert W. Floyd. Assigning meanings to programs. Proceedings of Symposia in Applied Mathematics, Vol. 19, 1967, pp. 1932.

  • [41] James D. Foley and Andries van Dam. Fundamentals of Interactive Computer Graphics. Addison-Wesley Publishing Company, 1982.

  • [42] Martin Fowler. Analysis Paerns: Reusable Object Models. Addison-Wesley Professional, 1997.

  • [43] Richard Gabriel. Designed as designer. 23rd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA '08), Oct. 2008.

  • [44] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Paerns: Elements of Reusable Object-Oriented Soware. Addison-Wesley Professional, 1994.

  • [45] Joseph A. Goguen and Malcolm Grant (eds.). Soware Engineering with OBJ. Springer, 2000.

  • [46] omas R. G. Green. Cognitive dimensions of notations. In A. Sutclie and L. Macaulay (eds.), People and Computers. Cambridge University Press, pp. 443460, 1989.

  • [47] omas R. G. Green and Marian Petre. Usability analysis of visual programming environments: a 'cognitive dimensions' framework. Journal of Visual Languages & Computing, June 1996.

  • [48] Saul Greenberg and Bill Buxton. Usability evaluation considered harmful (some of the time). Proceedings of Computer Human Interaction (CHI 2008), Apr. 2008.

  • [49] Carl A. Gunter, Elsa L. Gunter, Michael Jackson and Pamela Zave. A reference model for requirements and specications. IEEE Soware, Vol. 17:3, May 2000, pp. 3743.

  • [50] John Guag and J. J. Horning. Formal specication as a design tool. Proceedings of the 7th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '80), 1980, pp. 251261.

  • [51] John V. Guag and James J. Horning. Larch: Languages and Tools for Formal Speci cation. Springer, 1993 (reprinted 2011).

  • [52] Michael Hammer and Dennis McLeod. Database description with SDM: A semantic database model. ACM Transactions on Database Systems, Vol. 6:3, Sept. 1981, pp. 351386.

  • [53] David Harel. Dynamic logic. In Gabbay and Guenthner (eds.), Handbook of Philosophical Logic. Volume II: Extensions of Classical Logic, Reidel, 1984, p. 497604.

  • [54] Michael Harrison and Harold imbleby (eds.). Formal Methods in Human-Computer Interaction. Cambridge University Press, 2009.

  • [55] Ian Hayes (ed.). Specication Case Studies. Prentice Hall International, 1987.

  • [56] Eric von Hippel. Free Innovation. MIT Press, 2017. Full text at hps://papers.ssrn. com/sol3/papers.cfm?abstract\_id=2866571.

  • [57] C.A.R. Hoare. e emperor's old clothes. Communications of the ACM, Vol. 24:2, 1981, pp. 7583.

  • [58] C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

  • [59] Walter Isaacson. Steve Jobs. Simon & Schuster, 2011.

  • [60] Edwin Hutchins, James Hollan and Donald Norman. Direct Manipulation Interfaces. Human-computer Interaction. Vol. 1:4, Dec. 1985, pp. 311338.

  • [61] Daniel Jackson. Structuring Z specications with views. ACM Transactions on So ware Engineering and Methodology, Vol. 4:4, 1995, pp. 365389.

  • [62] Daniel Jackson and Craig A. Damon. Elements of style: analyzing a soware design feature with a counterexample detector. IEEE Transactions on Soware Engineering, Vol. 22:7, July 1996, pp. 484495.

  • [63] Daniel Jackson. Module dependencies in soware design. 9th International Workshop on Radical Innovations of Soware and Systems Engineering in the Future (RISSEF 2002), Venice, Italy, Oct. 2002, pp.198203.

  • [64] Daniel Jackson, Martyn omas, and Lynnee Mille, eds. Soware for Dependable Systems: Sucient Evidence? National Research Council. National Academies Press, 2007. hp://books.nap.edu/openbook.php?isbn=0309103940.

  • [65] Daniel Jackson. A direct path to dependable soware. Communications of the Association for Computing Machinery, Vol. 52:4, Apr. 2009, pp. 7888.

  • [66] Daniel Jackson. Soware Abstractions. MIT Press, 2012.

  • [67] Daniel Jackson. Alloy: A language and tool for exploring soware designs. Communications of the ACM, Vol. 62:9, Sept. 2019, pp. 6676. At hps://cacm.acm.org/ magazines/2019/9/238969-alloy.

  • [68] Michael Jackson. System Development. Prentice Hall, 1983.

  • [69] Michael Jackson. Soware Requirements and Specications: A Lexicon of Practice, Principles and Prejudices. Addison-Wesley, 1995.

  • [70] Michael Jackson. Problem Frames: Analysing & Structuring Soware Development Problems. Addison-Wesley Professional, 2000.

references

  • [71] Michael Jackson. e World and the Machine. At hps://www.theworldandthemachine.com.

  • [72] Michael Jackson. e operational principle and problem frames. In Cli B. Jones, A. W. Roscoe and Kenneth R. Wood (eds.), Reections on the Work of C.A.R. Hoare, Springer Verlag, London, 2010.

  • [73] Ivar Jacobson. Object Oriented Soware Engineering: A Use Case Driven Approach. Addison-Wesley Professional, 1992.

  • [74] Natasha Jen. Design inking Is Bullsh*t. 99U Conference, 2017. Video online at: hps://99u.adobe.com/videos/55967/natasha-jen-design-thinking-is-bullshit

  • [75] Cli B. Jones. Systematic Soware Development Using VDM. Prentice Hall, 1990.

  • [76] Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak and A. Spencer Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-021, Soware Engineering Institute, Carnegie Mellon University, 1990.

  • [77] Ruogu Kang, Laura Dabbish, Nathaniel Fruchter and Sara Kiesler. My data just goes everywhere: User mental models of the internet and implications for privacy and security. Symposium on Usable Privacy and Security (SOUPS), Jul. 2015.

  • [78] Mitchell Kapor. A soware design manifesto. Reprinted as Chapter 1 of [149].

  • [79] Tom Kelley and David Kelley. Creative Condence: Unleashing the Creative Potential Within Us All. Crown Business, 2013.

  • [80] Johan de Kleer and John Seely Brown. Mental models of physical mechanisms and their acquisition. In J. R. Anderson (ed.), Cognitive Skills and eir Acquisition, Lawrence Erlbaum, 1981, pp. 285309.

  • [81] Amy J. Ko and Yann Riche. e role of conceptual knowledge in API usability. IEEE Symposium on Visual Languages and Human-Centered Computing (VL/HCC), 2011, pp. 173176.

  • [82] Amy J. Ko. e problem with "learnability" in human-computer interaction. Bits and Behavior Blog, February 16, 2019. At hps://medium.com/bits-and-behavior/ the-problem-with-learnability-in-human-computer-interaction-91e598aed795.

  • [83] Amy J. Ko, with contributions from Rachel Franz. Design Methods. Full text at hps://faculty.washington.edu/ajko/books/design-methods.

  • [84] James Koppel and Daniel Jackson. Demystifying dependence. Proceedings of the ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reections on Programming & Soware (Onward! 2020), 2020.

  • [85] Leslie Lamport. e temporal logic of actions. ACM Transactions on Programming Languages and Systems, Vol. 16:3, May 1994, pp. 872923.

  • [86] Butler W. Lampson. Principles of Computer Systems, 2006. At hp://www.bwlampson.site/48-POCScourse/48-POCS2006.pdf.

  • [87] Axel van Lamsweerde. Goal-oriented requirements engineering: A guided tour. Fih IEEE International Symposium on Requirements Engineering (RE'01), 2001.

  • [88] Axel van Lamsweerde and Emmnuel Letier. Handling obstacles in goal-oriented requirements engineering. IEEE Transactions on Soware Engineering, Vol. 26:10, Oct. 2000, pp. 9781005.

  • [89] Axel van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Soware Specications. Wiley, 2009.

  • [90] Bruno Latour. Where are the missing masses? e sociology of a few mundane artifacts. In Wiebe Bijker and John Law (eds.), Shaping Technology/Building Society: Studies in Sociotechnical Change, MIT Press, 1992, pp. 225258.

  • [91] Michael Legge. e evolution of Gmail labels. July 1, 2009. At hps://googleblog. blogspot.com/2009/07/evolution-of-gmail-labels.html.

  • [92] Nancy G. Leveson and Clark S. Turner. An investigation of the erac-25 accidents. Computer, Vol. 26:7, July 1993, pp. 1841.

  • [93] Mahys Levy and Mario Salvadori. Why Buildings Fall Down: How Structures Fail. Norton, 1992.

  • [94] Karl J. Lieberherr and Ian Holland. Assuring good style for object-oriented programs. IEEE Soware. Vol. 6:5, Sept. 1989, pp. 3848.

  • [95] Barbara Liskov and Stephen Zilles. Programming with abstract data types. Proceedings of the ACM SIGPLAN Symposium on Very High Level Languages, 1974, pp. 5059.

  • [96] Barbara Liskov and John Guag. Abstraction and Specication in Program Development. MIT Press, 1986.

  • [97] Vernon Loeb. 'Friendly re' deaths traced to dead baery. Washington Post, March 24, 2002.

  • [98] Donna Malayeri and Jonathan Aldrich. Is structural subtyping useful? An empirical study. Proceedings of the European Symposium on Programming (ESOP '09), March 2009.

  • [99] George Mathew, Amritanshu Agrawal, and Tim Menzies. Trends & topics in so ware engineering. Presentation at Community Engagement Session, International Conference on Soware Engineering (ICSE'17), 2017. At hp:// tiny.cc/tim17icse.

  • [100] Steve McConnell. Code Complete: A Practical Handbook of Soware Construction, 2nd Edition. Microso Press, 2004.

  • [101] Malcolm Douglas McIlroy. Mass produced soware components. Soware Engineering: Report of a Conference Sponsored by the NATO Science Commiee, Garmisch, Germany, 711 Oct. 1968.

  • [102] George H. Mealy. Another look at data. Proceedings of the Fall Joint Computer Conference (AFIPS '67), 1967, pp. 525534.

  • [103] omas P. Moran. e command language grammar: A representation for the user interface of interactive computer systems? International Journal of Man-Machine Studies, Vol. 15:1, Jul. 1981, pp. 350.

  • [104] Steven J. Murdoch, Saar Drimer, Ross Anderson and Mike Bond. Chip and PIN is Broken. 31st IEEE Symposium on Security and Privacy (S&P 2010), 2010.

references

  • [105] John Mylopoulos. Conceptual modeling and Telos. In P. Loucopoulos and R. Zicari (eds.), Conceptual Modelling, Databases and CASE: An Integrated View of Information Systems Development, McGraw Hill, New York, 1992.

  • [106] Jakob Nielsen. Usability engineering at a discount. 3rd International Conference on Human-Computer Interaction, Sept. 1989.

  • [107] Jakob Nielsen and Rolf Molich. Heuristic evaluation of user interfaces. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '90), 1990.

  • [108] Jakob Nielsen. 10 Usability Heuristics for User Interface Design. 1994. At hps:// www.nngroup.com/articles/ten-usability-heuristics.

  • [109] Robert L. Nord. Deriving and Manipulating Module Interfaces. Doctoral Dissertation, School of Computer Science, Carnegie Mellon University, 1992.

  • [110] Donald Norman. e Design of Everyday ings. Originally published under the title e Psychology of Everyday ings. Basic Books, 1988.

  • [111] Donald Norman. e Design of Everyday ings: Revised and Expanded Edition. Basic Books, 2013.

  • [112] Donald Norman and Bruce Tognazzini. How Apple is giving design a bad name. Codesign, November 10, 2015. At hp://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name.

  • [113] Omnicognate Blog. In CSS, "px" is not an angular measurement and it is not non-linear. January 7, 2013. At hps://omnicognate.wordpress.com/2013/01/07/in-css-pxis-not-an-angular-measurement-and-it-is-not-non-linear.

  • [114] Shira Ovide. No, the best doesn't win. New York Times, April 27, 2020. At hps:// www.nytimes.com/2020/04/27/technology/no-the-best-doesnt-win.html.

  • [115] David L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, Vol. 15:12, Dec. 1972, pp. 10531058.

  • [116] David L. Parnas. Designing soware for ease of extension and contraction. IEEE Transactions on Soware Engineering, Vol. 5:2, March 1979.

  • [117] Chris Partridge, Cesar Gonzalez-Perez and Brian Henderson-Sellers. Are conceptual models concept models? Proceedings of the 32nd International Conference on Conceptual Modeling (ER 2013), Volume 8217, Springer-Verlag, 2013.

  • [118] Santiago Perez De Rosso and Daniel Jackson. Purposes, concepts, mists, and a redesign of git. ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016), 2016, pp. 292310.

  • [119] S. Perez De Rosso, D. Jackson, M. Archie, C. Lao, and B. McNamara III. Declarative assembly of web applications from predened concepts. Proceedings of the ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reections on Programming & Soware (Onward! 2019), 2019.

  • [120] Charles Perrow. Normal Accidents: Living with High-Risk Technologies. Princeton University Press. Revised edition, 1999.

  • [121] Henry Petroski. To Engineer Is Human: e Role of Failure in Successful Design. Vintage Books, 1985.

  • [122] Malte Plath and Mark Ryan. Feature integration using a feature construct. Science of Computer Programming, 41(1):5384, 2001.

  • [123] Amir Pnueli. e temporal logic of programs. Proceedings of the 18th Annual Symposium on Foundations of Computer Science (FOCS), Nov. 1977.

  • [124] Michael Polanyi. e Tacit Dimension, University of Chicago Press, 1966.

  • [125] Michael Polanyi. Personal Knowledge: Towards a Post-Critical Philosophy. University of Chicago Press, 1974.

  • [126] Edouard de Pomiane. French Cooking in Ten Minutes: Adapting to the Rhythm of Modern Life. Original, 1930; English translation, Farrar, Strauss and Giroux, 1977.

  • [127] Colin Pos. Using schematic scenarios to understand user needs. ACM Symposium on Designing interactive Systems: Processes, Practices and Techniques (DIS'95), Aug. 1995.

  • [128] Trygve Reenskaug with Per Wold and Odd Arild Lehne. Working with Objects: e OOram Soware Engineering Method. Manning/Prentice Hall, 1996.

  • [129] Kerry Rodden and Michael Legge. Best of both worlds: Improving gmail labels with the aordances of folders. ACM Conference on Human Factors in Computing Systems (CHI 2010), Apr. 2010.

  • [130] David Rose. Enchanted Objects. Scribner, 2014.

  • [131] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy and William Lorensen. Object-Oriented Modeling and Design. Prentice Hall, 1994.

  • [132] Jerome H. Saltzer and M. Frans Kaashoek. Principles of Computer System Design: An Introduction. Morgan Kaufmann, 2009.

  • [133] Mario Salvadori. Why Buildings Stand Up: e Strength of Architecture. Norton, 1980.

  • [134] Ben Shneiderman, Catherine Plaisant, Maxine Cohen, Steven Jacobs and Niklas Elmqvist. Designing the User Interface: Strategies for Eective Human-Computer Interaction, Sixth Edition, Pearson, 2016.

  • [135] Herbert A. Simon. e architecture of complexity. Proceedings of the American Philosophical Society, Vol. 106:6, Dec. 1962, pp. 467482.

  • [136] John Michael Spivey. e Z Notation: A Reference Manual. International Series in Computer Science (2nd ed.), Prentice Hall, 1992. Full text at hps://spivey.oriel. ox.ac.uk/wiki/les/zrm/zrm.pdf.

  • [137] Nam P. Suh. e Principles of Design. Oxford Series on Advanced Manufacturing (Book 6), Oxford University Press, 1990.

  • [138] Alfred Tarski and John Corcoran (ed.). What are logical notions? History and Philosophy of Logic, 7:143154, 1986.

  • [139] Harold imbleby. User Interface Design, ACM Press, 1980.

  • [140] Harold imbleby, Jeremy Gow and Paul Cairns. Misleading behaviour in interactive systems. Proceedings of the British Computer Society HCI Conference, Research Press International, 2004.

  • [141] Harold imbleby. Press On: Principles of Interaction Programming, MIT Press, 2007.

references

  • [142] Harold imbleby. Fix IT: See and Solve the Problems of Digital Healthcare. Oxford University Press, 2021.
  • [143] Bruce Tognazzini. First Principles of Interaction Design, revised & expanded, 2014. At hps://asktog.com/atc/principles-of-interaction-design.
  • [144] Jan Tschichold. e Form of the Book: Essays on the Morality of Good Design. Hartley & Marks, 1975.
  • [145] Karl Ulrich. Computation and Pre-parametric Design. Doctoral Dissertation, Department of Mechanical Engineering, MIT, July 1988.
  • [146] Bret Victor. A Brief Rant on the Future of Interaction Design, November 8, 2011. At hp://worrydream.com/ABrief RantOneFutureOf InteractionDesign.
  • [147] Walter G. Vincenti. What Engineers Know and How ey Know It. Johns Hopkins University Press, 1990.
  • [148] Forrest Wickman. What was "poking"? Maybe even Mark Zuckerberg doesn't know. Slate, February 4, 2014. At hps://slate.com/technology/2014/02/facebookspoke-function-still-a-mystery-on-the-social-networks-10th-anniversary.html.
  • [149] Terry Winograd with John Benne, Laura De Young, and Bradley Harteld (eds.), Bringing Design to Soware. Addison-Wesley, 1996.
  • [150] Gary Wolf. Steve Jobs: e next insanely great thing. Wired Magazine, February 1, 1996. At hps://www.wired.com/1996/02/jobs-2.
  • [151] Edward Yourdon. Modern Structured Analysis. Prentice Hall, 1989. Chapter 10: Data Dictionaries.
  • [152] Eric S. K. Yu. Towards modeling and reasoning support for early-phase requirements engineering. Proceedings of the 3rd IEEE International Symposium on Requirements Engineering (RE '97), 1997.
  • [153] Pamela Zave and Michael Jackson. Conjunction as composition. ACM Transactions on Soware Engineering and Methodology, Vol. 2:4, 1993.
  • [154] Pamela Zave. Secrets of call forwarding: A specication case study. In Formal Techniques for Networked and Distributed Systems (FORTE), 1995.
  • [155] Pamela Zave and Michael Jackson. Four dark corners of requirements engineering. ACM Transactions on Soware Engineering and Methodology, Vol. 6:1, Jan. 1997, pp. 130.
Draft: not for distribution or quotation. © 2018 DanielJackson

Index of Applications

Adobe Illustrator 53 Calendly 34
Adobe InDesign 31, 51, 53, 121122, 161 Carbonite 117
162, 244, 265266, 296 change.org 112
Adobe Lightroom 95, 120121, 138, 151 Chip and PIN 70, 258
153, 247, 271272, 281282, 282, 290, 293 Crashplan 117
Adobe Photoshop 33, 34, 68, 90, 211, 250, CSS 256257
267269, 274, 286288, 290 Dropbox 1723, 40, 50, 203205, 205206
Amazon Prime 113 Drupal 214, 289
Apple Calendar 9294
Apple Color Picker 54, 236 Emacs 31
Apple Contacts 153154, 294 Epson (printer) 94, 137, 286
Apple Finder 243, 282
Apple HyperCard 290 Facebook 13, 29, 69, 104, 133139, 141143,
Apple iCloud 40 147, 148, 238, 251, 277, 288
Apple iPhone 215 Fujilm (camera) 138139, 208
Apple iPod 212, 214
Apple iTunes 214215 Git 134, 204, 254
Apple Keynote 73, 106, 129, 149151, 209, Gitless 254
210, 274, 278 Gmail 37, 50, 89, 93, 114116, 123, 128, 130,
Apple Lisa 33, 47 132, 136, 136139, 143, 213, 243, 266, 271,
Apple Macintosh 12, 24, 33, 47, 90, 188, 279280, 283
204, 206 Google Apps 25, 93, 164, 271
Apple Mail 50, 60, 118119, 123, 128, 131, Google Calendar 9294
279 Google Docs 60, 61, 237
Apple Numbers 7476 Google Drive 50, 162164, 296, 297
Apple Pages 51, 53, 121122, 161162, 295 Google Forms 95, 272
296 Google Groups 9496, 148
Apple Photos 40 Google Hangouts 73, 198
Apple Podcasts 88 Google Sheets 95
Apple Preview 210 Google Slides 274
Apple Safari 105, 278
Apple TextEdit 160162, 224, 296 Hacker News 288
Apple Trash 4751, 9192, 212, 220, 243, Instagram 147
264, 270
Atom 31 LaTeX 32
LinkedIn 41
Backblaze 1617, 111112, 116118, 123, 280 Linux 50
BBEdit 31, 291
Bravo 237 Mastermatic 266

Mercurial 134 Microso Outlook 270271 Microso PowerPoint 53, 129, 149151, 209, 274, 291292, 292 Microso Publisher 31 Microso Teams 73 Microso Windows 24, 90, 208, 237, 270 Microso Word 31, 51, 53, 121122, 211, 237, 243, 247, 265 Moira 89, 266 Multics 205 Netix 142, 273 NokNok 294 Open Oce 31 OpenTable 251, 265 Oracle Java 109111 OS X (macOS) 208 El Capitan 50 Lion 51, 64 Mountain Lion 255 PayPal 114 Piazza 101 PostScript 160 Reddit 288 Scribus 31 Signal 142 Skype 198 Slack 142, 148 SnapChat 147 Squarespace 129 StackExchange 101 Sublime 31 Subversion 134 Teabox 267 erac-25 96, 273 TikTok 274 Todoist 81 Tumblr 93 Twier 29, 65, 93, 134, 147, 148, 255256, 290 Unix 12, 203205 VisiCalc 34, 289 WhatsApp 147, 148, 274 WordPerfect 31 WordPress 289

QuarkXPress 31, 53 Quora 70, 101

Zoom 73, 96, 131, 197, 272273, 283

Zotero 120

Index of Concepts

access control 86, 261 account 239 action 153, 290 adjustment 240 administrative group 89 adverse interaction 216 animation 106, 278, 279 article 174 aspect ratio 138, 139 asset 239, 240 audio mute 96 auditing 41 authentication 41, 239, 241 authorization 41 auto caption 274 available funds 66 backup 16, 17, 111, 128 bank 239 ba ery 73, 260 BCC 136 bookmark 61, 66, 105, 134, 278 boxing 254 branch 254 breakout 283 broadcast 131, 283 cache 105 calendar event 92, 272 call 15, 274 call forwarding 62, 87 capability 41 category 130, 170 cellular 88 certi cate 35, 105 channel 90, 148, 211, 240, 267 270 chapter 31 character 31 character style 278 chat 131, 283 chatroom 148 chip 70 class (CSS) 53 cleared check 67 cloud app 164 collateral 239 collection 120 color theme 53 comment 29, 93, 104, 148, 174, 246, 246 247, 276 277, 277 commit 135 contact 87, 153, 154 conversation 30, 114, 279 cookie 105, 278 correspondent 128, 169 coupon 267 cropping 170, 286, 288 cursor 291 delegate forwarding 63 direct ight 71 directory 203 domain name 87, 210 donation 113 do not disturb 112 dose 42, 216 editor bu er 64, 254 email 30, 85, 86, 176, 261, 263, 295 email address 93 equity 239 event type 34 existence coupling 84 favorite 65 66, 105, 134, 148, 255, 278 FDIC insurance 239 lter 132, 281282 ag 118, 281, 283, 284 folder 15, 30, 90 92, 120, 172, 176, 177, 203, 204, 243, 270, 271, 279 follower 134, 148

follow-me forwarding 63 format 32, 121, 211, 225, 244 format toggle 159162, 164, 296 formula 34 free sample 89 frequent yer 36, 114, 212 frequently visited 105, 278 friend 30, 86, 104, 133, 134, 148, 277 group 38, 44, 148, 237238 group directory 94 hashtag 290 holding 240 HTML 34 HP 87 hypertext 290 identication 101104, 274, 277 image quality 138 image size 6769, 138, 139, 256257 index 254 install 110 interbank transfer 239 invitation 38, 92 karma 288 keyword 282 label 30, 37, 8185, 8588, 8890, 99, 114 116, 130, 168, 176, 213, 262, 263, 266, 279 280, 281 layer 33, 34, 106, 167, 211, 240, 250, 268, 274, 290 like 13, 29, 66, 105, 141143, 170, 278, 288 line 31 link 34 loan 239 log 270 mailbox 30 mailing list 89 markup 290 mask 33, 34, 90, 211, 268, 290 master 266 master page 265 master slide 106, 274 message 148 metadata 21, 241 moderation 38, 39, 148 nickname 153, 154, 294 no-show 56 notication 38, 69, 87, 97, 148, 158, 171, 243, 245 object list view 209 outline tree 151, 279 page 32 page cache 35 paper feed 137, 286 paper option 94 paper size 137, 286 paper source 94 paragraph 31, 32, 106, 211, 225, 244 paragraph style 278 password 177, 241 permission 94 petition 112114, 113 phone call 87 photo 277 PIN 70 pixel 240 pixel array 67, 68, 267, 269 podcast 88 poke 63, 251 post 29, 38, 86, 87, 93, 104, 105, 148, 167, 174, 232, 238, 243, 246, 247, 276, 277 precis 135 prescription 216 preset 138, 151153, 293294 preset station 253 private browsing 35, 105, 278 prole 238, 273 proling 142, 143 publication 240 push poll 71 Q&A 101102, 102104, 275

index of concepts

raised hand 96 stylesheet 106
range 74, 7476, 172 style (TextEdit) 54
rating 148, 233 subject line 135, 136
reaction 141143, 278 subscription 148
reading list 106, 278 swatch (Illustrator) 53, 54
recent activity 148 synchronization 40, 163, 164, 214215, 297
recommendation 142, 143, 288 table 176
recording 101, 103, 104, 277 tag 69, 102, 104, 277
reference 34 target 73
reply 104, 277, 278 template 129, 140
request 38 text block 106
resampling 288 text ow 32
reservation 15, 5557, 58, 72, 158, 176, 201,
220, 223, 227, 229, 230, 231, 233, 234, 236, text style 106
237, 238, 239, 243, 245, 251, 263, 264, 265 theme 106, 129
review 158, 265, 285 this object 255
rule 132 threaded comment 278
timeline 238
save as 255 title 93
seat 36 todo 81, 82, 83, 84, 85, 86, 88, 99, 234, 262
seat allocation 229 transition 278
section 31, 60, 61, 150, 171, 212, 291 trash 33, 34, 4751, 61, 74, 89, 9092, 172,
selection 90, 268, 282, 291 176, 177, 205, 219220, 220221, 223, 225,
selection pane 209 228, 229, 230, 237, 238, 240, 243, 245, 262,
shape 106 295, 297
shape style 278 tweet 93
shared song 274 two-factor authentication 41, 215
sharing 21 typeface 159, 160, 161
shopping cart 89
slide 106 Unix folder 22, 270
slide group 149151 unread 87
slideshow 73 upvote 15, 39, 66, 87, 101, 102, 103, 104, 109,
social security number 237 141143, 148, 241, 277, 278, 288, 289
song 36, 212 URL 34, 105, 167, 232, 290
special block 106, 278, 279 user 70, 101, 102, 103, 104, 105, 273, 275
staging area 254 username 93
star 283, 284
stash 254 VIP 60
status update 238 web service 210, 211
stock 239 Wi-Fi 88
style 32, 5154, 106, 121, 129, 211, 220, 223,
224, 225, 229, 235, 236, 237, 238, 240, 241, Zoom session 272
243, 244, 245, 253, 263, 265, 266, 274
Draft: not for distribution or quotation. © 2018 DanielJackson

Index of Names

Adams, President John 196 Aldrich, Jonathan 193 Alexander, Christopher 9, 194, 195, 258, 291

Bachman, Charles 240 Batory, Don 247 Berners-Lee, Tim 290 Bjorner, Dines 203 Bossavit, Laurent 193 Bricklin, Dan 34, 289 Brignull, Harry 279 Bringhurst, Robert 195 Brooks, Fred 100, 199200

Bruns, Glen 248 Buxton, Bill 192, 207

Card, Stuart 188, 198, 199 Charles, Prince of Wales 153, 294

Chen, Peter 200 Codd, Edgar 289 Constantine, Larry 258 Cunha, Alcino 230

Dijkstra, Edsger 197, 213, 264

Dorsey, Jack 41

Eames, Charles 183 Eames, Ray 183 Egan, Kieran 286

Elizabeth II, Queen 153, 294

Evans, Eric 202

Faste, Rolf 249 Floyd, Bob 189 Foley, James 206 Fowler, Martin 201 Fu, Kevin 215

Greenberg, Saul 192 Green, omas 188, 207 Gunter, Carl 249 Gunter, Elsa 249

Hoare, Tony 189, 197, 263

Hollan, Jim 252 Hutchins, Ed 252

Ingram, Mahew 255 Isaacson, Walter 212 Ive, Jony 183

Jackson, Michael 11, 195, 202, 213, 222, 249,

250, 259 Jackson, Tim 219 Jacobson, Ivar 224 Jen, Natasha 195 Jobs, Steve 36, 183, 212

Kaashoek, Frans 203 Kapor, Mitchell 184, 185, 186

Kleer, Johan de 294 Ko, Amy 211 Koppel, Jimmy 275

Lampson, Butler 203, 237 Latour, Bruno 264 Leveson, Nancy 273 Levy, Mays 195 Liddle, David 186 Linnaeus, Carl 236

Madrigal, Alexis 237 McIlroy, Doug 196 McKim, Robert 249 Menzies, Tim 187 Mitnick, Kevin 215 Molich, Rolf 188

Moran, Tom 188, 198, 199, 206

Mo, Tim 237

Mylopoulos, John 200

Newell, Allen 188 Newton, Casey 255 Newton, Isaac 222 Nielsen, Jakob 188

Norman, Don 26, 43, 188, 198, 216, 219, 251, 252, 293

Olson, Kirsten 13 Ostroy, Andy 65 Ovide, Shira 197

Parnas, David 192, 247, 274, 276 Perez De Rosso, Santiago 214, 254 Perrow, Charles 195 Petroski, Henry 195 Polanyi, Michael 195, 222 Pomiane, Edouard de 1, 5, 183

Rose, David 208 Rumsfeld, Donald 259

Saca, Chris 255 Saltzer, Jerry 203 Seely Brown, John 294 Seward, Don 258 Shneiderman, Ben 216 Simon, Herb 258 Simonyi, Charles 237 Spang, Rebecca 237

Suh, Nam 195

Tesler, Larry 237

imbleby, Harold 189, 197, 216, 223

Tognazzini, Bruce 188 Tschichold, Jan 195 Turner, Clark 273

Uhlrich, Karl 284

van Dam, Andries 206 van Lamsweerde, Axel 250

Victor, Bret 208 Vincenti, Walter 289 von Hippel, Eric 290

Wheeler, David 241 Whitney, Eli 196 Winograd, Terry 184

Yu, Eric 258

Zave, Pamela 249, 251 Zhang, Kelly 205

Index of Topics

abstraction 2526 call forwarding 6263, 87, 251, 295
access control 86 cognitive dimensions of notations 188, 207
accessibility 24 commit graph 134139
action 49 compatibility 241
ambiguous 120 composition 7997
formalized 227 collaborative 8588
inferred 87 conventional 7980
not in logic 231 free 8185
overcomplicated 175 preserves concept behavior 261
aordance 188, 293 semantics 260264
Afghanistan 72 state-based 269270
agile development 11, 209, 224 synchronization 80
airlines 36, 113, 212, 236 synergistic 8890, 114
Alloy (language) 9, 184 views and, 269270
automation and, 11 concept
concepts and, 225 abstract type vs. 246247
exploration and, 197 actions 49, 175, 227
operational principle in, 230 age 167
analytics 86 API design and, 178
anthropomorphism 264 basis of design critique 42
assurance case 259 behavior 57, 240241
auditing 86 catalog 173, 175
authentication 35 competitors' 169
complicated 145
backup composite 176
cloud storage and, 40 composition 7997, 99
confusing 1617, 111112 conformity 153154
deletion and, 128 consistent subset 103
Google Drive 297 core 3536, 167
restore 116118, 280
version control and, 134139 costs & benets 3738
baery failure 7273 data model 58
benecent diculty 250 denes app 2931
B (formal method) 196 denes app family 3133
bird song app 100101 denes business 3536
bloat, in applications 209 dependence 99107, 102104, 172, 174,
bounded context 202 246, 275277
Bringing Design to Soware (book) 185 dependence diagram 102104
browser 35, 105 deterministic 228
bugs, and verication 189 dishonest 36
evolving 237248
concept, continued concept, continued
explanation order 104, 173 shared across family 168
familiarity 147155, 171 specicity 127145, 153
feature vs. 247248 spliing 171
aw in code 178 state 48, 52
freestanding 99107, 157, 245246, 275, stateful 241242
294 structure 4758
generic 13, 101102, 123, 164, 174, 176, synchronization 157, 175
234, 243245 synergy 172
handbook 39, 173, 175 tricky 3435
happy and sad 170 troubled 168
identifying usability snags 40 vocabulary 169
implementation 174175 conceptual integrity 199200
integrity 157164, 172, 261 conceptual modeling
inventive 236238 eld 200201
inventory 36, 100101 origins 198200
key characteristics 236248 concreteness fading 243
localizes data model 242243 consistency 25
localizes design 47 correctness 189
mapping 109123, 172, 199, 281282 critical systems 215
medical 216 crowdsourcing 101, 103
mental concept vs. 248 CSP (Communicating Sequential
mist 154 Processes) 263264
missing 169
modularity 177178 dark paern 112114
most valuable 168 data model 58
name 48, 221 defect elimination
near miss 236 focus of research 10
one-to-one with purpose 127145 parable 191192
operational principle 49, 51, 56, 61, 74, soware quality and, 190192
110, 113, 123, 158, 170, 221222 Demeter, Law of 276
overloaded 132139, 144, 145, 170 dependability case 259
product dierentiator 3334, 274 dependence
purpose 48, 5977, 168, 173 between concepts 99107
purposeless 127, 144, 254 concept vs. code 275277
purposive 238240 diagram 102104, 174
redundant 130132, 144, 145, 170, 283 emerges from details 277
responds to problem 273274 module vs. concept 245
reuse 39, 147151 Parnas denition 274275
security and safety 4142, 215 primary vs. secondary 277, 278
seed 101 signicant idea 187
semantics 225226, 225231 design
separating concerns 38 axiomatic 195, 285
clarity and, 1112

index of topics

design, continued engineering, vs. science 222
critique 42 entity-relationship diagram 58
democratization of 194
domain-driven 202203 failures, of soware 195
expert vs. novice 147 familiarity, of concepts 147155, 171
HCI research 188189 family, of applications 103, 168, 247248
importance of details 183, 195 faucet 6364, 252
inevitability 292293 feature
internal, of soware 10, 186 concept vs. 247248
levels 2326, 206207 diagram 277
meaning of term 9, 185186 interaction 248, 294295
normal vs. radical 289290 Fis's law 24, 208
novelty 195 fonts, professional 160
origins of soware 184186 formal methods
other domains 195 automation and, 11
paern 194, 195, 291 benets of modeling alone 11
principles 216219 in general 9
reuse and, 194 model-based 196
safety 4142, 216 specication languages 196197
security 4142, 215 verication 189190
soware engineering research 187 write-only 11
teams 38 formal methods, specic
top-down 213 Alloy 9, 11, 184, 197, 225, 230, 235
B 196
typography 195 Electrum 184, 227
user-centered 188 Larch 196, 197
design journal 173 OBJ 196
Design of Everyday ings (book) 198, TLA 231
216, 219, 251, 252 VDM 196, 225
design thinking Z 184, 196, 225, 235
aided by concepts 193194
domain-independent 11, 193194 generated inputs 262263
qualms about 194195 GenVoca (framework) 247
desktop publishing apps 3233 goal, vs. purpose 219220
determinism 228 gulfs of execution and evaluation 252254
digital transformation 3536
discoverability 209 heuristic evaluation 43, 188
domain modeling 202203 human-computer interaction
d.school 185, 249 design and, 1011, 188189
design principles 216219
Electrum (language) 184, 227 empiricism and, 10, 217
email 30, 132 formal methods and, 197
empiricism mapping and, 109
research and, 10, 192193 psychology and, 208
soware design and, 3
IDEO (company) 249 model
i* framework 258 conceptual 12, 210211
incremental development 99100 data 221, 242243
indirection 241 domain 242
inevitability, in design 292293 entity-relationship 200, 201
inscription 264 localized data 202
invariants, in programming 187 mental 164, 169, 206, 294
JSD ( Jackson System Development) 202 role 240
semantic data 200
Larch specication language 196, 197 Mythical Man Month (book) 199
learnability 211 nail clipper 284
levels of design 2326 names, role in design 221
conceptual 25 nanny scam 6667
linguistic 24 near-miss concept 236
physical 23 neednding 248249
listserv 136 no-function-in-structure principle 294
liveness property 261 none, as value 121122
logging 86 Notes on the Synthesis of Form (book)
logic 258259
dynamic 229
rst order 235 object
linear temporal 230 classication 231234
temporal 250 entity vs. value 202
identity 232
mapping mutability 232
live ltering 281282 roles 231234
Norman's usage 43, 188 object-oriented programming 246247,
overview 109123 275277
principles 177 OBJ (specication language) 196
questions 172 OOram (Object-oriented Role Analysis
mental model 12, 2627, 198, 248, 294 and Modeling) 240
metaphor operational principle 49
inscription vs. 264 anthropomorphism and, 264
misleading 173, 220 elaborate 51
unhelpful 76, 250 explanation and, 56
micromaniac 1, 5 formalizing 229231
minimum viable product 99, 174 fullls purpose 61
mist 7176 liveness and, 262
from context 267 mapping and, 123
origins 258 origins 195, 222
safety and, 273 partial theorem and, 223
verication and, 259 subtle 74
mobile phone 88 support materials and, 170

index of topics

theorem and, 221 purpose 48, 5977
unclear 113 clarity of 6061
use case vs. 224225 coherence of 145
violated 158 concept without 6365
workows and, 110 conict of 140
overloading 132139 confusing 6667
consequences 144 criteria for 6162
denied purpose 132133, 134135 deceitful 7071
emergent purpose 132133, 135136 essential 145
false convergence 132133, 133139, 286 goal vs. 219220
mechanical design 284285 granularity & coherence 140
piggybacking 132133, 137307 importance 238240
social concepts 285286 kinds of 176
suggests spliing 145 misleading 6970
summarized 144 reformulation of 140
synergy and, 271 resolves design puzzles 6263
upvote concept 289 stakeholder for 140
unfullled due to mists 7172
partial theorem 223 without concept 127129, 144, 145
paern
analysis 201 radiotherapy 96
dark 212, 279 redundant concepts 130132
design 194, 195, 291 refactoring 225
Gang of Four 291 refrigerator controls 251
perceptual fusion 24 relational join 235236
permutation invariance 234 representation exposure 187
phishing 35 representation independence 187
pleasantness problem 189 requirements
PLGR (precision lightweight GPS Alexander's method 258
receiver) 7273, 259260 belong to domain 202
Post-its 195 complete 258
precondition 226227 negative 72, 258
integrity and, 262 overview 249250
operator 229 use cases and, 224
problem frames 202 reservation
product line 103 conicts 236
programming language networking 57
Algol-68 197 railway 57
Fortran 186 restaurant 56, 223, 239, 264
Java 240, 254, 276 resolution, of image 6769
JavaScript 255 revengeful restaurateur 158159
PL/1 197
Psychology of Human-Computer Interac safety-critical systems 215
tion (book) 188, 208 safety property 261
search 128 state 48, 52
security 4142, 215 function 228
semantics memory and, 221
composition 260264 mutable objects and, 233
concept 225231 state machine 225226
usability and, 207 style
separation of concerns 88, 213214 inheritance 54, 223
simplicity 40, 197198 linked to page master 266
slideshow 7374 next 244
SMV (model checker) 184 override 54
soware engineering partial 54, 121122, 296
best quotes 197 user-dened 237
body of knowledge 186 synchronization 8097
components 196 actions enough? 177
defect elimination and, 190 complex 175
design vs. 1011, 185 concept of 40
empiricism and, 10 mitigation 87
empiricism in, 192 over 9294, 171, 271
folklore beliefs in, 193 removes executions 8485
requirements 249250 semantics 260264
research narrowed 10, 187 staging 87
specication suppression 86
abstraction and, 25 under 9496, 171
correctness and, 189 synergy 8890
dependences and, 187 Apple Trash 90, 177, 270
design and, 190, 196197 Gmail 89, 114, 266
essential knowledge 186 Google Forms 95
feature interaction and, 294 imperfect 90, 9192, 267
integrity and, 261 Netix 273
languages 11 Outlook 270
liveness and, 261 Photoshop 90, 267269
mist and, 259 proliferation suggests 106
operational principle vs. 50 questions 172
pleasantness and, 189 Safari 278
preserving, of concept 157 state-based 269270
requirement vs. 249 trade-o example 266
safety and, 261 system image 26
top-down and, 213
verication and, 189 Terminal World 208
views 269 testing 10, 72
spreadsheet 34 text messaging 30
staging 87 TLA (Temporal Logic of Actions) 231

index of topics

toaster 222 trace 228 trac light 259 training materials 173 transition relation 226227 trepanning 280, 294 type abstract data 246247 interpreted vs. uninterpreted 233234

USB key 50, 74 use cases and user stories 224225 user manual 169, 173, 293 uses relation 274275

VDM (Vienna Development Method) 196, 225

verication

does not prevent mists 259 equated to soware quality 10 history 189190

waterfall process 193 WIMP (windows, icons, menus, pointer) 33, 253 word processors 3233 World Wide Web 34, 290

Xerox PARC 33, 198, 237, 289

Z (specication language) 184, 196, 225

Draft: not for distribution or quotation. © 2018 DanielJackson
Draft: not for distribution or quotation. © 2018 DanielJackson
Draft: not for distribution or quotation. © 2018 DanielJackson
Draft: not for distribution or quotation. © 2018 DanielJackson
Draft: not for distribution or quotation. © 2018 DanielJackson