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.
March 13, 2007
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