000 02719nam a22002538a 4500
999 _c25383
_d25383
010 _a 2014008078
020 _a9781439841204
082 0 0 _a005.1/2
100 1 _aDingle, Adair
_937691
245 1 0 _aSoftware essentials :
_bdesign and construction
_cAdair Dingle
260 _aBoca Raton :
_bCRC Press Taylor & Francis,
_cc2014.
300 _axxii, 413. :
_bill. ;
_c24 cm.
490 0 _aChapman & Hall/CRC innovations in software engineering and software development series
504 _aIncludes bibliographical references and index.
520 _a"Preface Why this book? Why should you read this book? The short answer is to study software design from a structured but hands-on perspective and to understand different models of control flow, memory, dynamic behavior, extensibility, etc. Software complexity and the growing impact of legacy systems motivate a renewed interest in software design and modeling. We emphasize design (and construction) in this text, using and contrasting C# and C++. Many CS texts are 'learn to' books that focus on one programming language or tool. When perspective is so limited to a specific tool or programming language, high-level concepts are often slighted. Students may gain exposure to an idea via a 'cookbook' implementation and thus fail to truly absorb essential concepts. Students and/or practitioners can understand and apply design principles more readily when such concepts are explicitly defined and illustrated. Design, not just syntax, must be stressed. The progression of programming languages, software process methodologies and development tools continues to support abstraction: software developers should exploit this abstraction and solve problems (design) without being tied to a particular syntax or tool. Software design and modeling are neither new nor trendy topics. Software development often focuses on immediate effect: implement, test (minimally) and deploy. Yet, the complexity, scale and longevity of modern software require an intricate understanding of a software system as a whole -- components and relationships, user interfaces, persistent data, etc. To accommodate existing use while preserving longevity, a software developer must look forward for extensibility and backward for compatibility. Hence, software developers must understand software design. "--
650 0 _aSoftware architecture
_913858
650 0 _aComputer software
_xDevelopment
_91631
650 7 _aCOMPUTERS / Software Development & Engineering / General
_99974
650 7 _aCOMPUTERS / Programming / Algorithms
_937692
856 _uhttps://uowd.box.com/s/uvqpalghdnyg3zrptbg7kanhq4bnfrax
_zLocation Map