582101 - Ohjelmistotekniikan menetelmät, muutoksenhallinnan työkaluista
Muutoksenhallinnasta Keskeinen osa projektinhallintaa muutoksia hallittava, muuten “muutokset hallitsevat projektia” Muutosprosessi pitäisi määritellä osana yleistä työnkulun (workflow) kuvausta muutoksenhallintatyökalusto voidaan integroida osaksi työnkulunhallintatyökaluja
Esimerkki muutoksenhallinnasta: vikojen hallinta (IBM Rational Clear Quest)
Virheiden tilastointi ja raportointi (IBM Rational Clear Quest)
Konfiguraation- ja version hallinta Ylläpidetään resursseista (koodista, kaavioista, dokumenteista, …) useita versioita Kullakin kehittäjällä oma yksityinen työympäristö (private workspace), johon voidaan hakea (check-out) resursseja yhteisestä työympäristöstä (repository, public workspace) tai josta voidaan viedä (check-in) resursseja yhteiseen työympäristöön
Konfiguraation- ja version hallinta Versiot muodostavat versiomuutosverkon (version derivation graph), joka mahdollistaa kunkin resurssin muutoshistorian seuraamisen versioiden välisten erojen (graafisen) tarkastelun (ns. diff-toiminto) rinnakkaisten versioiden sisältämien muutosten hallitun koostamisen yhteen versioon (merge) eri resurssien sopivien versioiden yhdistämisen konfiguraatioiksi
Esimerkki versionhallinnasta (Perforce)
Esimerkki versionhallinnasta: Microsoft SourceSafe
Perinnejärjestelmien uudelleentoteutus Kokoelma menetelmiä ja tekniikoita perinnejärjestelmien analysointiin, muuttamiseen ja toteuttamiseen uudessa muodossa (esim. uudella kielellä tai uudelle alustalle) Takaisinmallinnus (reverse engineering) eli esimerkiksi UML-kaavioiden tuottaminen lähdekoodista Uudelleendokumentointi Ohjelmalogiikan uudelleenstrukturointi Uudelleenkohdennus modernille alustalle (re-targeting) Lähdekoodikäännös modernille kielelle (source-to-source translation) Tietomallin uudelleentoteutus (data reengineering) Varsinainen “perinteinen toteutus” eli forward engineering
Takaisinmallinnus (MagicDraw)
Takaisinmallinnettu ohjelmakoodi UML-kaaviona (MagicDraw)