Az értékes technikák, eszközök és példák rendszerezése és újrafelhasználása
Megjelent 2007. április 17-én
Valahol, valamikor, valaki már szembesült egy a tiédhez hasonló problémával, és kitalálta, hogyan oldja meg. Mi lenne, ha megörökítenéd ennek a személynek a nehezen megszerzett információit, és a megoldást újrafelhasználható formába öntenéd? A tervezési és elemzési minták pontosan ezt nyújtják a szoftvermérnököknek az elmúlt évtizedben. Ezek a minták azonban általában egy konkrét megoldást tárgyalnak; nem sok útmutatást adnak ahhoz, hogy megtanuljuk, hogyan ismerjük fel a megfelelő mintát, és hogyan alkalmazzuk azt a mintát egyáltalán.
Szerencsére fordulhatunk az analitikus keretrendszerekhez, amelyek az újrafelhasználható megoldásokat elemzési mintákkal, kutatásokkal, hasznos szervezési technikákkal és a sikeres megközelítések konkrét példáival kombinálják. Egy elemzési keretrendszer egy kicsit olyan, mint a saját személyes könyvtárunk, amelyet kifejezetten a saját tapasztalatainkhoz és hátterünkhöz igazítunk.
Az elemzési mintákat már évek óta használják a szoftverfejlesztésben, hogy megoldásokat kínáljanak az adathozzáférésre, a tranzakciók felügyeletére és kezelésére, a biztonságra, az üzenetküldésre, a felhasználói felületekre és más alkalmazási igényekre. Nem arra szolgálnak, hogy kódba implementálják őket, hanem inkább arra, hogy lehetővé tegyék az elemzők számára az összetett problématartományok megértését.
Az analitikai keretrendszerek ilyen mintákat tartalmaznak, és egyúttal egy olyan készségek, eszközök és technikák ellenőrző listáját is biztosítják, amelyek egy adott terület, például az üzleti elemzés vagy a rendszerarchitektúra kutatásához szükségesek. Ez nagy segítség lehet azoknak a vállalatoknak, amelyek egy aktuális igény kielégítésére keresnek konkrét készségeket. Ha egy jelölt bizonyítani tudja a felsorolt tapasztalatokat és képességeket, akkor valószínű, hogy a jelölt sikeresen el fogja látni a feladatot.
Az analitikai keretszerkezet megértése
Gondoljunk csak bele egy pillanatra, hogy egy fafeldolgozásban jártas ember hogyan megy neki a bútorok készítésének. Egy néhány egyszerű szerszámra és saját személyes tudására szorítkozó dolgozónak nehéz és időigényes lehet az új darabok elkészítése. Másrészt, ha ugyanezt a személyt ellátják egy teljesen felszerelt műhellyel, nagy teljesítményű szerszámokkal, valamint egy teljes könyvtárnyi tervrajzzal és példadarabokkal, akkor sokkal könnyebben tud összetett, érdekes bútorokat készíteni. Ugyanígy az elemző teljesítménye is javulhat, ha hozzáférhet bevált elemzési mintákhoz, hatékony elemzési eszközökhöz és technikákhoz, valamint az összetett információk megragadására és bemutatására szolgáló hatékony modellezési megközelítések számos példájához.
Az elemzési keret öt fő összetevőből áll: az eszközök választékából, hasznos megoldási minták készletéből, egy vagy több modellformából, többféle kutatási technikából és készségből, valamint a komplex információk csoportosításának módszereiből. Az 1. táblázat mutatja az üzleti elemzési keretrendszerhez szükséges elemeket.
1. táblázat. Üzletelemzési keretrendszer
Elem | leírás |
---|---|
eszközök | Szövegszerkesztő, modellező szoftverek, dokumentumverzió-ellenőrzés |
Minták | Iparág-specifikus minták, üzleti rendszerek mintái, üzleti szervezeti struktúrák |
Modellformák | Organizációs diagram, Unified Modeling Language (UML) üzleti eset, UML tevékenység, Zachman Framework |
Technikák | Figyelés, interjúkészítés, dokumentum tanulmányozás |
Készségek | Jegyzetelés, aktív hallgatás, megbeszélések moderálása, csapatvezetés, kritikus gondolkodás, analógiás gondolkodás |
Kategorizálás | Üzleti folyamatok kerete, részleghierarchia, üzleti használati esetek, üzleti-funkcionális függőségi gráf |
Ez az üzleti elemzési keretrendszer, az üzleti folyamatok feltárásának és rögzítésének hatékony eszközei közé tartoznak a modellező szoftverek (különösen az UML modellezés, ha az üzleti követelményeket használati esetek formájában rögzítik), a szövegszerkesztési segédletek, valamint a modellek és dokumentumok verziószabályozásának valamilyen formája. Az eszközök lehetnek egyedi igényekre szabottak, vagy lehetnek általánosabb eszközök, például egy egyszerű vizuális rajzeszköz.
A visszatérő elemzési minták hatékonyak lehetnek, ha egy adott elemzési területre alkalmazzák őket. Az üzleti elemzési keretrendszerben ezek a minták magukban foglalják az üzleti rendszermintákat (mint például a rendelésfelvétel, a készletellenőrzés és a kereskedelem felbontása), az iparágspecifikus mintákat (mint például a telefonos útválasztás, a csomagküldés és ütemezés, valamint a gyógyszergyártás ellenőrzése) és az üzleti struktúrákat (mint például a mátrixok, hierarchiák és az elosztott szervezetek). A minták olyan témák, amelyekről megállapították, hogy bizonyos üzleti területeken ismételten előfordulnak. Az ismétlődő üzleti témák megragadásának módjairól bővebben a “Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML” című könyvben olvashat. (További információkért lásd a Kapcsolódó témák részt.)
A komplex információk megragadásához válogatott modellformákat használhat. Az összetett analitikus elemzéshez számos hasznos modellforma létezik, például az Unified Modeling Language (UML) a szoftver-intenzív rendszerekhez, a Systems Modeling Language (SysML) a rendszertervezéshez és a Zachman Framework a szervezetet átfogó problémákhoz. Az 1. táblázatban bemutatott üzleti elemzési keretrendszer példájában az üzleti folyamatok tanulmányozásához hasznos modellformák közé tartozik az UML (a folyamatok és a használati esetek modellezéséhez), a hierarchikus szervezeti ábrák és a Zachman-modell egy esetlegesen módosított formája.
A technikák és a készségek minden elemzési megközelítés döntő szempontja. Fontos, hogy értékelést tudjunk adni egy egyén vagy csapat jelenleg rendelkezésre álló készségeiről. Például az interjúkészítés technikája megköveteli a jegyzetelés és az aktív hallgatás készségeit. Egy csoportos workshop vezetése a facilitálás és a csapatvezetés készségeit igényli. A rendszerelemzés a problémáról való kritikus gondolkodás (annak felismerése, hogy a probléma hogyan osztható kisebb, egyszerűbb területekre) és a más területeken talált hasonló megoldások alkalmazásának képességeire támaszkodik.
Az elemzés célja az eredmények közönség előtti bemutatása. A világ legjobb elemzője sem lesz sikeres, ha nem tudja az információkat értelmes, bemutatható módon rendszerezni. Az automatizált eszközök csak részben nyújtanak megoldást erre a problémára; az információk általános szervezése határozza meg, hogy a célközönség hogyan fogja felhasználni az adatokat. Az üzleti elemzési keretrendszerben ezeket a kategorizálási elveket az üzleti folyamatok (ahol az üzletet részterületekre osztják), az üzleti felhasználási esetek közötti függőségi gráfok és az általános szervezeti struktúra (jellemzően hierarchikus) képviseli.
Egy elemzési keretrendszer alkalmazása
Most, hogy már tudja, hogy miből áll egy elemzési keretrendszer, meg kell tanulnia, hogyan használja azt. Legalább három olyan helyzet van, amikor egy analitikus keretrendszer jól jöhet. Az első az, amikor az egyénnek szerepet kell váltania. Például egy üzleti elemző átkerülhet rendszerelemzői vagy tesztelemzői szerepkörbe. Mindegyik szerepkörnek más-más feladatai vannak, és teljesen más dokumentációt és munkatermékeket állít elő. Ha az egyén egy már meglévő elemzési keretrendszerre támaszkodhat (megfelelő példákkal), sokkal könnyebb lesz az új szerepre való felkészülés és átállás. Az egyénnek meg kell tanulnia, hogy mely eszközök, technikák, minták, modellek és szervezési megközelítések működnek a legjobban az egyes helyzetekben. Az analitikus mintához való hozzáférés minden egyes ilyen területre vonatkozóan jelentősen csökkentheti a megoldások keresésével töltött időt.
A második terület, ahol az analitikus keretek hasznosnak bizonyulhatnak, a kiszervező csoport készségeinek és felkészültségének felmérése. A legtöbb szervezet, amely near-shore vagy offshore kiszervezést alkalmaz, a csoportok korábbi tapasztalataira támaszkodik annak megítélésében, hogy képesek-e a megállapodás szerinti artefaktumok szállítására. Ha a kiszervezett csapatot egy bizonyos standardhoz tartják, amelyet egy konkrét, bizonyítottan hatékony analitikus minta határoz meg, akkor nagyobb a bizalom abban, hogy a csapat a megfelelő anyaggyűjteménnyel és képességekkel fog rendelkezni. Ugyanez elmondható a belső csapatokról is, bár ezek a csapatok jellemzően már bizonyítottak egy adott megközelítést, amely az elemzési keretrendszer forrását adja.
A harmadik terület, ahol az elemzési keretrendszerek jól jönnek, a képzés. Ha tanulmányozza az 1. táblázatban bemutatott keretrendszert, nyilvánvalóvá kell válnia, hogy ezek képezhetik egy csapatfejlesztő képzési terv alapját. Felmérést végezhet annak megállapítására, hogy a keretrendszer elemeinek, eszközeinek, mintáinak és készségeinek megfelelő gyűjteménye már rendelkezésre áll-e a csapat tagjainál, vagy azt vagy egy eszköz megvásárlásával, vagy a személyzet képzésével kell kiegészíteni.
Keretrendszerek létrehozása és adaptálása
Az analitikai keretrendszer csak akkor hasznos, ha az eszközök ismerősek a modellező számára. A tehetséges asztalosra emlékeztetve, a legfinomabb szerszámok is haszontalanok egy képzett és tehetséges kézműves kreatív alkalmazása nélkül. Hasonlóképpen, az esztétikailag tetszetős modellek építéséhez egy vagy több analitikai keretrendszer adaptálása szükséges a problématerülethez. Tudnia kell, hogyan válassza ki a legmegfelelőbb keretrendszert, ismerkedjen meg a keretrendszer elemeivel, és igazítsa a keretrendszer elemeit az adott problémához.
Sok problémának vannak visszatérő aspektusai, így gyakran adaptálhat egy szorosan kapcsolódó keretrendszert. Például szinte minden örökölt számítógépes rendszernek szüksége van valamilyen tervezési vizsgálatra, már csak azért is, hogy új fejlesztőket képezzenek ki a rendszer karbantartására és bővítésére. Ezért egy rendszertervezési keretrendszer jobban alkalmazható, mint egy üzleti folyamat keretrendszer.
Az új keretrendszer létrehozása lehet olyan egyszerű, mint egy meglévő keretrendszer klónozása és új minták és példák hozzáadása. Másrészt az összetettebb keretrendszerek, például a beágyazott rendszerek projektjeinek elemzésére és irányítására kidolgozható keretrendszerek kevés közös vonást mutathatnak más meglévő keretrendszerekkel, ezért előfordulhat, hogy a semmiből kell létrehozni őket. Azzal kell kezdenie, hogy megvizsgálja, milyen eszközöket és technikákat alkalmazhat az adott területen. Előfordulhat például, hogy a meglévő technikákat, mint például az interjúkészítés vagy a csoportvezetés, módosítani kell az új terület támogatásához. Lehet, hogy a modellező számára más eszközöket is biztosíthat bizonyos feladatokhoz, például számítógépes szoftverfejlesztést (CASE) a weboldalak szövetségének tartalmának megszervezéséhez. Az idő előrehaladtával a keretrendszert több példával is bővítheti. Végül a projekt lezárásakor formálisan rögzítheti a leghasznosabbnak bizonyult technikákat és mintákat elemzési mintaként a következő alkalmazható problémánál való felhasználásra.
Előfordulhat, hogy egy elemzési keretrendszert adaptálnia kell, mielőtt az egy adott kontextusban használhatóvá válik. Egy keretrendszer adaptálása új minták vagy szervezési sémák beillesztését jelenti, hogy jobban megfeleljen a téma igényeinek. Ily módon bővítheti és fejlesztheti ezeket a keretrendszereket újszerű problématerületekhez. Ahogy új eszközök és technikák válnak elérhetővé, és ahogy új elemzési mintákat fedeznek fel és kodifikálnak, ezeket hozzáadhatja az eszköztárához, és egy módosított keretrendszerbe szervezheti őket. Ha a módosítás mértéke jelentős, az azt jelezheti, hogy egy teljesen új keretrendszert kell létrehoznia.
Az elemzési keretrendszer használatba vétele
Képzelje el, hogy Ön egy vezető fejlesztő, akit most bíztak meg egy örökölt rendszer architektúrájának új pozíciójával. Ön nem vett részt az eredeti fejlesztési munkában, de gyorsan meg kell tanulnia a rendszert, és egy új csapattagokból álló stábot kell felzárkóztatnia, amihez először Önnek kell felzárkóznia. Szerencsére van néhány dolog az Ön javára. Először is, a vállalat más hasonló rendszereiből jó mintaarchitektúrával rendelkezik. Másodszor, hozzáférhet a szoftverarchitektúra analitikus mintájához (lásd a 2. táblázatot).
2. táblázat. Szoftverarchitektúra elemzési keretrendszer
Elem | leírás |
---|---|
eszközök | Kódprofilozó, adatbázis-jelentő eszköz, szoftver-architektúra dokumentum sablon, modellező szoftver, kódelemzés |
Minták | Szoftver-kiépítési minták, architektúraminták, rendszertervezési minták, adattárolási minták |
Modellformák | Dinamikus modellek (például UML szekvencia, algoritmusdiagramok, UML állapot és UML tevékenység), adatbázis entitás-kapcsolati diagramok, strukturális modellek (például UML osztály- és függvényhívási térkép), adatáramlási diagramok, vállalati rendszermodellek |
Technikák | Abrakt gondolkodás, szervezés és kategorizálás, kritikai elemzés, jegyzetelés |
Készségek | Kódszerkezet, folyamelemzés, hardverprofilozás, rendszer viselkedése |
Kategorizálás | Funkcionális viselkedés, alrendszerfüggőség, komponensfüggőség, telepítési csomagolás |
A szoftverarchitektúra keretrendszer felhasználásával az első lépés az összes ajánlott eszköz összeállítása. A modellező eszköz lehetővé teszi a meglévő kód UML-modellben való megjelenítését, így megvizsgálhatja a kód meglévő szerkezetét. A futásidejű profilozó értékes a híváshalmazok rögzítéséhez az alkalmazás funkcionalitásának végrehajtása során.
A következő lépésben megvizsgálhatja az alkalmazásban jelen lévő általános architektúramintákat. Ezeket a mintákat, ha vannak, a keretrendszerben megjegyzett közös mintaleírások segítségével azonosíthatja, különösen az elemzési és tervezési mintákat. Számos ilyen mintát közzétesznek; a leggyakoribbak ismerete gyakran elegendő egy architektúraelemzési erőfeszítéshez.
A különböző modellformák, például az entitás-relációs diagramok (ERD-k), az UML és más rendszerorientált modellezési megközelítések ismerete a modellezési lehetőségek széles skáláját biztosítja. Ezeknek a modelleknek a funkcionális viselkedés, a fizikai struktúrával összehasonlított logikai és a belső viselkedési állapotok szerinti kategorizálása a rendszer általános architektúrájának hasznos nyilvántartását fogja eredményezni. Végül fontos, hogy ismerje saját korlátait. Az önértékelés nehéz feladat, de szükséges ahhoz, hogy biztosítsa és megnyugtassa magát, hogy az összes valóban szükséges készség a csapat rendelkezésére áll. A szoftverarchitektúra-elemzési keretrendszerben felsorolt elvárt képességek halmazának használata jó kiindulópontot nyújt az architektúraelemzési feladathoz szükséges képességek típusainak meghatározásához. Az elemzési keretrendszer egy ellenőrző listát ad a sikerhez szükséges elemek minimális mennyiségéről. Speciális architektúrákhoz, például szállítóhálózatokhoz további készségekre lehet szükség.
Összefoglaló
A komplex szoftverrendszerek tanulmányozása és megértése kihívást jelentő feladat lehet. A siker érdekében különféle eszközöket és technikákat kell alkalmaznia a rendszerleírások összegyűjtéséhez, elrendezéséhez és bemutatásához. Az elemzési keretrendszerek létrehozásával és adaptálásával jó előre felkészülhet, és hasznos eszközöket és példákat gyűjthet, amelyeket az aktuális helyzetben használhat. Most, hogy tudja, milyen elemekből áll egy sikeres analitikai keretrendszer, hogyan használhatja újra a keretrendszereket, és hogyan hozhat létre új keretrendszereket, jól felkészült lesz a mai összetett problémák számos gyakori helyzetének kezelésére.
Letölthető források
- PDF ebből a tartalomból
- Az üzleti archetípusokról bővebben az Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML, Jim Arlow és Ila Neustadt (Addison-Wesley Professional, 2003) című könyvében olvashat.
- Nézze meg Ben Lieberman A modellezés művészete című háromrészes sorozatát (PDF), amelyben megtanulhat az analitikus keretrendszer felépítéséről, a modell szervezéséről és felépítéséről, valamint a vizuális kompozícióról (developerWorks, 2003. augusztus).
- Tanuljon meg modellezni szerkezeti formákkal, szervező témákkal és diagramforgókkal Ben Lieberman “Hatékony rendszermodellek építése” című cikkében (developerWorks, 2007. március).
Tanulja meg, hogyan modellezzen szerkezeti formákkal, szervező témákkal és diagramforgókkal.