Description
This course aims at providing a practical understanding on how Object Oriented Analysis and Design helps to analyze the systems from an object oriented perspective rather than the traditional structural perspective. The application of design principles, design patterns and UML will bring the learners to a holistic environment of learning and practicing the OOAD for real time case study applications.
OOAD is also known as low level diagram or class level diagram.
Software and computer application systems are incredibly complex concepts since there are few material restrictions and a lot of possible arbitrary reconstructions. Contrast that to things like bridge or building design, where the concept of a bridge or building is defined by the materials to be used and the nature of the environment it is built upon, which results in few options. Software does not enjoy the same restrictions, and the room for complexity to grow is very large. This is where object-oriented analysis and design comes into play. It uses abstraction as a tool to encapsulate complexity, and the more abstractions are introduced, the greater is the reduction in complexity. These acts of abstraction and encapsulation allow for certain problems to be highlighted and subsequently suppressed.
OOAD in modern software engineering is typically conducted in an iterative and incremental way. The outputs of OOAD activities are analysis models (for OOA) and design models (for OOD) respectively. The intention is for these to be continuously refined and evolved, driven by key factors like risks and business value.