Software Development, Design, and Coding: With Patterns, Debugging, Unit Testing, and Refactoring
Author: John F. Dooley (Author), Vera A. Kazakova (Author)
Publisher finelybook 出版社: Apress
Edition 版本: Third
Publication Date 出版日期: 2024-07-12
Language 语言: English
Print Length 页数: 536 pages
ISBN-13: 9798868802843
Book Description
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.
This new third edition is revamped to reflect significant changes in the software development landscape with updated design and coding examples and figures. Extreme programming takes a backseat, making way for expanded coverage of the most crucial agile methodologies today: Scrum, Lean Software Development, Kanban, and Dark Scrum. Agile principles are revised to explore further functionalities of requirement gathering. The authors venture beyond imperative and object-oriented languages, exploring the realm of scripting languages in an expanded chapter on Code Construction. The Project Management Essentials chapter has been revamped and expanded to incorporate “SoftAware Development” to discuss the crucial interpersonal nature of joint software creation.
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 the Java language, you’ll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of good programs.
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
Who This Book Is For
Early career software developers, or upper-level students in software engineering courses
From the Back Cover
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
About the Author
Dr. Vera A. Kazakova is a Computer Science educator and researcher, with expertise in artificial intelligence, experiential learning, and collaborative methodologies. With a PhD in AI focused on nature-inspired computation and emergent division of labor, her research spans CS Education, Evolutionary Computation, Narrative Generation, Decentralized Multi-Agent Systems, and Cyber Social Science. Dr. Kazakova also has extensive experience as a CS educator, having taught programming, artificial intelligence, research, and software development courses. Dr. Kazakova has coined the term “Soft-Aware Development” to encapsulate a holistic approach for building software, building stakeholder relationships, and building up each developer along the way. An ardent proponent of experiential learning and agile methodologies, Dr. Kazakova champions a multi-sprint learning architecture that enables students to adapt and iterate, fostering a shared environment of continuous growth. Her passion for collaboration, from simplistic autonomous agents to human developers, and members of large online communities, sets her apart as an advocate for a more interconnected, empathetic, and empowering approach to CS research, education, and software development.
相关文件下载地址
相关推荐
- Hands-On Machine Learning with C++: Build, train, and deploy end-to-end machine learning and deep learning pipelines, 2nd Edition
- Mastering QuickBooks® 2025: Bookkeeping for small businesses with US QuickBooks® Online, 6th Edition
- IDS and IPS with Snort 3: Get up and running with Snort 3 and discover effective solutions to your security issues
- Microsoft 365 Administration Cookbook: Enhance your Microsoft 365 productivity to manage and optimize its apps and services, 2nd Edition
- Zabbix 7 IT Infrastructure Monitoring Cookbook: Explore the new features of Zabbix 7 for designing, building, and maintaining your Zabbix setup, 3rd Edition
- Refactoring with C++: Explore modern ways of developing maintainable and efficient applications