Dear Students, Welcome to Gate Smashers. I am going to explain in this video, Various approaches for software design. So software design is the stage when our requirement analysis, our risk analysis, & software project management, when all these are completed SRS has completed, all the requirements that have been detected and locked up. After that, it's not that you will go directly to the coding phase, to the implementation phase. It's important to design things first. Just like I have given the example before. You have to build a house, you have to build a building, When all the requirements analysis, all these things have been completed. So it's not that you can directly start to make it by calling the labor and mistry. No, first, you will prepare its architectural design that what to build where. Prepare a 3D map of it. It comes under the design approach. So here the design approaches are two. One is functional-oriented. and other is object-oriented. Functional oriented simply means where whatever software product I have to make, whatever system I have to design We will see it in the form of functions. It's just a simple thing. In that our focus will be to see the system from a functional point of view which functionalities are in it. And what do we do in it, there is a big system, We divide that big system into small systems, modules, or functions. And that's why it is also called as Divided & conquer approaches because what do we do in it? A top-down approach means I have to make a big system then I'll divide that big system into smaller subsystems. Then those modules, if they can be further divided, until I bring them to the basic level. I will keep dividing them. And finally when those
small modules are completed then by conquering them, merging them, merging the functionalities together, then we prepare the big system. So this is a simple story. And let me tell you that it is not that these two are competing with each other. This approach is already being used for a quite time you say that it's an older approach and already a mature approach. This is a new approach. & the base of this approach is this approach, But there are new things in it, and a lot of new things are coming. And a lot of companies, they're using actually this approach nowadays. So if I talk here, we use the concept of DFD here. We used it as a graphical representation. So here I will tell you an example. Let's say we take the example of an ATM. We take the example of an ATM or let's say take the
example of a library system. We have to create a
library automation system. So to make the library automation system, the functional will say that what functions are there in it? If I make a library Management System. So what will we do in it? The book is issued. So it became a function. Or what will happen to it? I have to return the book So that will become my function. So, in this way, We design big systems in the form of functions. And then the final functions make. Here if I talk about object-oriented, It says you see everything in the form of objects. and you divide those objects into further classes Because every object is what, It's a member of a class. And then what do we do, We connect those classes to each other. So we see everything here in the form of objects and entities. So if I want to create the
same LMS system here, want to create a library management system. So here is what we will do, first of all, we will see the object Like a student is an object. a faculty is an object A book is an object. and if we talk about class, then all these are classes. And Every class has members This means it has data members and functions, then it means What can be the book's states, book's ID, name of the book, color of the book, in this way. And then what members are in it? That's you can issue the book. You can return the book. There is the faculty's ID and faculty's name. In the same way, the student's ID, student's name So all these things, we see in the form of an object, so it is a bottom-up approach. Bottom-up means The student is a class in itself, design it. Faculty is a class in itself, design it. A book is a class in itself, design it. And then you combine them together. So we follow the bottom-up approach. in the object-oriented. And we use mainly UML in it. Unified Modeling Language. So the concept of UML is a graphical concept. DFD is also a graphical concept, but it is an old concept. And this is a new concept. So we use UML in object-oriented. In the next video, we will start with, What are DFDs? How do you design them? Levels of DFDs. Then after that, we will discuss UML. Thank you.