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 ...
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