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:
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]
- 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.)
- ↑ Change Impact Analysis | SMS Tools (angol nyelven). www.aviationsafetyplatform.com. (Hozzáférés: 2022. január 27.)
- ↑ Bohner and Arnold, 1996, pg.3
- ↑ Pfleeger and Atlee, 2006, pg.526
- ↑ Kilpinen, 2008
- ↑ Bohner and Arnold, 1996
- ↑ Eisner, 2002, pg.236-237
- ↑ Rajlich, 2000
- ↑ Ren et al., 2005
- ↑ Endres and Rombach, 2003, pg.17
- ↑ Ambler, 2002, pg. 244
- ↑ whatrequires. www.pixelbeat.org . [2006. április 26-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. január 27.)
- ↑ 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.)
- ↑ 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]]