Software Architecture Definition Dissection

Software Architecture Definition Dissection Whenever we have a software project in hand, most of the time, it means we have encountered either a problem or an opportunity in a business domain. Regardless of the methodology and approach, we are using to manage the development process, we need to do some activities which RUP calls them Read More…

Viscosity

First of all, I should say, I am neither a physicist nor a chemist, so this post is not about Physic nor chemistry, it’s about software engineering, however, viscosity is still a characteristic of fluids. In this article, we define viscosity as a symptom in the software development process. Let’s start with a definition of Read More…

Can you model “Trousers”?

What does the picture of this post model, “Trousers” or “Ass”? It depends on the bounded context you are in and looking out the outside world. This is a great presentaion about bounded contexts by Cyrille Martraire.

The magic of the modelling

Human beings perception of the universe and reality is based on his senses, sight, hearing, smell, taste and touch; What we see as the “Reality” is not the reality, there are many voices we cannot hear, many frequencies of electromagnetic waves we can not see, and this constraint on our perception is what empowers us Read More…

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…

Microservices Anti-Patterns

Microservices is a silver bullet, magic pill, instant fix, and can’t-go-wrong solution to all of software’s problems. In fact, as soon you implement even the basics of microservices all of your dreams come true; you will triple productivity, reach your ideal weight, land your dream job, win the lottery 10 times, and be able to Read More…