OK, very good.
So now I'm going to do a quick introduction to what UML is about and then later on we're going to have
a couple of lectures when we go into the details in the parts of your email that we're going to use
in this course.
So UML is an abbreviation for the unified modeling language, right?
The unified modeling language is standardized general purpose modeling language in the field of software
and business engineering.
So it's not just about modeling.
It's systems which can be used to model any type of system, including businesses or institutions.
It's managed by what is called the object management group, the OMG.
So that is the organization that owns the specification and handles all the new releases of it and includes
a set of graphical notation techniques to create visual models of systems.
Good, because that's exactly what we need.
Right.
So a very short history of UML.
So UML was formed in 1996 in GML version 1.0 and it was released by the what is called like the Three
Amigos, which are James Rumbo.
Great Ibukun IV, our Jakobson as a result of a merger of their respective methods for object oriented
model.
And so each of them actually had three different methods for doing object oriented modeling, which
were in some way overlapping in some of the aspects were overlapping and some of them were kind of handling
different parts of what you needed.
So they merged them all together and they formed UML 1.0.
So after that first release in 1996, then they came a version one point three, one point four, one
point five that fixed some of the shortcomings and bugs that was related to that little bit of a merge.
And two, think in 2005, a major revision was adopted in version 2.0.
And that's more of a stable version, I will say.
And that is also then being upgraded to a two point five.
Now, I was actually working with our evangelicals, some for five years in one of these startups called
Jackson during the time when Jumeau 2.0 was developed.
And that was a great period.
I learned so much I wasn't actually part of the specification committee, but I had some colleagues
that were actually part of specifying you a zero to 2.0.
And also one was the first version as well.
And they were a great inspiration for me.
So YAML, however, is very big, so to speak, in terms of that.
It includes tools to be used in very many different situations.
And usually you need all those tools if you want to specify a complete system.
But right now we're only focusing on the subset of UML.
So Yamal includes diagrams, diagram types for, for example, structure diagrams and behavior diagrams.
And in the structured diagram said there are profile diagrams, class diagrams, composite structure
diagrams, component diagrams, deployment diagrams on diagrams, package diagrams and in the behavior
diagram said there are like activity diagrams, use case diagrams, state machine diagrams, interaction
diagrams and in the interaction diagram.
So these subclasses of interaction by against are sequence diagrams, communication, diagrams, interaction,
overview, dialogue and timing diagram.
So there is a lot of diagram types to use here.
And I've come I've actually used many of them in many different situation.
As I said, if you want to specify a complete system, then you might need to use many of them.
But in our specific course right now, we're going to focus on a very limited subset on them.
So we are actually going to use class diagrams or diagrams and package diagrams and maybe also composite
structure diagrams a little bit.
I'm going to touch upon some examples how you can use them.
But the main focus is going to be on class diagrams, big diagrams and package diagrams.
So the basic needed in this course, as I said, UML is big, but we only going to use kind of the core
of UML.
So actually UML is actually defined using UML.
It's in itself.
So there's a subsidy e-mail that is used to define the rest of the specification and we're going to
use some of those kind of very core features of UML.
So we're going to talk about what two classes, of course, we're going to talk about are the classes,
attributes, a classes, what is correspond to our concepts that we talked about, so to speak.
In the philosophical discussion, an attribute corresponds to properties.
So we could have in another class and we have yet another class so we can have different classes and
the classes could have associations to other classes.
So those are done modeling our kind of relations.
We talked about in the philosophical section, we can also have other types of relations like generalisations.
We talked about that when we talked about the different meanings of the term is.
So we have a general implication here or we can have like normal relations with other concepts.
So a general implication is saying that class, the first class or just a class, is a subset of yet
another class.
Sorry, is a subclass of yet another class.
And then we can talk about instances which are the object specifications that I said so we could have
yet another class and then one instance and the second instance.
And we can have what is called links between instances, which are actual occurrences of relations between
objects.
So those are basically the stuff that we're going to talk about.
So they are very much linked to the philosophical discussion that we've had.
And I'm going to show you in the common lectures more exactly how intertwined they are.
Then we're going to talk about that.
You have a notion of a package which is like encompasses a domain.
So we can have domains, we can subdomains, so we can have the first two classes who are in one package
and the latter class in two instances are in another package.
And therefore also we can have a dependency relation between packages, which is a which is a result
of the other associations or generalizations that is going on between the classes.
So even if if you smell is large and there's hundreds of different elements that you can use within
UML, this is more or less the subset of UML that we're going to use in the discourse.
But I'm going to go through this now in very detail in a couple of lecture touching upon each of the
elements and how they used how you use them and what the semantics behind each element is.
Very good.
So that was the very brief overview of what you mallis about and the subset of you may be using in this
course.