Användning av modellering vid tveckling av Flygvapnets lednings- och informationssystem, IS FV Staffan Angermnd, WM-data stang@wmdata.com 2002-10-23 Modellbaserad tveckling - IS FV
Innehåll Historik IS FV Vad är IS FV? Tidigare tvecklingsarbete Nvarande modelldrivna tvecklingsarbete Erfarenheter från tvecklingsarbetet 2002-10-23 Modellbaserad tveckling - IS FV
Historik IS FV Sedan länge LI FV Sesam / Prims Datek IS FV 2002-10-23 Modellbaserad tveckling - IS FV
IS FV 2002-10-23 Modellbaserad tveckling - IS FV
IS FV 1.0 inom FV2000 FTK Insats BasUh Uppdragsdata fi Resrskontroll Und / FgO FgO fi ARU fi LS 10 Fplrapp fl FgO fl ARU fl Fgplan STRIC Lftläge TARAS Stri-länk Statsrapp Resrser Klgrapp+klgstör Skedesrapp fl Insatsplan fl Fnktionsorder fl FgO/bas fl Förbandsrapp Fgplan fl ARU fl SU-tjänst Fgplan ARU fl Fplrapp Flygbas Förbandsledn (BasC) KC-tjänst Fgplan fl ARU fl FgO fl Flygdivision PLA UTA DS Band Fgplan fi Förapp 2002-10-23 Modellbaserad tveckling - IS FV
OPIL - IS FV OPIL OPL Lft Sjö Mark Taktiska Kommandon FTK IS FV Förband Stridsledning Flygbas Flygbas 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - insatsplanering 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - resrsppföljning 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - resrsppföljning 2002-10-23 Modellbaserad tveckling - IS FV
IS FV 2002-10-23 IS FV - lägesbild Modellbaserad tveckling - IS FV
IS FV - lägesbild 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - lägesbild 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - lägesbild 2002-10-23 Modellbaserad tveckling - IS FV
IS FV 2002-10-23 IS FV - översikt Modellbaserad tveckling - IS FV
IS FV - stats 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - logganalys 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - logganalys 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - driftkonfigration FTK-B IS FV FTK NTWKSADM TAK NTWS?? TAK Skrivare färg?? LS 10 STRIC NTADM TAK NTAPP1 CAMA TAK VPN LS 10 Tyko 32 STRIC/M CDRW TAK Roter DLT SOLSEC SOLAPP NTAPP2 Und/FgO Tyko 32 FTN Accessroter STRIC Flygbas KC TAK NTWKSADM TAK NTWS IS FV Bas Flygbas BasC TAK Skrivare NTWS NTADM färg?? CDRW TAK NTAPP1 CAMA TAK Roter FM IP Division Accessroter Accessroter PLA STRIC/X Förklaringar Hb/Switch TP-kabel p-p kabel Optokabel Optokonv VPN VPN DLT SOLSEC SOLAPP VPN Tyko 32 Svart Rött Krypterat Klartext 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - tvecklingsmiljö MS Visal Stdio (C/C++) MS Visal Stdio (VB) Install shield MS Visal Sorce Safe FM GTP Tes Informix ESQL/C Rational Rose CAMA MS Windows NT Sn Solaris Sn Workshop C/C++ MS Office (dokmentation) OCX:er Spatial ACE IBM DCE RUP 2002-10-23 Modellbaserad tveckling - IS FV
IS FV - stats 1.0 A Centralt ackrediteringsarbete FMV Verifiering & Validering Utbildning Prov 2002-10-23 Modellbaserad tveckling - IS FV
Tidigare tvecklingsarbete... Verksamhetsanalys s s s Begreppsmodeller Flödesmodeller Målmodeller s... TTEM Kravspecifikationer 2002-10-23 Modellbaserad tveckling - IS FV
Tidigare tvecklingsarbete - svagheter Stora grepp, både bredd och djp Olika språk i krav och system Endast läsbar dokmentation Bristande spårbarhet Svag återkoppling till kravställare, ansvar Bristande kontinitet 2002-10-23 Modellbaserad tveckling - IS FV
Nvarande tvecklingsarbete Användningsfall UML ACT002: KC (from Bas) ACT001: Förbandsledning (from Bas) RUP UC01-01: Visa Insatsplan MILSTD - RUP ACT003: Bas/Uh (from Ftk) UC01-07: Förlstrapportera företag UC01-03: Uppdragsplanera ACT004: Insats (from Ftk) Iterationer UC01-08: Ställ in företag ACT006: Und/FgO Kodgenerering UC01-02: Hantera Företagsorder 2002-10-23 Modellbaserad tveckling - IS FV
Modeller Affärsobjektmodell Affärsanvändningsmodell Användningsfallsmodell Analysmodell Designmodell Implementationsmodell 2002-10-23 Modellbaserad tveckling - IS FV
Användningsfallsmodell - insatsplanering Use-Case Model ACT002: KC (from Bas) ACT001: Förbandsledning (from Bas) UC01-01: Visa Insatsplan ACT003: Bas/Uh (from Ftk) UC01-07: Förlstrapportera företag ACT004: Insats (from Ftk) UC01-03: Uppdragsplanera UC01-08: Ställ in företag ACT006: Und/FgO 2002-10-23 UC01-02: Modellbaserad Hantera tveckling Företagsorder - IS FV
Design modell Design Model <<layer>> UI Use-Case Realizations <<layer>> FOB <<layer>> DH Architectral Mechanisms <<layer>> RPCKlient DB <<layer>> DLMap <<layer>> RPCServer 2002-10-23 Modellbaserad tveckling - IS FV
<<layer>> UI Design modell Design Model <<layer>> FOB <<layer>> RPCKlient DCE (from MiddleWare) ------------------------------------------------------------------------------------------------------------------------------------- <<layer>> RPCServer <<layer>> DH <<layer>> DLMap DB 2002-10-23 Modellbaserad tveckling - IS FV
Design modell - prenmeration Design Model Klientformlär : FOBObjekt : PrenmHandler : Prenmerant I samband med ppstarten av en klienttillämpning laddas de objekt som behövs. Instansiera( ) I konstrktorn till objektet anropas prenmhandler för att registrera prenmerationen. registerdependency( ) PrenmHandler anropat aktellt Prenmerant-objekt. Objektets identitet registreras i en lista över de objekt som prenmereras på. registerdependency( ) addtomapofobjects( ) Klientformläret talar om för objektet att det är intresserat av ppdateringar. connecttodoc( ) Objektet lägger till dokmentet i en lista över vilka som ska få prenmerationsevents. addtolistofdocs( ) 2002-10-23 Modellbaserad tveckling - IS FV
Design modell - kartobjekt Design Model FOBBase FOBGeoBase FOBGeoText m_fonttyp : int m_hargeoobjects : OID<FOBGeoObject> m_jstering : int m_position : int m_saverelcoll : FOBList m_serverdelete : BOOL m_text : CString ms_geotextcoll : FOBList ms_instancecollisactive : BOOL = FALSE -m_hargeotextm 0..n FOBGeoPoint m_hargeoobjects : OID<FOBGeoObject> m_lat : int m_long : int m_ordningsnr : int m_saverelcoll : FOBList m_serverdelete : BOOL m_stilx : int m_stily : int ms_geopointcoll : FOBList ms_instancecollisactive : BOOL = FALSE -m_hargeopointm 1 1..n -m_hargeoobjects 1 -m_hargeoobjects FOBGeoObject m_geopointlist : FOBList * m_geotextlist : FOBList * m_geotyp : int -m_hargeoobjectm m_hargeopointm : OIDArray<isfvOID,isfvOID> 0..n m_hargeotextm : OIDArray<isfvOID,isfvOID> m_issaving : BOOL m_nolongerusedgp : OIDArray<isfvOID,isfvOID> m_nolongerusedgt : OIDArray<isfvOID,isfvOID> m_objectsallocatedonheap : FOBList m_saverelcoll : FOBList m_serverdelete : BOOL m_tillhorflygbass : OID<FOBFlygbas> m_tillhorkartobjs : OID<FOBKartObjekt> m_typavobjekt : int ms_geoobjectcoll : FOBList 0..n ms_instancecollisactive : BOOL = FALSE -m_geoobjpabasm 1 FOBKartObjekt -m_tillhorkartobjs m_hargeoobjectm : OIDArray<isfvOID,isfvOID> -m_tillhorflygbass FOBFlygbas 1 2002-10-23 Modellbaserad tveckling - IS FV
Implementationsmodell Implementation Model BasKlient isfv_oom.lib FTKKlient GDKlient <<Application>> objecthandler DataBase 2002-10-23 Modellbaserad tveckling - IS FV
Kodgenerering Klient P F UI FOB RPC Windows/ NT DCE Server F D RPC DH DL Sn/ Solaris ESQL-C Server CAMA DB Informix 2002-10-23 Modellbaserad tveckling - IS FV
Kodgenerering Flera lager Flexibelt och skalbart ACT002: KC (from Bas) ACT001: Förbandsledning (from Bas) Liknande/samma lösning på flera ställen ACT003: Bas/Uh (from Ftk) UC01-01: Visa Insatsplan UC01-07: Förlstrapportera företag ACT004: Insats (from Ftk) Förtsätter designmodell UC01-03: Uppdragsplanera Bra verktygsstöd UC01-08: Ställ in företag ACT006: Und/FgO UC01-02: Hantera Företagsorder 2002-10-23 Modellbaserad tveckling - IS FV
Fakta kring kodgenerering 450 000 rader kod (LOC, t.ex. ej kommentarer) 2900 filer 110 000 rader genererade (LOC) 63 % genererade (exkl. UI, onlinehjälp, simlator, install,..) 40% av FOB lagret Senaste 2 åren, 5 hittade fel Förändrad foks på tveckling 2002-10-23 Modellbaserad tveckling - IS FV
Möjligheter kring kodgenerering Kan kodgenerera olika för olika skeden för att optimera tveckling och på så sätt t.ex. minska beroenden till server-sidan, tillgång till maskinvara/licenser Testning nderlättas Atomatgenererad dokmentation, alltid ppdaterad Tillägg av nya objekt kan beställas De delar som kodgenereras är centrala och kritiska 2002-10-23 Modellbaserad tveckling - IS FV
Möjligheter kring kodgenerering Rörs inte så ofta, kräver specifik kompetens Informationsspridning, prenmeration, rätt information, på rätt plats Grnddata spridning 2002-10-23 Modellbaserad tveckling - IS FV
Möjligheter med modelldriven tveckling Ett gemensamt språk för hela processen (ibland dock översättning av krav) Bra stöd för kravfångst, kommnicerbar (användningsfall) Iterationstänkandet Starkt verktygsstöd, (tbildning, kostnad!) Stöd för kvalitetshöjande aktiviteter (bl.a.konfigrationsstyrning, dokmentation, spårbarhet, testning) Spårar krav (svårt!) Stöd för kodgenerering (kvalitetshöjande, prodktivitetshöjande) 2002-10-23 Modellbaserad tveckling - IS FV
Dokmentationsnivå Kravnivå Knd Kravnivå Knd och leverantör Förvaltningsnivå Implementationsnivå Kndens framtagande av kravbild Analys och översättning av kravbild tillsammans med knden Kndens kravspecifikation Use case Actor Domain model 2002-10-23 Modellbaserad tveckling - IS FV RUP RUP
Metodik kräver Engagemang Erfarenhet Tid Utbildning Uppdragsinvesteringar Programvarinvesteringar Högt i tak Handlar till slt om ordning och reda, pprepbarhet för att knna förbättra, kvalitet 2002-10-23 Modellbaserad tveckling - IS FV
Införande av en (ny) metodik Prodktivitet Optimistiska vägen Ny nivå Gammal nivå Realistiska vägen 2002-10-23 Modellbaserad tveckling - IS FV Tid