Straturi
v1.0 · în consultareLivrare software (DEL)
Stratul DEL al limbajului Public Framework Modelling Language 1.0 răspunde la întrebarea „Cum se produce software-ul?”. Pagina descrie conceptele stratului, relațiile lor și cele 12 tipuri de elemente.
Descrie specificația v1.0
Ce descrie stratul
Stratul DEL răspunde la întrebarea „Cum se produce software-ul?”. El descrie producerea și livrarea software-ului, cu dependențele lui și dovezile livrării. Structura software-ului ține de APP, iar instalarea (Deployment) unei versiuni (Release) ține de RUN.
Conceptele și relațiile lor
Fluxul de livrare software (Pipeline) construiește, verifică și livrează software-ul. El include în compoziție, la nevoie, etapele fluxului de livrare (PipelineStage), prin relația „include în compoziție” (composition). Opțional, o etapă declanșează o suită de teste (TestSuite), prin relația „declanșează” (triggering).
Fluxul accesează depozitul de cod-sursă (SourceRepository) și registrul de artefacte (ArtifactRegistry), prin relația „accesează” (access). Ambele aparțin familiei depozit.
Artefactul (Artifact), adică pachetul, fișierul binar sau imaginea rezultată, realizează o componentă (Component) din APP, prin relația „realizează” (realisation). Versiunea de livrare și artefactul sunt implementate într-un mediu (Environment), un cluster (Cluster), un nod (Node) sau un spațiu de nume (Namespace) din RUN. Relația este „este implementat în” (deployedTo).
Dependențele dintre elementele tehnice se exprimă prin relația „depinde de” (dependsOn), de exemplu între un artefact și o bibliotecă software (SoftwareLibrary). Inventarul componentelor software (SBOM) și dependența software (SoftwareDependency) consemnează aceste dependențe ca dovezi ale livrării.
Tipurile de elemente
Stratul are 12 tipuri de elemente, din familiile: comportament (4), informație (6), depozit (2). Câmpurile proprii ale fiecărui tip sunt enumerate sub definiție; câmpurile comune tuturor elementelor sunt descrise la conceptele de bază.
SourceRepositoryDepozit de cod-sursă · familia depozitUn depozit de cod-sursă software gestionat prin controlul versiunilor.
Atribute principale:urldefaultBranchvisibilitylicenceSpdxversionstatuslifecycleStatesourceReferencedispositionvcsKindcontainsSourceForPipelineFlux de livrare software · familia comportamentO succesiune de activități folosite pentru construirea, verificarea sau livrarea software-ului.
Atribute principale:tooltriggersversionstatuslifecycleStatesourceReferencedispositionrepositoriesstagesentryPipelineStageEtapă a fluxului de livrare · familia comportamentUn anumit pas dintr-un flux de livrare software.
Atribute principale:kindversionstatuslifecycleStatesourceReferencedispositionpipelinestageKindinstructionsjoinModesuitesconsumesArtifactsproducesArtifactspublishesToapprovalRoleTestSuiteSuită de teste · familia comportamentO colecție de teste care furnizează dovezi pentru livrarea software-ului.
Atribute principale:kindversionstatuslifecycleStatesourceReferencedispositionverificationKindverifiesArtifactArtefact · familia informațieUn produs software rezultat, precum un pachet, un fișier binar sau o imagine.
Atribute principale:kindcoordinatesdigestversionstatuslifecycleStatesourceReferencedispositionartifactKindreleaseVersionimmutableRevisionchecksumAlgorithmchecksumValuepackagesArtifactRegistryRegistru de artefacte · familia depozitUn depozit sau un catalog de artefacte software produse.
Atribute principale:urlversionstatuslifecycleStatesourceReferencedispositionpackageKindsstoresReleaseVersiune de livrare · familia informațieO versiune identificată a software-ului, pregătită pentru livrare sau utilizare.
Atribute principale:versionreleasedOnstatusreleaseNotesUrldeclaredStatuslifecycleStatesourceReferencedispositionreleaseVersionreleaseStatedefinitionsevidenceRunsapprovalRoleapprovedAtapprovalEvidenceSoftwareDependencyDependență software · familia informațieO dependență înregistrată între elemente software sau de livrare.
Atribute principale:versionlicenceSpdxsupplierpackageCoordinatesrequirementValuerequirementKindartifactSBOMInventar al componentelor software (SBOM) · familia informațieUn inventar al componentelor conținute într-un artefact software sau într-o versiune de livrare.
Atribute principale:formatgeneratedAtdependenciesartifactsreleaseSoftwareLibraryBibliotecă software · familia informațieO bibliotecă software reutilizabilă, folosită de o implementare sau de o componentă.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositionlanguagevendorreleaseVersionlicensesupportEndDatesupportEvidenceSoftwareFrameworkCadru software · familia informațieUn cadru care furnizează structură și servicii pentru implementarea software-ului.
Atribute principale:categoryDeploymentDefinitionDefiniție de instalare · familia comportamentO definiție reutilizabilă care descrie modul de instalare a software-ului.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositionformatartifacts
În exemplul „Family support benefit”
Figura 4.6 (pagina 32) arată stratul DEL în exemplu. Versiunea de livrare „Benefits platform release 1.0” este implementată în mediul „Production environment”, din RUN. Depozitul „Benefits platform source” păstrează codul sistemului software (SoftwareSystem) „Benefits case platform”, din APP, iar artefactul „Benefits platform package 1.0” este pachetul livrat.
Artefactul împachetează componenta „Benefit assessment component”, din APP. Legătura este un câmp al artefactului și nu apare în figură.
