Utvecklingen av komplexa programvarusystem är en komplex och långdragen verksamhet som innebär deltagande och samarbete mellan många intressenter (t.ex. kunder, användare, analytiker, designers och utvecklare). Detta resulterar i många partiella modeller av utvecklingssystemet. Dessa modeller kan vara oförenliga med varandra eftersom de beskriver systemet ur olika perspektiv och återspeglar synpunkterna från de berörda parterna i deras konstruktion. Inkonsekventa programvarumodeller kan ha negativa och positiva effekter i programvaruutvecklingens livscykel. På den negativa sidan kan inkonsekvenser försena och öka kostnaderna för systemutveckling, inte garantera vissa egenskaper hos systemet, såsom säkerhet och tillförlitlighet, och skapa svårigheter för systemunderhåll. På den positiva sidan kan inkonsekvenser underlätta identifieringen av vissa aspekter av systemet som behöver analyseras ytterligare, hjälpa till med specificeringen av alternativ för utvecklingen av systemet och stödja framtagandet av information om det. Den programvarutekniska gemenskapen har föreslagit många tekniker och metoder för att stödja hanteringen av inkonsekvenser i olika programvarumodeller. I detta dokument presenterar vi en undersökning av dessa tekniker och metoder. Undersökningen är organiserad enligt en konceptuell ram som ser inkonsekvenshantering som en process som består av sex aktiviteter. Dessa verksamheter är upptäckt av överlappningar, upptäckt av inkonsekvenser, diagnostisering av inkonsekvenser, hantering av inkonsekvenser, spårning av inkonsekvenser samt specificering och tillämpning av en förvaltningsstrategi för inkonsekvenser. I detta dokument presenteras också de viktigaste bidragen från det forskningsarbete som har utförts för att stödja var och en av ovanstående verksamheter och identifieras de frågor som fortfarande är öppna för ytterligare forskning.
I Ref presenterar författarna en undersökning om hanteringen av inkonsekvenser inom programvaruteknik som består av följande aktiviteter: upptäckt av överlappningar, upptäckt av inkonsekvenser, diagnos av inkonsekvenser, hantering av inkonsekvenser, spårning av inkonsekvenser och specifikation och tillämpning av inkonsekvenshanteringsstrategier.
Inconsistency Management in Software Engineering: Survey and Open Research Issues
{'venue': 'IN HANDBOOK OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING', 'journal': None, 'mag_field_of_study': ['Engineering']}