1.

Record Nr.

UNINA9910554264903321

Autore

Jackson Daniel <1963->

Titolo

The essence of software : why concepts matter for great design / / Daniel Jackson

Pubbl/distr/stampa

Princeton, New Jersey : , : Princeton University Press, , [2021]

©2021

ISBN

0-691-23054-4

Descrizione fisica

1 online resource (1 online resource.)

Disciplina

005.12

Soggetti

Software architecture

Computer software

Computer software - Development

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Nota di bibliografia

Includes bibliographical references and index.

Nota di contenuto

Cover -- Contents -- How to Read This Book -- Part I. Motivations -- 1. Why I Wrote This Book -- 2. Discovering Concepts -- 3. How Concepts Help -- Part II. Essentials -- 4. Concept Structure -- 5. Concept Purposes -- 6. Concept Composition -- 7. Concept Dependence -- 8. Concept Mapping -- Part III. Principles -- 9. Concept Specificity -- 10. Concept Familiarity -- 11. Concept Integrity -- Questions to Remember -- Acknowledgments -- Resources -- Explorations &amp -- Digressions -- References -- Index of Applications -- Index of Concepts -- Index of Names -- Index of Topics.

Sommario/riassunto

A revolutionary concept-based approach to thinking about, designing, and interacting with software As our dependence on technology increases, the design of software matters more than ever before. Why then is so much software flawed? Why hasn't there been a systematic and scalable way to create software that is easy to use, robust, and secure? Examining these issues in depth, The Essence of Software introduces a theory of software design that gives new answers to old questions. Daniel Jackson explains that a software system should be viewed as a collection of interacting concepts, breaking the functionality into manageable parts and providing a new framework for



thinking about design. Through this radical and original perspective, Jackson lays out a practical and coherent path, accessible to anyone from strategist and marketer to UX designer, architect, or programmer⁰́₄for making software that is empowering, dependable, and a delight to use. Jackson explores every aspect of concepts⁰́₄what they are and aren⁰́₉t, how to identify them, how to define them, and more⁰́₄and offers prescriptive principles and practical tips that can be applied cost-effectively in a wide range of domains. He applies these ideas to contemporary software designs, drawing examples from leading software manufacturers such as Adobe, Apple, Dropbox, Facebook, Google, Microsoft, Twitter, and others. Jackson shows how concepts let designers preserve and reuse design knowledge, rather than starting from scratch in every project. An argument against the status quo and a guide to improvement for both working designers and novices to the field, The Essence of Software brings a fresh approach to software and its creation.