WEBVTT 00:10.580 --> 00:11.690 OK, very good. 00:12.440 --> 00:18.440 So now I'm going to do a quick introduction to what UML is about and then later on we're going to have 00:18.440 --> 00:23.120 a couple of lectures when we go into the details in the parts of your email that we're going to use 00:23.120 --> 00:23.840 in this course. 00:24.260 --> 00:28.510 So UML is an abbreviation for the unified modeling language, right? 00:29.030 --> 00:34.800 The unified modeling language is standardized general purpose modeling language in the field of software 00:34.800 --> 00:35.850 and business engineering. 00:35.870 --> 00:38.150 So it's not just about modeling. 00:38.780 --> 00:44.570 It's systems which can be used to model any type of system, including businesses or institutions. 00:46.860 --> 00:51.580 It's managed by what is called the object management group, the OMG. 00:52.430 --> 00:58.970 So that is the organization that owns the specification and handles all the new releases of it and includes 00:58.970 --> 01:04.000 a set of graphical notation techniques to create visual models of systems. 01:05.120 --> 01:06.650 Good, because that's exactly what we need. 01:06.740 --> 01:07.100 Right. 01:08.090 --> 01:11.360 So a very short history of UML. 01:12.500 --> 01:22.910 So UML was formed in 1996 in GML version 1.0 and it was released by the what is called like the Three 01:22.910 --> 01:25.420 Amigos, which are James Rumbo. 01:25.430 --> 01:31.220 Great Ibukun IV, our Jakobson as a result of a merger of their respective methods for object oriented 01:31.220 --> 01:31.450 model. 01:31.460 --> 01:36.980 And so each of them actually had three different methods for doing object oriented modeling, which 01:36.980 --> 01:43.520 were in some way overlapping in some of the aspects were overlapping and some of them were kind of handling 01:43.520 --> 01:44.950 different parts of what you needed. 01:45.200 --> 01:49.400 So they merged them all together and they formed UML 1.0. 01:51.290 --> 01:57.440 So after that first release in 1996, then they came a version one point three, one point four, one 01:57.440 --> 02:04.160 point five that fixed some of the shortcomings and bugs that was related to that little bit of a merge. 02:05.270 --> 02:11.120 And two, think in 2005, a major revision was adopted in version 2.0. 02:11.120 --> 02:15.050 And that's more of a stable version, I will say. 02:15.500 --> 02:19.030 And that is also then being upgraded to a two point five. 02:19.190 --> 02:24.890 Now, I was actually working with our evangelicals, some for five years in one of these startups called 02:24.890 --> 02:30.500 Jackson during the time when Jumeau 2.0 was developed. 02:30.860 --> 02:32.570 And that was a great period. 02:32.570 --> 02:39.140 I learned so much I wasn't actually part of the specification committee, but I had some colleagues 02:39.140 --> 02:42.980 that were actually part of specifying you a zero to 2.0. 02:43.250 --> 02:45.830 And also one was the first version as well. 02:47.540 --> 02:49.460 And they were a great inspiration for me. 02:51.440 --> 02:56.240 So YAML, however, is very big, so to speak, in terms of that. 02:56.710 --> 03:01.880 It includes tools to be used in very many different situations. 03:02.060 --> 03:07.700 And usually you need all those tools if you want to specify a complete system. 03:08.120 --> 03:12.320 But right now we're only focusing on the subset of UML. 03:12.620 --> 03:19.070 So Yamal includes diagrams, diagram types for, for example, structure diagrams and behavior diagrams. 03:19.460 --> 03:24.650 And in the structured diagram said there are profile diagrams, class diagrams, composite structure 03:24.650 --> 03:31.370 diagrams, component diagrams, deployment diagrams on diagrams, package diagrams and in the behavior 03:31.380 --> 03:37.490 diagram said there are like activity diagrams, use case diagrams, state machine diagrams, interaction 03:37.490 --> 03:40.100 diagrams and in the interaction diagram. 03:41.060 --> 03:45.770 So these subclasses of interaction by against are sequence diagrams, communication, diagrams, interaction, 03:45.770 --> 03:47.810 overview, dialogue and timing diagram. 03:49.570 --> 03:52.640 So there is a lot of diagram types to use here. 03:52.760 --> 03:58.160 And I've come I've actually used many of them in many different situation. 03:58.160 --> 04:02.990 As I said, if you want to specify a complete system, then you might need to use many of them. 04:03.530 --> 04:09.170 But in our specific course right now, we're going to focus on a very limited subset on them. 04:09.890 --> 04:18.140 So we are actually going to use class diagrams or diagrams and package diagrams and maybe also composite 04:18.140 --> 04:20.060 structure diagrams a little bit. 04:20.070 --> 04:22.550 I'm going to touch upon some examples how you can use them. 04:22.880 --> 04:27.080 But the main focus is going to be on class diagrams, big diagrams and package diagrams. 04:29.180 --> 04:37.880 So the basic needed in this course, as I said, UML is big, but we only going to use kind of the core 04:37.880 --> 04:38.600 of UML. 04:38.900 --> 04:41.420 So actually UML is actually defined using UML. 04:41.420 --> 04:42.980 It's in itself. 04:43.220 --> 04:47.510 So there's a subsidy e-mail that is used to define the rest of the specification and we're going to 04:47.510 --> 04:50.590 use some of those kind of very core features of UML. 04:51.110 --> 04:55.720 So we're going to talk about what two classes, of course, we're going to talk about are the classes, 04:55.730 --> 05:00.050 attributes, a classes, what is correspond to our concepts that we talked about, so to speak. 05:00.050 --> 05:04.550 In the philosophical discussion, an attribute corresponds to properties. 05:05.800 --> 05:11.110 So we could have in another class and we have yet another class so we can have different classes and 05:11.110 --> 05:14.460 the classes could have associations to other classes. 05:15.040 --> 05:18.100 So those are done modeling our kind of relations. 05:18.320 --> 05:25.810 We talked about in the philosophical section, we can also have other types of relations like generalisations. 05:25.810 --> 05:30.060 We talked about that when we talked about the different meanings of the term is. 05:30.070 --> 05:35.790 So we have a general implication here or we can have like normal relations with other concepts. 05:36.190 --> 05:44.500 So a general implication is saying that class, the first class or just a class, is a subset of yet 05:44.500 --> 05:45.190 another class. 05:46.720 --> 05:48.970 Sorry, is a subclass of yet another class. 05:49.600 --> 05:56.710 And then we can talk about instances which are the object specifications that I said so we could have 05:56.710 --> 05:59.890 yet another class and then one instance and the second instance. 05:59.890 --> 06:06.670 And we can have what is called links between instances, which are actual occurrences of relations between 06:06.670 --> 06:07.210 objects. 06:08.140 --> 06:12.430 So those are basically the stuff that we're going to talk about. 06:12.610 --> 06:15.880 So they are very much linked to the philosophical discussion that we've had. 06:16.060 --> 06:21.400 And I'm going to show you in the common lectures more exactly how intertwined they are. 06:22.390 --> 06:23.590 Then we're going to talk about that. 06:23.590 --> 06:27.220 You have a notion of a package which is like encompasses a domain. 06:27.520 --> 06:33.670 So we can have domains, we can subdomains, so we can have the first two classes who are in one package 06:33.670 --> 06:37.480 and the latter class in two instances are in another package. 06:37.780 --> 06:46.120 And therefore also we can have a dependency relation between packages, which is a which is a result 06:46.120 --> 06:50.410 of the other associations or generalizations that is going on between the classes. 06:52.030 --> 06:57.550 So even if if you smell is large and there's hundreds of different elements that you can use within 06:58.270 --> 07:01.930 UML, this is more or less the subset of UML that we're going to use in the discourse. 07:02.110 --> 07:09.370 But I'm going to go through this now in very detail in a couple of lecture touching upon each of the 07:09.370 --> 07:15.100 elements and how they used how you use them and what the semantics behind each element is. 07:16.780 --> 07:17.300 Very good. 07:17.590 --> 07:23.110 So that was the very brief overview of what you mallis about and the subset of you may be using in this 07:23.110 --> 07:23.470 course.