System Design Tools & Techniques
System Design – Tools & techniques must be considered to visualize the system architecture and also to optimize, validate and ensure its robustness while starting with system analysis.
Some of the recent tools & techniques given below are available in a wider range.
UML:
UML stands for Unified Modelling Language and it allows users to visualize the system design using Diagrams. Lucid Chart, Microsoft Visio and Draw.io are some of the tools used for UML diagrams.
BPNM Tools:
BPMN stands for Business Process Model and Notation, a standard notation for depicting the flow of business processes using graphical elements.
Some examples of BPMN tools are Bizagi, Camunda, and Signavio.
ERD tools/Database Design tools:
Entity Relationship Diagrams (ERD) are the graphical representation of the structure of a database. It depicts the relationship between the entities in the system.
Some examples of database design tools are MySQL Workbench, Oracle SQL Developer, and ER Studio.
API Design tools:
It stands for Application Programming Interface, a set of rules and specifications that define how different software components can interact with each other. API design tools are systems design tools that help you to design, document, test, and publish APIs for your systems.
Swagger, Postman, and Insomnia are some examples.
The above is a simple UML diagram for user Login , dashboard and logout scenario.
IDEs:
Integrated Development Environments (IDE) are software platforms that provide a set of tools for software development in a single interface.
Eclipse, Visual Studio, IntelliJ Idea are some of the popular IDEs.
Version Control system:
It helps to manage changes in source code over time, enabling collaboration and tracking changes.
Git, Azure Repos, Apache subversions are some of the version control systems available widely.
CI/CD Tools:
It automate the integration and deployment processes, resulting faster and more reliable releases.
Jenkins, Azure CI/CD platform are some of the examples.
Design Prototyping/Wireframing Tools:
These are used to create interactive mock ups of system interface helping in user experience design.
Figma, Adobe XD, Sketch are some of the design tools.
We can use one or more above tools and techniques to start with the process of system analysis and design.