Straturi
v1.0 · în consultareAplicații (APP)
Stratul APP al limbajului Public Framework Modelling Language 1.0 răspunde la întrebarea „Cu ce software?”. Pagina descrie conceptele stratului, relațiile lor și cele 23 tipuri de elemente.
Descrie specificația v1.0
Ce descrie stratul
Stratul APP răspunde la întrebarea „Cu ce software?”. El descrie software-ul care susține serviciile (PublicService): structura, comportamentul și integrarea lui. Producerea software-ului ține de DEL, iar instalarea (Deployment) unei versiuni (Release) ține de RUN.
Conceptele și relațiile lor
Sistemul software (SoftwareSystem) include în compoziție, la nevoie, containerele de aplicație (ApplicationContainer) și componentele (Component) lui. Relația este „include în compoziție” (composition) și leagă aici elemente din familia structură.
Software-ul susține serviciile prin relația „deservește” (serving). Sursa ei este o structură, un acces sau un serviciu. Exemple sunt sistemul software, componenta reutilizabilă comună (SharedBuilding Block) și interfața de programare a aplicațiilor (API). Ținta este o structură, un comportament sau un serviciu, de exemplu un serviciu public sau o procedură (Procedure).
Serviciul de aplicație (ApplicationService) și schimbul de date (DataExchange) descriu comportamentul software-ului. Ca și sistemele și componentele, ele accesează un depozit de date (DataStore) sau un set de date (Dataset) din INF, prin relația „accesează” (access). Comportamentul detaliat se desenează, la nevoie, pe planșa de detaliu, cu instrumentele BPMN.
Un element din APP depinde de, la nevoie, alte elemente tehnice, din APP, DEL, RUN, HST sau OPS, prin relația „depinde de” (dependsOn). La nevoie, elemente din alte straturi realizează elemente din APP, prin relația „realizează” (realisation). De exemplu, un artefact (Artifact) din DEL realizează o componentă, iar o unitate de execuție (Workload) din RUN realizează un container de aplicație.
Tipurile de elemente
Stratul are 23 tipuri de elemente, din familiile: structură (7), comportament (7), acces (4), informație (3), depozit (1), decizie (1). Câmpurile proprii ale fiecărui tip sunt enumerate sub definiție; câmpurile comune tuturor elementelor sunt descrise la conceptele de bază.
SoftwareSystemSistem software · familia structurăUn sistem software care susține capabilități sau servicii organizaționale.
Atribute principale:lifecyclesourcingcriticalityversionsourceReferencestatuslifecycleStatepurposevendorproductNameimplementationKindsupportContactsupportRoleprovidesperformsApplicationContainerContainer de aplicație · familia structurăO parte a unui sistem software care poate fi instalată sau poate funcționa independent.
Atribute principale:kindtechnologyComponentComponentă · familia structurăO componentă software logică, cu o responsabilitate definită.
Atribute principale:technologyversionsourceReferencestatuslifecycleStatepurposevendorproductNameimplementationKindcriticalitysupportContactsupportRoleprovidesperformspartOfAPIInterfață de programare a aplicațiilor (API) · familia accesO interfață software prin care sunt accesate funcții sau date.
Atribute principale:styleversionspecificationUrlvisibilitysourceReferencestatuslifecycleStatepurposeinterfaceKindprotocolcontractReferenceownerexposesDataStoreDepozit de date · familia depozitUn depozit logic folosit de software, independent de o instanță de stocare instalată.
Atribute principale:kindversionsourceReferencestatuslifecycleStatepurposestoreKindownerstoresDataExchangeSchimb de date · familia comportamentUn schimb de informații între aplicații sau interfețe software.
Atribute principale:patternprotocolfrequencyversionsourceReferencestatuslifecycleStatepurposeinteractionPatterntriggerDescriptiontimeoutfailureHandlingsourcedestinationusesexchangesrepliesWithtransformsWithSharedBuildingBlockComponentă reutilizabilă comună · familia structurăO capabilitate software reutilizabilă, partajată între servicii sau organizații.
Atribute principale:kindproviderAlgorithmAlgoritm · familia comportamentO procedură de calcul sau de decizie definită, folosită de software.
Atribute principale:versionsourceReferencestatuslifecycleStatepurposealgorithmKinddefinitionLanguagedefinitionTextassumptionspreconditionspostconditionsdeterminismnodesentryAlgorithmDecisionDecizie algoritmică · familia decizieUn punct de decizie dintr-un algoritm.
Atribute principale:versionsourceReferencestatuslifecycleStatereadsPortswritesPortsusesParametersquestionexpressionLanguageexplanationAlgorithmImplementationImplementare a algoritmului · familia comportamentO implementare software concretă a unui algoritm.
Atribute principale:versionsourceReferencestatuslifecycleStateentryPointartifactVersionsourceRevisionchecksumnumericalBehaviourrandomnessPolicyAlgorithmStepPas al algoritmului · familia comportamentO acțiune sau un calcul individual dintr-un algoritm.
Atribute principale:versionsourceReferencestatuslifecycleStatereadsPortswritesPortsusesParametersstepKindinstructionexpressionLanguageexpressioninvokesAlgorithmApplicationFunctionFuncție a aplicației · familia comportamentUn comportament software grupat după responsabilitatea sa.
Atribute principale:versionsourceReferencestatuslifecycleStatepurposebehaviourKindrealisesautomatesconsumesproducesusesAlgorithmsimplementsRulesApplicationInterfaceInterfață a aplicației · familia accesUn punct de acces care expune comportamentul aplicației.
Atribute principale:regionhorizonProfiledirectioncontractboundary1boundary2ApplicationServiceServiciu de aplicație · familia comportamentO funcționalitate software oferită unei alte componente sau unei interfețe cu utilizatorul.
Atribute principale:versionsourceReferencestatuslifecycleStatepurposeserviceCategorysupportsDataTransformationTransformare a datelor · familia comportamentO conversie dintr-o reprezentare a datelor în alta.
Atribute principale:mappingKindmappingReferencelossinessreadswritesIntegrationChannelCanal de integrare · familia structurăUn mecanism care conectează participanți software pentru comunicare.
Atribute principale:versionsourceReferencestatuslifecycleStatepurposechannelKindlogicalAddressMessageContractContract de mesaj · familia informațieO specificație a structurii și a semnificației unui mesaj.
Atribute principale:versionsourceReferencestatuslifecycleStatepurposemessageKindcorrelationKeyidentityKeypayloadModeTechnologyPlatformPlatformă tehnologică · familia structurăO platformă tehnologică folosită pentru susținerea software-ului.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositionpurposecategorycomprisesprovidesexposesSystemSoftwareSoftware de sistem · familia structurăSoftware de sistem sau de platformă necesar unei aplicații ori unui artefact.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositionsoftwareKindvendorproductNamereleaseVersionlicenseproductReferencesupportEndDatesupportEvidenceprovidesexposesTechnologyBoundaryInterfaceInterfață de delimitare tehnologică · familia accesO interfață de delimitare prin care o aplicație accesează o capabilitate tehnologică.
Atribute principale:regionhorizonProfiledirectioncontractboundary1boundary2TechnologyServiceServiciu tehnologic · familia informațieO capabilitate tehnologică pusă la dispoziția consumatorilor software.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositioncategorycontractVersionserviceDescriptionlimitationsTechnologyInterfaceContractContract de interfață tehnologică · familia accesUn contract care descrie accesul la un serviciu tehnologic.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositionaccessStylecontractReferenceexposesServicessupportsProtocolsTechnologyProtocolProtocol tehnologic · familia informațieUn protocol folosit pentru comunicarea cu o capabilitate tehnologică.
Atribute principale:versionstatuslifecycleStatesourceReferencedispositionfamilyprotocolVersion
În exemplul „Family support benefit”
Figura 4.5 (pagina 30) arată stratul APP în exemplu. Sistemul software „Benefits case platform” deservește serviciul public „Family support benefit”, din ORG. Este singura relație a stratului în exemplu.
Celelalte legături ale platformei sunt câmpuri și nu apar în figură. Platforma cuprinde componenta „Benefit assessment component” și expune API-ul „Benefit submission API”, interfața dintre canalul (ServiceChannel) „Public benefit portal”, din ORG, și platformă. Ea oferă serviciul de aplicație „Benefit case processing”, pe care API-ul îl expune.
