about summary refs log tree commit diff
path: root/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles')
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/1 - Introduction - lang_en.srt88
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/10 - Debriefing - lang_en.srt104
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/2 - Analyzing Requirements - lang_en.srt579
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/3 - Refining Classes and Attributes - lang_en.srt535
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/4 - Adding Attributes - lang_en.srt352
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/5 - Identifying Operations - lang_en.srt304
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/6 - Adding Relationships - lang_en.srt488
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/7 - Refining Relationships - lang_en.srt188
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/8 - Refining the Class Diagram - lang_en.srt328
-rw-r--r--usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/9 - Final Considerations - lang_en.srt196
10 files changed, 0 insertions, 3162 deletions
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/1 - Introduction - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/1 - Introduction - lang_en.srt
deleted file mode 100644
index f6386ed..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/1 - Introduction - lang_en.srt
+++ /dev/null
@@ -1,88 +0,0 @@
-1
-00:00:00,430 --> 00:00:05,994
-Hello and welcome to a tale of analysis and design, featuring
-
-2
-00:00:05,994 --> 00:00:10,809
-Spencer Rugaber, as the librarian, and Alex Orso,
-
-3
-00:00:10,809 --> 00:00:15,779
-as the software engineer. [SOUND]
-
-4
-00:00:15,779 --> 00:00:21,520
->> Hi! I'm here waiting for Spencer, my librarian friend. He needs some
-
-5
-00:00:21,520 --> 00:00:25,470
-help developing an information system for a library. So I asked him to write
-
-6
-00:00:25,470 --> 00:00:29,669
-down the requirements for the libra... Oh, [SOUND] that must be him.
-
-7
-00:00:29,669 --> 00:00:30,850
->> Hello Alex.
-
-8
-00:00:30,850 --> 00:00:32,470
->> Hey Spencer. How's it going?
-
-9
-00:00:32,470 --> 00:00:34,690
->> Good. Did you get those requirements I emailed you?
-
-10
-00:00:34,690 --> 00:00:36,890
->> Oh, you emailed them. Now let me check.
-
-11
-00:00:36,890 --> 00:00:38,780
-And, by the way, get some coffee for you here.
-
-12
-00:00:38,780 --> 00:00:39,880
->> Thank you very much.
-
-13
-00:00:41,840 --> 00:00:46,790
->> Oh yeah. They're right here. Let me see. Oh, good. Oh, yeah,
-
-14
-00:00:46,790 --> 00:00:50,580
-good. We have, what we need. So the, the way I like to do
-
-15
-00:00:50,580 --> 00:00:52,500
-this is. I like to start by
-
-16
-00:00:52,500 --> 00:00:55,430
-looking at the requirements and identifying the nouns
-
-17
-00:00:55,430 --> 00:00:57,530
-in the requirements, because those tell us
-
-18
-00:00:57,530 --> 00:01:00,080
-the kind of the relevant elements in the,
-
-19
-00:01:00,080 --> 00:01:03,360
-in the requirements. So if you don't mind we can start looking at those and
-
-20
-00:01:03,360 --> 00:01:07,070
-you can tell me you know, whether the ones that I am identifying make sense or not.
-
-21
-00:01:07,070 --> 00:01:07,920
->> Sounds good.
-
-22
-00:01:07,920 --> 00:01:08,500
->> All right.
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/10 - Debriefing - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/10 - Debriefing - lang_en.srt
deleted file mode 100644
index cc76d09..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/10 - Debriefing - lang_en.srt
+++ /dev/null
@@ -1,104 +0,0 @@
-1
-00:00:00,210 --> 00:00:02,200
->> So Spencer, now that we went through
-
-2
-00:00:02,200 --> 00:00:05,340
-this process and, I'd just like to hear
-
-3
-00:00:05,340 --> 00:00:07,090
-whether you enjoyed it, whether you think it
-
-4
-00:00:07,090 --> 00:00:09,640
-was useful. What are your thoughts?
-
-5
-00:00:09,640 --> 00:00:11,661
->> Well, ti was very interesting. I not only
-
-6
-00:00:11,661 --> 00:00:16,541
-learned something about computers and about how you design information systems
-
-7
-00:00:16,541 --> 00:00:19,713
-in UML, but I, it was interesting. I also learned something
-
-8
-00:00:19,713 --> 00:00:25,290
-interesting about the library. And things that, that I knew but
-
-9
-00:00:25,290 --> 00:00:27,920
-I never really, explicitly written down.
-
-10
-00:00:27,920 --> 00:00:28,099
->> Uh-huh.
-
-11
-00:00:28,099 --> 00:00:32,280
->> Came up during the course of doing this. And I think I now
-
-12
-00:00:32,280 --> 00:00:35,800
-much better understand what this information system that you're
-
-13
-00:00:35,800 --> 00:00:38,590
-going to build for us, is really all about.
-
-14
-00:00:38,590 --> 00:00:40,480
->> Okay, well, I mean, I'm very happy that you say
-
-15
-00:00:40,480 --> 00:00:43,040
-that, because I really believe that, you know, doing this kind
-
-16
-00:00:43,040 --> 00:00:46,870
-of analysis and design exercises really helps you figuring out whether
-
-17
-00:00:46,870 --> 00:00:50,480
-there's any issues with the requirements. So for example, you can find
-
-18
-00:00:50,480 --> 00:00:53,580
-out whether there's any missing information, or maybe conflicting
-
-19
-00:00:53,580 --> 00:00:56,820
-information. And I think that's exactly what happened today.
-
-20
-00:00:56,820 --> 00:01:01,120
-So I'm very glad to hear that it worked for you. That you enjoyed it. I hope you
-
-21
-00:01:01,120 --> 00:01:03,690
-enjoyed it as well. And I strongly encourage you
-
-22
-00:01:03,690 --> 00:01:06,000
-to do this kind of exercises for different kinds
-
-23
-00:01:06,000 --> 00:01:08,630
-of systems. So as you can become more familiar
-
-24
-00:01:08,630 --> 00:01:12,410
-with analysis and design techniques. So, any final thoughts?
-
-25
-00:01:12,410 --> 00:01:15,440
->> I look forward to receiving your delivered software.
-
-26
-00:01:15,440 --> 00:01:16,440
->> All right. Will do.
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/2 - Analyzing Requirements - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/2 - Analyzing Requirements - lang_en.srt
deleted file mode 100644
index 909fb2d..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/2 - Analyzing Requirements - lang_en.srt
+++ /dev/null
@@ -1,579 +0,0 @@
-1
-00:00:00,220 --> 00:00:04,900
-Okay so let me start underlining these nouns, and I'll start
-
-2
-00:00:04,900 --> 00:00:07,810
-identifying the ones that are relevant, and I'll ask you some
-
-3
-00:00:07,810 --> 00:00:10,550
-questions or you can ask me questions if
-
-4
-00:00:10,550 --> 00:00:14,666
-you see something that doesn't make sense to you. Good enough.
-
-5
-00:00:14,666 --> 00:00:17,650
->> okay, let's see, patron. It seems to
-
-6
-00:00:17,650 --> 00:00:19,670
-me that patron is definitely an important entity.
-
-7
-00:00:19,670 --> 00:00:20,808
->> That's, that's what its all about.
-
-8
-00:00:20,808 --> 00:00:23,270
->> Okay, all right, so actually, the way
-
-9
-00:00:23,270 --> 00:00:25,750
-I'm going to do this, I'm going to take all these relevant
-
-10
-00:00:25,750 --> 00:00:28,610
-entities and I'm going to start putting them into what I call a class
-
-11
-00:00:28,610 --> 00:00:32,450
-diagram. So you don't really need to know what that is exactly, but imagine
-
-12
-00:00:32,450 --> 00:00:37,150
-this being a, a diagram in which I'm drawing, I represent in all development
-
-13
-00:00:37,150 --> 00:00:42,260
-items as rectangles with a given name and, and then later on some attributes.
-
-14
-00:00:42,260 --> 00:00:42,660
->> Okay.
-
-15
-00:00:42,660 --> 00:00:44,055
->> Okay, and I'm, I'm just going to put
-
-16
-00:00:44,055 --> 00:00:45,600
-them there. So I'm going to start with patron.
-
-17
-00:00:45,600 --> 00:00:48,420
-I'm going to create one class for the
-
-18
-00:00:48,420 --> 00:00:50,250
-patron. I'm going to give it the name patron.
-
-19
-00:00:51,380 --> 00:00:54,120
-And by the way, assuming that you'd probably figure out, it's important that we
-
-20
-00:00:54,120 --> 00:00:57,430
-represent, we use the right names so that it's clear when we're looking at
-
-21
-00:00:57,430 --> 00:01:00,790
-the class diagram what we're referring to, so I'll just use the, the nouns
-
-22
-00:01:00,790 --> 00:01:06,520
-themselves as names. Okay, library card seems to be also a relevant element.
-
-23
-00:01:06,520 --> 00:01:08,072
->> Every patron has a library card.
-
-24
-00:01:08,072 --> 00:01:09,530
->> All right, perfect, so we'll just
-
-25
-00:01:09,530 --> 00:01:12,880
-create a library card here. And let's see.
-
-26
-00:01:12,880 --> 00:01:16,530
-As, as long as they're in the system. And I saw that there's a system
-
-27
-00:01:16,530 --> 00:01:19,000
-here, this concept of system, this concept
-
-28
-00:01:19,000 --> 00:01:22,076
-of library. And based on my experience, normally,
-
-29
-00:01:22,076 --> 00:01:26,574
-those are kind of in an overarching themes. So this is really what we are
-
-30
-00:01:26,574 --> 00:01:28,597
-modeling. So the only
-
-31
-00:01:28,597 --> 00:01:30,297
-thing that will make a difference is
-
-32
-00:01:30,297 --> 00:01:34,120
-if there were more than one library or more than one system. Is that the case?
-
-33
-00:01:34,120 --> 00:01:36,740
->> We just want one system for our one library
-
-34
-00:01:36,740 --> 00:01:38,770
->> Okay so, in this case I won't even represent
-
-35
-00:01:38,770 --> 00:01:41,540
-those because basically what I'm representing is the system and
-
-36
-00:01:41,540 --> 00:01:41,990
-the library.
-
-37
-00:01:41,990 --> 00:01:42,740
->> I understand, I understand.
-
-38
-00:01:42,740 --> 00:01:44,420
-
-39
-00:01:44,420 --> 00:01:48,350
-Okay and then, oh name, address and phone
-
-40
-00:01:48,350 --> 00:01:51,510
-number are interesting because these are important entities,
-
-41
-00:01:51,510 --> 00:01:53,180
-but this seems like, you know, they're not
-
-42
-00:01:53,180 --> 00:01:56,550
-entities in themselves, so they're more attributes
-
-43
-00:01:56,550 --> 00:01:58,070
-of something else. I would imagine that
-
-44
-00:01:58,070 --> 00:02:00,080
-this is the way you identify, or these
-
-45
-00:02:00,080 --> 00:02:01,860
-are elements that are important for the patron?
-
-46
-00:02:01,860 --> 00:02:04,880
->> That's what we take down when we issue the cards.
-
-47
-00:02:04,880 --> 00:02:06,800
->> Okay. Perfect. So, I'm going to
-
-48
-00:02:06,800 --> 00:02:09,710
-take those and make those attributes of the patron, which means
-
-49
-00:02:09,710 --> 00:02:12,350
-that I'm going to take the class that I created before, and I'm
-
-50
-00:02:12,350 --> 00:02:16,430
-just going to write them down here so that they're represented and,
-
-51
-00:02:16,430 --> 00:02:19,360
-and we know that these are kind of what characterizes the patron.
-
-52
-00:02:19,360 --> 00:02:20,070
->> Gotcha.
-
-53
-00:02:20,070 --> 00:02:25,540
->> Okay? And then, I guess similar consideration for the library
-
-54
-00:02:25,540 --> 00:02:28,750
-card number. So this is to be associated with the library card?
-
-55
-00:02:28,750 --> 00:02:29,902
->> It's printed right on it.
-
-56
-00:02:29,902 --> 00:02:32,180
->> All right, so we'll put this as
-
-57
-00:02:32,180 --> 00:02:38,130
-an attribute of the library card, then. And then, in addition, at any particular point
-
-58
-00:02:38,130 --> 00:02:43,630
-in time. Okay, so time seems to be a relevant entity right,
-
-59
-00:02:43,630 --> 00:02:47,880
-because time seems to occur several times in this description. For example, I
-
-60
-00:02:47,880 --> 00:02:53,940
-think you guys keep track of how long a book has been loaned, right?
-
-61
-00:02:53,940 --> 00:02:54,300
->> Right.
-
-62
-00:02:54,300 --> 00:02:57,270
->> And there's some time associated also here.
-
-63
-00:02:57,270 --> 00:02:58,380
->> And a children's age.
-
-64
-00:02:58,380 --> 00:02:59,760
->> Oh yeah. The children's age here that
-
-65
-00:02:59,760 --> 00:03:02,200
-I didn't see before. Yeah. So, what
-
-66
-00:03:02,200 --> 00:03:03,800
-I'm going to do, I'm going to represent this in
-
-67
-00:03:03,800 --> 00:03:05,520
-a sort of generic way, as a date.
-
-68
-00:03:05,520 --> 00:03:06,520
->> Okay.
-
-69
-00:03:06,520 --> 00:03:08,380
->> These are kind of, kind of classes, utility
-
-70
-00:03:08,380 --> 00:03:10,880
-classes we call them, that are normally in every system.
-
-71
-00:03:10,880 --> 00:03:10,970
->> Okay.
-
-72
-00:03:10,970 --> 00:03:13,060
->> So I'm just going to put it down here
-
-73
-00:03:13,060 --> 00:03:14,940
-as a utility class that will be used
-
-74
-00:03:14,940 --> 00:03:18,780
-by different elements in the diagram. Okay, so
-
-75
-00:03:18,780 --> 00:03:23,070
-I want to calculate the items. So the items also
-
-76
-00:03:23,070 --> 00:03:25,230
-I mean I for what I know about libraries they
-
-77
-00:03:25,230 --> 00:03:28,490
-seem to be pretty relevant elements, right? So these are all
-
-78
-00:03:28,490 --> 00:03:31,305
->> This is what we check out, this is what we're for.
-
-79
-00:03:31,305 --> 00:03:34,459
->> Okay, so then items definitely will become a
-
-80
-00:03:34,459 --> 00:03:37,349
-class, and then we have a due. Oh there's also
-
-81
-00:03:37,349 --> 00:03:39,730
-this concept of fines. I guess that seems to be
-
-82
-00:03:39,730 --> 00:03:42,330
-important. Right? You guys give fines to people who are late.
-
-83
-00:03:42,330 --> 00:03:42,700
->> Right, right.
-
-84
-00:03:42,700 --> 00:03:49,160
->> Right, collect fines and so on. So we create a fine class down here and
-
-85
-00:03:49,160 --> 00:03:54,150
-the children. So children are special customers, right? It's
-
-86
-00:03:55,240 --> 00:03:56,890
-their age makes a difference? Is that the way it works?
-
-87
-00:03:56,890 --> 00:03:58,950
->> Right. They, they can only check out a few books.
-
-88
-00:03:58,950 --> 00:04:01,410
->> Okay. So I'll create them a special
-
-89
-00:04:01,410 --> 00:04:03,170
-kind of case, a special kind of customer so
-
-90
-00:04:03,170 --> 00:04:06,000
-I just create here a class for children. And
-
-91
-00:04:06,000 --> 00:04:08,682
-I can see that they're categorized by their age.
-
-92
-00:04:08,682 --> 00:04:09,340
->> Right.
-
-93
-00:04:09,340 --> 00:04:13,160
->> So I'll just put the age here as an attribute of the child.
-
-94
-00:04:14,220 --> 00:04:15,712
-And, okay, so the next one is
-
-95
-00:04:15,712 --> 00:04:19,653
-restriction. And restriction is kind of tricky because just
-
-96
-00:04:19,653 --> 00:04:22,010
-to be sort of a general concept. I mean,
-
-97
-00:04:22,010 --> 00:04:24,915
-in a sense, all of those are restrictions, right?
-
-98
-00:04:24,915 --> 00:04:28,250
->> Right, this is just another one of these requirements.
-
-99
-00:04:28,250 --> 00:04:31,180
->> Oh, okay, so, so we don't need to represent it explicitly, right?
-
-100
-00:04:31,180 --> 00:04:31,430
->> Right, right.
-
-101
-00:04:31,430 --> 00:04:34,390
->> It's just telling us how the children, yeah, okay, right; this is
-
-102
-00:04:34,390 --> 00:04:39,151
-just another requirement, so I just won't consider that for now. And oh,
-
-103
-00:04:39,151 --> 00:04:43,444
-I see that these books and audio video materials, I guess these
-
-104
-00:04:43,444 --> 00:04:48,902
-are things that the patrons can check out, right?
-
-105
-00:04:48,902 --> 00:04:50,725
->> Those are some of the items, right.
-
-106
-00:04:50,725 --> 00:04:53,770
->> There are two
-
-107
-00:04:53,770 --> 00:04:56,380
-more down here, right? Reference books and magazines?
-
-108
-00:04:56,380 --> 00:04:57,990
->> But, they can't be checked
-
-109
-00:04:57,990 --> 00:04:59,270
-out, but they're definitely in the library.
-
-110
-00:04:59,270 --> 00:05:01,338
->> Okay, so then I'm going to represent all of those
-
-111
-00:05:01,338 --> 00:05:04,180
-actually, now. So, I'm going to have books, I'm going to have audio
-
-112
-00:05:04,180 --> 00:05:07,990
-video materials, reference books, and magazines. And
-
-113
-00:05:07,990 --> 00:05:12,150
-I'm just going to have those as classes. Then,
-
-114
-00:05:12,150 --> 00:05:14,060
-okay here we have week, and we
-
-115
-00:05:14,060 --> 00:05:16,630
-already represented this general concept of time, so
-
-116
-00:05:16,630 --> 00:05:23,270
-week will be represented by the date class as well. And oh, I see best sellers.
-
-117
-00:05:23,270 --> 00:05:27,520
-So best sellers are also, I guess, items that can be checked out, right?
-
-118
-00:05:27,520 --> 00:05:28,150
->> Right.
-
-119
-00:05:28,150 --> 00:05:29,330
->> Okay, so I'll
-
-120
-00:05:29,330 --> 00:05:32,900
-just represent those as a class as well and an additional item that
-
-121
-00:05:32,900 --> 00:05:38,480
-is relevant for the library. And the limit, this is also a time limit, right?
-
-122
-00:05:38,480 --> 00:05:39,150
->> Right.
-
-123
-00:05:39,150 --> 00:05:41,500
->> So it can also be represented with a, with a class.
-
-124
-00:05:43,860 --> 00:05:47,380
-Oh, here we have cents, and for cents, same consideration that made
-
-125
-00:05:47,380 --> 00:05:50,430
-for time. This is kind of the money, is a general concept
-
-126
-00:05:50,430 --> 00:05:54,240
-that in all currency, many, in many IT systems. So, I'm, I'm
-
-127
-00:05:54,240 --> 00:05:57,430
-going to just have a money class here, which is another utility class.
-
-128
-00:05:57,430 --> 00:05:57,740
->> Okay
-
-129
-00:05:57,740 --> 00:06:04,000
->> Okay, and, oh, here I have value, so value is a property.
-
-130
-00:06:04,000 --> 00:06:09,320
-Let me look again at the requirement. Oh, it's the value of the item. So value
-
-131
-00:06:09,320 --> 00:06:11,450
-I'm going to put in the item as an attribute. Okay?
-
-132
-00:06:11,450 --> 00:06:13,120
->> Okay. That's how much it cost us.
-
-133
-00:06:13,120 --> 00:06:14,090
->> Okay. Perfect.
-
-134
-00:06:14,090 --> 00:06:18,400
->> Seems like we got them all. Right? Anything I forgot?
-
-135
-00:06:18,400 --> 00:06:19,640
->> That looks like it.
-
-136
-00:06:19,640 --> 00:06:22,580
->> Okay, so this one, what I'd like to do. We have a kind of
-
-137
-00:06:22,580 --> 00:06:26,890
-a first take, first cut at the class diagram. I'd like to kind of
-
-138
-00:06:26,890 --> 00:06:31,480
-move to that and go through the different classes with you. And I'll ask
-
-139
-00:06:31,480 --> 00:06:33,440
-you some questions again. And you can
-
-140
-00:06:33,440 --> 00:06:34,510
-tell me whether there is something that
-
-141
-00:06:34,510 --> 00:06:36,894
-jumps at you that's not right. And
-
-142
-00:06:36,894 --> 00:06:38,930
-then we're going to try to refine that.
-
-143
-00:06:38,930 --> 00:06:39,180
->> Okay
-
-144
-00:06:39,180 --> 00:06:39,510
->> Okay.
-
-145
-00:06:39,510 --> 00:06:39,800
->> Sounds good.
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/3 - Refining Classes and Attributes - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/3 - Refining Classes and Attributes - lang_en.srt
deleted file mode 100644
index 271c2fd..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/3 - Refining Classes and Attributes - lang_en.srt
+++ /dev/null
@@ -1,535 +0,0 @@
-1
-00:00:00,880 --> 00:00:03,920
-Okay, so this is our first, class diagram.
-
-2
-00:00:03,920 --> 00:00:06,260
->> So, let me ask you something about.
-
-3
-00:00:06,260 --> 00:00:06,520
->> Okay.
-
-4
-00:00:06,520 --> 00:00:08,930
->> What we've done so far. I also sent, in what
-
-5
-00:00:08,930 --> 00:00:14,490
-I sent you, I also had some stories about how the actual
-
-6
-00:00:14,490 --> 00:00:16,400
->> Library is used. You asked me to do
-
-7
-00:00:16,400 --> 00:00:18,950
-that and are we going to take, use that here?
-
-8
-00:00:20,160 --> 00:00:23,300
->> Glad you asked actually. yeah. Those are, you know, what we call use
-
-9
-00:00:23,300 --> 00:00:25,940
-cases, or what we will use as scenarios kind of things that we will
-
-10
-00:00:25,940 --> 00:00:28,340
-use to derive use cases. And they're also a very good
-
-11
-00:00:28,340 --> 00:00:31,450
-way of extracting requirements. We're not going to look at them right
-
-12
-00:00:31,450 --> 00:00:33,890
-now because now, because we're more working on kind of the static
-
-13
-00:00:33,890 --> 00:00:37,860
-structure of the system. But after we're done with the class diagram,
-
-14
-00:00:37,860 --> 00:00:40,700
-you know, we will do it at a different time. But
-
-15
-00:00:40,700 --> 00:00:43,410
-we're going to use those to see how the
-
-16
-00:00:43,410 --> 00:00:45,850
-libraries actually use them, and see whether we can get more
-
-17
-00:00:45,850 --> 00:00:49,000
-information that we can use to refine our requirements based on that.
-
-18
-00:00:49,000 --> 00:00:49,770
->> Okay.
-
-19
-00:00:49,770 --> 00:00:51,020
->> Okay,
-
-20
-00:00:51,020 --> 00:00:52,940
-So, for now, we'll just focus in on the,
-
-21
-00:00:52,940 --> 00:00:54,630
-structure, but, just so you know, I'm,
-
-22
-00:00:54,630 --> 00:00:55,870
-I'm glad you sent them, because they were going
-
-23
-00:00:55,870 --> 00:00:57,380
-very useful as well.
-
-24
-00:00:59,410 --> 00:01:00,840
-Okay. So let's see. Well, first of all, let
-
-25
-00:01:00,840 --> 00:01:03,030
-me, seems like that this is already pretty crowded,
-
-26
-00:01:03,030 --> 00:01:06,770
-right? We have a number of, classes. So let's
-
-27
-00:01:06,770 --> 00:01:10,580
-see if there's, some class that may be superfluous and
-
-28
-00:01:10,580 --> 00:01:13,310
-we can model in a different way. So, for
-
-29
-00:01:13,310 --> 00:01:16,360
-example, you, while, while thinking of this I was thinking,
-
-30
-00:01:16,360 --> 00:01:19,450
-the library card, it doesn't really contain much
-
-31
-00:01:19,450 --> 00:01:22,736
-information, right? So is it basically just the number?
-
-32
-00:01:22,736 --> 00:01:23,948
-
-33
-00:01:23,948 --> 00:01:30,760
-The card has a number on it. We have a separate vendor that does that for us so.
-
-34
-00:01:30,760 --> 00:01:30,810
->> Oh.
-
-35
-00:01:30,810 --> 00:01:33,270
->> We don't need, it doesn't need to be part of this system,
-
-36
-00:01:33,270 --> 00:01:35,450
-we just have to make sure that every patron has a library card.
-
-37
-00:01:35,450 --> 00:01:37,670
->> Okay, so basically for you, in a sense, the library
-
-38
-00:01:37,670 --> 00:01:41,560
-card is just an ID that gets associated with a patron.
-
-39
-00:01:41,560 --> 00:01:42,120
->> That's right.
-
-40
-00:01:42,120 --> 00:01:45,380
->> So I think that the best way to represent this, I mean, unless you
-
-41
-00:01:45,380 --> 00:01:47,000
-need an entity because you are creating it
-
-42
-00:01:47,000 --> 00:01:49,160
-yourself, but it seems like you are not.
-
-43
-00:01:49,160 --> 00:01:52,710
-I would just remove this one and I would like to put this,
-
-44
-00:01:52,710 --> 00:01:56,020
-basically to take the library card number and add it to the pattern.
-
-45
-00:01:56,020 --> 00:01:57,100
->> Okay, makes sense.
-
-46
-00:01:57,100 --> 00:02:03,000
->> Okay, so I'll add it here. And as
-
-47
-00:02:03,000 --> 00:02:06,160
-an additional attribute. Okay, and it will eliminate this class.
-
-48
-00:02:06,160 --> 00:02:06,410
->> Okay.
-
-49
-00:02:06,410 --> 00:02:07,580
->> Okay.
-
-50
-00:02:09,690 --> 00:02:11,700
-Oh, and, wait a second, so I guess
-
-51
-00:02:11,700 --> 00:02:13,940
-also the child needs a library card number, right?
-
-52
-00:02:13,940 --> 00:02:18,320
->> Child needs a library card number, but let me ask you about that. Is,
-
-53
-00:02:18,320 --> 00:02:22,050
-is child a separate class, or is it just another kind of patron?
-
-54
-00:02:22,050 --> 00:02:24,920
->> Oh, I see, I see. Because, yeah, it
-
-55
-00:02:24,920 --> 00:02:28,490
-is sort of a special patron, right? And, so
-
-56
-00:02:28,490 --> 00:02:31,730
-maybe we should, maybe we should represent it as
-
-57
-00:02:31,730 --> 00:02:35,640
-a kind of a refinement of the patron.
-
-58
-00:02:35,640 --> 00:02:38,730
-Hm, but then that made me think. So what is
-
-59
-00:02:38,730 --> 00:02:42,510
-the only thing that characterizes children? Is it just the age?
-
-60
-00:02:42,510 --> 00:02:47,440
->> Well, if they're, that they can't check out more than five books.
-
-61
-00:02:47,440 --> 00:02:48,890
->> Okay. And the, and the only difference is the
-
-62
-00:02:48,890 --> 00:02:52,010
-fact that they are less than, you know, twelve years old.
-
-63
-00:02:52,010 --> 00:02:52,710
->> Twelve or less, right.
-
-64
-00:02:52,710 --> 00:02:56,090
->> Twelve or less. So, I guess, you know, I would probably
-
-65
-00:02:56,090 --> 00:03:01,120
-like to represent this by making the age explicit in the patron rather
-
-66
-00:03:01,120 --> 00:03:04,730
-than to represent it as a class. And I'll tell you why,
-
-67
-00:03:04,730 --> 00:03:08,300
-because one, one of the issues, and you know, that might happen
-
-68
-00:03:08,300 --> 00:03:13,070
-again, is that, basically, there are patrons that are children. And they're
-
-69
-00:03:13,070 --> 00:03:17,130
-no longer children, when they come you know 13 or older right.
-
-70
-00:03:17,130 --> 00:03:18,100
->> Right.
-
-71
-00:03:18,100 --> 00:03:21,990
->> And if we represent them with a separate class in a sense, then we
-
-72
-00:03:21,990 --> 00:03:26,620
-cannot really change the type of an instance of these classes.
-
-73
-00:03:26,620 --> 00:03:28,920
-So we're left to kind of destroy the patron, create
-
-74
-00:03:28,920 --> 00:03:31,190
-a new one, so that means we also have to transfer
-
-75
-00:03:31,190 --> 00:03:33,510
-any history we want to keep history and so on.
-
-76
-00:03:33,510 --> 00:03:35,680
-So I, I think I kind of like better the idea
-
-77
-00:03:35,680 --> 00:03:39,560
-that I represent the age exclusively in
-
-78
-00:03:39,560 --> 00:03:42,700
-the patron, and then I'll behave differently, based on whether the
-
-79
-00:03:42,700 --> 00:03:45,910
-patron is 12 years old, or younger, or 13 or,
-
-80
-00:03:45,910 --> 00:03:49,600
-13 or older. This, do you see any problem with that?
-
-81
-00:03:49,600 --> 00:03:51,210
->> It makes things a little simpler.
-
-82
-00:03:51,210 --> 00:03:51,490
->> Okay,
-
-83
-00:03:51,490 --> 00:03:53,550
-and we actually, it allows us also to eliminate
-
-84
-00:03:53,550 --> 00:03:56,450
-one class here. So I'm going to proceed this way.
-
-85
-00:03:56,450 --> 00:03:59,450
-I'm going to eliminate the children class, and I'm going to
-
-86
-00:03:59,450 --> 00:04:03,600
-put the age in the patron. Okay, and let me
-
-87
-00:04:03,600 --> 00:04:07,020
-see. But in this spirit, actually, something else that jumps
-
-88
-00:04:07,020 --> 00:04:09,740
-at me is this idea of the bestseller, because I
-
-89
-00:04:09,740 --> 00:04:11,850
-kind of feel like, we might have the same
-
-90
-00:04:11,850 --> 00:04:15,085
-problem. So, what is the story? What is a bestseller.
-
-91
-00:04:15,085 --> 00:04:16,850
->> Well it's
-
-92
-00:04:16,850 --> 00:04:20,750
-an item that we want to restrict how
-
-93
-00:04:20,750 --> 00:04:23,896
-long people can keep, because there is such demand for it.
-
-94
-00:04:23,896 --> 00:04:26,880
->> I see, and so basically a book that's a
-
-95
-00:04:26,880 --> 00:04:30,450
-bestseller, like the New York Times bestseller, is a bestseller forever?
-
-96
-00:04:30,450 --> 00:04:32,683
->> No, no, no it's hot for
-
-97
-00:04:32,683 --> 00:04:35,940
-awhile, and then it becomes just a regular item.
-
-98
-00:04:35,940 --> 00:04:38,318
->> I see. Hm. Then I guess it's a
-
-99
-00:04:38,318 --> 00:04:40,349
-similar situation to the one I was mentioning before, right?
-
-100
-00:04:40,349 --> 00:04:40,980
->> Okay.
-
-101
-00:04:40,980 --> 00:04:41,800
->> That if we have a book,
-
-102
-00:04:41,800 --> 00:04:44,530
-it will kind of have to change its type if it becomes a best seller.
-
-103
-00:04:44,530 --> 00:04:47,218
-Then we have to change its type again, if it's no longer a best seller.
-
-104
-00:04:47,218 --> 00:04:47,790
->> Right.
-
-105
-00:04:47,790 --> 00:04:48,920
->> So it seems to me that a better
-
-106
-00:04:48,920 --> 00:04:52,150
-way to represent this, is just to eliminate this BestSeller
-
-107
-00:04:52,150 --> 00:04:55,060
-class and instead, I'm going to put the best seller
-
-108
-00:04:55,060 --> 00:04:58,190
-attribute, which would just be a Boolean in the book.
-
-109
-00:04:58,190 --> 00:05:00,190
->> Okay, what do you mean by Boolean?
-
-110
-00:05:00,190 --> 00:05:02,280
->> Right. We don't know what Boolean is, right? The Boolean is
-
-111
-00:05:02,280 --> 00:05:04,940
-basically just a number. It can have two values, right? True or false.
-
-112
-00:05:04,940 --> 00:05:05,380
->> Okay.
-
-113
-00:05:05,380 --> 00:05:06,830
->> So we usually, normally use it
-
-114
-00:05:06,830 --> 00:05:09,510
-in this in this case. Imagine one, zero,
-
-115
-00:05:09,510 --> 00:05:10,970
-right? Then it's just kind of the basic.
-
-116
-00:05:10,970 --> 00:05:11,120
->> Okay.
-
-117
-00:05:11,120 --> 00:05:12,250
->> You know, the bits, right?
-
-118
-00:05:12,250 --> 00:05:12,590
->> Okay.
-
-119
-00:05:12,590 --> 00:05:14,730
->> So, this is just telling us, it's like a flag
-
-120
-00:05:14,730 --> 00:05:16,672
-that is telling this book is a best seller, or not.
-
-121
-00:05:16,672 --> 00:05:17,053
->> Okay.
-
-122
-00:05:17,053 --> 00:05:20,920
->> It's very easy to change this value and make a book a best
-
-123
-00:05:20,920 --> 00:05:22,880
-seller or not a best seller, than
-
-124
-00:05:22,880 --> 00:05:26,210
-just creating and destroying instances of these classes.
-
-125
-00:05:26,210 --> 00:05:27,135
->> Okay, makes sense.
-
-126
-00:05:27,135 --> 00:05:32,630
->> Okay, so at this point, this already looks better, right? Because we have,
-
-127
-00:05:32,630 --> 00:05:35,590
-less classes, and I think we did, yeah, we
-
-128
-00:05:35,590 --> 00:05:38,775
-did some serious cleanup. That's good. Okay, so now that
-
-129
-00:05:38,775 --> 00:05:40,975
-we eliminated some of this, what I would like to
-
-130
-00:05:40,975 --> 00:05:42,845
-do, as I said, we are going to both clean
-
-131
-00:05:42,845 --> 00:05:45,222
-up, but also refine. I would like to go
-
-132
-00:05:45,222 --> 00:05:48,826
-back to our, requirements and see whether we can identify
-
-133
-00:05:48,826 --> 00:05:52,566
-additional attributes for this, class that maybe are not as
-
-134
-00:05:52,566 --> 00:05:55,120
-obvious as the one that we saw so far, okay?
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/4 - Adding Attributes - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/4 - Adding Attributes - lang_en.srt
deleted file mode 100644
index 0a48aae..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/4 - Adding Attributes - lang_en.srt
+++ /dev/null
@@ -1,352 +0,0 @@
-1
-00:00:00,240 --> 00:00:02,880
-Okay, so let me look at the requirements and
-
-2
-00:00:05,500 --> 00:00:09,150
-it's something that I can see here that we didn't point out before is that
-
-3
-00:00:09,150 --> 00:00:13,540
-there seems to be clearly some concept of a due date. And I'm telling you why
-
-4
-00:00:13,540 --> 00:00:17,610
-I'm saying that because here, for example, I notice that it says when items are
-
-5
-00:00:17,610 --> 00:00:22,580
-due. We mention overdue several times, so is
-
-6
-00:00:22,580 --> 00:00:24,410
-this something we need to keep track of?
-
-7
-00:00:24,410 --> 00:00:27,510
->> Yeah remember when we used to stamp them on the books? In the stamp pad?
-
-8
-00:00:27,510 --> 00:00:28,240
->> Oh yeah yeah yeah! Oh course!
-
-9
-00:00:28,240 --> 00:00:30,600
->> Right? Yeah we definitely keep track of,
-
-10
-00:00:30,600 --> 00:00:32,390
-the system has to keep track of when books are due.
-
-11
-00:00:32,390 --> 00:00:35,300
->> Okay. So it seems to me that one good way
-
-12
-00:00:35,300 --> 00:00:39,660
-of doing that is by basically adding an attribute to the, item.
-
-13
-00:00:39,660 --> 00:00:40,590
->> Okay.
-
-14
-00:00:40,590 --> 00:00:41,910
->> And I'll just call it due date.
-
-15
-00:00:41,910 --> 00:00:42,400
->> Okay.
-
-16
-00:00:42,400 --> 00:00:45,360
->> So basically for each item in case it's loaned
-
-17
-00:00:45,360 --> 00:00:48,315
-there will be this attribute that will contain the value of
-
-18
-00:00:48,315 --> 00:00:48,520
->> Okay.
-
-19
-00:00:48,520 --> 00:00:55,710
->> Of when, when the item is due. And then, something else that I noticed
-
-20
-00:00:55,710 --> 00:00:58,734
-here is that down here, it seems like
-
-21
-00:00:58,734 --> 00:01:00,900
-the requirements are saying that an item can
-
-22
-00:01:00,900 --> 00:01:04,190
-be renewed only once. So, I guess, that's
-
-23
-00:01:04,190 --> 00:01:05,933
-something we need to keep track of, right?
-
-24
-00:01:05,933 --> 00:01:06,056
->> Yeah.
-
-25
-00:01:06,056 --> 00:01:06,700
->> The system needs to know.
-
-26
-00:01:06,700 --> 00:01:08,360
->> We have to know whether they've renewed it or not.
-
-27
-00:01:08,360 --> 00:01:14,132
->> Okay so, I'll do a similar thing here. I think I want to go and add a an
-
-28
-00:01:14,132 --> 00:01:19,140
-attribute that we'd call number of times renewed, and add it to the item class.
-
-29
-00:01:19,140 --> 00:01:19,760
->> Okay.
-
-30
-00:01:19,760 --> 00:01:21,140
->> And this is kind of more generic
-
-31
-00:01:21,140 --> 00:01:23,180
-than what you need, because here it says only once, but
-
-32
-00:01:23,180 --> 00:01:25,800
-let's say that in the future you want to allow it to,
-
-33
-00:01:25,800 --> 00:01:28,690
-kind of renew twice, you'll be able to use these attributes again
-
-34
-00:01:28,690 --> 00:01:31,090
-because, we can just count how many times it was renewed. Okay?
-
-35
-00:01:31,090 --> 00:01:31,680
->> Makes sense.
-
-36
-00:01:31,680 --> 00:01:35,980
->> Alright. And one last thing I want to point out.
-
-37
-00:01:35,980 --> 00:01:38,310
-And this seems obvious but I'm going to check with
-
-38
-00:01:38,310 --> 00:01:43,150
-you anyways. And seems like there is a basically the
-
-39
-00:01:43,150 --> 00:01:46,090
-need to keep track of whether an item is checked
-
-40
-00:01:46,090 --> 00:01:48,210
-out or not. If you look at the text here,
-
-41
-00:01:48,210 --> 00:01:51,080
-the requirements here, I can see that check out and checked out are
-
-42
-00:01:51,080 --> 00:01:55,070
-mentioned five times. So, I'm assuming that that's something also
-
-43
-00:01:55,070 --> 00:01:58,080
-that we want to know about an item, whether it's checked out or not.
-
-44
-00:01:58,080 --> 00:01:59,970
->> We have to keep track of whether they're checked out.
-
-45
-00:01:59,970 --> 00:02:01,930
->> Okay, so I'll add an
-
-46
-00:02:01,930 --> 00:02:04,340
-additional attribute there. So I'm going to again go
-
-47
-00:02:04,340 --> 00:02:06,480
-back to the diagram and I'm
-
-48
-00:02:06,480 --> 00:02:10,139
-just going to write here also the checked out attribute.
-
-49
-00:02:12,260 --> 00:02:14,590
-And, I think that's it as far as I'm
-
-50
-00:02:14,590 --> 00:02:16,330
-concerned. Is there anything that you think is missing?
-
-51
-00:02:16,330 --> 00:02:21,077
->> Well, I do have a question. Would checked out,
-
-52
-00:02:21,077 --> 00:02:27,140
-better not be the case that someone can check out a reference book.
-
-53
-00:02:27,140 --> 00:02:28,400
->> Oh, I see, I see.
-
-54
-00:02:28,400 --> 00:02:30,120
->> Okay. I mean, it's only the books and
-
-55
-00:02:30,120 --> 00:02:31,780
-the audio visual material that can be checked out.
-
-56
-00:02:31,780 --> 00:02:37,790
->> Right, right, right. Okay, so I, I guess, well the way I will fix that is,
-
-57
-00:02:37,790 --> 00:02:42,300
-I'll probably put yet another attribute in the item class, and I'll
-
-58
-00:02:42,300 --> 00:02:45,860
-call it loanable. And basically, this attribute is just telling us whether
-
-59
-00:02:45,860 --> 00:02:49,580
-an item is loanable or not. So, when it's not true and
-
-60
-00:02:49,580 --> 00:02:53,480
-loanable is not on. Basically, that item can be checked out.
-
-61
-00:02:53,480 --> 00:02:55,174
->> Okay. And, the system would know this.
-
-62
-00:02:55,174 --> 00:02:56,450
->> The system will know that.
-
-63
-00:02:56,450 --> 00:02:57,160
->> And prevent it from happening.
-
-64
-00:02:57,160 --> 00:02:58,240
->> And prevent it from happening. Okay?
-
-65
-00:02:58,240 --> 00:02:58,750
->> Alright.
-
-66
-00:02:58,750 --> 00:03:02,918
->> Perfect. So, we're going to do that and, any other objections,
-
-67
-00:03:02,918 --> 00:03:04,035
-any other?
-
-68
-00:03:04,035 --> 00:03:05,730
->> No, that was my question.
-
-69
-00:03:05,730 --> 00:03:08,040
->> Okay, perfect, so what I'm going to do next, I
-
-70
-00:03:08,040 --> 00:03:11,130
-mean, I haven't mentioned that yet, but you know classes right
-
-71
-00:03:11,130 --> 00:03:12,890
-now we just looked at the attributes right that give
-
-72
-00:03:12,890 --> 00:03:16,140
-you sort of the state of the class. And there's something
-
-73
-00:03:16,140 --> 00:03:19,185
-else, there's a second part of the class that is kind of
-
-74
-00:03:19,185 --> 00:03:22,520
-an orthogonal aspect, which is what the class can do. And we
-
-75
-00:03:22,520 --> 00:03:25,640
-call those operations. So normally these kinds also have operations, I
-
-76
-00:03:25,640 --> 00:03:28,000
-guess you know it would make sense to you as well.
-
-77
-00:03:28,000 --> 00:03:30,070
-And one way, one very natural way to
-
-78
-00:03:30,070 --> 00:03:33,310
-identify operations is to look at the requirements and
-
-79
-00:03:33,310 --> 00:03:36,850
-look for verbs. Because verbs associated with an item
-
-80
-00:03:36,850 --> 00:03:38,480
-will tell you basically what the item can do.
-
-81
-00:03:38,480 --> 00:03:38,900
->> Okay.
-
-82
-00:03:38,900 --> 00:03:41,250
->> So I, I'd like to go back to the requirements and
-
-83
-00:03:41,250 --> 00:03:45,110
-start, the same way in which we underlined, nouns, we're going to underline
-
-84
-00:03:45,110 --> 00:03:49,340
-verbs and we're going to see which ones of those verbs actually represent
-
-85
-00:03:49,340 --> 00:03:53,120
-actions that we want to represent explicitly, we want to model explicitly in
-
-86
-00:03:53,120 --> 00:03:53,950
-our class diagram.
-
-87
-00:03:53,950 --> 00:03:54,490
->> Okay.
-
-88
-00:03:54,490 --> 00:03:54,750
->> Okay.
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/5 - Identifying Operations - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/5 - Identifying Operations - lang_en.srt
deleted file mode 100644
index 74ca388..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/5 - Identifying Operations - lang_en.srt
+++ /dev/null
@@ -1,304 +0,0 @@
-1
-00:00:00,460 --> 00:00:03,276
->> And before we get started actually, I'd like to mention that there's
-
-2
-00:00:03,276 --> 00:00:05,124
-just, you know, FYI, there's different kinds
-
-3
-00:00:05,124 --> 00:00:06,708
-of verbs because what I'm looking for
-
-4
-00:00:06,708 --> 00:00:10,099
-is really action verbs. So verb, verbs that clearly express an action that
-
-5
-00:00:10,099 --> 00:00:13,580
-can tell me that, you know, what, for example, an item could do, 'kay?
-
-6
-00:00:13,580 --> 00:00:13,820
->> Okay?
-
-7
-00:00:13,820 --> 00:00:16,620
->> Not the verbs that represent, for example, relationships, 'kay?
-
-8
-00:00:16,620 --> 00:00:17,076
->> Okay.
-
-9
-00:00:17,076 --> 00:00:19,080
->> So, and the, there, and the ones
-
-10
-00:00:19,080 --> 00:00:22,020
-that I've identified und, underlined here actually, I,
-
-11
-00:00:22,020 --> 00:00:26,158
-I underlined complete sentences so that you kind of we can look at the verbs in
-
-12
-00:00:26,158 --> 00:00:29,150
-in context. And the first one is this
-
-13
-00:00:29,150 --> 00:00:30,850
-sentence that says that the library may need
-
-14
-00:00:30,850 --> 00:00:33,190
-to know or to calculate the items a
-
-15
-00:00:33,190 --> 00:00:35,790
-patron has checked out, when they are due, and
-
-16
-00:00:35,790 --> 00:00:38,860
-any outstanding overdue fines. So I, I will
-
-17
-00:00:38,860 --> 00:00:41,430
-imagine that this is representing a situation in
-
-18
-00:00:41,430 --> 00:00:44,224
-which you bring up a patron's record and
-
-19
-00:00:44,224 --> 00:00:46,131
-you start looking up this information. Is that [CROSSTALK]
-
-20
-00:00:46,131 --> 00:00:50,970
->> The, the patron often wants to know what they have currently checked out.
-
-21
-00:00:50,970 --> 00:00:51,044
->> Oh,
-
-22
-00:00:51,044 --> 00:00:51,282
-alright.
-
-23
-00:00:51,282 --> 00:00:53,260
->> Or when are their due or how much they're owed or.
-
-24
-00:00:53,260 --> 00:00:55,100
->> Oh, in fact, and then now that you mentioned it,
-
-25
-00:00:55,100 --> 00:00:57,500
-I think you sent me. One of the scenarios you sent
-
-26
-00:00:57,500 --> 00:00:59,400
-me had to do with that, right, with the patron coming
-
-27
-00:00:59,400 --> 00:01:01,930
-in and asking for this information. So yeah, and it makes
-
-28
-00:01:01,930 --> 00:01:05,025
-a lot of sense. So what I'm going to do, I'm going to
-
-29
-00:01:05,025 --> 00:01:10,520
-model this by adding this three operations to the patron method.
-
-30
-00:01:10,520 --> 00:01:13,410
-The first one, I'm going to call, itemsCheckedOut and, basically, it's an
-
-31
-00:01:13,410 --> 00:01:16,520
-operation, but you don't need to, you know, understand the implementation
-
-32
-00:01:16,520 --> 00:01:18,820
-details, but when you call this operation, it will
-
-33
-00:01:18,820 --> 00:01:21,770
-give you back exactly this information, so the items
-
-34
-00:01:21,770 --> 00:01:23,864
-that are checked out by that patron. The second
-
-35
-00:01:23,864 --> 00:01:25,965
-one, I'm going to call it whenDue. That will tell you
-
-36
-00:01:25,965 --> 00:01:29,080
-basically when a, when an item is due. And
-
-37
-00:01:29,080 --> 00:01:32,550
-the third one is going to be called the outstandingOverdueFines and,
-
-38
-00:01:32,550 --> 00:01:34,510
-you know, as the name says, it's going to tell
-
-39
-00:01:34,510 --> 00:01:36,860
-you what are the outstanding overdue fines for that patron.
-
-40
-00:01:36,860 --> 00:01:37,300
->> Okay.
-
-41
-00:01:37,300 --> 00:01:39,306
->> And as you might notice I mean,
-
-42
-00:01:39,306 --> 00:01:41,843
-I, I'm going to separate the, the, the attributes
-
-43
-00:01:41,843 --> 00:01:44,085
-from the operations by having a separate kind
-
-44
-00:01:44,085 --> 00:01:46,386
-of subrectangle so, in this way, it's clear
-
-45
-00:01:46,386 --> 00:01:48,274
-what is attribute and what is, what is
-
-46
-00:01:48,274 --> 00:01:51,000
-an attribute and what's an, what's an operation.
-
-47
-00:01:51,000 --> 00:01:51,420
->> Gotcha.
-
-48
-00:01:51,420 --> 00:01:57,540
->> And let me see then. Okay, for the
-
-49
-00:01:57,540 --> 00:02:00,040
-second one you can see that that patron can check
-
-50
-00:02:00,040 --> 00:02:02,990
-out books and audio visual materials. So I guess,
-
-51
-00:02:02,990 --> 00:02:06,880
-similarly you, you build kind of the record for a patron.
-
-52
-00:02:06,880 --> 00:02:09,150
-The patron will give you an item and you will record
-
-53
-00:02:09,150 --> 00:02:11,020
-the fact that the patron is kind of checking it out.
-
-54
-00:02:11,020 --> 00:02:15,730
->> Right. And is that operation related to this,
-
-55
-00:02:15,730 --> 00:02:18,150
-the checked out attribute that we did a minute ago?
-
-56
-00:02:18,150 --> 00:02:21,495
->> It is actually because what will happen then again, you know, if we jump
-
-57
-00:02:21,495 --> 00:02:24,975
-ahead a little bit would be that every time you invoke this operation. So I'm
-
-58
-00:02:24,975 --> 00:02:26,810
-going to represent this as a checkOut operation
-
-59
-00:02:26,810 --> 00:02:28,896
-for the patron. Every time you invoke this,
-
-60
-00:02:28,896 --> 00:02:31,920
-you will also have to say something about the item and so we will also
-
-61
-00:02:31,920 --> 00:02:35,700
-flip kind of that that, that build information in the, in the, in the item.
-
-62
-00:02:35,700 --> 00:02:36,904
->> Okay.
-
-63
-00:02:36,904 --> 00:02:39,680
->> Mm, 'kay? And, and finally, here, I can see that
-
-64
-00:02:39,680 --> 00:02:42,660
-a patron can request a book or an audio video item Is
-
-65
-00:02:42,660 --> 00:02:46,240
-not currently in. So I guess this is referring to items that
-
-66
-00:02:46,240 --> 00:02:48,980
-are already checked out but for which there is interest. Is that?
-
-67
-00:02:48,980 --> 00:02:54,770
->> Right. So, particularly, the popular items the patrons want to get on
-
-68
-00:02:54,770 --> 00:02:57,140
-the list so that they get notified when it comes back in and.
-
-69
-00:02:57,140 --> 00:02:57,204
->> Oh.
-
-70
-00:02:57,204 --> 00:02:57,730
->> And check it out.
-
-71
-00:02:57,730 --> 00:03:00,570
->> I see. I see. Okay. Then I'm going to do
-
-72
-00:03:00,570 --> 00:03:04,400
-the same thing here. I'm, I'm going to add this method,
-
-73
-00:03:04,400 --> 00:03:08,510
-which I'm going to call request and I'm going to put it
-
-74
-00:03:08,510 --> 00:03:11,340
-here in the list of the methods in the list.
-
-75
-00:03:11,340 --> 00:03:11,450
->> Okay.
-
-76
-00:03:11,450 --> 00:03:12,810
->> Of operations for the, for the patron, okay?
-
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.
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/7 - Refining Relationships - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/7 - Refining Relationships - lang_en.srt
deleted file mode 100644
index 44f9165..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/7 - Refining Relationships - lang_en.srt
+++ /dev/null
@@ -1,188 +0,0 @@
-1
-00:00:00,350 --> 00:00:03,460
-Spencer, I gotta tell you, I'm impressed.
-
-2
-00:00:03,460 --> 00:00:05,441
-You're getting very good at this. So, why
-
-3
-00:00:05,441 --> 00:00:07,190
-don't you go wild and continue, there
-
-4
-00:00:07,190 --> 00:00:09,240
-anything else you think we can improve here?
-
-5
-00:00:09,240 --> 00:00:11,800
->> Well something was bothering
-
-6
-00:00:11,800 --> 00:00:14,600
-me, that what happens if there's more
-
-7
-00:00:14,600 --> 00:00:19,110
-than one book with the same title and somebody puts in a request?
-
-8
-00:00:19,110 --> 00:00:25,360
->> Oh, I see. That's a good point. So basically what you are telling me is
-
-9
-00:00:25,360 --> 00:00:28,630
-there's kind of a difference between an item and
-
-10
-00:00:28,630 --> 00:00:30,660
-the title, so the title is kind of a more
-
-11
-00:00:30,660 --> 00:00:32,940
-general concept, in a sense. So if you can
-
-12
-00:00:32,940 --> 00:00:35,830
-have multiple copies of a given title, is that right?
-
-13
-00:00:35,830 --> 00:00:38,460
->> Yeah, we have five copies of Tom Sawyer, and the
-
-14
-00:00:38,460 --> 00:00:42,810
-persons, the patrons, really putting in a request for any Tom Sawyer.
-
-15
-00:00:42,810 --> 00:00:45,332
->> They don't want like copy number three of Tom Sawyer, right? They want,
-
-16
-00:00:45,332 --> 00:00:50,530
-they want to read Tom Sawyer. Okay and I can represent that. So, in which
-
-17
-00:00:50,530 --> 00:00:55,230
-I suggest we do that, and you can tell me whether it makes sense to you is by
-
-18
-00:00:55,230 --> 00:00:59,650
-introducing an additional class, which I call Title. And
-
-19
-00:00:59,650 --> 00:01:02,614
-that represents exactly the concept that you're mentioning. So
-
-20
-00:01:02,614 --> 00:01:04,666
-this is a title which represents some
-
-21
-00:01:04,666 --> 00:01:09,180
-specific content. That is not related to a specific
-
-22
-00:01:09,180 --> 00:01:12,110
-physical element. Like it can be rated to multiple,
-
-23
-00:01:12,110 --> 00:01:15,520
-physical elements. So basically I'm going to create this title.
-
-24
-00:01:15,520 --> 00:01:18,100
-And then I'm going to create a relationship between
-
-25
-00:01:18,100 --> 00:01:20,500
-the title and the item. And what
-
-26
-00:01:20,500 --> 00:01:22,530
-the relationship is telling me, the the association
-
-27
-00:01:22,530 --> 00:01:25,512
-between these two in this case. Is an association,
-
-28
-00:01:25,512 --> 00:01:30,320
-that we call aggregation. So it's a special kind of association, that basically
-
-29
-00:01:30,320 --> 00:01:35,450
-indicates that an item of this type, so a title can
-
-30
-00:01:35,450 --> 00:01:40,692
-consist of a multiple elements of this type of multiple items.
-
-31
-00:01:40,692 --> 00:01:42,710
-So it's telling me that one title can
-
-32
-00:01:42,710 --> 00:01:45,700
-consist of multiple items, and I'm going to indicate
-
-33
-00:01:45,700 --> 00:01:48,560
-it with this annotation, which is a this
-
-34
-00:01:49,700 --> 00:01:53,200
-diamond at the top of the association.
-
-35
-00:01:53,200 --> 00:01:55,570
->> And so we can move our request
-
-36
-00:01:55,570 --> 00:01:57,510
-line, up from loanable item to
-
-37
-00:01:57,510 --> 00:01:59,010
-title, because that's what they're really requesting.
-
-38
-00:01:59,010 --> 00:02:00,710
->> Definitely, definitely, and in fact,
-
-39
-00:02:00,710 --> 00:02:02,420
-you know, that represents exactly the situation
-
-40
-00:02:02,420 --> 00:02:06,350
-that you are mentioning, at this point when the patron makes a request.
-
-41
-00:02:06,350 --> 00:02:12,240
-It makes a request to a title and not to a loanable item. And then, and
-
-42
-00:02:12,240 --> 00:02:15,420
-when the actual loan will take place,
-
-43
-00:02:15,420 --> 00:02:18,420
-then that will be connected to a specific item.
-
-44
-00:02:18,420 --> 00:02:20,090
->> Right. Okay that makes sense.
-
-45
-00:02:20,090 --> 00:02:20,388
->> Makes sense?
-
-46
-00:02:20,388 --> 00:02:20,779
->> Yeah.
-
-47
-00:02:20,779 --> 00:02:21,214
->> Okay, good.
-
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.
-
diff --git a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/9 - Final Considerations - lang_en.srt b/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/9 - Final Considerations - lang_en.srt
deleted file mode 100644
index 0dbfccd..0000000
--- a/usth/ICT2.7/P3L2 A Tale of Analysis and Design Subtitles/9 - Final Considerations - lang_en.srt
+++ /dev/null
@@ -1,196 +0,0 @@
-1
-00:00:00,140 --> 00:00:03,202
-Okay. So this is what I've done as you see,
-
-2
-00:00:03,202 --> 00:00:06,130
-it looks a little nicer than it was before. And I didn't
-
-3
-00:00:06,130 --> 00:00:08,530
-really change that much. I just made a few changes, so
-
-4
-00:00:08,530 --> 00:00:11,560
-I just wanted to point them out to you, so that you
-
-5
-00:00:11,560 --> 00:00:13,690
-know what they are. And the main thing, one of the
-
-6
-00:00:13,690 --> 00:00:18,210
-main things I did is really to introduce these derived attributes. So
-
-7
-00:00:18,210 --> 00:00:19,860
-these are attributes that are basically
-
-8
-00:00:19,860 --> 00:00:22,520
-computed. Based on some other attributes.
-
-9
-00:00:22,520 --> 00:00:26,010
-Okay, they don't have a value themselves, but their value is computed.
-
-10
-00:00:26,010 --> 00:00:28,900
-And I used two. The first one is age. So
-
-11
-00:00:28,900 --> 00:00:31,930
-basically we know the age of the patron based on
-
-12
-00:00:31,930 --> 00:00:34,920
-the birthday, of the patron. So you guys, I don't
-
-13
-00:00:34,920 --> 00:00:37,150
-know if you have that information currently in the system.
-
-14
-00:00:37,150 --> 00:00:38,480
->> No, we'll have to add that to the
-
-15
-00:00:38,480 --> 00:00:40,280
-form patrons fill out, when they get their card.
-
-16
-00:00:40,280 --> 00:00:42,255
->> Is that, that an issue? Can you do it?
-
-17
-00:00:42,255 --> 00:00:44,130
->> No yes, we, we can easily do that.
-
-18
-00:00:44,130 --> 00:00:46,670
->> Okay, so then, perfect. So we'll do it that way. I think it's
-
-19
-00:00:46,670 --> 00:00:51,310
-a, in a little cleaner. And similarly, since you told me that the fine
-
-20
-00:00:51,310 --> 00:00:54,480
-was computed based on the amount of days that an
-
-21
-00:00:54,480 --> 00:00:58,310
-item was late. The patron was late returning the item, then I
-
-22
-00:00:58,310 --> 00:01:02,010
-also added this as a derived attribute that is computed based on
-
-23
-00:01:02,010 --> 00:01:05,140
-the due date and when the item is actually returned.
-
-24
-00:01:05,140 --> 00:01:05,780
->> Makes sense.
-
-25
-00:01:05,780 --> 00:01:08,389
->> Makes sense? Okay. And the rest
-
-26
-00:01:08,389 --> 00:01:10,590
-is kind of really minor things. So the, the only one I
-
-27
-00:01:10,590 --> 00:01:14,340
-want to point out is I didn't, you know, discuss that with
-
-28
-00:01:14,340 --> 00:01:17,260
-you before, but I added this, which is called cardinality
-
-29
-00:01:17,260 --> 00:01:20,700
-for some of these relationships. And what they say is basically
-
-30
-00:01:20,700 --> 00:01:25,360
-is how many elements are involved in the relationship.
-
-31
-00:01:25,360 --> 00:01:26,580
->> So, you mean the stars?
-
-32
-00:01:26,580 --> 00:01:27,960
->> Yeah, like the stars and the one...
-
-33
-00:01:27,960 --> 00:01:28,290
->> Okay.
-
-34
-00:01:28,290 --> 00:01:31,380
->> Here for example, this is telling you that for each item there
-
-35
-00:01:31,380 --> 00:01:35,490
-is only one title. And that for each title, there are multiple items.
-
-36
-00:01:35,490 --> 00:01:36,490
->> So, star means many.
-
-37
-00:01:36,490 --> 00:01:37,716
->> Stars mean many, yeah.
-
-38
-00:01:37,716 --> 00:01:39,045
->> Okay, go you.
-
-39
-00:01:39,045 --> 00:01:42,321
->> Sorry that's kind of computer science lingo - we use the star
-
-40
-00:01:42,321 --> 00:01:45,500
-for that kind of stuff. And, similarly, for the patron, it's
-
-41
-00:01:45,500 --> 00:01:48,510
-telling me that, you know, each patron can have multiple, can
-
-42
-00:01:48,510 --> 00:01:52,550
-request multiple titles, and that the same title can be requested
-
-43
-00:01:52,550 --> 00:01:55,650
-by multiple patrons, which I think is the way the system works.
-
-44
-00:01:55,650 --> 00:01:59,080
->> Right. So except for these minor changes,
-
-45
-00:01:59,080 --> 00:02:01,850
-we already had a pretty good model in our hands, so
-
-46
-00:02:01,850 --> 00:02:04,620
-I think is a, we can finalize this and then just
-
-47
-00:02:04,620 --> 00:02:07,350
-move to the low level design and then implementation, and be
-
-48
-00:02:07,350 --> 00:02:07,970
-done with the system.
-
-49
-00:02:07,970 --> 00:02:08,979
->> Sounds good.
-