Hoe maak je een eisenspecificatie met parameters?

Rapportages zijn erg geliefd onder eindgebruikers om hun informatie uit Relatics te halen en met anderen te delen. Bijvoorbeeld met projectmedewerkers of met andere partijen. Met een druk op de knop kan een complete rapportage inclusief een mooi logo, de eigen huisstijl en informatie uit Relatics gegenereerd worden.
In dit artikel behandelen we technieken en tips om een rapportage voor een eisenspecificatie te maken. Hierbij kunnen eindgebruikers zelf de inhoud bepalen m.b.v. parameters voor status en brondocument. Het resultaat is een pdf-rapportage waarin de gekozen parameters zichtbaar zijn en de set van eisen getoond wordt conform de gekozen parameterwaarden.

Een aparte report part voor parameters

Om verschillende soorten informatie in de eisenspecificatie te tonen is het handig om in de report verschillende report parts aan te maken. Denk aan report parts met informatie (bijv. eisen) en report parts die rapportage-specifieke onderdelen bevatten (bijv. afbeeldingen en projectinformatie).

image3-relatics-requirements-specification-report-partsimage4-relatics-requirements-specification-parameters

Voor de eisenspecificatie is de report part Parameters gemaakt. Dit zorgt er namelijk voor dat de rapportage beter beheersbaar is, omdat je de parameters altijd op dezelfde plaats kan terugvinden. Een bijkomend voordeel is dat het hierdoor eenvoudig wordt om in de rapportage alle gekozen parameterwaarden te tonen. Later in dit artikel komt dit aan bod.

Aparte constraint queries voor toegepaste parameters

image5-relatics-requirements-specification-query

In de report part Requirements staat de query waarin alle benodigde metadata voor de eisen geconfigureerd is. Normaal gesproken zou je in de nodes Status en Document direct de parameters toepassen. Echter, wanneer je de query na een tijdje weer bekijkt, dan is niet altijd direct duidelijk waar de parameters zijn toegepast. Zeker bij grotere queries is het dan best vaak zoeken voordat je een toegepaste parameter hebt gevonden. Daarom is het advies om eigenlijk voor elke parameter die in de query is toegepast, een aparte constraint query te maken. Voor de eisenspecificatie is dit gedaan voor beide parameters:

Wanneer je een parameter wil toepassen op een element met een optionele relatie, dan ontstaat er vaak een probleem. In de eisenspecificatie is dit het geval voor het brondocument. Wanneer een eindgebruiker een parameterwaarde voor document kiest, dan gaat het goed. Alleen de eisen met een relatie naar het gekozen document worden gerapporteerd. Het probleem doet zich juist voor wanneer de eindgebruiker geen parameterwaarde kiest. De eindgebruiker verwacht dan dat alle eisen gerapporteerd worden, maar in het eindresultaat ontbreken dan onverwacht alle eisen die niet aan een document gerelateerd zijn. De reden is dat de constraint query zich gedraagt als een mandatory relatie. Door een speciale constructie in de constraint van de node Requirement te gebruiken, wordt dit opgelost:

Speciale constructie voor parameters i.c.m. optionele relaties

Example: Constraint for the report part Requirements

Object.ConfigurationOfRef=’2acfc93a-0884-e711-80ee-000af753dd43′

AND EXISTS(Param_RequirementStatus)

AND (‘*’=@Source_Document OR EXISTS(Param_Document))

Gekozen parameterwaarden dynamisch in Altova StyleVision tonen

image6-relatics-requirements-specification-altova-stylevision-parameters

In Altova StyleVision kan een tabel geconfigureerd worden die dynamisch de inhoud van de report part met parameters toont. Hierbij wordt handig gebruik gemaakt van de standaardfunctionaliteit van Relatics waarbij in het XML-bestand van de report alle ingestelde parameters meegestuurd worden.

Door een tabel op te bouwen waarbij elke rij de inhoud bevat van de node RelaticsParameter uit de report part met parameters, zullen alle beschikbare parameters voor de eisenspecificatie getoond worden. Het attribuut Name toont de naam van de parameter (bijv. ‘Status’) en het attribuut DisplayValue toont de waarde die de eindgebruiker gekozen heeft (bijv. ‘Actual’).

Standaard wordt ook de systeemparameter User meegegeven. Deze kan uitgesloten worden in de XPath Filter van de node RelaticsParameter middels de volgende XPath Expression:

Example: Voorbeeld van XPath Expression

@Name != ‘User’

Het grote voordeel van deze opzet is dat iedere keer dat parameters wijzigen in de report part met parameters, niet steeds het Altova StyleVision bestand van de eisenspecificatie hierop aangepast hoeft te worden. Dit vergroot de beheersbaarheid van de rapportage.

Een selection tree toepassen op een parameter

image7-relatics-requirements-specification-generate-report-selection-tree

Voor de status en het brondocument is het voor eindgebruikers het meest geschikt om de parameterwaarden in een lijst te tonen. Sommige informatie wordt in de eindapplicatie vaak in een boom weergegeven. Denk aan breakdown structures, zoals de SBS, FBS en WBS.

De eisenspecificatie kan eenvoudig uitgebreid worden met een parameter voor een systeem object. Hiermee kan een eindgebruiker de set van eisen beperken tot een gekozen systeem object dat gerelateerd is aan een eis. Door simpelweg in de query bij de parameter bij possible values een selection tree te kiezen, worden voor het genereren van de eisenspecificatie de parameterwaarden in een boom getoond:

Eindresultaat

image8-relatics-requirements-specification-report-final-result

Een rapportage met parameters biedt eindgebruikers de mogelijkheid om zelf de inhoud te bepalen. In onderstaand voorbeeld is te zien dat enkel eisen getoond worden die (1) de status Actual hebben, en (2) minstens een relatie naar Contractdocument v.01 hebben. Bovenaan het document is een tabel te zien met gekozen parameters. Hierdoor is achteraf altijd duidelijk op basis van welke dataset de rapportage is gegenereerd.