Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.1
Modeleprocesuwytwarzaniaoprogramowania37
zmianysystemu.Gdynaprzykładodkryjemy,żeimplementacjapewnegowyma-
ganiajestzbytkosztowna,dokumentywymagańpowinnyzostaćzmienione,aby
usunąćtowymaganie.Wymagatojednakakceptacjiklientaiopóźnieniawcałym
procesiewytwarzania.
Wrezultaciezarównoklienci,jakiprojektancimogąprzedwcześniezamrozić
specyfikacjęoprogramowania,abyniedokonywaćwniejdalszychzmian.Ozna-
czatoniestety,żeproblemyodkładanenapóźniej,ignorowanelubobchodzone.
Przedwczesnezamrożeniewymagańmożepowodować,żesystemniebędzierobić
tego,czegochceużytkownik.Możetakżeprowadzićdoźlezorganizowanychsyste-
mów,gdyobejścieproblemówjestrealizowaneprzeztrikiimplementacyjne.
Wkońcowejfaziecyklużycia(działanieikonserwacja)oprogramowaniejest
wprowadzanedoużycia.Wykrywanebłędyipominięciapierwotnychwymagań
programowych.Ujawniająsiębłędyprogramoweiprojektowe,atakżeidentyfi-
kowanepotrzebynowychfunkcjonalności.Systemmusizatemewoluować,aby
zachowaćużyteczność.Wykonanietychzmian(konserwacjaoprogramowania)
możeobejmowaćponownewykonywaniewcześniejszychfazprocesu.
Wpraktyceoprogramowaniemusibyćelastyczneiprzyjmowaćzmianywtrak-
cietworzenia.Potrzebawczesnejwalidacjiiprzebudowywaniasystemuprzywpro-
wadzaniuzmianoznacza,żemodelkaskadowyjestwłaściwymwyboremjedynie
dlaniektórychtypówsystemów:
1.Systemywbudowane,gdzieoprogramowaniemusiwspółdziałaćzsystemami
sprzętowymi.Zewzględunanieelastycznośćsprzętuzazwyczajniejestmożliwe
odłożeniedecyzjiofunkcjonalnościoprogramowaniadoczasujegoimplementacji.
2.Systemykrytyczne,wktórychwystępujepotrzebarozbudowanychzabezpieczeń
iprzeprowadzaniaanalizybezpieczeństwaspecyfikacjiiprojektuoprogramowa-
nia.Wtakichsystemachdokumentyspecyfikacjiiprojektumusząbyćkompletne,
abytakaanalizabyłamożliwa.Naprawaproblemówdotyczącychbezpieczeństwa
występującychwspecyfikacjiiprojekciejestzazwyczajbardzokosztowna,jeśli
mabyćwykonanawfazieimplementacji.
3.Wielkiesystemyoprogramowaniastanowiąceczęśćszerszychsystemówinży-
nierskichopracowywanychprzezwielewspółpracującychfirm.Sprzętwcho-
dzącywskładtakichsystemówmożebyćtworzonyprzyużyciuanalogicznego
modeluifirmyczęstouznają,żełatwiejszejestposługiwaniesięwspólnymmo-
delemdlasprzętuioprogramowania.Cowięcej,jeśliwprojekciebierzeudział
wielefirm,potrzebnemogąbyćpełnespecyfikacje,abyumożliwićniezależne
tworzenieróżnychpodsystemów.
Modelkaskadowyniejestodpowiednimmodelemprocesuwsytuacjach,gdy
możliwajestnieformalnakomunikacjawewnątrzzespołuiwymaganiawobecopro-
gramowaniaszybkosięzmieniają.Wtakichprzypadkachlepszymwyboremjest
wytwarzanieiteracyjneiużyciemetodykzwinnych.
Ważnąodmianąmodelukaskadowegojesttworzeniemetodąformalnychprze-
kształceń.Wtakimprzypadkutworzonyjestmatematycznymodelspecyfikacji
systemu.Modeltenjestnastępnieprzetwarzanynakodwykonywalnyprzyużyciu