logi sisse meist KKK

Kas infosüsteem on võrreldav ehitusega, kus arhitektid planeerivad ja müüriladujad (programmeerijad) teevad ettekirjutuste järgi enda töö ära. Olen seda võrdlust siin-seal kohanud, aga sisetunne ütleb, et see ei ole päris sama.

Milliseid erinevusi on võimalik nende kahe asja puhul välja tuua? Ja mis osas jäävad nad sarnasteks?

küsitud Oct 13 '11 at 16:40

Kaiko%20Kaur's gravatar image

Kaiko Kaur
22049


On võrreldav, aga umbes nii, et arvutiprogrammid on oma ehituskunstilt siiani püramiidide juures. Peamiselt kvaliteelit ning teadmistelt. Kui arhitektuuris on teada kuidas ehitada pilvelõhkujat ilma, et see ära laguneks, siis programmid sinnani pole jõudnud. (operatsioonisüsteem ilma vigadeta, väga kahtlen, et selline eksisteerib)

Päris hästi rääkis selle kohta Alan Kay http://www.tele-task.de/de/archive/lecture/overview/5819/.

Samas on osaliselt arvutiprogramm ka keerukam kui lihtsalt tavaline ehitis, võib-olla tasuks seda võrrelda pilvelõhkujaga, mis peaks vastu pidama maavärinatele ja samuti seisma püsti soisel pinnal ning veel peab temast olema miniatuurne variant (teiste programmidega koos töötama, erinevad arvutid/os-d, mobiilne).

Kui nüüd piirata ennast ainult infosüsteemide juurde, siis on võimalik ennast mingile kindlale platvormile piirata ning see teeb ka arenduse märgatavalt lihtsamaks. Siiski säilib see erinevus, et infosüsteeme pidevalt täiendatakse ja muudetakse, siin kohal tuleb meelde tsitaat

Walking on water and developing software from a specification are easy if both are frozen.

-- Edward V Berard

Kui ehitistel on teada lõpptulemus või palju ruumi vaja läheb, siis ei ole väga paljudel tellijatel ettekujutus sellest, milline peaks infosüsteemi lõpptulemus välja nägema või üldse, mida sisaldama ning käituma. Ehk kujuta ette mingi ehituse poole peal öeldakse et üks välissein on vaja klaasiga asendada või et nüüd oleks vaja üks lisaruum, mis ripub üle maja fundamendi. Tarkvaraarenduses on selline juurde ehitamine täitsa tavaline.

Kokkuvõtteks, ehitamine on palju rohkem arenenud (ning tal on sellessuhtes mõne tuhande aasta eelis). Infosüsteemid peavad olema ehitatud nii, et nad ka muutustele vastu peavad. Osad infosüsteemid peavad ka sobima erinevatele platvormidele ning arvutitele.

link

vastatud Oct 14 '11 at 06:08

egon's gravatar image

egon ♦♦
771138

Mina ütleks nii, et ehitusega võrreldes on programmeerimises olemas ainult projekteerimise etapp. Reaalse ehitamise töö teeb ära kompilaator, me kasutame isegi sama sõna - build. Kui meil oleksid eraldi inimesed, kes tõlgivad sinu kirjutatud C koodi masinkoodiks, päevast päeva, siis need inimesed oleksid samaväärsed müüriladujaga.

Kindlasti on infosüsteemide ehitamises ka mõningaid rutiinseid töid, mida saab teha ka madalama kvalifikatsiooniga inimene. Aga kuna me oleme programmeerijad, siis varem või hiljem me kirjutame programmi selliste rutiinsete tööde automatiseerimiseks, mis optimiseerib sellise inimese välja. Konks on siin selles, et inimene on paindlikum ning teda on lihtsam instrueerida erinevaid rutiinseid töid tegema. Seetõttu kulub meeskonnas mõni selline ära, kellele saab lihtsamaid töid usaldada, kuna alati ei ole aega iga asja jaoks programmi kirjutada (ja seda testida).

Kokkuvõttes oleks infosüsteemide loomine võrreldav ehitamisega, kui ehitustöid teeksid robotid. Sina joonistad oma programmis maja valmis ja siis vajutad nupule Build, ning robotid ehitavadki täpselt sellise maja. Olen mõelnud, et võiks legodega seda ideed katsetada, st joonistad arvutis klotsidest maja ja siis annad ülesande robotile, kes samasuguse maja legodest üles laob, ise lahendades sõltuvused millises järjekorras tuleb klotsid asetada.

link

vastatud Oct 14 '11 at 14:50

Tambet%20Matiisen's gravatar image

Tambet Matiisen ♦♦
77751125

Tarkvara peamine eelis ongi mu meelest see, et see on hoopis erinev hoone ehitamisest.

Ehitusel peab olema kõik täpselt ette planeeritud ja töid tuleb teha üsna kindlas järjekorras: vundament, seinad, katus. Ehituskunsti algusaegadel juhtus sageli nii, et uus uhke hoone varises peale ehitamist kokku, sest vundament oli kehv või konstruktsioon liiga nõrk. Katust pannes on juba hilja vundamenti remontida. Tuli alustada taas algusest.

Tarkvara on aga lõputult ümberehitatav. Ehituses oleks mõeldamatu, et kõigepealt ehitad eramu ja kui tuleb rohkem rahvast, ehitad kuus korrust peale, seejärel tugevdad veidi vundamenti ja ehitad veel kümmekond korrust otsa, ja seda kõike samal ajal kui inimesed seal sees juba elavad. Tarkvaraarenduses on see aga igapäevane ja täiesti praktiline lähenemine.

link

vastatud Oct 14 '11 at 12:58

Rene%20Saarsoo's gravatar image

Rene Saarsoo ♦♦
1.1k41121

A mul on hea meel, et sain siit mõtteid tõesti juurde.

Ma ei ole näinud elus mitte kedagi, kelle kohta suudaksin öelda süsteemi arhitekt. Ja miks? Sellepärast, et head mõtted ja lahendused tulevad alati töö käigus ja spetsiifilisele probleemile rakendust kirjutades. Alles siis mõistad, kuidas asju paremini lahendada.

Ma ei ole kunagi suurfirmas töötanud, kus tehakse spetsifikatsioon ja programmerijad (ehk siinses paralleelis ehitajad) teostavad selle spetsifikatsiooni. Igatahes tundub, et ainuvõimalik sellisel juhul on see, et spetsifikatsiooni koostajad peavad olema läbi teinud ennemalt midagi väga sarnast või vastasel korral nende spec ei päde. Võibolla peaksin ma tööle minema suurfirmasse ja vaatama, kuidas seal asjad käivad, sest seni on tundunud see kõik mulle suht uskumatu. Loodan, et kohtan elus sellise võimekusega arhitekti, kes ise ei pea süsteemi ise läbi "mängima".

Ehk minu peamine arvamus on see, et programmeerimises ei ole "müüri" võimalik nii täpselt defineerida kui ehituses. Vähemalt enamik juhtudel.

Ja veel postitustest: on heameel, et on neid, kes usuvad, et me oleme programmeerimisega ja infosüsteemidega lapsekingades. Täpselt nii arvan minagi.

link

vastatud Oct 17 '11 at 18:07

Kaiko%20Kaur's gravatar image

Kaiko Kaur
22049

Tambeti jutule lisaks ma juurde ainult ühe asja: http://www.developerdotstar.com/mag/articles/reeves_design_main.html

link

vastatud Nov 03 '11 at 10:04

Mart%20Oruaas's gravatar image

Mart Oruaas
211

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×3

küsitud: Oct 13 '11 at 16:40

nähtud: 1,769 korda

viimati uuendatud: Nov 03 '11 at 10:04

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee