Pertanyaan ini sangat mirip dengan yang ini , tetapi jawabannya tidak sesuai dengan kebutuhan saya. Ini berfokus pada alat UML tertentu (Papyrus) sedangkan pertanyaan saya lebih umum tentang UML.
Saya ingin mewakili tindakan bersarang dalam diagram aktivitas , tetapi saya tidak tahu apa cara yang umum untuk melakukannya. Idenya adalah bahwa ada tindakan dengan cakupan yang sama dari tindakan lain, tetapi lebih kompleks dalam pelaksanaannya. Saya ingin menunjukkan detail lebih lanjut tentang eksekusi sementara masih bisa menunjukkan tindakan ini pada tingkat yang sama dari yang lain.
Pada contoh di bawah ini, yang merupakan diagram aktivitas yang menunjukkan beberapa jenis aktivitas " kembali ke rumah ", tindakan bertingkat ada dalam Pet the cat
tindakan. Perhatikan bahwa ada kesalahan potensial lain dalam diagram ini, lihat errata di akhir pertanyaan.
Saya telah menggunakan node terstruktur, tapi saya tidak yakin itu cara yang benar, maka pertanyaannya. Dalam statechart, padanannya adalah keadaan komposit, tapi saya tidak bisa menemukan apa pun tentang tindakan gabungan. Mengenai node terstruktur, setelah membaca beberapa dokumen tentang hal itu saya masih belum benar-benar mengerti bagaimana seharusnya digunakan, jadi saya mungkin benar-benar salah dengan diagram ini.
Saya juga tahu bahwa ada kemungkinan untuk merujuk ke sub-aktivitas lain dengan simbol trisula, seperti pada gambar di bawah, tetapi tidak sesuai dengan kebutuhan saya karena saya ingin seluruh informasi pada diagram yang sama (sehingga saya dapat mencetak tanpa kehilangan informasi):
Jadi apa cara standar untuk merepresentasikan aksi bersarang seperti itu? Secara standar, maksud saya UML yang valid, umum dilihat dan jika mungkin dapat dilakukan pada sebagian besar alat desain UML.
Errata yang tidak terkait: Hal lain yang salah dalam diagram saya, panah yang datang ke tindakan yang sama ( Scratch behind the ears
) harus pergi ke simpul penggabungan sebelum memasukkan tindakan. Lihat komentar di bawah ini, termasuk kutipan JOT ini .
Jawaban:
Keduanya "standar". Gambar pertama sesuai spesifikasi UML adalah
Gambar ke-2 adalah
Perbedaan utama antara kedua kasus adalah penggunaan kembali. Sementara di tempat pertama Anda hanya memiliki beberapa kompleksitas di satu tempat (Anda
Pet the cat
) yang kedua adalah ketika Anda (kembali) menggunakan tindakan tertentu di banyak tempat. Namun, saya cenderung menggunakan varian doa bahkan jika itu hanya untuk satu penggunaan. Di sini saya menambahkan diagram komposit (yang dalam EA terbuka pada dbl-klik) untuk menampilkan detail tindakan yang sesuai. Alur utama hanya menunjukkan ikhtisar dan jika diperlukan, mereka tinggal klik dbl.Sekarang, membuat diagram komposit dalam EA (sekali lagi) berbeda. Anda perlu membuat AD pada tingkat paket dan kemudian seret ini ke elemen doa. Sekarang, ketika Anda mengklik-dbl itu, diagram tertanam akan terbuka.
sumber