Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

RAN00883

Brainstorm
by

Niek Boeder

on 17 July 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of RAN00883

Prioritering requirements:
"Form follows function"
Werkbaarheid
Issue nr. 120

Runtime gedrag van herberekenen indien niet gewijzigd. Gebruiker inzicht geven of veld wel of niet 'in sync' is.
POA nr. 205523

.IsWaar() en .IsOnwaar() uit expressies weghalen en wijzigen in "= waar" en "= onwaar".
POA nr. 204689

Constructie "opsomming <> waarde" verbieden.

>> Moet je oplossen met samengestelde opsommingswaarde
Poa nr 214253

Attribuutcondities mogen niet de defaultwaarde bevatten (actief en wijzigbaar: waar, verplicht: onwaar)
Controles op expressies
POA nr 196442

Wens: attributen van kop (via is-onderdeel-van) beschikbaar stellen in expressies regel zonder te hoeven doorpunten.
POA 204685

Beperkt aantal patronen voor actief conditie:
opsommingswaarde
bepaald/onbepaald attribuut
waar/onwaar veld
specifieke toestand
vergelijking van waarden
(RAN00883)
Attribuuttypes en bijbehorend gedrag
POA 167345

Rekening houden met onbepaald in expressies maakt expressies moeilijk voor niet-programmeurs
POA nr 192382

In de RT wordt bij verwijzingen de omschrijving van achterliggende instantie getoond.
We moeten nog eens goed bespreken wat het standaard gedrag is in zo'n situatie. Misschien moet hiervoor wel iets extra's gedefinieerd worden.
Omschrijvingen
Requirements
POA 169751

Idee van JLI over hoe een invoerhulp voor de expressie editor eruit zou kunnen zien.

(ingestuurd 15-10-2010)
POA 172737

Standaard profiel functionaliteit op componenten die daar voor in aanmerking komen.
POA 175539

Oplossing bedenken voor 'repeterende attributen'. Voorbeeld: aantal maandag, aantal dinsdag, aantal woensdag etc.
POA 192941

Het project RAN00927 "opsommingen en verwijzingen in expressies" is slechts gedeeltelijk gerealiseerd.
Bij een vergelijking van 2 opsommings-attributen wordt niet gecontroleerd of de opsommingen gelijk zijn.

Ook niet bij return-waarde van functies.
Bij een vergelijking tussen verwijzingen wordt niet gecontroleerd of de doelcomponent gelijk is

Ook niet bij return-waarde van een functie
POA 195386

Behoefte aan een functie om een (gedeelte van) tekst upper-case te maken.


POA 204978

Wens om gebruik van opsommingen in expressies te vereenvoudigen: voorkomen dat "o.[opsomming]" nodig is.
Poa NR: 195394

Behoefte aan case statement en voorkomen van "IsBepaald dan X anders Y" in expressies.
POA # 203103

Het standaard attribuut "omschrijving" krijgt als soort gedrag "normaal" i.p.v. "informatief"
POA 180690

Verwijzingen en opsommingen hoorden oorspronkelijk geen 'attribuuteigenschap' te hebben, is nu wel zo. Bepalen of dat wel moet.
POA nr 194564

Als een voorkeurwaarde gezet wordt op basis van de waarde van een attribuut dat op (vrijwel) hetzelfde moment inactief wordt dan is niet zeker of de voorkeurwaarde eerst gezet wordt.
POA 195395

Automatische opmaak (uitlijning en beginnen van nieuwe regel) van expressies kan prettiger.
POA 204949

Wens voor runtime afgeleide profielen en groepscomponenten.
Vraag is hoe dit uit het model afgeleid kan gaan worden, of dat het model dat moet vertellen.
POA nr. 204943

Welke volgorde mag verwacht worden bij uitvoeren attribuutcondities en berekeningen?
POA nummer: 215957

Circulaire expressies graag detecteren bij compileren expressie, i.p.v. bij genereren runtime zodat fouten eerder ontdekt worden.
POA 214456

Automatische toestanden als gevolg van Rol-verwijzing nog eens goed bekijken.
Poa 215630

Voorkomen dat in expressies ".x is waar" gebruikt wordt

--> want je kunt dan ook gewoon ".x" gebruiken.
POA 207758

Wens om in expressies te kunnen constateren of er instanties zijn die verwijzen naar de betreffende instantie van de eigen component.
2010
2011
2012
2013

Totalen:
6
2
15
15

+
38 POA's
(ten onrechte laten vervallen)
POA nr. 221659

Studio:
Veldtype Code/teller is voorlopig een apart regeltype, totdat Regeltype en veldtype samengevoegd worden.
POA 167048

Welke volgorde geldt er bij validaties? De controle of een waarde geldig is moet je eerder doen dan andere validaties m.b.t. een veld.
POA 167105

Een afgeleid gegeven wil je soms op een lager niveau kunnen aanpassen met als gevolg dat het in de bron wordt aangepast.
POA 220247

ID is een standaard attribuut. De sleutel op ID ook. Beiden zijn altijd afleidbaar en daarom redundant: dus weglaten uit appdef.
POA 167125

Berekening "indien niet gewijzigd" gedraagt zich nu nog als voorkeurwaarde. Waarde moet bijgewerkt worden zolang niet bewust aangepast.

POA 216320

Hoe om te gaan met Foreign keys in expressies?

En ook ".Id" overbodig maken.
Kan bij de verwijzing naar Medewerker in Evenementlocatie als defaultwaarde ".Evenement.Persoon" opgegeven worden?
Issue 100 (Poa 217232)

Velden conditioneel naar elkaar omrekenen
Issue 98
Heen en weer berekenen % en bedrag

Project: RAN0107
"Afrondingsverschillen en staartberekening"

NEXT.@.5
heeft overeenkomsten met
BTW incl/exlc BTW

particulier:
bedrag ex = (100 / 100 + btw %) * bedrag incl

business 2 business:
bedrag incl = bedrag ex * (100 + btw %)
Ditzelfde principe geldt voor vreemde valuta. Een verkoper wil de prijzen in vreemde valuta kunnen zien en wil kunnen zien wat de prijzen zijn in de basisvaluta. Alleen als een order in vreemde valuta wordt ingevoerd, wordt er terug gerekend.
Gedrag van toestanden (POA 217535)
Tussenresultaten niet in RT tonen (POA 217709)
Soort gedrag van attribuut:
typerend (POA 217710)
legacy (POA 217711)
informatief (POA 217713)
Afwijkend gedrag van "typerend" in eigenschappen: disabled + slotje, alleen als eerst op het slotje geklikt wordt is wijzigen mogelijk zodat dit een bewuste actie van de gebruiker wordt. (POA 217712)
Volgorde
Herberekenen indien niet gewijzigd
Functionaliteit in expressies:
Expressie editor
Runtime gedrag
AppDef /
<
>
Studio
Profielen en Groepscomponenten
Modelleerconcepten
2 kanten op rekenen
overig
Functionele attribuut categorieën
Onderwerp
Berekening
Eigenschap
Afleiding
Participant
Instelling
Rubricering
Structuur informatiemodel
Is-onderdeel-van
Hoort-bij
Rol
Deze elementen hebben geen label, geen attribuutvolgorde nodig. Zijn altijd actief, zijn altijd verplicht en kunnen niet gewijzigd worden.
1) Het runtime gedrag is volledig afleidbaar
Conclusies:
2) Het is niet nodig dat deze terugkomen als attribuut in attributen onderhoud.
Gegevenstypes
Eenheid
Barcode
Factor
Datum(tijd)
Ja/Nee
Bedrag
Hoeveelheid
Memo
Periode(tijd)
met eenheid
zonder eenheid
Tekst
Verwijzingen
Rubricering
Onderwerp
Participant
?
Waarom wil je dat weten?
Zegt dat iets over de verwijzing (het attribuut) of iets over de component waar naar verwezen wordt?
Geldt hetzelfde type voor alle plekken waar naar die component verwezen wordt?
Welke conclusies voor het RT gedrag wil je hieruit kunnen afleiden?
Expressies kraken
Gevolgen in applicatiemodel
Uitgangspunten
Onderhoudbaarheid
Uitbreidbaarheid
Werkbaarheid voor modelleur
Afleidingen afleiden (teruglaten komen langs de hele route)
Deelberekeningen afleiden
Bij de component
Kunnen promoveren tot veld (in UI)
Deel(bepalingen) afleiden
idem deel berekening
Afleiding
Berekening
Bepaling
Constante
Expressies kraken
Expressie
Afleidingen
Berekeningen
Bepalingen
Rekenen
Optellen
Aftrekken
Debet - Credit
Vermenigvuldigen
met een factor
Delen
Afronden
Tekst bewerkingen
Datum bewerkingen
Tekst samenvoegen
Niet-teksten omzetten in tekst
Gedeelte van tekst
Lengte van tekst

De duur tussen 2 datums berekenen
De duur tussen 2 datum-tijden berekenen
Datum samenstellen (jaar, maand, dag)
Dag binnen jaar van datum
Dag binnen week van datum
Maand binnen jaar van datum
Jaar van datum
Uur binnen dag van datum-tijd
Minuut binnen uur van datum-tijd
Boolean
EN
OF
Waarde vergelijking
Tekst bevat andere tekst

Waarde binnen bereik
Groter-dan
Kleiner-dan
Groter-dan-of-gelijk-aan
Kleiner-dan-of-gelijk-aan

Datum(tijd) binnen periode
Datum(tijd) voor andere datum(tijd)
Datum(tijd) na andere datum(tijd)

Bevat specifieke opsommingswaarde
Constantes
Toestand
Attribuutcondities
Actief
Wijzigbaar
Verplicht
Berekening
Validatie
Componentvalidatie
Veldvalidatie
Tekst

Getalswaarde





Datum(tijd)



Opsomming
Bedrag, Hoeveelheid, Factor, Tijdsduur etc.
Alle types
Is-gelijk-aan waarde van hetzelfde type
Is-ongelijk-aan waarde van hetzelfde type
Aanwezigheid
Aanwezigheid van verwijzingen naar de betreffende instantie (niet de is-verwijzingen)
Attribuut gevuld
(ook verwijzingen)
" " (Spatie)
"-" (streepje)
"(" (haakje-open)
")" (haakje-sluiten)

0,00


0%
100%

Huidige datum
Huidige tijd

Specifieke opsommingswaarde
Tekst




Getalswaarde


Factor


Datum(tijd)


Opsomming
Bedrag, Hoeveelheid, Factor, Tijdsduur etc.
Ja/Nee
Ja
Nee
Toestanden en attributen uit andere componenten.
velden en verwijzingen
vastgelegde velden,
berekende velden
afgeleide velden
vastgelegde verwijzingen
berekende verwijzingen (-> lookup)
afgeleide verwijzingen
via verwijzingen
verwijst-naar
is-onderdeel-van
hoort-bij
rol
is (variant)
Vastleggingen
Velden en opsommingen
van dezelfde component
waarvan de berekening ongelijk is aan
altijd
groepering
Vastlegging
4 basistypes:
1) Getalswaarde
2) Datum(tijd)
3) Tekst
4) Logisch
Hoeveelheid, Bedrag, Factor, Tijdsduur etc.
Ja/Nee en Opsomming
Komen terug in nieuw-taak en eigenschappen mits actief. Verplicht en wijzigbaar conditie zijn relevant.
Kunnen als niet-wijzigbaar veld zichtbaar worden gemaakt in de UI. Moet een keuze zijn van de modelleur.
User Interface
Komt niet terug in UI.
Kunnen als filter in weergaves worden gebruikt, maar moet keuze zijn van modelleur.
Verwijzingen
Vastlegging
Berekening > Lookup
Een hoort-bij, is-onderdeel-van en rol kun je niet via lookup doen.
Een lookup is dus altijd zoals een verwijst-naar.
Expressie editor
ff een filmpje van editor op de I-pad laten zien.
POA's n.a.v. inventarisatie runtime:
AppDef
Editor
Controles op expressies
Runtime
AppDef Help (RT beschrijving)
Studio
Functionaliteit in expressies
Modelleerconcepten
Kern van dit project
Moet modelleur optimaal ondersteunen
Moeten we die wel in dit project willen meenemen?
??
(moeten altijd compleet zijn)
Uitgangspunten
Aandachtspunten:
* Pragmatische aanpak
-> parallel de 'ouderwetse' expressies kunnen blijven gebruiken.
* Gebruik maken van voorbereiding project "Optimalisatie toestanden".
* Afstemming met project "Lookup" van JPO.
Functionele toepassing
Expressie
Expressies
(huidige situatie)
Eenduidigheid en uitbreidbaarheid
Definities
(voorstel optimalisatie toestanden)
Werkbaarheid
Werkbaarheid
Eenduidigheid en uitbreidbaarheid
Eenduidigheid en uitbreidbaarheid
Idee
RE
RE
RE

use
duce
cycle

Gemakkelijk de logica intypen en aanpassen
Overlap tussen expressies
dubbele definities
Slechte onderhoudbaarheid
Definiëren in plaats van programmeren
Waarom?
Hoe?
Uitbreidbaarheid van berekeningen en afleidingen
Het verhaal van een instelling kunnen vertellen.
Flexibele inrichting van onderhoudsniveau instellingen.
Toepassing van velden definiëren
expressies
Minimaal vereiste velden afleiden: verschil tussen nieuw en eigenschappen.
Wijzigbaarheid afleiden: kan een veld tijdsafhankelijk wijzigen?
Groep en profiel functionaliteit afleiden: welke componenten hebben een groepscomponent en welke velden kunnen daarin onderhouden worden?
Expressies splitsen en samenstellen
Afleiden welke filters op een weergave zinvol zijn en welke velden als gevolg daarvan niet meer getoond hoeven te worden in de weergave.
Instellingsniveaus definiëren
Afleiden hoe instellingen ingericht kunnen worden.
Afleiden welke inrichting noodzakelijk is bij implementatie van een module.
Oplossingsrichting
Inventarisatie attributen
Afbeelding
Attribuut
Veld
Verwijzing
Vastlegging
Berekening
Afleiding
(look-up)
Verband
Bepaling
Waarde
Is-onderdeel-van
Hoort-bij
Rol-van
Is-onderdeel-van
Hoort-bij
Rol-van
Herkomst
Datatype
Veld
Getalswaarde
Datum(tijd)
Tekst
Logisch
Periode
Omschrijving
Beschrijving
Nummer
Omschrijving
Beschrijving
Nummer
Ja / Nee
Opsomming
Verband
Bepaling
Verwijzing
Veld
Berekening
Look-up
Afleiding
Afleidingspad
Waarde
referentie
waardes hebben een datatype
referenties hebben een doelcomponent
bron
Gebruiker
Systeem
Omzettingen waardes
Veld
Berekening
Afleiding
Omzettingen referenties
Verband
Verwijzing
Lookup
Afleidingspad
Runtime keuze
Veld
Verwijzing
Afleiding
Afleidingspad
Steeds 3 keuzes:

Vastlegging
Afwijking t.o.v. hoger niveau
Afleiding van het hogere niveau
(voorkeurwaarde)
(altijd berekend)
(geen berekening)
Vastlegging
Afwijking
Afleiding
Vastlegging
Afwijking
Afleiding
Project-administratie
Project
Verkooprelatie
Verkooporder
Verkooporder-regel
Verkoop-administratie
Instelling "BTW plicht"
Per niveau moet je kunnen aangeven of je de instellingen zowieso wel wil hebben op dat niveau.
Uitzetten kan alleen bovenaan de structuur (hier de administraties). Op onderste niveau kan dat nooit.

Zo wel: dan is er nog de keuze om een afleidingspad op te geven.
Er kunnen meerdere afleidingen opgegeven worden. Daarbij ook de onderling prioriteit.
Per afleiding moet kunnen worden aangegeven of je daarvan wilt kunnen afwijken.
Het modelleren van een instellingen doe je alleen op het onderste niveau.
Waarom zou je verwijzingen uitsluiten als potentiële instellingen niveaus?
Dus iedere verwijzing kan een niveau worden
Dus je kunt de instellingen daar niet opnemen als attribuut
Dus ze worden in de RT op alfabetische volgorde getoond.
tijd
Tijdstip
Periode
Jaar
Kwartaal
Maand
Dag
Uur
Minuut
Seconde
Milliseconde
Jaar
Datum
Tijd
Full transcript