Producten in een multisite CMS
Producten in een multisite CMS
Samenvatting
SalesCare heeft een klant in de technische industrie met de behoefte aan een Content Management Systeem (CMS), waarmee verschillende websites beheerd kunnen worden. SalesCare is bezig met het bouwen van dit CMS en is in een vergevorderd stadium om statische websites te kunnen beheren. De klant wil echter ook hun 500.000 producten op de websites kunnen laten zien. De student heeft onderzoek uitgevoerd om dit mogelijk te maken binnen het CMS van SalesCare.
De hoofdvraag voor dit onderzoek was als volgt:
“Hoe kan de architectuur en het ontwerp van het multisite CMS van SalesCare aangepast worden om de nieuwe functionaliteiten mogelijk te maken en hoe kunnen de kwaliteitscriteria van deze uitbreiding het beste gegarandeerd worden door een goede teststrategie?”
Om de vraag te beantwoorden zijn de volgende deelvragen opgesteld:
1. Wat is de huidige situatie van het CMS?
2. Wat zijn de benodigde functionaliteiten van de uitbreiding?
3. Wat zijn de gestelde eisen en kwaliteitscriteria aan het systeem?
4. Welke architectuur en ontwerpoplossing voldoen aan de gestelde eisen en kwaliteitscriteria?
5. Hoe kunnen de kwaliteitscriteria het beste getest worden?
Uit het onderzoek bleek dat er veel extra functionaliteiten nodig waren, die niet rechtstreeks met het tonen van de producten te maken hadden. Deze functionaliteiten waren echter wel belangrijk voor het beheren van de producten en voor de bestanden die bij de producten horen. Er is een Functioneel Ontwerp gemaakt (zie bijlage 1) om alle functionaliteiten op een rijtje te zetten.
Vervolgens is gekeken naar de kwaliteitscriteria waar het systeem aan moet voldoen. Uit de ISO 25010 norm zijn de belangrijkste kwaliteitscriteria gepakt die gelden voor het CMS. Hieruit bleek dat vooral aan de Performance Efficiency, Maintainability, Reliability en Security belangrijke eisen werden gesteld. Toen de kwaliteitscriteria waren vastgesteld, werd ontdekt dat de huidige architectuur van het systeem niet meer voldeed aan de kwaliteitscriteria. Hiervoor is eerst een oplossing gezocht door het project te splitsen naar een beheeromgeving en een omgeving om de websites te tonen op verschillende webservers.
Vervolgens is gekeken wat de beste oplossingen waren voor de uitbreiding van het CMS met de producten met het oog op de kwaliteitscriteria. Na een analyse is voor de volgende oplossing gekozen: De producteninformatie wordt opgeslagen in een aparte database en is bereikbaar met behulp van webservices. Om de performance van de productenpagina’s te garanderen wordt er gebruikt gemaakt van een cache voor de categorieën op de frontend-webserver. Deze cache wordt elk uur ververst om de data zo recent mogelijk te houden.
Bij het testen van de kwaliteitscriteria is per criterium gekeken naar de beste oplossing. Zo is voor de performance eisen gekozen om loadtests uit te voeren. Met loadtests kan de performance van een systeem worden gemeten met een van tevoren bepaalde hoeveelheid gebruikers.
Uiteindelijk is de conclusie getrokken dat het systeem zoals het gebouwd is voldoet aan alle kwaliteitscriteria. Er zijn echter wel een aantal aanbevelingen die gedaan zijn voor de toekomst. Het is vooral belangrijk dat er getest blijft worden als er aanpassingen in het systeem gedaan worden. Ook is de aanbeveling gedaan om de tests uit te breiden met functionele en unit tests om een grotere hoeveelheid mogelijkheden te testen.
Organisatie | Hogeschool Utrecht |
Opleiding | Informatica |
Afdeling | ICT |
Datum | 2016-10-24 |
Type | Bachelor |
Taal | Nederlands |