Course details

Object Oriented Analysis & Design

A brief summary

ইউনিভার্সিটিতে আমরা সবাই এই সাবজেক্টগুলো পড়েছি। কিন্তু দেখা যায় এরপরও এই বিষয়ে আমাদের দুর্বলতা অপরিসীম। বিষয়গুলো নিয়ে পরবর্তীতে বেশ ঝামেলা পোহাতে হয়, কারণ এই বিষয়ে দুর্বলতা থাকলে ভালো সফটওয়্যার ইঞ্জিনিয়ার হওয়া কঠিন। তাই আমরা এই বিষয়ে প্রেকটিক্যাল জ্ঞান তৈরি করার জন্য এই কোর্সটি তৈরি করেছি। এখানে আমরা শুধু থিওরি আলাপ করবো না, বরং কোডে ও কাজে কিভাবে বিষয়গুলো ব্যাবহার করা যায় সেটাও দেখবো।

Prerequisite

C# অথবা PHP প্রোগ্রামিং ল্যাঙ্গুয়েজ জানা থাকতে হবে

Course highlight

  • রিয়েল লাইফ উদাহরণের মাধ্যমে শিখানো হবে।
  • হোমওয়ার্ক ও এসাইনমেন্ট নিখুঁতভাবে রিভিউ করা হবে।
  • সফটওয়্যার কোম্পানিতে যে বিষয়গুলো আসলেই ব্যাবহার হয় সেগুলোতে ফোকাস দেয়া হবে।
  • ৩ টি পরীক্ষা নেয়া হবে।

What you will learn

রিয়েল লাইফ সফটওয়্যার তৈরি করতে গেলে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ডিজাইন সম্পর্কে যে সব বিষয়ে জানা থাকতে হয়, সেগুলো জানা হবে এবং সেগুলো নিজে নিজে ব্যাবহার করতে পারবেন ইন শা আল্লাহ্‌।

Class Plan: https://docs.google.com/document/d/1wcJZfriKpA45dLB7XNFujwuVUSZ4-Ig0IzN1KlsYF3Q


01

Introduction to Object Oriented Programming & Design

• Why we needed object oriented programming • Relation between object oriented programming and design • What are the challenges of adopting object oriented programming & design

02

Fundamentals of Object Oriented Programming

• Class & its elements • Elements of Object oriented programming • Understanding concept of encapsulation • Understanding concept of inheritance • Understanding concept of abstraction • Understanding concept of polymorphism

03

Working with Class

• Types of classes & their differences • Process for identification of potential classes • Process for identification of potential properties • Process for identification of potential methods • How to deal with exceptional cases • Difference between instance and static elements • Process of method overloading • Introduction to sealed or final

04

Working with Interface

• Why we need interface • When to use interface • Interface segregation principle • Case studies for interface use

05

Using Inheritance

• When to use inheritance & when to avoid • Alternatives of using inheritance • Liskov Substitution Principle • Generalization & Specialization • Relationship between base and child class • How to design base class • Overriding methods • Qualities of method overriding • Purpose and use case of constructor

06

Introduction to Composition

• Difference between Association, Aggregation & Composition • When to use composition & when to avoid • Case study for composition use

07

Concepts of good design

• Why we create many layers • Why so many classes • Why having interface is a good idea • Qualities of good method signature • Qualities of good naming convention • Code smell & refactoring techniques

08

Introduction to UML

• Understanding use case diagram • Case study with use case diagram • Understanding class diagram • Case study with class diagram • Understanding sequence diagram • Case study with sequence diagram • Understanding Activity diagram • Case study with activity diagram • Understanding and developing SRS

09

Getting started with design patterns

• What is design pattern and why we need it • Introduction and case study of singleton pattern • Introduction and case study of builder pattern • Introduction and case study of factory pattern • Introduction and case study of abstract factory pattern • Introduction and case study of prototype pattern • Introduction and case study of Repository pattern • Introduction and case study of Unit of Work pattern

10

Understanding advance designing concepts

• Working with Service Class • Working with DTO • Working with Entity • Method chaining • Working with Message Class • Concept of dependency injection

11

Understanding architecture

• Basics of monolithic application architecture • Creating flexible web application architecture • Designing flexible mobile application architecture • Concepts of distributed application architecture


Next Batches

No upcoming batches available.
Back to top