Development starts with the analysis of the problem and the design of a program or programs that solve the problem. Object-oriented design involves identifying the objects that you want to work with and what they need to do. Object-oriented analysis and design lie outide the scope of this book; for a reading list, see the section Object-Oriented Analysis and Design.