Concurrency

Concurrency in Object Oriented Analysis and Design (OOAD) is like managing multiple tasks at at the same time, just as people multitask in every day life.

Imagine you’re a chef in a restaurant. You have several orders to prepare, and each order consists of different dishes. You can’t cook one disk at a time and move to the next dish because customers are hungry and waiting for their food. So, you need to work on multiple dishes simultaneously

Now, let’s relate this to OOAD:

  • Tasks as Objects: In OOAD, think of each dish you’re cooking as an object or a task. Each dish has its recipe ad cooking instructions, just like objects have their method and properties.
  • Concurrency in Kitchen: You are working concurrently in kitchen, managing multiple dishes simultaneously. While one dish is simmering, you might be chopping ingredients for another or seasoning a third. You switch between tasks efficiently to serve all orders.

In OOAD, concurrency is about managing multiple tasks or processes within a software system simultaneously. It’s like juggling different tasks efficiently to make the most of your time.

Object Oriented Principles in OOAD

Object-oriented principles are a set of guidelines for designing and implementing software systems that are based on the idea of objects. Objects are self-contained units of code that have both data and behavior. They can interact with each other to perform tasks.

Object-Oriented Analysis and Design (OOAD) is a software engineering methodology that uses object-oriented principles to design and implement software systems. OOAD involves a number of techniques and practices, including:

  • Object-Oriented Modelling: This involves using visual diagrams to represent the different objects in a software system and their relationships to each other.
  • Use Cases: This involves describing the different ways in which users will interact with a software system.
  • Design Patterns: This involves using reusable solutions to common problems in software design.

Important Topics for Object Oriented Principles in OOAD

  • Abstraction
  • Encapsulation
  • Modularity
  • Hierarchy
  • Typing
  • Concurrency
  • Persistence
  • Conclusion

Similar Reads

Abstraction

...

Encapsulation

Think of a TV remote control. It has buttons like power, volume up, volume down, and channel change. Now, let’s use this as an example of Abstraction...

Modularity

Let us take an example of a water bottle to explain encapsulation:...

Hierarchy

Modularity in OOAD is like organizing your kitchen. Just as you keep pots in one cabinet and dishes in another for easier access and maintenance, in OOAD, you group similar functions and data into organized module or classes. This makes it simpler to understand and change specific parts of your software without affecting the entire program, similar to how you can upgrade one appliance in your kitchen without redoing the whole room....

Typing

Lets us take an example of a family. In a family there are grandparents, parents, and children:...

Concurrency

Typing involves categorizing objects based on their data types (e.g., integers, strings, custon objects) to ensure they are used appropriately....

Persistence

Concurrency in Object Oriented Analysis and Design (OOAD) is like managing multiple tasks at at the same time, just as people multitask in every day life....

Conclusion

Persistence is the idea of storing data even after the program or computer is turned off, ensuring it’s available when needed....