Programmeringsmetodik

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 30 december 2021; verifiering kräver 1 redigering .

Mjukvaruutvecklingsmetodik är en uppsättning metoder som tillämpas i olika stadier av mjukvarans livscykel och har ett gemensamt filosofiskt tillvägagångssätt [1] .

Varje metod kännetecknas av sin [2] :

I ett särskilt fall, när metodiken tillämpas på programmerings- (design)stadiet, kallas den vanligtvis för programmeringsparadigmet [2] .

Ursprung

Det finns tre sätt på vilka metoder kan spåras. För det första kan de vara ett uttryck för praktisk erfarenhet. För det andra kan metoder härledas från en av fyra algoritmmodeller: abstrakt Turing-maskin (imperativ programmering), Hilbert och Ackermans rekursiva funktioner (strukturerad programmering), kyrkans lambdakalkyl (funktionell programmering), normala Markov-algoritmer (logisk programmering) [3 ] [4 ] . För det tredje kan metoderna förklaras genom kartläggning av en av modelleringsspråkets tre strukturer till programmeringsspråkets struktur [5] . De ingående delarna kan vara en datastruktur , en kontrollstruktur och logik . Var och en av de nio mappningarna definierar antingen en metodik eller en ganska seriös programmeringsmetod. Till exempel ligger logik-logik-mappningen bakom logisk programmering [4] .

Klassificering

Genom kärnan

När man närmar sig metodiken som att den har en kärna ( eng.  kärna ) som motsvarar metoden för att beskriva algoritmen, och ytterligare funktioner , kan följande fem huvudkärnor av metoder särskiljas [6] :

Det kan ses att dessa metoder är på en skala från navigering (steg-för-steg exekveringskontroll) till specifikation (bestämma kraven för resultatet) [6] .

Topologiskt specifik

Specificitet (topologisk specificitet) är ett sätt att välja metoder för att förfina kärnan i metodiken. Kvalitetskriteriet för en viss topologi kan vara den totala kostnaden för mjukvaruutveckling. I sin tur beror utvecklingskostnaderna bland annat på viktiga språkabstraktioner: dataabstraktion, kontrollabstraktion och modularitet. Till exempel, i en imperativ metodik, kan man hålla sig till metoderna för strukturerad programmering , vilket ger en mer fördelaktig topologi när det gäller språkabstraktioner. Resultatet är en strukturerad programmeringsmetodik [ 7] .

Implementeringsspecifik

Enligt hårdvaruarkitekturen kan implementeringen vara centraliserad eller parallell. Till exempel metodiken för (imperativ) parallell programmering, metodiken för logisk parallell programmering [8] .

Dessutom kan metodiken vara hybrid. Till exempel den vanligaste blandningen av funktionell och logisk programmering [8] .

Det pågår också forskning om att förena programplaneringsmetoder.

Slutsats

Programmeringsspråk kan mycket väl stödja vissa metoder, men det betyder inte att ett visst språk inte kan användas alls med en metod som inte är inhemsk i det, utan bara att mer ansträngning och resurser kommer att krävas [2] .

Programmeringsmetoder skiljer sig i den totala kostnaden för att lösa problem med olika egenskaper (vetenskapliga beräkningar, ekonomiska problem, realtidssystem , etc.). Uppgifternas omfattning och effektiviteten hos programvaran som skapas är också viktiga faktorer vid val av programmeringsmetod [9] .

Anteckningar

  1. Odintsov, 2004 , sid. 73.
  2. 1 2 3 Odintsov, 2004 , sid. 74.
  3. Logik och dator. Modellera resonemang och kontrollera korrektheten av program. M., Science, 1990
  4. 1 2 Odintsov, 2004 , sid. 76.
  5. Tuzov V. A. Kunskapsspråk representation. L., Leningrad State University, 1990
  6. 1 2 Odintsov, 2004 , sid. 78.
  7. Odintsov, 2004 , sid. 78-79.
  8. 1 2 Odintsov, 2004 , sid. 79.
  9. Odintsov, 2004 , sid. 75.

Litteratur