For example, Name Browser Responsibility Find books by specified keys Operations Sortbykey Searchbykey Attributes Key Describe class hierarchies using the Booch notation. Label inheritance, class type, etc Describe GUI hierarchy and its classes if applicable. Consider story board scenarios for use cases. Describe the state transition diagrams for the entire application. Design the overall system architecture to show the position of each module, the level and type of interaction between modules, etc Write the code frames of each class and interface.
Extensive testing is required before the application is released to a customer.
An increasingly desirable quality of modern software is maintainability. Take this into consideration throughout the design and development process. Plan in advance on how existing modules can be modified or extended. Without documentation, an application is bound to be neglected and eventually phased out. A hard copy of the entire source code of the application.