In de presentatie versiebeheersysteem op software repository zie je hoe je met Invantive Producer verschillende software versies eenvoudig samenvoegt. Invantive Producer is een software-ontwikkelomgeving voor het ontwikkelen van kwalitatief hoogwaardige software en applicaties. Met het versiebeheersysteem kunnen ontwikkelaars vanuit de software repository verschillende software versies analyseren, vergelijken, modelleren, samenvoegen en automatisch installeren.
Wil je meer informatie? Bezoek dan onze website: http://www.invantive.nl
Just In Time Scalability Agile Methods To Support Massive Growth PresentationLong Nguyen
IMVU is an online destination where adults and teens meet new people in 3D. IMVU won the 2008 Virtual Worlds Innovation Award and was also named a Rising Star in the 2008 Silicon Valley Technology Fast 50 program.
These are excerpts from the IMVU PDF presentation of their architecture which can be viewed or downloaded here.
Voor een project met tijdsdruk en een vast budget hebben we met dit voorstel een to the point projectaanpak gepresenteerd. We tonen onze motivatie & enthousiasme, en wekken tegelijkertijd vertrouwen–ondanks een niet concreet gedefinieerde uitkomst–voor een robuust eindresultaat.
Zie ook: http://www.2nk.nl/items/view/1073/agile-projectaanpak
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case-managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze tweewekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
TYPO3 Congres 2012 - TYPO3 als centraal documentatiesysteemTYPO3 Nederland
Het in 1907 opgerichte bedrijf SKF is de grootste producent van kogellagers ter wereld. Naast het produceren van kogellagers is een belangrijke dienst van SKF het gegeven van advies over de toepassing van lagers. Hierbij wordt gebruik gemaakt van door SKF zelf ontwikkelde simulatiesoftware waarin praktijktoepassingen van lagers worden nagebootst om onder andere levensduurberekeningen uit te voeren. Omdat dit soort materie vrij complex kan zijn, is een belangrijk aspect van deze software de beschikbaarheid van een goede handleiding.
Dit is waar TYPO3 om de hoek komt kijken. Voor SKF ben ik op dit moment bezig om een centaal documentatiesysteem op te zetten, gebaseerd op TYPO3. De documentatie die door TYPO3 wordt gegenereerd kan in de simulatiesoftware zelf worden bekeken met een geïntegreerde browser. Bijzonder hierbij is dat niet elke gebruiker dezelfde mogelijkheden heeft in de simulatiesoftware. Afhankelijk van de licentie van een gebruiker zijn bepaalde onderdelen in het pakket wel of niet actief. Met behulp van uitgebreide gebruikersprofielen krijgt elke gebruiker uniek voor hem gegenereerde documentatie te zien, die precies past bij de mogelijkheden in zijn simulatiesoftware.
In mijn presentatie zal ik meer vertellen over deze niet alledaagse toepassing van TYPO3. Hierbij zal ik met name ingaan op hoe TYPO3 is gekoppeld en geïntegreerd met andere SKF systemen en de verschillende manieren waarop TYPO3 is uitgebreid. Denk hierbij aan de uitbreiding van de frontend authenticatie, custom backend modules, custom clickmenu's, LaTex ondersteuning in de RTE, automatische video conversie naar HTML5, en nog veel meer. Interessant voor ontwikkelaars en beleidsmakers die willen zien wat de uitbreidingsmogelijkheden van TYPO3 zijn.
- Een niet alledaagse toepassing van TYPO3
- Een showcase van de uitbreidingsmogelijkheden van TYPO3
- Aanknopingspunten voor ontwikkelaars
Bart Dubelaar
Bart is 31 jaar en werkt als Technical Software Engineer bij Logica, onderdeel van CGI. Bart is gecertificeerd TYPO3 integrator en heeft 3 jaar ervaring als TYPO3 ontwikkelaar en integrator. Op dit moment werkt Bart als consultant bij SKF in het Engineering & Research Centre waar gewerkt wordt aan interne Knowledge & Simulation tooling.
Just In Time Scalability Agile Methods To Support Massive Growth PresentationLong Nguyen
IMVU is an online destination where adults and teens meet new people in 3D. IMVU won the 2008 Virtual Worlds Innovation Award and was also named a Rising Star in the 2008 Silicon Valley Technology Fast 50 program.
These are excerpts from the IMVU PDF presentation of their architecture which can be viewed or downloaded here.
Voor een project met tijdsdruk en een vast budget hebben we met dit voorstel een to the point projectaanpak gepresenteerd. We tonen onze motivatie & enthousiasme, en wekken tegelijkertijd vertrouwen–ondanks een niet concreet gedefinieerde uitkomst–voor een robuust eindresultaat.
Zie ook: http://www.2nk.nl/items/view/1073/agile-projectaanpak
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case-managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze tweewekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
TYPO3 Congres 2012 - TYPO3 als centraal documentatiesysteemTYPO3 Nederland
Het in 1907 opgerichte bedrijf SKF is de grootste producent van kogellagers ter wereld. Naast het produceren van kogellagers is een belangrijke dienst van SKF het gegeven van advies over de toepassing van lagers. Hierbij wordt gebruik gemaakt van door SKF zelf ontwikkelde simulatiesoftware waarin praktijktoepassingen van lagers worden nagebootst om onder andere levensduurberekeningen uit te voeren. Omdat dit soort materie vrij complex kan zijn, is een belangrijk aspect van deze software de beschikbaarheid van een goede handleiding.
Dit is waar TYPO3 om de hoek komt kijken. Voor SKF ben ik op dit moment bezig om een centaal documentatiesysteem op te zetten, gebaseerd op TYPO3. De documentatie die door TYPO3 wordt gegenereerd kan in de simulatiesoftware zelf worden bekeken met een geïntegreerde browser. Bijzonder hierbij is dat niet elke gebruiker dezelfde mogelijkheden heeft in de simulatiesoftware. Afhankelijk van de licentie van een gebruiker zijn bepaalde onderdelen in het pakket wel of niet actief. Met behulp van uitgebreide gebruikersprofielen krijgt elke gebruiker uniek voor hem gegenereerde documentatie te zien, die precies past bij de mogelijkheden in zijn simulatiesoftware.
In mijn presentatie zal ik meer vertellen over deze niet alledaagse toepassing van TYPO3. Hierbij zal ik met name ingaan op hoe TYPO3 is gekoppeld en geïntegreerd met andere SKF systemen en de verschillende manieren waarop TYPO3 is uitgebreid. Denk hierbij aan de uitbreiding van de frontend authenticatie, custom backend modules, custom clickmenu's, LaTex ondersteuning in de RTE, automatische video conversie naar HTML5, en nog veel meer. Interessant voor ontwikkelaars en beleidsmakers die willen zien wat de uitbreidingsmogelijkheden van TYPO3 zijn.
- Een niet alledaagse toepassing van TYPO3
- Een showcase van de uitbreidingsmogelijkheden van TYPO3
- Aanknopingspunten voor ontwikkelaars
Bart Dubelaar
Bart is 31 jaar en werkt als Technical Software Engineer bij Logica, onderdeel van CGI. Bart is gecertificeerd TYPO3 integrator en heeft 3 jaar ervaring als TYPO3 ontwikkelaar en integrator. Op dit moment werkt Bart als consultant bij SKF in het Engineering & Research Centre waar gewerkt wordt aan interne Knowledge & Simulation tooling.
Continuous delivery met jenkins twist en puppetltebbens
Deliver software fast. Release features elke twee weken naar productie door een continue stroom automatisch geteste user stories. Die met een drukknop live kunnen. In deze presentatie deel ik mijn ervaringen en de toegepaste inrichting.
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze 2 wekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
Creating sustainable solutions with SharePoint 2013 - Yuri BurgerDelta-N
Creating sustainable solutions is always daunting, whether you are a single developer or working as a member in a large team. Every type of project requires a specific approach, there are no silver bullets. Still, there are some considerations you should make with every new SharePoint development project to ensure proper developer workflow and the delivery of maintainable solutions. In this session we will look at several tools and topics around SharePoint 2013, the different solution types and Application Lifecycle Management and how you can use them to enhance your development projects.
Het creëren van duurzame oplossingen is altijd een uitdaging. Of u nu alleen werkt of onderdeel bent van een groot ontwikkelteam. Elk type project vereist een specifieke aanpak, er zijn geen ‘silver bullets’. Toch zijn er een aantal overwegingen die u moet maken bij ieder SharePoint ontwikkelingsproject om voor een goede developer workflow en de levering van onderhoudbare oplossingen te zorgen. Yuri Burger heeft een artikel geschreven waarin gekeken wordt naar verschillende tools en onderwerpen rondom SharePoint 2013, de verschillende soorten oplossingen en Application Lifecycle Management en hoe u dit kunt gebruiken om uw projecten te verbeteren.
COWW klanten kennis- en informatie avond 23/06/2015. Een technische update van de COWW omgeving 2.16 gepresenteerd door COWW Product owner Samet Yilmaz
De kwaliteit van de business intelligence bepaalt de slagkracht van jouw organisatie. Wil je een nieuwe, effectieve BI-omgeving inrichten? Een extra functionaliteit toevoegen aan de BI-omgeving? Moet de BI-omgeving aangepast worden vanwege nieuwe regelgeving of een op handen zijnde fusie? Allemaal redenen om een goed afgebakend BI-project te starten met FourPoints. Jouw gids in business intelligence.
Ben je ooit wel eens kapotte geautomatiseerde tests tegengekomen, waarbij de code achter deze tests zo complex of onleesbaar was dat het repareren vrijwel onmogelijk leek?
Het schrijven van testautomatiseringscode is het ontwikkelen van software, dus laten we de concepten voor het ontwikkelen van goede software hierbij gebruiken. Een van de belangrijke concepten is die van “clean code”. Laten we eens beginnen met goede naamgeving, unit testen en SOLID principes voor onze testautomatiseringsode.
Continuous delivery met jenkins twist en puppetltebbens
Deliver software fast. Release features elke twee weken naar productie door een continue stroom automatisch geteste user stories. Die met een drukknop live kunnen. In deze presentatie deel ik mijn ervaringen en de toegepaste inrichting.
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze 2 wekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
Creating sustainable solutions with SharePoint 2013 - Yuri BurgerDelta-N
Creating sustainable solutions is always daunting, whether you are a single developer or working as a member in a large team. Every type of project requires a specific approach, there are no silver bullets. Still, there are some considerations you should make with every new SharePoint development project to ensure proper developer workflow and the delivery of maintainable solutions. In this session we will look at several tools and topics around SharePoint 2013, the different solution types and Application Lifecycle Management and how you can use them to enhance your development projects.
Het creëren van duurzame oplossingen is altijd een uitdaging. Of u nu alleen werkt of onderdeel bent van een groot ontwikkelteam. Elk type project vereist een specifieke aanpak, er zijn geen ‘silver bullets’. Toch zijn er een aantal overwegingen die u moet maken bij ieder SharePoint ontwikkelingsproject om voor een goede developer workflow en de levering van onderhoudbare oplossingen te zorgen. Yuri Burger heeft een artikel geschreven waarin gekeken wordt naar verschillende tools en onderwerpen rondom SharePoint 2013, de verschillende soorten oplossingen en Application Lifecycle Management en hoe u dit kunt gebruiken om uw projecten te verbeteren.
COWW klanten kennis- en informatie avond 23/06/2015. Een technische update van de COWW omgeving 2.16 gepresenteerd door COWW Product owner Samet Yilmaz
De kwaliteit van de business intelligence bepaalt de slagkracht van jouw organisatie. Wil je een nieuwe, effectieve BI-omgeving inrichten? Een extra functionaliteit toevoegen aan de BI-omgeving? Moet de BI-omgeving aangepast worden vanwege nieuwe regelgeving of een op handen zijnde fusie? Allemaal redenen om een goed afgebakend BI-project te starten met FourPoints. Jouw gids in business intelligence.
Ben je ooit wel eens kapotte geautomatiseerde tests tegengekomen, waarbij de code achter deze tests zo complex of onleesbaar was dat het repareren vrijwel onmogelijk leek?
Het schrijven van testautomatiseringscode is het ontwikkelen van software, dus laten we de concepten voor het ontwikkelen van goede software hierbij gebruiken. Een van de belangrijke concepten is die van “clean code”. Laten we eens beginnen met goede naamgeving, unit testen en SOLID principes voor onze testautomatiseringsode.
2. Agenda
Invantive
Doel
Uitvoering
Resultaten
Toekomst
Invantiv Doel Uitvoerin Resultate Toekomst 2
e g n
3. Invantive Producer
Idee
Specificaties in repository
Invantive Estate
• Idee / strategie
• Specificaties
• Invantive Producer
• Projectmanagement software
Invantiv Doel Uitvoerin Resultate Toekomst 3
e g n
4. Software genereren
Level editor
Snel reageren
Alleen gewenste functionaliteit
Invantiv Doel Uitvoerin Resultate Toekomst 4
e g n
5. Doel van de opdracht
Versiebeheer op een database
• Rekening houden met relaties
• Visualisering verschillen
• Samenvoegen van versies
• Inzichtelijk maken wie, wat, wanneer
Invantiv Doel Uitvoerin Resultate Toekomst 5
e g n
6. Versiebeheer
• Geschiedenis bijhouden
• Verschillen berekenen
• Afsplitsingen
• Samenvoegen
• Parallel ontwikkelen
Invantiv Doel Uitvoerin Resultate Toekomst 6
e g n
7. Uitvoering
• Research & Development
• Hoe werkt versiebeheer op een database
• Complexiteit Invantive Producer
• Focus op verschil functionaliteit
• Een efficient verschil algoritme
• PL/SQL implementatie
• WPF en Model View ViewModel
Invantiv Doel Uitvoerin Resultate Toekomst 7
e g n
8. Verschil berekening
Hij berekent het verschil
Daar berekenen wij het verschil
HijDaar berekenten wij het verschil
Snel verschil algoritme
Invantiv Doel Uitvoerin Resultate Toekomst 8
e g n
9. Inhoud verschillen
Een onderdeel heeft
afhankelijk van zijn type
een aantal groepen
onderdelen van een type
Invantiv Doel Uitvoerin Resultate Toekomst 9
e g n
10. Eigenschap verschillen
Eigenschappen bepalen
hoe een onderdeel het
systeem beïnvloed
Invantiv Doel Uitvoerin Resultate Toekomst 10
e g n
11. Toekomst
Ontwikkeling versiebeheer
• Samenvoegen
• Parallel ontwikkelen
• Afsplitsingen
• Toepassing van een specifieke commit
• Volgend afstudeerproject
Invantiv Doel Uitvoerin Resultate Toekomst 11
e g n
Invantive Producer is een software-ontwikkelomgeving met versiebeheersysteem op repository. Het versiebeheersysteemsteltontwikkelaars in staatomvanuit de software repository softwareversiesteanalyseren, modelleren, samenvoegen en automatischteinstalleren.
De volgende onderwerpen zullen besproken worden.Eerst iets over Invantive, het bedrijf waar ik mijn afstudeerstage uitgevoerd heb.Welk probleem deze afstudeerstage op moet lossenHoe de afstudeerstage is verlopen.De afgeleverde producten.Onderin kunt u volgen waar we ongeveer zijn.
Met Invantive Producer maakt Invantive op een slimme manier software voor bedrijven. Het software ontwikkelproces begint bij een idee voor welke software nodig is. Dan maakt Invantive in samenwerking met de klant een set specificaties waarin vastgelegd staat hoe de uiteindelijke software zal werken.(klik)Deze specificaties bestaan uit bedrijfsobjecten en staan opgeslagen in een repository. Invantive is bezig met de ontwikkeling van Invantive Studio, dat is een programma waarmee de specificaties beheerd kunnen worden (zie beeldscherm)Links zie je de specificaties en hun bedrijfsobjecten. In het midden de onderdelen van het geselecteerde bedrijfsobject. Rechts zie je de eigenschappen van het geselecteerde bedrijfsobject.(klik)(screenshot Invantie Studio verdwijnt, en Invantive producer komt tevoorschijn)Dan kan Invantive Producer gebruikt worden om projectmanagement software te genereren.(klik)(icoontje, projectmanagement software verschijnt en screenshot Invantive Estate verschijnen)De uiteindelijke software kan in grote mate voor de specifieke klant aangepast wordt, waardoor die klant het ervaart als software op maat. Anders gezegd wordt de software gegenereerd.
Software genereren kun je vergelijken met een level editor. Die biedt een level bestaande uit een aantal onderdelen waarvan de eigenschappen aangepast kunnen worden en er kunnen ook onderdelen worden toegevoegd of verwijderd. Vervolgens zal het computerspel dit level gebruiken om de speler een spelervaring te leveren. Dit is zo te vergelijken met het genereren van software dat het level een set specificaties is, het computerspel een product van Invantive en de spelervaring het informatiesysteem dat de klant gebruikt.Andere manieren om het gewenste resultaat te bereiken zijn op maat gemaakte software of zeer generieke software, waar de meeste opties uit staan. Het nadeel van op maat gemaakte software is dat het relatief veel tijd kost om een mooi systeem te bouwen en van generieke software dat er veel functionaliteit in zit die niet gebruikt wordt. Bij het genereren van software wordt alleen de functionaliteit afgeleverd die de klant nodig heeft. Er zijn ook steeds meer situaties waar dit geschikt is, bijvoorbeeld bij de nieuwe maasvlakteIn vergelijking met het ontwikkelen van een softwarepakket vanaf niks op maat ontwikkelen kun je met Invantive Producer snel resultaat leveren en eenvoudig bestaande software aanpassen.Een andere We komen steeds vaker problemen tegen waarbij we steeds ongeveer dezelfde software nodig hebben, maar net een beetje anders. Invantive heeft dit opgelost op een manier die te vergelijken is met het principe van een level editor voor een computerspel. In het level vind je een aantal onderdelen die je kunt wijzigen. Hierdoor zal de game engine de speler een andere spelervaring bieden. In de vergelijking met Invantive Producer zijn de specificaties het level, Invantive producer is de game engine en de projectmanagement software de spelervaring.Het voordeel ten op zichtte van op maat gemaakte software is dat het veel minder tijd kost en naar de toekomst toe flexibel blijft. Het voordeel ten op zichtte van zeer generieke software is dat het systeem alleen de functionaliteit bevat die de klant nodig heeft en daardoor betere prestaties levert.
Bij de ontwikkeling van software wordt bijna altijd gebruik gemaakt van een versiebeheersysteem, omdat het belangrijke werkprocessen mogelijk maakt.Het doel van de opdracht is om het programma Invantive Studio uit te breiden met versiebeheer. We hebben gekozen om dit te laten werken op een database vanwege de volgende voordelen:1. Goed in het werken met grote hoeveelheden data die door meerdere mensen gebruikt wordt;2. Maakt het mogelijk rekening te houden met relaties tussen opgeslagen gegevens.Het te ontwikkelen systeem zal in ieder geval de volgende functionaliteit ondersteunen:Het houdt rekening met de relaties tussen de gegevens.Maakt duidelijk hoe het systeem in de loop der tijd gewijzigd is.Laat meerdere personen tegelijk aan dezelfde gegevens werken.Voegt de wijzigingen van verschillende versies samen tot een nieuwe versie.Kan voor een specifiek onderdeel aangeven wie het veranderd is. Bijvoorbeeld: er is een nieuwe functie is toegevoegd die fouten veroorzaakt, dan kun je zien wie dat heeft gedaan en aan die persoon vragen waarom dat op die manier is gebeurt.
Als eerste onderdeel van mijn project heb ik onderzoek gedaan naar wat versiebeheer nou precies is en hoe dat op een database zou moeten werken.Een versiebeheersysteem zorgt voor de opslag van alle gegevens die relevant zijn voor een project.Vervolgens kunnen gebruikers wijzigingen maken in die gegevens en die opleveren aan het systeem.
Het project bevat veel research, het is naar mijn weten nog nooit gedaan. Het bedrijf had wel een idee van het concept maar wist ook niet hoe de oplossing eruit zou zien.Het versiebeheersysteem wordt helemaal in Invantive Producer geïntegreerd zodat het ook op de software bij de klant zal werken. Echter dit maakt de opdracht veel lastiger omdat Invantive Producer een zeer complex programma is.De belangrijkste problemen die ik tegen ben gekomen:Het vinden van een efficiënt verschil algoritme. Meestal zit er maar weinig verschil tussen de dingen die je wilt vergelijken en daar is goed voor te optimaliseren. Dus mijn doel was om een diff algoritme te vinden wat het beste verander pad zou vinden maar ook heel efficiënt blijft als het aantal te vergelijken elementen groot wordt maar het aantal verschillen klein. Bijvoorbeeld als je in een tabel van 10000 records 1 record veranderd wil je niet minutenlang op de vergelijking wachten. Het bleek niet mogelijk om altijd het beste pad te vinden, dus vind het algoritme nu meestal niet het beste pad maar wel altijd een correct pad.Dit algoritme in PL/SQL implementeren was heel lastig omdat de Oracle omgeving en deze taal voor mij beide nieuwe waren. Ook gaat PL/SQL ervan uit dat je werkt met data uit de database, dat maakt het lastiger om speciaal voor het algoritme tussentijds gegevens op te slaan.Op dit punt hebben we besloten de scope van de opdracht aan te passen en de focus te leggen op het laten zien van verschillen tussen objecten. Invantive zorgt bij al zijn software voor een goede gebruikerservaring en het product moet naar de toekomst uitgebreid kunnen worden naar een tool om merges uit te voeren. Daarom hebben we ervoor gekozen om WPF uit te voeren met het principe Model View ViewModel. WPF maakt het mogelijk een zeer goede gebruikservaring te leveren. Model View ViewModel zorgt ervoor dat het uiterlijk en de gegevens op een goede manier gescheiden worden. Als je dan later iets anders met die gegevens wilt doen zijn ze direct beschikbaar in plaats van dat ze in de user interface vast zitten. Dat bleek in dit scenario echter wel heel lastig te realiseren.
Een voorbeeld van hoe verschillen berekent worden. Van de eerste naar de tweede zin wordt er een letter verwijderd en weer toegevoegd.Het algoritme ziet dat door van beide teksten iedere letter met iedere andere letter te vergelijken. In het resultaat worden de wijzigingen zichtbaar doordat verwijderde letters rood en doorgestreept weergegeven worden en toegevoegde letters groen en dikgedrukt.Het probleem met deze berekening is dat het bij grote hoeveelheden tekst zeer lang gaat duren.Terwijl er programma’s zijn die ook grote hoeveelheden tekst snel met elkaar kunnen vergelijken.Dus heb ik uitgezocht hoe je dat moet doen. Het voordeel zo’n snel algoritme is dat het meest voorkomende scenario, namelijk heel weinig verschillen, heel snel is.Simpel gezegd slaat het de gekopieerde letters over, waardoor het alleen op plekken in de tekst met een verschil verder gaat kijken.
Elk onderdeel bevat, afhankelijk van zijn type, een aantal groepen onderdelen van een bepaald type.
De eigenschappen van een onderdeel bepalen hoe het systeem beïnvloed word.
Het versiebeheer in Invantive Studio wordt doorontwikkeld zodat de ontwikkeling van specificaties beter ondersteund wordt.Het systeem voegt automatisch wijzigingen van verschillende ontwikkelaars samen.Hierdoor wordt het werkbaar dat meerdere ontwikkelaars tegelijkertijd aan een specificatie werken.Het systeem is zich bewust van afsplitsingen. Bijvoorbeeld bij het samenvoegen houdt het rekening met het punt tot waar de verschillende versies nog hetzelfde waren.Als een fout in de ene versie gerepareerd is, moet die reparatie ook makkelijk op een andere versie uitgevoerd kunnen worden.Invantive is op