Part 2. Design the right application

 

There are many benefits to having well-designed software. But an application, no matter how well designed, is a failure if it doesn’t do what it is supposed to do: before we can design an application right, we must determine what is the right application. Therefore, we must first gather and analyze the application’s requirements. Those are not easy tasks, and we must do them carefully.

Once we have sufficient requirements, we’re ready to analyze them and to start designing the classes of the application. We can meet the challenges of change and complexity by using good design principles to build cohesive and loosely coupled classes. We can document our design with UML (Unified Modeling Language) diagrams.