Szukasz kursu specjalistycznego z BHP, SEP lub kursu na spawcza? Kurs edukacyjny!

Złożoność istot żywych

Mówienie o budowaniu oprogramowania już się jednak przeżyło. Czas na kolejną zmianę. Jeśli budowane przez nas dzisiaj struktury koncepcyjne są zbyt skomplikowane, żeby można je było z góry dokładnie wyspecyfikować, i zbyt złożone, żeby można je było bezbłędnie budować, to trzeba podejść do tego w zupełnie inny sposób.

Przyjrzyjmy się przyrodzie i zastanówmy się nad złożonością istot żywych, a nie jedynie martwych wytworów człowieka. Znajdujemy tu konstrukcje, których złożoność budzi nasz podziw. Sam mózg jest tak zawiłym organizmem, że nie sposób go odwzorować, tak potężnym, że nie sposób zrobić jego replikę, tak bardzo urozmaiconym, samozabez- pieczającym się i samoodnawiającym. Sekret polega na tym, że jest wynikiem procesu rozwoju, a nie budowania.

Tak musi być z naszymi systemami oprogramowania. Kilka lat temu Harlan Mills postawił tezę, że należy hodować dowolny system oprogramowania przez przyrostowe rozwijanie go11. Najpierw trzeba doprowadzić do tego, żeby system działał – choćby nie robił jeszcze nic pożytecznego poza wywoływaniem poprawnego zbioru fikcyjnych podprogramów. Potem powinien stopniowo „przybierać na wadze”, a podprogramy powinny być rozwijane w odpowiednie działania lub wywołania pustych namiastek podprogramów z poziomu bezpośrednio niższego.

Najbardziej imponujące wyniki stosowania tej teorii w praktyce zobaczyłem, kiedy zacząłem namawiać do niej budowniczych projektów w mojej grupie laboratoryjnej inżynierii oprogramowania. Nic w ostatnim dziesięcioleciu nie miało tak wielkiego wpływu na moją pracę i jej wydajność jak to właśnie podejście do tworzenia oprogramowania. Wymaga ono projektowania od ogółu do szczegółu, gdyż polega na hodowaniu oprogramowania od ogółu do szczegółu. Umożliwia łatwy powrót do stanu początkowego. Sprzyja wczesnemu opracowywaniu prototypów. Każda dodana funkcja i każda nowa możliwość uwzględniania bardziej złożonych danych lub szczegółów organicznie wyrasta z tego, co już w systemie jest.

Podobne Artykuły

Zostaw odpowiedź

Twoj adres e-mail nie bedzie opublikowany.