background image

 

 

Inżynieria 
oprogramowania

Część1:    Wstęp

Ian Sommerville 

Software Engineering, 9 wyd.

background image

 

 

Sylabus

Literatura podstawowa: 

1.

Ian Sommerville. Software Engineering, 10 wyd. Pearsons, 2015. 
(Polskie tłumaczenie: Inżynieria oprogramowania, WNT 2003, 6 wyd.)

Literatura uzupełniająca:

1.

K. Sacha. Inżynieria oprogramowania. PWN, 2010. 

2.

 B. Bereza-Jarocinski, B. Szomański. Inżynieria oprogramowania. Jak 
zapewnić jakość tworzonym aplikacjom. Helion, 2009.

3.

  M. Flaciński. Zarządzanie projektami informatycznymi, PWN, 2006. 

4.

S. Szejko (red.). Metody wytwarzania oprogramowania. Mikom, 2002.

Egzamin: odpowiedź na kilka pytań. Zaliczenie: około 50%

Ćwiczenia: Projekt niedużego zadania.

background image

 

 

Treść wykładów

Specyfikacja, czyli określenie i ustalenie wymagań, które 

musi spełniać oprogramowanie. 

 Projektowanie, czyli ustalenie ogólnej architektury systemu 

oraz wymagań dla poszczególnych jego składowych. 

Implementacja, czyli realizacja ustalonej architektury 

poprzez implementację składowych (modułów) i połączeń 

między nimi.

Zatwierdzanie, czyli upewnienie się, że wytworzone 

oprogramowanie odpowiada swojej specyfikacji i spełnia 

oczekiwania klientów. 

Pielęgnacja, czyli modyfikowanie systemu oraz usuwanie 

błędów zaobserwowanych podczas jego eksploatacji.

Zarządzaniem wytwórstwem oprogramowania.

Systemy krytyczne, czyli systemy, których awaria może 

spowodować fatalne konsekwencje.

background image

 

 

    Zawartość wykładu

Profesjonalne wytwórstwo 
oprogramowania

Odpowiedzialność etyczna i zawodowa 
w inżynierii oprogramowania

Trzy przykłady systemów 
informatycznych

background image

 

 

Historia

Termin „inżynieria oprogramowania” (software 
engineering) powstał w 1968 roku na konferencji 
zwołanej, aby przedyskutować zjawisko zwane wówczas 
„kryzysem oprogramowania”.

Kryzys oprogramowania był następstwem wprowadzenia 
komputerów trzeciej generacji, co spowodowało, że wiele 
dotychczas nierealnych zastosowań stało się realne. 

W konsekwencji zaczęto budować systemy o kilka rzędów 
wielkości  większe niż systemy dotychczasowe. Konieczne 
stało się opracowanie nowych technik i metod panowania 
nad złożonością nieodłącznie towarzyszącą wielkim 
systemom.

background image

 

 

Inżynieria 
oprogramowania

Gospodarki wszystkich rozwiniętych państw są 
zależne od oprogramowania

Coraz więcej różnorakiego sprzętu jest 
kontrolowane przez oprogramowanie.

Inżynieria oprogramowania zajmuje się teoriami, 
metodami i narzędziami związanymi z 
profesjonalnym wytwórstwem oprogramowania.

Wydatki na oprogramowanie stanowią znaczący 
ułamek produktu krajowego brutto wszystkich 
rozwiniętych państw.

background image

 

 

Koszty oprogramowania

Oprogramowanie jest droższe od 
sprzętu.

Pielęgnacja oprogramowania jest 
droższa niż jego wytworzenie. W 
przypadku systemów długo używanych 
może być kilkakrotnie droższa.

Jednym z celów inżynierii 
oprogramowania jest redukcja koszów 
wytwarzania oprogramowania.

background image

 

 

Rodzaje oprogramowania

Produkty powszechne (otwarte)

Produkty sprzedawane na wolnym rynku 

wszystkim klientom, którzy chcą jej kupić. 

(Systemy operacyjne, edytory tekstu, 

systemy baz danych.)

Produkty zamawiane (zamknięte, 

dostosowane)

Produkty zamawiane przez konkretnego 

klienta. (Systemy wojskowe, systemy 

wspomagające zarządzaniem konkretnego 

przedsiębiorstwa.)

background image

 

 

Specyfikowanie 
oprogramowania

Produkty powszechne

Specyfikację definiuje firma 
wytwarzająca oprogramowanie.

Produkty zamawiane

Specyfikację definiuje firma 
zamawiająca oprogramowanie.

background image

 

 

Często zadawane pytania

Co to jest oprogramowanie?

Programy komputerowe oraz związana z 
nimi dokumentacja. Produkty programowe 
mogą być tworzone dla konkretnego klienta 
lub przeznaczone do sprzedaży na ogólnie 
dostępnym rynku.

Co to jest inżynieria oprogramowania?

Dziedzina inżynierii, która obejmuje 
wszystkie aspekty tworzenia 
oprogramowania.

background image

 

 

Często zadawane pytania

Jaka jest różnica między inżynierią 
oprogramowania a informatyką?

Informatyka obejmuje teorię i podstawy, natomiast 
inżynieria oprogramowania obejmuje wszelkie 
praktyczne zagadnienia dotyczące budowy i 
dostarczania produktów programistycznych.

Jaka jest różnica między inżynierią 
oprogramowania a inżynierią systemów?

Inżynieria systemów obejmuje inżynierię 
oprogramowania. Ponadto zajmuje się inżynierią 
sprzętu i inżynierią procesów.

background image

 

 

Często zadawane pytania

Co to jest proces tworzenia 
oprogramowania?

Zbiór czynności, których celem jest utworzenia 
oraz pielęgnacja (ewolucja) oprogramowania. 
Czynności wspólne dla wszystkich procesów:

Specyfikacja oprogramowania

Tworzenie oprogramowania

Zatwierdzanie oprogramowania

Pielęgnacja oprogramowania

Różne procesy mogą różnie porządkować 
powyższe czynności

background image

 

 

Często zadawane pytania

Co to jest model procesu tworzenia 
oprogramowania?

Uproszczona prezentacja procesu 
wytwarzania oprogramowania. Istnieje kilka 
ogólnych modeli tworzenia 
oprogramowania:

Model kaskadowy 

Model przyrostowy

Model formalnych przekształceń (nieużywany)

Model z użyciem wielokrotnym

background image

 

 

Często zadawane pytania

Jakie są koszty tworzenia oprogramowania?

W przybliżeniu koszty tworzenia to 60% 

ogólnych kosztów, zatwierdzanie to 40% 

ogólnych  kosztów. 

W systemach powszechnych koszty tworzenia 

są mniejsze, ponieważ mniej pracy wymaga 

specyfikacja oprogramowania.

W przypadku systemów, które pracują przez 

długi czas, należy uwzględnić proces 

pielęgnacji, który będzie kilkakrotnie droższy 

niż wytworzenie i zatwierdzenie.

background image

 

 

Często zadawane pytania

Jakie są najważniejsze wyzwania dla 
inżynierów oprogramowania?

Radzenie sobie z różnorodnością oraz 
żądaniem coraz krótszych terminów 
dostarczania produktu. 

Co to są metody CASE (Computer-Aided 
Software Engineering)?

Oprogramowanie wspomagające tworzenie 
oprogramowania.

background image

 

 

Często zadawane pytania

Właściwości 
produktu

Opis

Zdatność do 
pielęgnacji

Łatwość modyfikacji oprogramowania zgodnie ze zmieniającymi się 
potrzebami klientów

Niezawodnoś
ć

Niezawodne oprogramowanie nie powinno powodować ani 
fizycznych, ani ekonomicznych katastrof jeśli ulegnie awarii

Efektywność

Obejmuje szybkość reakcji, czas działania, użycie pamięci itp.

Użyteczność

Obejmuje łatwośc użycia  (odpowiedni interfejs) i  adekwatną 
dokumentację

Jakie właściwości ma dobre oprogramowanie?

background image

 

 

Często zadawane pytania

Jaki wpływ na inżynierię oprogramowania 
wywarł internet?

Internet spowodował ogromny rozwój 
systemów rozproszonych, które stanowią duży 
procent współczesnego oprogramowania.

Czy istnieją najlepsze techniki inżynierii 
oprogramowania?

Nie, różne systemy wymagają różnych technik. 
(Przykladowo gry i systemy krytyczne.)

background image

 

 

Ogólne kwestie związane z 
oprogramowaniem

Zróżnicowanie

Systemy rozproszone muszą sobie radzić z 

różnym sprzętem i różnymi systemami 

operacyjnymi.

Gwałtowny rozwój

Szybkie powstawanie  nowych technologii 

wymusza gwałtowny rozwój oprogramowania.

Bezpieczeństwo i zaufanie

Ponieważ oprogramowanie jest obecne we 

wszystkich aspektach naszego życia, kluczowe 

jest abyśmy mieli do niego zaufanie.

background image

 

 

Różnorodność 
oprogramowania

Różnorodność systemów informatycznych 
jest ogromna. Dlatego nie istnieje jedna 
technika, która byłaby właściwa dla 
wszystkich zastosowań.

Technika użyta do wytworzenia 
konkretnego produktu programistycznego 
zależy od rodzaju produktu, klienta, dla 
którego produkt jest wytwarzany, oraz od 
doświadczenia zespołu wytwórczego.

background image

 

 

Rodzaje aplikacji

Aplikacje niezależne (autonomiczne)

Systemy przeznaczone na pojedynczy 
komputer, który nie wymaga podłączenia do 
sieci (edytor tekstu, arkusz kalkulacyjny).

Aplikacje interakcyjne przetwarzające 
transakcje

Systemy wykonujące transakcje  na 
komputerze  zewnętrznym, z którym 
użytkownik łączy się przez sieć (bankowość 
internetowa).

background image

 

 

Rodzaje aplikacji

Systemy wbudowane

Oprogramowanie wspomagające obsługiwany 
przez nie sprzęt (system sterujący pompą 
insulinową, system sterujący bankomatem).

Przetwarzanie wsadowe

Systemy przetwarzające duże porcje danych i 
produkujące odpowiedni dokument (lista 
płac). 

background image

 

 

Rodzaje aplikacji

Rozrywka

Systemy, których celem jest dostarczenie 
rozrywki (gry, pasjanse).

Modelowanie i symulacja

Systemy o charakterze naukowym 
modelujące zjawiska fizyczne (system 
meteorologiczny). Na ogół są to systemy 
obliczeniowo trudne, wymagające często 
równoległej architektury sprzętowej.

background image

 

 

Rodzaje aplikacji

Systemy zbierające dane

Systemy wykorzystujące sensory w celu 
gromadzenia i przetwarzania danych 
(system wspomagający zbieranie zdjęć 
satelitarnych).

Systemy systemów

Ogromne systemy składające się z kilku 
niezależnych  systemów informatycznych 
(system wspomagający kierowcę 
samochodu).

background image

 

 

Fundamenty inżynierii 
oprogramowania

Pewne fundamentalne zasady stosują się do 
wszystkich typów aplikacji bez względu na użyte 
techniki wytwórstwa.

System informatyczny powinien być zbudowany w 
oparciu o dobrze określony i zrozumiały proces 
wytwórczy.

Niezawodność i wydajność są ważne w przypadku 
każdego systemu.

Jakość oprogramowania zależy w dużym stopniu od 
jakości jego specyfikacji.

O ile możliwe należy używać komponentów 
wielokrotnego użycia, zamiast pisać je od początku.

background image

 

 

Inżynieria 
oprogramowania a 
internet

Rozwój internetu umożliwił rozwój 

systemów rozproszonych.

Internet umożliwia model przetwarzania 

danych w chmurze obliczeniowej. Usługa 

chmury obliczeniowej eliminuje konieczność 

instalowania oprogramowania i jego 

administracją. Użytkownik nie kupuje 

oprogramowania, ale płaci za jego 

używanie.

Systemy wykorzystujące internet i 

pozostałe systemy  tworzone są w oparciu o 

  podobne zasady. 

background image

 

 

Inżynieria 
oprogramowania a 
internet

Dominującym modelem tworzenia 
oprogramowania wykorzystującego 
internet jest użycie wielokrotne.

Oprogramowanie wykorzystujące 
internet  jest na ogół tworzone i 
dostarczane przyrostowo

background image

 

 

Podsumowanie

Inżynieria oprogramowania zajmuje się 
wszystkimi aspektami jego wytwarzania.

Podstawowymi atrybutami dobrego 
oprogramowania są zdatność do pielęgnacji, 
niezawodność, efektywność i użyteczność.

Wszystkie procesy tworzenia oprogramowania 
składają się z czterech podstawowych 
czynności: specyfikacji, tworzenia, 
zatwierdzania oraz pielęgnacji.

background image

 

 

Podsumowanie

Istnieje wiele typów oprogramowania i 
wytwórstwo każdego z nich wymaga 
użycia odpowiednich narzędzi.

Pomimo, że nieistnieje jedna 
uniwersalna metodologia tworzenia 
oprogramowania, pewne fundamentalne 
zasady są wspólne dla wszystkich 
metodologii.

background image

 

 

Inżynieria 
oprogramowania

Wykład 1/2    Wstęp

Ian Sommerville 

Software Engineering, 9 wyd.

background image

 

 

Odpowiedzialność etyczna 
i zawodowa

Twórcy oprogramowania ponoszą większą 
odpowiedzialność niż tylko tę wynikającą z 
wykorzystania ich technicznych 
umiejetności.

Praca inżyniera oprogramowania odbywa się 
zawsze w ramach porządku społecznego i 
prawnego. Istnieją jednak obszary, gdzie 
ocena postępowania nie wynika z prawa, ale 
z subtelnego wyczucia profesjonalnej 
odpowiedzialności.

background image

 

 

Obszary odpowiedzialności 
zawodowej

Poufność

Twórcy oprogramowania powinni zawsze 
dochowywać tajemnic powierzonych przez swych 
pracodawców i klientów, niezależnie od tego , 
czy podpisano formalną umowę o ochronie 
tajemnicy.

Kompetencja

Twórcy oprogramowania nie powinni zawyżać 
poziomu swoich kompetencji. W szczególności 
nie powinni przyjmować prac, które przekraczają 
ich możliwości.

background image

 

 

Obszary odpowiedzialności 
zawodowej

Własność intelektualna

Twórcy oprogramowania powinni znać 
miejscowe prawo regulujące korzystanie z 
własności intelektualnej. Powinni szczególnie 
dbać o poszanowanie intelektualnej własności 
swoich pracodawców i klientów.

Niewłaściwe użycie komputera

Twórcy oprogramowania nie powinni używać 
swoich technicznych umiejętności do 
niewłaściwego używania cudzego komputera.

background image

 

 

Kodeks etyczny ACM/IEEE

Organizacje ACM (Association of 
Computing Machinery) i IEEE (Institute 
of Electrical and Electronic Engineers) 
opublikowały wspólny kodeks etyczny 
związany z wytwórstwem 
oprogramowania.

Kodeks ten obowiązuje wszystkich 
członków tych organizacji.

background image

 

 

Uzasadnienie kodeksu

Komputery odgrywają zasadniczą i wciąż coraz ważniejszą rolę w usługach, 
przemyśle, rządzie, medycynie, edukacji, rozrywce i społeczeństwie jako 
całości. Inżynierowie oprogramowania przez swoją pracę albo jako 
nauczyciele przyczyniają się analizowania, projektowania, budowy, 
certyfikowania, pielęgnowania i testowania systemów komputerowych.

Z powodu swej roli w tworzeniu systemów komputerowych  inżynierowie  
oprogramowania mają wiele okazji do czynienia dobra albo powodowania 
szkód, do umożliwienia innym czynienia dobra lub powodowania szkód lub 
do wpływania na innych, by czynili dobro lub powodowali szkody. Aby jak 
najskuteczniej zapewnić, że ich wysiłek będzie służył dobru, inżynierowie 
oprogramowania muszą przyjąć na siebie zobowiązanie utwierdzenia 
inżynierii oprogramowania jako zawodu pożytecznego i szanowanego. 
Zgodnie z tym zobowiązaniem inżynierowie oprogramowania będą 
stosować się do następującego Kodeksu Etyki i Zawodowej Praktyki.

Kodeks zawiera osiem zasad dotyczących zachowania i decyzji 
profesjonalnych inżynierów oprogramowania.

background image

 

 

Kodeks etyczny ACM/IEEE

Kodeks etyki i zawodowej praktyki inżynierii oprogramowania

      

Połączona grupa ekspertów ACM/IEEE o etyce i zawodowej praktyce inżynierii 

oprogramowania

      Preambuła

       Wersja skrócona kodeksu streszcza jego cele na wysokim poziomie abstrakcji. 

Postanowienia zawarte w wersji pełnej zawierają przykłady i szczegółowe 

informacje o tym, jak powinniśmy postępować będąc prawdziwie profesjonalnymi 

inżynierami oprogramowania. Bez określenia celów szczegóły mogą wydawać się 

drobiazgowe i nudne. Bez szczegółów cele będą brzmiały górnolotnie, ale pusto. 

Cele i szczegóły razem wzięte stanowią spójny kodeks.

      Inżynierowie oprogramowania muszą przyjąć na siebie zobowiązanie 

utwierdzenia analizy, specyfikacji, projektowania, budowy, testowania i 

pielęgnacji oprogramowania jako zawodu pożytecznego i szanowanego. Zgodnie 

z tym zobowiązaniem wobec zdrowia, bezpieczeństwa i dobrobytu 

społeczeństwa, inżynierowie oprogramowania powinni stosować się do  

następujących Ośmiu Zasad:

background image

 

 

Zasady etyczne

     

1. SPOŁECZEŃSTWO – Inżynierowie oprogramowania powinni postępować dla dobra 

społeczeństwa.

      2. KLIENT I PRACODAWCA – Inżynierowie  oprogramowania powinni postępować zgodnie 

z interesami swojego klienta lub pracodawcy zgodnymi z dobrem społeczeństwa.

      3. PRODUKT – Inżynierowie oprogramowania powinni zapewnić, że ich produkty i 

związane z nimi zmiany spełniają najwyższe standardy profesjonalizmu.

      4. ROZSĄDEK – Inżynierowie oprogramowania powinni zachowywać rozsądek i 

niezależność swoich sądów.

      5. ZARZĄDZANIE – Zarządzający inżynierami oprogramowania i zwierzchnicy powinni 

przyjąć i promować etykę w zarządzaniu tworzeniem i pielęgnacją oprogramowania.

      6. PROFESJA – Inżynierowie oprogramowania powinni podnosić wiarygodność i reputację 

zawodu zgodnie z dobrem społeczeństwa.

      7. KOLEŻEŃSTWO – Inżynierowie oprogramowania powinni być uczciwi i chętni do 

pomocy swoim kolegom.

      8. JA SAM – Inżynierowie oprogramowania powinni brać udział w długofalowej nauce 

praktyki swojego zawodu. Powinni także promować etyczne działania w praktyce swej 
profesji.

background image

 

 

Etyczne dylematy

Jak powinieneś postępować, jeśli 
zasadniczo nie zgadzasz się z 
przełożonym w swoim miejscu pracy?

Jak powinieneś postępować jeśli twój 
zwierzchnik postępuje nieetycznie?

Czy powinieneś brać udział w tworzeniu 
oprogramowania dla systemów 
wojskowych i nuklearnych?

background image

 

 

Przykłady systemów 
informatycznych

System wbudowany wspomagający 
pracę pompy insulinowej.

System wspomagający leczenie 
pacjentów z problemami psychicznymi.

System wspomagający pracę stacji 
pogodowych umieszczonych  w 
odległych, słabo dostępnych miejscach

background image

 

 

System wspomagający 
pracę pompy insulinowej

Zbiera dane dotyczące ilości cukru we krwi i oblicza 
ilość insuliny, która powinna być dostarczona.

Ilość insuliny koniecznej do wstrzyknięcia nie zależy od 
poziomu cukru we krwi (!), ale od tego o ile poziom 
cukru się podnosi.

Po obliczeniu odpowiedniej dawki, system wysyła sygnał 
do pompy, powodujący wstrzyknięcie insuliny.

System należy do rodziny systemów krytycznych: za 
duża dawka insuliny (za mało cukru) może spowodować 
omdlenie, a nawet śmierć; za mała dawka (za dużo 
cukru) może prowadzić do trwałego uszkodzenia oczu 
lub nerek.

background image

 

 

Architektura pompy 
insulinowej

Sterownik

Wyświetlacz 1

Wyświetlacz 2

Alarm

Miernik

Zegar

Pompa

Igła

Zbiornik insuliny

Zasilanie

background image

 

 

Model przepływu danych w 
pompie insulinowej

Detektor cukru

we krwi

Analiza cukru

we krwi

Wyznaczenie 
ilości insuliny

Sterownik pompy

Krew

Parametry

krwi

Poziom cukru

Potrzebna 

ilość insuliny

Polecenia

dla pompy

Pompa

Insulina

Dziennik

dawek

background image

 

 

Podstawowe wymagania dla 
pompy insulinowej

Dostępność

System musi być gotowy do wstrzyknięcia 
insuliny, kiedy jest to potrzebne.

Niezawodność

System powinien dostarczać właściwą ilość 
insuliny.

Bezpieczeństwo

Awaria systemu może spowodować 
przedawkowanie insuliny. Ten rodzaj awarii nie 
może się zdarzć.

background image

 

 

System wspomagający leczenie 
pacjentów z problemami 
psychicznymi (system PPP)

System PPP jest bazą danych zawierającą 
informacje o pacjentach z problemami 
psychicznymi i sposobach ich leczenia.

Pacjenci z problemami psychicznymi na ogół 
nie wymagają leczenia szpitalnego, ale w 
regularnych odstępach czasu powinni 
przychodzić na wizyty lekarskie.

Wizyty te nie muszą mieć miejsca w 
szpitalach; dla wygody pacjentów mogą 
odbywać się w lokalnych klinikach.

background image

 

 

System PPP

System PPP został zaprojektowany do  
użycia w sieci lokalnych klinik.

System wykorzystuje centralną bazę 
danych, ale w przypadku kiedy klinika 
nie posiada bezpiecznego połączenia 
może być użyty lokalnie: komputery 
kliniki zawierają lokalną bazę danych, 
zawierającą informacje o leczących się 
w tej klinice pacjentach.

background image

 

 

Cele systemu PPP

Podstawowym celem systemu PPP jest 
wspomaganie leczenia pacjentów.

Dodatkowo, system powinien gromadzić 
różne informacje, które mogą być 
przydatne dla osób zarządzających 
siecią klinik (koszty kuracji, stosowane 
leki, skuteczność kuracji).

background image

 

 

Organizacja systemu PPP

 Lokalny PPP

Lokalny PPP

Lokalny PPP

Serwer PPP

Baza danych pacjentów

background image

 

 

Podstawowe wymagania dla 
systemu PPP

Leczenie indywidualnych klientów

Lekarze mogą wprowadzać dane o nowych pacjentach 
oraz edytować istniejące dane. System pozwala 
generować krótkie raporty o pacjentach, które mogą być 
przydatne w wypadku zmiany lekarza.

Monitorowanie pacjentów

System monitoruje poszczególnych pacjentów i generuje 
komunikaty w przypadku napotkanych problemów.

Generowanie raportów

System generuje co miesięczne raporty zawierające 
informacje o liczbie pacjentów w danej klinice, o liczbie 
nowych pacjentów oraz o liczbie pacjentów, którzy 
zakończyli leczenie, zapisane leki, ich koszt, itp. 

background image

 

 

Dodatkowe wymagania dla 
systemu PPP

Poufność

System PPP musi zagwarantować poufność 
bazy danych o pacjentach.

Bezpieczeństwo

Osoby chore na pewne choroby psychiczne 
są niebezpieczne dla siebie (samobójstwo)  
lub dla innych. System powinien informować 
o takich osobach.

background image

 

 

System wspomagający pracę 
stacji pogodowych (system 
SP)

Postanowiono umieścić kilkaset stacji pogodowych 
w trudno dostępnych miejscach.

Każda stacja pogodowa zbiera dane dotyczące 
takich parametrów jak temperatura powietrza, 
ciśnienie, wilgotność, kierunek i szybkość wiatru, 
ilość opadów itp.

w celu mierzenia powyższych parametrów każda stacja 
posiada odpowiednie przyrządy. Każdy z tych przyrządów 
jest sterowany odpowiednim oprogramowaniem, które 
poza mierzeniem parametrów zarządza  bazą danych 
zawierającą informacje pogodowe.

background image

 

 

Organizacja systemu SP

Podsystem wspomagający

 pracę stacji pogodowej

Podsystem zarządzający

danymi i archiwizujący 

Podsystem monitorujący

stacje pogodowe

Podsystem wspomagający pracę stacji pogodowej: odpowiada za zbieranie danych, wstępne ich przetwarzanie i
transmisję do podsystemu zarządzającego danymi.

Podsystem zarządzający danymi i archiwizujący: zbiera dane ze wszystkich stacji, przetwarza je, 
analizuje, a następnie archiwizuje w takiej formie, aby mogły być użyte przez inne systemy, np. 
system prognozujący pogodę.

System monitorujący stacje pogodowe: komunikuje się przez satelitę ze wszystkimi stacjami i 
monitoruje ich stan. W przypadku awarii jest w stanie zaktualizować oprogramowanie stacji. 

background image

 

 

Podsumowanie

Twórcy oprogramowania ponoszą większą 
odpowiedzialność niż tylko tę wynikającą z 
wykorzystania ich technicznych umiejętności.

Praca inżyniera oprogramowania odbywa się 
zawsze w ramach porządku społecznego i 
prawnego. 

Pokazane przykłady systemów 
informatycznych wykazują ich dużą 
różnorodność.


Document Outline