Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
8
Metodologiaitechnikiprogramowania
doprzewidywanychzastosowańwsystemie.Wtejsytuacjiprzeprowadzasięwielekon-
troliniesprzeczności.Dlametodologiiirozwiązańwtejklasiezagadnieńzaproponowano
nazwęprogramowaniewwielkiejskali(ang.programming-in-the-large).
Wprocesierozwojujęzykówwprowadzonopojęcieabstrakcyjnegotypudanychjako
funkcjonalnegoopisusprzężeniastrukturydanychiskojarzonychzniąoperacji.Wprowa-
dzonotakżepojęciemodułu,będącegowróżnymstopniurealizacjąprocedury,abstrak-
cyjnegotypudanychlubzadania.Stanwiedzywdziedzinieprogramowaniawwielkiej
skalireprezentujątakiejęzyki,jakModula-2,Ada83,95(sukcesorAlgolaiPascala)oraz
Chill,C(latasiedemdziesiąte),apóźniejC++(90,94,97).
Ponadtopostępywdziedziniemetodologiiprogramowanianieodzwierciedlone
wodpowiednichwłaściwościachtychjęzyków(obecniejużwieloletnich).Największy
postępdotyczypoglądównatematwielokrotnegowykorzystaniamodułów(ang.reusabi-
lityofmodules).Jużteraznapisanieprogramuwymagałobyznaczniemniejwysiłku,
gdybymożnabyłodołączyćwięcejmodułówzbiblioteklubkorzystaćzwynikówwcze-
śniejszychprzedsięwzięć,zamiastwytwarzaćkażdysystemodpoczątku.Jednakżedo-
świadczeniewskazuje,żepodczasprojektowaniamodułówdowielokrotnegowykorzysta-
nianależywziąćpoduwagęsporospecyficznychczynników(nawetgdybytomiało
spowolnićrzeczywisteprojektowanie).Wielokrotnewykorzystaniemodułubędzieduże
wtedy,gdyjegomożliwośćsprzęganiazostaniedostosowanadowielujęzyków.Programi-
ścirzadkozgadzająsięmiędzysobą,jakiepowinnybyćsprzężenia,dlategoabywytwa-
rzaćmodułydowielokrotnegowykorzystaniaiwprowadzaćjedoużytku,należymieć
dużedoświadczenieidobryprzeglądcałejklasymodułówpokrewnych.Ponadtokierow-
nicyzespołówpowinniumiećsięposługiwbibliotekamioprogramowaniadospecjal-
nychzastosowańimiećrozeznaniewtejkwestii.Byłobykorzystne,gdybyklasamodułów
ostandardowychsprzężeniachbyłaciąglerozszerzana,azasadysprzęganiawykładanona
uczelniach(aleitakupłyniesporoczasu,zanimprzyniesietoskutkiwidocznewprak-
tyce).Takiejęzyki,jakModula-2,AdaiChillwwieluwypadkachniewystarczajądo
przedstawienianaodpowiednimpoziomieabstrakcjimodułówdowielokrotnegowyko-
rzystania.Współczesnejęzykiprogramowanianiemająjeszczewystarczającychkonstruk-
cjidowyrażaniatakiej„wieloużywalności”.
Terozważaniaprowadządowniosku,żeprzyszłejęzykiprogramowaniabędąmiały
sporocech,któreobecniekojarzymyzjęzykamispecyfikacji.Końcowy,wykonywalny
programbędziewynikiemtransformacjispecyfikacjiijejparametrów.Jednakżewiele
współczesnychsystemówprogramowychmożemiróżnezastosowanie.Niezakładasię,
żewytwarzająoneustalonyzbiórwartościwynikowychwodpowiedzinaokreślone
wartościwejściowe.Wymagasięnatomiast,abydziałałynieskończeniedługoisterowały
pewnymidziałaniamiodbywającymisięnazewnątrz,tj.jednymlubwieloma„procesami
zewnętrznymi”.AdaiChillzostałyzaprojektowanedotakichwłaśniezastosowań
wsystemachwbudowanych.Taklasazastosowańpodwielomawzględamipowoduje
zmianępoglądównawłaściwościoprogramowania.
Obecniezakończeniewykonywaniaprogramujestuważaneraczejzaawarię,chociaż
np.programinterpretowanyjakofunkcjamatematycznamusisięzakończyć.Dlatego