Object Oriented Analys and Design

M. Afzal Bhatti


Objectives

The aim of lecture topics of this course is to introduce how to do Analysis and Design of a sofwtare system using Object Oreinted approach. During the course students will learn differnt activities being performed and outcome of the activities being presented using UML diagrams. Lectures will illustrate how to create UML diagrams through simple examples and case studies.


[Lectures]  [Lecture Notes]  [Exercises]


BS level course: topical lectures (video Urdu/Englsih), exercises(English) and lecture notes(Englih). Better to first read notes of a lecture and then view lecture.


Have already taken OO Analysis and Design course ?

  You may like to refresh concepts of a specific topic of OO Analysis and Designcourse:

        Try to solve questions in Exercises of a specific lecture topic, if done easily, Good skip lecture topic.

              otherwise read lecture notes, or view lecture of the topic.


Lectures

  1. Object Oriented Software Development-Basic OO Concepts
  2. UML Diagrams - Basics
  3. OO Analysis Basics - Use Case Model/Diagram Creation
  4. OO Analysis - Creating a Use-Case Diagram (with Generalization, Include, and Extend relationships)
  5. OO Analysis-Creating a Use-Case Diagram - Example
  6. OO Analysis-Writing Use-Cases Description
  7. OO Analysis - Use-Case-Modeling-A Case Study
  8. OO Analysis-Structural-View - Identification of Classes and Relationships
  9. OO Analysis - Domain Model (Basic Class Diagram)
  10. OO Analysis - Domain Model (Basic Class Diagram) Case-Study-1
  11. OO Analysis - Domain Model (Basic Class Diagram) Case-Study-2
  12. Modelling System Behaviour - Assigning Responsibilities and Collaboration to classes
  13. Modelling System Behaviour - Creating CRC Cards --> Class Diagram - Case-Study
  14. Interaction Diagrams - Sequence Diagram Creation
  15. Creating Sequence Diagram - Simple Examples
  16. Creating Collaboration Diagram
  17. Creating Activity Diagram
  18. Creating Activity Diagrams - Examples and Case Study
  19. Creating State Diagrams - Examples
  20. OO Design - Layered Architecture - Package Diagram
  21. OO Design - Creating Software Classes - Adding Operations to Classes using Sequence Diagrams
  22. OO Design Documentation - Data Dictionary - Structured English - Flow Chart - Decision Table

Lecture Notes

  1. Object Oriented Software Development-Basic OO Concepts
  2. UML Diagrams - Basics
  3. OO Analysis Basics - Use Case Model/Diagram Creation
  4. OO Analysis - Creating a Use-Case Diagram (with Generalization, Include, and Extend relationships)
  5. OO Analysis-Writing Use-Cases Description
  6. OO Analysis - Use-Case-Modeling-A Case Study
  7. OO Analysis-Structural-View - Identification of Classes and Relationships
  8. OO Analysis - Domain Model (Basic Class Diagram)
  9. OO Analysis - Domain Model (Basic Class Diagram) Case-Study-1
  10. OO Analysis - Domain Model (Basic Class Diagram) Case-Study-2

Exercises

  1. OO Analysis Basics - Use Case Model/Diagram Creation
  2. OO Analysis-Structural-View - Identification of Classes and Relationships
  3. OO Analysis - Domain Model (Basic Class Diagram)

Recommended Readings

  • Carol Britton and Jill Doake, A Student Guide to Object-Oriented Development, Elsevier, 2005
  • Martina Seidl et al, UML@Classroom: An Introduction to Object-Oriented Modeling, Springer International Publishing, 2015
  • Sarnath Ramnath and Brahma Dathan, Object Oriented Analys and Design, Springer/Universities Press, 2015

Acknowledgements

I came to know late about the book "A Student Guide to Object-Oriented Development by Carol Britton and Jill Doake" while teaching Software Design course, I enhanced my understating of object-oriented software development from it particularly use of simple examples for teaching. Lecture notes are also prepared from books listed as recommended readings for this course.

For lecture presentations some images and animation ideas are taken from lecture presentations available at web and recommended books for this course.

I am grateful to Dr. Rabeeh Ayaz Abbasi (CS-department, Quaid-i-Azam University) for creating "CS-Concepts-hub" site repository and "Object Oriented Analysis and Design" course repository and pages at github.com