Course Code: MIT306
Course Title: Object Oriented Analysis and Design (OOAD) (4 Credits)
Unit-1: Overview of Object Oriented Systems Development: Two Orthogonal Views of the Software, Concept of Object Oriented Software, Importance of Object Oriented Software, Object Oriented Future, Object Oriented Systems Development Methodology, Overview of Unified Approach.
Unit-2: Object Basics: An Object Oriented Philosophy, Objects, Object Behavior, Object Oriented Properties, Association and Aggregation.
Unit-3: Object Oriented Systems Development Life Cycle: The Process of Software Development, Developing Good Quality Software, Use Case Driven Approach for Object Oriented Systems Development, Reusability.
Unit-4: Object Oriented Methodologies: Introduction, Types of Object Oriented, Methodologies, Patterns, Unified Approach.
Unit-5:Unified Modeling Languages (UML): Overview of Unified Modeling Language (UML), Static and Dynamic Models, UML Diagrams, UML Class Diagrams, Use-Case Diagrams, UML Dynamic Modeling, Implementation diagrams, Model Management: Package and Model Organization, UML Extensibility, UML Meta-Model.
Unit-6: Object Oriented Analysis – Identifying Use-Cases: Complexity in Object Oriented Analysis, Business Process Modeling and Business Object Analysis, Use-Case Driven Object Oriented Analysis, Use-Case Model, Developing Efficient Documentation.
Unit-7: Object Analysis: Classification: Object Analysis, Classification Theory, Approaches for Identifying Classes, Class Responsibility Collaboration.
Unit-8: Object Oriented Analysis – Identifying Relationships, Attributes, and Methods: Introduction, Associations, Inheritance Relationships, A Part of Relationship-Aggregation, Class Responsibility: Identifying Attributes and Methods, Class Responsibility: Defining Attributes, Object Responsibility: Methods and Messages.
Unit-9: Object Oriented Design Process and Design Axioms: Design Process, Design Axioms, Corollaries, Design Patterns.
Unit-10: Designing Classes: The Object Oriented Design Principles, UML Object Constraint Language (OCL), Strategies for Designing Classes, Class Visibility: Designing Public Private and Protected Protocols, Designing Classes: Refining Attributes, Designing Methods and Protocols, Packages and Managing Classes.
Unit-11: Access Layer: Object Store and Persistence, Database Management Systems, Logical and Physical Database Organization and Access Control, Object Oriented Database Management Systems (OODBMS), Object Relational Systems, Designing Access Layer Classes.
Unit-12: View Layer: User Interface Design as a Creative Process, Designing View Layer Classes, Purpose of a View Layer Interface, Prototyping the User Interface.
Unit-13: Software Quality Assurance: Quality Assurance Tests, Software Testing Techniques, Testing Strategies, Impact of Object Orientation on Testing, Test Cases, Test Plan, Myer’s Debugging Principles.
Unit-14: System Usability and Measuring User Satisfaction: Usability Testing, User Satisfaction Test, Analyzing User Satisfaction by Satisfaction Test Template, Developing Usability Test Plans and Test Cases.