WEBVTT 00:10.090 --> 00:16.990 OK, so in this lecture, I'm going to talk what I call the generic specific sweet spot, and it's also 00:16.990 --> 00:21.190 a little bit related to what I just talked about, process models and conceptional and how they are 00:21.190 --> 00:25.650 related and that they show different, very different things, but they are interlinked. 00:27.310 --> 00:33.730 So the thing here is that when you're doing your model, are you creating this generic model that can 00:33.730 --> 00:41.740 work in all possible situations, or are you trying creating a very specific tool that is describing 00:41.740 --> 00:43.690 a very specific use of language? 00:44.320 --> 00:51.970 And sometimes you have a hard time finding that sweet, sweet spot because it could be good to make 00:51.970 --> 00:56.590 the model a little bit more generic so it could, like, be flexible for the future. 00:56.860 --> 01:00.160 But if it becomes too flexible, then it will be so general. 01:00.160 --> 01:05.140 So it doesn't actually say a bit about you, but about your business situation or other situation. 01:06.190 --> 01:10.650 And this is generally what is thought about as modify your ability of a system. 01:11.050 --> 01:16.330 So that is the term you're using within software development, but also generically system development. 01:16.340 --> 01:23.560 When you talk about a quality that a system could had all the time to say how resilient it is for change, 01:23.860 --> 01:33.130 how easy it is to actually modify it, to actually include other aspects as well, and generally thought 01:33.130 --> 01:34.840 of that a system should have. 01:35.380 --> 01:40.630 It's good for a system to have quite a good modify ability, but it could also be too generic. 01:41.410 --> 01:48.040 So modifying built is defined in a standard and we define the modified ability of a software system 01:48.040 --> 01:55.300 as the ease with which it can be modified to changes in the environment requirements or functional specification. 01:55.300 --> 01:59.070 A little bit technical here, but I think you see the point. 01:59.080 --> 02:05.890 So how easy is it in the future to add new stuff to this model without changing the whole structure 02:05.890 --> 02:06.190 of it? 02:07.780 --> 02:14.280 So the less changes needed in the model to accomplish as many external changes as possible, the more 02:14.290 --> 02:16.960 modifiable the model is or the system is. 02:20.290 --> 02:21.670 That sounds great, right? 02:22.120 --> 02:27.310 So then I would like to have the most modifiable system, a model or the most modifiable model in the 02:27.310 --> 02:27.670 world. 02:28.210 --> 02:29.230 OK, very good. 02:30.400 --> 02:36.280 Our concept model should never have to change, but that will look something like this. 02:36.280 --> 02:40.160 They will be up on the most abstract level, which is more like the philosophical level. 02:40.180 --> 02:47.530 So you're saying that a concept have attributes and or properties even, and a concept could have relationship 02:47.530 --> 02:53.500 between different concepts and a concept could be instantiated in objects and objects, could have links 02:53.500 --> 02:56.350 between each other, which are instances of the relationships? 02:56.350 --> 02:57.270 Fine here. 02:57.290 --> 02:59.050 And we have our concept model here. 02:59.050 --> 03:02.440 We can describe everything OK? 03:03.040 --> 03:03.610 True. 03:04.060 --> 03:06.070 However, you doesn't say a bit. 03:06.070 --> 03:11.770 It doesn't say a bit about your concrete specific situation or your concrete product or business. 03:12.670 --> 03:15.840 So that is not maybe what you like to have either. 03:16.330 --> 03:22.210 So if no one will gain any knowledge from it, then it's not a good model. 03:23.890 --> 03:26.350 But let's take a concrete example again. 03:26.500 --> 03:28.300 So I'd like to work with examples. 03:28.300 --> 03:30.400 You might have noticed that already. 03:30.790 --> 03:32.650 So let's say that we have an example of a process. 03:32.650 --> 03:39.010 Moldova's start developed for a business situation and we are asked to start in conjunction with that, 03:39.010 --> 03:43.420 create a key concept model that is also used in this work. 03:43.840 --> 03:49.660 And to understand it more so let's say that we have a customer, a salesperson and a delivery manager 03:49.660 --> 03:57.580 here, and the customer sends an inquiry, the salesperson gives an offer as an answer to that inquiry, 03:57.820 --> 04:01.480 and then the customer decides what to do and might place an order. 04:02.020 --> 04:08.680 And the she and then the salesperson activates the accomplishment of the service, which is sent over 04:08.680 --> 04:12.640 to delivery man and delivery manager that does the rest of the work. 04:12.640 --> 04:20.050 Maybe, however, the customer can also give a counter bid and that will then go back to the salesperson 04:20.050 --> 04:21.610 who's giving a counteroffer maybe. 04:21.790 --> 04:28.060 And then they could go on in that loop and either they are closing it down or not doing a deal or they 04:28.060 --> 04:32.320 eventually decide to to go on and place an order. 04:33.430 --> 04:39.850 So let's say this is a very common starting of a business process, a very common pattern process patent. 04:40.960 --> 04:46.900 But from a key concept perspective here, I would like to know who is the customer? 04:46.900 --> 04:48.280 What's what is the customer? 04:49.120 --> 04:50.500 What is the salesperson? 04:50.830 --> 04:52.390 What is the delivery manager? 04:52.390 --> 04:53.440 What is an offer? 04:53.710 --> 04:54.910 What is an inquiry? 04:54.910 --> 04:56.140 What is a counter bid? 04:56.140 --> 04:57.220 What is an order? 04:57.370 --> 04:58.780 What is an accomplishment? 04:58.780 --> 05:02.530 What is it to give send, please, and activate what is offered? 05:03.210 --> 05:06.390 By whom, accomplishment of what? 05:06.720 --> 05:07.720 And so on and so on. 05:07.830 --> 05:15.050 So first interpretation of this could be that we are saying that we have a customer who gives an inquiry. 05:16.020 --> 05:18.430 This is the first interpretation of the concept model. 05:18.450 --> 05:24.140 So we have a customer in place, an inquiry to a salesperson who gives it to a delivery manager to and 05:24.180 --> 05:25.620 activates the accomplishment. 05:25.920 --> 05:27.260 The customer gives an order. 05:27.480 --> 05:31.740 We have an offer that is sent from a salesperson to a customer and we might have a counter bid. 05:32.410 --> 05:33.120 OK, very good. 05:33.150 --> 05:45.510 We have captured the key things here, but it's becoming a little bit like a spider web, so to speak. 05:46.000 --> 05:52.570 So maybe if you start doing this and have that very simple conceptual structure from that process model, 05:52.590 --> 05:59.130 you will have eventually a conceptual model that looks like a complete spider web is almost impossible 05:59.130 --> 06:01.420 to change or have any flexibility in it. 06:02.490 --> 06:08.210 So there are a lot of pros maybe with this because it's simple and it's quite easy to understand, but 06:08.210 --> 06:10.110 there are also a lot of consequences for it. 06:11.700 --> 06:16.680 So second interpretation would instead be to say that we have an agreement actually that we're trying 06:16.680 --> 06:23.450 to agree upon here and we have an order or offer and counter bid, which all our statements on that 06:23.460 --> 06:29.070 final agreement, an agreement about a service that we would like to be delivered. 06:29.820 --> 06:33.590 And we have different roles towards that agreement. 06:33.600 --> 06:39.630 We have the producer, which is a party, and we have a customer, which is the party, and they the 06:39.630 --> 06:42.750 service they need to be accomplished by a party. 06:43.950 --> 06:49.110 We have an inquiry that is sent in from a role that we call the customer as well. 06:49.470 --> 06:57.150 And we could have a salesperson is responsible for the agreement, and that's an officer and an officer 06:57.150 --> 06:58.320 is another role. 06:59.160 --> 06:59.550 Sorry. 07:00.180 --> 07:04.950 An accomplishment is also done by officer and then they're called on the delivery manager. 07:06.300 --> 07:12.390 So here we see that we have another way of doing the same conceptual apparatus at the same conceptual 07:12.390 --> 07:18.480 domain could be expressed in another way without actually affecting the process model that stays intact. 07:19.290 --> 07:26.580 And we can actually add on just another third interpretation when we start also adding on more things 07:26.580 --> 07:33.480 that we see underneath that we implicitly hear in that process model so that we also say that a service 07:33.480 --> 07:35.940 is actually realized in the delivery process. 07:35.940 --> 07:41.640 Probably we need to understand that and the accomplishment is actually an instance of such a delivery 07:41.640 --> 07:42.270 process. 07:43.320 --> 07:49.020 There's a lot of business events going on here between the parties and the agreements and the statements 07:49.020 --> 07:49.470 and so on. 07:49.860 --> 07:55.680 And for example, the accept or reactivate or receive an inquiry offering something, receiving counter 07:55.680 --> 07:56.460 bids and so on. 07:56.670 --> 08:00.000 Those are important events that we would like to have information about, maybe. 08:00.480 --> 08:07.110 So here we have added yet another set of concepts that we also maybe implicitly hear when we are seeing 08:07.110 --> 08:10.020 that process model, but they aren't shown in the process model. 08:10.200 --> 08:18.120 So these are three very different conceptual models which could be used in conjunction with the same 08:18.120 --> 08:18.960 process model. 08:20.070 --> 08:23.650 And that's an important thing to understand. 08:24.120 --> 08:28.080 So you can interpret the same story in almost infinite ways. 08:29.220 --> 08:32.220 And you remember these Gwangi problem that we had. 08:33.660 --> 08:36.330 And every interpretation has its pros and cons. 08:36.750 --> 08:44.550 So they could be both making it more complex, but also make it more flexible or being too simple and 08:45.030 --> 08:51.330 may be very hard to to grow into a larger model that is very hard to maintain and understand when it 08:51.330 --> 08:52.180 becomes larger. 08:52.980 --> 08:58.320 So that's a very kind of generic that's a very important sweet spot that you need to find. 08:59.400 --> 09:06.030 So Generalisations General leads to higher modify ability by generalization could also blur out the 09:06.030 --> 09:06.720 details. 09:08.690 --> 09:10.470 And there's no true answers here. 09:10.530 --> 09:16.840 Actually, you need to find your sweet spot of your model in your concrete situation. 09:19.940 --> 09:20.510 Very good. 09:21.080 --> 09:26.840 That was that lecture about finding your sweet spot in your model, seeing your next lecture, which 09:26.840 --> 09:30.410 is a full scale example, action, where you're going to model yourself.