1. Definicja oprogramowania komunikacyjnego



Podobne dokumenty
Metodyka projektowania komputerowych systemów sterowania

Zasady organizacji projektów informatycznych

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

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

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Zarządzanie WYKŁAD II. Plan wykładu. Elementy procesu zarządzania. Elementy procesu zarządzania zasobami ludzkimi

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

Egzamin / zaliczenie na ocenę*

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

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

ISO 9000/9001. Jarosław Kuchta Jakość Oprogramowania

Inżynieria oprogramowania (Software Engineering)

Faza Określania Wymagań

Maciej Oleksy Zenon Matuszyk

Etapy życia oprogramowania

Wprowadzenie w tematykę zarządzania przedsięwzięciami/projektami. dr inż. Agata Klaus-Rosińska

Programowanie zespołowe

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

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

Tom 6 Opis oprogramowania

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii

JAKOŚCI W RÓŻNYCH FAZACH I ŻYCIA PRODUKTU

Cykle życia systemu informatycznego

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

Student Bartosz Banaś Dr inż. Wiktor Kupraszewicz Dr inż. Bogdan Landowski Dr inż. Bolesław Przybyliński kierownik zespołu

PRZEWODNIK PO PRZEDMIOCIE

Matryca efektów kształcenia dla programu studiów podyplomowych ZARZĄDZANIE I SYSTEMY ZARZĄDZANIA JAKOŚCIĄ

Rejestracja produkcji

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

Narzędzia Informatyki w biznesie

WYKŁAD V DR N. MED. EDYTA KĘDRA

PRZEWODNIK PO PRZEDMIOCIE

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Pytania i wyjaśnienia treści Specyfikacji Istotnych Warunków Zamówienia

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Modelowanie procesów współbieżnych

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

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

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

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

Cechy systemu MRP II: modułowa budowa, pozwalająca na etapowe wdrażanie, funkcjonalność obejmująca swym zakresem obszary technicznoekonomiczne

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Wykaz zmian w Regulaminie konkursu Nr RPLD IZ /17

PRZEWODNIK PO PRZEDMIOCIE

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

informacji w obszarze jakości danych

Testowanie oprogramowania

Dlaczego testowanie jest ważne?

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

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Dobór systemów klasy ERP

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

Wymagania edukacyjne z informatyki i technologii informacyjnej

Szybkie prototypowanie w projektowaniu mechatronicznym

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Badania rynkowe i marketingowe

Tester oprogramowania 2014/15 Tematy prac dyplomowych

HCI Human Computer Interaction

Case Study. Rozwiązania dla branży metalowej

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

BADANIA SYSTEMÓW STEROWANIA RUCHEM KOLEJOWYM W PROCESIE ICH CERTYFIKACJI

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Podsumowanie wyników ankiety

Modelowanie i analiza systemów informatycznych

Zakładane efekty kształcenia dla kierunku Wydział Telekomunikacji, Informatyki i Elektrotechniki

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

Wprowadzenie w tematykę zarządzania projektami/przedsięwzięciami

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

Dobre wdrożenia IT cz. I Business Case.

Podstawy programowania III WYKŁAD 4

Będzin, dnia r. ZAPYTANIE OFERTOWE. Zamawiający: GRYLA JAROSŁAW Firma Handlowo-Usługowa "MATAR" Bedzin Siemońska 11 Kod pocztowy

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Wyższa Szkoła Bankowa w Toruniu ul. Młodzieżowa 31a Toruń Toruń, dnia r. ZAPYTANIE OFERTOWE nr 1/NOR/0119/2014

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

KARTA MODUŁU KSZTAŁCENIA

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

LABORATORIUM 1 - zarządzanie operacyjne

INSTRUKCJA ZINTEGROWANEGO SYSTEMU ZARZĄDZANIA INSTRUKCJA ZLECANIA PRAC PROJEKTOWYCH DO PODWYKONAWCY IS-09/01/III

Darmowy fragment

Nie o narzędziach a o rezultatach. czyli skuteczny sposób dokonywania uzgodnień pomiędzy biznesem i IT. Władysławowo, 6 października 2011 r.

Podstawy diagnostyki środków transportu

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Wykład 1 Inżynieria Oprogramowania

Ogłoszenie nr N-2018 z dnia r. Elbląg: OGŁOSZENIE O ZMIANIE OGŁOSZENIA OGŁOSZENIE DOTYCZY: Ogłoszenia o zamówieniu INFORMACJE O

Norma to dokument przyjęty na zasadzie konsensu i zatwierdzony do powszechnego stosowania przez

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

Wpoprzedniej części cyklu (nr 11/2009) Studium przypadku Rachunek kosztów działań w przedsiębiorstwie MK. 12

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

Zarządzanie jakością w logistyce ćw. Artur Olejniczak

Wprowadzenie do zarządzania projektami

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

PROJEKTOWANIE MECHATRONICZNE

Transkrypt:

1. Definicja oprogramowania komunikacyjnego 1.1. Zakres stosowania i definicja pojęcia oprogramowanie komunikacyjne Pojęcie oprogramowania komunikacyjnego nie jest jednoznacznie zdefiniowane. Na potrzeby tego wykładu będzie przyjęta następująca definicja: Oprogramowanie, które: realizuje komunikację między komputerami, wspomaga komunikację między ludźmi, zarządza obiema formami komunikacji. będzie nazywane oprogramowaniem komunikacyjnym. 1.2. Cechy i cykl powstawania oprogramowania komunikacyjnego Lektura rozdziału wymaga przypomnienia sobie podstawowych ideii dotyczących inżynierii oprogramowania 1. Cechy wspólne z innymi typami oprogramowania: pożądane niskie koszty wytwarzania. Cechy wspólne z innymi typami oprogramowania, ale o szczególnym znaczeniu dla orogramowania komunikacyjnego: otwartość na nowe usługi i rozwiązania (nazywana czasami ewolucyjnością). Konstrukcja oprogramowania powinna umożliwiać nadążanie za zmianami w technologii oraz w rozbudowie funkcjonalności oprogramowania. duża złożoność (praca w czasie rzeczywistym, praca współbieżna, często praca rozproszona) i wielkość oprogramowania. Praca w czasie rzeczywistym oznacza uzależnienie skutków działania oprogramowania od upływu czasu mierzonego stosunkowo krótkimi jednostkami czasu. Rezultat działania procesu jest uzależniony od upływu czasu, a nie tylko od danych. Często nie jest najważniejszym celem by oprogramowanie to było jak najszybsze, lecz by można było przewidzieć w jakim czasie będą mogły być otrzymane pożądane rezultaty. Jednostką czasu dla procesów w węzłach sieci komputerowych są pojedyncze mikrosekundy. W przypadku węzłów sieci telekomunikacyjnych (np. ISDN) są to milisekundy. Praca współbieżna oznacza, że z tego oprogramowania może korzystać wielu użytkowników jednocześnie i niezależnie. W węzłach sieci telekomunikacyjnych celem 1 Inżynieria oprogramowania, Red. J.Górski, MIKOM, Warszawa, 1999 Iok_1 2

jest obsłużenie jak największej liczby użytkowników i są to wielkości rzędu tysięcy procesów istniejących współbieżnie w jednym węźle. Szybkość działania oprogramowania jest tu wymaganiem dodatkowym i jest niezbędna tylko po to by było jak najwięcej jednocześnie obsługiwanych użytkowników. W węzłach sieci komputerowych liczba aktywnych procesów obsługi jest znacznie mniejsza (kilkadziesiąt), ale za to czas reakcji procesów na zdarzenia w sieci jest wielokrotnie krótszy. Praca rozproszona wynika z istoty funkcjonowania oprogramowania komunikacyjnego, które działa w odległych systemach połączonych kanałami wnoszącymi opóźnienia i błędy oraz z potrzeby efektywnego wykorzystania ich zasobów: np. przepustowości kanału, czasu procesorów, dostępnych pamięci itp. Wielkość oprogramowania jest związana z wielością realizowanych przez to oprogramowanie zadań. Oprócz tych elementów, które wynikają z już omówionych cech tego oprogramowania i powodują rozbudowę środowiska oprogramowania komunikacyjnego, pojawiają się elementy wynikające z zastosowania tego oprogramowania, a więc: różnorodne usługi i oprogramowanie sygnalizacji i protokołów komunikacyjnych oraz oprogramowanie wspomagające utrzymanie i eksploatację węzłów telekomunikacyjnych (nadzorowanie poprawności pracy, badanie statystyk ruchowych opisujących pracę węzła i sieci, wynikająca z nich rekonfiguracja węzła i sieci oraz taryfikacja). długi czas życia oprogramowania narzucający wysokie wymagania jakościowe na: oprogramowanie oraz jego dokumentację oraz powodujący zmienność zespołu programistów nawet u jednego producenta oprogramowania. Czas życia oprogramowania komunikacyjnego obliczany jest na okres rzędu 20 lat, bez względu na to czy jest to oprogramowanie dla sieci telekomunikacyjnych, czy też dla sieci komputerowych. Wynika to z natury sieci komunikacyjnych, w których elementem przesądzającym o czasie korzystania z określonych usług jest nie tyle jej nowoczesność co powszechność. Częsta wymiana wszystkich urządzeń końcowych jest zadaniem trudnym organizacyjnie, a zawsze kosztownym. Konstrukcja oprogramowania (modularna konstrukcja oprogramowania) musi gwarantować oprogramowanie zapewniające wysoką niezawodność systemu telekomunikacyjnego i łagodną degradację możliwości tego systemu w przypadku uszkodzeń jego elementów. Iok_1 3

Cecha, która nie jest istotne przy projektowaniu innych typów oprogramowania, ale jest zasadnicza przy projektowaniu oprogramowania komunikacyjnego różni wytwórcy oprogramowania, które musi ściśle i bezbłędnie ze sobą współpracować (dobrym przykładem są protokoły komunikacyjne). Liczbę styków oprogramowania pochodzącego od różnych producentów ilustruje kolejny rysunek. Terminal z oprogramowaniem producenta A Węzęł z oprogramowaniem producenta B Węzęł z oprogramowaniem producenta C Terminal z oprogramowaniem producenta D Rys. 1 Współpraca oprogramowania różnych producentów w sieci telekomunikacyjnej i teleinformatycznej Rozpatrując proces projektowania oprogramowania komunikacyjnego należy wziąć pod uwagę dwa punkty widzenia: punkt widzenia użytkownika oraz punkt widzenia projektanta oprogramowania. To spojrzenie wskazuje, że klient ma w kontekście projektowania oprogramowania komunikacyjnego mniejsze znaczenie. Punkt widzenia użytkownika związany jest z długim okresem eksploatacji systemu, w którym to okresie zmieniają się wymagania funkcjonalne i ruchowe na system. Punkt widzenia projektanta jest zdeterminowany wielkością i różnorodnością zadań, które ma to oprogramowanie realizować oraz niepełną znajomością przyszłych wymagań. Podstawowe cechy charakteryzujące oba punkty widzenia zawiera tabela 1. Tabela 1 Użytkownik Jakość funkcjonowania i utrzymania: łatwość użytkowania, modyfikowalność funkcji, modyfikowalność obciążenia, niezawodność funkcjonowania. Czas zrealizowania Projektant Jakość realizowania: łatwość oprogramowywania, łatwość uruchamiania i testowania, modyfikowalność oprogramowania. Czas zrealizowania Jak widać oczekiwania obu stron nie zawsze są sprzeczne. Wymaganie modyfikowalności oferowanych funkcji stoi co prawda w sprzeczności z łatwością realizacji oprogramowania, lecz nie stoi w sprzeczności z wymaganiem modyfikowalności oprogramowania. Podstawą spełnienia oczekiwań obu stron jest posiadanie: jednolitego sposobu: formułowania wymagań projektowania oprogramowania, implementacji oprogramowania, Iok_1 4

testowania oprogramowania i jego weryfikacji. modelu działania oraz metod analizy wykorzystanych algorytmów sterowania i komunikacji. Rysunek 2 ilustruje model cyklu wytwarzania dla oprogramowania komunikacyjnego. Nie różni się on zasadniczo od typowego cyklu kaskadowego z wyjątkiem pętli sprzężenia zwrotnego oraz dwóch elementów, które zostały podkreślone: stosowania nom i zaleceń oraz zarządzania oprogramowaniem. Przy omawianiu elementów modelu ich rola będzie bliżej wyjaśniona. MARKETING SERWIS SPRZEDAŻ PROJEKTOWANIE WYMAGANIA+ NORMY I ZALECENIA INSTRUKCJA SZKOLENIA, PROJEKT (ZACHOWANIE+ PROGRAMOWANIE ZARZADZANIE) OPROGRAMOWANIE PROJEKT TESTOWANIA TESTOWANIE WYNIKI TESTOW Produkt Rys. 2 Cykl powstawania oprogramowania komunikacyjnego Pierwszym elementem cyklu jest sformułowanie wymagań techniczno-ekonomicznych. Wymagania techniczno-ekonomiczne są opracowywane by: być merytoryczną podstawą do podejmowania decyzji: poprawiających rentowność produkcji, zmniejszenia liczby działań zbędnych, ryzykownych lub mało rentownych lub zapewniających korzystniejsze rozłożenie w czasie podejmowanych działań, stworzyć pośrednika pomiędzy projektowaniem oprogramowania i sprzętu, sprzedażą i marketingiem oraz serwisem, który to pośrednik byłby zrozumiały dla wszystkich stron, Iok_1 5

sprecyzować, uporządkować i zorganizować zadania dla zespołów projektowych, dokumentalistów (wykonanie instrukcji), serwisu i sprzedaży po podjęciu decyzji o rozpoczęciu procesu produkcyjnego, łatwiej uchwycić i wyegzekwować odpowiedzialność za efekty oraz ocenić odpowiedzialnych za nie. Wyymagania techniczno-ekonomicznych opracowuje się na podstawie: 1. funkcjonujących standardów opisujących protokoły i usługi komunikacyjne. dokumenty normalizacyjnych (ISO, IEEE, ITU itp), książeki i literatura oraz informacji o książkach i literaturze poświęconej protokołom i usługom, dokumentacje innych producentów, udziału (biernego i aktywnego) w pracach organizacji normalizacyjnych np. ATM Forum, 2. życzeń klientów analiza rynku usług komunikacyjnych, kreawanie potrzeb rynku bezpośrednie kontakty z klientami i dystrybutorami zbieranie uwag od własnego serwisu i laboratorium wykonującego testy 3. własnych propozycji i rozwiązań problemów nowych i nierozwiązanych lub nieopisanych 4. analizy produktów oferowanych przez innych producentów, czasopisma, pokazy, akcje promocyjne, funkcjonujące instalacje,7 porównanie specyfikacji technicznych produktów, dostęp do wybranych produktów. Zawartość wymagań to: charakterystyki techniczne i funkcjonalne proponowanych produktów oszacowania kosztów ich wdrożenia obejmujące cały cykl produkcyjny oszacowania kosztów eksploatacji usług u użytkownika Kryteria przyjęcia bądź odrzucenia wymagań: oszacowanie zapotrzebowania rynku na usługi o określonych kosztach eksploatacji koszty realizacji Ze względu na funkcjonowanie norm i zaleceń oraz specyfikę oprogramowania komunikacyjnego bardzo często klient nie dysponuje odpowiednimi kwalifikacjami do wykonania wymagań. W takim przypadku powinien zlecić ich wykonanie, a nie pominąć etap w cyklu wytwarzania oprogramowania (co w praktyce ma miejsce nadzwyczaj często). Pominięcie tego elementu cyklu jest najczęstszym źródłem przedłużenia cyklu i wzrostu kosztów. Stosunkowo często wymagania powstają jako suma (złożenie) funkcjonalności oferowanych przez innych producentów, bez wnikania w sposoby uzyskania tej funkcjonalności oraz możliwości ich realizacji. Prowadzi to do podobnych efektów jak brak wymagań. Iok_1 6

Kolejnym elementem cyklu wytwarzania oprogramowania komunikacyjnego jest projekt oprogramowania. Projekty są opracowywane by: zmniejszyć koszty realizacji zadań projektantów poprzez: zmniejszenie liczby błędów i wysokich kosztów ich usuwania w chwili, gdy ujawnią się one w gotowym wyrobie (patrz rozkład Pareto - poprawienie 20% błędów pochłania 80% czasu), zapewnienie właściwej struktury zatrudnienia polegającej na wydzieleniu przynajmniej dwóch grup pracowników inżynieryjnych: 1. nielicznej grupy doświadczonych, lecz kosztownych projektantów i 2. liczniejszej grupy tańszych programistów. urealnienie ocen kosztów wdrożenia projektu. efektywnie i bezpiecznie powiększyć zakresu możliwości funkcjonalnych wyrobów. zrównoleglić z procesem programowania działania innych grup np. opracowujących testy, dokumentację, sprzedaż lub szkolenia. Iok_1 7

1.3. Środowisko oprogramowania komunikacyjnego Środowisko oprogramowania komunikacyjnego to różne formy środowiska współbieżnego. Krótkie przypomnienie podstawowych pojęć związanych z funkcjonowaniem w tym środowisku można znaleźć do dodatku A. W dodatku B można znaleźć krótkie przypomnienie zasad komunikacji oprogramowania z otoczeniem systemu komputerowego. W dodatku tym są też krótko omówione techniki pomiaru czasu na potrzeby procesów komunikacyjnych. Zazwyczaj oprogramowanie komunikacyjne jest zbiorem asynchronicznych procesów statycznych wymieniających między sobą komunikaty. Obsługę przerwań z otoczenia też można potraktować jako proces statyczny aktywowany przerwaniami. W środowisku oprogramowania komunikacyjnego szczególną rolę odgrywa pomiar czasu. Każdy proces powinien mieć możliwość odmierzania przynajmniej jedengo przedziału czasu i jego upłynięcie powinno być traktowane jak pojawienie się komunikatu synchronizacyjnego. Dodatki C i D zawierają krótkie opisy przykładowych środowisk. W dodatku C przedstawiony jest prosty scheduler pozwalający zarządzać zdarzeniami wystarczający do realizacji nawet dość złożonego oprogramowania. W dodatku D przedstawiono język programowania CHILL przeznaczony do stosowania przy opracowywaniu oprogramowania komunikacyjnego. Iok_1 8