Szerkesztő:MiklosL/Változások hatáselemzése

 

A változások hatáselemzése (IA) vagy hatáselemzés[1] a telepített termék vagy alkalmazás változásainak elemzése és lehetséges következményeik elemzése.[2][3]

Bohnner és Arnold [4] meghatározza a változás hatáselemzését úgy, mint "a változás potenciális következményeinek azonosítása, vagy becslése arról, hogy mi módosulhat, hogy végrehajtsunk egy változást", és ők az IA-t a tervezés részleteiben bekövetkező változások hatáskörének meghatározására összpontosítanak. Ellentétben Pfleeger és Atlee [5] azonosítják a változásokkal járó kockázatokat és kijelentik, hogy az IA: "a változással kapcsolatos sok kockázat értékelése, beleértve az erőforrásokra, erőfeszítésekre és ütemtervre gyakorolt hatások becslését is". A tervezési részletek és a módosításokkal kapcsolatos kockázatok mind kritikusak az IA végrehajtásához a változáskezelési folyamatokon belül. Ebben a kontextusban néha említenek egy technikai szakkifejezést is, a függőségi bonyodalmat (Dependency hell).

A hatáselemzési technikák típusai

szerkesztés

Az IA technikák három típusba sorolhatók: [6]

  • Nyom
  • Függőség
  • Tapasztalati

Bohner és Arnold [7] az IA két osztályát azonosítják: nyomkövethetőségi és függőségi IA. A nyomkövethetőségi IA esetében a követelmények, specifikációk, tervezési elemek és tesztek közötti kapcsolatokat rögzítik, és ezeket a kapcsolatokat elemzik annak meghatározása érdekében, hogy egy kezdeményező változás milyen terjedelmű. [8] A függőségi IA során az alkatrészek, változók, logika, modulok stb. közötti kapcsolatokat értékelik annak érdekében, hogy megállapítsák egy kezdeményező változás következményeit. A függőségi IA részletesebb szinten történik, mint a nyomkövethetőségi IA. A szoftvertervezésen belül statikus és dinamikus algoritmusok futtathatók a kódon, hogy végrehajtsák a függőségi IA-t. [9][10] A statikus módszerek a program struktúrájára összpontosítanak, míg a dinamikus algoritmusok információkat gyűjtenek a program viselkedéséről futási időben.

Az irodalom és a mérnöki gyakorlat is javasol egy harmadik típusú IA-t, azaz a tapasztalati IA-t, mivel a változások hatását gyakran a szakértői tervezési tudás alapján határozzák meg. Felülvizsgálati értekezleti protokollok, [11] az informális csapatmegbeszélések és az egyéni mérnöki ítélőképesség [12] mind használhatók annak meghatározására, hogy milyen következményekkel jár egy módosítás.

Csomagkezelés és a függőségi IA

szerkesztés

A szoftvert gyakran csomagokban szállítják, amelyek függőségeket tartalmaznak más szoftvercsomagokra, amelyek szükségesek a telepített szoftver futtatásához. Ezeknek a függőségeknek a visszafelé követése kényelmes módja annak, hogy azonosítsuk egy szoftvercsomag tartalmának megváltoztatásának hatását. Példák olyan szoftverekre, amelyek segítenek ebben:

  • Olyan szkriptek, mint a whatrequires [13] (RPM-hez) és a Debian csomagformátumok.

Forráskód és a függőségi IA

szerkesztés

A metaadatok segítségével meg lehet érteni a függőségeket statikus elemzés útján. Az ilyen függőségek megjelenítését támogató eszközök közé tartoznak:

Vannak olyan eszközök is, amelyek teljes szöveges keresést alkalmaznak a különböző tárolókban tárolt forráskódon. Ha a forráskód webböngészhető, akkor a klasszikus keresőmotorok használhatók. Ha a forrás csak futási környezetben érhető el, akkor bonyolultabbá válik, és speciális eszközök segíthetnek. [14]

Követelmények és nyomon követhetőség a forráskódban

szerkesztés

A legújabb eszközök gyakran stabil linkeket használnak a függőségek nyomon követésére. Ez minden szinten elvégezhető, köztük specifikáció, vázlatterv, hibák, és commitok. Ennek ellenére, a keresőoptimalizálásból ismert visszalépések ellenőrzésének használata nem elterjedt. Kutatások folynak ezen a területen is, csak hogy néhány példát említsünk: használati eset térképek.

Ezen a területen a kereskedelmi eszközök közé tartozik a Rational DOORS.

Lásd még

szerkesztés

Hivatkozások

szerkesztés


  1. Change Impact Analysis - Introduction (angol nyelven). ktern.com, 2021. december 29. [2022. január 27-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. január 27.)
  2. Change Impact Analysis | SMS Tools (angol nyelven). www.aviationsafetyplatform.com. (Hozzáférés: 2022. január 27.)
  3. Bohner and Arnold, 1996, pg.3
  4. Pfleeger and Atlee, 2006, pg.526
  5. Kilpinen, 2008
  6. Bohner and Arnold, 1996
  7. Eisner, 2002, pg.236-237
  8. Rajlich, 2000
  9. Ren et al., 2005
  10. Endres and Rombach, 2003, pg.17
  11. Ambler, 2002, pg. 244
  12. whatrequires. www.pixelbeat.org . [2006. április 26-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. január 27.)
  13. ohloh, discover, track, and compare open source.. [2011. január 12-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. január 27.)
  14. Change Impact Analysis for Requirement Evolution using Use Case Maps Archiválva 2016. március 5-i dátummal a Wayback Machine-ben., Jameleddine Hassine, Juergen Rilling, Jacqueline Hewitt, Department of Computer Science, Concordia University, 2005.

További irodalom

szerkesztés
  • Ambler, S. (2002). Agilis modellezés: Hatékony gyakorlatok az extrém programozáshoz és az egységes folyamathoz. New York, New York, USA, John Wiley & Sons.
  • Bohner, SA és RS Arnold, szerk. (1996). Szoftverváltozás hatáselemzése. Los Alamitos, Kalifornia, USA, IEEE Computer Society Press.
  • Eisner, H. (2002). A projekt- és rendszermérnöki menedzsment alapjai. New York, New York, USA, John Wiley & Sons.
  • Endres, A. és D. Rombach (2003). Szoftver- és rendszermérnöki kézikönyv: empirikus megfigyelések, törvények és elméletek. New York, New York, USA, Addison-Wesley.
  • Kilpinen, MS (2008). A változás megjelenése a rendszermérnöki és szoftvertervezési felületen: a hatáselemzés vizsgálata. PhD értekezés . Cambridge-i Egyetem. Cambridge, Egyesült Királyság.
  • Pfleeger, SL és JM Atlee (2006). Szoftverfejlesztés: elmélet és gyakorlat. Upper Saddle River, New Jersey, USA, Prentice Hall.
  • Rajlich, V. (2000). "Modell és eszköz a változások terjesztéséhez a szoftverben." ACM SIGSOFT Software Engineering Notes 25(1):72.
  • Ren, X., F. Shah és mtsai. (2005). Chianti: Eszköz a Java programok változási hatásainak elemzéséhez. Nemzetközi Szoftverfejlesztési Konferencia (ICSE 2005), St Louis, Missouri, USA.

[[Kategória:Változás menedzsment]]