ivpk / dsa

Duomenų struktūros aprašo specifikacija.
GNU Affero General Public License v3.0
0 stars 2 forks source link

UML visibility #31

Open sirex opened 1 week ago

sirex commented 1 week ago

Šiuo metu UML visibility žymės yra siejamos su DSA access:

DSA access nurodo duomenų prieinamumą, tačiau UML visibility kalba apie duomenų modelio elementų matomumą ir mano supratimu tai yra labiau sietina su metaduomenų prieinamumu.

Siūlau atskirti access ir įtraukti naują stulpelį į DSA pavadinimu visibility, kuris sutaptu su UML visibility žymėmis:

UML DSA Reikalavimai Paaiškinimas
+ public base=/ ir uri užpildytas matomas EU lygmeniu
~ package base=/ matomas LT lygmeniu (įteisintas IS nuostatuose)
# protected (default) base=_ (#27) matomas IS lygmeniu (nėra IS nuostatuose)
- private metaduomenys nepublikuojami

DSA visibility nurodytu metaduomenų matomumą, o access duomenų prieigos lygmenį:

Susiję

sirex commented 1 week ago

UML klasių diagramose, šie žymėjimai nurodo kiek plačiai matomi modelio elementai, modelis matomas visoms EU šalims +, ar tik Lietuvoje ~ ar tik vienoje IS #.

Iš oficialios UML 2.5.1 specifikacijos:

  • public (+)- A NamedElement with public visibility is visible to all elements that can access the contents of the Namespace that owns it.
  • package (~) - A NamedElement with package visibility is visible to all Elements within the nearest enclosing Package (given that other owning Elements have proper visibility). Outside the nearest enclosing Package, a NamedElement marked as having package visibility is not visible. Only NamedElements that are not owned by Packages can be marked as having package visibility
  • protected (#) - A NamedElement with protected visibility is visible to Elements that have a generalization relationship to the Namespace that owns it.
  • private (-) - A NamedElement with private visibility is only visible inside the Namespace that owns it.

-- https://www.omg.org/spec/UML/2.5.1/PDF

Todėl UML atveju, tai vadiname visibility, o DSA atveju yra kitas, nesusijęs su UML visibility metaduomuo vadinamas status, kuris nurodo išbaigtumą.

Jei DSA status nėra COMPLETED, tada UML visibility gali būti tik - (private).

Jei DSA uri nėra užpildytas, tada UML visibility gali būti ne didesnis nei ~ (package), t.y. matomas tik Lietuvoje, apsikeitimui tarp Lietuvos IS.

Jei elementas nėra aprašytas IS nuostatuose, tada UML visibility gali būti ne didesnis, nei # (protected), t.y. matomas, tik vienos IS ribose.

sirex commented 1 week ago

Kyla klausimas, gal UML visibility analogą reikėtu įtraukti ir į DSA?

DSA access - galėtu nurodyti duomenų prieigos lygmenis. DSA visible - galėtu nurodyti metaduomenų prieigos lygmenis.