Book Description | Winner of a 2015 Alpha Sigma Nu Book Award, Software Essentials: Design and Construction explicitly defines and illustrates the basic elements of software design and construction, providing a solid understanding of control flow, abstract data types (ADTs), memory, type relationships, and dynamic behavior. This text evaluates the benefits and overhead of object-oriented design (OOD) and analyzes software design options. With a structured but hands-on approach, the book: Delineates malleable and stable characteristics of software design Explains how to evaluate the short- and long-term costs and benefits of design decisions Compares and contrasts design solutions, such as composition versus inheritance Includes supportive appendices and a glossary of over 200 common terms Covers key topics such as polymorphism, overloading, and more While extensive examples are given in C# and/or C++, often demonstrating alternative solutions, design-not syntax-remains the focal point of Software Essentials: Design and Construction. About the Cover: Although capacity may be a problem for a doghouse, other requirements are usually minimal. Unlike skyscrapers, doghouses are simple units. They do not require plumbing, electricity, fire alarms, elevators, or ventilation systems, and they do not need to be built to code or pass inspections. The range of complexity in software design is similar. Given available software tools and libraries-many of which are free-hobbyists can build small or short-lived computer apps. Yet, design for software longevity, security, and efficiency can be intricate-as is the design of large-scale systems. How can a software developer prepare to manage such complexity? By understanding the essential building blocks of software design and construction. |
Editorial Review | Alpha Sigma Nu 2015 Book Award Winner "Software Essentials covers the material of software design and construction, an area where the field has made very rapid progress in the last few decades. The material is both accessible for disparate audiences and up to date." -Alpha Sigma Nu Judge "Dr. Dingle's Software Essentials: Design and Construction is a superb companion for a pre, concomitant, and post-study of a 100 through 400 level college education in computer science. The principles outlined in her book are language agnostic and find application amongst myriad language choices faced by modern system developers. Her work provides missing discussion about object-oriented design and dynamic programming considerations that are difficult to glean from a strict, detail oriented, programming approach. This higher level discussion is perfect for students and professionals with a modicum of procedural experience to work with the details of what they already know while allowing them to understand a higher level of abstraction and generality to which their skills are transparently and specifically germane." -Bruce Cresanta, Entrepreneur |