DEV Community

Cover image for What diagram should I know as a software engineer?
Possawat Sanorkam
Possawat Sanorkam

Posted on • Updated on

What diagram should I know as a software engineer?

Prerequisite

As a software engineer, it's important to be familiar with a variety of diagrams and notations that are used to design, model, and document software systems. Some common types of diagrams that you may encounter include:

Class diagrams

Class diagrams are used to model the static structure of a system, showing the relationships between classes, interfaces, and other objects.

Component diagrams

Component diagrams show the relationships between the components of a system, often used to model the structure of a software system.

Object diagrams

Object diagrams show the relationships between objects in a system, often used to model the static structure of a system at a specific point in time.

Communication diagrams

Communication diagrams show the interactions between objects or components in a system, often used to model the communication between objects in a system.

Sequence diagrams

Sequence diagrams show the interactions between objects or components in a system, showing the order in which messages are sent and received.

State diagrams

State Machine Diagrams | Unified Modeling Language (UML) - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

favicon geeksforgeeks.org

State diagrams show the possible states of a system and the transitions between those states, often used to model the behavior of a system.

Activity diagrams

Activity diagrams show the flow of activities or actions within a system, often used to model business processes or workflows.

Use case diagrams

Use Case Diagram for Online Banking System - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

favicon geeksforgeeks.org

Use case diagrams show the interactions between a system and its users, showing the different ways that a system can be used.

Deployment diagrams

Deployment diagrams show the physical components of a system and how they are deployed on hardware, often used to model the architecture of a distributed system.

Data flow diagrams

What is DFD(Data Flow Diagram)? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

favicon geeksforgeeks.org

Data flow diagrams show the flow of data within a system, showing the input, output, and processing of data.

Entity relationship diagrams

Introduction of ER Model - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

favicon geeksforgeeks.org

Entity relationship diagrams show the relationships between entities in a database, used to model the structure of a database.

Collaboration diagrams

Collaboration diagrams show the interactions between objects or components in a system, often used to model the dynamic behavior of a system.

Network diagrams

Network diagrams show the connections between devices on a network, often used to model the topology of a network.

Interaction overview diagrams

Interaction overview diagrams show the flow of messages between objects or components in a system, often used to model the overall flow of interactions in a system.

Timing diagrams

Timing diagrams show the behavior of a system over time, often used to model the timing and duration of events in a system.

Object constraint language (OCL) diagrams

OCL diagrams use a specialized notation to describe constraints on the behavior of a system, often used to specify the behavior of a system in more detail. It is an advanced concept, so here is the lecture note.

Graphical user interface (GUI) diagrams

Graphical user interface (GUI) diagrams are visual representations of the user interface (UI) of a software application or system. GUI diagrams show how the UI is organized and how it interacts with the user. These diagrams can be used to design and document the UI of a software application, and they can also be helpful for understanding and navigating an existing UI.

Image description

GUI diagrams typically include elements such as windows, dialog boxes, buttons, menus, and other interactive elements that are used to interact with the software. They may also include representations of data and other information that is displayed to the user. GUI diagrams are often created using specialized diagramming tools, and they may be included in software design documents or used as part of the development process.

Surprise! This article is written by ChatGPT! I added some useful links to further read more about these diagrams.

Top comments (0)