bottom-up approach to identifying generalizations | considerable experience | - Increasing profit by reducing cost and increasing revenue
- Ensuring that we actually conform with the requirements, thus solving the customers' problems
- Accelerating development, which helps reduce short-term costs, and may also ensure the software reaches the market soon enough to effectively compete
- Increasing qualities such as usability, efficiency, reliability, maintainability, and reusability which can help reduce costs and also increase revenues
| design^2 | user interface design | 5.8 - The Process Of Developing Class Diagrams | similar classes creating a new superclass | normally useful so that reusable components can be created; these can then be used in several places in the overall system | bottom-up design | how components will be implemented in a system |