Programmeringsmetode

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 30. december 2021; verifikation kræver 1 redigering .

Softwareudviklingsmetodologi er et sæt metoder, der anvendes på forskellige stadier af softwarens livscyklus og har en fælles filosofisk tilgang [1] .

Hver metode er karakteriseret ved dens [2] :

I et bestemt tilfælde, når metoden anvendes på programmerings- (design)stadiet, kaldes det normalt programmeringsparadigmet [2] .

Oprindelse

Der er tre måder, hvorpå metoder kan spores. For det første kan de være udtryk for praktisk erfaring. For det andet kan metoder stamme fra en af ​​fire algoritmemodeller: abstrakt Turing-maskine (imperativ programmering), Hilbert og Ackerman rekursive funktioner (struktureret programmering), Kirkens lambda-regning (funktionel programmering), normale Markov-algoritmer (logisk programmering) [3 ] [4 ] . For det tredje kan metoderne forklares gennem kortlægning af en af ​​modelleringssprogets tre strukturer til programmeringssprogets struktur [5] . De konstituerende dele kan være en datastruktur , en kontrolstruktur og logik . Hver af de ni kortlægninger definerer enten en metode eller en ret seriøs programmeringsmetode. For eksempel ligger logik-logik-mappingen til grund for logisk programmering [4] .

Klassifikation

Ved kerne

Når man nærmer sig metodikken som havende en kerne ( eng.  core ) svarende til metoden til at beskrive algoritmen, og yderligere funktioner , kan følgende fem hovedkerner af metoder skelnes [6] :

Det kan ses, at disse metoder er på en skala fra navigation (trin-for-trin udførelseskontrol) til specifikation (bestemmelse af kravene til resultatet) [6] .

Topologisk specifik

Specificitet (topologisk specificitet) er en måde at vælge metoder til at forfine kernen i metodikken. Kvalitetskriteriet for en bestemt topologi kan være de samlede omkostninger ved softwareudvikling. Til gengæld afhænger udviklingsomkostningerne blandt andet af centrale sprogabstraktioner: dataabstraktion, kontrolabstraktion og modularitet. For eksempel kan man i en imperativ metodologi overholde metoderne til struktureret programmering , hvilket giver en mere fordelagtig topologi med hensyn til sprogabstraktioner. Resultatet er en struktureret programmeringsmetodologi [ 7] .

Implementeringsspecifik

Ifølge hardwarearkitekturen kan implementeringen være centraliseret eller parallel. For eksempel metoden for (imperativ) parallel programmering, metodikken for logisk parallel programmering [8] .

Derudover kan metodikken være hybrid. For eksempel den mest almindelige blanding af funktionel og logisk programmering [8] .

Der udføres også forskning i ensretning af programmeringsmetoder.

Konklusion

Programmeringssprog kan godt understøtte visse metoder, men det betyder ikke, at et bestemt sprog slet ikke kan bruges med en metode, der ikke er hjemmehørende i det, men kun at der kræves mere indsats og ressourcer [2] .

Programmeringsmetoder adskiller sig i de samlede omkostninger ved at løse problemer med forskellige karakteristika (videnskabelige beregninger, økonomiske problemer, realtidssystemer osv.). Skalaen af ​​opgaver og effektiviteten af ​​den software, der skabes, er også vigtige faktorer ved valget af en programmeringsmetodologi [9] .

Noter

  1. Odintsov, 2004 , s. 73.
  2. 1 2 3 Odintsov, 2004 , s. 74.
  3. Logik og computer. Modellering af ræsonnement og kontrol af programmers rigtighed. M., Videnskab, 1990
  4. 1 2 Odintsov, 2004 , s. 76.
  5. Tuzov V. A. Repræsentation af videnssprog. L., Leningrad State University, 1990
  6. 1 2 Odintsov, 2004 , s. 78.
  7. Odintsov, 2004 , s. 78-79.
  8. 1 2 Odintsov, 2004 , s. 79.
  9. Odintsov, 2004 , s. 75.

Litteratur