Use case analysis secara umum diterima sebagai salah satu pendekatan yang baik untuk menangkap kebutuhan sistem (System Requirement's) khususnya kebutuhan fungsional (Functional Requirements) dari sistem dan perangkat lunak yang dianalisis. Robustness Analysis adalah perangkat analisis yang dibuat oleh Ivar Jacobson pada methodology Jacobson's Objectory Method. Selain digunakan pada metodologi Jacobson's tersebut, Robustness Analysis juga digunakan pada metodologi ICONIX yang dikembangkan oleh Doug Rousenberg, Matt Stephens dan Mark Collins Cope. Pada perancangan perangkat lunak berorientasi object, Robustness Analysis digunakan oleh Ivar Jacobson dan Doug Rosenberg untuk menjembatani hasil use case model yang telah diperoleh dengan class model serta sequence diagram yang akan dibuat. Gambar 1. menunjukkan keterkaitan robustness diagram dengan class diagram serta sequence diagram dalam kerangka metodologi ICONIX
Pada kerangka metodologi ICONIX maka Robustness Analysis akan menjembatani pembuatan sequence diagram dari use case yang telah diperoleh sekaligus juga akan menjembatani pembuatan class model yang sesuai dengan model use case yang telah dimiliki. Gambar 2 menunjukkan bagaimana robustness analysis menjalankan fungsinya sebagai penghubung dalam proses pengembangan perangkat lunak para metodologi ICONIX tersebut.
Gambar 2 jelas memperlihatkan bahwa dari sisi kepentingan pengembangan pemodelan perangkat lunakan yang akan direkayasa, maka Robustness Analysis akan memungkinkan para analis dan perekayasa perangkat lunak untuk mengidentifikasi dan menurunkan sejumlah participant dan class berdasarkan use case model yang telah dimiliki. Pada Robustness analysis terdapat 3 stereotype symbol, dimana simbol -simbol tersebut adalah : (Gambar 3 menunjukkan gambar dari 3 simbol yang digunakan pada Robustness Diagram)
- Boundary Objects
- Entity Objects
- Controller
Boundary Object adalah object berupa antar muka (interface) antara sistem dengan objek diluar sistem. Umumnya Boundary Object adalah tampilan atau web page. Entity Object adalah sejumlah object yang diciptakan oleh class yang ada pada domain model awal dan umumnya akan merepresentasikan entitas yang ada pada data modeling. Controller umumnya akan merepresentasikan aksi yang dilakukan pada object (boundary object dan entity object) sehingga umumnya sebagian besar controller pada Robustness Diagram akan ditransformasi menjadi method pada Entity Class atau Boundary Class pada Class Diagram)
Pada Robustness Analysis terdapat sejumlah aturan yang digunakan dalam menggambarkan interaksi yang terjadi pada sistem. Aturan-aturan ini antara lain adalah :
- Aktor hanya dapat memiliki asosiasi / hubungan dengan boundary objects
- Boundary Object hanya dapat memiliki asosiasi / hubungan dengan controller
- Controller dapat memiliki asosiasi / hubungan dengan Boundary Object, Entity Object dan Controller lain, tetapi tidak dapat memiliki hubungan/asosiasi dengan aktor.
- Entity Object hanya dapat memiliki asosiasi / hubungan dengan Controller
Gambar 4 menunjukkan aturan yang digunakan dalam menggambarkan interaksi yang ada dalam sistem.
Gambar 5 berikut adalah contoh use case dari suatu sistem Content Management System. Use Case yang ditampilkan tersebut adalah Use Case tentang bagaiman pengguna memilih dan menampilkan konten yang dapat diakses secara publik. Selain Use case pada gambar 5 tersebut juga ditampilkan hasil Robustnes Analysis berupa Robustness Diagram yang bersesuaian dengan Use Case tersebut.