Register
Process Type
Graphical expression
Mind Type
Structured expression
Note Type
Efficient expression

VaatimuskaavioSyntaksi

Vaatimuskaavio

Vaatimuskaavio tarjoaa visualisoinnin vaatimuksista ja niiden välisistä yhteyksistä sekä suhteista muihin asiakirjaelementteihin.

Koodi
                            
Kopioi
Upotus
requirementDiagram requirement test_req { id: 1 text: the test text. risk: high verifymethod: test } element test_entity { type: simulation } test_entity - satisfies -> test_req

Syntaksi

Vaatimuskaavio sisältää kolme komponenttia: vaatimukset, elementit ja suhteet.

Kulmasulkeilla merkityt sanat ovat luetteloavainsanoja, kuten , joiden vaihtoehdot on selitetty yksityiskohtaisesti taulukossa. user_defined... käytetään kaikkialla, missä tarvitaan käyttäjän syötettä.

Tärkeä huomautus käyttäjän tekstistä: kaikki syötteet voidaan sulkea lainausmerkkeihin tai jättää ilman niitä. Käyttäjän on kuitenkin oltava varovainen käyttäessään lainausmerkittömiä syötteitä. Jos muita avainsanoja havaitaan, editorin renderöinti epäonnistuu.

Vaatimus

Vaatimuksen määrittely sisältää vaatimuksen tyypin, nimen, ID:n, tekstin, riskin ja validointimenetelmän. Syntaksi on seuraava:

                            
Kopioi
Upotus
<type> user_defined_name { id: user_defined_id text: user_defined text risk: <risk> verifymethod: <method> }

Tyyppi, riski ja menetelmä ovat SysML:ssä määriteltyjä luettelotyyppejä.

Avainsana Vaihtoehdot
Tyyppi Vaatimus, toiminnallinen vaatimus, rajapintavaatimus, suorituskykyvaatimus, fyysinen vaatimus, suunnittelurajoitus
Riski Matala, keskitaso, korkea
Validointimenetelmä Analyysi, tarkastus, testaus, esittely

Elementti

Elementtien määrittely sisältää elementin nimen, tyypin ja asiakirjaviittauksen, ja kaikki kolme ovat käyttäjän määrittämiä. Elementtitoiminto on suunniteltu kevyeksi ja sallii samalla vaatimusten liittämisen muiden asiakirjojen osiin.

                            
Kopioi
Upotus
element myElement { type: string docref: some/doc/path }

Markdown-muoto

Kohdissa, joissa käyttäjä voi mukauttaa tekstiä (kuten nimi, vaatimuksen teksti ja elementin asiakirjaviittaus), voit:

  • Sulje teksti lainausmerkkeihin
  • Käytä markdown-muotoa lainausmerkkien sisällä
Koodi
                            
Kopioi
Upotus
requirementDiagram requirement "__test_req__" { id: 1 text: "*italicized text* **bold text**" risk: high verifymethod: test }

Suhde

Suhde koostuu lähdesolmusta, kohdesolmusta ja suhdetyypistä.

Noudata seuraavaa määrittelymuotoa:

                            
Kopioi
Upotus
{name of source} - <type> -> {name of destination}

tai

                            
Kopioi
Upotus
{name of destination} <- <type> - {name of source}

"Lähdesolmu" ja "kohdesolmu" ovat muualla määriteltyjen vaatimus- tai elementtisolmujen nimiä.

Suhdetyyppi voi olla yksi seuraavista: sisältää, kopioida, johtaa, täyttää, validoida, tarkentaa tai jäljittää.

Yksityiskohtainen esimerkki

Tämä esimerkki käyttää kaikkia kaavion ominaisuuksia.

Koodi
                            
Kopioi
Upotus
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

Suunta

Voit käyttää direction-lausetta kaavion renderöimiseksi eri suunnissa; kelvollisia arvoja ovat:

  • TB - ylhäältä alas (oletus)
  • BT - alhaalta ylös
  • LR - vasemmalta oikealle
  • RL - oikealta vasemmalle
Koodi
                            
Kopioi
Upotus
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

Tyyli

Vaatimukset ja elementit voidaan tyylitellä suoralla tyylillä tai luokilla. Yleisesti ottaen tyyliä tai luokkaa sovellettaessa se hyväksyy luettelon vaatimusten tai elementtien nimistä sekä luettelon luokkanimistä, mikä sallii useiden luokkien määrittämisen kerralla. Ainoa poikkeus on pikasyntaksi :::, jossa operaattori voi määrittää useita luokkia mutta vain yhdelle vaatimukselle tai elementille kerrallaan.

Suora tyyli

Koodi
                            
Kopioi
Upotus
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

Luokan määrittely on seuraavan esimerkin mukainen:

Määritä uudelleenkäytettävä tyyli classDef-komennolla:

Koodi
                            
Kopioi
Upotus
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

Oletusluokka

Jos luokan nimi on default, sitä sovelletaan kaikkiin solmuihin. Tietyt tyylit ja luokat tulee määrittää tämän jälkeen, jotta ne korvaavat käytössä olevan oletustyylin.

                            
Kopioi
Upotus
classDef default fill:pink,stroke:#333,stroke-width:4px;

Sovellusluokka

Luokka voidaan soveltaa kahdella tavalla:

1. Käytä class-syntaksia:

                            
Kopioi
Upotus
class test_req,test_entity important

2. Käytä :::-operaattorin pikasyntaksia määrittelyn aikana tai sen jälkeen:

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

Yhdistelmäesimerkki

Koodi
                            
Kopioi
Upotus
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