Avraham is a Senior Architect with L&T Technology Services tasked with designing complex PayTV systems. He also researches and teaches theory of software development. He is currently studying, writing and teaching about the complex relationships between the organizations that create software and the software they create.
In this talk, I will tell the story of people attempting to create a shared understanding of a problem and of a solution to that problem. The main lesson of this talk will be the importance of having many models when describing something complex.
Communication is the way we create a shared understanding. One of the primary methods of communication, is the “model”. A model is a representation (often visual) of the domain and of the software.
Of course, there is no one representation of the software, there are many representations of the software, and hence there are many models. While it is true that a model can be correct or incorrect, a more significant discussion of a model is its usefulness or lack thereof.
A simple problem with a clear solution can be simply modeled. A complex problem will have a complex model. The only thing we can hope for is to have a model that is not more complex than the thing it is representing.
I will explore how humans communicate to create a shared understanding. This will lead into a discussion as to what a “model” is, and why models can be so useful. I will emphasize that the more complex the domain or the solution is, the more important rich communication is. I will explain how it is that multiple perspective of the model allow us to capture the complexity of the software
We all know that any representation of a model only tells part of the story. In order to get the full picture of a complex system, we need to have multiple representations. We might need a use case diagram, a sequence diagram, an entity relationship diagram and so forth. What we sometimes tend to ignore is that even the same type of model should be presented in multiple ways. For example, in order to tell a complex story we might need several sequence diagrams telling the same sequence. They might differ from each other in level of abstraction, in depth of detail, or the use case on which they focus. In this hands-on session, I will first cover some of the theory as to why multi perspective modeling is important. This will be based on the idea that in order to describe and understand complex systems, we need to observe and describe them in multiple ways.
In the hands-on exercises, we are going to explore a domain, and go through several simple exercises in multi perspective modeling.
Participants are expected to have experience in system design/software design.
Missed #DDDEU?Get tickets for the next edition