Per quanto riguarda applicazioni comuni viene usato il linguaggio UML (Unified Modeling Language).
Attraverso questo standard é possibile definire l'architettura di un sistema nei minimi particolari, in modo tale che qualsiasi programmatore, analista o chi altro riesca facilmente a capire come si sviluppa il progetto.

Con l'UML é possibile definire i Class diagram ovvero uno schema delle classi implementate nel progetto, molto adatto per applicazioni Java.

Oppure abbiamo gli States diagram che permettono di indicare tutti gli stati in cui si può trovare il sistema in base a vare sollecitazioni che l'utente fornisce.

Prova a leggere una guida in linea, magari quella di HTML.it, e vedere se questo linguaggio fa al caso tuo.

Spero di esserti stato d'aiuto