A healthy object-oriented recipe for business applications -Part2

In the first part of this topic, I described how can we start a software problem from scratch, that step results in a simplified perspective from the real-world objects and concepts which helps to omit a part of problem intrinsic complexity by focusing on a limited part of the data properties and business relation between Read More…

A healthy object oriented recipe for business applications

A Line-Of-Business application or for short a LOB application is a one of the critical computer applications that are vital to running an enterprise. LOB applications are usually large programs that contain a number of integrated capabilities and tie into databases and database management systems. These applications are responsible for integrating three fundamental pillars of Read More…

APM at a glance

You should hear about MRI; it’s an abbreviation for “Magnetic resonance imaging” according to Wikipedia’s definition “Magnetic resonance imaging” (MRI) is a medical imaging technique used in radiology to form pictures of the anatomy and the physiological processes of the body in both health and disease. MRI scanners use strong magnetic fields, magnetic field gradients, Read More…

The relationship between Modularity and Polymorphism.

Object-oriented Analysis and Design plus Object-oriented programming have been new approaches in the software development since 1967, during more than fifteen years, the foundation of this paradigm is so robust and reliable, so that makes this thinking framework as the most dominant problem-solving in software production. Thanks to all pioneers and influencers of this paradigm Read More…

Inheritance and its misunderstandings in the Object-oriented design

Recently I had a conversation with one of my students in the “Advanced Object-Oriented Design” course about why nowadays Functional programming paradigm is so interesting while for decades Object-oriented paradigm has been dominated paradigm. If you do some search on the web you find dozens of articles and debates about this topic, so, I don’t Read More…

Use cases are not just about requirements

At the biology science, stem cells are biological cells that can differentiate into other types of cells and can divide to produce more of the same kind of stem cells. They are found in multi-cellular organisms. Cells in the body have specific purposes, but stem cells are cells that do not yet have a particular Read More…

Vision Document, A Practical Approach!

We all know a Vision document is the constitution of the project; it is the most critical document in both agile and UP based software development methods. This document represents a bird’s eyes view of the project and its boundary, including problem statement, constraints in addition to the required services for addressing the problem. This Read More…

Design for simplicity not for complexity!

When I was a novice programmer, I was interested in intricate designs, I believed if there is not a dozen of “Interfaces” either “Abstract classes” the design is not mature, I believed there are always many changes out of the door waiting for tackle the project. The result was a super complex design which tried Read More…

There is neither Snake nor Ladder, In the Snake& Ladder game from an OOD Perspective!

Beforehand, I have discussed the role of the simplicity in creating an efficient software design, and now in this article, I am going to use an example of the simplifying process to remove complexity factors from a real-world problem to reach a maintainable and good enough rich object-oriented design. The problem I want to solve Read More…