System Design: Using process flow to design software
System design is one of the core processes for designing software or a solution, after system requirement, and system analysis. It is a systematic approach to designing a software, or a solution. It is the process of defining, developing and designing systems which satisfies the specific needs and requirements of a business or organization.
The system development life cycle (SDLC), also referred to as the is a term used in systems engineering, information systems and software engineering to describe the process of planning, designing, creating, testing, and implementing an information system.
It may take a top-down, or bottom-up approach. Top-down and bottom-up are both strategies of information processing and knowledge ordering, used in a variety of fields which includes software, humanistic and scientific theories, and management and organization.
In order to achieve this task, there are some basic building blocks one needs to use. A combination of these building blocks forms a process flow, which provides a visual representation of the steps in a process.
This Process considers all related variables of that system that needs to be created from the architecture , to the required hardware and how data flows in that particular system.It can be seen as the application of systems theory to product development.
|A top-down approach is the breaking down of a system to gain insight into its composition, sub-systems in a reverse engineering fashion. In a top-down approach an overview of the system is formulated, specifying, but not detailing, any first-level subsystems.
A bottom-up approach is the piecing together of systems to give rise to more complex systems, thus making the original systems sub-systems of the emergent system. It is a type of information processing based on incoming data from the environment to form a perception.
UML, which represent unified modelling language, is a rich language to model software solutions, application structures, system behavior, and business process. This language is divided into 2 categories, with 7 subcategories in each.
One tool that can be used for this purpose is draw.io. Draw.io is an online tool, which is readily available, so one does not need to have it installed on their local machine. With a very rich user interface and user experience, one can easily design a process flow with already provided building blocks. One can also choose from the various categories of templates, such as basic, charts, UML, Venn diagram, engineering, software, etc., to designing a process flow diagram.
By default, every design on draw.io is saved in an xml format. But files can be exported as JPEG, PNG, SVG, or any other format of the user’s choice.
You can’t build a house without a blueprint, same goes for building a software, a system, or a solution. It is imperative to always apply this approach, when designing a system, software, or solution, as it would be easier to always detect if there is a problem to one’s intending solution from the blueprints of that system.
However, there are other existing open source tools aside from draw.io that can be used to achieve this purpose. They include:
You can visit here for more information about these free tools that can be used for system designs.