02.01 Understanding the object-oriented analysis and design processes

Whether you use software development mythology or not these are the entire point of object oriented analysis and design. What class does you need and what are they do? Lot of formal mythology has their own unique name for work through their process but although there are multiple processes to approach this, the ideas are very similar. We go through using five steps:-

  1. Gather Requirements
  2. Describe the App
  3. Identify the main object
  4. Describe the Interactions (between objects)
  5. Create class Diagram

We are going all of these more details on technics to each step later now discus basic concept.

  1. Gather Requirements:-

What is the app needs to do? What problem are you trying to solve? You focus it and you write it on a paper.

  1. Describe the App:-

You build simply narrative how people use the app. You are not trying to write a book but you are trying to describe specific technic for this including use case, use story. This may be inaccurate, may be incomplete, may be changed that’s ok we still do it.

You may or may not at this point also create a mockup or prototype of the user interface. Sometimes that is essential.

  1. Identify the main objects:-

This is the actually the starting point of identifying you actual classes. So you are trying to use stories, the descriptions you just wrote to pick up the most important idea, most important concepts, the most important things in our application, not everything we pick here will become a class but, lot of them will.

  1. Describe the Interactions:-

As you then formally the interaction between those objects, this also lets you start a better understanding the responsibilities of the different objects, the behaviors I need to have when they interact what they do and what order they need to do, this is call a sequence diagram.

  1. Create a Class Diagram:-

This is a visual representation of the classes you need and here we get to really specific about object orientation principal like inheritance, polymorphism.

But no point any of these you wrote code yet, the output is on paper, on index card, on white board it could be done using electronic tools but it is really better on paper for now. The main result you expect from the process is that Class Diagram – that is the most common way you write down the classes you need to make, the methods of the classes and the interaction between the different objects in your application. In an iterative approach to developing software this is not done once, you’ll continually re-visit refine these steps over weeks and month of development.

01.07 What is polymorphism?

Finally we have Polymorphism which means “many forms”. It is most complex term but very powerful. It lets us automatically do the correct behavior even we are working with many different forms. Example: + (plus sign), what is this do? It depends on programming languages. If we add two variables with the plus sign, if […]

01.06 What is inheritance?

We can create a new class but, instead of writing from scratch we can base an existing class. Example, in an object oriented language a better way is that we can create a new class called customer inheritance from the person class. That means our new customer class automatically has everything that the person class […]

01.05 What is encapsulation?

Think a capsule, a food container this is the idea of surrounding something not just keep the contents together but also protect those contents. In object orientation we will take attributes, behaviors bundling them together in the same unite/ class. We also want to restrict / protect access to any object based on that class. […]

01.04 What is abstraction?

There are four fundamental ideas in object oriented programming, four things to keep in mind when creating class. A Abstraction P Polymorphism I Inheritance E Encapsulation   You do most of them daily conversation even you don’t use the words. If I say a table, you know what I mean by the word table. I […]

01.03 What is a Class?

Object and class goes hand-and-hand, we can’t talk about one without talking about other. The entire OOD is not about object it’s about classes because, we use class to create object. Class describes what an object will be but, is not object itself. A class is blueprint, detail description of an object. We define the […]

01.02 What is an Object?

Always remember that object oriented programming is closer to the thinking about real world. If we asked what an object in computer program, we first ask what an object in the real world. In real life apple, car, table … they are all object. These are all thing. We understand that objects are separated from […]