Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Slides:



Advertisements
Podobne prezentacje
JĘZYK VHDL Geneza: komputerowa symulacja układu cyfrowego, Departament Obrony USA opis skomplikowanego systemu w postaci schematu jest nieczytelny, szybkie.
Advertisements

Projektowanie w cyklu życia oprogramowania
Cykl przemian termodynamicznych
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Analiza ryzyka projektu
1 / 47 WARSZAWA 2005 Przemysław Siekierko Stanisław Andraszek Rational Unified Process.
Referat 3. Planowanie zadań i metody ich obrazowania
Opracowanie zasad tworzenia programów ochrony przed hałasem mieszkańców terenów przygranicznych związanych z funkcjonowaniem dużych przejść granicznych.
Cykle życia oprogramowania
Systemy operacyjne.
Magistrala & mostki PN/PD
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.
Pomiary w inżynierii oprogramowania
Pomiary w inżynierii oprogramowania
Podstawy projektowania i grafika inżynierska
Rational Unified Process
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie - wprowadzenie
Dalsze elementy metodologii projektowania. Naszym celem jest...
Komputerowe wspomaganie skanera ultradźwiękowego
Komputerowe wspomaganie skanera ultradźwiękowego Zbigniew Ragin Bolesław Wróblewski Wojciech Znaniecki.
Wykład 2 Cykl życia systemu informacyjnego
PROJEKT SIECI KOMPUTEROWYCH
C.d. wstępu do tematyki RUP
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Prezentacja komputerowa
Opracował : Przemysław Drzymała
Systemy kognitywne jako nowy wymiar informatyki ekonomicznej
Microsoft Solution Framework
Zarządzanie jakością projektu
Autor: Justyna Radomska
Maszyna wirtualna ang. virtual machine, VM.
Buforowanie D e f i n i c j a.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Dr Karolina Muszyńska Na podst.:
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
TESTOWANIE OPROGRAMOWANIA
Etapy uruchamiania systemu Pliki konfiguracyjne
CRM – wady i zalety UŁ, WMiI, Katedra Analizy Matematycznej i Teorii Sterowania 2008.
MS Excel - wspomaganie decyzji
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Zarządzanie zagrożeniami
Studium osiągalności. Rozmiar projektu (np. w punktach funkcyjny projektu w porównaniu do rozmiaru zakładanego zespołu projektowego i czasu Dostępność.
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Przykłady analiza i projektowanie
Procesor, pamięć, przerwania, WE/WY, …
Podstawy zarządzania projektami Karta projektu
Dokumentacja techniczna
Business Consulting Services © 2005 IBM Corporation Confidential.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Model kaskadowy jest czytelny, przejrzysty, ale w istocie niepraktyczny Proces projektowania systemu informacyjnego.
Logical Framework Approach Metoda Macierzy Logicznej
Struktura systemu operacyjnego
Moduł e-Kontroli Grzegorz Dziurla.
1 © copyright by Piotr Bigosiński DOKUMENTACJA SYSTEMU HACCP. USTANOWIENIE, PROWADZENIE I UTRZYMANIE DOKUMENTACJI. Piotr Bigosiński 1 czerwiec 2004 r.
Faza 1: Faza zaprojektowania systemu monitoringu projektu: 1. Inwentaryzacja obietnic złożonych sponsorowi we wniosku - przegląd założeń projektu, opracowanie.
Inżynieria systemów informacyjnych
Tytuł – [najlepiej aby jak najtrafniej oddawał opisywane rozwiązanie]
Inżynieria Oprogramowania Laboratorium
[Nazwa projektu] Analiza zamknięcia
JavaBeans by Paweł Wąsala
Tytuł – [najlepiej aby jak najtrafniej oddawał opisywane rozwiązanie]
Zapis prezentacji:

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Systemy Wbudowane Cykl życia produktu / technologii Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Na podstawie: Valvano J.W.: Embedded Systems: Introduction to Arm® Cortex(TM)-M Microcontrollers, Jonathan W.Valvano 2013 i inne

Czas życia produktu 01-2014 Zygmunt Kubiak

Czas życia produktu 01-2014 Zygmunt Kubiak

Cykl popularności układy logiczne Czas życia produktu Cykl popularności układy logiczne 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Czas życia projektu Faza analizy Podczas fazy analizy, odkrywane są wymagania i ograniczenia dla proponowanego systemu.  Wywiad wśród potencjalnych klientów i ewentualnie zatrudnieni konsultanci pozwoli na zebranie krytycznych informacji.  Wymaganie jest to specyficzny parametr, który system musi spełniać. Rozpoczyna się od przepisywania wymagań systemowych, które są zwykle napisane w formie ogólnej, na listę szczegółowych specyfikacji. Ogólnie rzecz biorąc, specyfikacje są szczegółowymi parametrami opisującymi w jaki sposób system powinien pracować. Na przykład, urządzenie powinno mieścić się w kieszeni, należy określić dokładne wymiary i ciężar urządzenia.  01-2014 Zygmunt Kubiak

Na przykład, należy zbudować sterownik silnika. Czas życia projektu Faza analizy Na przykład, należy zbudować sterownik silnika.  Podczas fazy analizy, chcemy ustalić oczywiste dane, takie jak zakres, stabilność, dokładność i czas odpowiedzi.  Powinny być również spełnione wymagania, takie jak waga, gabaryty, żywotność baterii, długość „życia”, łatwość obsługi, czytelność wyświetlacza i niezawodność. Często zdarza się, że poprawiając jeden parametr, pogarsza się inny (-e).  Podczas projektowania produktu inżynier musi uwzględniać sztukę kompromisu.   01-2014 Zygmunt Kubiak

Czas życia projektu Faza analizy Ograniczenia wynikają ze środowiska, w którym system musi działać. Mogą to być takie czynniki jak koszty, bezpieczeństwo, kompatybilność z innymi produktami, wykorzystanie poszczególnych części elektronicznych i mechanicznych, interfejsów z innymi urządzeniami i wyposażeniem testującym, oraz plan uruchamiania. W fazie analizy projektu często uwzględnia się następujące parametry: Bezpieczeństwo: zagrożenia dla ludzi lub środowiska  Dokładność: różnica między przewidywanym a rzeczywistym parametrem    01-2014 Zygmunt Kubiak

Rozdzielczość: najmniejsza zmiana, która może być wiarygodnie wykryta Czas życia projektu Faza analizy Rozdzielczość: najmniejsza zmiana, która może być wiarygodnie wykryta Czas reakcji: czas pomiędzy podaniem wymuszenia a odpowiedzią Pasmo: ilość informacji przetwarzanych na czas  Testowalność: łatwość, z jaką prawidłowe działanie urządzenia można sprawdzić  Kompatybilność: zgodność urządzenia do istniejących standardów  Średni czas międzyawaryjny: niezawodność urządzenia , czas życia produktu  Rozmiar i waga    01-2014 Zygmunt Kubiak

Zasilanie: ilość energii potrzebna do działania systemu Czas życia projektu Faza analizy  Zasilanie: ilość energii potrzebna do działania systemu Jednorazowe koszty inżynieryjne (koszt NRE): jednorazowy koszt projektowania i badań Koszt jednostkowy : koszt potrzebny do wytworzenia jednostki produktu  Czasu prototypowania: czas potrzebny na zaprojektowanie, budowę i testowanie modelu systemu Czasu wdrożenia: czas potrzebny do dostarczenia produktu do klienta  Czynniki ludzkie: stopień, w jakim klienci lubią / doceniają produkt     01-2014 Zygmunt Kubiak

Czas życia projektu Faza analizy Istnieje norma IEEE 830-1998 definiująca szablon wymagań. Głównym celem dokumentu wymagań jest tworzenie porozumienia między projektantem i klientów, przez opis co system robi. Umowa ta może stać się prawnie wiążącym kontraktem. Należy przygotować dokument tak, aby był łatwe do odczytania i zrozumienia przez innych. Dokument powinien być jednoznaczny, kompletny, sprawdzalny i modyfikowalny. 1. Przegląd   1.1. Cele: Dlaczego robimy ten projekt? Jaki jest cel?    1.2. Proces: Jak projekt będzie opracowany?    1.3. Role i obowiązki: Kto co zrobi? Kim są klienci?  01-2014 Zygmunt Kubiak

Czas życia projektu Faza analizy 1.4. Interakcje z istniejącymi systemami: Jak to będzie pasować? 1.5. Terminologia: Zdefiniuj sformułowania użyte w dokumencie 1.6. Bezpieczeństwo : Jak zarządzać własnością intelektualną? 2. Opis funkcji 2.1. Funkcjonalność: Co urządzenie dokładnie będzie robić? 2.2. Zakres: Podział na fazy i określenie co zostanie dostarczone w każdej fazie. 2.3. Prototypy: Jak pokazać postępy? 01-2014 Zygmunt Kubiak

Czas życia projektu Faza analizy   2.4. Wydajność : W jaki sposób określić i jak zmierzyć?    2.5. Użyteczność : Opisać interfejsy. Najlepiej ilościowo, jeśli to możliwe.    2.6. Bezpieczeństwo : Wyjaśnij wszelkie wymogi bezpieczeństwa oraz w jaki sposób będą mierzone. 3. Elementy usługi   3.1. Raporty : Jak system opisany?    3.2. Audyty : Jak klienci oceniają postępy?    3.3. Wyniki : Jakie są rezultaty? Skąd wiemy, że zostały osiągnięte. 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Projekt jest podzielony na moduły lub komponenty podrzędne. Czas życia projektu Faza projektu W fazie projektu tworzony jest model koncepcyjny systemu sprzętu / oprogramowania.  Projekt jest podzielony na moduły lub komponenty podrzędne.  Podczas tej fazy, szacujemy koszt, harmonogram i oczekiwaną wydajność systemu.  W tym momencie możemy zdecydować, czy projekt ma wystarczająco wysoki potencjał zysku.    01-2014 Zygmunt Kubiak

Strzałki wskazują kierunek od źródła do miejsca przeznaczenia. Czas życia projektu Faza projektu Diagram przepływu danych jest schematem blokowym systemu, pokazującym przepływ informacji.  Strzałki wskazują kierunek od źródła do miejsca przeznaczenia.  Prostokąty reprezentują komponenty sprzętowe, a owale są modułami oprogramowania.  Wykresów przepływu danych używamy w projekcie wysokiego poziomu, ponieważ opisują one ogólne działanie systemu bez szczegółów.  01-2014 Zygmunt Kubiak

Czas życia projektu Faza projektu Na tym etapie należy uwzględniać takie kwestie jak bezpieczeństwo (np. pierwszej ustawy Robotyki Isaaca Asimova : „Robot nie może skrzywdzić człowieka, ani przez zaniechanie działania dopuścić aby istota ludzka poniosła szkodę") i testowanie (np. musimy zweryfikować działanie systemu).  01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: Na rysunku pokazano diagram przepływu danych dla prostego układu pomiaru położenia. Czujnik zamienia pozycję w wartość oporności elektrycznej. Układ analogowy przekształca opór w wartość napięcia z przedziału od 0 do +3 V, wymaganego przez ADC. ADC przekształca napięcie analogowe do próbki cyfrowe. Mikrokontroler, przy użyciu ADC i timera, zbiera próbki i przetwarza wyniki pomiarów. Wewnątrz mikrokontrolera napięcia i położenia są reprezentowane w postaci liczb stałoprzecinkowych. Dane są przekazywane do sterownika wyświetlacza OLED (ang. Organic Light Emitting Diode) w postaci ciągów znaków ASCII. 01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: 01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: Wstępny projekt zawiera ogólną strukturę systemu, podstawowe sygnały I/O, struktury danych oraz ogólny schemat oprogramowania. Na tym etapie nie ma prostego i bezpośredniego związku między systemami sprzętu /oprogramowania i modelem koncepcyjnym, opracowanym w projekcie wysokiego poziomu.  Następnie należy zbudować makiety części mechanicznych (złącza, obudowy, kable itp.) oraz interfejs oprogramowania użytkownika. Zaawansowane systemy CAD 3-D mogą tworzyć realistyczne obrazy naszego systemu. Szczegółowe projekty sprzętowe muszą zawierać rysunki mechaniczne.  01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: Dobrym pomysłem jest uwzględnienie różnych dostawców podzespołów. Diagram powiązań (ang. call graph) ilustruje relacje między modułami programu. Zagadnienia bezpieczeństwa i testowania należy ponownie podjąć na niższych poziomach projektu. 01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: Na rysunku pokazano diagram powiązań dla prostego układu pomiaru położenia. Prostokąty reprezentują komponenty sprzętowe a owale pokazują moduły oprogramowania. Strzałka wskazuje kierunek od podprogramu wywołującego do modułu wywoływanego. Porty I/O są podzielone na grupy i umieszczone w dolnej części wykresu. Diagramu ogólny, zawiera tylko moduły sprzętowe / oprogramowania na wysokim poziomie abstrakcji.   01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: !Uwaga: Jeśli moduł A wywołuje moduł B, a B zwraca dane, to wykres przepływu danych pokaże strzałkę z B do A, ale wykres powiązań pokaże strzałkę z A do B. Zwykle sprzęt jest bierny i oprogramowanie inicjuje komunikację sprzętu/oprogramowania, ale możliwe jest użycie przerwania sprzętowego do uruchomienia określonych modułów programowych.  01-2014 Zygmunt Kubiak

Faza projektu - przykład: Czas życia projektu Faza projektu - przykład: W tym systemie, sprzęt czasowy uruchamia oprogramowanie ADC  do zbierania próbek. Podprogram obsługi przerwania timera (ISR) dostaje kolejną próbkę z oprogramowania ADC, przekształca ją na pozycję i wyświetla wynik, wywołując oprogramowanie interfejsu OLED . Dwukierunkowa strzałka między ISR i sprzętem, oznacza wyzwalanie sprzętowego przerwania a także dostęp oprogramowania do sprzętu. 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Czas życia projektu Faza rozwoju Kolejny etap polega na opracowaniu implementacji. Zaletą projektu tworzonego „od góry do dołu” jest to, że wdrożenie składowych może następować równocześnie.  W początkowej fazie, to jest dość skuteczne, aby wspomagać się symulacją w realizacji sprzętu/ programu. Główną zaletą jest to, że symulacja zapewnia dużą szybkość pozyskania wyników produktu końcowego w porównaniu ze skonstruowaniem fizycznego urządzenia z rzeczywistych elementów.  01-2014 Zygmunt Kubiak

Czas życia projektu Faza rozwoju Szybkie prototypowanie jest ważne we wczesnych etapach rozwoju produktu. Pozwala to na przeanalizowanie większej liczby wstępnych rozwiązań projektu, co z kolei prowadzi do bardziej skomplikowanego urządzenia. 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Nie oznacza to, że urządzenie będzie poprawnie działać. Czas życia projektu Faza testowania Najnowsze programowe i sprzętowe rozwiązania technologiczne wniosły znaczący wpływ dla rozwoju oprogramowania dla systemów wbudowanych.  Najprostszym sposobem uruchamiania mikrokontrolerów jest użycie cross-assemblera lub cross-kompilatora do konwersji kodu źródłowego do postaci kodu maszynowego dla systemu docelowego. Po usunięciu błędów formalnych uzyskuje się w wyniku kompilacji kod maszynowy, który może być ładowany do urządzenia docelowego.  Nie oznacza to, że urządzenie będzie poprawnie działać. 01-2014 Zygmunt Kubiak

Czas życia projektu Faza testowania Debugowanie systemów wbudowanych tą prostą metodą jest bardzo trudne z dwóch powodów.  Po pierwsze, w systemie wbudowanym brakuje zwykłej klawiatury i wyświetlacza, które pomagają nam, gdy debugowaniu standardowego oprogramowania.  Po drugie, w systemach wbudowanych występują, w czasie rzeczywistym, złożone interakcje między sprzętem i oprogramowaniem. Te interakcje uniemożliwiają przetestowanie oprogramowania korzystając z pracy krokowej oraz drukowania stanów. 01-2014 Zygmunt Kubiak

Czas życia projektu Faza testowania Postęp technologiczny spowodował, że w procesie projektowania systemów wbudowanych uwzględnia się symulację.  Ze względu na wysokie koszty i długi czas wymagany do stworzenia prototypów sprzętu, wiele badań wstępnych jest wykonywanych za pomocą symulacji sprzętu / oprogramowania.  Symulator jest aplikacją programową, która uwzględnia modele zachowań systemu sprzętu / oprogramowania. Jeśli zarówno sprzęt jak i oprogramowanie zewnętrzne symulowane są razem, to chociaż czas symulowany jest wolniejszy niż czas rzeczywisty, to jednak interakcje sprzętu / oprogramowania mogą być badane ( w przybliżeniu) w czasie rzeczywistym. 01-2014 Zygmunt Kubiak

Czas życia projektu Faza testowania Podczas fazy testowania  , możemy ocenić wydajność naszego systemu. Po pierwsze, debugowanie i sprawdzania poprawności systemu podstawowych funkcji. Następnie używamy dokładne pomiary w celu optymalizacji wydajności, takie jak wydajność pamięci statycznej (wymagania), dynamiczną wydajność (szybkość realizacji), dokładność (różnica między oczekiwanym prawdy i zmierzone) i stabilności (konsekwentnego działania.) 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Czas życia projektu Faza wdrażania Konserwacja/utrzymanie  jest procesem korygowania błędów, dodawania nowych funkcji, optymalizacji dla szybkości wykonania i wielkości programu, przenoszenia do nowych komputerów lub systemów operacyjnych i rekonfiguracji systemu, aby rozwiązać podobny problem.  Żaden system nie jest statyczny. Klienci mogą zmienić lub dodać wymogi lub ograniczenia. Produkt powinien być opłacalny a projektant prawdopodobnie będzie chciał dostosować każdy system do indywidualnych potrzeb każdego klienta. Konserwacja nie jest oddzielną fazą, ale pociąga za sobą dodatkowe pętle na całym cyklu życia. 01-2014 Zygmunt Kubiak

Czas życia produktu Schematy blokowe Specyfikacje Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia 01-2014 Zygmunt Kubiak

Odwrotnym podejściem jest projektowanie oddolne Czas życia projektu Rysunek opisuje projekt top-down jako proces cykliczny, począwszy od zdefiniowania problemu, a kończąc na rozwiązaniu.  Odwrotnym podejściem jest projektowanie oddolne Wiele innowacji rozpoczyna się od pomysłu, "co jeśli ...?" W projekcie oddolnym, zaczyna się od projektowania, budowy i testowania komponentów niskiego poziomu.  Projekty niskiego poziomu może być rozwijane równolegle.  Oddolny projekt może być nieefektywny, ponieważ niektóre podzespoły mogą być zaprojektowane, zbudowane i przetestowane, ale nigdy nie były/będą używane.   01-2014 Zygmunt Kubiak

Proces projektowania oddolnego sprzyja kreatywnym pomysłom Czas życia projektu  Różne elementy projektu są rozwijane równolegle dając w efekcie system bardziej złożony.  Dopiero gdy system jest całkowicie zbudowany i przetestowany sposób można zdefiniować ogólną specyfikację systemu.  Proces projektowania oddolnego sprzyja kreatywnym pomysłom   Pozwala również na szybkie zbadanie wykonalności pomysłu. Jeśli ktoś w pełni rozumie zakres problemu i zakres potencjalnych rozwiązań, a następnie przejdzie do projektowania odgórnego to najszybciej osiągnie skuteczne rozwiązanie.  Z drugiej strony, jeśli ktoś nie rozumie problemu lub zakresu jego rozwiązań, oddolne podejście pozwala rozpoznanie problemu. 01-2014 Zygmunt Kubiak

Dziękuję Zygmunt Kubiak 09-2006