03.08.2013 Views

Användning av modellering vid utveckling av Flygvapnets lednings ...

Användning av modellering vid utveckling av Flygvapnets lednings ...

Användning av modellering vid utveckling av Flygvapnets lednings ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2002-10-23<br />

IS FV<br />

<strong>Användning</strong> <strong>av</strong> <strong>modellering</strong> <strong>vid</strong> <strong>utveckling</strong> <strong>av</strong><br />

<strong>Flygvapnets</strong> <strong>lednings</strong>- och informationssystem, IS FV<br />

Staffan Angermund, WM-data<br />

stang@wmdata.com<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Innehåll<br />

u Historik IS FV<br />

u Vad är IS FV?<br />

u Tidigare <strong>utveckling</strong>sarbete<br />

u Nuvarande modelldrivna <strong>utveckling</strong>sarbete<br />

u Erfarenheter från <strong>utveckling</strong>sarbetet<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Historik IS FV<br />

u Sedan länge<br />

u LI FV<br />

u Sesam / Primus<br />

u Datek<br />

u IS FV<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Flygbas<br />

FTK<br />

Förbandsledn<br />

(BasC)<br />

IS FV 1.0 inom FV2000<br />

Insats<br />

BasUh<br />

› Statusrapp<br />

› Resurser<br />

› Klgrapp+klgstör<br />

› Skedesrapp<br />

fl Insatsplan<br />

fl Funktionsorder<br />

fl FgO/bas<br />

› fl Förbandsrapp<br />

KC-tjänst<br />

Uppdragsdata fi<br />

‹ Resurskontroll<br />

Fgplan › fl<br />

ARU fl<br />

FgO fl<br />

Und / FgO<br />

› Fplrapp<br />

fl FgO<br />

fl ARU<br />

› fl Fgplan<br />

FgO fi<br />

ARU fi<br />

STRIC<br />

Flygdivision<br />

PLA<br />

UTA<br />

Fgplan fl<br />

ARU fl<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

LS 10<br />

› Luftläge<br />

SU-tjänst<br />

TARAS<br />

› Fgplan<br />

› ARU<br />

fl Fplrapp<br />

DS<br />

Band<br />

Stri-länk<br />

Fgplan fi<br />

‹ Förapp


2002-10-23<br />

IS FV<br />

OPIL<br />

OPL<br />

Taktiska<br />

Kommandon<br />

Förband<br />

Stridsledning<br />

Luft<br />

FTK<br />

IS FV<br />

Flygbas<br />

Flygbas<br />

OPIL - IS FV<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

Sjö Mark


2002-10-23<br />

IS FV<br />

IS FV - insatsplanering<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - resursuppföljning<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - resursuppföljning<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - lägesbild<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - lägesbild<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - lägesbild<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - lägesbild<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - översikt<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - status<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - logganalys<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

IS FV - logganalys<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

FTK-B<br />

CDRW<br />

DLT<br />

Flygbas KC<br />

NTWKSADM<br />

IS FV FTK<br />

TAK<br />

NTADM<br />

NTWKSADM<br />

TAK<br />

SOLSEC SOLAPP<br />

NTWS<br />

IS FV - driftkonfiguration<br />

NTAPP1<br />

CAMA<br />

IS FV Bas<br />

TAK<br />

TAK<br />

NTWS<br />

?<br />

TAK<br />

??<br />

NTAPP2<br />

Und/FgO<br />

TAK<br />

VPN VPN<br />

NTWS<br />

Skrivare<br />

färg<br />

TAK<br />

TAK<br />

Flygbas BasC<br />

?<br />

CDRW<br />

DLT<br />

VPN<br />

Tyko 32<br />

NTADM<br />

SOLSEC<br />

Skrivare<br />

färg<br />

TAK<br />

??<br />

SOLAPP<br />

NTAPP1<br />

CAMA<br />

LS 10<br />

LS 10<br />

TAK<br />

VPN<br />

Tyko 32<br />

FTN<br />

Router<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

Router<br />

Accessrouter<br />

FM IP<br />

Accessrouter<br />

Tyko 32<br />

STRIC<br />

STRIC/M<br />

Division<br />

Accessrouter<br />

PLA<br />

Förklaringar<br />

Svart<br />

Rött<br />

STRIC<br />

STRIC/X<br />

Hub/Switch<br />

TP-kabel<br />

p-p kabel<br />

Optokabel<br />

Optokonv<br />

Krypterat<br />

Klartext


2002-10-23<br />

IS FV<br />

IS FV - <strong>utveckling</strong>smiljö<br />

• MS Visual Studio (C/C++)<br />

• MS Visual Studio (VB)<br />

• Install shield<br />

• MS Visual Source Safe<br />

• FM GTP Tes<br />

• Informix ESQL/C<br />

• Rational Rose<br />

• CAMA<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

• MS Windows NT<br />

• Sun Solaris<br />

• Sun Workshop C/C++<br />

• MS Office (dokumentation)<br />

• OCX:er<br />

• Spatial ACE<br />

• IBM DCE<br />

• RUP


2002-10-23<br />

IS FV<br />

IS FV - status<br />

u 1.0 A<br />

u Centralt ackrediteringsarbete<br />

u FMV Verifiering & Validering<br />

u Utbildning<br />

u Prov<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Tidigare <strong>utveckling</strong>sarbete<br />

u Verksamhetsanalys<br />

s Begreppsmodeller<br />

s Flödesmodeller<br />

s Målmodeller<br />

s ...<br />

u TTEM<br />

u Kr<strong>av</strong>specifikationer<br />

u ...<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Tidigare <strong>utveckling</strong>sarbete<br />

- svagheter<br />

u ”Stora grepp”, både bredd och djup<br />

u Olika ”språk” i kr<strong>av</strong> och system<br />

u Endast läsbar dokumentation<br />

u Bristande spårbarhet<br />

u Svag återkoppling till kr<strong>av</strong>ställare, ansvar<br />

u Bristande kontinuitet<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Nuvarande <strong>utveckling</strong>sarbete<br />

u <strong>Användning</strong>sfall<br />

u UML<br />

u RUP<br />

u MILSTD - RUP<br />

u Iterationer<br />

u Kodgenerering<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

ACT002: KC<br />

(from Bas)<br />

ACT003: Bas/Uh<br />

(from Ftk)<br />

UC01-01: Visa Insatsplan<br />

UC01-07: Förlustrapportera företag<br />

UC01-03: Uppdragsplanera<br />

UC01-08: Ställ in företag<br />

UC01-02: Hantera Företagsorder<br />

ACT001: Förbandsledning<br />

(from Bas)<br />

ACT004: Insats<br />

(from Ftk)<br />

ACT006: Und/FgO


2002-10-23<br />

IS FV<br />

Modeller<br />

u Affärsobjektmodell<br />

u Affärsanvändningsmodell<br />

u <strong>Användning</strong>sfallsmodell<br />

u Analysmodell<br />

u Designmodell<br />

u Implementationsmodell<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

<strong>Användning</strong>sfallsmodell -<br />

insatsplanering<br />

ACT002: KC<br />

(from Bas)<br />

ACT003: Bas/Uh<br />

(from Ftk)<br />

Use-Case Model<br />

UC01-01: Visa Insatsplan<br />

UC01-07: Förlustrapportera företag<br />

UC01-03: Uppdragsplanera<br />

UC01-08: Ställ in företag<br />

UC01-02: Modellbaserad Hantera <strong>utveckling</strong> Företagsorder - IS FV<br />

ACT001: Förbandsledning<br />

(from Bas)<br />

ACT004: Insats<br />

(from Ftk)<br />

ACT006: Und/FgO


2002-10-23<br />

IS FV<br />

Design modell<br />

<br />

UI<br />

<br />

DH<br />

<br />

RPCKlient<br />

<br />

DLMap<br />

Design Model<br />

Use-Case<br />

Realizations<br />

Architectural<br />

Mechanisms<br />

DB<br />

<br />

RPCServer<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

<br />

FOB


2002-10-23<br />

IS FV<br />

<br />

UI<br />

<br />

FOB<br />

<br />

RPCKlient<br />

DCE<br />

(from MiddleWare)<br />

-------------------------------------------------------------------------------------------------------------------------------------<br />

<br />

RPCServer<br />

<br />

DH<br />

<br />

DLMap<br />

DB<br />

Design modell<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

Design Model


2002-10-23<br />

IS FV<br />

I samband med uppstarten <strong>av</strong> en<br />

klienttillämpning laddas de objekt<br />

som behövs.<br />

I konstruktorn till objektet anropas<br />

prenumHandler för att registrera<br />

prenumerationen.<br />

PrenumHandler anropat aktuellt<br />

Prenumerant-objekt.<br />

Objektets identitet registreras i en<br />

lista över de objekt som<br />

prenumereras på.<br />

Klientformuläret talar om för<br />

objektet att det är intresserat <strong>av</strong><br />

uppdateringar.<br />

Objektet lägger till dokumentet i<br />

en lista över vilka som ska få<br />

prenumerationsevents.<br />

Design modell - prenumeration<br />

Klientformulär : FOBObjekt<br />

: PrenumHandler : Prenumerant<br />

Instansiera( )<br />

connectToDoc( )<br />

Design Model<br />

registerDependency( )<br />

addToListOfDocs( )<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

registerDependency( )<br />

addToMapOfObjects( )


2002-10-23<br />

IS FV<br />

FOBGeoText<br />

m_fontTyp : int<br />

m_harGeoObjectS : OID<br />

m_justering : int<br />

m_position : int<br />

m_s<strong>av</strong>eRelColl : FOBList<br />

m_serverDelete : BOOL<br />

m_text : CString<br />

ms_geoTextColl : FOBList<br />

ms_instanceCollIsActive : BOOL = FALSE<br />

-m_harGeoTextM<br />

0..n<br />

Design modell - kartobjekt<br />

FOBGeoBase<br />

FOBGeoPoint<br />

m_harGeoObjectS : OID<br />

m_lat : int<br />

m_long : int<br />

m_ordningsNr : int<br />

m_s<strong>av</strong>eRelColl : FOBList<br />

m_serverDelete : BOOL<br />

m_stilX : int<br />

m_stilY : int<br />

ms_geoPointColl : FOBList<br />

ms_instanceCollIsActive : BOOL = FALSE<br />

-m_harGeoPointM<br />

1..n<br />

Design Model<br />

1<br />

-m_harGeoObjectS<br />

-m_harGeoObjectS<br />

1<br />

FOBGeoObject<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

FOBBase<br />

m_GeoPointList : FOBList *<br />

m_GeoTextList : FOBList *<br />

m_geoTyp : int<br />

-m_harGeoObjectM<br />

1<br />

m_harGeoPointM : OIDArray<br />

m_harGeoTextM : OIDArray<br />

m_isS<strong>av</strong>ing : BOOL<br />

m_noLongerUsedGP : OIDArray<br />

m_noLongerUsedGT : OIDArray<br />

m_objectsAllocatedOnHeap : FOBList<br />

m_s<strong>av</strong>eRelColl : FOBList<br />

m_serverDelete : BOOL<br />

m_tillhorFlygbasS : OID<br />

0..n<br />

-m_tillhorKartObjS<br />

m_tillhorKartObjS : OID<br />

m_typAvObjekt : int<br />

-m_tillhorFlygbasS<br />

ms_geoObjectColl : FOBList<br />

ms_instanceCollIsActive : BOOL = FALSE<br />

0..n<br />

-m_geoObjPaBasM<br />

1<br />

FOBKartObjekt<br />

m_harGeoObjectM : OIDArray<br />

FOBFlygbas


2002-10-23<br />

IS FV<br />

Implementationsmodell<br />

isfv_oom.lib<br />

DataBase<br />

Implementation<br />

Model<br />

BasKlient<br />

FTKKlient<br />

GDKlient<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

<br />

objectHandler


2002-10-23<br />

IS FV<br />

Klient<br />

Server<br />

Server<br />

P<br />

F<br />

F<br />

CAMA<br />

D<br />

Kodgenerering<br />

ESQL-C<br />

UI<br />

FOB<br />

RPC<br />

DCE<br />

RPC<br />

DH<br />

DL<br />

DB<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

Windows/<br />

NT<br />

Sun/<br />

Solaris<br />

Informix


2002-10-23<br />

IS FV<br />

u Flera lager<br />

u Flexibelt och skalbart<br />

Kodgenerering<br />

u Liknande/samma lösning på flera<br />

ställen<br />

u Förutsätter designmodell<br />

u Bra verktygsstöd<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

ACT002: KC<br />

(from Bas)<br />

ACT003: Bas/Uh<br />

(from Ftk)<br />

UC01-01: Visa Insatsplan<br />

UC01-07: Förlustrapportera företag<br />

UC01-03: Uppdragsplanera<br />

UC01-08: Ställ in företag<br />

UC01-02: Hantera Företagsorder<br />

ACT001: Förbandsledning<br />

(from Bas)<br />

ACT004: Insats<br />

(from Ftk)<br />

ACT006: Und/FgO


2002-10-23<br />

IS FV<br />

Fakta kring kodgenerering<br />

u 450 000 rader kod (LOC, t.ex. ej kommentarer)<br />

u 2900 filer<br />

u 110 000 rader genererade (LOC)<br />

u 63 % genererade (exkl. UI, onlinehjälp, simulator, install, ..)<br />

u 40% <strong>av</strong> FOB lagret<br />

u Senaste 2 åren, 5 hittade fel<br />

u Förändrad fokus på <strong>utveckling</strong><br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Möjligheter kring kodgenerering<br />

u Kan kodgenerera olika för olika skeden för att optimera<br />

<strong>utveckling</strong> och på så sätt t.ex. minska beroenden till<br />

server-sidan, tillgång till maskinvara/licenser<br />

u Testning underlättas<br />

u Automatgenererad dokumentation, alltid uppdaterad<br />

u Tillägg <strong>av</strong> nya objekt kan beställas<br />

u De delar som kodgenereras är centrala och kritiska<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Möjligheter kring kodgenerering<br />

u Rörs inte så ofta, kräver specifik kompetens<br />

u Informationsspridning, prenumeration, rätt information, på<br />

rätt plats<br />

u Grunddata spridning<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Möjligheter med modelldriven<br />

<strong>utveckling</strong><br />

u Ett gemensamt ”språk” för hela processen (ibland dock översättning<br />

<strong>av</strong> kr<strong>av</strong>)<br />

u Bra stöd för kr<strong>av</strong>fångst, kommunicerbar (användningsfall)<br />

u Iterationstänkandet<br />

u Starkt verktygsstöd, (utbildning, kostnad!)<br />

u Stöd för kvalitetshöjande aktiviteter (bl.a.konfigurationsstyrning,<br />

dokumentation, spårbarhet, testning)<br />

u Spårar kr<strong>av</strong> (svårt!)<br />

u Stöd för kodgenerering (kvalitetshöjande, produktivitetshöjande)<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV Dokumentationsnivå<br />

Kundens<br />

framtagande<br />

<strong>av</strong> kr<strong>av</strong>bild<br />

Kr<strong>av</strong>nivå<br />

Kund<br />

Kundens kr<strong>av</strong>specifikation<br />

Analys och<br />

översättning <strong>av</strong><br />

kr<strong>av</strong>bild tillsammans<br />

med kunden<br />

Kr<strong>av</strong>nivå<br />

Kund och<br />

leverantör Förvaltningsnivå Implementationsnivå<br />

Use case<br />

Actor<br />

Domain model<br />

RUP<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

RUP


2002-10-23<br />

IS FV<br />

u Engagemang<br />

u Erfarenhet<br />

u Tid<br />

u Utbildning<br />

u Uppdragsinvesteringar<br />

Metodik kräver<br />

u Programvaruinvesteringar<br />

u ”Högt i tak”<br />

u Handlar till slut om ordning och reda, upprepbarhet för att<br />

kunna förbättra, kvalitet<br />

Modellbaserad <strong>utveckling</strong> - IS FV


2002-10-23<br />

IS FV<br />

Produktivitet<br />

Införande <strong>av</strong> en (ny) metodik<br />

”Optimistiska ”<br />

vägen<br />

Gammal<br />

nivå<br />

Modellbaserad <strong>utveckling</strong> - IS FV<br />

Realistiska<br />

vägen<br />

Ny nivå<br />

Tid

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!