ABSTRACT

Object-oriented programming is mostly a software design methodology. This chapter discusses the elements of object-oriented analysis which is the first and most important step in the design of an object-oriented application. It focuses on modelling the problem domain, decomposition into classes and objects, testing object validity, systems and sub-systems, attributes, services, instance and message connections. Object-oriented analysis provides a practical methodology for project modeling during the analysis phase. One of object orientation’s principal characteristics is that it provides a reasonable way of modeling the problem-domain. Other advantages often mentioned are that it makes modeling complex systems possible, facilitates building systems that are more flexible and adaptable, and promotes reusability. Object-oriented analysis provides a toolset for managing complexity. This toolset is based on abstraction, encapsulation, inheritance, and message passing. Abstraction consists of eliminating what is superfluous or trivial and concentrating on what is fundamental.