LiU-ITN-TEK-A--10/011--SE
Design och implementering av
klient till SIMbase
Anna Chung
Micael Löfving
LiU-ITN-TEK-A--10/011--SE
Design och implementering av
klient till SIMbase
Examensarbete utfört i medieteknik
vid Tekniska Högskolan vid
Linköpings universitet
Anna Chung
Micael Löfving
Examinator Ivan Rankin
Norrköping 2010-02-25
Upphovsrätt
Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –
under en längre tid från publiceringsdatum under förutsättning att inga
extra-ordinära omständigheter uppstår.
Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,
skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för
ickekommersiell forskning och för undervisning. Överföring av upphovsrätten
vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av
dokumentet kräver upphovsmannens medgivande. För att garantera äktheten,
säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ
art.
Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i
den omfattning som god sed kräver vid användning av dokumentet på ovan
beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan
form eller i sådant sammanhang som är kränkande för upphovsmannens litterära
eller konstnärliga anseende eller egenart.
För ytterligare information om Linköping University Electronic Press se
förlagets hemsida
http://www.ep.liu.se/
Copyright
The publishers will keep this document online on the Internet - or its possible
replacement - for a considerable time from the date of publication barring
exceptional circumstances.
The online availability of the document implies a permanent permission for
anyone to read, to download, to print out single copies for your own use and to
use it unchanged for any non-commercial research and educational purpose.
Subsequent transfers of copyright cannot revoke this permission. All other uses
of the document are conditional on the consent of the copyright owner. The
publisher has taken technical and administrative measures to assure authenticity,
security and accessibility.
According to intellectual property law the author has the right to be
mentioned when his/her work is accessed as described above and to be protected
against infringement.
For additional information about the Linköping University Electronic Press
and its procedures for publication and for assurance of document integrity,
please refer to its WWW home page:
http://www.ep.liu.se/
Sammanfattning
Företaget Tieto önskar en applikation som kan modellera upp funktionssekvenser och översätta dessa till systemtabeller i databasen. Projektet döptes till SIMPro och de olika delarna är SIMPro Visio (editor), SIMPro Compiler (kompilator) och SIMPro Viewer (viewer i TelSIMS). Med SIMPro Visio skapas funktionssekvenser som sedan tolkas om i SIMPro Compiler. Kompilatorn laddar upp Visio‐ritningen och funktionssekvenserna i systemtabeller. Ritningen kan skådas med SIMPro Visio. Projektgruppen har tidigare haft erfarenheter av agil utveckling och eftersom examensarbetet äger plats hos kunden (Tieto), arbetar gruppen enligt en agil systemutvecklings metodik vid namn Scrum.
Innehållsföteckning
Sammanfattning ...1 Inledning ...4 Bakgrund ...4 Syfte ...4 Frågeställning ...5 Tidsplanering ...5 Ordlista ...6 Förstudie ...7 Systemet på Tieto ...7 Funktionssekvenser ...7 Uppdrag ...8 Tillvägagångssätt ...8 Förstudiens resultat och slutsats ...8 Begränsningar i tekniken ...9 SIMPro Visio... 10 Shape Stencil ... 10 External Data ... 10 Events ... 11 Makro ... 11 SIMPro Compiler ... 12 Inläsning från Visio ... 12 Lager ... 13 Kontroll av funktionssekvensen ... 13 Visio Viewer i TelSIMS ... 14 Design ... 14 Arbetsmetodik ... 15 Agil systemutveckling ... 15 Scrum ... 15 Burndown‐kurva ... 16 Sprint 2 ... 17 Sprint 3 ... 18 Sprint 4 ... 19 Resultat ... 20 SIMPro ... 20 Jämförelse mot kravspecifikation ... 20 Överlämning ... 20 Användning ... 20 Diskussion ... 21 Arbetsmetodik ... 21 Förstudie ... 21Containervariabler ... 21 Subsekvenser ... 21 Användartester ... 21 Bilaga A ‐ Kravspecifikation ... 23 Bilaga B – Kravspecifikation uppdaterad ... 24 Bilaga C ‐ Förstudie ... 26 Bilaga D – SIMPro User Manual ... 30 Bilaga E – SIMPro Developer’s Guide ... 37 Bilaga F – SIMPro Installation Manual ... 43
Inledning
Bakgrund
Sedan 1995 har Tieto utvecklat och förvaltat systemet SIMbase med den tillhörande klienten TelSIMS åt Telia. Systemet sköter trafik som skickas internt inom Telia och externt till dess underleverantörer/entreprenörer. Processen är automatiserad och följer fördefinierade funktionssekvenser, dessa funktionssekvenser består av en eller flera funktioner i ett flöde. Eftersom processen är automatiserad är det mycket viktigt att det inte förekommer några fel i någon av dessa funktionssekvenser. För att motverka att eventuella fel skall skapa problem för Telia och dess kunder genomförs nyutveckling av funktionssekvenser med största noggrannhet. När en ny funktionssekvens skall skapas, modelleras först flödet ofta upp i Microsoft Office Visio (vilket benämns som Visio) eller alternativt för hand, för att ge en överskådlig och lättförstådd bild av hur det slutgiltiga flödet kommer se ut. När Visio‐filen är färdig skapas funktionssekvensen i styrtabellerna och alla funktionsparametrar sätts till respektive initialvärden. Fig. 01 ‐ Arbetsflöde över Tietos systemSyfte
Som beskrivet ovan krävs det två steg, att rita upp och sedan manuellt föra in dem i databasen, för att skapa en funktionssekvens. Detta är både tidskrävande och innebär att fel lätt kan uppstå i och med den mänskliga faktorn. Vid felsökning krävs det att styrtabellerna analyseras (figur styrtabell) och jämförs med Visio modellerna för att försöka förstå vad som har hänt och vad som skulle ha hänt. Uppgiften är att skapa ett grafiskt verktyg som i första hand kan visualisera och i andra hand modellera ovan nämnda funktionssekvenser. Detta skall fungera som ett hjälpmedel vid felsökning och skapande av funktionssekvenser för de anställda på Tieto. Visualiseringen skall även finnas tillgänglig för vanliga användare av TelSIMS, det vill säga på Telia’s Workstations.Frågeställning
En viktig fråga handlar om vilka lämpliga program och tekniker som finns tillgängliga för examensarbetets ändamål. Det är även väsentligt att ta reda på utvecklingsmöjligheter hos dessa program samt vilken prisnivå de ligger på. Vidare ska funktionssekvenserna visualiseras på ett pedagogiskt sätt och utvärderas med hjälp av bland annat användbarhetstester.Tidsplanering
Examensarbetet beräknas att ta 20 veckor och påbörjas den förste september 2009. De första fyra veckorna planeras att användas till introduktion av systemen och utförande av en förstudie för att kunna välja utvecklingsmetod samt teknik för den grafiska applikationen. Därefter ägnas de följande 13 veckorna åt design, implementering samt användartester. Resterande veckor används som buffert samt till att färdigställa rapporten som skrivs kontinuerligt under hela examensarbetet.Ordlista
Inom Tieto’s verksamhet finns ett antal termer som är interna och ett antal som inte alltid är allmänt kända. För att ge er läsare en bättre möjlighet att följa rapporten kommer här en ordlista över dessa. Funktion En funktion kan har olika många användningsområden, tillexempel kan den fungerar som kontroll av en variabel eller ett anrop till en extern samarbetspartner. Det är funktionerna som ligger till grunden för styrtabellerna och Tieto’s system TelSIMS. Subsekvens En funktion som innehåller en funktionssekvens. Oftast generella sekvenser som används i många Funktionssekvenser. Funktionssekvens En sekvens av en eller flera funktioner och subsekvenser . Kan liknas vid s.k. "Decision diagrams" där olika funktioner påkallas beroende på vad som sker i sekvensen. (se Fig.02) Styrtabell Även kallad systemtabell och är en beskrivning av funktionssekvenser i tabellform. (se Fig.03) 3‐skicktsarkitektur Ett designmönster som delar upp ett systems struktur i data, logikhanterare och presentation. Data delen är här en databas och presentationen ett användargränssnitt. Logikhanteraren fungerar som ett mellanled mellan data och presentation. Sybase Databas där bland annat styrtabeller finns. TelSIMS En applikation som presenterar bl.a. funktionssekvenser och styrtabeller. Används dagligen av Tieto och Telia. SQL‐Windows Ett programspråk som TelSIMS är skriven i. SIMbase Logikhanterare som sköter kommunikationen mellan TelSIMS och Sybase. ActiveX En teknik som möjliggör inkludering av komponenter från ett program till ett annat. Fungerar endast på Windows och Internet Explorer. Microsoft Office Visio Ett program som bland annat används för att rita grafer och flöden. Visio 2007 Viewer En ActiveX‐komponent som gör det möjligt att kunna läsa Visio‐filer utan att ha Microsoft OfficeFörstudie
Systemet på Tieto
Systemet på Tieto har en 3‐skiktsarkitektur där Sybase är databasen, SIMbase hanterar logiken och TelSIMS presenterar informationen för användarna. I Sybase lagras bland annat styrtabeller som i sin tur innehåller information om hur funktionssekvenserna är uppbyggda. SIMbase fungerar som ett mellanled, vilket hanterar och skickar information mellan TelSIMS och Sybase. TelSIMS används av Telias personal dagligen för att bland annat beställa tjänster och produkter samt för att registera felanmälningar.Funktionssekvenser
Hela systemet bygger på så kallade funktionssekvenser där en funktionssekvens är, vilket namnet antyder, en sekvens av funktioner. Funktionerna är fördefinierade att till exempel utföra ett test, en uppgift eller att anropa andra system. När funktionen har utfört eller misslyckats med sitt uppdrag kallar den på nästa funktion i sekvensen, vilken det är kan variera beroende på resultatet.Fig. 02 - Modellering av funktionssekvens. Fig.?? Visar hur en grafisk presentation av en funktionssekvens kan se ut, ofta är de gjorda i Visio. Siffrorna i kanten beskriver vilken rad i styrtabellen funktionen ska ha. Vid felsökning av funktionssekvenser som på ett eller annat sätt fastnat eller rapporterat fel jämförs loggen (över vad som egentligen skett) med styrtabellen och sen även med Visio‐filen i ett försök att hitta vart felet ligger. Då funktionssekvenserna kan bestå av uppåt hundra rader är detta en mycket tidskrävande process som utförs av utbildad personal med stor förståelse för hur tabellerna är länkade.
Fig. 03 - Exempel på styrtabell.
Uppdrag
Tieto önskar en applikation som kan ge en översiktlig bild över funktionssekvenserna. Applikationen skall kunna visa vart i flödet en viss sekvens befinner sig i för tillfället samt presentera funktionsspecifika parametrar. Det önskas även möjlighet att manipulera flödet, som till exempel att starta om eller hoppa över en funktion. Applikation bör även kunna visa subsekvenser, d.v.s. en funktion som innehåller en annan funktionssekvens. Ovannämnda appliktion kallas för en ”Viewer” och hanterar visningen av funktionssekvenserna. Ifall tiden tillåter önskar Tieto även en ”Editor”, en applikation som kan användas till att modellera funktionssekvenser och automatiskt föra in dem i styrtabeller. "Viewern" bör vara en inbäddad funktion i TelSIMS, d.v.s. den ska inte vara ett seperat program utan att man ska kunna se funktionssekvenserna direkt i TelSIMS. "Editorn" kan däremot vara ett självständigt program.Tillvägagångssätt
För att kunna ta beslut om vilken teknik projektet skall använda sig av skall en studie av relevanta produkter som finns tillgängliga på marknaden utföras. Kostnader och utvecklingsmöjligheter hos dessa skall tas med i bedömningen om vilken produkt som lämpar sig bäst för projektets ändamål. Se bilaga C för lista över de produkter som undersökts.Förstudiens resultat och slutsats
Efter möte med personalen på Tieto beslutades att valet stod mellan Visio och XAML. En kravspecifikation (bilaga A) diskuterades fram och efter en vidare undersökning, beträffande hur väl de olika lösningarna klarade att uppfylla kravspecifikationen, ansågs det att Visio var den lösning som hade störst potential. Under denna andra undersökning framkom det att SQL‐ Windows, vilket är det verktyg som TelSIMS är skrivet i, har ett inbyggt stöd för ActiveX‐ kontroller vilket gav möjligheten att använda Visio 2007 Viewer. Visio 2007 Viewer fungerar på liknande sätt som en PDF‐Reader och ger möjligheten att kunna ta del av information utan att behöva betala licenser. Med den ActiveX‐komponenten kan datorn öppna och läsa Visio‐filer utan att ha Microsoft Office Visio installerat. Genom att utnyttja Visio 2007 Viewer som projektets ”Viewer” kan fokusen istället läggas på en ”Editor”.Eftersom ”Viewern” helst skulle fällas in i TelSIMS beslutades det att Tieto, vilka har goda kunskaper i SQL‐Windows samt för hur TelSIMS är uppbyggt, skulle implementera funktionaliteten. I och med valet av Visio 2007 Viewer var valet av editor lätt då Tieto har flertalet anställda med Visio licenser, åtminstone majoriteten av våra tilltänkta användare, kunde kostnaden hållas relativt låg. Samtidigt finns mycket av funktionerna som var med i kravspecifikationen (se Bilaga A), i programmet vilket gav möjlighet till ett mer komplett slutresultat.
Begränsningar i tekniken
Det finns ett antal begränsningar i vad för funktioner som tillåts en användare med Visio 2007 Viewer installerat. Till exempel ges ingen möjlighet till att manipulera innehållet i filerna (flytta, färga eller skapa objekt etc.) vilket gick emot kravet (se Bilaga A, krav 1.5) att kunna följa vart i flödet en funktionssekvens befinner sig i. Det finns dock möjlighet att påverka vilket/vilka lager som skall visas vilket antogs kunna lösa problemet senare under utvecklingens gång. När både ”Viewer” och ”Editor” var befintliga program ändrades uppgiften till att istället skapa en koppling mellan Visio och databasen Sybase så att ”Editorn” har tillgång till information om funktioner, subsekvenser och parametrar. Det behövdes också en kompilator som kunde tolka om innehållet i Visio‐filer och föra över det till systemtabeller. Tieto bad även om en design över Viewern’s GUI. Projektet döptes till SIMPro och de olika delarna till SIMPro Visio (editor), SIMPro Compiler (kompilator) och SIMPro Viewer (viewer i TelSIMS). Nedan visas en figur på flödet mellan de inblandade systemen. Fig.04 ‐ Flöde mellan systemen.SIMPro Visio
Visio är ett verktyg för att bland annat rita grafer och flöden vilken en del av personalen på Tieto har tillgång till och erfarenheter av. Verktyget har stöd för bland annat makros genom Visual Basic for Applications (VBA) samt möjlighet att hämta data från SQL‐databaser.Shape Stencil
Visio är baserat på något som kallas Shape Stencils vilka innehåller fördefinierade former som används för modelleringen av flöde och grafer. Formerna kan i sin tur ha kopplingspunkter, namn, storlek och andra inställningar som gäller som initialvärden när de ritas ut i Visio‐filen. Då Tieto sedan länge har arbetat med en uppsättning standardformer för funktionssekvenser fanns det ingen anledning till att hitta på nya så en Shape Stencil skapades utifrån Tietos mallar. Resultatet blev funktionsformer och tre kopplingsformer, s.k. ”Korrekta former”. Andra objekt såsom rutor och pilar kan ritas in i ritningen men kommer inte att behandlas av kompilatorn .External Data
Vilket nämnts tidigare så har Visio ett visst inbyggt stöd för kopplingar till databaser. I Visio finns ett fönster kallat ”External Data” i vilket information från databaserna visas i en eller flera tabbar. Databasstödet ger möjlighet att presentera väsentlig information för användaren så som aktuella funktioner och subsekvenser. Det finns även funktionalitet som möjliggör att användaren, genom en drag and drop, länkar information från databasen till en form som skapats i Visio‐filen.Fig.05 ‐ Bild över Microsoft Office Visio, längst ner är External Data och till vänster är Shapedata.
Events
Näst intill allt i Visio är grundat i händelser eller så kallade "events". Varje gång användaren modifierar Visio‐filen triggas ett event vilket ger stora möjligheter för modifiering av hur Visio skall bete sig. I början av utvecklingen hittades det endast sex events vilka som standard är kopplade till alla former. Framförallt två av dessa events ansågs vara användbara, EventDrop och EventDblClick. Det första, EventDrop, initieras varje gång ett nytt objekt dras från "Shapes" paletten och släpps i dokumentet. Detta ansågs ha stor potential att kunna ansluta till databasen och hämta till exempel information om funktionsparametrar och versioner. Det andra, EventDblClick, initieras vid ett dubbelklick på ett objekt i dokumentet. Idén med detta event var att ge användaren ett hjälpmedel för att ställa in parametrar för de olika objekten alternativt uppdatera informationen från databasen. Senare insågs att dessa två events var otillräckliga för systemets ändamål. För att öka funktionaliteten och användbarheten av programmet var det väsentligt att kunna påverka mer än dubbelklick och "shape drop". Lösningen blev "Visual Basic for Applications”‐makron vilket Visio har ett inbyggt stöd för. Genom att använda detta stöd kan utvecklare skriva egna makron för olika events och ökar möjligheterna att kontrollera när och hur olika events behandlas.Makro
För att Visio‐ritningen senare skall kunna tolkas och föras över till systemtabeller krävs det att alla funktioner och dess parametrar är korrekta. Genom att låta ett makro tolka vad användaren gör i Visio och även hjälpa denna att mata in rätt data, minskar risken för fel. Därför har det makro som utvecklats ett arbetsmönster. Först analyserar det vilken funktion från ”External Data” som användaren valt att lägga till i ritningen. Därefter sker det anrop till databasen som frågar efter parametrar och liknande om funktionen. Dessa läggs slutligen in som ”Custom Properties” för respektive funktion. Eftersom makrot anropar databasen kontinuerligt kan användaren känna sig trygg i att informationen som pressenteras är uppdaterad och korrekt, med reservation för fel i databasen. Om objekt skapas som inte räknas till ”Korrekta former” kommer makrofunktionen hoppa över händelsen och vänta på nästa.SIMPro Compiler
Kompilatorn är länken mellan databasen och ”editorn” Visio med SIMPro Visio. Den skall kunna öppna en Visio‐fil, utläsa informationen och kontrollera så att funktioner och parametrar är korrekta. Med hjälp av informationen skall kompilatorn skapa funktionssekvenser i styrtabellerna och fylla dessa med nödvändig information.Inläsning från Visio
Informationen i visio‐filerna är strukturerad dels beroende på designen som gjorts i makrot och dels beroende på Visios egen standard. Informationen lagras i formernas så kallade ”Shape Sheet” vilken är uppbyggd som en 3D‐kub. 3D‐kuben är uppdelad i ett antal sektioner som i sin tur är uppdelade i tabeller med kolumner och rader av celler. Fig.06 ‐ ”Shapesheet” för ett objekt i Visio. Fig.07 ‐ Närmare bild på ”Shape Data”. Där finns objektets parameter lagrad.Lager
Ett krav med hög prioritet är att det i TelSIMS skall visas vilken funktion som funktionssekvensen befinner sig i för tillfället. För att uppfylla detta skapas kopior av alla objekt som processen kan befinna sig i, kopiorna färgas och placeras i var sitt osynligt lager. Vilket lager som vilken färgad objekt ligger i noteras i databasen. Som tidigare nämnt går det i TelSIMS Visio Viewer att påverka vilka lager som ska visas. Genom att databasen skickar med vilket lager som ska visas kan användarna i TelSIMS få en uppsikt över vart i processen man befinner sig i.Kontroll av funktionssekvensen
Det är väsentligt att informationen som läggs upp i styrtabellerna, tillexempel funktionsparameter, är korrekta. Felaktig data kan leda till stora problem i systemet vilket i sin tur kan leda till stora förluster för företaget. I SIMPro Visio där visiofilerna ritas finns enklare former av varibelkontroll. Dessa är dock inte tillräckliga då det går att manuellt manipulera data som hämtats från databasen. Därför anses det att även SIMPro Compiler bör innehålla en utökad variabelkontroll innan information skickas till databasen. Förutom att variablerna är det också viktigt att kopplingen mellan objekten är korrekta så att flödet inte fastnar. För att användaren ska på ett enkelt sätt få överblick över vilka fel det finns i Visioritningen presenteras felaktigheterna i en ErrorList. Genom att klicka på en rad i listan markeras motsvarande objekt i ritningen. Detta och felmeddelandet underlättar för användaren att upptäcka vilka fel som har uppstått. Fig.08 ‐ ErrorList i SIMPro Compiler.Visio Viewer i TelSIMS
Design
Som tidigare nämnt i rapporten ville Tieto har en design över ”SIMPro Viewer” som ska vara en del av TelSIMS. Programmet har en relativ enkel design och ”Viewern” bör följa samma stil. Fig?? Visar en skiss över hur SIMPro Viewer kan se ut. Den stora rutan till vänster är visningsfönstret och visar den grafiska presentationen av funktionssekvens. Den gröna ringen markerar vart i flödet man befinner sig för tillfället. De mindre fönsterna till höger är i turordning översiktsfönter, parameter samt subsekvensfönter och den sista är ett fönster som visar bl.a. Containervariabler. Fig.09 ‐ Skiss över SIMPro Viewer. Tanken är att man i översiktsfönstret (längst upp till höger) har en drag‐bar ruta för att navigera runt i bilden, den inrutade området motsvarar det man ser i visningsfönstret. I Parameterrutan ska man se den markerade funktionens parametrar och vilka funktioner den kan kalla på. Genom att klicka på en subsekvens i subsekvenslistan ska man kunna få presentation av subsekvensen istället. Listan visar också hur många nivåer funktionssekvensen har. Med en nivå menas en funktionssekvens innehållandes en subsekvens. Om subsekvensen i sin tur innehåller en annan subsekvens är det två nivåer. I variabelfönstret listas variabler som verkar för hela funktionssekvensen.Arbetsmetodik
Att ha en arbetsmetodik underlättar arbetsprocessen. Då en väl fungerande arbetsmetodik kan bestämma ett projekts framgång eller fall anses detta vara en viktig vid utförandet av projektet. Projektgruppen har tidigare haft erfarenheter av agil utveckling och eftersom examensarbetet äger plats hos kunden (Tieto), arbetar vi enligt en agil systemutvecklings metodik vid namn Scrum.Agil systemutveckling
Agil systemutveckling är en utvecklingsmetod som i princip värderar människor och kommunikation högre än verktyg och formella dokument. Det bygger på att man med nära kund/användarkontakt och fortlöpande utvärderingar utvecklar ett system. Istället för att leverera resultatet i slutet sker små leveranser kontinuerligt under hela projektet så att missuppfattningar och fel hinner rättas i tid.Scrum
Ordet "Scrum" kommer från amerikansk fotboll och är en av de olika metoderna som ingår i de agila systemutvecklingsmetodikerna. Steg ett är att dela in projektet i sprintar där varje sprint vanligtvis är cirka 4 veckor långa. I början av varje sprint planeras vilka uppgifter som har högst prioritet och sedan estimeras tiden det tar att utföra uppgifterna. Tidestimeringen sker genom kvalificerade gissningar och visas som ett poängtal, i vårt fall motsvarar ett poäng en effektiv arbetstimme. Det skapas även en så kallad "Burn down chart" som är en grafisk representation av hur bra projektet följer tidsestimeringen. Vid slutet av varje sprint utvärderas den sprint som har varit och det diskuteras om vad som kan förbättras till nästa gång. Gruppen bör bestå av 5‐9 personer där en av gruppmedlemmar har rollen som Scrum‐master. Scrum‐mastern har som roll att agera coach för gruppen och hjälpa till med framför allt administrativa problem och hinder. Varje morgon hålls ett "daily‐scrum" möte där i gruppen går igenom: 1. Vad var person har gjort 2. Vad var person skall göra 3. Vad behövs för att kunna lösa de problem som eventuellt har stötts på Ett "daily‐scrum" skall hållas på stående fot och bör helst inte ta mer än 15 minuter. Då projektgruppen endast består av två personer modifierades vissa delar av scrum‐metodiken. Ingen i gruppen tog på sig rollen som scrum‐master då det anses vara onödigt. Sprintarna definieras till cirka tre veckor långa då utvecklingstiden är begränsad och gruppen anser att det är bättre med fyra sprintar än två till tre längre sprintar. Möten med kunden och andra relevanta partar hålls minst en gång i veckan.Burndownkurva
En burndown‐kurva beskriver hur arbetet fortlöper under en viss tidsperiod, t.ex. en sprint. Y‐ axeln beskriver hur många poäng man beräknar ta under perioden. På X‐axeln har man antal dagar dagar som sprinten varar. Den röda linjen i kurvan är den ideala kurvan eftersom den står för en jämn arbetsfördelning och att bra tidsestimering. Den blåa kurvan är den verkliga kurvan. Sprint 1 Försten sprinten varade i femton dagar. Projektgruppen beräknade att kunna ta tolv poäng per arbetsdag, det vill säga tolv effektiva timmar varje dag. Sammanlagt blev det 180 poäng på 15 dagar. Som man kan avläsa ur grafen lyckades gruppen ej ta tillräckligt många poäng som planerad. Fig.10 ‐ Burndown‐kurva för sprint 1. Under utvärderingen kom vi fram att sannolika skäl för grafens utseende berodde på att uppgifterna tidsestimerades för lågt, de tog längre tid att utföra dem än beräknat. Att arbeta effektivt i sex timmar varje dag var också något som inte alltid uppnåddes. 0 20 40 60 80 100 120 140 160 180 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 verklig idealSprint 2 Med lärdom från sprint 1 beräknade projektgruppen att ta tio poäng per arbetsdag istället för tolv. Sprinten varade i 14 dagar och därför blev det totala poängen 140. Arbetsuppgifterna fick också en högre tidsestimering. Fig.11 ‐ Burndown‐kurva för sprint 2. Den verkliga kurvan går under den ideala kurvan vilket betyder att gruppen arbetade snabbare och tog fler poäng än förväntat. Detta berodde på att gruppen tillsammans arbetade mer än tio effektiva timmar varje per arbetsdag. Ett annat skäl var att vi blev mer insatta i systemet och arbetsuppgifterna tog mindre tid att lösa än beräknat. 0 20 40 60 80 100 120 140 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 verklig ideal
Sprint 3 Under sprint 3 beräknade projektgruppen kunna ta elva poäng varje arbetsdag, totalt 165 poäng. Tidsestimeringen för arbetsuppgifterna uppskattades till att bli lite lägre än vad de var i föregående sprint. Fig.12 ‐ Burndown‐kurva för sprint 3. Anledningen till den ojämna blåa kurvan berodde på rad sjukdomar som drabbade gruppen vilket ledde till att gruppen inte var fulltalig vid flera arbetstillfällen. T.ex. vid dag 1 insjuknade en av projektmedlemmarna och kunde inte arbeta förrän förrän på dag 4. Denna stannade och arbetade över vilket förklarar det branta steget mellan dag 4 och dag 5. Mellan dag 9 till dag 12 stannade en av gruppmedlemmerna hemma p.g. a. sjukdom, det vill säga att bara hälften av den estimerade poängen togs. Om man bortsåg från arbetstimmarna som gick förlorade på grund av sjukdom tyckte projektgruppen att det var en bra tidsestimering. Lutningen på den blåa kurvan är nästan identiskt med den röda kurvan under dagarna då båda medlemmarna arbetade, vilket betydde att arbetet skedde i samma takt som estimeringen. 0 20 40 60 80 100 120 140 160 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 verklig ideal
Sprint 4 Som tidigare nämnt tyckte gruppen att totalt elva timmars effektivt arbete per dag var en bra tidsestimering. Sista sprinten varade i femton dagar vilket ledde till 165 poäng. Fig.13 ‐ Burndown‐kurva för sprint 4. Den blåa kurvan sammanfaller med den röda kurvan vilket tyder på att projektgruppen arbetade som förväntat. Att kurvorna överenstämmer berodde till stor del på att gruppen hade blivit bättre på att bedöma hur lång tid en uppgift skulle ta att lösa. Att vi var insatta i systemet och var bättre medveten om hur mycket arbete vi hann med per dag ledde också till en bättre tidsestimering.
0 20 40 60 80 100 120 140 160 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 verklig ideal
Resultat
SIMPro
Projektet resulterade i två system, SIMPro Visio, SIMPro Compiler och en ny vy i TelSIMS. SIMPro Visio använder makro för att anpassa Microsoft Office Visio så att den passar ändamålet för projektet. Man kan i SIMPro Visio skapa funktionssekvenser med aktuella funktioner och sätta parametrar på dessa. Visio‐ritningen öppnas med SIMPro compiler som överför innehållet i filen till en styrtabell i databasen. Kompilatorn kontrollera att funktionssekvensen är korrekt innan överföringen till Sybase sker. TelSIMS har en ny vy där man kan beskåda Visio‐ritningar samt se vart man befinner sig i funktionssekvensen. Man kan även markera ett objekt och se dess parametrar.Jämförelse mot kravspecifikation
Om man jämför systemet mot kravspecifikation (Se Bilaga A) har alla krav med prioritet 4 eller 5 blivit uppnådda. Alla krav med prioritet 3, möjligen förutom krav nr. 1.1.2 Visa flödet via webb, har också blivit uppfyllda. Anledningen till varför det är oklart om kravet är uppfylld eller inte beror på att det kräver för installerad programvara. Flödet beskrivs av Visio‐filer och dessa kan visas i Internet Explorer om och endast om man har Visio 2007 Viewer installerad. I och med kravet begränsas av tillgång till programvara anser vi inte att den är uppfylld.Överlämning
Tieto vill kunna fortsätta utveckla SIMPro efter examensarbetets slut och behöver underlag för vidareutveckling. Underlaget består av dokumentation om hur systemet är uppbyggt och fungerar. Dokumentationen är i tre delar, användarmanual (bilaga D, utvecklingsmanual (bilaga E) samt en installationsmanual (bilaga F).Användning
Det tar längre tid att skapa funktionssekvenser i SIMPro Visio jämfört med tidigare eftersom innan användes ritningen bara som en mall, nu fungerar den som en riktig funktionssekvens. Användaren behöver sätta ut rätta kopplingar och tilldela parametrar vilket tidigare inte behövdes då ritningen bara användes som en skiss. Numera kan man med hjälp av SIMPro Compiler läsa in ritningen och automatiskt skapa en funktionssekvens av den i styrtabellerna. Detta tar väsentligt mindre tid än att behöva manuellt mata in funktionerna rad för rad i samt tilldela variabler.Diskussion
Arbetsmetodik
Som vi beskrev tidigare försökte vi arbeta enligt Scrum men att vi förenklade vissa delar. Hade vi gjort projektet idag igen hade vi nog försökt gå en annan väg. Att försöka genomföra Scrum på två personer medför att det blir mycket svårt att tidsestimera, daily scrum blir nästan överflödiga (det finns inga projekt på två personer där de involverade inte pratar med varandra och tar beslut tillsammans dagligen). Vi utvecklade även två system, SIMPro Visio och SIMPro Compiler samtidigt och fastän de var separata program så fanns det överlappningar. Vissa saker kunde inte utvecklas i SIMPro Compiler förrän de var gjorda i SIMPro Visio och vissa saker kunde inte testas i SIMPro Visio förrän de var implementerade i SIMPro Compiler. Detta gjorde att prioriteringen på uppgifterna inte alltid följdes.Förstudie
Undersökningen som utfördes under förstudien lade grund till utvecklingen av SIMPro. Vi ansåg att implementera den färdiga ActiveX‐kontrollen Visio Viewer i TelSIMS var den smidigaste lösningen. Detta medförde att Microsoft Office Visio blev editorn och vi utvecklade en kompilator som mellanhand. Under förstudien undersökte vi mestadels färdiga produkter eller funderade på att bygga ett nytt system från grunden. ActiveX‐kontrollen Visio Viewer upptäcktes av en slump och inget som vi medvetet letade efter. Om vi hade ändrat fokusen från färdiga produkter till mindre komponenter såsom ActiveX‐kontroller skulle kanske projektet idag haft en annorlunda lösning.Förbättringar
Det är tänkt att SIMPro ska helt och hållet ersätta det gamla systemet med manuel inmatning av systemtabeller till databasen. Dock är detta ett stort steg och det finns problem med detta som fortfarande behöver lösas.Containervariabler
Containervariabler är variabler som är gemensamma för flera funktionssekvenser. Som det fungerar idag skapar Tieto Container som innehåller ett flertal funktionssekvenser och tilldelar variabler som är gemensamma för hela Containern. Detta kan man ej göra med SIMPro i dagens läge.Subsekvenser
Det är även problem med utdaterade subsekvenser. I dagens läge anger man vilken version av en subsekvens man vill använda när man skapar funktionssekvenser. Om det kommer en ny version av den inblandade subsekvensen så kommer fortfarande funktionssekvensen att använda sig av den äldre versionen. Det finns alltså ingen stöd om man vill att en funktionssekvens ska alltid kalla på den senaste subsekvensen.Användartester
I början av planeringen bestämde vi oss för att utföra användartester med jämna mellanrum. Detta har dock blivit försummat då de potentiella testpersonerna var personal på Tieto och var oftast upptagna med egna arbetsuppgifter. Dessutom hade vi dagligen kontakt med kunden,Istället för att blanda in användare testade vi själva genom att ge oss själva uppgifter som vi ska göra med systemet. Dessa tester gav oss feedback på om systemet betedde sig som önskat och hur lång responstiden var. Nackdelen med dessa tester var att vi själva kände till systemet och visste exakt vilka knappar man skulle trycka på för att utföra en sak. Om vi hade haft användartester skulle kanske utseendet på systemet har varit annorlunda. Funktionsmässigt tvivlar vi på att det skulle vara någon skillnad då vi arbetade efter kravspecifikation (se Bilaga B) som ständigt uppdaterades med användarnas och kundens önskemål. Att inte ha några användartester innebad också att vi fick med tid att utveckla systemet, om vi istället hade lagt ner tid på att förberedda och analysera användartesterna skulle vi antagligen inte ha hunnit lika långt med de funktionella delarna av systemet.
Bilaga A Kravspecifikation
Kravspecifikation Senast modifierad 2009‐09‐12 Nr Namn Prioritet 1.0 Visualisering av funktionssekvenser1.1 Kunna visa ett flöde 5
1.2 Inläsning från fil 5
1.3 Visa förklarande text i samband med objekt 2
1.4 Länka samman objekt med pilar 5
1.5 Visualisera vart i flödet man befinner sig 4 1.6 Visa flödet inbäddat i TelSIMS 5
1.7 Visa flödet via webb 3
1.8 Möjlighet att kunna zooma 3
1.9 Kunna visa subsekvenser 5
1.10 Visningsbilden skall alltid visas på samma sätt 5
2.0 Interaktivitet
2.1 Möjlighet att markera objekt 3
2.2 Visa parametrar hos markerat objekt 3
2.3 Kunna påverka flödet 2
3.0 Levererbarhet
3.1 Kunna leverera applikationen till dess användare 5
Bilaga B – Kravspecifikation uppdaterad
Kravspecifikation Senast modifierad 2010‐01‐14 Nr Namn Prioritet 1.0 Visning av funktionssekvenser1.1 Kunna visa ett flöde 5
1.2 Inläsning från fil 5
1.3 Visa förklarande text i samband med objekt 2
1.4 Länka samman objekt med pilar 5
1.5 Visualisera vart i flödet man befinner sig 4 1.6 Visa flödet inbäddat i TelSIMS 5
1.7 Visa flödet via webb 3
1.8 Möjlighet att kunna zooma 3
1.9 Kunna visa subsekvenser 5
1.10 Visningsbilden skall alltid visas på samma sätt 5
2.0 Interaktivitet
2.1 Möjlighet att markera objekt 3
2.2 Visa parametrar hos markerat objekt 3
2.3 Kunna påverka flödet 2
3.0 Levererbarhet
3.1 Kunna leverera applikationen till dess användare 5
4.0 Skapande av ny funktionssekvens
4.1 Olika former för olika objekttyp 5 4.2 Olika kopplingar mellan objekten 5 4.3 Kunna använda befintliga funktioner 5
4.4 Kunna tilldela parameter 4
4.5 Sätta "default" felutgång 3 4.6 Kunna välja version på subsekvens 2
5.0 Kompilering av funktionssekvens
5.1 Läsa in en Visio-fil 5
5.2 Ladda upp flödet till databasen som en styrtabell 5
5.3 Felkontroll av parametrar 4
5.4 Kunna sätta version på funktionssekvensen 2
6.0 Container
6.1 Tilldela funktionssekvenser till en Container 2
Bilaga C Förstudie
Bilaga D – SIMPro User Manual
1. SIMPro Visio – User Manual
To start using SIMPro Visio you have to create a new document from template, or double click on the “SIMPro Visio Mall v1.0.vst” file. If you’r Visio tells you that “Macros have been disabled” you will have to activate them, if you need help with that there is a guide in section 3 that will show you how. Login with your Sybase account and press “Verify”.In the list at the bottom write or select the Bolag you will be working with and press “Ok”, the macro will then get all functions and subsequences from Sybase and add them to your “External Data” window. You are setup and ready to start building the first sequence. There is two ways to create shapes: 1. Drag a shape from the “Former” or “Shapes” window in to the page and drop it, this will create an empty shape wich will require an external link from the “External Data” window.
window and drag and drop it to the empty shape in the document. 2. The second way to create a shape is to first select the type of shape in the “Former”/”Shapes” window, then drag a row from the “External Data” window and drop it on the page.When setting up parameters for the shapes click on the shape you wish to change and its parameters should show in the “Formdata”/”Shape Data” section, if there is no such window visible click on “Visa”/”View” in the menu and look for the “Formdatafönster”/”Shape Data Window”. Connecting shapes is done by adding green, red and dashed arrows. The green arrows will interpret as “Ja/Ok”, the red arrows are “Nej/Interupt” and the dashed arrorws represent “Fel” when uploaded as a function sequence in the Systemtabeller. Uploading the above visio file with SIMPro Compiler will result in a function sequence that looks like below.
The last object in the shape stencil is the “Felutgång” wich adds “Fel” connections from all objects, except FS‐Start and FS‐Avslut, to the object that’s connected with the “Felutgång”. The same visio file after adding a “Felutgång” would look like. After compilation in SIMPro Compiler the function sequence have two “Fel” connections added to them
2. SIMPro Compiler – User Manual
1.1 Log In The first thing you need to do in SIMPro Compiler is to log in. Simply click on the “Log In” button and the login‐window will pop up. Log in Fill in your userId and password and chose an enviroment in the dropdown‐list. Once you’ve logged in you will be working in the chosen enviroment. If you want to change the enviroment you have to log out and log in again. Please make sure that you are either behind Telias firewall or logged in through it before you try to log in. 1.2 Open a Visio Document The “Open Visio Document” button will be enblad when you have successfully logged in. Clicking on the button will open a window where you can choose which visio document to open. The default directory is “My Documents”. Opening a file will automatically initialize a validation of the Visio drawing. If there exists any errors in the file, an ErrorList window will pop‐up with all the found errors listed. If the file validated without any errors, you can submit it to the database. 1.2.1 ErrorList If there are any errors in the Visio drawing the ErrorList window till automatically pop‐up. It lists all the errors found by the SIMPro compiler and these errors need to be corrected, in the Visio file not in SIMPro Compiler, before you can submit the file to the database. You can select a row in the list and the corresponding shape will be shown in red.ErrorList 1.3 Submit a file to Sybase If no errors were found after opening a file, the “Submit to Database” button will be enabled. Make sure that the file name is the name of the function sequence you want to add to the database. If there are any older versions of the function sequence, these will be shown in the dropdown list. You can’t write any of these versions in the “Version” field since you can’t rewrite any existing versions. Press “OK” to submit the file to the database. A modified version (with layers and green shapes) will be uploaded into Docio and the function sequence will be uploaded into System Table. Submit 1.4 Log Out Simply click on the “Log Out” button if you want to log out.
3. Enabling macros in Visio
This guide is copied from Microsoft’s help center, link is provided in the end. Fastest solution is to use the “Enable all macros” option but if you are working with a lot of different visio templates and documents the safest solution is to enable macros temporary every time you use them. 1. On the Tools menu, click Trust Center. 2. Click Macro Settings. 3. Click the options that you want: o Disable all macros without notification Click this option if you don't trust macros. All macros in documents and security alerts about macros are disabled. If there are documents with unsigned macros that you do trust, you can put those documents into a trusted location. Documents in trusted locations are allowed to run without being checked by the Trust Center security system. o Disable all macros with notification This is the default setting. Click this option if you want macros to be disabled, but you want to get security alerts if there are macros present. This way, you can choose when to enable those macros on a case by case basis. o Disable all macros except digitally signed macros This setting is the same as the Disable all macros with notification option, except that if the macro is digitally signed by a trusted publisher, the macro can run if you have already trusted the publisher. If you have not trusted the publisher, you are notified. That way, you can choose to enable those signed macros or trust the publisher. All unsigned macros are disabled without notification. o Enable all macros (not recommended, potentially dangerous code can run) Click this option to allow all macros to run. This setting makes your computer vulnerable to potentially malicious code and is not recommended. o Trust access to the VBA project object model This setting is for developers and is used to deliberately lock out or allow programmatic access to the VBA object model from any Automation client. In other words, it provides a security option for code that is written to automate an Office program and programmatically manipulate the Microsoft Visual Basic for Applications (VBA) environment and object model. This is a per user and per application setting, and denies access by default. This security option makes it more difficult for unauthorized programs to build "self‐replicating" code that can harm end‐user systems. For any Automation client to be able to access the VBA object model programmatically, the user running the code must explicitly grant access. To turn on access, select the check box. Text from http://office.microsoft.com/en‐us/visio/HA100310711033.aspxBilaga E – SIMPro Developer’s Guide
1. SIMPro Compiler
1.1 Error Messages Most of the error messages explain where the error has occurred. There are two types of error messages, messages generated by Sybase and messages generated from SIMPro Compiler. Messages generated by Sybase often starts with “ERROR” followed by where the error has occurred in brackets and the error message itself. It handles errors that involve connections to Sybase. SIMPro Compiler’s error message handles error in the Compiler and the Visio drawing. 1.2 Areas to improve SIMPro Compiler still has areas that need improvements. 1.2.1 ErrorList There is also no way to make the ErrorList visible again if you close it. This should be corrected by adding an option in the taskbar (for example checkbox or button) to open the ErrorList. 1.2.2 Less logic SIMPro Compiler have alot of logic itself, it validates parameters by reading and store information from the database and then compare the given parameters with the stored data. Instead of validating the parameters itself, it should make procedure calls and let them handle the validation. 1.2.3 Copies of Connectors Copies of connectors are made and assigned a layer each. This is unessessary since the copies and layers are not used. 1.2.4 Enviroment The enviroment you are working in does not show in the header. 1.2.5 Shape window SIMPro Compiler shouldn’t show the shape window since you should not modify the Visio document in the compiler. We havn’t found a way to close the shape window automatically, only a toggle method that close the shape window if it is opened and open it if it is closed. 1.2.6 The “tom.vsd” file There is a file named “tom.vsd” in the “Resources” folder. It’s used as a clear workspace function as the Visio activeX component clears all parameters and gives the program a fresh start when loading in the new visio document. There should be a way to make the activeX component to create a new file without having to link to “tom.vsd”.
2. SIMPro Visio
2.1 Areas to improve 2.1.1 FS‐start Controlling that every Visio file contains one, no more no less, “FS‐Start”. Add check when adding the “Start” shape to check for any other “Start” shape already present in the document. 2.1.2 Parameter popup Creating a popup for entering parameters to functions. A subject that could get big depending on how much support the users wants/requires. User demands this far have been bigger fields for inputs in the “Note” field, a search function for “Aktivitet”, “TeamID” and “BeordringsKod” and some kind of indikator showing wether a parameter is mandatory or not. The popup should get called at the end of: ThisDocument.Document_ShapeAdded(Shape) and ThisDocument.vsoApplication_ShapeLinkAdded(Shape) in the Visio template file, that’s also the file which the popup should get inplemented in. Controlling that every visio file contains one, no more no less, ’FS‐Start’. Add check when adding the “Start” shape to check for any other “Start” shape already present in the document. 2.1.3 Access depending on BolagsID An improvement that might make it easier for the user is to only list the functions and subsequences that the user can work with depending on what “BolagsID” that she’s working with for the moment. It looks like the Visio “External Data” window only can work with selects from the ODBC data source. An easy fix for this (but it would add the “BolagsID” as a hidden property in all the shapes) is to use: “select * from VIEW where BolagsID = ‘bolagsID’ ” The views do not include the BolagsID as it looks today and since it looks like visio can’t call procedures to populate the “External Data” section we can’t send the “BolagsID” as an in parameter.3. SIMPro
3.1 Areas to improve 3.1.1 ODBC‐connection Automatically installing ODBC connection DNS’s for required/suitable enviroments in the system registry would make installation of SIMPro easier. Also it would be useful to list all the registred DSN’s when using the Visio and Compiler instead of adding them manually in the source code. The difficult part is selecting what enviroments to install since different users have need for different enviroments. You can set up a DSN with code and also write code to add the registry entrys that you need to an existing DSN. In “Kör”/”Run” (Press the “Start” button in the down‐left corner of your screen, the “Kör”/”Run” button should be in the window) write “regedit” and then look for any of the below: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources We recommend using the local_machine link since it’s used by all users on that same computer and that should make it easier if they have access to the same enviroments. The second row could be used to allow different employees on the same computer to have different access rights.4. Working with Visio documents
4.1 Getting started To be able to work with Visio documents in C#, Microsoft Visio have to be installed on the computer and you also need some other dlls. They are: AxInterop.Microsoft.Office.Interop.VisOcx Microsoft.Office.Interop.Visio Microsoft.Office.Interop.VisOcx 4.2 Shape Data Information about the shapes are stored in cells in Visio. Each shape has their own shapesheet which holds all data about the shape. Fig 1. Shape Sheet in Visio.Fig 1. Shows the shapesheet for a shape. You can see that the parameters for the shape are defined in the table “Shape Data”. To get the function name for the shape, you need to specify the row (in this case “Prop._VisDM_FunkSekvNamn”). To get the function name for the shape in C#, write: String name =
visioShape.get_Cells("Prop._VisDM_FunkSekvNamn").Formula;
where “visioShape” is the shape you read. Here, “Formula” returns the data specified in the column “Value”. Another way to get the data stored in the cell is to use:
String name = visioShape.get_CellsSRC(
(short)Visio.VisSectionIndices.visSectionProp, (short)((short)Visio.VisRowIndices.visRowProp + 0), (short)Visio.VisCellIndices.visCustPropsValue).Formula
; “visSectionProp” indices the property section. “visRowIndices” specifies the row, “visRowProp + 0” is the first row, “visRowProp + 1” is the second row and so on. “visCellIndices” specifies the row, for example, “visCustPropsValue” is the “Value” column and visCustPropsFormat is the “Format” column. Sometimes, it’s better to use “ResultIU” instead of “Formula”. For example if you want to get the position in x (Pinx). Fig 2. Shape sheet example C# code to get the value in PinX is:
decimal pinX = visioShape.get_Cells("PinX").ResultIU
You can also modify the shape data by:
visioShape.get_Cells("PinX").ResultIU = 200;
Note that an attempt to read data from non‐existent cells will cause an exception so make sure you know that the cells really exists or be sure to catch the exception.
4.3 Dropdown‐list The value in a dropdown‐list in Visio is a bit tricky to get. The index of the selected item is stored in the “Value” column while the items are stored in the “Format” column. To get the selected item you have to find out the index (in this case, “2”) and then check which is the third (since the index starts from 0) item (in this case, “Semi”). Fig 3. Shape Sheet dropdown‐list example
Bilaga F – SIMPro Installation Manual
To use SIMPro you will need a licensed version of Microsoft Office Visio 2007 or later (Should work with Microsoft Office Visio 2003 but there is not enough testing done). To be able to connect to the Sybase database you will need to install the Sybase ASE ODBC Driver. The installation file is located at (note that the 12.5.2 version could change in the future). “\\ask\Software\Telsimsutv\Utvecklingsverktyg ‐ programvara\Sybase\ASE PC klient för alla normala windows klienter\pcclient_1252\Autorun.exe” Run the Exe: Choose the ”Install PC Client Components” option.Press “Next”. Select language in the top dropdown and agree to the license agreement, press “Next”. Select the destination directory or if the path is ok press “Next”. Press “Yes”.
Select “Custom” and press “Next”. Select the ODBC checkbox, you can uncheck all other options, and press “Next”.
Press “Next”. Press “Next”. Press “Finish” and our installation of Sybase is done.
ODBC DataSource Setup
After installation of Visio and the Sybase Driver you should set up the database source. There is two ways to get to open the ODBC Administrator: 1. Navigate to “C:/Windows/System32” and double click the executable file named “odbcad32.exe”. 2. Pick up the “Run” window from the start menu or with the windows‐button + R key combination. Type “ odbcad32.exe “ in the prompt and click “Ok”, this should work but there have been occasions where some computers have returned that they couldn’t find the “odbcad32.exe”. Mark the “System DSN” and press the “Add” button. Select the “Sybase ASE ODBC Driver” and press “Finish”.Enter the Name and adress of the datasource and press “Ok”. Remake this procedure for every enviroment you want access to. Suggested enviroments 2010‐01‐13 were: ISUTV02 isutv02db.han.telia.se,3700 ISACC02 isacc02db.han.telia.se,3777 SIM01 prodtelsims.kal.telia.se,8600 ISSYS03 issys03db.han.telia.se,3130 ISSYS04 issys04db.han.telia.se,3190