background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 1

Inżynieria systemów 

komputerowych

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 2

Plan wykładu

Właściwości systemów 

Systemy i ich środowiska 

Proces inżynierii systemów 

Podsumowanie

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 3

Inżynieria systemów 
komputerowych

Inżynieria systemów to 
czynność specyfikowania, 
projektowania, 
implementowania, 
weryfikowania, wdrażania i 
pielęgnacji
 systemów 
postrzegana jako całość.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 4

Co to jest system?

System  jest  celową  kolekcją  powiązanych  ze 
sobą  komponentów
,  które  współpracują,  aby 
osiągnąć pewien cel. 

Bardzo  prosty  system,  na  przykład  pióro,  jest 
zrobiony  z  trzech  lub  czterech  komponentów 
sprzętowych.

System  kontroli  lotów  składa  się  z  tysięcy 
komponentów  programowych  i  sprzętowych 
oraz  użytkowników,  którzy  podejmują  decyzje 
na podstawie informacji otrzymanej z systemu.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 5

Oprogramowanie, a inżynieria 
systemowa

Wzrasta rola oprogramowania np. w 
powszechnie stosowanych urządzeniach 
elektronicznych.

Ogólnie rzecz biorąc problemy 
inżynierii systemów są podobne do 
problemów inżynierii 
oprogramowania.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 6

                   Właściwości 
systemów

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 7

Właściwości systemów

Systemy charakteryzują się tym, że 

właściwości i zachowania ich 

komponentów są nierozerwalnie ze sobą 

splecione.

Poprawne działanie każdego z komponentów 

systemu zależy od funkcjonowania kilku 

innych komponentów.

Złożone zależności między komponentami 

systemu oznaczają, że system jest czymś 

więcej niż tylko sumą swoich części. 

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 8

Przykłady właściwości 
systemów

Niezawodność systemu 

zależy  od  niezawodności  komponentów  systemu  i 
związków między nimi. 

Użyteczność systemu 

jest  bardzo  złożoną  właściwością,  która  nie  zależy 
jedynie  od  oprogramowania  i  sprzętu,  ale  także  od 
operatorów  systemu  i  środowiska,  w  którym  się  go 
używa .

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 9

Typy pojawiających się 
właściwości:

Właściwości niefunkcjonalne, 

takie 

jak 

niezawodność, 

efektywność, 

bezpieczeństwo  i  zabezpieczenia

  są  związane  z 

zachowaniem  systemu  w  jego  środowisku  pracy.  Często 

są  zasadnicze  dla  systemów  komputerowych,  ponieważ 

niepowodzenie  w  osiągnięciu  pewnego  zdefiniowanego 

minimalnego  ich  poziomu  może  sprawić,  że 

system 

będzie bezużyteczny

.

Właściwości funkcjonalne,

które  są  widoczne,  gdy  wszystkie  części  systemu 

współpracują,  aby  osiągnąć  pewien  cel.  Rower  ma  na 

przykład  cechę  funkcjonalną  bycia  środkiem  transportu, 

gdy scali się go z jego części.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 10

Niezawodność jest złożonym pojęciem, które zawsze 
należy badać na poziomie systemu, a nie jego 
poszczególnych komponentów.

Komponenty w systemie są od siebie zależne, a 
zatem awarie w jednym z nich mogą przenosić się na 
cały system i mieć wpływ na operacje innych systemów.

Często projektanci systemu nie są w stanie 
przewidzieć, jak konsekwencje awarii
 przenoszą się 
na cały system

Nie mogą zatem podać wiarygodnych oszacowań 
niezawodności systemu.

Niezawodność systemu

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 11

Niezawodność sprzętu 

Jakie  jest  prawdopodobieństwo  awarii  komponentu 

sprzętowego i jak długi jest czas jego naprawy?

Niezawodność oprogramowania 

Jakie  jest  prawdopodobieństwo  wytworzenia  przez 

komponent  programowy  błędnych  danych  wyjściowych? 

Awarie  oprogramowania  istotnie  różnią  się  od  awarii 

sprzętu, ponieważ oprogramowanie nie zużywa się.

Niezawodność operatora

Jakie jest prawdopodobieństwo błędu operatora systemu?

Czynniki wpływające na niezawodność 
całego systemu

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 12

              Systemy i ich 
środowiska

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 13

Systemy i ich środowiska

Systemy nie są niezależnymi bytami, ale 
istnieją w pewnym środowisku.

Środowisko to ma wpływ na 
funkcjonowanie i efektywność systemu.

Czasem środowisko można uważać za 
system sam w sobie. 

W ogólniejszym wypadku składa się ono z 
pewnej liczby oddziałujących na siebie 
systemów.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 14

Hierarchia systemów

    System                  System

               

System zsypów                            

zabezpieczeń

            

oświetlenia  

             

na śmieci

 

    System                System             
System wodno-

ogrzewania

     

energetyczny   

      kanalizacyjny        

Miasto

Ulica

Budynek

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 15

      Proces inżynierii 
systemów

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 16

Proces inżynierii systemów

Interdyscyplinarna zawiłość

Wiele różnych dziedzin inżynierii wchodzi w skład 
inżynierii systemów.

Ograniczona możliwość modyfikacji w 
trakcie tworzenia systemu.

Jedną z przyczyn znaczenia oprogramowania w 
systemach jest jego elastyczność.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 17

Proces inżynierii systemów

Definicja

 wymagań

Projektowanie 

systemu

Tworzenie 

podsystemów

Integracja 

systemu

Instalacja

 systemu

Ewolucja

systemu

Likwidacja 

systemu

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 18

Interdyscyplinarna zawiłość inżynierii 
systemów

Inżynieria

 oprogramowania

Inżynieria

 elektroniczna

Inżynieria

 mechaniczna

Inżynieria

 strukturalna

Inżynieria 

systemu 

kontroli lotów

Projektowanie

 

interfejsu 

użytkownika

Inżynieria

 lądowa

Inżynieria

 elektryczna

Architektur
a

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 19

Definicja wymagań 
systemowych

Trzy rodzaje wymagań

Abstrakcyjne wymagania funkcjonalne:

 podstawowe 

funkcje, które system ma wypełniać są definiowane na 
wysokim poziomie abstrakcji.

Właściwości systemu:

 są to niefunkcjonalne, pojawiające 

się właściwości systemu.

Cechy, których system ma nie mieć:

 czasem 

wyspecyfikowanie tego, czego systemowi nie wolno robić, 
jest tak samo ważne, jak określenie tego, co system powinien 
robić.

Ważną częścią fazy definicji wymagań jest ustalenie 
zbioru ogólnych celów
, które system ma osiągnąć.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 20

Cele systemu

Funkcjonalność systemu

Dostarczyć antywłamaniowy i przeciwpożarowy 
system alarmowy biurowca, który na zewnątrz i we 
wnętrzu wyemituje ostrzeżenie o pożarze lub 
włamaniu.

Cele organizacyjne

Zapewnić, aby normalna praca w biurowcu nie była 
poważnie zakłócona przez pożary i włamania.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 21

Proces projektowania 
systemu

Podziel 

wymagania

Zdefiniuj interfejsy 

podsystemów

Przypisz wymagania 

podsystemom

Zidentyfik
uj 

podsystem

y

Określ funkcjonalność

podsystemów

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 22

Trudności przy 
projektowaniu 

Objęcie wymaganiami całego zakresu 
rozwiązań
 z rożnymi kombinacjami 
sprzętu, oprogramowania i pracy ludzkiej.

Oczekiwanie, ze system będzie od razu 
funkcjonował bez zarzutu.

Czynniki natury organizacyjnej i 
politycznej
 mają istotny wpływ na wybór 
rozwiązania.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 23

Tworzenie podsystemów

W czasie tworzenia podsystemów 
implementuje się podsystemy 
zidentyfikowane
 w trakcie projektowania.

Proces tworzenia 

rzadko będzie polegał na 

budowie wszystkich podsystemów od zera

Na ogół część podsystemów będzie jednak 
komercyjnymi systemami z półki (zakupionymi 
w celu integracji z naszym systemem).

Różne podsystemy są zwykle tworzone 
równolegle
.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 24

Z powodów technicznych i menedżerskich najlepiej 

jest jednak integrować przyrostowo, tzn. w 

jednym kroku jest integrowany jeden system.

Zwykle nie da się ustalić harmonogramów 

budowania wszystkich podsystemów tak, aby 

kończyły się w tym samym czasie.

Integracja przyrostowa zmniejsza koszty 

wykrywania błędów.

Awarie podsystemów , które są konsekwencjami 

niewłaściwych założeń o innych podsystemach, są 

zwykle wykrywane w trakcie integracji systemu.

Integracja systemu

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 25

Środowisko, w którym system ma być 

zainstalowany, jest inne niż to, które 

zakładali twórcy systemu.

Potencjalni użytkownicy systemu mogą być 

wrogami jego wprowadzenia.

Nowy system ma koegzystować z 

istniejącym systemem do czasu przekonania 

firmy, że nowy system pracuje poprawnie.

Mogą wystąpić fizyczne problemy z 

instalacją.

Problemy instalacji

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 26

Uruchomienie systemu może wymagać 
organizacji sesji szkoleniowych dla 
operatorów
 i zmiany normalnego toku pracy.

Nie wykryte problemy mogą pojawić się w tej 
fazie
, ponieważ specyfikacja systemu mogła 
zawierać błędy i opuszczenia.

Współpraca nowego systemu z istniejącymi już 
systemami

Niekompatybilność

Zwiększenie liczby błędów operatora, poprzez mylenie 
poleceń dostępnych w różnych interfejsach.

Działanie systemu

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 27

Ewolucja systemu

Czas życia wielkich złożonych systemów jest bardzo 
długi. W trakcie swego działania systemy te muszą 
ewoluować
.

Ewolucja oprogramowania jest ze swej natury 
kosztowna

Proponowane zmiany muszą być bardzo starannie 
rozważone z punktu widzenia przedsiębiorstwa i technologii.

Podsystemy nigdy nie są całkowicie niezależne.

Przyczyny pierwotnych decyzji projektowych zwykle nie są 
zapisywane.

W miarę starzenia się systemu jego struktura staje się coraz 
bardziej skomplikowana przez zmiany.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 28

Zaopatrywanie w system

Klientami kupującymi złożone systemy 
komputerowe są zwykle duże 
przedsiębiorstwa
, np. instytucje wojskowe, 
rządowe i służby ratownicze.

System może być kupiony jako całość, a także 
jako zestaw oddzielnych części
, które potem 
się integruje, specyficznie projektuje i wytwarza.

W wypadku wielkich systemów podjęcie decyzji, 
którą z tych opcji wybrać, może trwać 
miesiące, a nawet lata
.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 29

Proces zaopatrywania w 
system

 

Zaadaptuj 
wymagania

Wybierz

 system

Wyślij zapytanie ofertowe

Wybierz 
ofertę

Negocjuj kontrakt

Podpisz 

kontrakt

na 

budowanie

Wybierz 
dostawcę

Ogłoś przetarg

Zbadaj rynek w 

poszukiwaniu 

istniejących systemów

 Systemy z 
półki 
 są dostępne

Wymagany jest 
system 
na zamówienie

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 30

Problemy zaopatrywania

Komponenty z półki zwykle nie spełniają 
wymagań idealnie
, chyba że napisano te 
wymagania z myślą o tych właśnie komponentach.

Gdy system będzie budowany na zamówienie, 
specyfikacja wymagań jest podstawą 
kontraktu
 zamawianego systemu.

Po wybraniu wykonawcy systemu następuje okres 
negocjacji kontraktu
, w trakcie którego 
uzgadnia się dalsze zmiany wymagań i omawia 
różne sprawy, np. koszt zmian.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 31

Model wykonawca - 
podwykonawca

 

 

 

Klient potrzebujący systemu

Generalny 
wykonawca

Podwykonawca

 1

Podwykonawca

 2

Podwykonawca

 3

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 32

                                
Podsumowanie

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 33

Inżynieria systemów jest złożonym i 

trudnym procesem, który wymaga wkładu 

pracy specjalistów wielu dziedzin inżynierii. 

Pojawiające się właściwości systemu są 

charakterystykami systemu jako całości, a 

nie jego części składowych.

Architektury systemów zwykle prezentuje 

się na diagramach blokowych

przedstawiających główne podsystemy i 

związki między nimi.

background image

Ian Sommerville                                    Inżynieria oprogramowania WNT 2003                      Rozdz. 2

Slajd 34

Typami komponentów funkcjonalnych systemu są 
komponenty detektorowe, komponenty 
obliczeniowe, komponenty koordynujące, 
komponenty komunikacyjne i komponenty 
interfejsu.

Proces inżynierii systemów obejmuje specyfikację, 
projektowanie, tworzenie, integrację i testowanie
.

Proces zaopatrywania w system obejmuje specyfikację 
systemu, ogłoszenie przetargu, wybór dostawcy i 
zawarcie kontraktu na dostawę systemu.


Document Outline