MCS-032 Object Oriented Analysis and Design
(3 Credits)
Objectives
Object oriented analysis and design has emerged as a new paradigm of analysis and design of the systems. This course is designed to help in learning object oriented analysis and design concepts. This course is having coverage of UML diagrams and will help in developing understanding in the area of system analysis and design concepts using object-oriented approach. This course will cover different aspects of OOAD with explaining object modeling dynamic modeling and functional modeling.
Syllabus
Block 1:
Object Oriented Modeling and UML
Unit 1: Introduction to Object Oriented Modelling
·
Object Oriented Modeling
·
Characteristics Object Oriented Modeling
o
Class and Objects
o
Links and Association
o
Generalization and Inheritance
·
An Object Model
·
Benefits of OO Modeling
·
Introduction to OOAD tools
Unit 2:
Object Oriented Analysis
·
Object Oriented Analysis
·
Problem Statement: an Example
·
Differences between Structured Analysis
and Object Oriented Analysis
·
Analysis Techniques
o
Object Modeling
o
Dynamic Modeling
o
Functional Modeling
·
Adding Operations
·
Analysis Iteration
Unit 3:
Using UML
·
UML: Introduction
·
Object Model Notations:
·
Basic Concepts
·
Structural Diagrams
o
Class
o
Object
o
Composite
o
Package
o
Component
o
Deployment
·
Behavioral Diagrams:
o
Use Case
o
Communication
o
Sequence
o
Interaction Overview
o
Activity
o
State
·
Modeling with Objects
Block 2: Object Oriented Design
Unit 4:
System Design
·
System Design: An Object Oriented
Approach
·
Breaking into Subsystems
·
Concurrency Identification
·
Management of data store
·
Controlling events between Objects
·
Handling Boundary Conditions
Unit 5:
Object Design
·
Object Design for Processing
·
Object Design Steps
·
Designing a Solution
·
Choosing Algorithms
·
Choosing Data Structures
·
Defining Classes and delegation of
Responsibilities to Methods
Unit 6:
Advance Object Design
·
Control and its Implementation
o
Control as a
State within Program
o
Control as State
Machine Engine
o
Control as Concurrent
Task
·
Inheritance Adjustment
·
Association: Design
·
Object Representation
·
Design Optimization
·
Design Documentation
Block 3: Modeling
Unit 7:
Object Modeling
·
Advance Modeling Concepts
o
Aggregation
o
Abstract Class
·
Multiple Inheritance
·
Generalization as an Extension
·
Generalization as a Restriction
·
Metadata
·
Constraints
·
An Object Model
Unit 8:
Dynamic Modeling
·
Events
·
State and State Diagram
·
Elements of State Diagrams
·
Examples of State Diagrams
·
Advance Concepts in Dynamic Modeling
·
Concurrency
·
A Dynamic model
Unit 9:
Functional Modeling
·
Functional Models
·
Data Flow Diagrams
·
Features of a DFD
·
Design flaws in DFD
·
A Functional model
·
Relationship between Object, Dynamic,
and Functional Models
Block 4: Implementation
Unit 10: Implementation
Strategies
·
Implementation
o
Using Programming Languages
o
Using Database System
·
Unidirectional Implementation
·
Bi-directional Implementation
·
Implementing associations
·
Implementing Constraints
·
Implementing Statecharts
·
Persistency
Unit 11:
Object Mapping with Databases
·
Relational Database Schema for Object
Modes
·
Object Classes to Database Tables
·
Mapping Associations to Tables
·
Mapping Generalizations to Tables
·
Interfacing to Database
·
Object Mapping with Databases:
an
Example
Unit 12:
Case Study
·
This unit will cover all the OOAD
aspects Covered in previous 11(eleven) units of this course.