In this session, we are going to discuss modularization. We can think a software which is consisting of multiple different modules. So, these modules can be executed one after another in a sequential way or in the form of parallel and simultaneous executions. So, let us discuss more on this modularization in this session. So, modularization is a technique which is nothing but divide a software system into multiple discrete and independent modules. Independent modules means they can execute it independently and which are expected to be capable of carrying out tasks independently. So, if we can decrease the dependency between modules, then obviously the modules can execute in parallel. And here actually the principle whatever you are using is the divide and conquer. So, these modules may work as a basic constructs for the entire software. And designers train to design modules such that they can be executed and or can be compiled or can or get coded, developed separately and independently. So, that is the basic theme and purpose lying behind this modularization. Modular design unintentionally focuses the rule of divide and conquer and problem solving strategy. So, there is a divide and conquer problem solving strategy is getting enhanced, is getting implemented through this modular design. And this is because there are many benefits attached with modular design of a software. So, let us go for some advantages of modularization. So, smaller components are easier to maintain, easier to debug, easier to develop and easier to think up. So, to zusammen with western, so the point where program programs can be 92. And this one is regarding planning and the ち könnten ways longer is the problem we are running back to secure and second point where the computer been used. That is because it stands for the design. Program can also be divided based on functional aspects. So, in a particular software actually we are going to implement different functional requirements. So, a program can also be divided based on functional aspects. So, desert level of abstraction can be brought in the program. So, we can have some level of abstractions. We can think that the program is getting divided into multiple different levels. In the earlier video also, we have discussed that A particular design, software design can have three different level of abstractions. One is the architectural design, next one is our high level design, and last one is our detailed design. You can have a look on the previous video for the better understanding. Components with high cohesion can be reused again. So, whenever we are having one module, one component which is having high cohesion, that means all the codes which are residing within that module, within that component are highly related somehow by some means. So, what will happen? This module or this component will be reused again and again in the software development. Concurrent execution can be made possible if you make our modules not having any interdependency. Desired form the security aspect. So, these are the different advantages of this modularization. Thanks for watching this video. Visit TutorialsPoint.com. Simply easy learning.