Saya baru-baru ini melakukan beberapa diagram alur dan berjuang dengan masalah yang sama, bagaimana menyajikan panggilan subrutin, atau mungkin metode dan fungsi-panggilan seperti yang Anda sebut hari ini.
Saya memutuskan pada konvensi bahwa saya memisahkan PANGGILAN subrutin dari REFERENSI subrutin. Untuk yang pertama saya menggunakan kotak biasa menunjukkan panggilan dengan argumen yang dibuat, menggunakan variabel apa pun yang berlaku pada saat itu dalam eksekusi program.
Saya menggunakan persegi panjang "proses yang telah ditentukan" dua sisi hanya sebagai referensi ke diagram alur lain yang berisi definisi fungsi atau sub-rutin. Persegi panjang sub-rutin tidak perlu menunjukkan argumen sub-rutin karena itu adalah bagian dari diagram alir dari sub-rutin yang dimaksud, tetapi mungkin bermanfaat untuk menambahkannya dalam referensi sudah jadi siapa pun yang membacanya dapat lihat arti argumen aktual yang digunakan dalam panggilan.
Ini meningkatkan jumlah persegi panjang tetapi membuatnya lebih jelas bahwa diagram alur lain ada untuk mencari definisi dari beberapa fungsi yang dipanggil. Seringkali jika suatu fungsi sederhana, saya tidak akan membuat diagram terpisah untuk itu tetapi hanya mendokumentasikannya secara lisan.
Saya juga menggunakan simbol "dokumen" untuk mengatakan bahwa detail harus dilihat dari daftar kode.
Maksud dari diagram alur bagi saya bukanlah untuk membuat program, tetapi untuk membuatnya lebih mudah bagi orang lain untuk memahami suatu program. Saya pikir bantuan itu sebagai pandangan mata burung dan tujuan mereka harus selalu diingat. Mereka bukan untuk menggambarkan secara visual SETIAP detail program Anda, detail terlihat dari kode bila diperlukan. Diagram alir hanyalah satu gambar program Anda dari sudut pandang tingkat tinggi.
Menjaga bagan alur tingkat tinggi juga berarti ada sedikit kebutuhan untuk menjaga mereka tetap up-to-date karena kode dimodifikasi.
Itu adalah gambar. Seperti halnya dokumentasi perangkat lunak cerita bagus harus memiliki gambar juga yang memberikan sudut pandang alternatif untuk kode.