Redigerer
Design ovenfra og nedenfra
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
[[File:Binary heap bottomup vs topdown.svg|thumb|right|Illustrasjon av nedenfra og ovenfra tilnærming til [[haugsortering]]]] '''Ovenfra og ned''' og '''nedenfra og opp''' er to strategier for [[informasjonsprosessering]] og kunnskapsordning som er brukt innen mange ulike fagfelt som [[programvareutvikling]], [[humaniora]] og [[vitenskapsteori]] (se [[systemikk]]), samt [[ledelse]] og [[Organisasjonsteori|organisasjon]]. I praksis kan de sees på som to stiler for [[tenking]], [[undervisning]] og [[Lederskap (generelt)|lederskap]]. En '''ovenfra''' tilnærming (også kjent som ''stegvis design'' eller ''stegvis raffinering'',<ref>{{Kilde www|url=https://www.duo.uio.no/bitstream/handle/10852/9257/1/masteroppgave_Ine_Lyche_Sigernes.pdf|tittel=Læring av objektorientert programmering, Arbeidsprosesser i løsning av oppgaver - University of Oslo, Department of Informatics|forfattere=Ine Lyche Sigernes|dato=2005-05-24}}</ref> og i noen tilfeller som synonym for [[Dekomposisjon|''dekomposisjon'']]) innebærer at man bryter ned systemet for å få innsikt i de utgjørende delsystemene lik som ved [[Dekonstruksjon (teknologi)|dekonstruksjon]]. Ovenfra-tilnærmingen formulerer et overblikk over systemet, og spesifiserer (men detaljerer ikke) det første nivået av eventuelle delsystemer. Hvert delsystem blir så raffinert i mer detalj, noen ganger ved å dele inn i flere nivåer av delsystemer, inntil hele [[Kravspesifikasjon for programvare|spesifikasjonen]] er redusert til grunnelementer. En ovenfra modell er ofte spesifisert ved hjelp av [[Svart boks|svarte bokser]], hvilket gjør modellen lettere å manipulere. Imidlertid kan svarte bokser ha problemer med å klargjøre elementære mekanismer eller være detaljerte nok til at man realistisk kan [[Verifikasjon og validering av programvare|validere]] modellen. En ovenfra tilærming starter med det store bildet, og bryter deretter ned i mindre deler.<ref>{{Kilde www|url=http://bactra.org/weblog/950.html|tittel=Top-Down Design (Introduction to Statistical Computing)|besøksdato=9. september 2015|forlag=bactra.org}}</ref> En '''nedenfra''' tilnærming er å sette sammen systemer for å skape mer komplekse systemer, som derved gjør de originale systemene til delsystemer av det nye systemet. Nedenfra prosessering er en type [[informasjonsprosessering]] basert på innkommende data fra miljøet for å danne en [[Persepsjon|oppfatning]]. Fra et kognitivt psykologisk perspektiv kommer informasjon inn gjennom øynene (sanseinntrykk, eller "nedenfra"), og blir deretter omformet til et bilde i hjernen som kan tolkes og gjenkjennes som en persepsjon (utputt som er "bygget opp" fra prosessering til endelig [[kognisjon]]). I en nedenfra tilnærming vil de individuelle grunnelementene i systemet først bli spesifisert i stor detalj. Disse elementene blir deretter lenket sammen for å danne større delsystemer som igjen er lenket, noen ganger på mange nivå, inntil et komplett system på toppnivå har blitt dannet. Denne strategien ligner ofte en frømodell hvor begynnelsen er liten, men til slutt vokser i kompleksitet og kompletthet. Imidlertid kan slike "organiske strategier" resultere i et virvar av elementer og delsystemer utviklet i isolasjon, og som har vært optimert lokalt i motsetning til å oppfylle et globalt formål == Produktdesign og utvikling == Under [[Produktutvikling|utvikling]] av nye produkter benytter [[Industriell design|designere]] og ingeniører seg både av nedenfra opp og ovenfra ned tilnærminger. Nedenfra-tilnærmingen brukes når hyllevare eller eksisterende komponenter velges og integreres i produktet. Et eksempel kan være å velge et bestemt festemiddel (for eksempel en [[Metriske gjenger|metrisk]] [[Maskinskrue|bolt]]) og deretter designe komponenten slik at festemiddelet passer riktig. Med en ovenfra-tilnærming ville i stedet et spesialtilpasset festemiddel blitt designet slik at den ville passet riktig uten eventuell modifikasjon av komponenten.<ref>{{Cite journal|title=Cognitive Lie Detection: Response Time and Consistency of Answers as Cues to Deception - Springer|date=9. januar 1997}}</ref> Generelt dersom et produkt har mer restriktive krav (for eksempel masse, geometri, sikkerhet, miljø), som for eksempel en romdrakt, kan det være man tar en ovenfra tilnærming og spesialdesigner omtrent alt. == Informatikk == === Programvareutvikling === I [[Programvareutviklingsprosess|programvareutvikling]] spiller ovenfra- og nedenfra-tilnærmelsene en nøkkelrolle. Ovenfra tilnærminger legger vekt på planlegging og fullstendig forståelse av systemet. Ingen koding kan begynne før tilstrekkelig detaljnivå har blitt oppnådd i designet av minst en del av systemet. Ovenfra tilnærminger implementeres ved å sette spirer inn for modulene, men dette sinker testing av de endelige funksjonelle enhetene i et system inntil et betydelig design er komplett. Nedenfra tilnærminger legger vekt på koding og tidlig testing, hvilket kan begynne så fort den første modulen er spesifisert. Risikoen med denne tilnærmingen er at moduler kan bli kodet uten å ha en klar tanke om hvordan de skal linkes til andre deler av systemet, slik at linking kan bli vanskeligere enn først tenkt. [[Gjenbruk av kode]] er en av hovedfordelene med en nedenfra tilnærming.<ref name="treisman1980">{{Kilde www|url=http://step.psy.cmu.edu/scripts/Attention/Treisman1980.html|tittel=STEP: Scripts: Attention: Treisman and Gelade 1980|besøksdato=21. oktober 2012|arkiv-url=https://web.archive.org/web/20110914130951/http://step.psy.cmu.edu/scripts/Attention/Treisman1980.html|arkivdato=2011-09-14|forlag=Step.psy.cmu.edu|url-status=dead}}</ref> Ovenfra design ble fremmet i 1970-årene av [[IBM]]-forskerne Harlan Mills og [[Niklaus Wirth]]. Mills utviklet konsepter for [[strukturert programmering]] for praktisk bruk, og testet de i et prosjekt fra 1969 for å automatisere indeksen i ''[[The New York Times|New York Times]]'' sitt arkiv. Prosjektets tekniske og ledelsesmessige suksess førte til spredningen av ovenfra-tilnærmingen i IBM og resten av IT-industrien. Niklaus Wirth som hadde utviklet programmeringsspråket [[Pascal (programmeringsspråk)|Pascal]] skrev også den innflytelsesrike artikkelen ''Program Development by Stepwise Refinement''. Siden fortsatte Wirth med å utvikle språk som [[Modula]] og [[Oberon (programmeringsspråk)|Oberon]] hvor man kunne definere en modul før man visste hele programspesifikasjonen, og utifraa dette kan man konkludere med at han ikke strengt fremmet ovenfra programmering. Ovenfra metoder ble stort sett foretrukket i programvareutvikling inntil slutten av 1980-årene,<ref name="treisman1980"/> og [[objektorientert programmering]] hjalp med å demonstrere ideen om at både aspekter av ovenfra og nedenfra programmering kunne brukes. Moderne tilnærminger til [[programvaredesign]] kombinerer vanligvis ovefra og nedenfra tilnærminger. Selv om en forståelse av det komplette systemet vanligvis anses nødvendig for godt design – og dermed teoretisk fører til en ovenfra tilnærming – forsøker de fleste programvareprosjekter å bruke eksisterende kode til en viss grad. Allerede eksisterende moduler gir designene en «nedenfra stil». <gallery> Top Down Approach.png|Ovenfra tilnærming til [[integrasjonstesting]] Bottom Up Approach.png|Nedenfra tilnærming Sandwich Approach.png|Smørbrød-tilnærming Bing Bang Approach.png|Storsmell-tilnærming </gallery> === Programmering === [[Fil:Lego_Chicago_City_View_2001.jpg|venstre|miniatyr|Byggeblokker (her [[Lego]]) er et eksempel på nedenfra design fordi delene først blir skapt og deretter montert uten hensyn til hvordan delene vil fungere i den endelige sammenstillingen]] Ovenfra som programmeringsstil er bærebjelken i tradisjonelle [[Prosedyrisk programmering|prosedyriske språk]] der designet starter ved å spesifisere komplekse deler og deretter dele de inn i gradvis mindre biter. En ovenfra teknikk for å skrive et program er å lage en hovedfunksjon (''main function'') som navngir alle de viktigste funksjonene den vil trenge. Deretter vil utviklerne se på alle kravene til hver av disse funksjonene og prosessen gjentas for disse. Disse [[Kompartmentalisering (informatikk)|kompartmentaliserte]] [[Delrutine|delrutinene]] vil til slutt utføre handlinger som er så enkle at de enkelt og konsist kan kodes. Når alle de ulike underrutinene har blitt kodet er programmet klart for testing. Ved å definere hvordan applikasjonen henger sammen på høyt nivå kan arbeidene på lavere nivå utføres selvstendig. I en nedenfra tilnærming blir de enkelte grunnelementene i systemet først spesifisert i stor detalj. Disse elementene blir deretter koblet sammen for å danne større delsystemer som igjen er koblet sammen (noen ganger på mange nivåer) inntil et komplett system er dannet på toppnivå. Denne strategien ligner ofte en spiremodell som er liten i begynnelsen, men til slutt vokser i kompleksitet og kompletthet. Objektorientert programmering er et paradigme som bruker [[Objekt (informatikk)|objekter]] til å designe applikasjoner og dataprogrammer. == Nevrovitenskap og psykologi == [[Fil:TheCat.png|høyre|miniatyr|Et eksempel på ovenfra prosessering: Selv om den andre bokstaven i hvert ord er tvetydig sørger ovenfra prosessering for at det er enkelt å tyde på grunnlag av sammenhengen]] Disse begrepene brukes også i [[nevrovitenskap]], [[kognitiv nevrovitenskap]] og [[kognitiv psykologi]] for å diskutere strømmen av informasjon i prosessering.<ref>Palmer (1981).{{ufullstendig referanse|date=March 2017}}</ref> Normalt anses [[Sansesystem|sensorisk]] innputt som nedenfra, og [[Eksekutivfunksjoner|høyere kognitive prosesser]] som har mer informasjon fra andre kilder som ovenfra. En nedenfra prosess er preget av fravær av høynivå retning i [[sensorisk prosessering]], mens en ovenfra prosess er preget av høyt nivå av sensorisk prosessering ved kognisjon, slik som mål og målsetninger.<ref name="treisman1980"/> Rock, Neiser og Gregory hevder at ovenfra-tilnærmingen innebærer persepsjon som er en aktiv og konstruktiv prosess.<ref>Ramskov (2008), p. 67.</ref> I tillegg er det en respons som ikke er direkte gitt av stimulus-innputt, men et resultat av stimulus, interne hypoteser og forventningsinteraksjoner. Når stimulus presenteres kort og klarhet er usikker gir det en vag stimulus, og perspsjon blir en ovenfra tilnærming.<ref name="autogenerated1935">{{Kilde www|url=http://psychclassics.asu.edu/Stroop/|tittel=Classics in the History of Psychology – Stroop (1935)|besøksdato=21. oktober 2012|arkiv-url=https://web.archive.org/web/20140119172853/http://psychclassics.asu.edu/Stroop/|arkivdato=19. januar 2014|forlag=Psychclassics.asu.edu|url-status=dead}}</ref> === Ledelse og organisasjon === [[File:Top-bottom image.jpg|thumb|right|Informasjonsflyt ovenfra og nedenfra i ledelse]] I organisasjon og ledelse brukes ovenfra og nedenfra for å beskrive hvordan beslutninger tas eller hvordan endringer blir implementert.<ref name=":0"/> En ovenfra tilnærming vil si at en toppleder tar avgjørelser om hvordan noe skal gjøres. Denne tilnærmingen fortsetter så til lavere nivåer i hierarkiet som i større eller mindre grad er bundet av dem. For eksempel kan en sykehussjef som ønsker forbedringer på et sykehus bestemme at en stor endring (som å implementere et nytt [[Program (prosjektledelse)|program]]) er nødvendig, og deretter kan det brukes en planlagt tilnærming for å drive endringene nedover i oranisasjonen.<ref name=":0"/> En nedenfra tilnærming til endringer springer ut fra [[Grasrotbevegelse|grasroten]] og har sitt utspring i en flat struktur med mennesker som jobber sammen og får en beslutning til å oppstå fra deres felles engasjement. For eksempel er en avgjørelse av en gruppe aktivister, studenter eller ofre om å gjøre en handling en "nedenfra" avgjørelse. En nedenfra tilnærming kan tenkes på som en inkrementell endring som representerer en fremvoksende prosess kultivert og vedlikeholdt primært av linjearbeidere.<ref name=":0">{{Cite journal|last1=Stewart|first1=Greg L.|last2=Manges|first2=Kirstin A.|last3=Ward|first3=Marcia M.|title=Empowering Sustained Patient Safety|journal=Journal of Nursing Care Quality|volume=30|issue=3|pages=240–246|doi=10.1097/ncq.0000000000000103|pmid=25479238|year=2015}}</ref> Positive aspekter ved ovenfra tilnærminger inkluderer deres [[effisiens]] og et fantastisk overblikk over høyere nivåer,<ref name=":0"/> samt at eksterne effekter kan internaliseres. Negative sider er at reformer kan oppfattes som å bli pålagt ovenfra hvilket kan gjøre det vanskelig for folk på lavere nivåer å akseptere dem, og det finnes indikasjoner på at dette skjer uavhengig av hvilke reformer som innføres (Dubois 2002). En nedenfra tilnærming muliggjør mer eksperimentering, og kan gi mer informasjon om hva som trengs på bakken. Andre bevis tyder på at det finnes en tredje kombinert tilnærming til endring.<ref name=":0" /> === Folkehelse === Både ovenfra og nedenfra tilnærminger brukes i folkehelse. Det er mange eksempler på ovenfra programmer, ofte drevet av myndigheter eller store [[Internasjonal organisasjon|mellomstatlige organisasjoner]], hvorav mange er sykdoms- eller problemspesifikke som for eksempel [[Hiv|HIV]] eller [[Kopper (sykdom)|kopper]]. Eksempler på nedenfra programmer inkluderer mange små frivillige organisasjoner som er etablert for å forbedre lokal tilgang til helsehjelp. Mange programmer prøver imidlertid å kombinere begge tilnærmingene. For eksempel har utryddingsprogrammet for [[guineaorm]], drevet av den ideelle ikke-statlige organisasjonen [[Carter Center]], involvert opplæring av mange lokale frivillige og dermed resultert i økt kapasitet nedenfra. Det samme har internasjonale programmer for bedre hygiene, sanitære forhold og tilgang til primærhelsetjeneste. == Filosofi og etikk == Ovenfra resonnering i [[etikk]] er når den som ressonerer begynner fra abstrakte universaliserbare prinsipper og deretter ressonerer de ned til bestemte situasjoner. Nedenfra resonnering er når den som tenker begynner med intuitive bestemte situasjonsbedømmelser og deretter ressonerer opp til prinsipper.<ref>{{Kilde bok|url=https://philpapers.org/rec/COHTNO|tittel=Nature of Moral Reasoning by Stephen Cohen|utgiver=Oxford University Press}}</ref> [[Reflektivt ekvilibrium]] oppstår når det er interaksjon mellom ovenfra og nedenfra resonnering, inntil begge er i harmoni.<ref>{{citation|first=John|last=Rawls|title=Theory of Justice}}</ref> Det vil si når universaliserbare abstrakte prinsipper refleksivt finner seg i balanse med bestemte intuitive bedømmelser. Prosessen oppstår når kognitiv dissonans oppstår når en resonnør prøver å løse ovenfra med nedenfra resonnering og justerer en eller den andre inntil man er fornøyd og har funnet den beste kombinasjonen av prinsipper og situasjonsbedømmelser. == Se også == * [[The Cathedral and the Bazaar|Katedralen og basaren]], to tilnærminger til kodeutvikling * [[Pseudokode]], uformell beskrivelse av virkemåten til en algoritme == Referanser == <references/> [[Kategori:Hierarkier]] [[Kategori:Programvaredesign]] [[Kategori:Nevropsykologi]] [[Kategori:Informasjonsvitenskap]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:Citation
(
rediger
)
Mal:Citation/core
(
rediger
)
Mal:Citation/make link
(
rediger
)
Mal:Cite journal
(
rediger
)
Mal:Fix
(
rediger
)
Mal:Fix/category
(
rediger
)
Mal:ISOtilNorskdato
(
rediger
)
Mal:Ifsubst
(
rediger
)
Mal:Kilde artikkel
(
rediger
)
Mal:Kilde bok
(
rediger
)
Mal:Kilde www
(
rediger
)
Mal:Ufullstendig referanse
(
rediger
)
Modul:Citation/CS1
(
rediger
)
Modul:Citation/CS1/COinS
(
rediger
)
Modul:Citation/CS1/Configuration
(
rediger
)
Modul:Citation/CS1/Date validation
(
rediger
)
Modul:Citation/CS1/Identifiers
(
rediger
)
Modul:Citation/CS1/Utilities
(
rediger
)
Modul:Citation/CS1/Whitelist
(
rediger
)
Modul:ISOtilNorskdato
(
rediger
)
Denne siden er medlem av 1 skjult kategori:
Kategori:Artikler med ufullstendige referanser
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon