Diagram Alur
Ekspresi grafis
Peta Pikiran
Ekspresi terstruktur
Catatan
Ekspresi yang efisien

Diagram KebutuhanSintaks

Diagram Kebutuhan

Diagram persyaratan menyediakan visualisasi persyaratan beserta hubungan koneksi di antara mereka, serta relasinya dengan elemen dokumen lain.

Kode
                            
Salin
Sematkan
requirementDiagram requirement test_req { id: 1 text: the test text. risk: high verifymethod: test } element test_entity { type: simulation } test_entity - satisfies -> test_req

Sintaks

Diagram persyaratan terdiri dari tiga komponen: persyaratan, elemen, dan relasi.

Kata yang direpresentasikan dengan tanda kurung siku adalah kata kunci enumerasi, seperti , yang opsinya dijelaskan secara terperinci dalam tabel. user_defined... digunakan di tempat yang memerlukan input pengguna.

Catatan penting tentang teks pengguna: semua input dapat dibungkus dengan tanda kutip ganda, atau dapat tanpa tanda kutip ganda. Namun, pengguna harus berhati-hati saat menggunakan input tanpa tanda kutip. Jika kata kunci lain terdeteksi, editor akan gagal merender.

Persyaratan

Definisi persyaratan mencakup jenis persyaratan, nama, ID, teks, risiko, dan metode validasi. Sintaksnya adalah sebagai berikut:

                            
Salin
Sematkan
<type> user_defined_name { id: user_defined_id text: user_defined text risk: <risk> verifymethod: <method> }

Jenis, risiko, dan metode adalah enumerasi yang didefinisikan dalam SysML.

Kata kunci Opsi
Jenis Persyaratan, persyaratan fungsional, persyaratan antarmuka, persyaratan kinerja, persyaratan fisik, batasan desain
Risiko Rendah, sedang, tinggi
Metode validasi Analisis, pemeriksaan, pengujian, demonstrasi

Elemen

Definisi elemen mencakup nama elemen, jenis, dan referensi dokumen; ketiganya didefinisikan oleh pengguna. Fitur elemen dimaksudkan untuk tetap ringan, sekaligus memungkinkan pengaitan persyaratan dengan bagian konten dokumen lain.

                            
Salin
Sematkan
element myElement { type: string docref: some/doc/path }

Format Markdown

Di tempat yang mengizinkan pengguna menyesuaikan teks (seperti nama, teks persyaratan, referensi dokumen elemen, dan lain-lain), Anda dapat:

  • Membungkus teks dengan tanda kutip ganda
  • Menggunakan format markdown di dalam tanda kutip ganda
Kode
                            
Salin
Sematkan
requirementDiagram requirement "__test_req__" { id: 1 text: "*italicized text* **bold text**" risk: high verifymethod: test }

Relasi

Relasi terdiri dari simpul sumber, simpul tujuan, dan jenis relasi.

Mengikuti format definisi berikut:

                            
Salin
Sematkan
{name of source} - <type> -> {name of destination}

atau

                            
Salin
Sematkan
{name of destination} <- <type> - {name of source}

"simpul sumber" dan "simpul tujuan" harus berupa nama simpul persyaratan atau elemen yang didefinisikan di tempat lain.

Jenis relasi dapat berupa salah satu dari berisi, menyalin, menurunkan, memenuhi, memverifikasi, menyempurnakan, atau melacak.

Contoh terperinci

Contoh ini menggunakan semua fitur diagram tersebut.

Kode
                            
Salin
Sematkan
requirementDiagram requirement test_req { id: 1 text: the test text. risk: high verifymethod: test } functionalRequirement test_req2 { id: 1.1 text: the second test text. risk: low verifymethod: inspection } performanceRequirement test_req3 { id: 1.2 text: the third test text. risk: medium verifymethod: demonstration } interfaceRequirement test_req4 { id: 1.2.1 text: the fourth test text. risk: medium verifymethod: analysis } physicalRequirement test_req5 { id: 1.2.2 text: the fifth test text. risk: medium verifymethod: analysis } designConstraint test_req6 { id: 1.2.3 text: the sixth test text. risk: medium verifymethod: analysis } element test_entity { type: simulation } element test_entity2 { type: word doc docRef: reqs/test_entity } element test_entity3 { type: "test suite" docRef: github.com/all_the_tests } test_entity - satisfies -> test_req2 test_req - traces -> test_req2 test_req - contains -> test_req3 test_req3 - contains -> test_req4 test_req4 - derives -> test_req5 test_req5 - refines -> test_req6 test_entity3 - verifies -> test_req5 test_req <- copies - test_entity2

Arah

Anda dapat menggunakan pernyataan direction untuk menetapkan arah rendering diagram yang berbeda; nilai yang valid adalah:

  • TB - dari atas ke bawah (bawaan)
  • BT - dari bawah ke atas
  • LR - dari kiri ke kanan
  • RL - dari kanan ke kiri
Kode
                            
Salin
Sematkan
requirementDiagram direction LR requirement test_req { id: 1 text: the test text. risk: high verifymethod: test } element test_entity { type: simulation } test_entity - satisfies -> test_req

Gaya

Persyaratan dan elemen dapat diberi gaya menggunakan gaya langsung atau kelas. Secara umum, saat menerapkan gaya atau kelas, ia menerima daftar nama persyaratan atau elemen dan daftar nama kelas, sehingga memungkinkan menetapkan beberapa kelas sekaligus. Satu-satunya pengecualian adalah sintaks singkat :::, di mana operator dapat menetapkan beberapa kelas, tetapi hanya untuk satu persyaratan atau elemen sekaligus.

Gaya langsung

Kode
                            
Salin
Sematkan
requirementDiagram requirement test_req { id: 1 text: styling example risk: low verifymethod: test } element test_entity { type: simulation } style test_req fill:#ffa,stroke:#000, color: green style test_entity fill:pink,stroke:#333, color: blue

Definisi kelas seperti yang ditunjukkan pada contoh berikut:

Menggunakan classDef untuk mendefinisikan gaya yang dapat digunakan kembali:

Kode
                            
Salin
Sematkan
requirementDiagram requirement test_req { id: 1 text: "class styling example" risk: low verifymethod: test } element test_entity { type: simulation } classDef important fill:#f96,stroke:#333,stroke-width:4px classDef test fill:#ffa,stroke:#000

Kelas bawaan

Jika sebuah kelas dinamai default, kelas tersebut akan diterapkan pada semua simpul. Gaya dan kelas khusus harus didefinisikan setelahnya, untuk menimpa gaya bawaan yang telah diterapkan.

                            
Salin
Sematkan
classDef default fill:pink,stroke:#333,stroke-width:4px;

Menerapkan kelas

Kelas dapat diterapkan melalui dua cara:

1. Menggunakan sintaks class:

                            
Salin
Sematkan
class test_req,test_entity important

2. Menggunakan operator ::: sintaks singkat selama atau setelah pendefinisian:

                            
Salin
Sematkan
requirement test_req:::important { id: 1 text: class styling example risk: low verifymethod: test }
                            
Salin
Sematkan
element test_elem {} test_elem:::myClass

Contoh kombinasi

Kode
                            
Salin
Sematkan
requirementDiagram requirement test_req:::important { id: 1 text: "class styling example" risk: low verifymethod: test } element test_entity { type: simulation } classDef important font-weight:bold class test_entity important style test_entity fill:pink,stroke:#333