Strona poświęcona mojej pracy naukowej i usługom jakie świadczę polskim podmiotom. Zapraszam tych którzy szukają wiedzy i tych którzy szukają wsparcia w swoich projektach informatyzacji.
Analizy Biznesowe i Systemowe Przedsiębiorstw - Projektowanie Systemów Informatycznych
W niedawnym artykule SBVR czyli reguły biznesowe i słownik pisałem o diagramie faktów, o regułach i o słowniku pojęć, dzisiaj co nieco o pojęciach (tych ze słownika pojęć ;)).
Ostatnia wersja specyfikacji SBVR v.1.3. z maja tego roku, zawiera rozszerzony rozdział: 8 Linguistic Foundations, 8.1 Things, Meanings, and Expressions, 8.1.1 Semiotic/Semantic Triangle in SBVR Terms rozpoczynający się tak:
This sub clause introduces the concepts that comprise one leg, ?meaning corresponds to thing?, of the Semiotic/Semantic Triangle which was first introduced by Charles Sanders Peirce at the beginning of the twentieth century and later by (Ogden and Richards 1923). See ?Ontology, Metadata, and Semiotics? [Sowa].
Semiotic/Semantic Triangle in SBVR Terms
The Semiotic/Semantic Triangle is the theoretic basis for SBVR?s linguistics-based architecture in general and for the fundamental separation of representation (expression) from meanings in SBVR?s architecture. Being a linguisitic-based standard the instances of concepts are the things in the universe of discourse, i.e., the world of the organization that uses the SBVR Business Vocabulary, and not concepts in the SBVR model. (Źródło: SBVR)
Generalnie semantyka, semiotyka i pragmatyka to trzy kluczowe elementy lingwistyki: pojęcie (termin) mające swoja definicję (semantyka), dalej byty znaczone przez te pojęcia (pojęcie znaczy-denotuje „to coś”) to semiotyka, oraz wyrażenia zawierającego to pojęcie, które nadaje mu kontekst (pragmatyka). Nauka o tym jak rozumiemy znaki, semiotyka (słowa są także znakami), mówi że znaczenie terminu wskazuje na zbiór rzeczywistych elementów (bytów), słowo [kot] definiowane jest jak pewien typ ssaka, denotuje wszystkie zwierzęta rozpoznawane przez nas jako koty. Denotacja wynika jednak z kontekstu, czyli tego w jakim „otoczeniu znaczeniowym” słowo (znak) został użyty. Np. kształt „trójkąt” w zeszycie do geometrii oznacza abstrakcyjną figurę geometryczną, ten sam znak na drzwiach w długim korytarzy oznacza (spodziewamy się tego) męską toaletę. Dlatego stosuje się (buduje się) wyrażenia (expression) tworzące kontekst (do terminów dodaje się fakty z nimi powiązane, co wskazuje na konkretne znaczenie), zawierające dany (definiowany) termin (słowo), dla doprecyzowania znaczenia tego terminu (trójkąt umieszczany w zeszycie do geometrii, lub trójkąt umieszczany na drzwiach toalety, wyrażenie (w SBVR „wording”) „umieszczany w…” to fakt nadający pojęciu „trójkąt” kontekst).
Takimi kontekstami są tak zwane diagramy faktów. Są to diagramy, na których pojęcia zawarte w słowniku pojęć, są przedstawiane wraz z opisem, faktami, doprecyzowującymi ich znaczenie poprzez użycie w określonym kontekście. Ten kontekst, opisanie go, w toku analizy, ma jeszcze dodatkowe znaczenie: pozwala skupić się wyłącznie na tym jednym kontekście, a jest nim kontekst TEGO projektu. Z zupełnie innej strony spotykamy się z tym samym problemem przy okazji modelowania „dziedziny systemu” (lub komponentu) przy okazji projektowania komponentów, tak zwanych mikroserwisów, czy metodyki i wzorca Domain Driven Design. Pojęcie „bounded context” to nic innego jak konieczność ograniczenia analizowanego problemu do jednego kontekstu, właśnie dla zachowania spójności i jednoznaczności modelu systemu oraz jego „odpowiedzialności”, stanowiącego wymaganie np. wobec oprogramowania. Model to nic innego jak opis mechanizmu działania serca każdego systemu (core domain).
Tworząc oprogramowanie świadomie dzielimy je na komponenty bo zbyt duży (szeroki) zakres funkcjonalny prowadzi do tego, że nie możliwe jest uniknięcie niejednoznaczności. Jeden poprawnie zaprojektowany komponent obsługuje wyłącznie „jeden kontekst”, gwarantuje to spójność pojęć i spójność „modelu domeny”. Widać ten problem w zbyt dużych systemach ERP:
jeżeli chcemy obsłużyć np. takie pojęcie jak „maszyna”, to zupełnie inne ma to pojęcie znaczenie na liście środków trwałych (pozycja kosztowa, jedna z wielu, z jej cechami księgowymi) a inne na liście wyposażenia hali produkcyjnej (maszyna mająca cechy konstrukcyjne i określona przydatność), oba te byty „zachowują się” inaczej w obu tych kontekstach, każdy jest powiązany z innymi faktami w organizacji (kupiony określonym kosztem, tu nie różni się od kupionych usług, oraz jest smarowany by nie uległ awarii, tu jest to ewidentnie złożony podzespół). Tu pojawia się problem normalizacji dużych baz danych relacyjnych: próba jednokrotnego użycia każdego pojęcia (normalizacja) w wielo-kontekstowym systemie, kłóci się z wieloma kontekstami jakimi są poszczególne moduły tematyczne aplikacji. To dlatego jeden znormalizowany model danych dla dużego zintegrowanego systemu nigdy nie będzie poprawny, zawsze będzie szkodliwym kompromisem. Systemy składające się z całkowicie odseparowanych komponentów (nie współdzielą żadnych danych we wspólnej bazie danych!) są znacznie lepsze w użyciu.
Jakość biznesowego słownika terminów wyznacza wręcz jakość całej analizy, a potem projektu. Wszelkie niejednoznaczności pojęciowe prowadzą do niejednoznaczności logiki tekstu (opisu), na podstawie takiego tekstu nie da się stworzyć poprawnie działającego mechanizmu działania (np. kodu programu). Pierwszym miejscem, w którym widać te problemy są umowy i słowniki pojęć na ich początku. Poprawnie zbudowany słownik to czysta logika: definicje pojęć w słowniku powinny się wzajemnie wykluczać (zasada wyłączonego środka w logice) zaś w ramach jednego słownika (poziomu definiowanych pojęć) definicje pojęć nie mogą zawierać pojęć definiowanych.
Tak więc podejmując się analizy, warto robić to „dobrze”, można to nazwać metodą naukową i nie będzie w tym przesady. Reguły biznesowe, rygory ich tworzenia, słownik pojęć, model pojęciowy, to wszystko służy poprawie jakości wyników analizy, dokumentacji, późniejszego projektu. Specyfikacja SBVR bardzo w tym pomaga. (o formalizacji modeli)
Jeżeli mieliście kiedyś problem z projektem, to jest bardzo prawdopodobne, że jedną z kluczowych tego przyczyn był zły (lub jego brak) model pojęciowy.
Masz pytania to treści artykułu, potrzebujesz pomocy? Kliknij tu!BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie. Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów.
Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione.
Strona używa plików cookie, aby zapewnić Ci wygodę przeglądania poprzez zapamiętywanie Twoich preferencji i powtarzających się wizyt. Klikając "Akceptuj wszystko", wyrażasz zgodę na użycie WSZYSTKICH plików cookie. Jednakże, możesz odwiedzić "Ustawienia plików cookie", aby zapewnić kontrolowaną zgodę.
Ta strona korzysta z plików cookie, aby poprawić wygodę podczas podczas przeglądania witryny. Pliko cookie, które są sklasyfikowane jako niezbędne, są przechowywane w przeglądarce, ponieważ są niezbędne do działania podstawowych funkcji witryny. Używamy również plików cookie stron trzecich, które pomagają nam analizować i zrozumieć, w jaki sposób korzystasz z tej witryny. Te pliki cookie będą przechowywane w przeglądarce tylko za Twoją zgodą. Możesz również zrezygnować z tych plików cookie. Ale rezygnacja z niektórych z tych plików cookie może mieć wpływ na wygodę przeglądania.
Niezbędne pliki cookie są absolutnie niezbędne do prawidłowego funkcjonowania witryny. Ta kategoria obejmuje tylko pliki cookie, które zapewniają podstawowe funkcje i zabezpieczenia strony. Te pliki cookie nie przechowują żadnych danych osobowych.
Wszelkie pliki cookie, które mogą nie być szczególnie potrzebne do działania witryny i są wykorzystywane w szczególności do gromadzenia danych osobowych użytkowników za pośrednictwem analiz, reklam i innych treści osadzonych, są określane jako niepotrzebne pliki cookie. Wymagane jest uzyskanie zgody użytkownika przed uruchomieniem tych plików cookie w witrynie.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__atuvc
1 year 1 month
AddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
__atuvs
30 minutes
AddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
bcookie
2 years
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
bscookie
2 years
LinkedIn sets this cookie to store performed actions on the website.
language
session
This cookie is used to store the language preference of the user.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
na_id
1 year 24 days
The na_id is set by AddThis to enable sharing of links on social media platforms like Facebook and Twitter.
ouid
1 year 24 days
Associated with the AddThis widget, this cookie helps users to share content across various networking and sharing forums.
vc
1 year 24 days
The vc cookie is set by addthis.com on sites that allow sharing on social media.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
at-rand
never
AddThis sets this cookie to track page visits, sources of traffic and share counts.
browser_id
5 years
This cookie is used for identifying the visitor browser on re-visit to the website.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
uid
1 year 24 days
This is a Google UserID cookie that tracks users across various website segments.
uvc
1 year 1 month
Set by addthis.com to determine the usage of addthis.com service.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
di2
1 year 24 days
AddThis sets this cookie on sites that allow sharing on social media. It is used to track user behaviour anonymously, to create usage trends that will improve relevance to their services and advertising.
loc
1 year 1 month
AddThis sets this geolocation cookie to help understand the location of users who share the information.
um
1 year 24 days
Set by AddThis for registering the user's sharing of content through social media.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextId
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
Cookie
Duration
Description
country
session
No description available.
gt_auto_switch
8 years 10 months 10 days 14 hours
No description available.
li_gc
2 years
No description
Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione. Ewentualne użycie treści wymaga indywidualnej zgody autora.
Nie wykryto skryptu Javascript. Javascript wymagany do działania tej strony. Proszę włączyć go w ustawieniach przeglądarki i odświeżyć tę stronę.