{"product_id":"9781430238027","title":"Software Development and Professional Practice","description":"\u003cp\u003e    \u003cem\u003eSoftware Development and Professional Practice\u003c\/em\u003e reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code.  \u003cem\u003e\u003cp\u003e  \u003c\/p\u003e\u003c\/em\u003e  \u003cem\u003eSoftware Development and Professional Practice\u003c\/em\u003e is also about code constructionhow to write great programs and make them work. What, you say? You've already written eight gazillion programs! Of course I know how to write code! Well, 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'll also talk about reading code. How do you read code? What makes a program readable? Can good, readable code replace documentation? How much documentation do you really need?  \u003cem\u003e\u003c\/em\u003e\u003c\/p\u003e\u003cp\u003e  This book introduces you to software engineeringthe application of engineering principles to the development of software. What are these engineering principles? First, all engineering efforts follow a defined process. So, you'll be spending a bit of time talking about how you run a software development project and the different phases of a project. Secondly, all engineering work has a basis in the application of science and mathematics to real-world problems. And so does software development! You'll therefore take the time to examine how to design and implement programs that solve specific problems.  \u003c\/p\u003e\u003cp\u003e  Finally, this book is also about human-computer interaction and user interface design issues. A poor user interface can ruin any desire to actually use a program; in this book, you'll figure out why and how to avoid those errors.  \u003c\/p\u003e\u003cp\u003e    \u003cem\u003eSoftware Development and Professional Practice\u003c\/em\u003e covers many of the topics described for the ACM Computing Curricula 2001 course C292c Software Development and Professional Practice. It is designed to be both a textbook and a manual for the working professional.       \u003c\/p\u003e    What youll learn  \u003cul\u003e   \u003cli\u003e   How to design and code great software   \u003c\/li\u003e   \u003cli\u003e   What methods and processes are available to help you design great software   \u003c\/li\u003e   \u003cli\u003e   How to apply software engineering principles to your daily coding practice   \u003c\/li\u003e   \u003cli\u003e   How to tell a good design from a bad one?   \u003c\/li\u003e   \u003cli\u003e   Understand the characteristics of good programs   \u003c\/li\u003e   \u003cli\u003e   How to construct professional standard code that you can be proud to show   \u003c\/li\u003e   \u003cli\u003e   Understand all about coding standards, and apply them to real Java coding   \u003c\/li\u003e   \u003cli\u003e   Explore debugging, unit testing and modularity   \u003c\/li\u003e   \u003cli\u003e   All about object-oriented programming (OOP) design principles and great coding   \u003c\/li\u003e   \u003cli\u003e   How to apply the principles you've learned to specific and real-world coding problems   \u003c\/li\u003e   \u003cli\u003e   A companion to the ACM Computing Curricular 2001 source C202c   \u003c\/li\u003e  \u003c\/ul\u003e    Who this book is for      \u003cp\u003e     \u003cem\u003eSoftware Development and Professional Practice\u003c\/em\u003e is designed to be both a textbook and a manual for the working professional programmer, and any student of programming who wants to learn the art of the trade. This book assumes you know some Java, enough to read its examples at least, and that you've already done some programming. Now you want to write great code!  \u003cem\u003e\u003cp\u003e  \u003c\/p\u003e\u003c\/em\u003e  This book covers many of the topics described for the ACM Computing Curricula 2001 course C292c Software Development and Professional Practice, and will be a great companion to anyone studying this course.         \u003c\/p\u003e     Table of Contents\u003col\u003e   \u003cli\u003eIntroduction to Software Development \u003c\/li\u003e   \u003cli\u003eProcess Life Cycle Models \u003c\/li\u003e   \u003cli\u003eProject Management Essentials \u003c\/li\u003e   \u003cli\u003eRequirements \u003c\/li\u003e   \u003cli\u003eSoftware Architecture \u003c\/li\u003e   \u003cli\u003eDesign Principles \u003c\/li\u003e   \u003cli\u003eStructured Design \u003c\/li\u003e   \u003cli\u003eObject-Oriented Analysis \u0026amp; DesignAn Overview \u003c\/li\u003e   \u003cli\u003eObject-Oriented Analysis \u0026amp; DesignA Play in Several Acts \u003c\/li\u003e   \u003cli\u003eObject-Oriented Design Principles \u003c\/li\u003e   \u003cli\u003eDesign Patterns \u003c\/li\u003e   \u003cli\u003eCode Construction \u003c\/li\u003e   \u003cli\u003eDebugging \u003c\/li\u003e   \u003cli\u003eUnit Testing \u003c\/li\u003e   \u003cli\u003eWalkthroughs, Code Reviews and Inspections \u003c\/li\u003e   \u003cli\u003eWrapping it All Up \u003c\/li\u003e  \u003c\/ol\u003e","brand":"Apress","offers":[{"title":"Default Title","offer_id":47124669759728,"sku":"9781430238027","price":38.49,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0737\/7593\/9824\/files\/9781430238027_p0.jpg?v=1763753348","url":"https:\/\/shop-qa.barnesandnoble.com\/products\/9781430238027","provider":"Barnes \u0026 Noble (DEV)","version":"1.0","type":"link"}