The Software Development Book

Mark Watson
Copyright 2004-2007 Mark Watson. All rights reserved.
This work is licensed under a Creative Commons
Attribution-Noncommercial-No Derivative Works
Version 3.0 United States License.

July 13, 2009

Contents
List of Figures
List of Tables
Preface
 .1 Book audience
 .2 Programming Languages
 .3 Acknowledgements
1 What’s wrong with current software development methods
2 Economics of software development
 2.1 Advantages of Open Source and Commercial Software
3 Job satisfaction
 3.1 Aligning employer and personal goals
 3.2 Working for a company
 3.3 Working as a consultant
4 History of software design and development
 4.1 Structured programming
 4.2 Object oriented programming
 4.3 Design patterns
 4.4 Extreme programming
 4.5 Aspect oriented programming
5 Introduction to UML
 5.1 Use Case Diagrams
 5.2 Class Diagrams
 5.3 Sequence Diagrams
6 Using UML
 6.1 Developing an Automated Help Desk System
 6.2 Iterative Design and Development
7 Deciding What Technologies to Use
8 Role of Open Source and Free Software
9 Data Persistence
10 Testing Software
 10.1 JUnit
11 Writing a Web Application
 11.1 Getting started
 11.2 A simple pattern: JSPs for presentation, JavaBeans for business logic, JDBC for data persistence
 11.3 Improving the simple pattern: using Hibernate to abstract data persistence
 11.4 Implementing web services
12 Be Efficient
Index