Filozofia aplikacja to element rzeczywistości

15
Filozofia czyli Aplikacja jako element biznesowej rzeczywistości (a nie gra komputerowa) Jarosław Żeliński – analityk biznesowy, projektant systemów 18 marzec 2016 18-20 marca 2016, Politechnika Gdańska, Wydział Elektrotechniki, Telekomunikacji i Informatyki.

Transcript of Filozofia aplikacja to element rzeczywistości

Page 1: Filozofia aplikacja to element rzeczywistości

Filozofia czyli Aplikacja jako element biznesowej rzeczywistości(a nie gra komputerowa)

Jarosław Żeliński – analityk biznesowy, projektant systemów

18 marzec 201618-20 marca 2016, Politechnika Gdańska, Wydział Elektrotechniki, Telekomunikacji i Informatyki.

Page 2: Filozofia aplikacja to element rzeczywistości

O mnie…

Od 1991 roku w branży IT i zarządzania jako analityk projektant rozwiązańOd 1998 – 2004 doradca IT w kilku spółkach akcyjnychOd 2004 roku jako niezależny ekspert i analitykDziesiątki publikacji w prasie branżowej IT i gospodarczejCzłonek stowarzyszenia doradców gospodarczych Były wykładowca katedry systemów informacyjnych wydziału przedsiębiorczości Akademii Morskiej w GdyniKilkudziesięciu odbiorców usług doradczych, małe, średnie i duże firmy zarówno informatyczne jak i ich klienci.Poświadczenie bezpieczeństwa wydane przez ABWByły ekspert analityk biznesowy przy gabinecie komisji nadzoru finansowegoWykładowca Wyższej Szkoły Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk

Projekty analityczne między innymi dla…

Publikacje między innymi w …

Page 3: Filozofia aplikacja to element rzeczywistości

Agenda

• człowiek, organizacja w jakiej funkcjonuje i oprogramowanie jako jeden system

• metody obiektowe jako odwzorowanie ogólnej teorii systemów

• metody obiektowe jako narzędzie analizy świata rzeczywistego i projektowania oprogramowania

• mechanizm, cóż to jest?• rola analityka to projektowanie, rola developera

to implementacja

Page 4: Filozofia aplikacja to element rzeczywistości

Od strony filozofii…

Modelowanie wymaga więc określenia nie

tylko notacji ale także pragmatyki wskazującej: co

jest modelowane, jak dokładnie i

jak ogólnie…

Artur Schopenhauer, Czworaki Korzeń Racji Dostatecznej

Page 5: Filozofia aplikacja to element rzeczywistości

Ogólna teoria systemów jako metoda naukowa i szkielet analizy strategicznej

UWAGA! Modele same z siebie nigdy nie są celem pracy, nie są żadnymi produktami, są tylko narzędziami analizy. Model to teoria (naukowa) mówiąca: „tak działa ta organizacja”.

Kluczowe znaczenie dla rozróżnienia czy dana teoria jest teorią naukową, czy nie, ma obecnie kryterium falsyfikowalności. Pojęcie to zostało wprowadzone przez Karla Poppera w dziele "Logika odkrycia naukowego" i stanowi podstawę metody naukowej.

Page 6: Filozofia aplikacja to element rzeczywistości

człowiek, organizacja w jakiej funkcjonuje i oprogramowanie, jako jeden system

Page 7: Filozofia aplikacja to element rzeczywistości

metody obiektowe jako odwzorowanie ogólnej teorii systemów

• System: złożony obiekt wyróżniony w badanej rzeczywistości, stanowiący całość tworzoną przez zbiór obiektów elementarnych (elementów) i powiązań (związków i relacji) między nimi (Sienkiewicz, 1994)

• Paradygmat: przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. (źr. sł.j.p. PWN)

• Paradygmat obiektowy: w analizie i projektowaniu uznanie, że system to abstrakcja modelowana jako ograniczony spójny zbiór współpracujących ze sobą obiektów

Page 8: Filozofia aplikacja to element rzeczywistości

Cechy (tej) abstrakcji

• Obiekty są „czarnymi skrzynkami” (hermetyzacja)• Obiekty współpracują wyłącznie poprzez wzajemne świadczenie

sobie usług– Wiedze o stanie obiektu można pozyskać wyłącznie od niego i za jego

zgodą• Obiekty złożonych systemów mogą być grupowane w

podsystemy (komponenty) co nie może zaburzać zasady hermetyzacji

• Obiekty mogą być z sobą trwale powiązane• UWAGA! Pojęcie dziedziczenia dotyczy wyłącznie modeli

pojęciowych i budowania bytów abstrakcyjnych (złe pojmowanie dziedziczenia w językach programowania, tu jest to jedynie re-użycie kodu)

Page 9: Filozofia aplikacja to element rzeczywistości

metody obiektowe jako narzędzie analizy świata rzeczywistego i projektowania oprogramowania

Otóż nie da się czymś tak złożonym jak oprogramowanie (zakładam, że to nie trywialny system), zarządzać na poziomie detalicznych szczegółów. Jedynym sposobem jest upraszczanie i praca z abstrakcjami. Czym są owe abstrakcje? Modele! Już w 1984 roku zauważono, że:• I just read an idea by Stephen Hawking and

Leonard Mlodinow, calledModel-Dependent Realism[2]: “the idea that a physical theory or world picture is a model (generally of a mathematical nature) and a set of rules that connect the elements of the model to observations.” (za Model-Dependent Realism: Is This the Worldview of Software Engineering? « THINK IN MODELS).

Page 10: Filozofia aplikacja to element rzeczywistości

rola analityka to projektowanie, rola developera to implementacja

Analiza i projektowanie

Cel RekomendacjaOpis produktu Realizacja/Implementacja Produkt

Page 11: Filozofia aplikacja to element rzeczywistości

ZŁOŻONOŚĆ

Problemy, w których rozwiązaniu mają pomóc budowane złożone systemy są zwykle „problemami złośliwymi” (Rittel i Webber, 1973). „Problem złośliwy” to taki skomplikowany problem, w którym jest tak wiele powiązanych ze sobą bytów, że nie istnieje jego ostateczna specyfikacja. Prawdziwy charakter problemu objawia się dopiero w miarę opracowywania rozwiązania.

Page 12: Filozofia aplikacja to element rzeczywistości

Model systemu i model dziedziny to ten sam model

• Każdy pełny obrót sekundnika powoduje przesunięcie wskazówki minut o 1/60

• Każdy pełny obrót wskazówki minutowej powoduje przesunięcie wskazówki godzinowej o 1/6

To co obserwujemy

To czego wymagamy

To co powstało

To co powstało

Page 13: Filozofia aplikacja to element rzeczywistości

Model systemu i model dziedziny to ten sam model – to czego wymagamy należy zaprojektować

Page 14: Filozofia aplikacja to element rzeczywistości

O powszechnie popełnianych błędach

• UML to rozbudowany uniwersalny język • Diagramy przypadków użycia i klas to najczęściej używane narzędzia UML ale

także „najgorzej”:– Model przypadków użycia to diagram przypadków użycia opisujacy model „czarnej

skrzynki” (system) i jej otoczenia (aktorzy) więc nie powinien zawierać żadnych informacji o wnętrzu (include i extend to reliktowe, obecnie zbędne elementy tego diagramu)

– Model pojęciowy do diagram klas modelujący pojęcia opisujące system (tu korzystamy z dziedziczenia i abstrakcji)

– Model logicznej struktury systemu to diagram klas modelujący mechanizm działania modelowanego systemu (nazywany: model dziedziny systemu, tu nie korzystamy z dziedziczenia i abstrakcji). Jest to model PIM wg. MDA

– Model implementacji z użyciem konkretnego języka programowania to diagram klas modelujący strukturę kodu. Jest to model PSM wg. MDA (tu dziedziczenie i abstrakcje mają inne znaczenie niż w modelu PIM)

– Nie da pokazać powyższych trzech modeli na jednym diagramie klas! Ale wielu stale próbuje…..

Page 15: Filozofia aplikacja to element rzeczywistości

© Jarosław Żeliński IT-Consulting 15

PYTANIA…?

Dziękuję za uwagę…

Jarosław Żeliński – Analityk [email protected]://IT-Consulting.plGSM: 0-608 05 90 20