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).

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.

Tip: Gebruik een aparte report part voor parameters om de rapportage beheersbaarder te maken en parameterwaarden overzichtelijker aan eindgebruikers te tonen.

Aparte constraint queries voor toegepaste parameters

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:

Tip: Gebruik in een query aparte constraint queries voor parameters om de query intuïtiever te maken. Om nog beter het onderscheid met andere constraint queries te maken, kun je een extra aanduiding (bijv. ‘Param_’) gebruiken.

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))

Tip: Gebruik een constraint query en de volgende constraint om parameters toe te passen op optionele relaties: ('*'=@MyParameter OR EXISTS(Param_MyConstraintQueryWithParameter))

Gekozen parameterwaarden dynamisch in Altova StyleVision tonen

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.

Tip: Toon in Altova StyleVision in een tabel alle parameters uit de report part met parameters, zodat de rapportage eenvoudiger te onderhouden is. Gebruik de volgende XPath Expression om de standaard Relatics parameter 'User' niet te tonen: @Name != 'User'

Een selection tree toepassen op een parameter

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:

Tip: Gebruik een selection tree voor een parameter, wanneer een eindgebruiker het liefst een parameterwaarde uit een boom kiest. Bijvoorbeeld bij de SBS, FBS en WBS.

Eindresultaat

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.

Downloaden

Upload onderstaand rcs-bestand in je environment om de uitgewerkte voorbeelden van dit artikel te bekijken:

Contact

Heeft u hulp nodig bij het toepassen van de genoemde technieken in uw eigen casus? Of heeft u vragen, opmerkingen of suggesties over dit artikel? Laat het ons dan weten via onderstaand formulier.