Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flowchart diagrams vs. UML activity diagrams

What is the practical difference between using flowchart diagrams and UML activity diagrams? I have some thoughts, but maybe I'm missing an elephant in the room?

Flowchart diagram:

  1. Widely used;
  2. Easily understood by non-programmers;
  3. Old?

UML Activity diagram:

  1. Standardized;
  2. Supports concurrency;
  3. Less known syntax, but still simple enough.

For my case of ad-hoc documenting a particular block of application logic, I decided to go with the flowchart diagrams. More people in the company will be able to understand them.

like image 370
Vladimir Sinenko Avatar asked Aug 16 '11 16:08

Vladimir Sinenko


People also ask

Is UML diagram a flowchart?

UML is extremely useful for visualizing and documenting software systems, but the terminology can be somewhat overwhelming for someone unfamiliar with UML. An activity diagram is essentially a flowchart that shows activities performed by a system.

What is the difference between UML diagrams and data flow diagram?

While a DFD illustrates how data flows through a system, UML is a modeling language used in Object Oriented Software Design to provide a more detailed view.

Is UML and activity diagram same?

Activity diagram is another important diagram in UML to describe the dynamic aspects of the system. Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The activity can be described as an operation of the system.

What is the difference between a flowchart and a diagram?

The difference between a data flow diagram (DFD) and a flow chart (FC) are that a data flow diagram typically describes the data flow within a system and the flow chart usually describes the detailed logic of a business process.


2 Answers

It might seem as a preference, but if we have a standardized language for describing software systems, Why do we use something else? This can lead to bad habit of overusing flowcharts. Activity diagrams are really simple. But if you decide to describe a more complicated aspect of the system or try to change the part you are describing, you might have to switch anyway. So just use UML and prevent confusion in the future.

like image 174
Gabriel Ščerbák Avatar answered Oct 06 '22 04:10

Gabriel Ščerbák


As you note, Activity diagrams inherently can include concurrency and timing. If you look at this example cribbed from Wikipedia, shown below, you can observe the section with two heavy horizontal bars, and two parallel activities of "present idea" and "record idea". That is read as "start these activities in parallel, and continue only when both are complete." Flowcharts can't express this within the notation.

Practically, using activity diagrams lets you think clearly about concurrent processes. I think you'll find that anyone who can read a flowchart will quickly adapt.

Activity diagram by ​spanish Wikipedia user Gwaur CC BY-SA 3.0, via Wikimedia Commons: ​Activity diagram from Wikipedia

like image 37
Charlie Martin Avatar answered Oct 06 '22 06:10

Charlie Martin