Metodyka projektowania komputerowych systemów sterowania



Podobne dokumenty
Zapytanie ofertowe nr 04/03/2017

Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

DLA SEKTORA INFORMATYCZNEGO W POLSCE

INŻYNIERIA OPROGRAMOWANIA Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny

Wstęp do zarządzania projektami

Szablon Planu Testów Akceptacyjnych

Wstęp do zarządzania projektami

Faza Określania Wymagań

Systemy zabezpieczeń

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

1. Definicja oprogramowania komunikacyjnego

Zasady organizacji projektów informatycznych

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Szybkie prototypowanie w projektowaniu mechatronicznym

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Inżynieria oprogramowania (Software Engineering)

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

Maciej Oleksy Zenon Matuszyk

Tom 6 Opis oprogramowania

Wymagania, specyfikacja i projektowanie

Opis przedmiotu zamówienia

Efekt kształcenia. Wiedza

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: II stopnia (magisterskie)

Księgarnia PWN: Kazimierz Szatkowski - Przygotowanie produkcji. Spis treści

Załącznik Nr 1. Istotne warunki zamówienia do przetargu nieograniczonego na wykonanie pakietu usług programistycznych

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia r.

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Egzamin / zaliczenie na ocenę*

Wstęp do zarządzania projektami

Testowanie oprogramowania

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia II stopnia (magisterskie)

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Zakres prac implementacja VPLEX i ViPR dla środowiska macierzy VNX 5800

Tom 6 Opis oprogramowania

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

osobowe pracowników laboratorium SecLab EMAG w rozumieniu przepisów Kodeksu Pracy, konsultantów, stażystów oraz inne osoby i instytucje mające dostęp

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

PRZEWODNIK PO PRZEDMIOCIE

Serwis rozdzielnic niskich napięć MService Klucz do optymalnej wydajności instalacji

Wytwórstwo oprogramowania. michał możdżonek

Wprowadzenie do systemów informacyjnych

Metodyka wdrożenia. Bartosz Szczęch. Starszy Konsultant MS Dynamics NAV

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej

Łatwa czy niełatwa droga do celu? - wdrożenie COSMIC w ZUS

Usługa: Audyt kodu źródłowego

Projektowanie systemów informatycznych. wykład 6

ZARZĄDZENIE REKTORA ZACHODNIOPOMORSKIEJ SZKOŁY BIZNESU W SZCZECINIE 4/ kwietnia 2013 r.

Najczęściej popełniane błędy w procesie walidacji metod badawczych

Krzysztof Wawrzyniak Quo vadis BS? Ożarów Mazowiecki, styczeń 2014

Instytut Technik Innowacyjnych

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

PROJEKTOWANIE MECHATRONICZNE

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Problematyka użyteczności serwisów internetowych

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Podsumowanie wyników ankiety

Sterowanie jakością badań i analiza statystyczna w laboratorium

Cykle życia systemu informatycznego

PRZEWODNIK PO PRZEDMIOCIE

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Modelowanie i Programowanie Obiektowe

Architektura systemów komputerowych. Przetwarzanie potokowe I

Metoda funkcjonalno-wzorcująca oceny inwestycji publicznej na etapie projektowania technicznego

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

1/ Nazwa zadania: Dostawa, wdrożenie i serwis informatycznego systemu zarządzania projektami dla Urzędu Miejskiego Wrocławia wraz ze szkoleniem.

PRZEWODNIK PO PRZEDMIOCIE

Referat pracy dyplomowej

WYDZIAŁ TRANSPORTU I INFORMATYKI INFORMATYKA I STOPIEŃ PRAKTYCZNY

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik elektryk 311[08]

ŚCIEŻKA KRYTYCZNA. W ścieżkach krytycznych kolejne zadanie nie może się rozpocząć, dopóki poprzednie się nie zakończy.

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Inżyniera wymagań

Proces technologiczny. 1. Zastosowanie cech technologicznych w systemach CAPP

KIERUNKOWE EFEKTY KSZTAŁCENIA

Spis treúci. 1. Wprowadzenie... 13

PRZEWODNIK PO PRZEDMIOCIE

Zaawansowane programowanie w języku C++

Formułowanie i zastosowanie pryncypiów architektury korporacyjnej w organizacjach publicznych

OFERTA. Lp. Nazwa zadania Cena netto (zł) VAT (zł) Cena brutto (zł)

Planowanie potrzeb materiałowych. prof. PŁ dr hab. inż. A. Szymonik

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Wybór ZSI. Zakup standardowego systemu. System pisany na zamówienie

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

Transkrypt:

Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1

Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania Integracja i testowanie Ocena i akceptacja Metodyka projektowania KSS (2) Projektowanie niezawodnych systemów sterujących opartych na mikroprocesorach jako urządzeniach zastępujących klasyczne regulatory wymaga systematycznego podejścia do procesu projektowania. Etapy procesu powstawania projektu przedstawiono na rysunku. Charakterystyczną cechą procesu projektowania komputerowych systemów sterujących jest możliwość równoległego opracowania części sprzętowej i programowej. 2

Podstawowe funkcje Żądana dokładność Analiza wymagań Szybkość i niezawodność działania Ograniczenia dotyczące stosowanego sprzętu i oprogramowania Szacowane koszty projektu Spodziewane efekty wdrożenia Dokument: Specyfikacja wymagań Etap kończy opinia recenzentów Metodyka projektowania KSS (3) Pierwszym kluczowym etapem powstawania projektu jest analiza wymagań. Ważność tego etapu wynika z wagi podejmowanych decyzji odnoście do: podstawowych realizowanych funkcji, żądanej dokładności, oczekiwanej szybkości i niezawodności działania, ograniczeń dotyczących stosowanego sprzętu i oprogramowania, szacowanych kosztów projektu, spodziewanych efektów wdrożenia. Przejście do kolejnego etapu uwarunkowane jest pozytywną opinią recenzentów. 3

Projektowanie systemu Projektowanie systemu Określenie architektury Podział na podsystemy Przypisanie funkcji poszczególnym podsystemom Zdefiniowanie reguł współpracy podsystemów Plan testów systemu Etap kończy opinia recenzentów Metodyka projektowania KSS (4) Kolejny etap dotyczy ogólnego zaprojektowania systemu. Zestawienie zadań związanych z tym etapem obejmuje: określenie architektury systemu, podział na podsystemy, przypisanie funkcji poszczególnym podsystemom, zdefiniowanie reguł współpracy podsystemów oraz plan testów systemu. 4

Projektowanie i implementacja podsystemów Współbieżna i niezależna realizacja sprzętu i oprogramowania podsystemów Wynikiem etapu jest zbiór programowych i sprzętowych komponentów systemu Dokumentacja komponentów systemu Etap kończy REWIZJA Funkcjonalna czy wszystkie wymagania wymienione w specyfikacji są spełnione Fizyczna czy komponenty są spójne i w pełni udokumentowane Metodyka projektowania KSS (5) Zgodnie z przyjętym i zaopiniowanym ogólnym projektem systemu w kolejnym etapie podjęta zostaje praca polegająca na realizacji sprzętu i oprogramowania. W zależności od charakteru projektu, część prac może być realizowana oddzielnie. Zwykle jednak występuje część zadań, które należy wykonać współbieżnie. W wyniku realizacji tego etapu powstają poszczególne komponenty sprzętowe i programowe systemu. Na zakończenie tego etapu dokonywana jest rozszerzona ocena polegająca na rewizji funkcjonalnej i fizycznej. Rewizja funkcjonalna dotyczy sprawdzenia, czy wszystkie wymagania zawarte w specyfikacji wymagań zostały spełnione. Rewizja fizyczna pozwala na sprawdzenie poszczególnych komponentów systemu: muszą one być spójne i powinny posiadać pełną dokumentację. 5

Integracja, testowanie, ocena Testowanie i integracja systemu Połączenie wszystkich komponentów systemu i testowanie zgodnie z planem testów Przegląd kwalifikacyjny Wynik: raport testowania Ocena i akceptacja (etap realizowany przez użytkowników systemu) Metodyka projektowania KSS (6) Proces uruchomienia rozwiązania rozpoczyna się od testowania systemu w różnych konfiguracjach połączonych komponentów. Stosuje się w tym celu określone i ściśle zdefiniowane metodyki postępowania. Niezależnie od przyjętej metodyki postępowania ocenia się poprawność funkcjonalną działania całego systemu. Testowanie winno zakończyć się raportem wskazującym na elementy trudne oraz na możliwe słabe ogniwa systemu. Ostateczna ocena i akceptacja przyjętego rozwiązania ma miejsce u użytkownika systemu. 6

Przykładowy szacunek kosztów Specyfikacja wymagań 18% Projekt wstępny 7% Projekt szczegółowy 15% Programowanie modułów 20% Integracja i testowanie komponentów 20% Instalacja i ocena 20% Koszty konserwacji 70% i więcej Metodyka projektowania KSS (7) W stosunku do klasycznego podejścia projektowego zmienia się rozkład kosztów na poszczególne etapy. W tradycyjnym projektowaniu przywiązywano największą wagę do projektu szczegółowego przy niewielkim udziale kosztowym etapów wstępnych (koncepcja i projekt wstępny). W przedstawionym powyżej rozkładzie kosztów widać wyraźnie równomierne ich rozłożenie na poszczególne etapy oraz wydatne zwiększenie nakładów na etap specyfikacji wymagań. Zwróćmy również uwagę na fakt uwzględnienia w kosztach ogólnych istotnej części przeznaczonej na utrzymanie i konserwacje systemu. 7

Cechy opisu wymagań wg IEEE Std 830, IEEE Std 1016 Jednoznaczność zapis każdego wymagania winien mieć tylko jedna interpretację Kompletność specyfikacja wymienia wszystkie istotne wymagania, które powinny być spełnione Weryfikowalność opisy wszystkich wymagań winny być tak sformułowane, aby było możliwe jednoznaczne rozstrzygnięcie, czy produkt finalny spełnia te wymagania czy nie Spójność różne wymagania winny być opisane z zużyciem jednolitej terminologii i nie mogą być wzajemnie sprzeczne Modyfikowalność łatwość zmian (zależy od przejrzystości dokumentu: podział na rozdziały, spis treści, indeksy, odnośniki) i opis danego wymagania tylko w jednym miejscu Powiązania uzasadnienie wymagania przyczyna jego wprowadzenia (zalecenie użytkownika, normy jakości, przepisy) Metodyka projektowania KSS (8) Zaprojektowanie systemu sterującego wykorzystującego mikroprocesor jest niewątpliwie sztuką. Prawidłowo zaprojektowany i zrealizowany układ sterowania komputerowego jednak może nie znaleźć szerszego uznania, jeśli nie będzie spełniać określonych wymagań odnośnie do dokumentacji projektu. Przykładowo podano poniżej zestaw istotnych cech opisu wymagań zgodny ze standardami IEEE Std 830 oraz Std 1016. Jednoznaczność zapis każdego wymagania winien mieć tylko jedna interpretację Kompletność specyfikacja wymienia wszystkie istotne wymagania, które powinny być spełnione Weryfikowalność opisy wszystkich wymagań winny być tak sformułowane, aby było możliwe jednoznaczne rozstrzygnięcie, czy produkt finalny spełnia te wymagania czy nie Spójność różne wymagania winny być opisane z zużyciem jednolitej terminologii i nie mogą być wzajemnie sprzeczne Modyfikowalność łatwość zmian (zależy od przejrzystości dokumentu: podział na rozdziały, spis treści, indeksy, odnośniki) i opis danego wymagania tylko w jednym miejscu Powiązania uzasadnienie wymagania przyczyna jego wprowadzenia (zalecenie użytkownika, normy jakości, przepisy) 8

Wzorcowy układ specyfikacji wymagań wg IEEE Std 830 1. Wstęp cel sporządzenia specyfikacji i spodziewany krąg czytelników zakres specyfikacji lista nazw i funkcje jednostek oprogramowania definicje i skróty nazw dokumenty związane, do których występują odwołania i sposób dostępu do nich streszczenie poszczególnych części Metodyka projektowania KSS (9) Z tego samego powodu podano poniżej schemat wzorcowego układu dokumentu jakim jest specyfikacja wymagań (zgodnie ze standardem IEEE Std 830). Powyższy schemat zawiera niezbędne elementy treściowe, które winny się znaleźć w dobrze przygotowanym opisie specyfikacji wymagań. We wstępie specyfikacji winny się znaleźć następujące elementy: cel sporządzenia specyfikacji i spodziewany krąg czytelników, zakres specyfikacji lista nazw i funkcje jednostek oprogramowania, definicje i skróty nazw, dokumenty związane, do których występują odwołania i sposób dostępu do nich, streszczenie poszczególnych części. 9

Wzorcowy układ specyfikacji wymagań wg IEEE Std 830 2. Opis ogólny intuicyjny opis wymagań i ograniczeń otoczenie oprogramowania (związki z innymi systemami) funkcje oprogramowania charakterystyka użytkowników ograniczenia narzucone na swobodę programowania przyjęte założenia Metodyka projektowania KSS (10) W drugim rozdziale pt. OPIS OGÓLNY należy opisać: otoczenie oprogramowania (związki z innymi systemami), funkcje oprogramowania, charakterystyka użytkowników, ograniczenia narzucone na swobodę programowania, przyjęte założenia. Rozdział 2 nie zawiera szczegółowych informacji o dużej złożoności. Powinien on być zrozumiały dla odbiorcy posiadającego ogólna wiedzę na temat projektowania systemów informatycznych. 10

Wzorcowy układ specyfikacji wymagań wg IEEE Std 830 3. Wymagania szczegółowe najważniejszy rozdział wymagania na wydajność przetwarzania (np..liczba końcówek, 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 bazy danych, zabezpieczenie danych, praca w warunkach awarii, śledzenie komunikacji z użytkownikiem, spodziewane kierunki modyfikacji) 4. Indeks lista ważniejszych nazw i terminów Metodyka projektowania KSS (11) Najważniejszy rozdział 3 obejmuje szczegółowe wymagania, w pełni czytelne dla specjalisty i niezbędne do jednoznacznego ustalenia zakresu prac projektowych. Obejmuje on: wymagania na wydajność przetwarzania (np..liczba końcówek, 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 bazy danych, zabezpieczenie danych, praca w warunkach awarii, śledzenie komunikacji z użytkownikiem, spodziewane kierunki modyfikacji). Opis specyfikacji wymagań kończy lista najważniejszych nazw i terminów. Obserwuje się tendencje do przyjmowania wielu skrótów nazw i terminów co może prowadzić do nieporozumień. Staranne sporządzenie tej listy gwarantuje pełną komunikatywność treści. 11

Projektowanie oprogramowania Jednostki konfiguracyjne stanowią pewne samodzielne elementy, np.. oprogramowanie wbudowane przyrządu pomiarowego lub robota Komponenty realizują dobrze zdefiniowane funkcje, możliwe do samodzielnego testowania Moduły najmniejsze jednostki dekompozycji programu Metodyka projektowania KSS (12) Omówienie zasad projektowania uzupełnimy jeszcze o szersze uwagi odnośnie do projektowania oprogramowania. Problematyka projektowania oprogramowania podejmowana jest w obszarze inżynierii oprogramowania, poczynione w tym miejscu uwagi mają potwierdzić konieczność metodycznego podejścia do tego fragmentu projektowania oraz uświadomić, że nawet przy pełnej dostępności sprzętowej funkcjonalność systemu buduje oprogramowanie. Sprawna realizacja oprogramowania wymaga jego podziału na określone ściśle elementy. Są to: Jednostki konfiguracyjne, które stanowią pewne samodzielne elementy, np.. oprogramowanie wbudowane przyrządu pomiarowego lub robota; Komponenty, które realizują dobrze zdefiniowane funkcje, możliwe do samodzielnego testowania; Moduły stanowiące najmniejsze możliwe jednostki dekompozycji programu. Projektowanie oprogramowania ma swoją specyfikę, czego wyrazem jest m.in.. rozwijana intensywnie dziedzina pod nazwą inżynierii oprogramowania. 12

Projektowanie oprogramowania Specyfikacja wymagań Projekt wstępny Projekt szczegółowy OCENA Implementacja Integracja i testowanie Ocena końcowa Konserwacja programów Metodyka projektowania KSS (13) Kaskadowy schemat procesu projektowania oprogramowania zakłada konieczność oceny wyników każdego etapu przed podjęciem następnego. Negatywna ocena powoduje powrót do poprzedniego etapu jego weryfikację lub powtórzenie. Zakres prac realizowanych w poszczególnych etapach zestawiono poniżej: Analiza i specyfikacja systemu Projekt wstępny Wynik etapu: dokument określający funkcje realizowane przez oprogramowanie, powiązania z otoczeniem, dokładność, szybkość i wydajność obliczeń Cel: dekompozycja na komponenty i przypisanie funkcji do poszczególnych komponentów i określenie sposobu ich testowania Wynik etapu: Projekt szczegółowy Wynik etapu: wstępna specyfikacja projektu oprogramowania plan testów kwalifikacyjnych Specyfikacja projektu opisująca podział na moduły, funkcje i algorytmy działania modułów Podstawowe struktury danych Opisy testów kwalifikacyjnych Opisy testów komponentów i modułów Implementacja programowanie i testowanie modułów Wynik etapu: Kod źródłowy i listing programu Integracja i testowanie komponentów Wynik etapu: Instalacja i ocena końcowa Wynik etapu: Instrukcje i raporty testowania modułów Instrukcje testowania komponentów uaktualniona specyfikacja projektu i kod źródłowy programu raporty testowania komponentów instrukcja testowania jednostki konfiguracyjnej 13

Projektowanie KSS główne błędy Niedocenianie roli początkowych faz projektu Brak systematycznej oceny etapów prac Znikome korzystanie ze sprawdzonych metod inżynierii oprogramowania oraz oprogramowania typu CAD Nieadekwatny i mało wiarygodny proces testowania Niepełna dokumentacja Metodyka projektowania KSS (14) Proces projektowania komputerowych systemów sterujących jest bardzo złożony i nie zawsze kończy się sukcesem. Można wskazać kilka najbardziej elementarnych zasad, których przestrzeganie pozwoli uniknąć najczęściej spotykanych błędów. Należą do nich: Niedocenianie roli początkowych faz projektu Brak systematycznej oceny etapów prac Znikome korzystanie ze sprawdzonych metod inżynierii oprogramowania oraz oprogramowania typu CAD Nieadekwatny i mało wiarygodny proces testowania Niepełna dokumentacja Komentarz do wyżej wymienionych błędów wydaje się być zbędny, gdyż nawet mniej doświadczony projektant potrafi wskazać przykłady potwierdzające nierzadko fatalne skutki takich błędów. 14