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, 0 insertions, 235 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
deleted file mode 100644
index 8ce2080..0000000
--- a/usth/ICT2.7/P2L2 OO Software Engineering and UML Subtitles/23 - UML Structural Diagrams: Component Diagram - lang_en_vs5.srt
+++ /dev/null
@@ -1,235 +0,0 @@
-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.