Essential kompleksitet

FONT SIZE:
fontsize_dec
fontsize_inc
17-02-2018 Geir Brask E

Det væsentlige kompleksitet henviser til en situation, hvor alle rimelige løsninger på et komplekst problem, der skal være "simple" løsninger ikke i tilstrækkelig grad løse problemet. Dette står i kontrast med utilsigtet kompleksitet, der opstår udelukkende fra uoverensstemmelser i det særlige udvalg af værktøjer og metoder, der anvendes i opløsningen.

Dette udtryk er blevet brugt i hvert fald siden midten af ​​1980'erne Turing Award vinder Fred Brooks, har brugt dette udtryk og dets antonym, utilsigtet kompleksitet, siden midten af ​​1980'erne Brooks har også opdateret, i 1995, hans visioner for en jubilæumsudgave af The Mythical Man-Month, kapitel 17 '' nej mirakelkur «retriggered."

Cyklomatisk kompleksitet

Det væsentlige kompleksitet også anvendes med en anden betydning i forhold til cyklomatisk kompleksitet. I denne sammenhæng vigtigt kompleksitet refererer til cyklomatisk kompleksitet efter iterativt erstatte alle kontrolstrukturer godt struktureret med en enkelt instruktion. Strukturer såsom if-then-else og mens løkker betragtes godt struktureret. Ubegrænset brug af goto udsagn kan producere programmer, der ikke kan reduceres på denne måde.

For eksempel følgende C-programmet fragment har en væsentlig kompleksitet 1, fordi den, hvis opgørelse for intern og kan reduceres:

Følgende C-program fragmentet har en væsentlig kompleksitet mere end én. Denne kode er den første række af z, der har alle sine elementer til nul, og sætter sit indeks i; Hvis nej, jeg sætter -1.

Yderligere læsning

  • Brooks, Fred P .. "Ingen Silver Bullet - Essence og ulykke i Software Engineering." Tiende Afvikling af IFIP verden Computing Conference: 1069-1076.
  • . "Ingen Silver Bullet - Essence og Ulykker af Software Engineering." IEEE Computer 20: 10-19.
  • . Chap. 17. "" Nej Silver Bullet "refired." Den mytiske Man Month ..