Skip to main content
  • Book
  • © 2011

Software Development and Professional Practice

Apress

Authors:

  • Software Development and Professional Practice reveals how to design and code great software.
  • You'll learn the principles of good software design, and how to apply those principles to the code you write every day.

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (16 chapters)

  1. Front Matter

    Pages i-xviii
  2. Introduction to Software Development

    • John Dooley
    Pages 1-5
  3. Process Life Cycle Models

    • John Dooley
    Pages 7-25
  4. Project Management Essentials

    • John Dooley
    Pages 27-36
  5. Requirements

    • John Dooley
    Pages 37-46
  6. Software Architecture

    • John Dooley
    Pages 47-58
  7. Design Principles

    • John Dooley
    Pages 59-69
  8. Structured Design

    • John Dooley
    Pages 71-86
  9. Object-Oriented Analysis and Design

    • John Dooley
    Pages 87-98
  10. Object-Oriented Analysis and Design

    • John Dooley
    Pages 99-113
  11. Object-Oriented Design Principles

    • John Dooley
    Pages 115-136
  12. Design Patterns

    • John Dooley
    Pages 137-157
  13. Code Construction

    • John Dooley
    Pages 159-179
  14. Debugging

    • John Dooley
    Pages 181-192
  15. Unit Testing

    • John Dooley
    Pages 193-208
  16. Wrapping It all Up

    • 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'llfigure 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.

About the author

John F. Dooley is professor and chair of the Computer Science Department at Knox College in Galesburg, Illinois. Before returning to teaching in 2001, Dooley spent nearly 20 years in the software industry as a developer, designer, and manager, working for companies such as Bell Telephone Laboratories, McDonnell Douglas, IBM, and Motorola. He has nearly two dozen professional journal publications to his credit, along with numerous presentations. He has been a reviewer for the Association for Computing Machinery Special Interest Group on Computer Science Education (SIGCSE) Technical Symposium for the last 28 years, and reviews papers for the IEEE Transactions on Education, the ACM Innovation and Technology in Computer Science Education (ITiCSE) Conference, and other professional conferences. He has also developed short courses in software development as well as three separate software engineering courses at the advanced undergraduate level. While in industry, Dooley wrote user applications, operating system software and embedded applications for several different platforms. He also supervised teams of developers ranging in size from four to 30 members, and led successful efforts to move development organizations to SEI Levels 2 and 3. Writing is an integral part of many of John s classes at Knox. One of Knox's graduation requirements is a writing-intensive course in the major; John has taught this course every year for the last five years. He s also taught in Knox s First Year Preceptorial program, a discussion and writing course that serves as an introduction to the liberal arts for first-year students.

Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access