EP2171577A1 - Systeme et procede de generation automatique d'une application logicielle - Google Patents
Systeme et procede de generation automatique d'une application logicielleInfo
- Publication number
- EP2171577A1 EP2171577A1 EP07803926A EP07803926A EP2171577A1 EP 2171577 A1 EP2171577 A1 EP 2171577A1 EP 07803926 A EP07803926 A EP 07803926A EP 07803926 A EP07803926 A EP 07803926A EP 2171577 A1 EP2171577 A1 EP 2171577A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- software application
- generation
- data
- scenarios
- platform
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Definitions
- the present invention relates to a system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system.
- a piece of data is elementary when it is directly represented by a key word of the programming language.
- a structured data is composed of several basic data of the programming language.
- a datum is elementary, when its type is defined in the generation system, and a structured datum is composed of several of these elementary data.
- software application development cycles such as cascade development cycles, V development cycles, or iterative development cycles.
- These programming concepts have allowed an increasingly high level formalization of the structures and functions to be implemented.
- modeling languages to describe these structures and functions, as well as code generators, or series of instructions, to automatically produce, in a given language, a modeled function.
- UML Unified Modeling Language
- UML Unified Modeling Language
- Another object of the invention is to reduce the production time and the cost of producing a software application.
- a system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system.
- the system comprises a generation platform connected to a communication network, and at least one terminal connected to said communication network.
- the platform comprises data input means describing elementary interactions associated with scenarios associated with use cases of the software application, accessible from a terminal via the network, means for accessing data.
- the present invention makes it possible to automatically generate a software application directly from scenarios associated with use cases of the software application. which reduces the cost and development time of the software application.
- a use case is a tool used in software development to describe a possible use of software.
- a possible scenario may be a quick creation of a new client taking into account only its name. and his first name, and another possible scenario may be the complete creation of a client, including his name, first name, address, telephone number and other desired characteristics.
- the invention therefore proposes, from the input of data describing scenarios to be carried out by the software application, to automatically generate a software application performing these scenarios.
- This data may include types, for example a client name may be of type string, and a cardinality, for example a scenario includes a unique client name.
- the generated application is instantly available for a terminal connected to said communication network of the generation platform.
- an application generated by a person working on a site can be immediately tested, used, or modified by another person working on another site.
- a scenario defines, in a qualitative and quantitative way, for a particular use of the system, the interactions between the system and the outside, or, in other words, the interactions between the system and the system. users and interactions between the system and other systems.
- an interaction of a scenario of creation of a new client can be the entry of its name in the form of a string of characters, which defines quantitatively and qualitatively the elementary interaction of the scenario.
- said input means comprise a graphical interface displayable on a terminal connected to said communication network.
- the person wanting to create the application can enter his scenarios easily on his terminal, remote from the platform of generation of the application.
- the system comprises means for storing said data describing elementary interactions of strigrii.
- the stored scenarios allow, for example, to re-generate a new version of the application to which new scenarios have been added, and / or modified existing scenarios.
- the platform includes means for authenticating a user to enable the generation, use, or modification of the application.
- said authentication means are adapted to recognize an identifier and a password, or biometric data representative of authorized users.
- the generation means comprise first means for creating data representative of data structures, from the entered scenarios.
- the relationships between these data are intrinsically contained in the structures.
- a data structure representing a customer may contain a table of several bank accounts, a bank account being defined itself by a data structure.
- the system is able to automatically create data representative of the data structures necessary for the application.
- the data structures required for the application are object classes for an application generated in an object-oriented programming language.
- An object class is a collection of objects that share certain properties including methods and attributes.
- the object is the central concept of object - oriented programming, it is the realization of an instance corresponding to the model of the class to which it belongs.
- the generation means comprise second means for creating, in a memory, a database dedicated to said software application, as a function of said data structures created.
- the system is able to automatically create a database in a memory, according to the classes of objects automatically created by the system, according to scenarios entered.
- the generation means comprise third means for creating graphical interfaces of the software application from the entered scenarios.
- the generation means are also capable, automatically, of creating graphic interfaces corresponding to the different scenarios entered, and thus easily allow the user of the automatic generation system to use the scenarios he has defined.
- said graphical interfaces created comprise graphic elements depending on the elementary interactions of the scenarios.
- the graphical interfaces created include graphic elements, such as, for example, menus, sub-menus, checkboxes, text fields, tables, or drop-down lists, making it easy to adjust the GUI to the scenario chosen by the user.
- said platform comprises means for storing said generated software application.
- the generation means comprise means for setting the generation according to the hardware and software architecture of the software application execution platform.
- the system includes means for transferring the software application from the generation platform to a terminal via the communication network.
- the software application may further be possible to transfer the software application to a terminal, so that it can be installed on another platform of another network.
- the means for transferring the software application from the generation platform to a terminal via the communication network may for example be remote download means.
- the application may be etched on a data carrier, and sent directly to a user to be installed on a platform of another communication network, for example, a corporate network.
- the generation means are adapted to verify the coherence of the input data describing elementary interactions of scenarios.
- consistency checks are performed to warn the user of the presence of serious errors, or errors automatically corrected by the generation module 5.
- an error may be raised when in two different client creation scenarios, the client name is once defined as a character string, and once as an integer.
- a simple warning can be raised, and the application generated anyway, when in two different client creation scenarios, the client name is once defined as a string of twenty characters, and once as a string of thirty characters.
- the generation module will choose the most suitable definition according to the generation rules, for example it will be defined twice as a string of thirty characters for the system to accept the most constraining case imagined by a user of the generation system. , or, in other words, a designer of the application.
- the communication network may, for example, be the Internet network.
- a method for automatic generation of a software application manipulating structured data developed from predefined elementary data for generation.
- a software application is automatically generated remotely based on data describing elementary interactions associated with Scenarios associated with use cases of the software application, and the generated software application is instantly made available via a communication network.
- FIG. 1 schematically represents a system according to an aspect of the invention
- - Figure 2 schematically illustrates the method according to one aspect of the invention.
- a system for automatic generation of a software application manipulating structured data produced from elementary data predefined by the generation system comprises a generation platform 1 connected to the Internet communication network. 2, and comprises an input module 3 of data representative of scenarios of use of the software application, accessible from a terminal 4 via the Internet network 2.
- the generation platform 1 comprises a module automatic generation 5 of the software application according to said scenarios, and an instantaneous provisioning module 6 of the software application generated for the terminal 4 or another terminal 7, provided with a screen 8 connected to said network internet 2.
- the input module 3 comprises a graphical interface 9 displayable on a terminal, for example the terminal 4, connected to the network in ternet 2, on the screen 10 of the terminal 4.
- the platform 1 comprises a storage module or memory 1 1 for storing the data representative of the scenarios. entered by the user of the terminal 4 by remote access to the input module 3.
- the generation platform 1 comprises an authentication module 12 to authenticate the user, for example by an identifier and a password, or by biometric data, and to enable the generation, use or modification of the software application.
- the generation module 5 comprises a first creation module 13, in a memory, data representative of classes of objects from the entered scenarios.
- the generation module 5 comprises a second creation module 14, in a memory, of a database 15 dedicated to said software application, according to the classes of objects created during the generation of the application, by the authoring module 13.
- the generation module 5 further comprises a third module 16 for creating graphical interfaces of the software application from the entered scenarios.
- the graphical interfaces created include main selection elements, or menus, and secondary selection elements, or sub-menus, representing the entered and stored scenarios.
- the user of the software application can easily select a graphical interface corresponding to the scenario he wants to use.
- the platform 1 comprises a storage module 17 of the generated software application.
- the storage or memory module 17 may be organized, for example, in the form of a database, so as to be able to store a multitude of different software applications generated independently of each other.
- the storage module 17 can store the different successive generated versions of a software application, as well as references to identify the scenarios of the memory module 1 1 corresponding to different successive versions.
- the generation platform 1 further comprises a transfer module 18 for transferring the software application generated to the terminal 4, via the internet communication network 2, or to the terminal 5 after authentication of the rights of the user. user.
- the transfer module, or download can be replaced by the registration of the software application on a digital data carrier, such as a CD or a DVD.
- the generation platform 1 may also include a parameterization module 19 making it possible to parameterize the generation of the software application according to the hardware and software architecture of the execution platform on which the software application is executed. .
- FIG. 2 illustrates the operation of the system of FIG. 1.
- a user of the terminal 4 connects via the Internet network 2 to the platform 1 of generation of the software application (step 20).
- the user Once connected to the platform 1, the user enters an identifier and a password to be able to access the services, after having been authenticated by the authentication module 12 (step 21). If these username and password correspond to the creation of a new software application, the user will then enter the scenarios to be realized by the software application, by means of the input module 3 and its displayable graphic interface 9. on the screen 10 of the terminal 4 of the user (step 22).
- the user has entered all the scenarios to be carried out by the software application, he requests the generation (step 23) of the software application by the generation module 5.
- the application Once generated and stored, in the module of storage 17, the application is made available by the provisioning module
- step 22 If the user realizes that he has forgotten to enter a scenario, he can then add one or more scenarios to the scenarios stored in the memory module 1 1 (step 22) and re-generate a new version of the program. application (step 23), which will be made available instantly (step 24).
- the user can then also decide to use the application (step 25) for example to test its operation.
- step 26 download the application (step 26) so as to install it on a server of another communication network, for example a local area network. business.
- Another user for example via the terminal 5, can connect remotely from the generation platform 1 (step 20) and authenticate using the same identifier and password corresponding to this software application (step 21) .
- step 21 After authentication (step 21), the user can either choose to generate a new version of the application (step 23), after entering or modifying new scenarios (step 22). This new version of the generated application will then be made available immediately (step 24). It may also decide to use the application (step 25), for example to test it, or to download it (step 26).
- the generation module 5 performs a generation of the application starting with by checking the coherence of the scenarios, and in particular the types of data used in the scenarios. For example, if a client addition scenario includes a text client name, and another client addition scenario, for example, a quick client addition that includes an integer type client name, an error consistency is detected.
- the generation module 5 produces a description of the application, from the scenarios, in a description mode, or description metalanguage independent of the programming language that the generation module
- the generation module 5 uses to create the software application.
- the generation module 5 can be parameterizable so that it can choose the programming language used to generate the application, in particular according to the hardware and software equipment of the platform on which the software application will be executed.
- the metalanguage description of the application makes it possible to preserve the information present in the scenarios.
- the generation module 5 From the description of the software application in the metalanguage, data structures necessary for the application are generated by the generation module 5. The relationships between the data structures are implicitly included in the data structures. For example, for an object-oriented language such as Java or C ++ , the created data structures are object classes. Finally, the generation module 5 generates the software application from the elaborated data structures and all the elementary interactions of the scenarios entered, and generates the final application in the programming language provided. The invention makes it possible to generate, in a short time and at a reduced cost, in a simple and automatic manner, a software application realizing all the scenarios envisaged for the end users.
- the instantaneous provisioning of the software application generated by the communication network enables various entities that are geographically distant from one another to have immediate access to the application, in particular to be able to test it independently.
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)
Abstract
Le système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération, comprend une plate-forme (1) de génération reliée à un réseau de communication (2), et au moins un terminal (4, 5) relié audit réseau de communication. La plate-forme (1) comprend des moyens d' entrée de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, accessibles depuis un terminal (4, 4) par l'intermédiaire du réseau (2), des moyens de génération automatique (5) de l'application logicielle en fonction desdits scenarii, et des moyens de mise à disposition instantanée (6), pour un terminal (4, 5) relié audit réseau de communication (2), de l' application logicielle générée.
Description
Système et procédé de génération automatique d'une application logicielle
La présente invention porte sur un système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération.
Dans un langage de programmation, une donnée est élémentaire quand elle est directement représentée par un mot clé du langage de programmation. Par opposition, une donnée structurée est composée de plusieurs données élémentaires du langage de programmation.
Aussi, dans la présente invention, une donnée est élémentaire, quand son type est défini dans le système de génération, et une donnée structurée est composée de plusieurs de ces données élémentaires. II existe de nombreux cycles de développement d'une application logicielle, tels que les cycles de développement en cascade, de développement en V, ou encore des cycles de développement itératifs. Ces concepts de programmation ont permis une formalisation de niveau de plus en plus élevé des structures et des fonctions à implémenter. Il existe des langages de modélisation permettant de décrire ces structures et ces fonctions, ainsi que des générateurs de code, ou série d'instructions, permettant de produire automatiquement, dans un langage donné, une fonction modélisée. UML (« Unified Modeling Language ») est un exemple connu et de plus en plus répandu de langage de modélisation.
A partir d'une telle modélisation, il est possible d' automatiser la production de tout ou partie d'une application. Une fo is l' application modélisée, les outils de génération de code permettent de générer les morceaux d' application concernés, et même de générer
automatiquement les tests fonctionnels de l'application. Toutefois, aucun de ces procédés ou de ces systèmes de développement d'une application logicielle ne permet de s 'affranchir des causes principales d' échec de la réalisation d'une application logicielle, à savoir des besoins manquant de clarté, ou mal traduits lors de la modélisation de l' application. En outre, le travail de modélisation de l' application effectué par collaboration d'un groupe de personnes, ne peut être géré convenablement, et le code applicatif produit doit être modifié manuellement. Un but de la présente invention est de pallier à ces problèmes.
Un autre but de l' invention, est de réduire le temps de réalisation et le coût de réalisation d'une application logicielle.
Il est donc proposé, selon un aspect de l' invention, un système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération. Le système comprend une plate-forme de génération reliée à un réseau de communication, et au moins un terminal relié audit réseau de communication. En outre, la plate-forme comprend des moyens d' entrée de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, accessibles depuis un terminal par l'intermédiaire du réseau, des moyens de génération automatique de l' application logicielle en fonction desdits scenarii, et des moyens de mise à disposition instantanée, pour un terminal relié audit réseau de communication, de l' application logicielle générée.
Ainsi, la présente invention permet de générer automatiquement une application logicielle directement à partir de scenarii associés à des cas d'utilisation de l' application logicielle, ce
qui permet de réduire le coût et le temps de développement de l' application logicielle.
La réalisation de l' application est simplifiée, car on s ' intéresse directement à ce que doit faire l' application et non à comment elle doit le faire.
Un cas d'utilisation est un outil utilisé en développement logiciel permettant de décrire une utilisation possible d'un logiciel. Par exemple, pour un cas d'utilisation concernant la création d'un profil d'un nouveau client pour une application logicielle de location de matériel, un scénario possible peut être une création rapide d'un nouveau client ne prenant en compte que son nom et son prénom, et un autre scénario possible peut être la création complète d'un client, comprenant son nom, son prénom, son adresse, son numéro de téléphone et d'autres caractéristiques souhaitées. L 'invention propose donc, à partir de l' entrée de données décrivant des scenarii à réaliser par l'application logicielle, de générer automatiquement une application logicielle réalisant ces scenarii. Ces données peuvent comprendre des types, par exemple un nom de client peut être de type chaîne de caractères, et une cardinalité, par exemple un scénario comprend un unique nom de client.
En outre, l' application générée est instantanément mise à disposition pour un terminal relié audit réseau de communication de la plate-forme de génération. Ainsi, une application générée par une personne travaillant sur un site peut être immédiatement testée, utilisée, ou modifiée par une autre personne travaillant sur un autre site.
Un scénario définit, de manière qualitative et quantitative, pour un usage particulier du système, les interactions entre le système et l' extérieur, ou, en d'autres termes, les interactions entre le système et
les utilisateurs et les interactions entre le système et d' autres systèmes. Par exemple une interaction d'un scénario de création d'un nouveau client peut être l'entrée de son nom sous forme d'une chaîne de caractères, ce qui définit de manière quantitative et qualitative l' interaction élémentaire du scénario .
Dans un mode de réalisation, lesdits moyens d' entrée comprennent une interface graphique affichable sur un terminal relié audit réseau de communication.
Ainsi, la personne voulant créer l' application peut rentrer ses scenarii facilement sur son terminal, à distance de la plate-forme de génération de l'application.
Dans un mode de réalisation, le système comprend des moyens de mémorisation desdites données décrivant des interactions élémentaires de scenarii. Les scenarii mémorisés permettent, par exemple, de re-générer une nouvelle version de l' application à laquelle on a ajouté de nouveaux scenarii, et/ou modifié des scenarii existants.
Dans un mode de réalisation, ladite plate-forme comprend des moyens d' authentification d'un utilisateur pour permettre la génération, l'utilisation ou la modification de l'application.
Ainsi, seules les personnes autorisées à générer, utiliser, ou modifier l' application logicielle peuvent y accéder.
Par exemple, lesdits moyens d' authentification sont adaptés pour reconnaître un identifiant et un mot de passe, ou des données biométriques représentative d'utilisateurs autorisés.
Dans un mode de réalisation, les moyens de génération comprennent des premiers moyens de création de données représentatives de structures de données, à partir des scenarii entrés.
Les relations entre ces données sont contenues intrinsèquement dans les structures. Par exemple, une structure de données représentant un client peut contenir un tableau de plusieurs comptes bancaires, un compte bancaire étant défini lui-même par une structure de données. Durant la phase de génération de l' application logicielle, à partir des scenarii entrés, le système est capable de créer de manière automatique des données représentatives des structures de données nécessaires à l' application. Par exemple, les structures de données nécessaires à l' application sont des classes d' obj ets pour une application générée dans un langage de programmation orienté objet.
Une classe d' objets est un ensemble d' objets partageant certaines propriétés comprenant des méthodes et des attributs. L ' objet est le concept central de la programmation orientée objet, il est la réalisation d'une instance correspondant au modèle de la classe à laquelle elle appartient.
Dans un mode de réalisation, les moyens de génération comprennent des deuxièmes moyens de création, dans une mémoire, d'une base de données dédiée à ladite application logicielle, en fonction desdites structures de données créées. Ainsi, le système est capable de créer automatiquement une base de données dans une mémoire, en fonction des classes d' objets créées automatiquement par le système, en fonction de scenarii entrés.
Dans un mode de réalisation, les moyens de génération comprennent des troisièmes moyens de création d' interfaces graphiques de l'application logicielle à partir des scenarii entrés.
Les moyens de génération sont en outre capables, automatiquement, de créer des interfaces graphiques correspondant aux différents scenarii entrés, et permettent ainsi aisément à l'utilisateur
du système de génération automatique d'utiliser les scenarii qu'il a défini.
Dans un mode de réalisation, lesdites interfaces graphiques créées comprennent des éléments graphiques dépendant des interactions élémentaires des scenarii.
En d' autres termes, les interfaces graphiques créées comprennent des éléments graphiques, tels, par exemple, des menus, des sous-menus, des cases à cocher, des champs de texte, des tableaux, ou des listes déroulantes, permettant facilement d' ajuster l' interface graphique au scénario choisi par l'utilisateur.
Dans un mode de réalisation, ladite plate-forme comprend des moyens de mémorisation de ladite application logicielle générée.
Dans un mode de réalisation, les moyens de génération comprennent des moyens de paramétrage de la génération en fonction de l 'architecture matérielle et logicielle de la plate-forme d' exécution de l' application logicielle.
Ainsi, il est possible de paramétrer la génération de l' application en fonction des moyens matériels et logiciels sur lesquels elle va être déployée. Dans un mode de réalisation, le système comprend des moyens pour transférer l' application logicielle de la plate-forme de génération à un terminal par l' intermédiaire du réseau de communication.
En effet, il peut en outre être possible de transférer l' application logicielle sur un terminal, afin que celle-ci puisse être installée sur une autre plate-forme d'un autre réseau. Les moyens pour transférer l'application logicielle de la plate-forme de génération à un terminal par l' intermédiaire du réseau de communication, peuvent être par exemple des moyens de téléchargement à distance. En variante, l' application peut être gravée sur un support de données, et envoyée
directement à un utilisateur pour être installé sur une plate-forme d'un autre réseau de communication, par exemple, un réseau d' entreprise.
Dans un mode de réalisation, les moyens de génération sont adaptés pour vérifier la cohérence des données entrées décrivant des interactions élémentaires de scenarii.
Ainsi, avant de générer l'application en fonction d'un environnement technique défini, des vérifications de cohérence sont effectuée afin d' avertir l'utilisateur de la présence d'erreurs graves, ou d' erreurs automatiquement corrigées par le module de génération 5. Par exemple une erreur peut être soulevée lorsque dans deux scenarii différents de création de client, le nom du client est une fois défini comme une chaîne de caractères, et une fois comme un nombre entier. Un simple avertissement peut être soulevé, et l'application générée quand même, lorsque dans deux scenarii différents de création de client, le nom du client est une fois défini comme une chaîne de vingt caractères, et une fois comme une chaîne de trente caractères. Dans ce cas le module de génération choisira la définition la mieux adaptée en fonction des règles de génération, par exemple le définira deux fois comme une chaîne de trente caractères pour que le système accepte le cas le plus contraignant imaginé par un utilisateur du système de génération, ou, en d' autres termes, un concepteur de l' application.
Le réseau de communication peut, par exemple, être le réseau Internet.
Selon un autre aspect de l' invention, il est également proposé un procédé de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies pour la génération. On génère automatiquement, à distance, une application logicielle en fonction de données décrivant des interactions élémentaires associées à des
scenarii associés à des cas d'utilisation de l' application logicielle, et on met instantanément à disposition l' application logicielle générée, par l' intermédiaire d'un réseau de communication.
L 'invention sera mieux comprise à l' étude de la description détaillée suivante, de quelques modes de réalisation pris à titre d' exemples nullement limitatifs, et illustrés par les dessins annexés, sur lesquels : la figure 1 représente schématiquement un système selon un aspect de l' invention, et - la figure 2 illustre schématiquement le procédé selon un aspect de l' invention.
Tel qu' illustré sur la figure 1 , un système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération, comprend une plate-forme 1 de génération reliée au réseau de communication Internet 2, et comprend un module d' entrée 3 de données représentatives de scenarii de cas d'utilisation de l' application logicielle, accessible depuis un terminal 4 par l' intermédiaire du réseau Internet 2. La plate-forme de génération 1 comprend un module de génération automatique 5 de l' application logicielle en fonction desdits scenarii, ainsi qu'un module de mise à disposition instantanée 6 de l' application logicielle générée pour le terminal 4 ou un autre terminal 7, muni d'un écran 8 relié audit réseau internet 2. Le module d' entrée 3 comprend une interface graphique 9 affichable sur un terminal, par exemple le terminal 4, reliée au réseau internet 2, sur l' écran 10 du terminal 4.
La plate-forme 1 comprend un module de mémorisation ou mémoire 1 1 pour mémoriser les données représentatives des scenarii
entrés par l'utilisateur du terminal 4 par accès à distance au module d' entrée 3.
En outre, la plate-forme de génération 1 comprend un module d'authentification 12 pour authentifier l'utilisateur, par exemple par un identifiant et un mot de passe, ou par données biométriques, et permettre la génération, l'utilisation ou la modification de l' application logicielle. Ainsi, seules les personnes autorisées peuvent avoir accès à la génération, l'utilisation ou la modification de l' application logicielle. Le module de génération 5 comprend un premier module de création 13 , dans une mémoire, de données représentatives de classes d' objets à partir des scenarii entrés. En outre, le module de génération 5 comprend un deuxième module de création 14, dans une mémoire, d'une base de données 15 dédiée à ladite application logicielle, en fonction des classes d' objets créées lors de la génération de l' application, par le module de création 13. Le module de génération 5 comprend, en outre, un troisième module de création 16 d'interfaces graphiques de l'application logicielle à partir des scenarii entrés. Les interfaces graphiques créées comprennent des éléments de sélection principaux, ou menus, et des éléments de sélection secondaires, ou sous-menus, représentant les scenarii entrés et mémorisés. Ainsi, l'utilisateur de l' application logicielle peut aisément sélectionner une interface graphique correspondant au scénario qu'il veut utiliser.
En outre, la plate-forme 1 comprend un module de mémorisation 17 de l' application logicielle générée. Le module de mémorisation ou mémoire 17 peut être organisé, par exemple, sous forme de base de données, de manière à pouvoir mémoriser une multitude d' applications logicielles diverses générées indépendamment les unes des autres.
En outre, le module de mémorisation 17 peut mémoriser les différentes versions successives générées d'une application logicielle, ainsi que des références permettant d'identifier les scenarii du module de mémorisation 1 1 correspondant aux différentes versions successives.
La plate-forme de génération 1 comprend, en outre, un module de transfert 18 pour transférer l' application logicielle générée au terminal 4, par l'intermédiaire du réseau de communication internet 2, ou au terminal 5 après authentification des droits de l'utilisateur. En variante, le module de transfert, ou de téléchargement, peut être remplacé par l' inscription de l' application logicielle sur un support de données numérique, tel qu'un CD ou un DVD.
La plate-forme de génération 1 peut également comprendre un module de paramétrage 19 permettant de paramétrer la génération de l' application logicielle en fonction de l'architecture matérielle et logicielle de la plate-forme d' exécution sur laquelle est exécutée l' application logicielle.
La figure 2 illustre le fonctionnement du système de la figure 1. Un utilisateur du terminal 4 se connecte par l' intermédiaire du réseau Internet 2 à la plate-forme 1 de génération de l' application logicielle (étape 20). Une fois connecté à la plate-forme 1 , l'utilisateur rentre un identifiant et un mot de passe pour pouvoir accéder aux services, après avoir été authentifié par le module d'authentification 12 (étape 21 ). Si ces identifiant et mot de passe correspondent à la création d'une nouvelle application logicielle, l'utilisateur va alors entrer les scenarii devant être réalisés par l' application logicielle, au moyen du module d'entrée 3 et de son interface graphique 9 affichable sur l'écran 10 du terminal 4 de l'utilisateur (étape 22).
Lorsque l'utilisateur a entré l 'ensemble des scenarii devant être réalisés par l' application logicielle, il demande la génération (étape 23) de l' application logicielle par le module de génération 5. Une fois générée et mémorisée, dans le module de mémorisation 17, l' application est mise à disposition par le module de mise à disposition
6 (étape 24).
Si l'utilisateur se rend compte qu' il a oublié d' entrer un scénario, il peut alors ajouter un ou plusieurs scenarii aux scenarii mémorisés dans le module de mémorisation 1 1 , (étape 22) et re- générer une nouvelle version de l' application (étape 23), qui sera mise à disposition instantanément (étape 24).
L'utilisateur peut alors également décider d'utiliser l' application (étape 25) par exemple afin de tester son fonctionnement.
Il peut également, sous réserve qu'il y soit autorisé en fonction de son authentification, télécharger l' application (étape 26) de manière à l' installer sur un serveur d'un autre réseau de communication, par exemple un réseau local d' entreprise. Un autre utilisateur, par exemple par le terminal 5 , peut se connecter à distance de la plate-forme de génération 1 (étape 20) et s' authentifier au moyen du même identifiant et mot de passe correspondant à cette application logicielle (étape 21 ).
Après authentification (étape 21 ), l'utilisateur peut soit choisir de générer une nouvelle version de l'application (étape 23), après avoir entré ou modifié de nouveaux scenarii (étape 22). Cette nouvelle version de l' application générée sera alors mise à disposition immédiatement (étape 24). Il peut également décider d'utiliser l' application (étape 25), par exemple pour la tester, ou de la télécharger (étape 26).
Lors d'une phase de génération (étape 23), le module de génération 5 effectue une génération de l' application en commençant
par vérifier la cohérence des scenarii, et notamment des types de données utilisées dans les scenarii. Par exemple si un scénario d' ajout de client comprend un nom de client de type texte, et qu'un autre scénario d' ajout de client, par exemple un ajout rapide de client comprend un nom de client de type nombre entier, une erreur de cohérence est détectée.
Lorsque la cohérence des scenarii est établie, le module de génération 5 produit une description de l' application, à partir des scenarii, dans un mode de description, ou métalangage de description indépendant du langage de programmation que le module de génération
5 utilise pour créer l'application logicielle. Le module de génération 5 peut être paramétrable, de sorte à pouvoir choisir le langage de programmation utilisé pour générer l'application, notamment en fonction des équipement matériels et logiciels de la plate-forme sur laquelle l'application logicielle sera exécutée. Le métalangage de description de l'application permet de conserver les informations présentes dans les scenarii.
A partir de la description de l'application logicielle dans le métalangage, des structures de données nécessaires à l' application sont générées par le module de génération 5. Les relations entre les structures de données sont implicitement comprises dans les structures de données. Par exemple, pour un langage orienté obj et tel que Java ou C++, les structures de données créées sont des classes d' objets. Enfin le module de génération 5 génère l'application logicielle à partir des structures de données élaborées et de l' ensemble des interactions élémentaires des scenarii entrés, et génère l'application finale dans le langage de programmation prévu.
L 'invention permet de générer, dans un délai et un coût réduits, de manière simple et automatique, une application logicielle réalisant l' ensemble des scenarii prévus pour les utilisateurs finals.
En outre, la mise à disposition instantanée de l' application logicielle générée par le réseau de communication, permet à diverses entités distantes géographiquement l'une de l' autre, d' avoir immédiatement accès à l'application, notamment pour pouvoir la tester indépendamment.
Tout ce qui est décrit précédemment pour un utilisateur s 'applique également pour plusieurs utilisateurs simultanés, qu' ils soient dans un lieu identique ou dans des lieux différents.
Claims
1. Système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération, comprenant une plate-forme ( 1 ) de génération reliée à un réseau de communication (2), et au moins un terminal (4, 5) relié audit réseau de communication, caractérisé en ce que la plate-forme ( 1 ) comprend des moyens d' entrée de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, accessibles depuis un terminal (4, 4) par l' intermédiaire du réseau (2), des moyens de génération automatique (5) de l'application logicielle en fonction desdits scenarii, et des moyens de mise à disposition instantanée (6), pour un terminal (4, 5) relié audit réseau de communication (2), de l' application logicielle générée.
2. Système selon la revendication 1 , dans lequel lesdits moyens d' entrée (3) comprennent une interface graphique (7) affichable sur un terminal (4, 5) relié audit réseau de communication (2).
3. Système selon la revendication 1 ou 2, dans lequel ladite plate-forme ( 1 ) comprend des moyens de mémorisation ( 1 1 ) desdites données décrivant des interactions élémentaires de scenarii.
4. Système selon l'une des revendications 1 à 3 , dans lequel ladite plate-forme ( 1 ) comprend des moyens d' authentification ( 12) d'un utilisateur pour permettre la génération, l'utilisation ou la modification de l' application.
5. Système selon la revendication 4, dans lequel lesdits moyens d'authentification ( 12) sont adaptés pour reconnaître un identifiant et un mot de passe, ou des données biométriques représentative d'utilisateurs autorisés.
6. Système selon l'une des revendications 1 à 5 , dans lequel les moyens de génération (5) comprennent des premiers moyens de création ( 13) de données représentatives de structures de données, à partir des scenarii entrés.
7. Système selon la revendication 6, dans lequel les moyens de génération (5) comprennent des deuxièmes moyens de création ( 14), dans une mémoire, d'une base de données ( 15) dédiée à ladite application logicielle, en fonction desdites structures de données créées.
8. Système selon l'une des revendications 1 à 7, dans lequel les moyens de génération (5) comprennent des troisièmes moyens ( 16) de création d' interfaces graphiques de l' application logicielle à partir des scenarii entrés.
9. Système selon la revendication 8, dans lequel lesdites interfaces graphiques créées comprennent des éléments graphiques dépendant des interactions élémentaires des scenarii.
10. Système selon l'une des revendications 1 à 9, dans lequel ladite plate-forme (5) comprend des moyens de mémorisation ( 17) de ladite application logicielle générée.
1 1. Système selon l'une des revendications 1 à 10, dans lequel les moyens de génération (5) comprennent des moyens de paramétrage ( 19) de la génération de l'application logicielle en fonction de l'architecture matérielle et logicielle de la plate-forme d' exécution de l'application logicielle.
12. Système selon l'une des revendications 1 à 1 1 , comprenant des moyens de transfert ( 18) pour transférer l'application logicielle de la plate-forme de génération ( 1 ) à un terminal (4, 5) par l' intermédiaire du réseau de communication (2).
13. Système selon l'une des revendications 1 à 12, dans lequel les moyens de génération (5) sont adaptés pour vérifier la cohérence des données entrées décrivant des interactions élémentaires de scenarii.
14. Système selon l'une quelconque des revendications 1 à
13 , dans lequel le réseau de communication (2) est le réseau internet.
15. Procédé de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies pour la génération, caractérisé par le fait que l' on génère automatiquement, à distance, une application logicielle en fonction de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, et que l' on met instantanément à disposition l' application logicielle générée, par l' intermédiaire d'un réseau de communication (2).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/FR2007/051503 WO2009000976A1 (fr) | 2007-06-22 | 2007-06-22 | Systeme et procede de generation automatique d'une application logicielle |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2171577A1 true EP2171577A1 (fr) | 2010-04-07 |
Family
ID=38645797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP07803926A Withdrawn EP2171577A1 (fr) | 2007-06-22 | 2007-06-22 | Systeme et procede de generation automatique d'une application logicielle |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2171577A1 (fr) |
WO (1) | WO2009000976A1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149977A1 (fr) * | 2011-05-05 | 2012-11-08 | Novlog | Procede et systeme correspondant de generation d'une application logicielle manipulant des donnees structurees. |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138268A (en) * | 1995-10-30 | 2000-10-24 | Information System Development Institute | Software production method, processing apparatus and recording medium |
US7213230B2 (en) * | 2000-12-28 | 2007-05-01 | Yeda Research And Development Co. Ltd. | Playing scenarios of system behavior |
US20030217333A1 (en) * | 2001-04-16 | 2003-11-20 | Greg Smith | System and method for rules-based web scenarios and campaigns |
-
2007
- 2007-06-22 WO PCT/FR2007/051503 patent/WO2009000976A1/fr active Application Filing
- 2007-06-22 EP EP07803926A patent/EP2171577A1/fr not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
See references of WO2009000976A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2009000976A1 (fr) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8341531B2 (en) | Content formatting and installation techniques | |
US7937458B2 (en) | On-demand software service system and method | |
US8140987B2 (en) | GUI modeling of web services | |
US20160092499A1 (en) | Object mapping using intrinsic persistence metadata and pattern-based rules for mapping transformation | |
US8543972B2 (en) | Gateway data distribution engine | |
EP2622430B1 (fr) | Appareil et procédés d'extension de services d'application | |
EP1387261A1 (fr) | Logiciel de generation de code d'application informatique et langage de description de logiciel | |
US10262155B1 (en) | Disabling features using feature toggle | |
US20090319958A1 (en) | Machine Readable Design Description for Function-Based Services | |
CN111880839A (zh) | 一种api处理方法和装置 | |
US20060069735A1 (en) | Content formatting and installation techniques | |
CN115136126A (zh) | 用于移动应用的自定义验证和脚本的系统 | |
WO2007141446A1 (fr) | Système de gestion d'un service interactif multimodal | |
CN115599347A (zh) | 一种自动化代码开发实现方法和系统 | |
EP2187321B1 (fr) | Procédé et dispositif d'édition d'un objet représenté dans une page web | |
Potts | Alfresco developer guide | |
FR2931272A1 (fr) | Procede d'import export de donnees d'une base de donnees | |
WO2009000976A1 (fr) | Systeme et procede de generation automatique d'une application logicielle | |
CN112230938B (zh) | 工业互联网的租赁产品的配置方法和装置 | |
US20110041069A1 (en) | User interface for aggregating services in a data processing system | |
CN116521509A (zh) | 智能合约测试方法、装置、设备、存储介质及产品 | |
Dirksen | SOA Governance in Action: Rest and WS-* Architectures | |
EP2284751B1 (fr) | Procédé de traçabilité et d'imputabilité dynamiques des échanges dans un environnement ouvert de type internet | |
US20220417046A1 (en) | Function as a service console for an online application exchange platform | |
FR3043812B1 (fr) | Procede de generation d'un formulaire de messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20100114 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK RS |
|
17Q | First examination report despatched |
Effective date: 20100701 |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20120103 |