Implementatie van Telbase in C#



Vergelijkbare documenten
Software Test Plan. Yannick Verschueren

Microsoft Dynamics CRM & Integrated Innovation

Software Test Plan. Yannick Verschueren

Connect Social Business

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Installatie SQL: Server 2008R2

Gebruikershandleiding. StUF Testplatform Versie 1.3.0

En 15 maart 2016 Simply.Flexible

Verkooporganisatie van Danica maakt verkoopkansen inzichtelijk met Microsoft Dynamics CRM 3.0

Elektronisch factureren

ICT: HOOFDROLSPELER OF BACKSTAGE ASSISTANT? Steven Van Uffelen INCA Networks NV

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

INSTALLATIE EXCHANGE CONNECTOR

Fresco Consult BVBA Organisatie & functie-analyse. Vacature:.NET Developer (junior)

Documentatie Handleiding Hunter-CRM Desktop v1.0

Testomgevingen beheer

Soft-Solutions. Stageverslag

Mitsubishi Caterpillar Forklift Europe - producent van vorkheftrucks - verhoogt klanttevredenheid

AVEBE haalt online én offline informatie uit Microsoft Dynamics CRM

Business case: Fieldservice Management bij Danwood

15 July Betaalopdrachten web applicatie gebruikers handleiding

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Software Test Document

Welkom! GertJan Coolen

Bekaert harmoniseert SAP documentatie voor 7,000 IT gebruikers

HIP Call me now. Dienstbeschrijving. Copyright The Voip Company 2011 Pagina 1 van 7

Maximo Tips and Tricks

XAMPP Web Development omgeving opzetten onder Windows.

CARGO DATA SYSTEMS BV DE OPLOSSING VOOR TOTALE EXPEDITIE EN TRANSPORT AUTOMATISERING. Elektronisch factureren CDS

DAVE. Migratie Cockpit A BUSINESS INTELLIGENCE ODYSSEY. Inleiding. Voorbereiding

Selenium IDE Webdriver. Introductie

Vrijheid van vinden. FileLinx Cloud

Ondersteuning van zorg gerelateerde processen en activiteiten voor patiënt en zorgverstrekkers

Leerlingenhandleiding Beginnen met FlexBase

Onderwijstools 2.0, Kennisnet

Werking van de Office Connector, en het oplossen van fouten.

Inhoudsopgave 1. Opdrachtformulering Beschouwingsgebied Binnen de opdracht Buiten de opdracht

Arrix Optimus, de SharePoint specialist Deel meer, doe meer!

Sitecore Author Experience

PayCheckout Magento module

Technische nota AbiFire5 Rapporten maken via ODBC

Installatie ArcGIS Desktop Basis, ArcGIS Engine en Download ArcGIS Server

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Syx Automations. ReCreateX. Studiedag Ticketing, 11 oktober 2011, Nijmegen 1

Projectplan. Elektronica-ICT Artesis. Auteur: Coopman Tom Interne Promotor: Peeters Tom Externe Promotor: Delepierre Bruno, Adforce

Table of contents 2 / 15

Handleiding Internet Veiligheidspakket Windows & Mac Versie april 2014

Analyse probleem remote execution

Gebruikershandleiding. StUF Testplatform Versie 1.3.1

MS Dynamics 365 voor MKB

Handleiding NHTV MORE

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april Versie 2.1.0

PERSOONLIJKE GEGEVENS

ALLIANDER. Neemt de wind in de zeilen en transformeert het inkoopproces

Bijlage 9. UNI REB GD. Releasebeleid

Snel gegevens importeren en updaten met Importeren uit Excel voor SAP Business One

Handleiding OpenCart - factuursturen.nl

Your view on business On your favorite device

Opdrachtformulering (pagina 3 van 7)

Enghouse Interactive MySupport Web Portal. Gebruikershandleiding Klant

Klantgegevens uit Microsoft Dynamics CRM via Mobile CRM beschikbaar op PDA

Connect Social Business

Zie je door de bomen het bos niet meer? Meten is weten op het internet. Maar welke online meettechnologie schikt jou het best?

Christian Hoppenbrouwers Tools voor offshore testen Voorjaarsevent Testnet: 30 juni 2008

Ceyenne Concentrator

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Handleiding Reseller Controle Paneel

Release Notes v

Community Oplossingen Interactie met en tussen klanten op een eigen Klant Community

AFO 142 Titel Aanwinsten Geschiedenis

Handleiding helpdesk. Datum: Versie: 1.0 Auteur: Inge van Sark

TELECOM UTILITIES & MEDIA SOFTWARE SOLUTIONS. Geïntegreerde Operations Support oplossingen

NIS Notarieel Informatie Systeem

Caag CRM. Informatie Brochure

Handleiding Job voor gebruikers

OpenIMS 4.2 Portaal Server

Handleiding voor Zotero versie 2.0

Handleiding voor de applicatiebeheerder van Business Assistent

Technische nota AbiFire Rapporten maken via ODBC

HANDLEIDING. Emjee ICT diensten Ticketsysteem

JIRA Handleiding. Techtwo Internetdiensten Reduitlaan DC Breda

1. Over LEVIY 5. Openen van de activiteit 2. Algemene definities 6. Inloggen op het LEVIY dashboard 3. Inloggen 6.1 Overzichtspagina 3.

SEPA en uw PxPlus/ProvideX software

Handleiding IntraQuest Coach voor docenten

TRACKMANAGER. software voor skibaanbeheer. Postbus GA Den Haag Nederland THICOR SERVICES BV

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

TranSearch WEBPlus. Overzicht

Installatie SQL Server 2008R2

Bent u ook zoveel tijd kwijt met het zoeken naar de laatste en enig juiste! - versie van uw marktonderzoek

ERP Testing. HP Nijhof. Testmanager. Testnet November 2005

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers

Net2 kaarten bedrukken

Handleiding Office 365 IN EEN NOTENDOP ALLES OVER OFFICE 365 CARLO KONIJN CHI COMPUTERS HEERHUGOWAARD

Releasenotes:

Transcriptie:

Bachelor in de toegepaste informatica Implementatie van Telbase in C# CAMPUS Geel Jolien van den Brand Academiejaar 2012-2013

1 VOORWOORD Voor de afronding van mijn opleiding tot Bachelor in de Toegepaste Informatica aan Thomas More in Geel heb ik 3 maanden stage gelopen bij Datacon BV, een portaalbedrijf gelegen te Tilburg in Nederland. Het waren 3 leerrijke maanden waarin ik mijn kennis in de praktijk kon toetsen. Dit eindwerk is een weergave van de projecten waaraan ik heb meegewerkt en die ik heb afgerond. Ik wil al mijn docenten bedanken voor alles wat ze me hebben geleerd en voor de hulp die ze steeds geboden hebben. Ik bedank mijn stagebegeleiders Paul van den Eijnde en Sven Langenhuisen voor de begeleiding die ze mij hebben gegeven tijdens mijn stageperiode. Daarnaast ook dank aan mijn collega Niels Kwakkelaar. Hij is een grote hulp voor mij geweest tijdens mijn stage. Ik bedank ook iedereen van Datacon voor de aangename werksfeer. Tot slot een speciaal woordje van dank aan mijn ouders, mijn zussen en mijn vriend Kevin. Zij hebben mij de mogelijkheid gegeven om verder te studeren. Zij hebben mij steun geboden op momenten dat het moeilijker ging maar ze zijn vooral in mij blijven geloven.

2 SAMENVATTING Dit eindwerk beschrijft de werkzaamheden die ik heb uitgevoerd in de loop van mijn stage bij Datacon, een Nederlands IT-bedrijf. In juni 2013 komt er in Nederland een nieuwe telecomaanbieder op de markt. Dit bedrijf heeft beslist om voor zijn CRM-applicatie gebruik te maken van Telbase, een softwarepakket ontworpen door Datacon. Tijdens mijn stage heb ik meegewerkt aan de ontwikkeling en het testen van deze Telbase-applicatie. Mijn rol bij deze implementatie was om eerst mee te programmeren en daarna testscripts te schrijven en te automatiseren zodat deze applicatie op vaste tijdstippen getest kan worden. Op deze manier zou ik dan een realistisch beeld krijgen op de loop van een implementatieproject in het werkveld. In de loop van de periode waarin ik mee heb geprogrammeerd heb ik verschillende opdrachten uitgevoerd. De grootste hiervan was om een interface te schrijven die door een externe partij gebruikt ging worden. Om dit te verwezenlijken heb ik een kleine applicatie geschreven om deze interface te kunnen testen. In de periode dat ik heb testen heb gemaakt heb ik eerst als voorbereiding de testscripts geschreven om deze daarna vlotter te kunnen automatiseren. Om deze testen te automatiseren heb ik gebruik gemaakt van de testsoftware van Spritecloud.

3 LIJST MET GEBRUIKTE BEGRIPPEN EN AFKORTINGEN BSS CDR CRM Cucumber FO KPN MSISDN Provisioning Prepaid network Rate plan Rating RMA UAT Windows Forms applicatie Business Support Systeem Call Detail Record Customer Relationship Management Een tool in Ruby dat beschrijvingen in gewone tekst kan uitvoeren als automatische testen. Functioneel Ontwerp Nederlands telecombedrijf/provider Gsm-nummer Het proces van het netwerk aan te passen om bepaalde diensten aan te bieden aan de gebruikers. Een netwerk dat er rond draait dat er vooraf word betaald. Het betaalde bedrag wordt dan bij de provider bijgehouden onder de vorm van beltegoed. Tool waarmee rating gebeurt. Het bepalen van de kosten van netwerk gebruik door telefoneer-gerelateerde data zoals tijdstip, hoeveelheid verbruik,... om te zetten in een prijs. Retourneren Met Autorisatie User Acceptance Test Grafische programmeer omgeving die gebruik maakt van het Microsoft.NET framework.

4 INHOUDSTAFEL VOORWOORD... 0 SAMENVATTING... 2 LIJST MET GEBRUIKTE BEGRIPPEN EN AFKORTINGEN... 3 INHOUDSTAFEL... 4 INLEIDING... 5 1 DATACON... 6 1.1 Geschiedenis... 6 1.2 Visie: Share more. Do more.... 7 1.3 Structuur... 7 2 OPDRACHT... 8 2.1 Aanleiding en achtergrond... 8 2.1.1 Project... 8 2.1.2 Testen... 8 2.2 Verwacht resultaat... 8 2.3 Business case... 8 2.4 Fasering... 9 2.4.1 Fase 1... 9 2.4.2 Fase 2... 9 2.4.3 Fase 3... 9 2.5 Primaire doelgroep en andere stakeholders... 9 2.6 Rapportering... 10 2.7 Projectorganisatie... 10 3 GEBRUIKTE SOFTWARE... 11 3.1 Telbase... 11 3.1.1 Algemeen... 11 3.1.1.1 Solutions... 11 3.1.1.2 Modules... 12 3.1.2 Technisch... 15 3.2 Spritecloud... 16 3.2.1 Algemeen... 16 3.2.2 Technisch... 16 4 IMPLEMENTATIE TELBASE... 18 4.1 Fase 1... 18 4.1.1 Kleinere opdrachten... 18 4.1.2 Use cases... 19 4.1.3 Interface self-care omgeving... 19 4.2 Fase 2... 22 4.3 Fase 3... 24 BESLUIT.... 25 LITERATUURLIJST... 26

5 INLEIDING In dit eindwerk vind je informatie over het werk dat ik heb uitgevoerd in de loop van mijn stage bij Datacon, een Nederlands IT-bedrijf. In juni 2013 komt er in Nederland een nieuwe telecomprovider op de markt. Dit bedrijf heeft beslist om voor zijn CRM-applicatie gebruik te maken van Telbase, een softwarepakket ontworpen door Datacon. Tijdens mijn stage heb ik meegewerkt aan deze Telbase-implementatie. Hierdoor kreeg ik dan ook een realistisch beeld van een implementatieproject. Ik hoop met dit eindwerk de lezers van dit document een beter beeld te geven over wat ik in mijn stage heb gedaan. Om dit te bereiken ga ik eerst meer informatie geven over mijn stage bedrijf, mijn opdracht en de software die ik heb gebruikt. Daarna ga ik dieper in op mijn effectieve werk namelijk programmeren en testen automatiseren.

6 1 DATACON Datacon is een Nederlands IT bedrijf gelegen in Tilburg. Ze zijn leverancier van onder andere Telbase. Telbase is een IT-applicatie voor voornamelijk telecomproviders. Telbase wordt geïmplementeerd als standaard pakket met een grote variatie aan koppelingen. Om zo n implementatie te bereiken levert Datacon op een projectgeoriënteerde manier oplossingen die alle fases van een applicatie ondersteund. Analyseren en adviseren; Implementeren en configureren; Onderhoud, release management en beheer. 1.1 Geschiedenis Datacon is in 1997 opgericht door Meindert van Duijvenbode en Bas Fockens. Oorspronkelijk was Datacon een bedrijf dat webapplicaties ontwikkelde en hostte. Hierbij maakten ze gebruik van Java en C# als programmeertalen. Eind 1998 kochten ze hun eerste server, hierdoor moesten ze niet meer via Trefpunt hosten. Dit was het begin van Datacon hosting. Op dat moment hadden ze 8 werknemers. In 1999 kochten ze een gebouw. Al snel werden ook deze 75 vierkante meter te klein voor het groeiende aantal werknemers. Daarom verhuisden ze in 2000, toen ze 24 werknemers hadden, nog eens. In 2000 werd de beslissing genomen om met Microsoft producten te werken. Dit had als invloed dat ze in de toekomst enkel nog gingen programmeren met behulp van basisproducten van Microsoft en dit in C#. Omwille van het groeiende aantal werknemers verhuisden ze in 2005 naar de locatie waar ze nu nog altijd gehuisvest zijn. Dit is ook het jaar waarin Markus de Haan actief werd als derde directielid en Telbase werd ontwikkeld. Intussen werken ongeveer 50 mensen bij Datacon waaronder informatieanalisten, projectmanagers, system engineers en developers, daarnaast zijn er ook sales, marketing en HR-medewerkers. Datacon is in de loop van de jaren ook uitgegroeid tot een bedrijf dat portals met systeemintegratie ontwerpt. Ook heeft Datacon op het moment 2 zusterbedrijven, Office2Go en Cloudshape. Zoals je ziet is Datacon een snel groeiend bedrijf.

7 1.2 Visie: Share more. Do more. Datacon hecht belang aan een goede en veilige communicatie met de stakeholders (zie paragraaf Primaire doelgroep en andere stakeholders), omdat dit leidt tot een betere bedrijfsperformance. Dit zorgt dan voor: grotere efficiëntie, meer eenvoud, hogere omzet, meer klanten, grotere productiviteit, extra motivatie, grotere slagkracht hogere bedrijfswaarde. Om deze reden is hun slogan dan ook: Share more. Do more. 1.3 Structuur De structuur van Datacon bestaat uit de directie met daaronder een aantal afdelingen en subafdelingen zoals te zien in Figuur 1: Structuur van Datacon. Mijn stage vond plaats op de afdeling Business support systemen (BSS). Op deze afdeling worden er zoals de naam als zegt BSS-systemen ontwikkeld voor klanten. Deze gebeuren in de meeste gevallen op basis van Telbase (zie paragraaf 3.1 Telbase). Figuur 1: Structuur van Datacon Directie Sales Operations Office management Finance Marketing & Communicati e Project management Support Development Consultantcy System management HRM ECM/WCM BSS

8 2 OPDRACHT 2.1 Aanleiding en achtergrond 2.1.1 Project In juni 2013 komt er in Nederland een nieuw telecombedrijf op de markt. Dit bedrijf heeft beslist om zijn IT applicatie te laten ontwikkelen door Datacon. Hierbij gaat er gebruik gemaakt worden van de standaard applicatie Telbase. Meer informatie over Telbase is te vinden in paragraaf 3.1 Telbase. Voor deze implementatie moeten er verschillende connecties worden gemaakt met verschillende systemen van andere bedrijven en instanties. Vanuit Telbase moet onder andere verbinding gemaakt worden met een financieel pakket, met een self-care omgeving, met de overheid en met andere instanties zoals KPN, de provider waarop dit bedrijf zijn prepaid netwerk gaat draaien. 2.1.2 Testen Voor elke applicatie is het belangrijk dat er grondig getest wordt zodat er geen fouten meer inzitten wanneer deze in gebruik wordt genomen. In een applicatie waarin onder andere financiële transacties gebeuren is dit extra belangrijk omdat dit negatieve gevolgen zoals onder andere winst- en reputatieverlies kan hebben voor de klant en/of zijn gebruikers bij eventuele problemen. Het is ook belangrijk dat deze testen op een juiste manier gedocumenteerd worden. Dat je documenteert wat er is getest, hoe vaak en hoeveel keer de test slaagt of faalt. Op deze manier heb je ook een bewijs dat alles goed is gecontroleerd en dat alles naar behoren werkt. 2.2 Verwacht resultaat Er werd van mij verwacht dat ik gedurende mijn stageperiode meedraaide in het project voor de implementatie van Telbase voor een nieuw telecombedrijf. Het eerste deel van mijn stage zou ik meedraaien in het programmeerteam. Daarna ging ik testscripts schrijven om de implementatie te testen. Als laatste zou ik de testen die ik in het vorige deel heb uitgewerkt automatiseren. Het was de bedoeling dat ik in de loop van mijn stage een realistisch beeld zou krijgen op de loop van een implementatieproject in het werkveld. 2.3 Business case Door grondig te testen worden het aantal fouten geminimaliseerd. Hierdoor ontstaat er minder frustratie bij de klant en is Datacon minder lang bezig met het oplossen van diverse problemen en zal de kwaliteitsbeleving bij de klant hierdoor verbeteren. Daarnaast kunnen er tijdens het ontwikkeltraject aanpassingen gedaan worden aan een bestaand deel van de software. Door deel van de software automatisch opnieuw te testen worden fouten gereduceerd en dat tegen geringe extra tijdsbesteding/kosten.

9 2.4 Fasering Mijn stage kan je opdelen in 3 duidelijk te onderscheiden fasen: programmeren, testscripts opstellen en testen automatiseren. 2.4.1 Fase 1 In deze fase heb ik onder andere een aantal use cases uitgewerkt en de interface voor de self-care omgeving samen met een testapplicatie om deze te testen. Voor meer informatie over wat ik in deze fase heb gedaan zie paragraaf 4.1 Fase 1. Het eerste deel van mijn stage was oorspronkelijk voorzien voor de eerste maand. Uiteindelijk zijn dit zeven weken geworden. 2.4.2 Fase 2 In dit deel heb ik testscripts geschreven. De testen die ik in dit deel heb voorbereid zijn vooral functionele testen voor het hele project waar ik in fase 1 aan heb meegewerkt. 2.4.3 Fase 3 Als laatste fase ga ik testen automatiseren. Hiervoor ga ik de testscripts die ik in fase 2 heb gemaakt programmeren in de testsoftware van Spritecloud (zie 3.2 Spritecloud). Op deze manier kunnen deze testen in de toekomst automatisch opnieuw uitgevoerd worden. 2.5 Primaire doelgroep en andere stakeholders De belangrijkste stakeholders zijn de klant, Datacon en de werknemers van Datacon. De klant heeft er baat bij dat ze een goed draaiende applicatie krijgt. Een betere applicatie zorgt voor meer efficiëntie met als gevolg een betere reputatie. Dit is voor een startend bedrijf heel belangrijk. Daaruit vloeit voort dat ze meer omzet krijgen, meer winst kunnen realiseren en een betere marktpositie kunnen krijgen. Datacon heeft baat bij het succes van dit project omdat ze hiervoor betaald worden en winst kunnen maken. Door een succesverhaal krijgen ze ook een betere reputatie waardoor ze meer klanten en dus extra orders kunnen krijgen en ze als gevolg daarvan ook kunnen uitbreiden. Een uitbreiding zorgt voor meer omzet, meer winst en meer bedrijfszekerheid. De werknemers hebben er belang bij om het project succesvol af te ronden omdat ze dan de voldoening kunnen krijgen van een geslaagd project. Als Datacon uitbreidt is er ook meer werkzekerheid. Andere belanghebbenden zijn de klanten van de klant. Als deze vlotter bediend kunnen worden, verliezen ze minder tijd.

10 2.6 Rapportering Bij aanvang van mijn stage was afgesproken dat ik elke 2 weken een afspraak zou inplannen in de agenda van mijn stagebegeleiders en dat dan minstens 1 van hen, samen met mij, mijn vooruitgang besprak. Ik kon ook als er problemen waren vroeger een afspraak inplannen. In het begin van mijn stage zijn we niet elke 2 weken samengekomen omwille van meer tussentijds overleg, maar tegen het einde van mijn stage hebben wij wel om de 2 weken samengezeten. In de eerste fase heb ik meer kleine opdrachten uitgevoerd waarvoor ik elke dag mijn statusrapport doorstuurde naar mijn opdrachtgever. Als ik door de dag heen een bespreking nodig achtte gebeurde dit ook. 2.7 Projectorganisatie In het projectteam waarin ik op mijn stage terecht kwam was er een projectleider (Sven) die het project waaraan ik werkte in goede banen leidde. Ook was er een projectmanager (Paul) die voor meerdere projecten verantwoordelijk was. De rest van het team waren de programmeurs. Mijn stagebegeleiders waren de projectleider en de projectmanager, ik moest dus naar hun beide rapporteren. Tijdens fase 1 van mijn stage was er ook een programmeur (Niels) die mij opdrachten gaf en waar ik bij terecht kon.

11 3 GEBRUIKTE SOFTWARE In de loop van mijn stage heb ik met verschillende softwarepakketen gewerkt. Om beter te begrijpen wat ik tijdens mijn stage heb gedaan is het aan te raden om deze software beter te begrijpen. 3.1 Telbase 3.1.1 Algemeen Telbase is een web gebaseerd business support system (BSS) ontworpen door Datacon, voor voornamelijk telecombedrijven, maar ook voor internet service providers, gift card en loyalty card leveranciers en broadcasting providers. Het is een systeem gericht op het verbeteren van de kwaliteit van dienstverlening en het drukken van de kosten. Om dit te verwezenlijken wordt er gecontroleerd of er ergens verspilling vermeden kan worden. Dit doet Datacon door het gehele leveringsproces van goederen en diensten binnen Telbase af te stemmen en te controleren. Daarbovenop biedt Telbase een real-time inzicht in het gedrag van de klanten waardoor het systeem nog meer kan worden verbeterd. 3.1.1.1 Solutions Telbase biedt functionaliteiten aan die gerelateerd zijn aan de levering van producten en diensten naar de markt. De oplossingen die ze aanbieden om dit te verwezenlijken zijn: Control your business; Know your customers; Manage your proposition; Integrate your environment. 3.1.1.1.1 Control your business Telbase biedt functionaliteiten die een flexibelere en gestructureerde organisatie maken. Een aantal voorbeelden van processen die gecontroleerd kunnen worden door Telbase zijn: Activeren van klanten op het netwerk; Afhandelen van teruggebrachte producten; Maken en versturen van facturen en controle op betaling. 3.1.1.1.2 Know your customers Telbase integreert het profiel van de klant met additionele informatie waardoor klantenloyaliteit gecreëerd worden en de klanten meer worden behouden. Telbase biedt ook een overzicht aan per klant. Zo wordt onder meer de contactgeschiedenis en de ordergeschiedenis bijgehouden. De klant kan ook een voorkeur opgeven voor het kanaal (brief, mail, SMS) waarop hij/zij gecontacteerd wil worden.

12 3.1.1.1.3 Manage your proposition Telbase is flexibel in het implementeren van klant specifieke marketingwensen die in een korte tijd gerealiseerd kunnen worden. Hierdoor kunnen hun klanten een marketingcampagne snel lanceren. 3.1.1.1.4 Integrate your environment Voor de bedrijven waar Telbase zich op richt is het heel belangrijk dat er op een vlotte manier gecommuniceerd kan worden met systemen van andere bedrijven. Hiervoor heeft Telbase een gestandaardiseerd pakket van connectors met diverse systemen van bedrijven in de telecommunicatiemarkt (zie Afbeelding 1: Telbase connectors). Hierdoor kan op een vlotte manier informatie binnengehaald en/of verstuurd worden van of naar deze bedrijven. Afbeelding 1: Telbase connectors 3.1.1.2 Modules Telbase is gebouwd op een modulaire structuur (zie Afbeelding 2: Alle modules van Telbase). Afhankelijk van wat het bedrijf op de markt wil brengen kunnen modules gekozen worden om te implementeren. Daarnaast is het ook mogelijk om in opdracht van de klant extra modules te implementeren. Ik ga hier enkel de modules toelichten die in de implementatie waarin ik heb meegewerkt van belang zijn.

13 Afbeelding 2: Alle modules van Telbase 3.1.1.2.1 Provisioning Provisioning is een module om real-time transacties uit te voeren op de netwerkelementen. Op die manier is er een grotere controle over onder andere activiteiten, services en deactivaties uitgevoerd op een account. In Afbeelding 3: Klantgerichte taken in CRM kan je een overzicht zien van de klantgerichte taken, deze maken gebruik van deze transacties. Afbeelding 3: Klantgerichte taken in CRM

14 3.1.1.2.2 Product management In de productmanagement module is het mogelijk om producten bundels of gecombineerde pakketten te wijzigen of aan te maken. In Telbase is het mogelijk om allerlei soorten producten toe te voegen: fysieke producten, niet fysieke producten of een combinatie daarvan. Producten kunnen gecombineerd worden met een rate plan. Op die manier wordt de mogelijkheid gecreëerd om producten onmiddellijk aan te rekenen en te verkopen. De tijd nodig om een nieuw product te lanceren kan op deze manier drastisch worden verminderd. Stock control en RMA zijn geïntegreerd in de product management module. Als je gebruik maakt van deze module dan heb je ook volledige controle over de producten, inventaris en RMA processen. 3.1.1.2.3 Customer care en CRM De customer care module biedt uitgebreide customer care functies aan die makkelijk in elk bestaand call center kunnen geïntegreerd worden omdat de applicatie web based is m.a.w. je werkt via het internet. Deze module biedt: Ticketing & progress management, Case & queue management, Gedetailleerde klant informatie inclusief CDR s, Task management, Finance management, Automatische interactie met de klant via email, Sales management & order tracking. 3.1.1.2.4 Revenue assurance De Revenue assurance module biedt een aantal mogelijkheden waaronder Dunning (incasso), limieten op verbruik en fraudedetectie. De mogelijkheid Dunning bevat het sturen van betaalherinneringen via post, mail of SMS. Dit is uitbreidbaar met standaard interfaces voor andere partijen die incassodiensten aanbieden. Telbase kan ook limieten leggen op de hoeveelheid dat je met een adres kan bestellen en heeft de mogelijkheid om een levering te vertragen in geval van automatische incasso. Een ander onderdeel van deze module is de mogelijkheid om fraude te detecteren. Wanneer het verbruik van post-paid klanten boven een bepaald niveau gaat kan het systeem deze gebruikers hierover informeren.

15 3.1.1.2.5 Number porting Vaste lijn, VOIP en mobiele communicatie providers kunnen het porteer proces beheren. Indien nodig kan het proces ook worden geoutsourced naar een andere partij. De number porting module kan verbonden worden met de centrale land MSISDN organisatie (vb. COIN) en kan worden gebruikt door gespecialiseerde porteer bedrijven (vb. PortingXS). Beide voorbeelden zijn van bedrijven in Nederland. 3.1.1.2.6 System management Telbase biedt een System en Configuration management module aan waarin een ICT afdeling in staat is om al het nodige onderhoud aan het systeem te kunnen doen. Dit onderhoud kan eventueel ook geoutsourced worden. 3.1.2 Technisch In dit deel ga ik de meer technische aspecten van Telbase toelichten die van toepassing zijn op mijn stage. Omwille van geheimhouding kan ik hier echter niet al te diep op in gaan. Telbase implementaties zijn geprogrammeerd in C# met behulp van verschillende Microsoft.NET frameworks (2.0, 3.5 en 4.0). Deze frameworks worden door elkaar gebruikt afhankelijk van waar ze het optimaalst gebruikt kunnen worden. Ook wordt er in deze implementaties gebruik gemaakt van een zelfgemaakte datalaag generator. Deze is te vergelijken met de datalaag generator van Microsoft en genereert een derde van de code. Om implementaties van Telbase functioneel te krijgen wordt er gebruik gemaakt van 3 verschillende solutions in Microsoft Visual Studio. De core solution wordt door elke implementatie gebruikt. De 2 andere zijn geïndividualiseerd per implementatie, de connector solution en de effectieve implementatie. De core solution bevat de code die gebruikt wordt door alle Telbase implementaties. Dit is dan ook een belangrijke solution waarin over het algemeen niet veel aan aangepast moet worden. De connector solution is de solution die alle connecties met externe systemen bevat. Om deze verbindingen tot stand te brengen wordt er gebruik gemaakt van o.a. Reflection en WCF services. De solution van de effectieve implementatie bezit al het gepersonaliseerde aan de implementatie. Hierin wordt alles van de front end geprogrammeerd en andere gegevens zoals bedrijfsregels. Om ervoor te zorgen dat iedereen op een gestructureerde manier kan samenwerken aan deze solutions wordt er gebruik gemaakt van Team Foundation Server (TFS), een Microsoft product dat onder meer source control en data collectie aanbiedt.

16 3.2 Spritecloud Zoals al vermeld in mijn opdracht (zie paragraaf 2.2 Verwacht resultaat) moest ik in de loop van fase 3 van mijn stage testen automatiseren. Hiervoor heb ik gebruik gemaakt van de testsoftware van Spritecloud 3.2.1 Algemeen Spritecloud is een bedrijf dat testsoftware maakt voor web applicaties. Ze zorgen onder meer voor: Automatiseren testen; Performance testen; UAT; Functionele testen. Voor mijn stage hebben we Spritecloud gebruikt om functionele testen te automatiseren. Deze testen kunnen met behulp van cucumber, een tool in Ruby, op de server worden uitgevoerd. Daarna worden de testresultaten geïmporteerd in het service portal van Spritecloud. Op deze service portal kan je dan de resultaten bekijken. 3.2.2 Technisch Om met de software van Spritecloud te werken programmeer je voor een deel in een door Spritecloud verzonnen taal en voor een deel in Ruby. Om testen te automatiseren werk je met scenario s en features. Een scenario is het onderdeel waarin de testen worden uitgeschreven in stappen van leesbare taal. Een feature is een verzameling van scenario s. In een feature kunnen ook stappen worden geschreven die voor alle scenario s hetzelfde zijn. Op deze manier moeten deze niet elke keer opnieuw geschreven worden. @home Feature: Home Background: Steps that are executed before every scenario Given I navigate to page "telbase" @case4 @home4 Scenario: Case4: Password Failed When I login with "DataconTest" and password "PASSWORD" And I click on image "Change password" And I change password "PASSWORD" with "Test" "Testje" Then I should see text "New password and confirmation password do not match" Wat de stappen in de scenario s achter de schermen doen wordt geprogrammeerd in methodes. In de methode programmeer je in Ruby wat de stap juist gaat doen, hierbij is het mogelijk om gebruik te maken van definities. Definities zijn vergelijkbaar met methodes, maar zijn meestal ruimer en kunnen daardoor ook in meerdere methodes gebruikt worden. Given /^I navigate to page "([^"]*)"$/ do arg1 if!configs[arg1] handle_element_not_found('page', arg1) end BROWSER.goto CONFIGS[arg1] end

17 def find_frame(label) return BROWSER.frame(:src => /#{label}/) if BROWSER.frame(:src => /#{label}/).exist? return nil end De testen zelf kan je zowel manueel al automatisch uitvoeren. Het is de bedoeling dat je elke feature en/of scenario voorziet van een tag. Deze tag kan je dan met behulp van cucumber uitvoeren in een command prompt, alle scenario s of features met deze tag worden dan uitgevoerd. Om deze testen te automatiseren maak je dan een job aan op een server die deze testen automatisch uitvoerd.

18 4 IMPLEMENTATIE TELBASE Voordat mijn stage bij Datacon begon, was het project waarin ik ben terecht gekomen al opgestart. Omdat ik ben terechtgekomen in een project waarvan de eerste opzet al was gemaakt, was een analyse maken al uitgevoerd. In de loop van mijn stage heb ik wel een groot deel van de rest van het implementatietraject kunnen meemaken. Ik heb mee kunnen programmeren, testscenario s uitwerken en testscenario s automatiseren. In dit hoofdstuk ga ik deze onderdelen/fasen verder verduidelijken zodat je een beter beeld kan krijgen van mijn stage traject. 4.1 Fase 1 Zoals eerder vermeld heb ik in mijn eerste fase meegewerkt in een programmeerteam. Hier heb ik in C# een aantal zaken helpen programmeren. Omdat programmeren redelijk ruim is ga deze fase nog verder opdelen in concretere programmeeropdrachten om het op deze manier duidelijker uit te kunnen leggen. 4.1.1 Kleinere opdrachten In het begin van mijn stage heb ik me met behulp van een aantal kleinere opdrachten kunnen inwerken in het systeem. Deze opdrachten waren dan ook vooral gericht op kennismaken met het systeem. Een aantal opdrachten die ik in deze fase heb gedaan zijn: Data toevoegen in de database; Schedules aanmaken zodat taken zoals mails versturen op vaste tijdstippen kunnen worden uitgevoerd; Klantgerichte taken in CRM enkel laten verschijnen als het account in de juiste status is: Sommige taken kunnen niet uitgevoerd worden op een account in een bepaalde status (vb. Check registration is onmogelijk op een account in status Active); De IBAN ophalen als de bank wordt aangepast: De IBAN wordt automatisch opnieuw berekend op het moment dat de rekeningnummer of bank wordt aangepast; Invoercontroles: De controle dat ingevulde gegevens (vb. telefoonnummer) het juiste formaat (lengte, soort karakters,...) hebben; Extra gegevens tonen: Onder meer in een detailoverzicht extra gegevens laten zien zorgen dat deze ingevuld zijn met de juiste gegevens; Tabbladen toevoegen: In de module account een extra tabblad toevoegen (vb. Bills) zoals te zien is in Afbeelding 3: Klantgerichte taken in CRM;...

19 4.1.2 Use cases In deze periode heb ik vooral use cases uitgewerkt in het systeem. Deze hadden voornamelijk betrekking tot de taken die je kan uitvoeren op een account. Zo heb ik onder andere een use case uitgewerkt om de huidige balans van accounts te upgraden of downgraden. Bij deze use case haalt het systeem de huidige balans op van het geselecteerde account waarna de agent deze kan upgraden of downgraden. Een andere use case die ik heb uitgewerkt is een taak die de prepaid Call Detail Reports (CDR s) van het huidige account ophaalt en toont. Bij deze use case haalt het systeem via provisioning de CDR s van het geselecteerde account op en toont deze aan de agent, de gebruiker van het systeem. Voor beide van deze use cases heb ik taken moeten schrijven. Deze taken (CDR s opvragen, main balance opvragen, main balance updaten) roepen dan methodes aan waarin de connectie met KPN moest gebeuren. 4.1.3 Interface self-care omgeving Dit onderdeel heeft het grootste deel van fase 1 in beslag genomen. Hierin heb ik een interface gemaakt. Deze interface gaat gebruikt worden door de externe partij die de self-care omgeving gaat maken. Ik ben hiermee begonnen door methodes aan te maken in de interface (zie Printscreen 1: Interface self-care omgeving) op basis van het functioneel ontwerp (FO) dat ik had gekregen. Hierdoor had ik al een beter beeld van wat ik op een later tijdstip moest gaan implementeren. Hierin had ik ook al direct een groepering gemaakt van welke methodes bij elkaar hoorden, en uiteindelijk in dezelfde managerklasse zouden belanden, om op deze manier een beter overzicht te krijgen op de interface. Wanneer er dan een methode aangepast moest worden kon ik deze sneller terugvinden. Deze managerklassen kan je ook zien in de rechterkolom van de printscreen.

20 Printscreen 1: Interface self-care omgeving Omdat ik een beter beeld wou hebben op de vooruitgang die ik maakte, heb ik toen ook een document (zie Printscreen 2: Interface self-care omgeving - Progress) gemaakt om mijn vooruitgang in bij te houden. Om ervoor te zorgen dat anderen dit document ook konden begrijpen heb ik ook een legende (zie Printscreen 3: Interface self-care omgeving - Progress) gemaakt voor de codes die ik hierin gebruikte. Dit document was in deze fase een heel makkelijke manier om aan mijn opdrachtgever te laten zien hoever ik stond en om eventuele vragen en opmerkingen op een gestructureerde manier bij te houden zodat er geen zaken over het hoofd werden gezien.

21 Printscreen 2: Interface self-care omgeving - Progress Printscreen 3: Interface self-care omgeving - Progress: Legende Bij het maken van een interface kan je niet zomaar testen. Daarom heb ik hiervoor een Windows Forms applicatie gemaakt om de interface te kunnen testen (zie Printscreen 4: Testapplicatie interface self-care omgeving). Aan de hand van de indeling van de methodes die ik bij het ontwerpen van de interface heb gemaakt heb ik deze georganiseerd in een testapplicatie. Zoals op de printscreen te zien is, zijn er 2 kolommen van knoppen. Deze knoppen werken als een soort van menu. Als je op een knop uit de eerste kolom klikt, dus de knop van de managerklasse, worden de knoppen uit de tweede kolom aangepast om de methodes van die managerklasse te tonen. Als je op een methode klikt uit deze tweede kolom, dan wordt deze methode uitgevoerd. In het geval dat het nodig is om gegevens mee door te geven verschijnt er een ander venster waarin je de gegevens kan invullen die meegegeven moeten worden. Daarna wordt via services de methode aangeroepen. Het resultaat wordt daarna in het eerste scherm getoond.