Sintaks Diagram Kebutuhan Mermaid.js & Panduan Pelacakan

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 risiko dan verifymethod parameter hanya menerima token sistem eksplisit (misalnya, rendah, sedang, tinggi untuk risiko; analisis, demonstrasi, pemeriksaan, uji untuk verifymethod). Mengetik nilai kustom seperti risiko: ekstrem akan merusak pembuat tata letak.
  • Integritas Jarak Panah: Garis arah harus diketik dengan jarak spasi di sekitar operator (misalnya, A - memenuhi -> B). Menggabungkan string menjadi A-memenuhi->B akan menghapus pengecualian pemrosesan sistem.
Scroll to Top