NL1016958C2 - Software applicatie en werkwijze voor het bouwen van software applicaties. - Google Patents

Software applicatie en werkwijze voor het bouwen van software applicaties. Download PDF

Info

Publication number
NL1016958C2
NL1016958C2 NL1016958A NL1016958A NL1016958C2 NL 1016958 C2 NL1016958 C2 NL 1016958C2 NL 1016958 A NL1016958 A NL 1016958A NL 1016958 A NL1016958 A NL 1016958A NL 1016958 C2 NL1016958 C2 NL 1016958C2
Authority
NL
Netherlands
Prior art keywords
attribute
entity
building block
identification
building blocks
Prior art date
Application number
NL1016958A
Other languages
English (en)
Inventor
Michel Vogler
Original Assignee
Crossmarx B V
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Crossmarx B V filed Critical Crossmarx B V
Priority to NL1016958A priority Critical patent/NL1016958C2/nl
Priority to AU2002225525A priority patent/AU2002225525A1/en
Priority to PCT/NL2001/000926 priority patent/WO2002050670A1/en
Application granted granted Critical
Publication of NL1016958C2 publication Critical patent/NL1016958C2/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

t >·
Software applicatie en werkwijze voor het bouwen van software applicaties
De onderhavige uitvinding heeft betrekking op een software applicatie en een werkwijze voor het bouwen van software applicaties.
5 Op dit moment worden software applicaties op verschillende manieren vervaardigd. In een eerste vorm wordt een software applicatie als maatwerk ontworpen. Dit heeft als nadelen dat het duur en tijdrovend is, veel fouten kan bevatten en hoge onderhoudskosten heeft. Daarnaast loopt de onderneming die de applicatie toepast het gevaar dat de werknemer met kennis betreffende de applicatie de onderneming verlaat 10 met al zijn kennis.
In een tweede vorm wordt gebruik gemaakt van standaard pakketten om een software applicatie met een bepaalde functionaliteit te verkrijgen. Nadelen van een dergelijke aanpak zijn dat de applicatie weinig flexibel is, veel overbodige functionaliteit zal vertonen, slecht integreerbaar is met andere software pakketten en 15 het feit dat een grote afhankelijkheid van de leverancier ontstaat.
De onderhavige uitvinding heeft als doelstelling het verschaffen van een software applicatie en een werkwijze voor het bouwen van software applicaties met gebruikmaking van alleen standaard bouwblokken, waarbij de nadelen van de bekende werkwijzen niet of in aanzienlijk mindere mate optreden.
20 Deze doelstelling wordt bereikt door een software applicatie van de bij aanhef gedefinieerde soort, waarbij de software applicatie een veelvoud van bouwblokken omvat, waarbij elk bouwblok een stuk programmacode omvat, waarbij het veelvoud van bouwblokken onderlinge koppelingen tussen bouwblokken omvat teneinde een graaf te vormen, waarbij elk van het veelvoud van bouwblokken configuratiedata 25 omvat voor het definiëren van ten minste een objectmodel aan de hand van ten minste een entiteit omvattende een entiteitidentificatie en een entiteitnaam, en ten minste een bij de entiteit behorende attribuut, omvattende een attribuutidentificatie, een attribuutnaam, een datatype en een identificatie van de entiteit waarnaar het attribuut verwijst, en waarbij door een eerste bouwblok aan een volgend bouwblok dat in de 30 graaf onderling gekoppeld is met het eerste bouwblok tijdens bedrijf een context wordt gecommuniceerd, waarbij de context het gedrag van het volgende bouwblok bepaalt.
Een dergelijke software applicatie heeft het voordeel dat deze technisch geen maatwerk vereist. Alleen het definiëren van de functionaliteit van de software 10 ; f::: ? 3* * 2 applicatie vereist inspanning door het koppelen van de bouwblokken tot een graaf en het definiëren van de configuratie van de bouwblokken. Hierdoor zal een software applicatie veel sneller vervaardigd kunnen worden en wordt de kans op programmeerfouten aanzienlijk beperkt.
5 In een voorkeursuitvoeringsvorm van de software applicatie volgens de onderhavige uitvinding, wordt het veelvoud van bouwblokken gevormd door een veelvoud van standaard bouwblokken, en omvat elk standaard bouwblok programmacode met een vooraf bepaalde basisfunctionaliteit en een door de configuratiedata bepaalde specifieke functionaliteit.
10 Door gebruik te maken van standaard bouwblokken met een bepaalde basisfunctionaliteit (zoals weergave van gegevens) en een door de configuratiedata bepaalde specifieke functionaliteit (zoals weergave van gegevens in een lijst van bepaalde afmetingen en met bepaalde lay-out eigenschappen) is het mogelijk om in korte duur een uitgebreide software applicatie te bouwen. Door de standaard 15 basisfunctionaliteit en consequent gebruik van de configuratiedata in de standaard bouwblokken zullen fouten zoveel mogelijk voorkomen worden.
In een uitvoeringsvorm is het datatype van het ten minste ene attribuut een connectie, om aan te geven dat het ten minste ene attribuut een aanduiding is naar een verdere entiteit, waarbij het ten minste ene attribuut tevens de identificatie van die 20 verdere entiteit omvat. Dit maakt het mogelijk de context van een aanroepend bouwblok naar een aangeroepen bouwblok te communiceren, waarbij het aanroepende bouwblok het gedrag van het aangeroepen bouwblok kan beïnvloeden
In een verdere uitvoeringsvorm van de software applicatie volgens de onderhavige uitvinding omvat de context een attribuutrestrictor, omvattende een tupel 25 van een attribuutidentificatie en een attribuutwaarde en/of een entiteitrestrictor, omvattende een tupel van een entiteitidentificatie en een attribuutwaarde. Dergelijke maatregelen maken het mogelijk dat een aanroepend bouwblok het gedrag van een aangeroepen bouwblok beïnvloedt door beperkingen op te leggen aan het aangeroepen bouwblok.
30 De software applicatie volgens de onderhavige uitvinding kan een aantal standaard bouwblokken omvatten, die elk een specifieke functie vervullen. Bij voorkeur omvat het veelvoud van bouwblokken een actiemenublok, voor het presenteren van keuzes en geven van opdrachten. Daarnaast kan het veelvoud van 3 bouwblokken een objectzoekblok omvatten voor het opzoeken van gegevens. Tevens kan het veelvoud van bouwblokken een objectbewerkblok omvatten voor het presenteren van gegevens op een scherm en het wijzigen van de gepresenteerde gegevens. Met behulp van deze standaard bouwblokken kan een gebruikersinterface 5 van een software applicatie opgebouwd worden.
Een tweede aspect van de onderhavige uitvinding betreft een werkwijze voor het bouwen van software applicaties, omvattende de stappen van het tot een graaf koppelen van een veelvoud van bouwblokken die elk een stuk programmacode omvatten, het definiëren van de configuratie van de software applicatie door het definiëren van ten 10 minste een objectmodel aan de hand van ten minste een entiteit omvattende een entiteitidentificatie en een entiteitnaam, en ten minste een bij de entiteit behorende attribuut, omvattende een attribuutidentificatie, een attribuutnaam, een datatype en een identificatie van de entiteit waarnaar het attribuut verwijst, waarbij elk bouwblok is ingericht om tijdens bedrijf aan een volgend bouwblok dat in de graaf onderling 15 gekoppeld is met het bouwblok een context te communiceren, waarbij de context het gedrag van het volgende bouwblok bepaalt.
Verdere uitvoeringsvormen van de onderhavige werkwijze, overeenkomend met de bovengenoemde uitvoeringsvormen van de software applicatie volgens de onderhavige uitvinding, worden gedefinieerd in de bijgevoegde conclusies 10 tot en 20 met 16.
Met de onderhavige werkwijze is het mogelijk om software applicaties op een eenvoudige en snelle wijze te bouwen, waarbij de eerder bij de beschrijving van de software applicatie genoemde voordelen tevens optreden.
In een verder aspect van de onderhavige uitvinding wordt een software 25 programma product verschaft, zoals een compact disc, een floppy of een website op een server, omvattende een software applicatie volgens een van de conclusies 1 tot en met 8.
In een nog verder aspect van de onderhavige uitvinding wordt een software programma product verschaft dat programmacode omvat die een verwerkingssysteem 30 na inladen de functionaliteit verschaft van de werkwijze volgens een van de conclusies 9 tot en met 16.
De onderhavige uitvinding zal hierna in meer detail toegelicht worden aan de hand van een voorbeeld, met verwijzing naar de bij gevoegde tekeningen waarin:
A
Η
Fig. 1 een overzicht toont van een aantal standaard bouwblokken voor een software applicatie volgens de onderhavige uitvinding en de mogelijke koppelingen tussen de standaard bouwblokken;
Fig. 2 een voorbeeld toont van een graaf van gekoppelde standaard bouwblokken 5 die een software applicatie volgens de onderhavige uitvinding vormt;
Fig. 3a t/m 3d voorbeelden tonen van schermen die door de voorbeeld software applicatie weergegeven worden.
In Fig. 1 wordt een aantal standaard type bouwblokken getoond die in een software applicatie een interactie met een gebruiker mogelijk maken. Fig. 1 toont 10 verder welke onderlinge koppelingen tussen de bouwblokken mogelijk zijn. Het eerste getoonde standaard bouwblok is een actiemenu 5. Het actiemenu 5 is een bouwblok dat knoppen weergeeft waarmee door de gebruiker een ander bouwblok aangeroepen kan worden. Het tweede getoonde standaard bouwblok is een objectbewerker 6, waarmee data gemanipuleerd kan worden. Het laatste getoonde bouwblok is een objectzoeker 7, 15 waarmee naar data gezocht kan worden.
De in Fig. 1 getoonde standaard bouwblokken 5, 6 en 7 kunnen in twee richtingen aan elkaar gekoppeld worden. Het bouwblok actiemenu 5 en het bouwblok objectbewerker 6 kunnen ook met een bouwblok van een zelfde type gekoppeld worden. Vanuit het bouwblok objectzoeker 7 kan niet een verder bouwblok 20 objectzoeker 7 worden aangeroepen, aangezien het aanroepen van het ene zoekscherm vanuit een andere binnen een software applicatie nooit functioneel kan zijn. Nieuwe standaard bouwblokken 5, 6, 7 worden aan een applicatie toegevoegd door het koppelen aan een reeds aanwezig bouwblok, aangegeven door de pijlen in Fig. 1. Uit Fig. 1 valt af te leiden dat er (met het gebruik van drie standaard bouwblokken 5, 6, 7) 25 in totaal 8 soorten koppelingen zijn, die alle een ander functioneel effect binnen de software applicatie hebben.
Tijdens bedrijf of het uitvoeren van de software applicatie roept een bepaald bouwblok 5, 6, 7 het volgende bouwblok 5, 6, 7 volgens de gevormde graaf aan. De context van elk bouwblok 5, 6, 7 wordt bepaald door de toestand van relevante, 30 omliggende bouwblokken 5, 6, 7. Door gebruik te maken van aanroepen ('calls') wordt de context van omliggende bouwblokken 5, 6, 7 doorgegeven aan het aangeroepen bouwblok 5, 6, 7. Dit kan direct gebeuren of indirect via een globale datastructuur.
5
De configuratie van een software applicatie volgens de onderhavige uitvinding omvat een aantal gegevens, onder meer een beschrijving van een objectmodel, dat op zijn beurt beschreven wordt aan de hand van entiteiten en attributen. Een entiteit omvat minimaal een entiteitidentificatie (een uniek nummer) en een entiteitnaam. Een 5 attribuut omvat minimaal een attribuutidentificatie (een uniek nummer), een naam, een datatype en een aanduiding van de entiteit waarnaar het attribuut deel verwijst. Het datatype kan bijvoorbeeld een integer of een string zijn. Het datatype kan echter ook van het type 'connectie' zijn, hetgeen aangeeft dat een attribuut met een dergelijk datatype een aanduiding is naar een verdere entiteit. In dit geval wordt de identificatie 10 van de verdere entiteit ook opgenomen bij het attribuut. Het attribuut kan verder deel uitmaken van de sleutel van de entiteit waarbij deze hoort, waardoor de entiteit uniek geïdentificeerd kan worden met behulp van dit attribuut.
Volgens de uitvinding kan een software applicatie functioneren doordat bouwblokken 5, 6, 7 elkaar volgens een graaf aanroepen, en daarbij een context 15 doorgeven aan een volgend bouwblok 5, 6, 7. Deze context bepaalt het gedrag van het bouwblok. De context, die van een aanroepend bouwblok 5, 6, 7 doorgegeven wordt aan een aangeroepen bouwblok 5, 6, 7, omvat een lijst met attribuutrestrictors en/of entiteitrestrictors. Een attribuutrestrictor is een tupel van een attribuutidentificatie en een attribuutwaarde. Hiervoor dient in het aanroepende bouwblok 5, 6, 7 bekend te zijn 20 welke entiteiten het aangeroepen bouwblok 5, 6, 7 gaat bewerken en welke attributen daarbij horen. In sommige gevallen weet het aanroepende bouwblok 5, 6, 7 niet welke entiteiten het aangeroepen bouwblok 5, 6, 7 gaat bewerken. In dat geval kan een entiteitrestrictor (een tupel van een entiteitsidentificatie en een attribuutwaarde) als context worden doorgegeven.
25 Bij de start van een software applicatie is de context leeg. Bij de aanroep van een tweede bouwblok 5, 6, 7 door een eerste bouwblok 5, 6, 7 kan een attribuutrestrictor en/of een entiteitrestrictor aan de context worden toegevoegd. Dit is afhankelijk van het type bouwblok 5, 6, 7 en de plaats binnen het bouwblok 5, 6, 7 waar de aanroep plaats vindt (zoals bepaald door de configuratie van het betreffende bouwblok 5, 6, 7).
30 Indien een attribuutrestrictor wordt toegevoegd, zal bij het opstarten van het tweede bouwblok 5, 6, 7 een beperking worden gemaakt, waarbij geldt dat de naam van het attribuut met een identificatie die gelijk is aan de attribuutidentificatie van de attribuutrestrictor gelijk is aan de attribuutwaarde van de attribuutrestrictor.
"J -r·. - ,Λ ·.,/ ik’ 6
Indien een entiteitrestrictor wordt toegevoegd is de entiteitidentificatie gelijk aan de identificatie van de entiteit die in het eerste bouwblok 5, 6, 7 geraadpleegd wordt.
Bij het opstarten van het tweede bouwblok 5, 6, 7 wordt per entiteitrestrictor uit de context gezocht naar een attribuut met een entiteit gelijk aan de entiteit(en) die in het 5 tweede bouwblok 5, 6, 7 bewerkt word(t)(en) en met een connectie-entiteit die gelijk is aan de entiteit uit de entiteitrestrictor. Als er een attribuut wordt gevonden die hieraan voldoet, wordt de identificatie van dat attribuut als resultaat teruggegeven. Samen met de attribuutwaarde uit de entiteitrestictor wordt dan de beperking gemaakt dat de naam van het attribuut met de gevonden identificatie gelijk is aan de attribuutwaarde van de 10 entiteitrestrictor.
De lijst met attribuutrestrictors en entiteitrestrictors (de context) leveren aldus een aantal beperkingen op die gelden voor alle objecten in het tweede bouwblok 5, 6, 7
In Fig. 2 wordt een graaf getoond van een voorbeeld van een software applicatie volgens de onderhavige uitvinding. De software applicatie heeft als begin van de graaf 15 een bouwblok actiemenu 5a, dat verbonden is met een eerste bouwblok objectzoeker 7a en een tweede bouwblok objectzoeker 7b. Het eerste bouwblok objectzoeker 7a is met een dubbele koppeling verbonden met een eerste bouwblok objectbewerker 6a, zodat het eerste bouwblok objectzoeker 7a het eerste bouwblok objectzoeker 6a kan aanroepen, maar ook omgekeerd. Op dezelfde wijze is het tweede bouwblok 20 objectzoeker 7b met een dubbele koppeling verbonden met een tweede bouwblok objectbewerker 6b. Verder omvat de graaf ook nog een dubbel gerichte koppeling tussen het eerste bouwblok objectbewerker 6a en het tweede bouwblok objectbewerker 6b.
Bij de in Fig. 1 getoonde bouwblokken en de mogelijke koppelingen, hoeft 25 slechts in bepaalde gevallen een attribuutrestrictor of entiteitrestrictor toegevoegd te worden aan de context. Bij de koppeling van een bouwblok objectbewerker 6 naar een verder bouwblok objectbewerker 6 wordt een entiteitrestrictor toegevoegd indien een geselecteerd gegeven in een eerste bouwblok objectbewerker 6 getoond moet worden in een tweede gekoppelde bouwblok objectbewerker 6, of indien gerelateerde data van 30 een geselecteerd gegeven in een eerste bouwblok objectbewerker 6 in een tweede gekoppelde bouwblok objectbewerker 6 getoond moet worden. Bij de koppeling van een bouwblok objectbewerker 6 naar een bouwblok objectzoeker 7 wordt een entiteitrestrictor toegevoegd aan de context indien op gerelateerde data van een % 7 geselecteerd gegeven gezocht dient te worden. Bij een omgekeerde koppeling (van een bouwblok objectzoeker 7 naar een bouwblok objectbewerker 6, wordt een attribuutrestrictor toegevoegd aan de context indien een geselecteerd gegeven in het bouwblok objectzoeker 7 in een bouwblok objectbewerker 6 getoond moet worden.
5 Het in Fig. 2 getoonde voorbeeld betreft een toepassing met betrekking tot een bedrijf dat bestaat uit afdelingen en medewerkers. Volgens een datamodel bestaan er twee entiteiten, Afdeling en Medewerker, en bij een afdeling behoren meerdere medewerkers. In het voorbeeld heeft de entiteit Afdeling twee attributen, een afdelingsidentificatie (Afdld) en een afdelingsnaam (AfdNaam), en heeft de entiteit 10 Medewerker drie attributen, een medewerkeridentificatie (Medld), een medewerkemaam (MedNaam) en een Afdeling. De identificatieattributen zijn de sleutels van de entiteiten. Het attribuut Afdeling verwijst naar de entiteit Afdeling. Volgens het voorbeeld omvatten de entiteiten de data als weergegeven in de volgende tabel.
afdeling medewerker
Afdld AfdNaam Medld MedNaam Afdeling 101 Directie 201 Jansen 101 102 Planning 202 Klaasen 102 103 Productie 203 Karelse 101 204 Pietersen 103 2Ö5 Kok ÏÖ3 2Ö6 “ Hulshof 102 15
Er zijn dus 3 afdelingen, de Directie waar Jansen en Karelse werken, Planning waar Klaasen en Hulshof werken en tenslotte Produktie waar Pietersen en Kok werken.
Vanuit het bouwblok actiemenu 5a kan het eerste bouwblok objectzoeker 7a worden aangeroepen waarmee naar afdelingen gezocht kan worden. Vanuit het eerste 20 bouwblok objectzoeker 7a kan het eerste bouwblok objectbewerker 6a worden aangeroepen om de gegevens van een gevonden afdeling te bekijken of aan te passen. Vervolgens kan er teruggegaan worden naar het eerste bouwblok objectzoeker 7a voor een nieuwe zoekactie of kan er het tweede bouwblok objectbewerker 6b worden aangeroepen om de gegevens van de bijbehorende medewerkers te bekijken of aan te o o passen. Op analoge wijze kan er vanuit het bouwblok actiemenu 5a ook naar medewerkers gezocht worden en gegevens van een medewerker bekeken worden.
De configuratie van deze applicatie omvat ten minste de volgende entiteiten en attributen: entiteiten attributen ld Naam ... ld Entiteit Naam Datatype Connectie- ...
entiteit 11 Afdeling 21 11 Afdld Integer 12 Medewerker 22 II AfdNaam String 23 12 Medld Integer 24 12 MedNaam String 25 12 Afdeling Connectie 11 5
Indien de software applicatie wordt opgestart, begint deze bij het bouwblok actiemenu 5a, dat er bijvoorbeeld voor zorgt dat een scherm met een verschijning zoals getoond in Fig. 3a zichtbaar wordt gemaakt. In de configuratie van het bouwblok actiemenu 5a zijn twee knoppen 21, 22 gedefinieerd, met de aanduiding Afdeling, 10 respectievelijk Medewerker, die beide het (verschillende) bijbehorende bouwblok objectzoeker 7a, 7b opstarten na het indrukken ervan. De context is leeg en heeft dus geen invloed op het gedrag van het bouwblok actiemenu 5a. Wordt er op de knop 21 (Afdeling) gedrukt, dan wordt het eerste bouwblok objectzoeker 7a opgestart. In zijn configuratie is gedefinieerd dat er gegevens van entiteitidentificatie 11 gezocht gaan 15 worden. De context van het eerste bouwblok objectzoeker 7a is leeg, immers er wordt bij het aanroepen van het eerste bouwblok objectzoeker 7a door het bouwblok actiemenu 5a niets aan de context toegevoegd. Dit betekent dat tijdens het zoeken naar afdelingen er geen restricties worden opgelegd. Wordt er bijvoorbeeld naar alle afdelingen gezocht, dan worden in een tabel op het scherm door het eerste bouwblok 20 objectzoeker 7a alle afdelingen getoond, zoals getoond in Fig. 3b. Het scherm toont dan een tabel met kop 23 (Naam) en drie regels 24, 25, 26 met de namen van de bestaande afdelingen (Directie, Planning, respectievelijk Productie).
Als de afdeling Planning (regel 25) wordt geselecteerd in het door het eerste bouwblok objectzoeker 7a weergegeven scherm, wordt het eerste bouwblok 25 objectbewerker 6a opgestart. Hierbij wordt aan de context een attribuut-restrictor, nl.
1Γ; ' - " ; ;> ·, 9 het tupel [21, 102] toegevoegd, waarbij 21 de identificatie van het attribuut is en 102 de identificatie van de afdeling is. In de configuratie van het aan te roepen eerste bouwblok objectbewerker 6a is nu gedefinieerd dat er gegevens van entiteit 11 getoond dienen te worden. Als de context leeg zou zijn, dan zouden alle afdelingen getoond 5 worden in dit eerste bouwblok objectbewerker 6a. Doordat het eerste bouwblok objectzoeker 7a de attribuut-restrictor [21,102] aan de context heeft toegevoegd, wordt bij het ophalen van de afdelingen de restrictie [Afdld=102] toegepast, waardoor alleen de afdeling Planning wordt getoond, zoals getoond in Fig. 3c, met een tweede scherm 27, waarin twee velden getoond worden, nl. een eerste veld 28 (102) en een tweede 10 veld 29 (Planning).
Vervolgens kunnen in het tweede bouwblok objectbewerker 6b de medewerkers van de afdeling Planning getoond worden door een druk op een knop in het door het eerste bouwblok objectbewerker 6a weergegeven scherm. Het eerste bouwblok objectbewerker 6a voegt daartoe aan de context een entiteit-restrictor toe, nl. het tupel 15 [11, 102], waarbij 11 de identiteit van de entiteit is en 102 de identiteit van de afdeling.
In de configuratie van het tweede bouwblok objectbewerker 6b is nu gedefinieerd dat er gegevens van entiteit 12 getoond dienen te worden. Voordat het tweede bouwblok objectbewerker 6b gegevens gaat laden, wordt nu als eerste gezocht naar een attribuut van entiteit met identificatie 12 met als connectie-entiteit 11. Het attribuut met 20 attribuutidentificatie 25 voldoet daaraan. Het tweede bouwblok objectbewerker 6b past nu bij het ophalen van de medewerkers als extra restrictie toe Afdeling = 102. Als gevolg hiervan worden alleen de medewerkers van de afdeling Planning getoond in het door het tweede bouwblok objectbewerker 6b getoonde scherm (zie Fig. 3d). Naast het in Fig. 3c getoonde tweede scherm 27 wordt nu tevens een derde scherm 30 getoond, 25 met daarin twee velden 31, 32, met daarin de namen van de twee medewerkers van de afdeling planning (Klaasen, respectievelijk Hulshof). De overige koppelingen in de voorbeeldapplicatie werken op dezelfde wijze als de reeds beschreven koppelingen en worden daarom verder niet meer beschreven.
In het getoonde voorbeeld bepaalt de context hoe een bepaald object (zoals het 30 weergeefscherm 30 in Fig. 3d zich gedraagt (of hoe deze er uit ziet). Zoals voor de deskundige duidelijk zal zijn, kan de context gebruikt worden om het gedrag of het uiterlijk van meerdere objecten te bepalen. Hierbij valt bijvoorbeeld te denken aan het in een afzonderlijke lijst weergeven van extra gegevens betreffende de in velden 31 en 10 32 weergegeven medewerkers die alleen betrekking hebben op de afdelingsgerelateerde gegevens van de medewerkers.

Claims (17)

1. Software applicatie omvattende een veelvoud van bouwblokken (5, 6, 7), waarbij elk bouwblok (5, 6, 7) een stuk programmacode omvat, 5 waarbij het veelvoud van bouwblokken (5, 6, 7) onderlinge koppelingen tussen bouwblokken omvat teneinde een graaf te vormen, waarbij elk van het veelvoud van bouwblokken (5, 6, 7) configuratiedata omvat voor het definiëren van ten minste een objectmodel aan de hand van ten minste een entiteit omvattende een entiteitidentificatie en een entiteitnaam en ten minste een bij de 10 entiteit behorend attribuut, omvattende een attribuutidentificatie, een attribuutnaam, een datatype en een identificatie van de entiteit waarnaar het attribuut verwijst, en waarbij door een eerste bouwblok (5,6, 7) aan een volgend bouwblok (5, 6, 7) dat in de graaf onderling gekoppeld is met het eerste bouwblok (5, 6, 7) tijdens bedrijf een context wordt gecommuniceerd, waarbij de context het gedrag van het volgende 15 bouwblok (5, 6, 7) bepaalt.
2. Software applicatie volgens conclusie 1, waarbij het veelvoud van bouwblokken (5, 6, 7) gevormd wordt door een veelvoud van standaard bouwblokken, en elk standaard bouwblok (5, 6, 7) programmacode omvat met een vooraf bepaalde 20 basisfunctionaliteit en een door de configuratiedata bepaalde specifieke functionaliteit.
3. Software applicatie volgens conclusie 1 of 2, waarbij het datatype van het ten minste ene attribuut een connectie is, om aan te geven dat het ten minste ene attribuut een aanduiding is naar een verdere entiteit, waarbij het ten minste ene attribuut tevens 25 de identificatie van die verdere entiteit omvat.
4. Software applicatie volgens conclusie 1, 2 of 3, waarbij de context een attribuutrestrictor omvat, omvattende een tupel van een attribuutidentificatie en een attribuutwaarde. 30
5. Software applicatie volgens een van de voorgaande conclusies, waarbij de context een entiteitrestrictor omvat, omvattende een tupel van een entiteitidentificatie en een attribuutwaarde.
6. Software applicatie volgens een van de voorgaande conclusies, waarbij het veelvoud van bouwblokken (5, 6, 7) een actiemenublok (5) omvat, voor het presenteren van keuzes en geven van opdrachten. 5
7. Software applicatie volgens een van de voorgaande conclusies, waarbij het veelvoud van bouwblokken (5, 6, 7) een objectzoekblok (7) omvat voor het opzoeken van gegevens.
8. Software applicatie volgens een van de voorgaande conclusies, waarbij het veelvoud van bouwblokken (5, 6, 7) een objectbewerkblok (6) omvat voor het presenteren van gegevens op een scherm en het wijzigen van de gepresenteerde gegevens.
9. Werkwijze voor het bouwen van software applicaties, omvattende de stappen van: het tot een graaf koppelen van een veelvoud van bouwblokken (5, 6, 7) die elk een stuk programmacode omvatten; het definiëren van de configuratie van de software applicatie door het definiëren 20 van ten minste een objectmodel aan de hand van ten minste een entiteit omvattende een entiteitidentificatie en een entiteitnaam en ten minste een bij de entiteit behorende attribuut, omvattende een attribuutidentificatie, een attribuutnaam, een datatype en een identificatie van de entiteit waarnaar het attribuut verwijst, waarbij elk bouwblok (5, 6, 7) is ingericht om tijdens bedrijf aan een volgend 25 bouwblok (5, 6, 7) dat in de graaf onderling gekoppeld is met het bouwblok (5, 6, 7) een context te communiceren, waarbij de context het gedrag van het volgende bouwblok bepaalt. 1 Werkwijze volgens conclusie 9, waarbij het veelvoud van bouwblokken (5, 6, 30 7) gevormd wordt door een veelvoud van standaard bouwblokken, en elk standaard bouwblok (5, 6, 7) programmacode omvat met een vooraf bepaalde basisfunctionaliteit en een door de configuratiedata bepaalde specifieke functionaliteit.
11. Werkwijze volgens conclusie 9 of 10, waarbij het datatype van het ten minste ene attribuut een connectie is, om aan te geven dat het ten minste ene attribuut een aanduiding is naar een verdere entiteit, waarbij het ten minste ene attribuut tevens de identificatie van die verdere entiteit omvat. 5
12. Werkwijze volgens conclusie 9, 10 of 11, waarbij de context een attribuutrestrictor omvat, omvattende een tupel van een attribuutidentificatie en een attribuutwaarde.
13. Werkwijze volgens een van de conclusies 9 tot en met 12, waarbij de context een entiteitrestrictor omvat, omvattende een tupel van een entiteitidentificatie en een attribuutwaarde.
14. Werkwijze volgens een van de conclusies 9 tot en met 13, waarbij het 15 veelvoud van bouwblokken (5, 6, 7) een actiemenublok (5) omvat, voor het presenteren van keuzes en geven van opdrachten.
15. Werkwijze volgens een van de conclusies 9 tot en met 14, waarbij het veelvoud van bouwblokken (5, 6, 7) een objectzoekblok (7) omvat voor het opzoeken 20 van gegevens.
16. Werkwijze volgens een van de conclusies 9 tot en met 15, waarbij het veelvoud van bouwblokken (5, 6, 7) een objectbewerkblok (6) omvat voor het presenteren van gegevens op een scherm en het wijzigen van de gepresenteerde 25 gegevens.
17. Software programma product omvattende een software applicatie volgens een van de conclusies 1 tot en met 8.
18. Software programma product omvattende programmacode die een verwerkingssysteem na inladen de functionaliteit verschaft van de werkwijze volgens een van de conclusies 9 tot en met 16.
NL1016958A 2000-12-21 2000-12-21 Software applicatie en werkwijze voor het bouwen van software applicaties. NL1016958C2 (nl)

Priority Applications (3)

Application Number Priority Date Filing Date Title
NL1016958A NL1016958C2 (nl) 2000-12-21 2000-12-21 Software applicatie en werkwijze voor het bouwen van software applicaties.
AU2002225525A AU2002225525A1 (en) 2000-12-21 2001-12-19 Software application and method for building software applications
PCT/NL2001/000926 WO2002050670A1 (en) 2000-12-21 2001-12-19 Software application and method for building software applications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL1016958A NL1016958C2 (nl) 2000-12-21 2000-12-21 Software applicatie en werkwijze voor het bouwen van software applicaties.
NL1016958 2000-12-21

Publications (1)

Publication Number Publication Date
NL1016958C2 true NL1016958C2 (nl) 2002-06-25

Family

ID=19772629

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1016958A NL1016958C2 (nl) 2000-12-21 2000-12-21 Software applicatie en werkwijze voor het bouwen van software applicaties.

Country Status (3)

Country Link
AU (1) AU2002225525A1 (nl)
NL (1) NL1016958C2 (nl)
WO (1) WO2002050670A1 (nl)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0314800D0 (en) 2003-06-25 2003-07-30 Hyfinity Ltd System and associated methods for software assembly
US9569187B2 (en) 2013-10-08 2017-02-14 International Business Machines Corporation Irreducible modules
CN108268289B (zh) * 2016-12-30 2022-01-28 阿里巴巴集团控股有限公司 web应用的参数配置方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381548A (en) * 1992-02-20 1995-01-10 Fujitsu Limited Apparatus for automatically generating programs
US5574918A (en) * 1993-08-23 1996-11-12 Lucent Technologies Inc. Method and apparatus for configuring computer program from available subprograms
EP0780763A1 (en) * 1995-12-21 1997-06-25 International Business Machines Corporation Method and means for creating distributed object-oriented applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381548A (en) * 1992-02-20 1995-01-10 Fujitsu Limited Apparatus for automatically generating programs
US5574918A (en) * 1993-08-23 1996-11-12 Lucent Technologies Inc. Method and apparatus for configuring computer program from available subprograms
EP0780763A1 (en) * 1995-12-21 1997-06-25 International Business Machines Corporation Method and means for creating distributed object-oriented applications

Also Published As

Publication number Publication date
WO2002050670A1 (en) 2002-06-27
AU2002225525A1 (en) 2002-07-01

Similar Documents

Publication Publication Date Title
US10031938B2 (en) Determining Boolean logic and operator precedence of query conditions
US7509328B2 (en) Customizing software applications that use an electronic database with stored product data
CN107924406A (zh) 选择用于对实时数据流执行的查询
US20050289158A1 (en) Identifier attributes for product data stored in an electronic database
US20040243611A1 (en) Context-based heterogeneous information integration system
US20110161371A1 (en) Sql generation
RU2340937C2 (ru) Декларативная последовательная параметризация отчетов
US20050114361A1 (en) Method and apparatus for integrating data repositories and frameworks
US20210365447A1 (en) System and method for comparing and selectively merging database records
WO2006092388A1 (en) Integration of data management operations into a workflow system
EP1866801A1 (en) A dynamic user interface and a method for generating a dynamic user interface for interfacing with an electronic data repository storing a collection of data elements
NL1016958C2 (nl) Software applicatie en werkwijze voor het bouwen van software applicaties.
KR100306735B1 (ko) 업무오브젝트의자동생성장치및방법
JP4011995B2 (ja) 製品設計支援装置及び方法
EP1569145A1 (en) System and apparatus for managing information on chemical substances used in products
CN100568175C (zh) 从分层目录中选择软件组件的方法和系统
JP6451272B2 (ja) データ出力装置及びプログラム
WO2022018899A1 (ja) Kpiツリーから部分ツリーを抽出するシステム
RU2002101131A (ru) Метод определения программного обеспечения, метод использования программного обеспечения, записывающая среда, обрабатывающие устройства, метод защиты программного обеспечения, метод пересадки программного обеспечения в другую среду, метод контроля над программным обеспечением, метод создания графиков обработки, метод создания функций палеты, метод определения области палеты, метод создания вектора однородности, метод создания функции палеты, метод создания фазового элемента, метод создания логического элемента, метод создания элемента действия, метод установки программного обеспечения, метод усовершенствования программного обеспечения, метод замены структуры данных, метод замены значения данных, метод анализа программного обеспечения прошлого поколения, контроль процесса разработки программного обеспечения, контроль процесса использования программного обеспечения, метод параллельных компьютеров, вспомогательное устройство суждения, метод приема заказов на разработку программного обеспечения, метод определения файлов, операции по разработке программного обеспечения, метод определения уникального программного обеспечения, метод проектирования модели сознания, метод проектирования алгоритмов, программная продукция, волны передачи и программы основанной на примерах
JP2005190212A (ja) データベースシステム、データ処理方法及びプログラム
JPH10222357A (ja) データ再利用によるソフトウェア構築方法及びシステム
EP0871112A1 (en) Information technology architecture
JPH08202541A (ja) システム設計方法及びシステム設計支援装置
JPH10187842A (ja) ワークフローシステム及びワークフローシステムの文書保管方法
WO2002073491A1 (en) Construction data processing system

Legal Events

Date Code Title Description
PD2B A search report has been drawn up
VD1 Lapsed due to non-payment of the annual fee

Effective date: 20060701