diff options
Diffstat (limited to 'usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/6 - Adding Relationships - lang_en.srt')
-rw-r--r-- | usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/6 - Adding Relationships - lang_en.srt | 488 |
1 files changed, 0 insertions, 488 deletions
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/6 - Adding Relationships - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/6 - Adding Relationships - lang_en.srt deleted file mode 100644 index d47ef80..0000000 --- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/6 - Adding Relationships - lang_en.srt +++ /dev/null @@ -1,488 +0,0 @@ -1 -00:00:00,420 --> 00:00:02,740 -OK I like the way this class diagram is - -2 -00:00:02,740 --> 00:00:05,850 -coming along. So at this point I think we - -3 -00:00:05,850 --> 00:00:08,300 -have all the classes that we need. For each - -4 -00:00:08,300 --> 00:00:12,250 -class we specified the attributes or the characteristics of the - -5 -00:00:12,250 --> 00:00:15,150 -class. And we also specified the operations so we - -6 -00:00:15,150 --> 00:00:18,710 -know what the class can do And, I like to - -7 -00:00:18,710 --> 00:00:22,110 -kind of move forward on this, but I first - -8 -00:00:22,110 --> 00:00:25,690 -want to see that you're fine with the class structure. - -9 -00:00:25,690 --> 00:00:27,500 -So that's the way the class structure is going - -10 -00:00:27,500 --> 00:00:29,880 -to be in terms of attributes and operations. So anything - -11 -00:00:29,880 --> 00:00:34,910 -that bothers you? Well, one thing I didn't understand - -12 -00:00:34,910 --> 00:00:38,090 -is how come you put check out over where - -13 -00:00:38,090 --> 00:00:40,350 -the patron when it's really the item being checked - -14 -00:00:40,350 --> 00:00:46,280 -out? Right. Okay. So that actually is you know, is a perfect - -15 -00:00:46,280 --> 00:00:48,030 -segway for the next thing that really wanted - -16 -00:00:48,030 --> 00:00:50,780 -to model. Because what you're talking about is basically a - -17 -00:00:50,780 --> 00:00:54,100 -relationship between two classes which is something we haven't touched on - -18 -00:00:54,100 --> 00:00:57,582 -yet. So we haven't, haven't looked at individual classes. But now, it - -19 -00:00:57,582 --> 00:01:00,720 -is typical, now we are looking more at requirements, we're starting to - -20 -00:01:00,720 --> 00:01:04,800 -find more things about our system, and what you're pointed out right - -21 -00:01:04,800 --> 00:01:08,370 -now is the fact that patron and item are somehow related. So - -22 -00:01:08,370 --> 00:01:11,020 -this checkout operation is not really something that belongs only on in - -23 -00:01:11,020 --> 00:01:13,660 -the patron, because it needs to know about the item. And it - -24 -00:01:13,660 --> 00:01:15,790 -doesn't belong only on the item because it needs to know about - -25 -00:01:15,790 --> 00:01:19,640 -the patron. So, it's something that associates the patron and - -26 -00:01:19,640 --> 00:01:22,600 -the item. Okay. And that's exactly the way we call - -27 -00:01:22,600 --> 00:01:24,630 -in the UML which is the notation that we're using - -28 -00:01:24,630 --> 00:01:29,060 -here this kind of relationship. So, we're going to represent that - -29 -00:01:29,060 --> 00:01:32,820 -by drawing a line between these two classes that tells - -30 -00:01:32,820 --> 00:01:35,220 -us there is an association. And we're also going to - -31 -00:01:35,220 --> 00:01:37,890 -give a name to this. Since this refers to the - -32 -00:01:37,890 --> 00:01:40,280 -fact of checking out items. We're just going to call - -33 -00:01:40,280 --> 00:01:43,794 -it, checkout. Gotcha. And notice that this basically you - -34 -00:01:43,794 --> 00:01:48,500 -know,eventually will end up kind of replacing this attribute. Because - -35 -00:01:48,500 --> 00:01:51,780 -the existence of this association will tell us that - -36 -00:01:51,780 --> 00:01:53,932 -this is checked out. We're, we're not going to, you know, - -37 -00:01:53,932 --> 00:01:55,428 -do it right now, but in the final cleanup - -38 -00:01:55,428 --> 00:01:58,750 -or the diagram, this name will disappear. Okay. Okay. - -39 -00:01:58,750 --> 00:02:02,190 -And so since we started talking about relationships and - -40 -00:02:02,190 --> 00:02:05,280 -associations, is there any other kind of relationship that you - -41 -00:02:05,280 --> 00:02:08,805 -see here? Well, what you just did with checked - -42 -00:02:08,805 --> 00:02:12,009 -out is, it seems similar to the whole issue - -43 -00:02:12,009 --> 00:02:16,090 -of requests. It is, it is. So a request - -44 -00:02:16,090 --> 00:02:19,580 -is something else that happens in both, you know, in - -45 -00:02:19,580 --> 00:02:22,090 -the patron and in the item, it involves both. - -46 -00:02:22,090 --> 00:02:24,070 -And in fact in a request, I would definitely - -47 -00:02:24,070 --> 00:02:26,950 -represent this as an additional association. So I will - -48 -00:02:26,950 --> 00:02:30,730 -just draw an another line between these two that represent - -49 -00:02:30,730 --> 00:02:33,804 -that specific kind of relationship and I will call it - -50 -00:02:33,804 --> 00:02:37,330 -request. So that indicates that this association refers to a - -51 -00:02:37,330 --> 00:02:41,660 -request that also connects the patron with an item. Okay. - -52 -00:02:41,660 --> 00:02:45,710 -And, let's see. Any, anything else that jumps at you? - -53 -00:02:45,710 --> 00:02:47,590 -Yeah, well, how about all these ones down at the - -54 -00:02:47,590 --> 00:02:50,080 -bottom? I mean book and item's got to be - -55 -00:02:50,080 --> 00:02:52,920 -related, right? A book is a kind of item, And - -56 -00:02:52,920 --> 00:02:55,860 -audiovisual... are there associations between them? Can you repeat - -57 -00:02:55,860 --> 00:02:58,790 -that, you said that the book, yeah? Is - -58 -00:02:58,790 --> 00:03:02,550 -a kind of item. Perfect, that's exactly what we're - -59 -00:03:02,550 --> 00:03:04,700 -modeling next, which is, this, what we call the - -60 -00:03:04,700 --> 00:03:07,900 -is-a relationship. So you said, a book is an item? - -61 -00:03:07,900 --> 00:03:13,346 -A book is an item. And, we can model that in the diagram. So, we do that - -62 -00:03:13,346 --> 00:03:17,409 -using another kind of relationship between the classes. So - -63 -00:03:17,409 --> 00:03:21,210 -we're going to represent that as a specialization we call it. - -64 -00:03:21,210 --> 00:03:24,890 -And, a specialization is indicated in this way. Okay? - -65 -00:03:24,890 --> 00:03:27,410 -With this arrow at the end, so a solid - -66 -00:03:27,410 --> 00:03:30,800 -with this kind of arrow at the end. And - -67 -00:03:30,800 --> 00:03:34,160 -we can do the same for book, magazine, reference book - -68 -00:03:34,160 --> 00:03:36,200 -and audiovisual material. So we're all going to connect, - -69 -00:03:36,200 --> 00:03:37,950 -we're going to connect all of them, to the - -70 -00:03:37,950 --> 00:03:43,190 -item, using the same kind of connection. And now - -71 -00:03:43,190 --> 00:03:47,200 -that we have connected all these four, with item - -72 -00:03:47,200 --> 00:03:50,620 -and indicated them in subclasses. That's something else that we can - -73 -00:03:50,620 --> 00:03:54,370 -do. So we can make this kind of cleaner. And I'll - -74 -00:03:54,370 --> 00:03:56,360 -tell you what I mean by that. So now we have - -75 -00:03:56,360 --> 00:04:00,190 -this loanable attribute that refers to item, but it seems to - -76 -00:04:00,190 --> 00:04:03,100 -me from what you were saying before, that loanable is not - -77 -00:04:03,100 --> 00:04:05,490 -really an attribute of an item. Right? It's more of a - -78 -00:04:05,490 --> 00:04:09,240 -characteristic of the type of item. Right. Is that right? Right. - -79 -00:04:09,240 --> 00:04:13,120 -Books, and audio/visual are loanable but the others aren't. - -80 -00:04:13,120 --> 00:04:16,450 -Okay, and so representing it here, it's okay to, - -81 -00:04:16,450 --> 00:04:20,579 -it will work. But it's not really right so from - -82 -00:04:20,579 --> 00:04:23,590 -the style standpoint it doesn't really you know, - -83 -00:04:23,590 --> 00:04:26,100 -it's not the best way of modeling this. What we're going to - -84 -00:04:26,100 --> 00:04:30,130 -do instead, we're going to use this specialization relationship to make - -85 -00:04:30,130 --> 00:04:33,000 -that more explicit. To make it cleaner. Okay, so what - -86 -00:04:33,000 --> 00:04:35,300 -I'm doing here is I'm going to take this hierarchy - -87 -00:04:35,300 --> 00:04:38,130 -of classes, this is just on two levels now, and I'm - -88 -00:04:38,130 --> 00:04:40,380 -going to kind of make it a little richer. - -89 -00:04:40,380 --> 00:04:43,470 -So I'm going to add an intermediate set of - -90 -00:04:43,470 --> 00:04:45,756 -classes. And in particular I'm going to have these two - -91 -00:04:45,756 --> 00:04:48,306 -classes that I'm going to call non loanable item and loanable - -92 -00:04:48,306 --> 00:04:51,790 -item. So, they're both items but they tell me - -93 -00:04:51,790 --> 00:04:55,490 -clearly that some items are loanable and some items - -94 -00:04:55,490 --> 00:04:59,392 -are not. Okay. Okay. And then I'm simply going to - -95 -00:04:59,392 --> 00:05:03,192 -put book and audio video material as subclasses of loanable - -96 -00:05:03,192 --> 00:05:07,980 -item and reference book and magazine as subclasses of non-loanable - -97 -00:05:07,980 --> 00:05:10,510 -item. So, if we look at this diagram now it's - -98 -00:05:10,510 --> 00:05:13,650 -pretty clear what is loanable and what is not. And - -99 -00:05:13,650 --> 00:05:16,070 -it's actually is a very clean, much cleaner - -100 -00:05:16,070 --> 00:05:18,980 -design. And, and I see you've, gotten rid of - -101 -00:05:18,980 --> 00:05:21,560 -the loanable attribute, too. I did. Because at - -102 -00:05:21,560 --> 00:05:24,130 -this point this is already represented by the fact of - -103 -00:05:24,130 --> 00:05:28,570 -having these two classes. And actually, something else that I did - -104 -00:05:28,570 --> 00:05:31,820 -is that I moved all these attributes, value, - -105 -00:05:31,820 --> 00:05:34,220 -due date, renewed and checked out, that makes - -106 -00:05:34,220 --> 00:05:37,452 -sense only for loanable item. From item to - -107 -00:05:37,452 --> 00:05:40,450 -loanable item. So at this point, this really - -108 -00:05:40,450 --> 00:05:42,600 -is telling me that, you know, these - -109 -00:05:42,600 --> 00:05:46,410 -characteristics are just meaningful for the loanable item, - -110 -00:05:46,410 --> 00:05:53,800 -and not for the other ones. Well, speaking of that, the way that you got the - -111 -00:05:53,800 --> 00:05:57,270 -lines going in the diagram here is you still have - -112 -00:05:57,270 --> 00:05:59,920 -request and checked out going to item, even though you - -113 -00:05:59,920 --> 00:06:02,610 -can't request non loanable Items. You can't check out non - -114 -00:06:02,610 --> 00:06:05,630 -loanable Items. Oh, you were right actually. You got me on - -115 -00:06:05,630 --> 00:06:10,940 -that one. You're exactly right. So this associations are between - -116 -00:06:10,940 --> 00:06:13,440 -the two wrong classes. So, I guess, at this point, - -117 -00:06:13,440 --> 00:06:16,450 -you can probably go and fix the diagram yourself. Well, - -118 -00:06:16,450 --> 00:06:19,120 -can we just make the lines go from patron to loanable - -119 -00:06:19,120 --> 00:06:21,640 -item instead of to item? That's exactly the way in which we - -120 -00:06:21,640 --> 00:06:25,550 -are going to fix it. So, we're going to move these two associations down - -121 -00:06:25,550 --> 00:06:29,190 -here. And at this point, this will represent the right relationships in - -122 -00:06:29,190 --> 00:06:31,850 -the, in the diagram, and in the system. Makes sense to me. - |