Learn the principles of good software design and then turn those principles into great code. This book introduces you to software engineering, from the application of engineering principles to the development of software. You'll see how to run a software development project, examine the different phases of a project, and learn how to design and implement programs that solve specific problems.
This book is also about code construction - how to write great programs and make them work. Whether you're new to programming or have written hundreds of applications, in this book you'll re-examine what you already do, and you'll investigate ways to improve. Using examples in the Java and C programming languages, you'll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of effective programs.
This new third edition incorporates new content, new figures, clarifying revisions, and content reorganization across all chapters. The Software Development Approaches chapter has been updated to highlight the differences between lean and agile general approaches, their various specific implementations, and how they can be effectively combined in software development practices. The Project Management Essentials chapter has been expanded to incorporate "SoftAware Development": a new paradigm which centers individuals, interpersonal relationships, and workplace culture as the heart of healthy and sustainable joint creation of software. Finally, a brand new chapter on intellectual property discusses copyright, patents, and how joint work affects code ownership rights.
You Will Learn
- Modern agile methodologies
- How to work on and with development teams
- How to leverage the capabilities of modern computer systems with parallel programming
- How to work with design patterns to exploit application development best practices
- How to use modern tools for development, collaboration, and source code controls