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.

Students feedback/comment about this course

Student Photo

Md Obaydullah

Posted On: 22-May-2020

আলহামদুলিল্লাহ।প্রথমেই ধন্যবাদ জানাচ্ছি জালাল উদ্দিন স্যার কে যিনি অক্লান্ত পরিশ্রম করে আমাদেরকে এই কোর্সটি করিয়েছেন। আমি এই কোর্সটি করার আগে সি শার্প এর কোর্সটি করে এসেছিলাম।তবে আমার সি শার্প এর কোর্সটিতে কিছুটা ঘাটতি ছিল । তাই এই কোর্সটি তে শেষ পর্যন্ত থাকতে অনেক কষ্ট হয়েছে। ঠিক সময়ে এসাইনমেন্ট জমা দিতে পারেনি। তবে এই কোর্স থেকে আমি আমার দুর্বলতা গুলো ধরতে পেরেছি এবং নিজেকে সামনের দিকে এগিয়ে নিয়ে যাওয়ার জন্য জালাল স্যার এর দিক নির্দেশনা গুলো আমাকে অনেক অনুপ্রাণিত করেছে।

Student Photo

Raihan Nishat

Posted On: 17-May-2020

আসসালামু আলাইকুম। প্রথমেই ধন্যবাদ দিতে চাই ডেভস্কিল কে এরকম একটা কোর্স আমাদের কে উপহার দেয়ার জন্য। আলহামদুলিল্লাহ আমি সফলভাবে "Object Oriented Analysis & Design" কোর্সটি সম্পন্ন করেছি। ডেভস্কিলের প্রায় সবগুলা কোর্সই অন্যান্য ট্রেনিং সেন্টার গুলোর তুলোনায় আলাদা। কারন, এখানে প্রত্যেক টা কোর্স করার জন্য কিছু পূর্বশর্ত থাকে। এখন আপনি এখান থেকে কতটা লাভবান হবেন সেটা নির্ভর করে সম্পূর্ন আপনার উপরে। এখানকার কোর্স গুলোতে অনেকেই অনেক কিছু শিখতে আসেন, তবে সবাই সমান ভাবে উপক্রিত হয় না। কারন, অনেকে হয়তো আগে থেকেই কিছুটা জানে আবার অনেকে হয়তো একদম কিছুই জানেনা। অনেকে হয়তো ২০% জেনে এখানে এসেছে সে হয়তো ৮০% এখান থেকে নিতে পারবে, আবার অনেকে ০% নিয়ে আখান থেকে ৪০% নিতে পারবে। এই কোর্সটি থেকে ১০০% লাভবান হতে চাইলে আপনাকে C# অথবা PHP প্রোগ্রামিং ল্যাঙ্গুয়েজ খুবই ভালোভাবে জেনে আসতে হবে নতুবা আপনি এখান থেকে তেমন কিছুই নিতে পারবেন না। এটা শুধু এই কোর্সে না বরং ডেভস্কিলের প্রত্যেক টা কোর্সের জন্যই এটা প্রযোজ্য। আমি এই কোর্স করার আগে এখান থেকেই "Professional Programming with C#" কোর্স টা করে নিয়েছি। তাই আমি এখান থেকে বেশ ভালো রকমের লাভবান হয়েছি। কিন্তু আপনি জদি কোর্সের পূর্বশর্ত গুলো ভালোভাবে শিখে না আসেন, তাহলে আপনি আমার মত লাভবান নাও হতে পারেন। তাই আপনাদর উচিৎ হবে আগে পূর্বশর্ত গুলো ঠিকভাবে সম্পূর্ন করে তারপরে কোর্স টা করা। ধন্যবাদ।

Student Photo

MD.MOHIBUR RAHMAN

Posted On: 17-May-2020

Course এর quality নিয়ে কোন প্রশ্ন নেই। জালাল উদ্দিন স্যার, আমাদেরকে যথেষ্ট সময় দিয়েছেন যেটা অন্য যে কারো কাছ থেকে (এমন কি নিজের প্রিয় জনের কাছে থেকেও) আশা করা দুষ্কর । তবে Home work এর তুলনায় exam গুলা relatively বেশি নিলে ভালো হত। যেহেতু exam গুলা সাধারণত student দের দ্বারা বেশি গুরুত্ব পেয়ে থাকে (অবশ্য দুইটারই দরকার রয়েছে)। homework ও exam এর numbering process টা আরেকটু দ্রুত হলে ভালো হত। আসলে স্যার যে কিভাবে সময় বের করতে পারেন তা আমার মাথায় ধরে না। এছাড়া আর কোন সমস্যা নেই। আসলে এভাবে একজন CEO এর কাছে থেকে সরাসরি শিখাটাও একটা ভাগ্যের ব্যাপার । আমার এক Friend এই course এর price দেখেই course টা করতে চায় নি । আমি course এ ভর্তি হওয়ার পর সে আমাকে বলছিলো যে, আমি যে এত টাকা খরচ করে ভর্তি হলাম, যদি expectation অনুযায়ী service না পাই ? কিন্তু আমি জানতাম যে, এইটা একটা golden oppurtunity । কিছু টাকা খরচ করে যদি কারোর 10/12 বছরের experience নেওয়া যায় তাহলে সেটাত রীতিমত সৌভাগ্য । আমি ধরেই রেখেছিলাম যে, এই course এর price হবে 25k. সে অনুযায়ী preparation ও নিয়ে রেখেছিলাম । আসলেই course টাই যদি আমাদের Jalal Uddin sir internationally নিতেন তাহলে এইটার price এমনি হত (বা এর চেয়েও বেশি)। কারণ এইটা এমন না যে, exam এ পাস করার জন্য পড়ছি । এইটা আমাদের চাকরি ক্ষেত্রে সরাসরি কাজে লাগবে। আর তাই এই ধরনের course যেখানে instructor সরাসরি দিক নির্দেশনা দেন সেগুলার দাম লাখ টাকার উপর হয় । বিশ্বাস না হলে Udacity এর course গুলা দেখবেন বা বিদেশের bootcamp গুলার price দেখবেন । সেখানেও instructor সরাসরি দিক নির্দেশনা দিয়ে থাকেন । ধন্যবাদ আল্লাহ তাআলাকে যিনি আমাদের কে জালাল উদ্দিন স্যার এর মাধ্যমে এত কম খরচে এত বড় সুযোগ করে দিলেন। ( লিখতে (or type) থাকলে আরও অনেক কিছু লিখা হয়ে যাবে । তখন হয়তবা পাঠক আগ্রহ হারিয়ে ফেলবেন তাই আজ এইখানেই শেষ করলাম )

Student Photo

Abir Bin Ayub Khan

Posted On: 17-May-2020

First of all, the course curriculum was well thought out. Before the course started i felt i knew most of the topics but as the course went on I understood that I was not that confident on these topics. I won't say that I have learnt these topics 100% as I could not finish all the assignments but this course has been an eye opener for me. Secondly, about Jalal sir. I used to see his posts in facebook and thought that he is just like all those guys who just talks much but this concept of mine was also broken as I saw first hand his depth on these topics specially on system design and architecture. He was like a teacher and a guardian at the same time.

Student Photo

Md. Al - Mustanjid

Posted On: 15-May-2020

The OOP is not easy to understand, but this course design and the instructor Jalal Sir helped me a lot to understand and build the basics about OOP fundamentals. As well as I also learned about various architectures in software development and design. Thanks to Jalal sir and Devskill.

Student Photo

Md. Araf Hasan

Posted On: 15-May-2020

Till now In my whole programming life, I am really thankful for my luck that I found Jalal Sir. It was a great journey with him. The materials he provided me and his guidance was really sophisticated to make a perfect approach to be a good software engineer, I think this course was a decent fruitful seed to make me clear to take my next step decisions.

Student Photo

Daud Mohammed

Posted On: 12-May-2020

This was a well-organized course on OOP. I have found our trainer Jalal sir helpful and patient. He explained the promised topics in detail. Anyone wishing to join this course must have good command on C#/ PHP to have the most outcome from the course. Thanks to Devskill.

Back to top