𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Introduction to Software Design with Java

✍ Scribed by Martin P. Robillard


Publisher
Springer
Year
2019
Tongue
English
Leaves
303
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language. Its goal is to help readers learn software design by discovering the experience of the design process. To this end, a narrative is used that introduces each element of design know-how in context, and explores alternative solutions in that context. The narrative is supported by hundreds of code fragments and design diagrams.

The first chapter is a general introduction to software design. The subsequent chapters cover design concepts and techniques, which are presented as a continuous narrative anchored in specific design problems. The design concepts and techniques covered include effective use of types and interfaces, encapsulation, composition, inheritance, design patterns, unit testing, and many more. A major emphasis is placed on coding and experimentation as a necessary complement to reading the text. To support this aspect of the learning process, a companion website with practice problems is provided, and three sample applications that capture numerous design decisions are included. Guidance on these sample applications is provided in a section called β€œCode Exploration” at the end of each chapter. Although the Java language is used as a means of conveying design-related ideas, the book’s main goal is to address concepts and techniques that are applicable in a host of technologies.

This book is intended for readers who have a minimum of programming experience and want to move from writing small programs and scripts to tackling the development of larger systems. This audience naturally includes students in university-level computer science and software engineering programs. As the prerequisites to specific computing concepts are kept to a minimum, the content is also accessible to programmers without a primary training in computing. In a similar vein, understanding the code fragments requires only a minimal grasp of the language, such as would be taught in an introductory programming course.

Martin Robillard is a Professor of Computer Science at McGill University. He has been teaching software design with Java since 2005, and has over two decades of programming experience in Java. His current research focuses on problems related to software evolution, architecture and design, and software reuse. Martin served as the Program Co-Chair for the 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2012) and the 39th ACM/IEEE International Conference on Software Engineering (ICSE 2017).

✦ Subjects


java uml design


πŸ“œ SIMILAR VOLUMES


Introduction to Software Design with Jav
✍ Martin P. Robillard πŸ“‚ Library πŸ“… 2022 πŸ› Springer 🌐 English

<p><span>This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language. Its goal is to help readers learn software design by discovering the experience of the design process. To this end, the text follows a continu

Introduction to Java and Software Design
✍ Nell B. Dale, Chip Weems, Mark R. Headington πŸ“‚ Library πŸ“… 2001 πŸ› Jones and Bartlett 🌐 English

Introduction to Java and Software Design breaks the current paradigms for teaching Java and object-oriented programming. This book has been developed from the ground up to be a Java text, rather than a Java translation of prior works. The text uses real Java I/O classes and treats event handlin

Introduction to Java and Software Design
✍ Nell B. Dale, Chip Weems, Mark R. Headington πŸ“‚ Library πŸ“… 2000 πŸ› Jones & Bartlett Publishers 🌐 English

Introduction to Java and Software Design breaks the current paradigms for teaching Java and object-oriented programming in a first year programming course. The Dale author team has developed a unique way of teaching object-oriented programming. They foster sound object-oriented design by teaching st

Introduction to Software Design and Arch
✍ Khalil Stemmler πŸ“‚ Library

Learn to write testable, flexible, maintainable code Ever felt like your code gets worse instead of better over time? This handbook teaches professional software developers the essential software design and architecture best practices they didn’t teach you in school.

Design Patterns with Java: An Introducti
✍ Olaf Musch πŸ“‚ Library πŸ“… 2023 πŸ› Springer Vieweg 🌐 English

<span>A practical description of the software design patterns as they are mentioned in the 1994 book "Design Patterns - Elements of Reusable ObjectOriented Software" by the author group Gamma, Helm, Johnson and Vlissides (also called "Gang of Four", GoF for short). All patterns are explained in deta

Introduction to ATM IP Design and Perfor
✍ J. M. Pitts, J. A. Schormans πŸ“‚ Library πŸ“… 2001 πŸ› Wiley 🌐 English

Many engineers and students experience difficulty in making sense of issues associated with IP and ATM teletraffic techniques. This is partly because of the subject itself: networks are flexible, complicated, and still evolving. However, some of the difficulties arise because of the advanced mathema