Home > Articles > Programming

  • Print
  • + Share This
This chapter is from the book


  • Software is inherently complex; the complexity of software systems often exceeds the human intellectual capacity.
  • The task of the software development team is to engineer the illusion of simplicity.
  • Complexity often takes the form of a hierarchy; it is useful to model both the "is a" and the "part of" hierarchies of a complex system.
  • Complex systems generally evolve from stable intermediate forms.
  • There are fundamental limiting factors of human cognition; we can address these constraints through the use of decomposition, abstraction, and hierarchy.
  • Complex systems can be viewed by focusing on either things or processes; there are compelling reasons for applying object-oriented decomposition, in which we view the world as a meaningful collection of objects that collaborate to achieve some higher-level behavior.
  • Object-oriented analysis and design is the method that leads us to an object-oriented decomposition; object-oriented design uses a notation and process for constructing complex software systems and offers a rich set of models with which we may reason about different aspects of the system under consideration.
  • + Share This
  • 🔖 Save To Your Account