about summary refs log tree commit diff
path: root/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt')
-rw-r--r--usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt235
1 files changed, 235 insertions, 0 deletions
diff --git a/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt b/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt
new file mode 100644
index 0000000..8ce2080
--- /dev/null
+++ b/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt
@@ -0,0 +1,235 @@
+1

+00:00:00,100 --> 00:00:02,160

+There's two more structural diagrams that I want to

+

+2

+00:00:02,160 --> 00:00:04,670

+mention before we move to the behavioral ones. The

+

+3

+00:00:04,670 --> 00:00:07,420

+first one's the component diagram. A component diagram is

+

+4

+00:00:07,420 --> 00:00:09,690

+a static view of components in a system and of

+

+5

+00:00:09,690 --> 00:00:13,010

+their relationships. More precisely, a node in a component

+

+6

+00:00:13,010 --> 00:00:16,700

+diagram represents a component where a component consists of one

+

+7

+00:00:16,700 --> 00:00:21,090

+or more classes with a well-defined interface. Edges conversely

+

+8

+00:00:21,090 --> 00:00:25,290

+indicate relationships between the components. You can read this relationship

+

+9

+00:00:25,290 --> 00:00:29,600

+as component A uses services of component B. And notice that the

+

+10

+00:00:29,600 --> 00:00:32,990

+component diagrams can be used to represent an architecture, which is

+

+11

+00:00:32,990 --> 00:00:36,110

+a topic that we will cover extensively in the next mini-course.

+

+12

+00:00:36,110 --> 00:00:39,540

+So let's illustrate this with an example. So, what I'm representing

+

+13

+00:00:39,540 --> 00:00:43,160

+here is a component diagram for our example system, the course

+

+14

+00:00:43,160 --> 00:00:46,220

+management system. And as you can see, it's slightly more complex

+

+15

+00:00:46,220 --> 00:00:48,390

+than the other diagrams that we saw. But there's really no

+

+16

+00:00:48,390 --> 00:00:50,700

+need to go through all the steps and all the details.

+

+17

+00:00:50,700 --> 00:00:53,470

+Important thing is to point out some key aspects of

+

+18

+00:00:53,470 --> 00:00:56,370

+this diagram. So the first one is that these rectangular

+

+19

+00:00:56,370 --> 00:00:58,560

+nodes are the nodes in the system, so are my

+

+20

+00:00:58,560 --> 00:01:02,960

+components. For example, student is a component, schedule is a component,

+

+21

+00:01:02,960 --> 00:01:05,069

+and so on. And as far as edges are concerned,

+

+22

+00:01:05,069 --> 00:01:08,580

+I'm representing two kinds of edges. The first kind of dashed

+

+23

+00:01:08,580 --> 00:01:12,060

+edges which were part of the original uml definition and

+

+24

+00:01:12,060 --> 00:01:16,120

+indicate use. So an edge, for example, between this compnent and

+

+25

+00:01:16,120 --> 00:01:19,570

+this compnent indicated that the seminar management uses the

+

+26

+00:01:19,570 --> 00:01:23,890

+facilities component. More recently, in UML two, a richer representation

+

+27

+00:01:23,890 --> 00:01:26,240

+was introduced, which is the one that I'm also showing

+

+28

+00:01:26,240 --> 00:01:27,860

+here. So if we look at this part of the

+

+29

+00:01:27,860 --> 00:01:29,540

+diagram, you can see this sort of you now,

+

+30

+00:01:29,540 --> 00:01:34,080

+lollipop socket representation. And in this case, what this represents,

+

+31

+00:01:34,080 --> 00:01:37,920

+is that a lollipop indicates a provided interface. So an

+

+32

+00:01:37,920 --> 00:01:41,500

+interface that is provided by the component. So, for example,

+

+33

+00:01:41,500 --> 00:01:45,940

+this security component provides encryption capabilities. The socket,

+

+34

+00:01:45,940 --> 00:01:49,190

+conversely, indicates a required interface. So, for example, in

+

+35

+00:01:49,190 --> 00:01:52,270

+this case, it's saying that the facilities component

+

+36

+00:01:52,270 --> 00:01:55,920

+is needing access control capabilities, which, by the way,

+

+37

+00:01:55,920 --> 00:01:58,660

+is provided by the security component. So in

+

+38

+00:01:58,660 --> 00:02:02,240

+a sense these sockets and lollipop indicate interfaces between

+

+39

+00:02:02,240 --> 00:02:04,770

+a provider of some of functionality, and the client

+

+40

+00:02:04,770 --> 00:02:06,630

+of that functionality and you can look at those

+

+41

+00:02:06,630 --> 00:02:09,740

+as basically APIs. So sets of methods that

+

+42

+00:02:09,740 --> 00:02:12,160

+provide a given functionality. To give you another

+

+43

+00:02:12,160 --> 00:02:14,760

+example, if we look at the persistence components

+

+44

+00:02:14,760 --> 00:02:19,110

+the persistence component provides, unsurprisingly, persistent services. And

+

+45

+00:02:19,110 --> 00:02:21,650

+those persistent services are required by several other

+

+46

+00:02:21,650 --> 00:02:24,520

+components in the system. And in turn, the persistent

+

+47

+00:02:24,520 --> 00:02:28,320

+components relies on the University database component to

+

+48

+00:02:28,320 --> 00:02:31,740

+provide such services. So, there's the University DB components

+

+49

+00:02:31,740 --> 00:02:34,700

+provide these sort of low-level database services that are used

+

+50

+00:02:34,700 --> 00:02:38,150

+by the persistence component To in turn provided services. Last thing

+

+51

+00:02:38,150 --> 00:02:41,080

+I want to note is that components or relationships can be

+

+52

+00:02:41,080 --> 00:02:44,450

+annotated, so, for example if we look at the seminar management

+

+53

+00:02:44,450 --> 00:02:47,090

+and the student administration components you can see that they

+

+54

+00:02:47,090 --> 00:02:51,360

+are annotated here to indicate that they are user inferfaces. So

+

+55

+00:02:51,360 --> 00:02:53,600

+that's all I wanted to say on the component diagrams, but

+

+56

+00:02:53,600 --> 00:02:56,750

+again the key piece of information is that they represent components

+

+57

+00:02:56,750 --> 00:03:00,250

+in the system where a component consists of one or more classes indicate the

+

+58

+00:03:00,250 --> 00:03:03,540

+interfaces that these components provide or require.

+

+59

+00:03:03,540 --> 00:03:06,210

+and describe the interactions between these components.