From 8a7dfa0972c83fd811a4296e7373574bea4a28d0 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 19 Jul 2020 20:34:40 +0700 Subject: [usth/ICT2.7] Remove Udacity transcribes --- .../8 - Refining the Class Diagram - lang_en.srt | 328 --------------------- 1 file changed, 328 deletions(-) delete mode 100644 usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/8 - Refining the Class Diagram - lang_en.srt (limited to 'usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/8 - Refining the Class Diagram - lang_en.srt') diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/8 - Refining the Class Diagram - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/8 - Refining the Class Diagram - lang_en.srt deleted file mode 100644 index 1e47ea6..0000000 --- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/8 - Refining the Class Diagram - lang_en.srt +++ /dev/null @@ -1,328 +0,0 @@ -1 -00:00:00,260 --> 00:00:01,720 -Okay, so let me see if - -2 -00:00:01,720 --> 00:00:07,930 -anything changed after we did this last modification. - -3 -00:00:07,930 --> 00:00:09,530 -Acutally, there is someting that I would like - -4 -00:00:09,530 --> 00:00:12,120 -to do here. Because looking at this a little - -5 -00:00:12,120 --> 00:00:15,560 -bit more, I noticed that there are two - -6 -00:00:15,560 --> 00:00:18,760 -attributes, renewed and due date. That we have in - -7 -00:00:18,760 --> 00:00:21,640 -loanable Item, right? But they don't seem to - -8 -00:00:21,640 --> 00:00:25,590 -be really, attributes or characteristics of loanable Item. - -9 -00:00:25,590 --> 00:00:29,150 -They're more of the characteristics of the association between the - -10 -00:00:29,150 --> 00:00:31,450 -Loanable Item and the patron. Wouldn't you agree? - -11 -00:00:32,470 --> 00:00:34,230 ->> Well, yeah, it's not like you could - -12 -00:00:34,230 --> 00:00:37,644 -only renew a book once in it's entire history. - -13 -00:00:37,644 --> 00:00:41,220 ->> Right. Exactly, exactly. So, that's why what l like - -14 -00:00:41,220 --> 00:00:43,970 -to do is I would like to move those out of loanable - -15 -00:00:43,970 --> 00:00:48,020 -item. And actually there is a construct that we can use - -16 -00:00:48,020 --> 00:00:50,710 -to express this. It's called, we haven't seen it yet, but it's - -17 -00:00:50,710 --> 00:00:52,780 -a special kind of class. It's called an association - -18 -00:00:52,780 --> 00:00:55,480 -class. So, it's a class that is connected to - -19 -00:00:55,480 --> 00:00:57,730 -a specific association. So what we can do - -20 -00:00:57,730 --> 00:01:00,730 -here, we can create this class, which I'm going to - -21 -00:01:00,730 --> 00:01:05,200 -call checked out. I'm going to, associate it with - -22 -00:01:05,200 --> 00:01:09,520 -this, association. I'm going to connect it with this association. And - -23 -00:01:09,520 --> 00:01:11,620 -then I'm going to move the due date and the - -24 -00:01:11,620 --> 00:01:16,300 -renewed attributes From the LoanableItem here in this checked - -25 -00:01:16,300 --> 00:01:18,520 -out class. So in this way, seems to me that - -26 -00:01:18,520 --> 00:01:20,910 -it makes it very explicit for somebody looking at this - -27 -00:01:20,910 --> 00:01:25,530 -class diagram, that these characteristics are characteristics of the loan, - -28 -00:01:25,530 --> 00:01:28,200 -and not of the elements involved in the loan. - -29 -00:01:28,200 --> 00:01:33,410 ->> Can you do the same thing with Fine, isn't Fine a property of the - -30 -00:01:33,410 --> 00:01:36,740 -loan? Yeah, actually is right because - -31 -00:01:36,740 --> 00:01:39,120 -a fine is a fine for a specific loan, right? - -32 -00:01:39,120 --> 00:01:39,910 ->> That's correct. - -33 -00:01:39,910 --> 00:01:41,950 ->> Okay, so yeah. Then we can do that. - -34 -00:01:41,950 --> 00:01:45,900 -We don't need to represent fine as a class, we can just transform - -35 -00:01:45,900 --> 00:01:49,460 -that into an attribute that we can put into the checked out association class. - -36 -00:01:49,460 --> 00:01:50,560 ->> Gotcha. - -37 -00:01:50,560 --> 00:01:52,760 ->> Anything else? - -38 -00:01:52,760 --> 00:01:57,990 ->> Yeah. It occurred to me that there's another thing that happens in one - -39 -00:01:57,990 --> 00:02:00,260 -of my scenarios, I put down - -40 -00:02:00,260 --> 00:02:02,770 -about the patron actually returning an item. - -41 -00:02:02,770 --> 00:02:07,620 ->> Right. Okay, so we would probably need an additional operation, - -42 -00:02:07,620 --> 00:02:08,550 -I guess, for the patron. - -43 -00:02:08,550 --> 00:02:08,990 ->> Right. - -44 -00:02:08,990 --> 00:02:11,310 ->> So, okay, so what I'm going to do, that's pretty easy - -45 -00:02:11,310 --> 00:02:15,350 -to do, I'm just going to add the return operation here in the - -46 -00:02:15,350 --> 00:02:19,310 -patron, and when that happens, that will mean that I'll get rid - -47 -00:02:19,310 --> 00:02:23,490 -of this association class because the item is returned. Is that right? - -48 -00:02:23,490 --> 00:02:27,060 ->> Well, what happens if somebody drops the - -49 -00:02:27,060 --> 00:02:29,400 -book in the book drop, but doesn't pay the, - -50 -00:02:29,400 --> 00:02:31,050 -if it's overdue and doesn't pay the fine? - -51 -00:02:31,050 --> 00:02:32,700 -Will that get rid of the information about what - -52 -00:02:32,700 --> 00:02:33,040 -they owe? - -53 -00:02:33,040 --> 00:02:37,960 ->> Oh, I see. So you can have the item being available, but you still - -54 -00:02:37,960 --> 00:02:42,510 -want to know whether there is any pending fines on the book. - -55 -00:02:42,510 --> 00:02:44,390 ->> Uh-huh, and how much those fines are. - -56 -00:02:44,390 --> 00:02:46,340 ->> And how do you compute how much it is? - -57 -00:02:47,420 --> 00:02:52,710 ->> It's how many days it was, from the time it was - -58 -00:02:52,710 --> 00:02:58,170 -due, to when they returned it. I see. OK. - -59 -00:02:58,170 --> 00:03:00,380 -So you know what we can do? I think - -60 -00:03:00,380 --> 00:03:03,690 -we can put an additional attribute in the checked out - -61 -00:03:03,690 --> 00:03:07,190 -class and I'm going to call it when returned and - -62 -00:03:07,190 --> 00:03:10,200 -that item will have either a special value or it - -63 -00:03:10,200 --> 00:03:12,040 -will contain the date in which the book was - -64 -00:03:12,040 --> 00:03:14,520 -returned. So in this way you should be able to - -65 -00:03:14,520 --> 00:03:18,040 -keep this in the system until it's paid, and also to compute - -66 -00:03:18,040 --> 00:03:19,970 -how much the fine is. Is that working? - -67 -00:03:19,970 --> 00:03:23,210 ->> So the special value is for a normal situation when they - -68 -00:03:23,210 --> 00:03:25,880 -haven't, they don't owe anything and haven't returned it yet. - -69 -00:03:25,880 --> 00:03:28,080 ->> Exactly so that will tell us that, - -70 -00:03:28,080 --> 00:03:29,970 -that the loan is still active basically. - -71 -00:03:29,970 --> 00:03:30,500 ->> Great. - -72 -00:03:30,500 --> 00:03:31,480 ->> Does that work for you? - -73 -00:03:31,480 --> 00:03:35,200 ->> Yes. And you know, I like this. I mean, I feel pretty good - -74 -00:03:35,200 --> 00:03:38,490 -about it. I think we have a nice class diagram. So what I'd like to - -75 -00:03:38,490 --> 00:03:43,280 -do is just go off and clean it up a little bit, and put it - -76 -00:03:43,280 --> 00:03:48,640 -in an IDE so I can pretty print it and rearrange things a little bit. - -77 -00:03:48,640 --> 00:03:50,080 -And then I'd like to sit down again and - -78 -00:03:50,080 --> 00:03:52,730 -just go through it for a last time. And - -79 -00:03:52,730 --> 00:03:54,900 -for some final considerations. So if you don't mind - -80 -00:03:54,900 --> 00:03:56,880 -we will take a ten minute break and reconvene here. - -81 -00:03:56,880 --> 00:03:57,500 ->> That's fine. - -82 -00:03:57,500 --> 00:03:57,990 ->> Alright. - -- cgit 1.4.1