40
DRAKON Visual Language Stepan Mitkin [email protected] Visma Software/R&D

Drakon Visual Algorithms

  • Upload
    -

  • View
    997

  • Download
    1

Embed Size (px)

Citation preview

DRAKON Visual Language

Stepan Mitkin

[email protected]

Visma Software/R&D

Understanding

is hard work.

How can we

make it easier?

What for?

• Software:

• Requirements

• Documentation

• Programming

• Business processes.

• Laws.

• Any kind of activity.

Why is DRAKON special?

• Developed by mathematicians together

with experts in ergonomics.

• Has several success stories in space projects:

• Buran (Russian space shuttle)

• Sea Launch

• others

• Created with a strong focus on

easy understanding.

Hello, world!

The skewer

Wrong

Wrong again

Insertion: a hyperlink

What if?

The main path

Wrong: the main path is broken

Right: the main path is straight

The further to the right – the worse it is

Repetition is bad

Vertical joinings remove repetition

Too many angles are not good either

Horizontal joinings

Intersections are not allowed

Silhouette

Going through the silhouette

1 2 3

What is the name of the problem?

Which parts does the problem consist of?

What are the names of the parts?

Order of branches

Parallel actions

Arrow loop: Do-Check

Arrow loop: Check-Do (while)

Arrow loop: Do-Check-Do (hybrid)

Select-Case

For-each loop

For-each loop with an early exit

Wrong: more than one entry

Branch loop

Logic: AND

Logic: OR

Logic: NOT

Use cases and DRAKON

A use case is a possible scenario of interaction with a system.

1. A use case consists of a series of steps.

2. A use case does not have any conditional logic.

A DRAKON diagram shows all the use cases at once:

• Individual use cases can be produced by tracing different

paths through the diagram.

• The happy path use case is visually separated from the

emergency scenarios.

Took a glance – understood at once

DRAKON makes understanding easier:

• No visual noise.

• No line intersections.

• The happy path goes down the skewer.

• Divide the problem and conquer it.

• Several level of detail are present on the same diagram.

• A clear and consistent way to express logic and loops.

Game over

Thank you!