Dataprogramering)

Programmering , i informatikk , er en implementeringsfase av hele programvareutviklingssyklusen (se programvareutvikling ) med det endelige målet å tilfredsstille de funksjonelle spesifikasjonene som kreves av klienten i henhold til en forhåndsdefinert strukturell analyse av programvareprosjektet; mer spesifikt er det settet med aktiviteter og teknikker som en eller flere spesialiserte personer ( team ), programmerere eller utviklere ( utvikler ), utfører for å lage et program eller en applikasjon , dvs. en programvare som skal lageskjøre på en datamaskin , skrive kildekoden i et spesifikt programmeringsspråk ; sammen med systemsiden og datavitenskap utgjør den grenen eller linjen for produktivitet innen bedrifts-IT , kalt avansert tertiær . De mest brukte programmeringsspråkene er C++ , Python , Java og JavaScript . Valget av språk som skal brukes er basert på prosjektet som skal gjennomføres. Generelt brukes også IDE-er (tekstredigerere), og en av de mest brukte er Visual Studio Code .

Beskrivelse

Grunnleggende programmering indikerer den grunnleggende kunnskapen en programmerer må ha for å programmere i et hvilket som helst programmeringsspråk . For å skrive kodelinjerprogrammeringsspråk er det tilstrekkelig for en programmerer å bruke en vanlig tekstbehandler , eller et ad hoc - program kalt editor ofte inkludert i et integrert utviklingsmiljø (IDE). I det andre tilfellet identifiserer programvaren automatisk de mest trivielle feilene (f.eks . syntaksfeil ) som en programmerer kan begå.

Trinnene som brukes til å utvikle et effektivt program, ligner hverandre for nesten alle programmeringssammenhenger (bedrifter, hobbyer, arbeid osv.). De første fasene er nært knyttet til logikken i hva som skal lages og hvordan det fungerer, mens de siste er orientert mot det spesifikke programmeringsspråket som skal brukes.

Den første operasjonen som skal utføres for å lage et program er å definere så nøyaktig og nøyaktig som mulig hvilket problem vi har til hensikt å løse. Dette gjelder både en enkel matematisk funksjon og en kompleks database . Inndataene som programmet mottar er relatert til utdataene vi har tenkt å returnere etter behandling . Denne fasen kan presentere en stor kompleksitet på grunn av det abstrakte arbeidet som krever at programmereren forestiller seg det endelige resultatet og dets formalisering.

Utforme et program

Når definisjonen av problemet som skal løses er overvunnet, er det nødvendig å designe mulige løsninger, sammenligne dem og finne den mest effektive (husk at en ineffektiv løsning for et gitt problem kan være nyttig for utvikling av andre programmer). For å sammenligne den faktiske forskjellen mellom en løsning og en annen, kan to forskjellige verktøy brukes:

Valg av algoritme

For å lage et effektivt program , må algoritmen være nøye utformet . For eksempel kan vi lage en algoritme som utfører følgende trinn:

  1. Undersøk en liste med tall og gjenkjenn den mindreårige;
  2. Tilordne det minste tallet til variabel X;
  3. Skriv ut variabel X;

Det er viktig å spesifisere at trinnlisten må inneholde klare, presise og entydige instruksjoner, det vil si at betydningen ikke avhenger av konteksten den er skrevet i, men er tydelig identifiserbar.

Dataprogrammer er mye mer komplekse enn en lineær prosess som å legge til to tall. For å gi programmet en mer kompleks struktur, brukes følgende verktøy:

Programmer kan også deles inn i seksjoner slik at ulike oppgaver kan utføres gjennom enklere trinnsekvenser. For dette formålet er programmet delt inn i funksjoner . Ekspertprogrammereren hopper ofte over denne utviklingsfasen når det gjelder algoritme og går direkte til neste fase og tenker direkte på den algoritmiske løsningen av det gitte problemet i form av kodespråk eller programmeringsspråk eller i pseudokode .

Valg av teknikker: programmeringsparadigmer

Det finnes ulike programmeringsteknikker, de vanligste og mest brukte er følgende:

Programmeringsspråk

Det er mange programmeringsspråk og de er hovedsakelig delt inn i to kategorier: tolket og kompilert .

De vanligste tolkede språkene er:

I tillegg tolkes også shell - scripts (såkalte batch - filer ) og andre scripts som brukes på Internett ( Jscript , VBScript , Batch ...) . Koden til et tolket program lagres som den er, og leses deretter av en tolk , som er et program som kjører på operativsystemet ditt . Kompilerte programmeringsspråk krever derimot at koden, når den er ferdig, behandles av en kompilator som, ved å konvertere den til maskinspråk , lar den kjøres av CPU -en .

De mest kjente kompilerte språkene er:

Tolkede programmer er tregere, men lettere å lage og kjøre på mange operativsystemer, så lenge de har samme tolk, og språkets dialekt er vanlig. Kompilerte språk har, veldig ofte, i stedet ISO-standarder , eller i alle fall universelle regler, som lar deg kompilere et program uten modifikasjoner på flere arkitekturer, selv fra en enkelt maskin, forutsatt at du har en tilstrekkelig kompilator.

Java er pseudokompilert, det vil si at det oversettes til et mellomspråk, kalt bytecode , som er et slags maskinspråk, som så sendes videre til tolken som må være tilgjengelig for den typen maskin du ønsker å bruke. Visual Basic , derimot, er ikke et standardspråk, men et utviklingsmiljø laget for å utvikle programmer i en objektorientert Basic utviklet av Microsoft , og som sådan kun tilgjengelig på deres OS. Siden det ikke finnes noen anerkjent standard, er kompatibilitet mellom senere versjoner ikke garantert, og det er ikke mulig å bruke den fullt ut på andre operativsystemer eller CPUer enn de som støttes av Microsoft.

Programkoding

I denne fasen skjer valget av programmeringsparadigmet og det relative programmeringsspråket som prosjektet skal utvikles med (f.eks . Java , C ++ , BASIC , Perl , etc.), og går fra flytdiagrammer eller pseudokode , til en strengere syntaks og spesifikasjon av det valgte språket, utarbeide kildekoden .

I denne forbindelse sier et teorem for teoretisk informatikk ( Böhm-Jacopini-teoremet ) at for koding av algoritmen i kildekoden til et bestemt språk er det nødvendig med riktig bruk, muligens kombinert, av bare tre strukturer for å kontrollere flyt av utførelse: sekvensen eller blokken av instruksjoner , utvalg og iterasjon som er avhengig av bruken av variabler , konstanter , datatyper , pekere , aritmetiske og logiske operatorer , datastrukturer , funksjoner , parametere , standard input , standard utdata og standard instruksjoner etc. .

Kodeoperasjonen er den mest utsatt for feil av logisk og syntaktisk art . I teorien kan programmet være klart på dette stadiet, men i realiteten presenterer det feil ( bugs ) i nesten alle tilfeller, som vil bli analysert i neste fase. Vanligvis foregår utviklingen av en applikasjon lokalt på utviklerens PC som vil være i stand til å gjennomføre en første testfase for å verifisere godheten eller ikke av utgangen til programmet som er utført.

Noen ganger blir et programvareprosjekt utført av et fellesskap av brukere distribuert på nettet aktive gjennom nyhetsgrupper , slik det for eksempel skjer for forskjellige GNU/Linux-distribusjoner . Når et programvareprosjekt utvikler et annet på samme type program, men utført av et annet fellesskap, kalles det en gaffel .

Sjekker resultatet: programmeringsfeil

Når programmet er fullført, er det hyppige programmeringsfeil eller feil som stammer fra ulike årsaker som kan oppstå under utvikling og utførelse av en kode . Disse feilene kan i hovedsak være i tre hovedkategorier: syntaksfeil, logikkfeil og kjøretidsfeil. Alle disse feilene må nødvendigvis elimineres under straff for funksjonsfeil eller blokkering av gjennomføringen av selve programmet.

Verifikasjons- og utviklingsfasen av programmet har som formål å finne og rette opp feilene som er funnet og kalles feilsøking . Dette er en veldig lang og viktig fase der programmereren verifiserer godheten i arbeidet sitt. Å fikse en feil kan føre til nye feil, så du må være veldig forsiktig.

For å unngå feilsøking av et program som er for komplekst og artikulert, er det å foretrekke å lage en prototype , det vil si en versjon av sluttresultatet som ikke i seg selv presenterer alle funksjonene levert av det opprinnelige prosjektet, og oppnå en høyere korrigeringshastighet av de viktigste feilene . På slutten av denne fasen vil vi ha det ferdige produktet. Operasjonene som utføres under utviklingen må være hensiktsmessig dokumentert for å gjøre en fremtidig modifikasjon enklere.

Eksempel: tillegg av to tall

Det første utdanningsprogrammet som en utdannet programmerer skriver er vanligvis Hello world . Et annet enkelt og intuitivt program er absolutt det som, tatt to tall som input , returnerer summen som utdata . Avhengig av hvilket programmeringsspråk som brukes, endres strukturen og artikuleres på en annen måte.

Utvikling av forretningsprogramvare

Utviklingen av et programsystem i et selskap er en del av en mye bredere analyse- og designprosess som typisk involverer et helt team av analytikere/utviklere. I tillegg til å være effektivt, må resultatet tilfredsstille spesifikke forespørsler fra virksomheten det er designet for.

Innledningsvis fortsetter vi med en detaljert analyse av kravene som opprettelsen av programmet tar sikte på å løse (behov) også kalt funksjonsanalyse . Analytikeren må foreslå denne informasjonen og utarbeide passende forslag på designstadiet. Analyseutdatadokumentet har forskjellige navn: funksjonell spesifikasjon, spesifikasjoner, kravliste, men engelske termer brukes ofte. Krav betyr ofte ikke bare funksjoner, men også: ytelse, bruksbetingelser, teknologi og maskinvarespesifikasjoner og mer. I logikken til prosjektledelse kan kravdefinisjonsdokumentet også ledsages av de som er knyttet til: tider, kostnader, ansvar, risiko, etc.

Når analysen er fullført, går vi videre til selve designfasen av det nye systemet. Denne operasjonen involverer et stort antall mennesker og ideer. De beste prosjektene skal velges og utvikles med tanke på økonomisk gevinst og effektivitet. Når det beste prosjektet er godkjent, går vi videre til faktisk utvikling . Dette består i kjøp av programvarematerialet (og muligens maskinvaren ) som er nødvendig for å verifisere funksjonen til det nye systemet. Deretter følger testfasen av applikasjonen av et uavhengig team som sender eventuelle feil eller bugs til utviklerne for løsning.

For mange selskaper er programvaren på markedet ofte uegnet for deres behov, og det er nødvendig å utvikle tilpassede programmer eller modifisere eksisterende. For dette formålet er det andre selskaper som er spesialiserte på denne typen tjenester, derfor betrodd i outsourcing ( IT-konsulentselskaper ).

Installasjon

Når det nye systemet er opprettet og verifisert, er det installert i selskapet og det er fullt operativt. Denne påvirkningen kan være traumatisk for et selskap som er vant til gamle systemer, og det er derfor vi går frem på forskjellige måter, avhengig av saken:

Implementering

Når installasjonen er fullført, vil programmet gi selskapet en service, som imidlertid krever vedlikehold, der problemene som oppstår løses og funksjonelle endringer introduseres for å forbedre ytelsen til programmene.

Programmeringsomfang

Avhengig av tiltenkt bruk av koden, finnes det ulike typer programmering som:

Bibliografi

Relaterte elementer

Andre prosjekter

Eksterne lenker