Projektowanie SW
" Wybrane zagadnienia projektowania SW
Metodyka projektowania
" Wymagania
Metody projektowania
" Modele / wzorce
" Åšrodki projektowe
" Etapy projektowania
© maf 1
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Metodyka projektowania
" Typy wymagań
Rynkowe " Usługi
Użytkownika " Jakość
Dla produktu " Ograniczenia
" Wymagania
Wymagania
Wymagania Wymagania Wymagania
systemowe oprogramowania sprzętowe
Wymagania Wymagania
procesu produktu
Jakość i
ograniczenia
Wymagania Wymagania
funkcjonalne niefunkcjonalne
Wymagania Wymagania Wymagania Wymagania Wymagania
interfejsu operacyjne wydajności jakości zasobów
© maf 2
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Metodyka projektowania
" Wymagania niefunkcjonalne (IEEE-Std 830 - 1993)
Performance requirements,
Interface requirements,
Resource requirements,
Operational requirements,
Quality requirements,
...
" Dla SW ważne w szczególności:
Wymagania sprzętowe
Wymagania operacyjne
" Jakościowe i ilościowe parametry , które określają pożądane
możliwości (własności) systemu i służą jako podstawa do określenia
efektywności operacyjnej (efekt. działania) i przydatności systemu
Wymagania wydajnościowe i jakościowe
" Wymagania temporalne (RT, rodzaj sterownia/procesu,& )
" Wymagania niezawodności, dostępności
" Wymagania energetyczne
" itp.
© maf 3
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Metodyka projektowania
" Opis ogólny wymagań i ograniczeń
Kontekst (0toczenie) oprogramowania zwiÄ…zki z otoczeniem
" Aktorzy, sensory, aktuatory
Funkcje oprogramowania
Charakterystyka użytkowa
Przyjęte założenia
" Wymagania szczegółowe
Wymagania na wydajność przetwarzania
" np. dokładność obliczeń, czas reakcji
Wymagania dotyczące sposobu komunikacji z użytkownikiem,
komunikacji oprogramowania ze sprzętem, itp.
Ograniczenia projektowe w swobodzie programowania
" prawne, zgodność ze standardami,
" konieczność współpracy z innymi systemami
Cechy szczególne
" organizacja danych, zabezpieczenie danych, praca w warunkach
awarii, monitorowanie działań, ograniczenia sprzętowe
© maf 4
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Metodyka projektowania
" Åšrodki
Projektowanie architektury z zastosowaniem odpowiednich
wzorców architektonicznych
" Wzorce sterowania
" Wzorce bezpieczeństwa
Narzędzia modelowania funkcjonalności, projektowania i
implementacji systemów
" W tym narzędzia UML z elementami dla systemów czasu
rzeczywistego
© maf 5
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Metodyka projektowania
" Åšrodki
Diagramy kontekstowe systemów
" ReprezentujÄ…
Przypadki użycia (ang. use cases)
" Opisują funkcjonalność systemu z punktu widzenia użytkownika
Diagramy pakietów (ang. package diagram)
" Podział logiczny struktury systemu na grupy elementów odpowie-
dzialnych za wydzielone zadania i wskazuje zależności między nimi
Diagramy klas (ang. class diagrams)
" OpisujÄ… statyczny obraz systemu
Diagramy sekwencji działań (ang. sequence diagrams)
" Opisują sekwencje interakcji pomiędzy komponentami systemu
" Scenariusze działań (ang scenarios)
Opisują interakcje aktorów z systemem
Diagramy/Karty stanów (ang. state diagram/statecharts)
" OpisujÄ… dynamiczne zachowanie systemu
Diagramy czasowe procesów
... inne
© maf 6
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Projektowanie SW
" Specyfikacja wymagań czasowych
Charakterystyka procesu sterowania i limitów czasowych
" Zdarzenia (zewnętrzne)
" Przypadki użycia
(krytyczne)
" Charakterystyka
komunikacji
" Scenariusze działań
Diagramy czasowe
procesów
" Notacja czasowa
" Notacja zadaniowa
© maf 7
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Projektowanie SW
" Specyfikacja wymagań czasowych
Diagramy sekwencji działań + wymagania czasowe
Nakładanie ograniczeń zarówno na czas przesyłania
komunikatów, jak i na czas ich realizacji
© maf 8
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Projektowanie SW
" Specyfikacja wymagań czasowych
Diagramy klas mogą zawierać informacje temporalne
© maf 9
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Projektowanie architektury
" Wzorce architektoniczne
Określają ogólną strukturę danego systemu informatycznego
" zasadnicze elementy z jakich się składa
" zakres funkcjonalności realizowany przez te elementy
" zasady komunikacji pomiędzy poszczególnymi elementami
" ogólna koncepcja konstrukcji nie konkretna architektura
Wyrażają różne atrybuty systemu
" rozwiązania dla wydajności
" rozwiązania dla niezawodności
" & inne
Wzorce
" Wzorce sterowania
Cykliczne wykonywanie (ang. Timeline)
Sterowanie zdarzeniami (periodyczne i aperiodyczne)
Potokowe
Klient-serwer
" Wzorce bezpieczeństwa
© maf 10
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce bezpieczeństwa
" Wzorzec nadmiarowości
Systemy o podwyższonej wiarygodności przetwarzania
Wzrost kosztów
© maf 11
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce bezpieczeństwa
" Wzorzec nadzorcy
Monitorowanie aktywność
systemu poprzez okresowy
odbiór wybranych sygnałów lub
jego stan poprzez sprawdzanie
CRC pamięci, zajętości stosu itp.
Problem: trudność rozróżnienia
między przejściowym a trwałym
uszkodzeniem
Rozwiązanie: Licznik błędów
© maf 12
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce bezpieczeństwa
" Wzorzec rozdzielenia sterowania i monitorowania
© maf 13
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce sterowania
" Wzorzec klient-serwer
Cechy
" Uzyskanie równoległości przetwarzania polepszenie wydajności
" Rozdzielenie sterowania od przetwarzania
" Sterowanie jest cykliczne
" Determinizm systemu pozwala określić czasy opóznień obsługi
zdarzeń
" Konieczność równoczesnego nadzorowania procesów oraz
koordynacji ich działania.
" Problemy równoważenia obciążenia i reakcji na asynchroniczne
zdarzenia
© maf 14
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce sterowania
" Wzorzec architektury wielowarstwowej
Wydzielenie warstw w architekturze (zbiory hierarchicznych
asocjacji k-s)
" Transparentne od góry, nieprzejrzyste od dołu
" Zamknięta i otwarta architektura warstwowa
" Przenośność
" Potencjalnie możliwe zmniejszenie wydajności
:Client :Layer 1 :Leyer 2 :Leyer 3
Request
Part 1
Part 1.1
Part 2
Part 2.1
Part 2.2
Part 2.3
Part 3
Part 3.1
© maf 15
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce sterowania
" Wzorzec Proxy
Proxy pełnomocnik poprzez który klienci mogą uzyskać dostęp
do zdalnych obiektów rozdziela klienta od serwera
" Server implementuje obiekt, który nie jest dostępny bezpośrednio
" Proxy reprezentuje Server i zabezpiecza poprawny do niego dostęp,
oferuje ten sam interfejs jak Server
" Clienty używają Proxy przy dostępie do Server a
Cechy
" Polepszenie wydajności ale dodatkowa warstwa wprowadzająca
opóznienia, które trzeba uwzględniać
" Polepszenie bezpieczeństwa
© maf 16
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wzorce sterowania
" Wzorzec publikacji-subskrybcji
Sygnalizowanie zmian stanów komponentów które mogą być
istotne dla innych komponentów
" Kanał zdarzeń Event Channel pamięta zdarzenia
" Wydawcy Publishers tworzą zdarzenia i pamiętają je w kolejce
utrzymywanej przez kanał Event Channel
" Subskrybenci Consumers rejestrują się do kolejki zdarzeń, którymi
sÄ… zainteresowani
" Zdarzenia niosÄ… informacjÄ™
do konsumenta o zmianie
stanu dostawcy
" Metoda push i pull
Cechy
" Rozdzielenie konsumentów i
dostawców
" Wspomaga utrzymanie
synchronizacji stanu
kooperujących komponentów
" Spadek wydajności
© maf 17
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Reaktywność systemu
" Problem
Reaktywny obiekt czasu rzeczywistego musi komunikować się z
obiektem zwykłym (interaktywnym)
" Kontekst
Mieszanie obiektów reaktywnych i interaktywnych
Reaktywne zwykle: jÄ…dro systemu wbudowanego
Interaktywne zwykle: interfejs użytkowy, monitorowanie, itp.
" Ob. interaktywne nie mogą przyjmować żadnych założeń nt.
czasów odpowiedzi obiektów interaktywnych
" Realizacja
Wzorzec podobny do publikacji-subskrybcji z pośrednikiem
Ob. reaktywny zgłasza zdarzenie operacja bez blokowania go
Ob. interaktywny regularnie odpytuje pośrednika może być
blokowany przy odczycie informacji
" Przykład
Współpraca zegarów (np. Alarm Clock) i obiektów wizualizacji
© maf 18
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Optymalizacja oprogramowania
" Optymalizacja programu polega na takim jego
modyfikowaniu by zużywał mnie zasobów przy
zachowaniu pierwotnej funkcjonalności
" Zazwyczaj redukujemy:
Zużycie pamięci
Zużycie czasu procesora
Ilość generowanego ruchu sieciowego
" Sposoby
Optymalizacja przez kompilator
Optymalizacja kodu zródłowego
Optymalizacja kodem maszynowym
Optymalizacja w czasie wykonania
© maf 19
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wyszukiwarka
Podobne podstrony:
SWah(full permission)SWah(full permission)SWch(full permission)SWeh(full permission)SWch(full permission)SWb(full permission)SWc(full permission)SWch(full permission)SWf(full permission)SW b(full permission)SWeh(full permission)SWeh(full permission)SWd(full permission)wyklada ekosystem ziemi(full permission)7 Prezentacje(full permission)10 Konstrukcja blachowa(full permission)5 Dokumentacja płaska(full permission)wyklada cykl c n s(full permission)12 Generator ram(full permission)więcej podobnych podstron