Jangan terlalu banyak menghabiskan waktu di UML. Di tim saya, saya satu-satunya yang mengenal UML dengan sangat baik dan karenanya membuat use case, komponen, state, deployment, dan diagram lainnya. Anggota tim yang lain lebih baik daripada saya untuk membuat kode tetapi tidak sebaik diagram UML.
Trik yang kami gunakan adalah untuk fokus pada diagram kelas di tingkat pemodelan untuk menentukan struktur aplikasi dan juga membiarkan pengembang / arsitek untuk kode yang mereka inginkan. Kami kemudian menggabungkan model dengan kode baru dan memperbarui model di setiap iterasi. Sangat mudah dan sangat efisien. Kami berkembang di Jawa dengan Omondo EclipseUML.
Saya akan merekomendasikan untuk tidak menggunakan MDD yang bagi saya adalah omong kosong nyata !! Pemodel akan mencoba untuk mengambil lebih banyak daya di dalam proses pengembangan tetapi ini tidak akan membuat nilai apa pun jika mereka mencoba untuk menghasilkan semua kode dari model. Kode ini milik pengembang / arsitek tetapi bukan milik pemodel. UML seharusnya hanya berupa tampilan persyaratan proyek (mis. Usecase, urutan, dll ....) proses (misalnya diagram keadaan atau aktivitas), penyebaran (penyebaran, diagram komponen). Diagram kelas harus berupa tampilan kode dan diagram kelas UML hanya boleh digunakan sebagai penampil kode. Pengkodean Java harus menghormati pendekatan objek dan UML yang juga merupakan bahasa objek sangat membantu untuk menghindari omong kosong dan kode bodoh.
Yang paling penting adalah iterasi diagram kelas antara model ke kode dan kode ke model. Maksud saya sebenarnya bukan sinkronisasi langsung, tetapi untuk dapat menggabungkan kode dan model pada setiap iterasi. Saya menggunakan Omondo EclipseUML dan berpikir mereka adalah satu-satunya yang memiliki java, entitas database dan ID model. ID penggabungan benar-benar konsep yang kuat dan sangat cocok untuk proyek tangkas kami.
Rekomendasi saya adalah jangan membeli buku apa pun. Anda harus memiliki pendekatan objek dan menggunakan bahasa diagram kelas untuk memvisualisasikan objek Anda untuk membuat arsitektur yang lebih baik. Jika salah satu anggota tim tahu UML maka gunakan diagram lain, jika tidak diagram kelas akan cukup.