Software Development and Professional Practice

  • Authors
  • John Dooley

Table of contents

  1. Front Matter
    Pages i-xviii
  2. John Dooley
    Pages 1-5
  3. John Dooley
    Pages 7-25
  4. John Dooley
    Pages 27-36
  5. John Dooley
    Pages 37-46
  6. John Dooley
    Pages 47-58
  7. John Dooley
    Pages 59-69
  8. John Dooley
    Pages 71-86
  9. John Dooley
    Pages 87-98
  10. John Dooley
    Pages 99-113
  11. John Dooley
    Pages 115-136
  12. John Dooley
    Pages 137-157
  13. John Dooley
    Pages 159-179
  14. John Dooley
    Pages 181-192
  15. John Dooley
    Pages 193-208
  16. John Dooley
    Pages 221-225
  17. Back Matter
    Pages 227-242

About this book


Software Development and Professional Practice 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.

Software Development and Professional Practice 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?

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.

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.

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.

Bibliographic information