Diagram zahtev
Diagram zahtev omogoča vizualizacijo zahtev in njihovih medsebojnih povezav ter razmerij z drugimi elementi dokumentov.
Kopiraj
Vdelava
requirementDiagram
requirement test_req {
id: 1
text: the test text.
risk: high
verifymethod: test
}
element test_entity {
type: simulation
}
test_entity - satisfies -> test_req
Sintaksa
Diagram zahtev vsebuje tri vrste komponent: zahteve, elemente in razmerja.
Besede v ostrih oklepajih so ključne besede naštevanja, kot je , katerih možnosti so podrobno opisane v tabeli. user_defined... se uporablja povsod, kjer je potreben uporabniški vnos.
Pomembna opomba o uporabniškem besedilu: vse vnose je mogoče oviti v dvojne narekovaje ali pa tudi ne. Vendar mora biti uporabnik pri uporabi vnosov brez narekovajev previden. Če se zaznajo druge ključne besede, upodabljanje v urejevalniku ne uspe.
Zahteva
Definicija zahteve vsebuje vrsto zahteve, ime, ID, besedilo, tveganje in metodo preverjanja. Sintaksa je naslednja:
Kopiraj
Vdelava
<type> user_defined_name {
id: user_defined_id
text: user_defined text
risk: <risk>
verifymethod: <method>
}
Vrsta, tveganje in metoda so naštevanja, definirana v SysML.
| Ključna beseda | Možnosti |
|---|---|
| Vrsta | zahteva, funkcionalna zahteva, vmesniška zahteva, zmogljivostna zahteva, fizična zahteva, oblikovna omejitev |
| Tveganje | nizko, srednje, visoko |
| Metoda preverjanja | analiza, pregled, preizkus, predstavitev |
Element
Definicija elementa vsebuje ime elementa, vrsto in sklic na dokument, pri čemer so vsi trije uporabniško definirani. Funkcija elementa je zasnovana tako, da ostane lahka, hkrati pa omogoča povezovanje zahtev z deli drugih dokumentov.
Kopiraj
Vdelava
element myElement {
type: string
docref: some/doc/path
}
Oblika Markdown
Kjer je dovoljeno uporabniško prilagajanje besedila (kot so imena, besedilo zahtev, sklici na dokumente elementov itd.), lahko:
- besedilo ovijete v dvojne narekovaje
- znotraj dvojnih narekovajev uporabite obliko markdown
Kopiraj
Vdelava
requirementDiagram
requirement "__test_req__" {
id: 1
text: "*italicized text* **bold text**"
risk: high
verifymethod: test
}
Razmerje
Razmerje sestavljajo izvorno vozlišče, ciljno vozlišče in vrsta razmerja.
Sledi naslednji obliki definicije:
Kopiraj
Vdelava
{name of source} - <type> -> {name of destination}
ali
Kopiraj
Vdelava
{name of destination} <- <type> - {name of source}
"Izvorno vozlišče" in "ciljno vozlišče" morata biti imeni zahtev ali elementov, definiranih drugje.
Vrsta razmerja je lahko ena od: vsebuje, kopira, izhaja, izpolnjuje, preverja, izpopolnjuje ali sledi.
Podroben primer
Ta primer uporablja vse funkcije tega diagrama.
Kopiraj
Vdelava
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
Smer
S stavkom direction lahko diagram upodobite v različnih smereh; veljavne vrednosti so:
- TB - od zgoraj navzdol (privzeto)
- BT - od spodaj navzgor
- LR - od leve proti desni
- RL - od desne proti levi
Kopiraj
Vdelava
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
Slog
Zahteve in elemente lahko oblikujete z neposrednim slogom ali razredi. Na splošno pri uporabi sloga ali razreda sprejme seznam imen zahtev ali elementov in seznam imen razredov, kar omogoča dodelitev več razredov hkrati. Edina izjema je okrajšana sintaksa :::, pri kateri lahko operator dodeli več razredov, vendar le eni zahtevi ali elementu naenkrat.
Neposredni slog
Kopiraj
Vdelava
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
Definicija razreda je prikazana v spodnjem primeru:
Z classDef definirajte slog, ki ga je mogoče večkrat uporabiti:
Kopiraj
Vdelava
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
Privzeti razred
Če je razred poimenovan default, se uporabi za vsa vozlišča. Posebne sloge in razrede je treba definirati za tem, da preglasijo že uporabljeni privzeti slog.
Kopiraj
Vdelava
classDef default fill:pink,stroke:#333,stroke-width:4px;
Uporabi razred
Razrede je mogoče uporabiti na dva načina:
1. Z uporabo sintakse class:
Kopiraj
Vdelava
class test_req,test_entity important
2. Z uporabo okrajšane sintakse operatorja ::: med definiranjem ali po njem:
Kopiraj
Vdelava
requirement test_req:::important {
id: 1
text: class styling example
risk: low
verifymethod: test
}
Kopiraj
Vdelava
element test_elem {}
test_elem:::myClass
Primer kombinacije
Kopiraj
Vdelava
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