
Explore object oriented analysis and design (ooad) to model software through requirements. Learn architecture centric and iterative incremental approaches with examples like banking use case diagrams and a student portal.
Discover why object oriented analysis and design using UML improves stakeholder communication through visual models, separating analysis from design, and prioritizing functionality over constraints with abstract, accessible models.
Explore key concepts and terminologies of object oriented analysis and design with java, including requirement analysis, design, implementation, delivery, use cases, and UML diagrams such as class, sequence, and collaboration.
Design a bank class diagram by identifying components (bank, locker, customer, employee, saving and current bank accounts) and defining relationships (bank to customers and lockers; accounts owned by customers; history).
Gather requirements for a movie booking app, define registered users and guests, and design use case and class diagrams to enable browsing, show timing, booking, and exemptions.
Build a final bank class diagram by identifying components (bank, locker, customer, employee, bank account and history), establishing relationships, and modeling account types via inheritance.
Create the class skeletons with attributes and methods, using an abstract user class and concrete subclasses, and implement a synchronized ticket booking system for shows.
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.