Vaatimuskaavio
Vaatimuskaavio tarjoaa visualisoinnin vaatimuksista ja niiden välisistä yhteyksistä sekä suhteista muihin asiakirjaelementteihin.
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ä
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.
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
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
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:
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
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