num_pages: 0
description: A revolutionary concept-based approach to thinking about designing and interacting with softwareAs our dependence on technology increases the design of software matters more than ever before. Why then is so much software flawed? Why hasnt 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 anyonefrom strategist and marketer to UX designer architect or programmerfor making software that is empowering dependable and a delight to use.Jackson explores every aspect of conceptswhat they are and arent how to identify them how to define them and moreand 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.
language: None
title: The Essence of Software: Why Concepts Matter for Great Design
publisher: Princeton University Press