1 Projektowanie obiektowe Wzorce projektowe Wprowadzenie do aplikacji biznesowych.

Slides:



Advertisements
Podobne prezentacje
nowoczesny system zarządzania przedsiębiorstwem
Advertisements

PREZENTACJA SYSTEMU eDokumenty
ZARZĄDZANIE ZAPASAMI.
Architektura SAP R/3 Wybrane zagadnienia.
Modelowanie przypadków użycia
Umowa leasingu – etapy transakcji
Amadeo Rapid Market System Szybkiej Sprzedaży Amadeo Rapid Market System szybkiej sprzedaży.
e-commerce jako efektywny rozwój dystrybucji
O metodach ustalania ceny za usługę WLR
Microsoft Professional Developer Days 2004
Jarosław Sokolnicki Zbigniew Szcześniewski Microsoft
Wdrożenie portalu korporacyjnego w oparciu o MOSS2007
Budowanie rozwiązań biznesowych na platformie MOSS 2007
Michał Żwinis s3472.
Projektowanie Aplikacji Komputerowych
Architektura systemu Gra strategiczna „Strusia Jama”
Hurtownie Danych Mariusz Dołęga.
Systemy operacyjne.
1 Kryteria wyboru systemów: Przystępując do procesu wdrażania zintegrowanego systemu zarządzania, należy odpowiedzieć na następujące pytania związane z.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Artur Szmigiel Paweł Zarębski Kl. III i
Współczesne systemy informacyjne
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Modele baz danych - spojrzenie na poziom fizyczny
SYSTEMY INFORMATYCZNE - Altamira, CRM i Remedy
Warszawa, 26 listopada 2010 r.. System MAK+ CEL stworzenie taniego, eleganckiego, łatwego w użyciu, efektywnego, w pełni zintegrowanego, zdalnie zarządzanego.
Analiza i projektowanie Informacyjnych Systemów Zarządzania
Typy systemów informacyjnych
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
InfinitERP prezentacja systemu.
Co to jest System XL ? System XL System XL jest to pakiet programów do obsługi księgowości małych i średnich firm.małych i średnich firm Jest oparty na.
Zintegrowane systemy informatyczne – Projekt systemu kadrowo-płacowego w firmie energetycznej Adam Woronowicz.
Twoje narzędzie do pracy grupowej
Prezentacja firmy Pretor sp. z o.o.
Internet i telekomunikacja NETInstal Pszów ul. Łanowa 34 tel (Poland) tel (U.K.) opracowanie: inż. Błażej.
System wspomagania zarządzania przedsiębiorstwem - PROSPERITY (c) 2001 PowerLine Computers.
Zarządzanie kredytami i należnościami
CDN OPT!MA integracja z Systemem Microsoft Office 2003.
Prezentacja możliwości i interfejsu
Co to są ceny brutto i netto, detaliczne i hurtowe?
Partnerstwo w logistycznym łańcuchu dostaw
Model referencyjny łańcucha dostaw
IBM mainframe jest optymalnym serwerem, o ile … (czy musi być tak drogo?)
Enterprise Architecture Patterns
Spotkanie Centrum Poczty i Postdata S.A.
Wybrane zagadnienia relacyjnych baz danych
KS-ZPL © KAMSOFT
System synchronizacji oraz współdzielenia plików pomiędzy wieloma użytkownikami oraz urządzeniami poprzez sieć Internet Rafał Olszewski Promotor: Mgr inż.
Zawansowane techniki programistyczne
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Planowanie przepływów materiałów
Urządzenia 1 mld smartfonów do 2016 r., 350 mln z nich jest używanych w pracy Ludzie 82 % populacji online korzysta z sieci społecznościowych Chmura.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Copyright© 2012 Microsoft Corporation W prezentacji przedstawiono po raz pierwszy produkty Lync Server 2013 i Lync Online. Daty udostępnienia i funkcje.
„Nie ma nic łatwiejszego niż być zajętym i nic trudniejszego niż być efektywnym” R. Alec Mackenzie.
Systemy informatyczne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Zarządzanie stacjami roboczymi przy wykorzystaniu urządzeń i oprogramowania KACE serii 1000, 2000, 3000 Adam Pura, IT Projekt Jacek Gralik, Quest Dystrybucja.
Struktura systemu operacyjnego
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Specyficzne funkcje banku. Bankiem nazywamy bank komercyjny (depozytowo-kredytowy), który: jest samodzielną jednostką organizacyjną; określa na podstawie.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Wykład 2 – Zintegrowane systemy informatyczne Michał Wilbrandt.
Organizowanie. Organizowanie sprawnych działań systemu dystrybucji Koordynacja działań wszystkich jego elementów – ich integracja tak, aby wszystkie przyczyniały.
Komponentowe i rozproszone (Web)Service Oriented Architecture.
System ERP w mojej praktyce
Komponentowe systemy rozproszone
Grzegorz Chodak Wykład
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

1 Projektowanie obiektowe Wzorce projektowe Wprowadzenie do aplikacji biznesowych

2 Roadmap Aplikacje biznesowe Rodzaje aplikacji korporacyjnych Wydajność

3 Oprogramowanie to nie znaczy zawsze to samo… Rodzajów oprogramowania jest wiele Każde z nich ma swoje wyzwania i metody projektowania oraz implementacji Lista płac, dane pacjentów śledzenie dostaw, analiza kosztów obsługa kredytów, ubezpieczenia, zarządzanie łańcuchem dostaw, księgowość, obsługa klienta, obrót walutami System wtrysku paliwa, edytor tekstu, sterownik windy, automatyka fabryki opakowań plastikowych, centrala telefoniczna, system operacyjny, kompilator, gra

4 Aplikacje biznesowe… Lista płac, dane pacjentów śledzenie dostaw, analiza kosztów obsługa kredytów, ubezpieczenia, zarządzanie łańcuchem dostaw, księgowość, obsługa klienta, obrót walutami Enterprise applications czyli po naszemu: Aplikacje biznesowe Aplikacje dla przedsiębiorstw Aplikacje korporacyjne Systemy informacyjne Systemy informatyczne

5 Cechy aplikacji biznesowych Trwałe (ang. persistent) dane Operowanie na (często) złożonych danych, które: Muszą być dostępne pomiędzy kolejnymi uruchomieniami programu Muszą być utrzymywane przez wiele lat Zmienia się sprzęt, systemy operacyjne, kompilatory, … … a dane pozostają

6 Cechy aplikacji biznesowych Duża ilość danych Giga- (tera- ?) bajty informacji uporządkowanych w dziesiątki milionów rekordów. Współbieżny dostęp do danych Przedsiębiorstwo – kilkaset Internet – tysiące ++ Duża liczba ekranów UI Setki Różni użytkownicy bez dużej wiedzy technicznej Przetwarzanie wsadowe

7 Cechy aplikacji biznesowych Integracja z innymi aplikacjami W ramach przedsiębiorstwa Z systemami partnerów Różnice w procedurach biznesowych i dysonans pojęciowy Klient – osoba z którą podpisana jest ważna umowa Klient – osoba z którą podpisano umowę Klient – odbiorca produktów z pominięciem usług Klient - …

8 Cechy aplikacji biznesowych Złożona (nie)logika biznesowa Reguły biznesowe są narzucone z góry Setki (tysiące?) przypadków szczególnych typu: pewien handlowiec wynegocjował wnoszenie określonej rocznej płatności dwa dni później niż pozostałe, aby dopasować się do cyklu księgowego klienta, dzięki czemu firma zyskała kilka milionów dolarów Pewną rzeczą jest jedynie to, że logika będzie z czasem ulegać zmianom

9 Cechy aplikacji biznesowych Nie każda aplikacja dla przedsiębiorstwa jest dużym systemem Wiele małych projektów do których nie przywiązujemy większej uwagi (?) Duży projekt można przekształcić w mały – upraszczając architekturę i procedury

10 Rodzaje aplikacji biznesowych Aplikacje biznesowe różnią się między sobą Analiza wielu alternatywnych rozwiązań Przykłady typowych scenariuszy: Sprzedaż detaliczna online Automatyzacja przetwarzania umów leasingowych System śledzenia wydatków w małej firmie

11 Sprzedaż detaliczna online Obsługa bardzo dużej liczny użytkowników Efektywne wykorzystanie zasobów, skalowalność Typowy interfejs użytkownika Stosunkowo prosta logika dziedziny aplikacji Przyjmowanie zamówień System obsługi cen towarów i opłat za dostawy Powiadomienia o dostarczaniu Źródła danych: Baza zamówień System magazynowy (dostępność towarów)

12 Automatyzacja przetwarzania umów leasingowych Umiarkowana liczba użytkowników Skomplikowana logika dziedziny aplikacji Obliczanie wysokości rat leasingowych Obsługa przedwczesnych zwrotów, opóźnionych płatności Weryfikowanie danych przy wykupie Swobodne określanie reguł biznesowych Skomplikowany interfejs użytkownika Złożona interakcja z użytkownikiem Zaawansowane techniki prezentacji Obsługa transakcji Złożony schemat danych

13 System śledzenia wydatków Niewielka liczba użytkowników Prosta logika Kilka tabel w bazie danych jako źródło danych Krótki termin oddania projektu

14 Wydajność Trudny problem 1. Najpierw tworzymy działający system a potem optymalizujemy (w oparciu o pomiary wydajności) 2. Architektura może mieć duży wpływ na wydajność Mozę utrudniać późniejsze zmiany Zmiany w architekturze zawsze budzą obawy Nie ma recepty… Własne pomiary Dostosowanie do konkretnego środowiska

15 Terminologia wydajności Response time - czas odpowiedzi: Ilość czasu potrzebna na przetworzenie żądania Responsiveness – czas reakcji: Szybkość, z jaką system potwierdza odebranie żądania, niezależnie od przetwarzania Latency – latencja: Minimalna ilość czasu wymagana do otrzymania jakiejkolwiek odpowiedzi (systemy zdalne)

16 Terminologia wydajności Throughput – przepustowość: Ilość operacji, które można wykonać w jednostce czasu (bps, tps) Performance – wydajność: Przepustowość lub czas odpowiedzi w zależności od tego co jest dla systemu istotniejsze Load – obciążenie wytrzymałość systemu – liczba jednocześnie podłączonych użytkowników (kontekst dla innych wartości np. czasu odpowiedzi) np. Load 10 – Response Time 0,5 sek. Load 20 – Response Time 2 sek.

17 Terminologia wydajności Load sensivity – wrażliwość na obciążenie Jak zmienia się czas odpowiedzi, gdy rośnie obciążenie System A: Load – Response Time 0,5 sek. System B: Load 10 – Response Time 0,2 sek. System B: Load 20 – Response Time 2 sek. System B ulega większej degradacji niż system A

18 Terminologia wydajności Efficiency – efektywność: Wydajność / liczba zasobów Efficiency A = 30 tps / 2 procesory Efficiency B = 40 tps / 4 procesory Efficiency A > Efficiency B Capacity – pojemność Największa dopuszczalna przepustowość lub obciążenie (wartość nieprzekraczalna lub taka przy której wydajność nie spełnia wymagań użytkowników)

19 Terminologia wydajności Scalability – skalowalność: Jak na wydajność wpływa dodawanie nowych zasobów (zazwyczaj) sprzętowych. Vertical Scalability – skalowalność pionowa Zwiększanie mocy pojedynczego serwera Horizontal Scalability (scaling out) – skalowalność pozioma (skalowanie wszerz) Dodawanie nowych serwerów do obsługi systemu

20 Ocena wydajności Na serwerze pracują dwa systemy System A – capacity 20 tps. System B – capacity 40 tps. Który z nich jest bardziej wydajny? Z całą pewnością może my powiedzieć tylko to, że System B jest bardziej efektywny (efficient) na pojedynczym serwerze. Który zapewnie wyższą wydajność? Który jest bardziej skalowalny?

21 Ocena wydajności Na serwerze pracują dwa systemy System A – capacity 20 tps. System B – capacity 40 tps. Dodajemy nowy serwer: System A – capacity 35 tps. System B – capacity 50 tps. System B ma dalej większą pojemność (capacity). A co ze skalowalnością?

22 Ocena wydajności Na serwerze pracują dwa systemy System A – capacity 20 tps. System B – capacity 40 tps. Dodajemy kolejne serwery: System A – zyskuje 15 tps. / serwer System B – zyskuje 10 tps. / serwer Wynik analizy: System A charakteryzuje się większą skalowalnością poziomą (horizontal scalability) System B jest bardziej efektywny przy liczbie serwerów < 5

23 Ocena wydajności I co z tego wynika? Wszystko zależy od konkretnej sytuacji Ogólnie: Skalowalność pozwala uzyskać większą wydajność gdy jest ona rzeczywiście potrzebna. Nowszy sprzęt jest często tańszy niż budowa nowego oprogramowania Jeżeli System B jest droższy niż System A a różnica odpowiada cenie kilku serwerów to system A będzie tańszy nawet wtedy gdy nie potrzebujemy więcej niż 40 tps.