In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach which Jackson calls lightweight formal methods or agile modeling takes from f…
In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach - which Jackson calls "lightweight formal methods" or "agile modeling"--Takes…
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 f…
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 Specificit…