Diagram Kebutuhan adalah alat visualisasi rekayasa khusus yang digunakan oleh arsitek sistem, manajer produk, dan insinyur perangkat lunak untuk memetakan spesifikasi teknis, batasan sistem, dan uji verifikasi. Dibangun berdasarkan standar SysML (Bahasa Pemodelan Sistem), mesin bawaanrequirementDiagrammemungkinkan Anda menghubungkan kebutuhan desain abstrak langsung ke komponen sistem fisik dan kasus uji menggunakan deklarasi berbasis teks.
Memahami Elemen Diagram Kebutuhan
Diagram Kebutuhan terutama terdiri dari dua blok pembangun struktural yang berbeda:Blok Kebutuhan (yang menentukan aturan) danBlok Elemen (yang memodelkan kode, perangkat keras, atau skrip uji). Hubungan kemudian digambar antara blok-blok ini untuk menciptakan matriks pelacakan yang jelas.
Struktur Sintaks Dasar
Setiap diagram dimulai denganrequirementDiagramheader deklarasi. Ini diikuti dengan mendefinisikan blok kebutuhan dengan properti bersarang, blok elemen, dan garis hubungan berarah.
requirementDiagram
requirement test_req {
id: 1
text: "Sistem harus memproses pembayaran secara aman."
risk: tinggi
verifymethod: test
} 
Klasifikasi Jenis Kebutuhan Lengkap
Tidak semua kebutuhan rekayasa dibuat sama. Mesin menyediakan enam kata kunci blok yang berbeda untuk mengklasifikasikan spesifikasi Anda secara visual dan semantik. Setiap jenis mengubah label header yang ditampilkan di dalam kotak diagram yang dirender:
requirement: Spesifikasi sistem standar atau umum.functionalRequirement: Menentukan tindakan atau kemampuan perilaku yang harus dieksekusi sistem.interfaceRequirement: Menentukan titik koneksi, pertukaran data, atau protokol komunikasi antar komponen.performanceRequirement: Menetapkan metrik eksekusi yang dapat diukur, seperti kecepatan, skalabilitas, throughput, atau kapasitas.physicalRequirement: Menentukan batasan bahan, dimensi, berat, atau keterbatasan perangkat keras.kendalaDesain: Membatasi pilihan perangkat lunak, gaya arsitektur, kerangka kerja, atau standar kepatuhan.
diagramKebutuhan
kendalaDesain keterbatasanLama {
id: "CON-04"
text: "Backend harus mempertahankan kompatibilitas mundur dengan pipeline PHP 8.2."
risiko: rendah
metodeVerifikasi: pemeriksaan
} 
Referensi Sintaks: Elemen dan Modifikasi Kebutuhan
Tabel di bawah ini menjelaskan kata kunci semantik utama, atribut yang diperlukan, dan struktur klasifikasi yang secara bawaan dikenali oleh penerjemah kebutuhan.
| Komponen Sintaks | Jenis Kebutuhan | Deskripsi & Atribut Sistem yang Didukung |
|---|---|---|
| Deklarasi | Pengenal Kata Kunci | Menginisialisasi kanvas kerja kebutuhan SysML. Harus menggunakan diagramKebutuhan header blok. |
| Atribut ID Unik | id: String / Integer |
Parameter bersarang yang wajib, yang menyediakan indeks pelacakan atau kode referensi alfanumerik unik di dalam kerangka pelacakan Anda. Spasi campuran diperbolehkan. |
| Atribut Teks | text: String yang Dibatasi Tanda Kutip |
String deskriptif yang wajib, menjelaskan spesifikasi aktual atau batasan perilaku dari item tersebut. Selalu dibungkus dengan tanda kutip ganda. |
| Atribut Risiko | risiko:Bendera Tingkat Keparahan |
Penanda opsional yang melacak tingkat keparahan risiko arsitektur. Menerima token tingkat rendah: rendah, menengah, atau tinggi. |
| Atribut Verifikasi | verifymethod:Tag Metode |
Parameter opsional yang menyatakan bagaimana aturan akan dibuktikan. Menerima nilai standar rekayasa: analisis, demonstrasi, pemeriksaan, atau uji coba. |
| Elemen Sistem | elemenBlok |
Mendeklarasikan komponen fisik, komponen perangkat lunak, atau skrip uji coba menggunakan sintaks: elemen nama_elemen { type: "tipe_komponen" }. |
Hubungan Lanjutan & Tautan Pelacakan
Kekuatan utama dari diagram persyaratan terletak pada menghubungkan persyaratan ke sistem nyata. Tautan digambar menggunakan konektor panah khusus dan bertipe (misalnya, - memenuhi ->) yang menetapkan niat struktural yang jelas.
Operator Hubungan yang Didukung
| Token Sintaks Hubungan | Makna Rekayasa Strategis | Aturan Aliran Berarah |
|---|---|---|
sumber - berisi -> target |
Mendekomposisi persyaratan induk yang luas menjadi persyaratan sub yang lebih kecil dan bersarang. | Menunjuk dari blok Persyaratan Induk ke blok Persyaratan Sub. |
elemen - memenuhi -> persyaratan |
Membuktikan bahwa komponen perangkat lunak atau perangkat keras fisik berhasil memenuhi suatu aturan. | Menunjuk dari elemenblok menuju target persyaratan blok. |
elemen - memverifikasi -> persyaratan |
Menunjukkan bahwa skrip pengujian tertentu atau kasus pengujian memeriksa akurasi suatu aturan. | Menunjuk dari pengujian elemenblok menuju target persyaratan blok. |
sumber - menyalin -> target |
Menunjukkan persyaratan duplikat yang sepenuhnya sesuai dengan persyaratan utama yang terletak di tempat lain. | Menunjuk dari salinan duplikat menuju blok asli utama. |
sumber - melacak -> target |
Membentuk ketergantungan luas atau hubungan historis antara dua persyaratan yang terpisah. | Menunjuk dari persyaratan yang tergantung menuju blok target utama. |
sumber - menghasilkan -> target |
Menunjukkan bahwa suatu persyaratan dihitung atau dibuat sebagai hasil langsung dari persyaratan lain. | Menunjuk dari blok anak yang dihasilkan menuju blok induk sumber. |
sumber - menyempurnakan -> target |
Menambahkan nuansa atau kejelasan tambahan pada spesifikasi teknis tingkat tinggi yang sangat kompleks. | Menunjuk dari spesifikasi yang disempurnakan menuju blok target dasar. |
Elemen yang Didefinisikan Pengguna & Atribut Diperpanjang
Selain persyaratan standar, elemenkata kunci memungkinkan Anda memetakan skrip aplikasi tertentu, item perangkat keras, atau paket pihak ketiga ke dalam jalur pelacakan Anda. Setiap blok elemen dapat menyimpan properti metadata kunci-nilai khusus dengan memanfaatkan skema tipe: skema di dalam kurung kurawal nya.
requirementDiagram
elemen payment_gateway_api {
tipe: "Modul Mikroservis Stripe"
}
elemen compliance_audit_log {
tipe: "Tabel Basis Data yang Tidak Dapat Diubah"
} 
Rancangan Dunia Nyata: Infrastruktur Keamanan E-Commerce yang Kompleks
Rancangan komprehensif ini melacak ekosistem kepatuhan produksi secara lengkap. Ini menunjukkan dekomposisi melalui berisi, memetakan batasan kinerja, menghubungkan modul perangkat lunak melalui memenuhi, dan memetakan kasus uji integrasi menggunakan memverifikasi putaran.
requirementDiagram
%% Lapisan Hierarki Persyaratan
persyaratan security_master_req {
id: "SEC-001"
teks: "Platform aplikasi harus mempertahankan kepatuhan standar PCI-DSS secara ketat."
risiko: tinggi
metode_verifikasi: uji
}
persyaratan_kinerja checkout_speed_req {
id: "PERF-22"
teks: "Gelombang tangan pengautentikasian kriptografi MFA harus dikompilasi dalam waktu kurang dari 200ms."
risiko: sedang
metode_verifikasi: analisis
}
persyaratan_antarmuka secure_token_req {
id: "INT-09"
teks: "Transmisi data API harus menggunakan JSON Web Token (JWT) yang terenkripsi."
risiko: tinggi
metode_verifikasi: uji
}
%% Lapisan Elemen Sistem
elemen auth_service_code {
tipe: "Mikroservis Backend Go"
}
elemen load_tester_script {
tipe: "Skrip Kinerja K6"
}
elemen jwt_validator_test {
tipe: "Suite Unit Integrasi Jest"
}
%% Jalur Hubungan Arsitektur
security_master_req - berisi -> checkout_speed_req
security_master_req - berisi -> secure_token_req
auth_service_code - memenuhi -> secure_token_req
load_tester_script - memverifikasi -> checkout_speed_req
jwt_validator_test - memverifikasi -> secure_token_req 
Kesalahan Sintaks Umum & Kendala Sistem
Saat mengompilasi peta rekayasa yang akurat, pertimbangkan parameter validasi berikut untuk mencegah kesalahan pemrosesan:
- Kutipan Ganda Wajib untuk String: Blok teks dan tipe (misalnya,
teks: "Deskripsi",tipe: "Komponen") *harus* dibungkus dengan tanda kutip ganda. Menggunakan tanda kutip tunggal atau meninggalkan string tanpa kutipan akan membuat kompilator gagal. - Sintaks Atribut Ketat: Atribut di dalam kurung harus menggunakan titik dua diikuti langsung oleh nilai (misalnya,
id: 1). Lupa menggunakan titik dua atau menuliskannya dalam baris yang sama tanpa jarak indentasi yang tepat dapat menyebabkan kesalahan. - Pilihan Nilai Terbatas: The
risikodanverifymethodparameter hanya menerima token sistem eksplisit (misalnya,rendah,sedang,tinggiuntuk risiko;analisis,demonstrasi,pemeriksaan,ujiuntuk verifymethod). Mengetik nilai kustom sepertirisiko: ekstremakan merusak pembuat tata letak. - Integritas Jarak Panah: Garis arah harus diketik dengan jarak spasi di sekitar operator (misalnya,
A - memenuhi -> B). Menggabungkan string menjadiA-memenuhi->Bakan menghapus pengecualian pemrosesan sistem.