Product Line Engineering är en viktig praxis i många mjukvaruutvecklingsmiljöer där systemen är komplexa och utvecklade för flera kunder med varierande behov. Samtidigt är många affärssammanhang användningsfallsdrivna där användningsfall är de viktigaste artefakter som driver krav framkallande och många andra utvecklingsverksamheter [1], [2]. I sådana sammanhang är information om variabilitet ofta inte uttryckligen representerad, vilket leder till ad-hoc förändringshantering av utvecklingsartefakter såsom användningsfall, domänmodeller och testfall i produktfamiljer. Detta arbete handlar om att uppnå automatiserad och effektiv förändringshantering i en produktfamilj inom ramen för användningsfallsdriven utveckling och systemtester. I detta syfte tillhandahåller vi följande: En modelleringsmetod för att fånga variabilitetsinformation i Product Line (PL) användningsfall och domänmodeller. Modelleringsmetoden gör det möjligt för analytiker att fånga upp och dokumentera variabilitet i PL use case diagram, använda case specifikationer, och domän modeller, utan att ytterligare kräva en funktionsmodell. För PL använda case diagram och domän modeller, det bygger på förlängningar som redan diskuterats i litteraturen. Vidare, för PL användning fallspecifikationer, bygger vi på begränsad användning Case Modelling (RUCM), som innehåller en mall och begränsningsregler för att minska imprecision och ofullständighet i användningsfall [3]. Ett tillvägagångssätt för automatiserad konfiguration av produktspecifika (PS) användningsfall och domänmodeller. Användningsfallsdriven konfiguration bygger på vår modelleringsmetod. Baserat på ett verktyg (PUMConf) stöder det automatiserad konfiguration som möjliggör effektiv produkt-line management vid användning fall-driven utveckling, utan att kräva ytterligare modellering artefakter och spårbarhet till externa modeller såsom funktionsmodeller [4]. En strategi för förändringskonsekvensanalys för att utveckla konfigurationsbeslut i PL-användningsmodeller. Vårt tillvägagångssätt identifierar automatiskt beslut som påverkas av ändringar i konfigurationsbeslut på PL-användningsmodeller. Den stöder tre verksamheter. För det första föreslår analytikern en ändring, men tillämpar den inte på motsvarande beslut om konfiguration. För det andra identifieras den föreslagna ändringens inverkan på andra konfigurationsbeslut automatiskt. I detta syfte utvecklade vi en algoritm som möjliggör resonemang om efterföljande beslut som en del av vår konsekvensanalys. Analytikern informeras om förändringens inverkan på besluten för PL-användningsmodellen. På grundval av detta bör analytikern besluta om den föreslagna ändringen ska tillämpas på motsvarande beslut. För det tredje återställs modellerna för PS-användning stegvis endast för de påverkade besluten efter det att analytikern faktiskt har gjort alla nödvändiga ändringar. För att stödja dessa tre aktiviteter har vi utökat vår konfigurator, PUMConf [5], [6]. En metod för automatisk klassificering och prioritering av systemtestfall i en produktgrupp. Vårt tillvägagångssätt identifierar automatiskt systemtestfall som påverkas av ändringar i konfigurationsbeslut i PL-användningsmodeller, när en ny produkt konfigureras i produktfamiljen. Den ursprungliga produkten testas individuellt och följande produkter testas med hjälp av tekniker inspirerade av regressionstest, dvs. klassificering av testfall och prioritering, baserat på konfigurationsbeslutsändringar mellan den eller de tidigare produkterna och den nya produkt som ska testas.
I REF presenterar författarna ett verktygsbaserat tillvägagångssätt för att analysera förändringseffekter när det gäller föränderliga konfigurationer av modeller för användning av produktlinjer, som tillämpar en idé som liknar vår konsekvensanalys.
Change Impact Analysis for Evolving Configuration Decisions in Product Line Use Case Models
{'venue': '2019 IEEE/ACM 10th International Symposium on Software and Systems Traceability (SST)', 'journal': '2019 IEEE/ACM 10th International Symposium on Software and Systems Traceability (SST)', 'mag_field_of_study': ['Computer Science']}