about summary refs log tree commit diff
path: root/usth/ICT2.7/P3L1 Software Architecture Subtitles/13 - Final Example - lang_en_vs4.srt
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P3L1 Software Architecture Subtitles/13 - Final Example - lang_en_vs4.srt')
-rw-r--r--usth/ICT2.7/P3L1 Software Architecture Subtitles/13 - Final Example - lang_en_vs4.srt127
1 files changed, 127 insertions, 0 deletions
diff --git a/usth/ICT2.7/P3L1 Software Architecture Subtitles/13 - Final Example - lang_en_vs4.srt b/usth/ICT2.7/P3L1 Software Architecture Subtitles/13 - Final Example - lang_en_vs4.srt
new file mode 100644
index 0000000..4fab0c6
--- /dev/null
+++ b/usth/ICT2.7/P3L1 Software Architecture Subtitles/13 - Final Example - lang_en_vs4.srt
@@ -0,0 +1,127 @@
+1

+00:00:00,220 --> 00:00:02,130

+I'm going to conclude this set of examples with

+

+2

+00:00:02,130 --> 00:00:04,750

+a system that you might also know, Bash. And in

+

+3

+00:00:04,750 --> 00:00:08,000

+case you don't, Bash is a Unix shell written as

+

+4

+00:00:08,000 --> 00:00:11,000

+a free software replacement for the traditional Bourne shell, also

+

+5

+00:00:11,000 --> 00:00:13,690

+called sh. So what I'm showing here is the

+

+6

+00:00:13,690 --> 00:00:17,950

+descriptive architecture of the command component of Bash. So, is

+

+7

+00:00:17,950 --> 00:00:22,170

+the architecture, as implemented, of the command component of Bash.

+

+8

+00:00:22,170 --> 00:00:25,390

+And the component is the one here sort of highlighted

+

+9

+00:00:25,390 --> 00:00:28,120

+in gray. And what you can see here, these names are

+

+10

+00:00:28,120 --> 00:00:31,640

+the sub components of the command component. And if we look at

+

+11

+00:00:31,640 --> 00:00:35,000

+this architecture, two design problems of the component can kind of jump

+

+12

+00:00:35,000 --> 00:00:37,870

+at us. The first one is the lack of cohesion within the

+

+13

+00:00:37,870 --> 00:00:40,830

+component. So, if you look here, you can see that only

+

+14

+00:00:40,830 --> 00:00:44,820

+a few connections exist between the sub-components. And having a low cohesion

+

+15

+00:00:44,820 --> 00:00:47,430

+is normally not a good thing for a design. The second thing

+

+16

+00:00:47,430 --> 00:00:50,860

+that we can note is the high coupling. The component has tons

+

+17

+00:00:50,860 --> 00:00:54,200

+of connections with other components. They're, these edges that are

+

+18

+00:00:54,200 --> 00:00:57,890

+leaving the components and going towards other parts of the system.

+

+19

+00:00:57,890 --> 00:01:01,190

+So basically, this component has low cohesion and high coupling, which

+

+20

+00:01:01,190 --> 00:01:04,730

+is exactly the opposite of how a good design should be.

+

+21

+00:01:04,730 --> 00:01:07,410

+Given the structure, it is clear that anytime you change

+

+22

+00:01:07,410 --> 00:01:09,970

+this component you might need to change a bunch of other

+

+23

+00:01:09,970 --> 00:01:13,440

+components in the system. And of course, when changing other components

+

+24

+00:01:13,440 --> 00:01:15,910

+in the system, you might also need to chance the command

+

+25

+00:01:15,910 --> 00:01:19,060

+component as well. And along similar lines, to understand this

+

+26

+00:01:19,060 --> 00:01:21,890

+component you probably need to look at many other parts of

+

+27

+00:01:21,890 --> 00:01:24,690

+the system, which is also less than ideal. And one

+

+28

+00:01:24,690 --> 00:01:27,580

+important point here is that with all these examples, I'm not

+

+29

+00:01:27,580 --> 00:01:30,500

+really trying to criticize any specific system, what I'm trying

+

+30

+00:01:30,500 --> 00:01:34,380

+to show instead, is how complex software architectures can be, and

+

+31

+00:01:34,380 --> 00:01:37,040

+how much they can degrade over time. And this is true

+

+32

+00:01:37,040 --> 00:01:39,660

+for most systems, not just the ones that I showed you.