Introduction to System Design.
System design
System design is the process of building the architecture, interfaces, and data for a system that satisfies specific requirements. System design meets the needs of your organization through efficient and integrated systems. Designing a system that supports millions of users is challenging, and it is a journey that requires continuous refinement and endless improvement.
System design requires a systematic and strategic approach to build an engineering systems. A good system design requires you to think about everything in an infrastructure, from the hardware and software, all the way down to the data and how itโs stored.
What is System?
A System is the loosely use term for an architecture or a collection of software or technology that communicate with each other or interact with each other in order to serve a certain set of users with a certain set of requirement.
Example :- Netflix a streaming platform which server the certain set of user with a different set of requirement.
Factors for defining the System :-
- User or a customer.
- User's Requirement.
- Components to build that system.
What is design?
Design is the process of perceiving the user's needs and selecting the most appropriate component, architecture, module, and software technologies that will be integrated into the system to fulfil those needs. A designer uses the modelling languages to express the information and knowledge in a structure of system that is defined by a consistent set of rules and definitions. The designs can be defined in graphical or textual modelling languages. Example of graphical modelling languages are:-
- Class Responsibility and Collaboration (CRC) cards :- that defines the class, responsibility of class and the collaborator to the class.
- Unified modelling language (UML) :- The designers use UML class diagram or UML Sequence diagram to represent a system along with its main actors, roles, actions, artifacts or classes.
- Flowchart :- A schematic or stepwise representation that defines the flow of execution of an algorithm.
Design methods :-
- Architectural design: To illustrate the system's views, models, behaviour, and structure.
- Logical design: To represent the data flow, inputs and outputs of the system.
- Physical design: How the data is modelled and stored within the system and understanding the flow and control of data throughout the system.
Thankyou! hope you find this helpful.๐