Software Development and Professional Practice reveals howto design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there fordesigning 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.
Software Development and Professional Practice is also about code constructionhow 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?
This book introduces you to software engineeringthe 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 differentphases 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.
Finally, this book is also about human-computer interaction and user interface design issues. A poor user interface can ruin any desireto actually use a program; in this book, you'll figure out why and how to avoid those errors.
Software Development and Professional Practice 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.
|Product dimensions:||6.00(w) x 1.25(h) x 9.00(d)|
About the Author
Table of Contents
- Introduction to Software Development
- Process Life Cycle Models
- Project Management Essentials
- Software Architecture
- Design Principles
- Structured Design
- Object-Oriented Analysis & DesignAn Overview
- Object-Oriented Analysis & DesignA Play in Several Acts
- Object-Oriented Design Principles
- Design Patterns
- Code Construction
- Unit Testing
- Walkthroughs, Code Reviews and Inspections
- Wrapping it All Up