Informacje dla adresatów moich opracowań – dokument jako wymaganie

Adresatem tego wpi­su są przede wszyst­kim oso­by korzy­sta­ją­ce z moich opra­co­wań, szcze­gól­nie deve­lo­pe­rzy, gdyż coraz czę­ściej moje opra­co­wa­nia zawie­ra­ją reko­men­da­cje, a nie raz są to wręcz wyma­ga­nia, by doku­men­ty były prze­twa­rza­ne w sys­te­mie w posta­ci struk­tur XML

Model biznesowy

Jest to część opi­su­ją­ca mecha­ni­zmy rzą­dzą­ce pra­cą ana­li­zo­wa­nej i opi­sa­nej orga­ni­za­cji. Celem doku­men­tu jest zro­zu­mie­nie tego jak dzia­ła okre­ślo­na orga­ni­za­cja i prze­ka­za­nie tej wie­dzy dostaw­cy roz­wią­za­nia, w celu lep­sze­go zro­zu­mie­nia przez nie­go śro­do­wi­ska w jakim roz­wią­za­nie będzie wdra­ża­ne. Model biz­ne­so­wy zawie­ra sche­ma­ty blo­ko­we wyko­na­ne z uży­ciem nota­cji BPMN (Procesy biz­ne­so­we), UML (struk­tu­ry doku­men­tów biz­ne­so­wych) oraz SBVR (słow­nik pojęć i regu­ły biz­ne­so­we).

Pełniejszy opis na stronie 

Projekt logiki aplikacji czyli wymagania

Wymagania są spe­cy­fi­ko­wa­ne jako pro­jekt logi­ki sys­te­mu (MDE). Z zasa­dy ope­ru­ję przy­pad­ka­mi uży­cia, ich sce­na­riu­sza­mi i mode­lem dzie­dzi­ny budo­wa­nym jako sepa­ro­wa­ne usłu­gi apli­ka­cyj­ne (imple­men­to­wa­ne czę­sto jako mikro­ser­wi­sy). Struktury infor­ma­cji są spe­cy­fi­ko­wa­ne jako doku­men­ty, co opi­sa­łem w tek­ście Projekt apli­ka­cji…

Dokumenty oraz opisywanie ich z użyciem notacji UML

Praktycznie każ­da ana­li­za sys­te­mu infor­ma­cyj­ne­go dowol­nej orga­ni­za­cji zawie­ra w tre­ści opi­sy doku­men­tów: ich tre­ści i struk­tur, oraz słow­ni­ki. Model infor­ma­cyj­ny to skoń­czo­na licz­ba takich doku­men­tów. Elektroniczna postać doku­men­tów to coraz czę­ściej struk­tu­ra XML. 

Model rela­cyj­ny danych: zapi­sy­wa­nie ich w posta­ci współ­dzie­lo­nych znor­ma­li­zo­wa­nych struk­tur poję­cio­wych, pozba­wio­nych redun­dan­cji, jest pozba­wio­ny kon­tek­stu , nie spraw­dza się w sys­te­mach zarzą­dza­ją­cych doku­men­ta­mi. Dokument, tak­że w sen­sie praw­nym, nie może być gene­ro­wa­ną dyna­micz­nie (zapy­ta­nia SQL do bazy rela­cyj­nej) struk­tu­rą, bo jest wte­dy wir­tu­al­nym bytem, a taki nie sta­no­wi doku­men­tu w pra­wie (Kodeks Cywilny), nie da się tak­że zarzą­dzać jego cyklem życia. Dlatego doku­men­ty są coraz czę­ściej wyra­ża­ne jako struk­tu­ry XML/XSD/DTD i uzu­peł­nia­ne posta­cią do czy­ta­nia i dru­ku” w for­ma­cie pdf (real­nie są to pli­ki pdf z załą­czo­ny­mi wer­sja­mi XML. 

Ten krót­ki wpis to zbiór infor­ma­cji na temat postę­pu­ją­cej stan­da­ry­za­cji, i tego, jak na eta­pie ana­li­zy doku­men­to­wać struk­tu­ry doku­men­tów z uży­ciem nota­cji UML i stan­dar­du XML. Opisano tak­że archi­tek­tu­rę imple­men­ta­cji stan­dar­du i wzor­ce projektowe.

Ogólnie o użyciu notacji UML i XML

Podstawowe zało­że­nie na eta­pie ana­li­zy to uzna­nie, że infor­ma­cje są zor­ga­ni­zo­wa­ne w nazwa­ne struk­tu­ry zwa­ne doku­men­ta­mi, a wszel­kie poję­cia w nich uży­te są jed­no­znacz­ne i mają swo­je defi­ni­cje. W kon­se­kwen­cji każ­dy doku­ment ma struk­tu­rę wra­żo­ną w posta­ci hie­rar­chicz­ne­go agre­ga­tu oraz zde­fi­nio­wa­ne regu­ły okre­śla­ją­ce jego popraw­ność (słow­nik i regu­ły biznesowe. 

W wer­sji naj­prost­szej struk­tu­ra doku­men­tu może zostać okre­ślo­na w posta­ci wzo­ru (sza­blo­nu) for­mu­la­rza wraz ze słow­ni­kiem pojęć uży­tych jako ety­kie­ty pól . Zamiast gra­ficz­ne­go sza­blo­nu, struk­tu­ra ta może być wyra­żo­na w posta­ci drze­wia­stej struk­tu­ry XML (agre­gat) wyko­na­nej w uży­ciem nota­cji UML .

Utrwalanie doku­men­tów XML, któ­rą są cią­ga­mi zna­ków ASCII, stan­dar­do­wo mode­lu­ję z uży­ciem wzor­ca repo­zy­to­rium (repo­si­to­ry ?(Fowler, n.d.)?). Obiekt odpo­wie­dzial­ny za prze­cho­wa­nie doku­men­tu ma atry­but tek­sto­wy prze­cho­wu­ją­cy całą struk­tu­rę XML oraz atry­bu­ty zawie­ra­ją­ce klu­czo­we meta­da­ne do reali­zo­wa­nia logi­ki biz­ne­so­wej, oraz ope­ra­cje CRUD dla tego doku­men­tu. Logika dzie­dzi­no­wa (regu­ły wali­da­cji doku­men­tów, sza­blo­ny XSD/DTD) prze­trzy­ma­na jest poza tym repo­zy­to­rium, może być wspól­na dla wie­lu doku­men­tów w okre­ślo­nym kon­tek­ście .

Dane gru­po­wa­ne w doku­men­ty, prze­twa­rza­ne jako struk­tu­ry infor­ma­cyj­ne, a nie jako poje­dyn­cze pola danych, są coraz czę­ściej sto­so­wa­ną meto­dą budo­wa­nia archi­tek­tu­ry opro­gra­mo­wa­nia. Podejście takie daje znacz­nie więk­szą swo­bo­dę pro­jek­to­wa­nia, zaś pli­ki XML jako doku­men­ty, moż­na prze­twa­rzać i prze­sy­łać mię­dzy apli­ka­cja­mi ze znacz­nie więk­szą swo­bo­dą .

Przykład budo­wy pli­ku XML z uży­ciem nota­cji UML:

Poniżej pli­ki źró­dło­we i źródło:

Standaryzacja modeli czyli profil UML

Pojęcie bazy danych więk­szo­ści koja­rzy się z rela­cyj­nym mode­lem danych. Jednak infor­ma­cje nie muszą mieć takiej posta­ci, mogą to być struk­tu­ry XML. Opracowania na temat mode­lo­wa­nia pli­ków XML z uży­ciem nota­cji UML są dostęp­ne w sie­ci, klu­czo­we to XMl jako meto­da zarzą­dza­nia dany­mi oraz repre­zen­ta­cja struk­tur XMl z uży­ciem nota­cji UML .

Przykład: Faktura ustrukturyzowana

Poniżej jako przy­kład fak­tu­ra ustruk­tu­ry­zo­wa­na XML wyra­żo­na w nota­cji UML ( https://​efak​tu​ra​.gov​.pl/​f​a​q​/​o​b​o​w​i​a​z​e​k​-​e​l​e​k​t​r​o​n​i​c​z​n​e​g​o​-​f​a​k​t​u​r​o​w​a​n​ia/ ):

W moich pro­jek­tach, coraz czę­ściej, defi­ni­cje doku­men­tów są wyra­ża­ne wła­śnie jako XML’owe struk­tu­ry wyra­żo­ne w nota­cji UML. Oczywiście sto­pień szcze­gó­ło­wo­ści zawsze zale­ży od wyma­gań dane­go pro­jek­tu, jed­nak pod­sta­wo­we struk­tu­ry drze­wia­ste są mode­lo­wa­ne jak agre­ga­ty UML. ?(Provost, 2002b; ?XML Schema Reference,? n.d.)?.

Tu przy­kład wzo­ru struk­tu­ry doku­men­tu na ePUAP

Na zakończenie

Jednym z klu­czo­wych powo­dów powszech­ne­go sto­so­wa­nia XML jest stan­da­ry­za­cja doku­men­tów finan­so­wych i urzę­do­wych w ramach Unii Europejskiej ?(Szpytko-Waszczyszyn, 2018)? oraz stan­da­ry­za­cja, tak­że w Unii, metod zarzą­dza­nia nimi (archi­wa) . Z racji tego, że poję­cie doku­men­tu ma tak­że cha­rak­ter praw­ny i doty­czy każ­de­go pod­mio­tu, wyda­je się oczy­wi­stym, że zacho­wa­nie inte­ro­pe­ra­cyj­no­ści wyma­ga stan­da­ry­za­cji. Jest to – stan­da­ry­za­cja – pro­ces postę­pu­ją­cy w ramach Unii Europejskiej, jest więc to tak­że pro­ces zacho­dzą­cy wewnątrz państw wspól­no­ty EU. Dlatego z zasa­dy w moich pro­jek­tach wyma­ga­niem jest sto­so­wa­nie XML jako meto­dy zapi­su informacji.

Kwestie doku­men­tu w pra­wie sze­rzej opi­sa­łem w arty­ku­le Czy to łatwe…/rozdz. Kluczowe poję­cia w usta­wach)

Booch, G. et al. (1999) UML XML Mapping Schema’, p. 8.
Document Content Description for XML (1998) Document Content Description for XML. Available at: https://​www​.w3​.org/​T​R​/​N​O​T​E​-​dcd (Accessed: 19 July 2021).
Andrew Davidson et al. (1999) Schema for Object-Oriented XML, Schema for Object-Oriented XML 2.0. Available at: https://​www​.w3​.org/​T​R​/​N​O​T​E​-​S​OX/ (Accessed: 19 July 2021).
MoReq (2010). Available at: https://​www​.moreq​.info/ (Accessed: 26 February 2020).
Williams, S.P., Mosen, J. and Schubert, P. (no date) The Structure of Social Documents’, p. 10.
Paredaens, J. et al. (2012) The Structure of the Relational Database Model. Springer Science & Business Media.
Carlson, D. (2001) Modeling XML Applications with UML. Pearson Education, Inc. (Object Technology Series).
Bernauer, M., Kappel, G. and Kramler, G. (2003) Representing XML Schema in UML – An UML Profile for XML Schema’, p. 25.
Fowler, M. (1997) Analysis pat­terns: reu­sa­ble object models. Menlo Park, Calif: Addison Wesley (The Addison-Wesley series in object-orien­ted softwa­re engineering).

Treść zosta­nie usu­nię­ta: sobo­ta 12 lute­go, 2022 00:23:39