SW 14ah(full permission)


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