in¼ynieria oprogramowania - k.ynieria oprogramowania to wiedza techniczna, dotycz…ca...

Download In¼ynieria oprogramowania - k.ynieria oprogramowania to wiedza techniczna, dotycz…ca wszystkich

Post on 28-Feb-2019

215 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

prowadzcy: dr hab. in. Krzysztof Bartecki, prof. PO

www.k.bartecki.po.opole.pl

In ynieria oprogramowania

wykad I wprowadzenie

K. Bartecki, Inynieria oprogramowania, I/2

Kierunek Informatyka, studia stacjonarne

Semestr 4: Inynieria oprogramowania I (5 punktw ECTS)

30 godzin wykadu + egzamin,

15 godzin projektu.

Semestr 5: Inynieria oprogramowania II (2 punkty ECTS)

30 godzin wicze laboratoryjnych (w tym projekt systemu

informatycznego).

Kierunek Informatyka, studia niestacjonarne

Semestr 5: Inynieria oprogramowania (5 punktw ECTS)

20 godzin wykadu + egzamin,

20 godzin wicze laboratoryjnych (w tym projekt systemu

informatycznego),

K. Bartecki, Inynieria oprogramowania, I/3

Czym zajmuje si

inynieria oprogramowania ?

Zajmuje si wszelkimi aspektami produkcji oprogramowania:

od analizy i okrelenia wymaga,

przez projektowanie i wdroenie,

a do ewolucji gotowego oprogramowania.

stanowi zbir umiejtnoci, poj i procedur, majcych pomc ludziom

dobrze wykonywa prac przy tworzeniu oprogramowania.

Inynieria oprogramowania prba definicji

Inynieria oprogramowania to wiedza techniczna, dotyczca

wszystkich faz cyklu ycia oprogramowania, ktrej celem jest uzyskanie

wysokiej jakoci produktu czyli oprogramowania.

Zgodnie z t definicj, oprogramowanie to produkt taki, jak kady inny,

a wic powinno ono by:

zgodne z wymaganiami i oczekiwaniami uytkownika,

niezawodne,

efektywne,

atwe w konserwacji,

ergonomiczne.

Inynieria oprogramowania inna definicja

K. Bartecki, Inynieria oprogramowania, I/4

Inynieria oprogramowania obejmuje m.in. nastpujce zagadnienia:

sposoby prowadzenia przedsiwzi programistycznych,

techniki planowania, szacowania kosztw, harmonogramowania

i monitorowania przedsiwzi programistycznych,

metody analizy i projektowania systemw,

techniki zwikszania niezawodnoci oprogramowania,

sposoby testowania systemw i szacowania niezawodnoci,

sposoby przygotowania dokumentacji,

konserwacja oprogramowania, ktre powstao wiele lat temu i cigle

jest w uyciu,

metody redukcji kosztw konserwacji oprogramowania.

Zakres inynierii oprogramowania

K. Bartecki, Inynieria oprogramowania, I/5

Dlaczego inynieria oprogramowania

jest wana ?

Szybka i dokadna produkcja wielu nowoczesnych produktw

wymaga niezawodnego oprogramowania,

gospodarki wszystkich rozwinitych krajw wiata zale od

oprogramowania,

wytwarzanie oprogramowania jest powan gazi

gospodarki narodowej rozwinitych krajw.

K. Bartecki, Inynieria oprogramowania, I/6

K. Bartecki, Inynieria oprogramowania, I/7

Dziki inynierii oprogramowania moliwe stao si m.in. zaplanowanie

oraz implementacja oprogramowania zoonego z wielu milionw linii

kodu, przeznaczonego dla nowego Airbusa A380

ale mona spotka rwnie

inne opinie !

K. Bartecki, Inynieria oprogramowania, I/8

"Software Engineering" is a myth and only losers use it. You can be a

perfectly good and productive developer without learning "Software

Engineering". Learn development by doing development, not reading

about it. If you're in a large team, just use commonsense, good

communication and be nice to everybody.

All what is written about "Software Engineering" is hype and

charlatanism. Use your own brain and experience and forget about all

that "Software Engineering Enterprise OOP Patterns Domain DSL

Modelling" bullshit. If anything, study abstract algebra; at least you'll

have a fundamental understanding of the powers of abstraction and

generalization.

[jedna z opinii na forum http://stackoverflow.com/]

1950-60 drobne oprogramowanie przeznaczone gwnie dla celw

naukowych,

1960-80 liczniejsze zastosowania komputerw rozwj jzykw

programowania wyszego poziomu,

od 1980 gwatowny rozwj sprztu i znaczne zwikszenie jego

moliwoci prby nadenia z oprogramowaniem kompletne

fiasko.

Wielu przedsiwzi informatycznych nie zakoczono ze wzgldu

na ich zbyt wielk zoono, bd te ze wzgldu na przekroczenie

zaoonego czasu lub budetu.

Historia rozwoju oprogramowania

K. Bartecki, Inynieria oprogramowania, I/9

K. Bartecki, Inynieria oprogramowania, I/10

Historia rozwoju inynierii oprogramowania c.d.

1950-1960

lata

1960-1970

1970-1990

od 1990

programy pisane przez

programistw dla siebie,

komputery w nauce

zakres

oprogramowania bdy

Inynieria

oprogramowania

due programy

i pierwsze narzdzia

przetwarzania informacji

olbrzymie systemy

informatyczne

komputery dla mas

drobne bdy

bez wikszych

konsekwencji

do dua cena za

brak przemyle w

tworzeniu oprogram.

kryzys

oprogramowania

indywidualna -

programisty

pocztki inynierii

oprogramowania

rzemioso

rozwj inynierii

oprogramowania

rozkwit inynierii

oprogramowania wszechobecne

kryzys

oprogramowania

prby eliminacji

Kryzys oprogramowania

polega na tym, e rozwj technik wytwarzania oprogramowania

nie nada za rozwojem sprztu komputerowego.

Gwne przejawy kryzysu oprogramowania:

projekty informatyczne przekraczaj zaoony budet finansowy,

projekty informatyczne przekraczaj zaoony harmonogram czasowy,

oprogramowanie jest niskiej jakoci,

oprogramowanie nie spenia wymaga uytkownika.

Kryzys oprogramowania trwa do dzi!

K. Bartecki, Inynieria oprogramowania, I/11

Przyczyny kryzysu oprogramowania:

dua zoono systemw informatycznych,

niepowtarzalno poszczeglnych przedsiwzi,

trudno w ocenie stopnia zaawansowania prac:

jeeli po miesicu realizacji projektu informatycznego usyszymy od

programistw, e prace s zaawansowane w 90%, to mona si

spodziewa, e przedsiwzicie potrwa jeszcze cay rok,

pozorna atwo wytwarzania oprogramowania

(zaoenie liniowoci w procesie tworzenia kodu):

to, e w cigu jednego dnia napisalimy i przetestowalimy program

liczcy 100 linii nie oznacza, e w cigu 100 dni opracujemy program

liczcy 10 000 linii

K. Bartecki, Inynieria oprogramowania, I/12

K. Bartecki, Inynieria oprogramowania, I/13

Gwn przyczyn kryzysu oprogramowania jest fakt,

e moc obliczeniowa wspczesnych komputerw jest

o kilkanacie rzdw wielkoci wiksza ni kiedy!

Gdy nie byo komputerw, nie byo problemu ich oprogramowania;

gdy pojawio si kilka sabych maszyn,

ich programowanie byo umiarkowanym problemem;

teraz za mamy do dyspozycji gigantyczne komputery,

wic rwnie ich oprogramowanie stao si rwnie gigantycznym

problemem!

Edsger Wybe Dijkstra (1930-2002)

holenderski naukowiec, pionier informatyki

1962 Zaraz po starcie rakieta

Mariner 1, ktrej planowanym celem

bya planeta Wenus, zbacza z kursu i

zostaje zniszczona.

Powd: pominity na etapie

odrcznego przepisywania rwna

znak kreski oznaczajcej funkcj

wygadzania prdkoci rakiety.

Wniosek:

"No detail is too small to overlook"

aden szczeg nie jest zbyt may,

aby go przeoczy

K. Bartecki, Inynieria oprogramowania, I/14

Katastrofy oprogramowania

K. Bartecki, Inynieria oprogramowania, I/15

1971 Francuski satelita Eole 1 doprowadza do zniszczenia 72 balonw

meteorologicznych.

Powd: wezwanie do wysyania danych pomiarowych software

zinterpretowa jako rozkaz autodestrukcji.

K. Bartecki, Inynieria oprogramowania, I/16

1978 Satelita Nimbus 7 zignorowa dziur ozonow nad Antarktyd.

Powd: oprogramowanie analizujce traktowao wartoci zbyt odbiegajce

od normy jako bdy i korygowao je.

K. Bartecki, Inynieria oprogramowania, I/17

1979 Pi amerykaskich reaktorw jdrowych zostao wyczonych,

gdy program okrelajcy prawdopodobiestwo trzsie ziemi dostarcza

bdnych wartoci.

Powd: program wylicza sum zamiast pierwiastka z sumy kwadratw.

K. Bartecki, Inynieria oprogramowania, I/18

1982 Brytyjski niszczyciel HMS Sheffield zosta trafiony rakiet podczas

wojny na Falklandach i zaton. Zgino 20 marynarzy.

Powd: przed uderzeniem oprogramowanie samoczynnie przeczyo

system obrony statku w tryb "Safe".

K. Bartecki, Inynieria oprogramowania, I/19

1985-1987 Urzdzenie do nawietlania Therac 25 zabija pacjentw,

aplikujc im zbyt due dawki promieniowania.

Powd: oprogramowanie potrafio tylko wtedy przetwarza bezbdnie

wiele wtkw, gdy operator wydawa polecenia powoli.

K. Bartecki, Inynieria oprogramowania, I/20

1996 nieudany start rakiety Ariane 5 (lot 501)

Przyczyna: uycie niezmienionego oprogramowania z rakiety Ariane 4.

Stary, 16-bitowy modu nie by w stanie konwertowa duo wikszej ni

w poprzednim modelu rakiety prdkoci jej wzno

View more >