Software Engineering: The Triptych of Software Engineering

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:

  1. 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.
  2. 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 output. In RSL you input a type (or multiple types) to create an output.

  3. Events

    Events are sort of descriptions of things that occur between entities. Like say in a store, a possible event can be when a transaction is happening. Or in a mail delivery service when mail is sent, or received, they function similar to functions. A sort of trigger if you think about it.
  4. Behaviors

    Behaviors are the collection of events and functions that help us describe how something or someone.

    An example of this can be a customer in a store, where their functions could be: searchProducts, Pay, etc. With events like finishedSearching, aboutToBuy, etc.

Here's an example of how it all looks like in RSL:







(Yeah it can get real confusing...)

Book used for this topic: Dines Bjørner, Software Engineering, Vol 3, Springer, 2006. (short SE-V3)

Comments

Popular posts from this blog

JavaFX Snake Game (WIP)

Software Engineering: Documents

Where have I been?