Actually just a triptych of a peacock, not of Software Engineering. This'll be a sort of abridged summary of the topic, any more information you might need, I recommend you try the book (name in bottom of the post). In any given domain that you will work on, you will encounter the following things inside them: Entities These are comparable to variable types in any programming language, the bread and butter of domain engineering. Without them you can't do much. In this book, we use a language called RSL (or eRAISE ), created by the books author Dines Bjørner to explain our domain in a more technical way. In RSL Entities are refered to as " types ". Say we are working on a domain for a super market, the entities (types) could be: customer, employee, money, merchandise, etc. Functions Now with functions, they tell you what the domain will do with those entities, called values in RSL. Like any function, it will take in an input (or not) and produce an outpu...