Szerkesztő:MklosL/Változás hatáselemzés
A változások hatáselemzése (IA) vagy hatáselemzés a telepített termék vagy alkalmazás változásainak elemzése és lehetséges következményeik elemzése. [1] [2] </link>[ jobb forrás szükséges ]
Bohnner és Arnold meghatározza a változás hatáselemzését [3]ú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[4] 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ítik egy technikai szakkifejezést is, a függőségi bonyodalom.
A hatáselemzési technikák típusai
[szerkesztés]Az IA technikák három típusba sorolhatók: [5]
- Nyom
- Függőség
- Tapasztalati
Bohner és Arnold [6]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ű.[7] 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 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. [8] [9] 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, [10] az informális csapatmegbeszélések és az egyéni mérnöki ítélőképesség[11] mind használhatók annak meghatározására, hogy milyen következményekkel jár egy módosítás. [ hogyan? ]
Csomagkezelés és 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 függőségi IA
[szerkesztés]A metaadatok[melyik?] segítségével[hogy?] 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övegű keresést alkalmaznak különböző tárolókban tárolt forráskódokon. Ha a forráskód webböngészőből elérhető, akkor a klasszikus keresőmotorok használhatók. Ha a forrás csak a futásidejű környezetben érhető el, akkor bonyolultabbá válik, és szakosodott eszközök lehetnek segítségünkre. [13][ ellenőrzés szükséges ] [ nem megfelelő külső hivatkozás? ]
Követelmények és nyomon követhetőség a forráskódban
[szerkesztés]A legújabb eszközök[melyek?] 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.[14]
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). Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. New York, New York, USA, John Wiley & Sons.
- Bohner, S.A. and R.S. Arnold, Eds. (1996). Software Change Impact Analysis. Los Alamitos, California, USA, IEEE Computer Society Press.
- Eisner, H. (2002). Essentials of Project and Systems Engineering Management. New York, New York, USA, John Wiley & Sons.
- Endres, A. and D. Rombach (2003). A Handbook of Software and Systems Engineering: Empirical Observations, Laws and Theories. New York, New York, USA, Addison-Wesley.
- Kilpinen, M.S. (2008). The Emergence of Change at the Systems Engineering and Software Design Interface: An Investigation of Impact Analysis. PhD Thesis. University of Cambridge. Cambridge, UK.
- Pfleeger, S.L. and J.M. Atlee (2006). Software Engineering: Theory and Practice. Upper Saddle River, New Jersey, USA, Prentice Hall.
- Rajlich, V. (2000). "A Model and a Tool for Change Propagation in Software." ACM SIGSOFT Software Engineering Notes 25(1):72.
- Ren, X., F. Shah, et al. (2005). Chianti: A Tool for Change Impact Analysis of Java Programs. International Conference on Software Engineering (ICSE 2005), St Louis, Missouri, USA.
[[Kategória:Változás menedzsment]]