WO2001069381A2 - Procede et appareil de mise au point de logiciels - Google Patents

Procede et appareil de mise au point de logiciels Download PDF

Info

Publication number
WO2001069381A2
WO2001069381A2 PCT/US2001/008255 US0108255W WO0169381A2 WO 2001069381 A2 WO2001069381 A2 WO 2001069381A2 US 0108255 W US0108255 W US 0108255W WO 0169381 A2 WO0169381 A2 WO 0169381A2
Authority
WO
WIPO (PCT)
Prior art keywords
node
application
nodes
click
layout
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.)
Ceased
Application number
PCT/US2001/008255
Other languages
English (en)
Other versions
WO2001069381A3 (fr
Inventor
Ram P. Mohan
Shariq Mansoor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ISPRING COM
Original Assignee
ISPRING COM
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 ISPRING COM filed Critical ISPRING COM
Priority to AU2001245739A priority Critical patent/AU2001245739A1/en
Publication of WO2001069381A2 publication Critical patent/WO2001069381A2/fr
Anticipated expiration legal-status Critical
Publication of WO2001069381A3 publication Critical patent/WO2001069381A3/fr
Ceased legal-status Critical Current

Links

Classifications

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

Definitions

  • This invention relates generally to methods and apparatus for the development of software, and more particularly to a method and apparatus that includes at least one user interaction which is executable using a web, voice, e-mail or wireless channel
  • the Internet has become a major channel for companies to conduct business.
  • a wide range of business transactions including business to business, business to consumers, auctions, reverse auctions and vertical networks of businesses have driven growth.
  • the unique aspects of this digital connectivity has spurred new forms of commerce transactions, eliminated geographic and time zone constraints, placed suppliers and customers in direct contact and essentially transformed the landscape of commerce.
  • the speed of this transformation and the radical impact this has had on company fortunes has pushed businesses to rapidly recognize and re- engineer themselves, internally and externally with customers/suppliers, to get on the net.
  • the application of incorporating the web as a legitimate business channel has been a real struggle for most companies " .
  • Businesses have had to balance the pressures to 'get on the net' quickly against a long list of issues such as - what part of the company should get on the net first, how should this happen, developing an overall strategy for getting the entire company on the net, website design, connections to internal computer applications and applications, training, marketing brand implications and significant ignorance of web technology and what e-commerce really mean.
  • Some companies have simply put up a website with basic company information (brochure-ware sites) and at the other end companies have defined and implemented comprehensive e-commerce strategies.
  • An object of the present invention is to provide an improved method and apparatus for creating software.
  • Another object of the present invention is to provide a method and apparatus for creating software in order to implement websites based on pre- defined business rules enabling business objectives and to enable business application capabilities to drive website implementation.
  • Yet another object of the present invention is to provide a method and apparatus for creating software that eliminates the need for complex technical programming and maintenance for websites.
  • a further object of the present invention is to provide a method and apparatus for creating software that is based on complex business rules defined with a simple set of constructs.
  • a further object of the present invention is to provide a method and apparatus for creating software for implementing a website that separates the business application and rules design from the graphic design/look & feel design of the website.
  • Another object of the present invention is to provide a method and apparatus for creating software that implements websites by separating the execution of business rules on a server from the rendering of the user interface on client machines.
  • a further object of the present invention is to provide a method and apparatus for creating software that combines dynamically created content with a template module to create customized look and feel based on personalization and other considerations.
  • Another object of the present invention is to provide a method and apparatus for creating software that combines dynamically created content with a template module to enable a physical media independent web device driver.
  • Yet another object of the present invention is to provide a method and apparatus for creating software that separates nodes and links both at a conceptual level and as permanently stored objects.
  • Another object of the present invention is to provide a method and apparatus for creating software using selected node layouts that represent a plurality of application logics.
  • Yet another object of the present invention is to provide a method and apparatus for creating software that uses a user interaction which is executable on multiple channels.
  • a further object of the present invention is to provide a method and apparatus for creating software with a user interface that includes GUI components and a template for the physical layout of static and dynamic portions of a user display.
  • a plurality of nodes and a directory of applications are provided. Each application is created by use of at least a portion of the plurality of the nodes. At least a portion of the plurality of nodes are selected to create a selected node layout that represent a plurality of application logics. The selected node layout is executed by a server program.
  • a method for creating software provides a plurality of nodes and a directory of applications. Each application is created by use of at least a portion of the plurality of the nodes. At least a portion of the plurality of nodes are selected to create a selected node layout that represent a plurality of application logics. The application logic is defined by selecting at least one of GUI parameters and options in each selected node. The selected node layout is executed by a server program.
  • a method for creating software provides a plurality of nodes and a directory of applications. Each application is created by use of at least a portion of the plurality of the nodes. At least a portion of the plurality of nodes are selected to create a selected node layout that represent a plurality of application logics. External application interfaces are defined. The selected node layout is then executed by a server program.
  • Figure 1 is a flow chart illustrating one embodiment of the present invention using a solution engine that executes business application/rules defined in a knowledge base specified by analysts/online agents using a visual design tool.
  • Figure 2 is a flow chart illustrating a specific business application that can be used with the present invention, and depicts the steps in diagnosing and recommending a work-around/solution for problems associated with a printer connected to a personal computer.
  • Figure 3 is a flow chart that illustrates elements used to represent a business application and business rules - nodes and links used by the present invention.
  • Figure 4 is a flow chart that represents an embodiment of the present invention where a application defined to assist in debugging problems with a specific model of a printer is reused and operates differently based on the context.
  • Figure 5 illustrates the use of nodes and links to represent the business application shown in Figure 2 and the applicationing sequence used by the solution engine.
  • Figure 6 is a sample screen shot from a website that was generated using rules defined in Figure 5.
  • Figure 7 illustrates the mapping of node and template elements to the physical website display.
  • Figure 8 illustrates a representative set of nodes, of the present invention, and their associated capabilities.
  • Figure 9 is a schematic illustration of one embodiment of the display node and the display component of the present invention.
  • Figure 10 illustrates one embodiment of a layout of a template and the application for website screen display generation of the present invention.
  • Figure 11 illustrates how template based interaction of the present invention provides a method for user interactions to be defined and implemented independent of the physical characteristics of the user device.
  • Figure 12 illustrates how template based interaction of the present invention enables personalization - to display user relevant content and user preferred display formats ⁇
  • Figure 13 is a flow chart that illustrates one embodiment of a methodology of the present invention for concurrent business application definition and web-site design.
  • Figure 14 is a flow chart that illustrates one embodiment of the present invention of a complete view of applications and information flow using the Figure 13 methodology.
  • Figure 15 is a screen shot of an application builder screen.
  • Figure 16 is a screen shot of a log-in into the application builder.
  • Figure 17 is a screen shot of a new application node.
  • Figure 18 is a screen shot of a menu display of the command options applicable to a selected node.
  • Figure 19 is a screen shot of variables applicable to the selected node.
  • Figure 20 is a screen shot illustrating variable attribute definitions for a selected variable of a node.
  • Figure 21 is a screen shot that specifies the name of a variable.
  • Figure 22 is a screen shot of a user interface node.
  • Figure 23 is a screen shot of a user interface block node.
  • Figure 24 is a screen shot that illustrates user interface block node properties.
  • Figure 25 is a screen shot of a component definition box.
  • Figure 26 is a screen shot of a variable definition box for a user interface block node.
  • Figure 27 is a screen shot of a component definition box with a properties tab.
  • Figure 28 is a screen shot of an interaction node.
  • Figure 29 is a screen shot of the properties of an interaction node.
  • Figure 30 is a screen shot illustrating an interaction node properties.
  • Figure 31 is a screen shot of an application node menu to save a process.
  • Figure 32 is a screen shot of a log-in function URL with basic fields.
  • Figure 33 is a screen shot of an example of a task node.
  • Figure 34 is a screen shot of a task node properties.
  • Figure 35 is a screen shot of a step definition box.
  • Figure 36 is a screen shot for selecting a step function.
  • Figure 37 is a screen shot illustrating database variable interface options.
  • Figure 38 is a screen shot illustrating mapping of database parameters.
  • Figure 39 is a screen shot of a decision node.
  • Figure 40 is a screen shot of a dialog box for a decision node properties.
  • Figure 41 is a screen shot of a list of functions available at a decision node.
  • Figure 42 is a screen shot of one of the functions of a DB list function.
  • Figure 43 is a screen shot of a data node.
  • Figure 44 is a screen shot of a list of functions available at a data node.
  • Figure 45 is a screen shot illustrating node component function.
  • Figure 46 is a screen shot of a do while loop node.
  • Figure 47 is a screen shot of a loop application process.
  • Figure 48 is a screen shot of a do while loop node's properties.
  • Figure 49 is a screen shot of a list of the do while loop node's functions available.
  • Figure 50 is a screen shot of a DB list functions available at the do while loop node.
  • Figure 51 is a screen shot of an application node menu.
  • Figure 52 is a screen shot of basic fields in the login process.
  • One embodiment of the present invention is a method for creating software with a plurality of nodes and a directory of applications.
  • Each application is created by use of at least a portion of the plurality of the nodes.
  • At least a portion of the plurality of nodes are selected to create a selected node layout that represent a plurality of application logics.
  • the application logic is automatically validated against errors by validating each node in the selected layout against a pre-defined set of parameters and values.
  • At least a portion of the plurality of the nodes are aggregated to create an aggregated node which represents an application logic. Created aggregated nodes can be reused as part of other application logics by making it a child of another node in the selected layout.
  • the selected node layout is executed by a server program.
  • the application logic is directly executed without compilation of application logic.
  • Each node in the selected node layout is stored in the database alone with all the selected parameters and parent child relationships.
  • the server program extracts the selected node layout from the database and executes a single node at a time.
  • At least a portion of the application logics includes a user interaction.
  • the user interaction permits a user to interact with the server program and is executable on multiple channels including but not limited to web, voice, e-mail and wireless channels.
  • the user interface provides a way for the server program to display information to the end-user and to allow the end-user to respond or direct the execution of the server program.
  • Each node is a visual representation of a software function and includes inputs to a software function.
  • the plurality of nodes includes a variety of different nodes including but not limited to the following: application node, user interface node, interaction node, data node, task node, decision node, while loop node, do while loop node, transaction node, rollback node, asynchronous node and wait node.
  • the application node is the root node and is used to define the global properties of the application, including but not limited to variables and constants.
  • the application assigns a sequence of nodes and actions for a specific purpose. Individual node execution measurements include usage counts, total execution time, average execution time and the like.
  • a descriptive view provides details of the functional use of the selected layout.
  • a history of different versions of the application logic is provided. Access control to the application logic permits a single access by only one user at a time for purposes of modification and multiple access for purposes of viewing.
  • the user interface node preferably has GUI components and a template for the physical layout of static and dynamic portions of a user display.
  • Templates are HTML files that determine how the information identified in the User Interface, User Interface Block, and Interaction nodes is displayed. Templates provide the look and feel of user interaction.
  • Templates and template components are applied in the Interaction node and User Interface Block node components, respectively. Can apply a template to the Interaction node by assigning a template name as a value for the Template property. If you do not assign a value to the Template property, the default template will be applied.
  • Dynamic portions of the user display are used by the server program at run-time to layout application specific GUI components.
  • the server program loads the defined template, dynamically generates the GUI component definitions and populates the dynamic portion of the template.
  • the user interface node, user mteraction block and interaction node create a screen that is viewable by the user.
  • the user interface block node is the child of user interface node and is used to create GUI components such as text or text boxes.
  • the interaction node is used to display information to, receive information from, and send information to the user. It is also used to create an interaction using one or more user interface nodes.
  • the data node applications information and manipulates the data throughout the entire selected node layout, including but not limited to performing functions, tasks, evaluating expressions, assigning values to variables, embedding Java and the like.
  • the task node interfaces with external systems or other applications based on predefined interface manager definitions.
  • the decision node creates a condition or business rule within the user's application. The condition or business rule must be true or false in order for the application to move to the appropriate next step. If the condition or business rule is true, the application proceeds along "Path A" and along "Path B" when it is false.
  • a loop is created by the while loop within the application as long as a certain condition remains true. The while loop node checks the condition before beginning the loop.
  • the do while loop is another node that creates a continuous loop within the selected node layout as long as a certain condition remains true.
  • the do while loop is similar to the while loop except that it checks the condition after the first loop has been executed.
  • the transaction node is used to mark the beginning of a transaction. Any children of the transaction node are included in the transaction.
  • the transaction is rolled back if either a rollback node is encountered or any error occurs.
  • the Rollback node is used for an explicit roll back of the transaction node and is a descendent of a transaction node.
  • the asynchronous node is used to conduct a parallel execution of the child branch.
  • the wait node is the parent node of the asynchronous node and waits until a specific condition is met or all child asynchronous nodes are done applicationing. Then, the rest of the application continues.
  • a node palette contains the user Interface, user interface block, interaction, data, task, decision, while loop, do while loop, transaction, rollback, asynchronous and wait nodes.
  • the Application Diagram is the workspace for building applications. Nodes are added to the application by clicking and dragging the node type from the node Palette onto the application diagram.
  • Node palette lists the node types available for building the software application. Nodes are the building blocks for a application. Software developers use a application diagram as a workspace. Nodes are used to build applications. To create software, specific tasks that each node is to accomplish are defined and their sequence is established. Node properties include, (i) variables to store data with constant values, calculated values, or interactive result values, (ii) components that are defined within the user interface block node and used to present and collect information between the application and the user, (iii) expressions that define the values to be stored in the variables, including operators such as math functions, Boolean operators, date/time functions, and the like.
  • the look and feel of the user interface is created with the use of the user interface, user interface block and the interaction nodes. These nodes are used create the blank form, add information to that form, and then display the information to, and receive the information from, the software developer. These nodes define how the information is seen by the software developer. Templates are visual renditions of a user Interface node and can be designed in an external system.
  • the method and apparatus of the present invention can be used for defining a business application and associated business rules along with a corresponding user interface to generate a fully functional and scaleable website.
  • Business rules are defined and a user interface created to deliver services, products and information over the Internet.
  • An operational website is created that implements these rules for use by website users using web browsers on client machines.
  • the business rules and the user interface elements are defined using a visual definition tool on a server machine.
  • the business rules define all the services provided at the software consisting of business application elements such as global variables, applicationing elements, conditional elements and flow of control rules.
  • the user interface elements and the methods to manifest these elements are kept separate- enabling enforcement of corporate look & feel standards, industry elements, frame-specific functions, personalization and device independence.
  • the server system stores the business rules and the user interface elements in a repository and uses this to generate a website.
  • the server system uses the pre-defined business rules to analyze the customer's request, execute the corresponding business rule - which may consist of checking the user request/input with a backend system, performing some calculations - and based on the result perform a wide range of actions from simply serving up a specific user interaction or interfacing with an external application to exchange information and respond to the customer request. All of the interaction with the customer is performed using the user interface elements defined. These interface elements consist of a standard look and feel elements and also a set of user-definable display objects. Customers can define an attractive, engaging interface that is also powerful.
  • Figure 1 provides an overview of the components of a complete website consisting of web servers connected on one side to the end-users via the Internet and on the other side to a backend complex comprising functional servers, interface routines and analyst/management tools.
  • Specialized routines on the web servers interface with the solution engine using networked objects to track, control and manage user sessions.
  • the solution engine interfaces with specialized engines such as the observation, personalization and pricing engine as directed by specific nodes.
  • a pool of standard interface routines is provided to allow the specialized engines and analyst/management tools to access databases, external applications and service providers.
  • a representative business application is described in Figure 2. In this instance, the sequence of steps describing the service application for a customer having a problem with a printer is shown and is typically what company service representatives would use. Key paths that are followed include, (i) functional checks, did the document print?, performance checks, is the printer printing slowly and (iii) quality checks, is the print quality poor.
  • the next diagnostic path focuses on potential performance problems 'is your printer printing slowly' and verifies performance parameters to check against benchmarks and based on any identified anomalies recommends a course of action.
  • the final diagnostic path focuses on quality-related issues ' is your print quality poor' and recommends some steps based on the specific quality issues identified.
  • a visual design tool is used to layout the business application described in Figure 2 along with additional information describing display elements, including but not limited to text, graphics and the like, used to interact with the end customer on a web browser. This is more fully shown in Figure 3. These display elements can be specified directly or sketched out in a web page design tool and imported. Each of the nodes is connected to another via a link node that specifies a set of conditions that must be tested before a path is traversed.
  • Figure 4 represents a general application for assisting users with a range of PC-models configured with a range of printers.
  • the diagnostic application for isolating and resolving problems with an 'A' -model printer is shown being reused in multiple PC-type contexts. Based on the context of the invocation, the printer debugging application can be designed to operate differently.
  • a server system is used to implement the website and receives control when a client web browser issues a connection request to a specific pre-defined web page located on the server as shown in Figure 1.
  • This web page is associated with a specific application.
  • the server receives control and signals the solution engine with the application-id and any parameters passed from the client browser.
  • the solution engine applications the tree of nodes and links associated with this application-id.
  • Figure 5 illustrates the applicationing logic for the application defined in Figure 2 and Figure 3.
  • Node A represents the first page displayed by the client browser and the link (Document did not print?) is tested. If this is tested true node B is applicationed; else the next link (Is the printer slow?) is evaluated.
  • the server system evaluates a link and if the condition is true applications the next node and its child nodes until it encounters a link that tests untrue or reaches the last node in a chain. When this happens, it reverses its execution path till it encounters a node that has a child on an untested path and tests the link on the path if one exists before applicationing the child node.
  • Figure 6 illustrates a web page generated by the server system based on the application, rules and display specifications in Figure 3.
  • the server generates this page using display specifications in a template page and overlaying this with display components from the business application map, see Figure 3.
  • the title, description, display components and associated HELP are directly derived from the business application map.
  • Positioning of the mouse pointer and the related HELP content pop-up are examples of the dynamic, content specific information that can be displayed.
  • the component HELP associated with that choice is displayed.
  • a basic set of building blocks for defining a website is shown in Figure 8. These blocks include nodes that provide applicationing capability and links that test for conditions to enforce business rules. Based on the specific application being defined appropriate nodes are selected to represent the actual business application.
  • the display node represents an interaction with a web client browser and may be used to specify the content and layout of a web page.
  • the structure of the display node as shown in Figure 9, consists of a foundation page consisting of static content (Title, Description) and display components that represent interactional elements used to display content and accept user input interactively.
  • Display components as depicted in Figure 10 consist of display widgets, associated content/text, HELP text and variables associated with the selection with defaults, min/max settings as appropriate. The defaults and min/max values can be set to variables as opposed to constants providing additional flexibility.
  • the HELP text is, in one embodiment, displayed as a mouse rollover event.
  • Templates enable the physical manifestation of display nodes, which contain the logic and additional content. They use the data associated with the display node to interpret and convey text and content and most critically, they define the behaviors of the display components. This enables a display node to drive a web browser on a PC, or a web browser on a cellular phone or a conventional telephone dialed in to a Computer-Telephony-Integration enabled browser.
  • Figure 11 illustrates the role of the template in the applicationing of interface nodes. Templates may be viewed as the engine that is fueled by the display node logic and contents. A single type of fuel (display node content), as in Figure 12, drives many engines - cell-phone enabled browsers, telephones, and conventional PC-based browsers, handheld PDAs etc. Additionally, engines may be used to provide many forms of personalization (Figure 12) based on the end customer - a regional, ethnic, professional look and feel.
  • Figure 13 illustrates a methodology that facilitates rapid implementation of website solutions. The delineation of business application and rules definition from the technical details of website user interface design are uniquely enabled by this invention.
  • Figure 14 illustrates the information flow in the tliree key use models for a website designed based on the principles described by the present invention.
  • Step 2 Add a new category.
  • Step 3 Select a new application to build.
  • Step 4 Check out the application for editing.
  • Step 5 Name the Application. 1 Double-click on the Application node.
  • Step 1 Create variables.
  • Step 2 Type a name for each variable as it is added. Step 2 Select the variable type. 1 Click on the Type column box.
  • Step 2 Add a User Interface Block node.
  • Step 3 Select a component.
  • Step 4 Define the component.
  • Step 5 Define properties for the component, a Click on the Properties tab. b Type in property values. Step 5 Add an Interaction node.
  • Step 6 Map a User Interface node to the Interaction node.
  • Step 7 Define the Interaction node's properties.
  • Step 8 Verify the component display on the website. 1 Save the application. a Right-click on the Application node, b Select Save.
  • Step 1 Add a Task node.
  • Step 2 Add a Step to the Task node. 1 Display the Task node's properties dialog box.
  • Step 3 Define the Step function of the step.
  • Step 4 Create a DB List variable.
  • Step 1 Add a Decision node.
  • Step 2 Define the Decision node conditions.
  • Step 1 Add a Data node.
  • Step 2 Define the Data node.
  • Step 3 Map the component to the Data node.
  • Step 1 Add a Loop node.
  • Step 2 Define the Do While Loop node's conditions.
  • Step 1 Save the application.
  • a application is a sequence of events, organized in a collection of nodes and variables, that define how to conduct business.
  • a application can be an internal procedure or a customer interaction. Prior to building a application a software developer determines:
  • a application can be opened by either double-click an existing application or opening a new application from the Application directory. All applications must be checked out from the application diagram area to enable editing. Step 1 Start Application Builder.
  • the Application directory is displayed with the root Application node and any other applications that are defined. See figure 15. Step 2 Add a new category.
  • the Category folders are for organizational purposes only and are not required for building a application.
  • Step 3 Select a new application to build.
  • a New Application node is displayed in the Application directory and in the Application Diagram. See figure 17.
  • Step 4 Check out the application for editing, if a previously created application is opened.
  • a menu is displayed. See figure 18. 2. Select Check Out.
  • Step 5 Name the Application. 1. Double-click on the Application node.
  • the Application node's properties dialog box is displayed. See figure 19.
  • the title will label the icons in the Application directory and Application Diagram.
  • the name is used for internal purposes and will not be displayed. The name must be entered alphanumerically and without any spaces.
  • the sample title is Login Application, and the sample name is LoginApplication. 3. Click OK.
  • the properties dialog box is removed and the New Application title is updated in both the Application directory and Application Diagram areas.
  • Variables are the base data handling mechanisms in a application. This section describes how to create variables through the Application node. Step 1 Create variables.
  • variable row is added to the variable list box.
  • Step 2 Select the variable type. 1. Click on the Type column box.
  • a list of variable types is displayed. See figure 20.
  • Default values for the Variable type appear in the Value field.
  • username and password are String type variables, and the default value is an empty field. See figure 21.
  • Step 1 Add a User Interface node. 1. Go to the Node Palette, if visible, or the selection of nodes displayed on the tool bar.
  • the sample title is Login Screen, and the sample name is LoginScreen.
  • Step 2 Add a User Interface Block node.
  • Step 3 Select a component.
  • the User Interface Block node's properties dialog box is displayed. 2. Double-click on a component type in the Available Components list.
  • the Component definition box is displayed with tabs labeled General, Properties, and Events.
  • Step 4 Define the component.
  • the Title field is in the General tab of the Component definition box.
  • the component label, UserName is used.
  • the Variable definition box is displayed. See figure 26. b. Enter the variable Name.
  • variable's type will be the same as the component's type.
  • the type is String.
  • a list of properties is displayed in the left column, and a blank list of values appears in the right column.
  • Type in property values or click on a drop down list and choose a property value.
  • caption User Name. This is the caption for the text box created by the username variable.
  • Step 5 Add an Interaction node. 1. Go to the Node Palette, if visible, or the selection of nodes displayed on the tool bar.
  • the sample title is Login Interaction, and the sample name is Loginlnteraction.
  • Step 6 Map a User Interface node to the Interaction node. 1. Double-click on the Interaction node.
  • the Interaction node's properties dialog box is displayed. 2. Select from the list of User Interface nodes. In the sample, the User Interface node titled Login Screen is selected. See figure 29. 3. Click Add.
  • Step 7 Define the Interaction node's properties.
  • a list of properties will be displayed in the left column, while a blank list of values will appear in the right column.
  • Step 8 Verify the component display on the website. 1. Save the application. a. Right-click on the Application node. For the sample case, the Application node is labeled Login application. The Application node menu is displayed. See figure 31. b. Select Save.
  • the Interaction node labeled Login Interaction, is the parent node. See figure 33.
  • the Task node's properties dialog box is displayed. 4. Type a title and name for the new node.
  • the sample title is Verify Login, and the sample name is VerifyLogin
  • Step 2 Add a Step to the Task node.
  • the Task node's properties dialog box is displayed. See figure 34.
  • a Task node can have as many steps as needed. The steps are applicationed in top down order. Click New button. The new step's definition box is displayed. See figure 35.
  • Step 3 Define the function of the step.
  • Database is selected. See figure 36.
  • Step 4 Create a DB List variable.
  • the Return Value is the predefined information that is returned from the database.
  • the database interface set in the Interface field has it's own set of Input and Output requirements. These map to specific columns in the database records. a. Click on the Variable field for each Input and Output Column Name.
  • a list of variables of matching type is displayed. b. Scroll through the list and select a variable. For the sample, the @Alias column name is mapped to the username variable, and @Pwd is mapped to the password variable. See figure 38.
  • a decision node is used if it is desired for the application to proceed along a certain path only if selected conditions are met. Decision nodes are used to test for specific if/then conditions.
  • Step 1 Add a Decision node.
  • the Decision node's properties dialog box is displayed.
  • the sample title is Invalid User, and the sample name is InvalidUser.
  • Step 2 Define the Decision node conditions.
  • the Decision node's properties dialog box is displayed. See figure 40.
  • DBList is selected.
  • the DBList's properties dialog box will appear. See figure 42.
  • Select a DBList variable Under the click arrow in the Select DBList field is a list of variables that were created through the Task node. Select one of the variables. For the sample case, userinfo is selected.
  • Step 1 Add a Data node.
  • Step 2 Define the Data node.
  • the Data node's properties dialog box is displayed.
  • the Wizard box is displayed. See figure 44. 5 c. Select a Wizard.
  • Node Components Properties is selected, d.
  • the Node Components Properties dialog box is displayed. See figure 45. 0 3. Enter a description.
  • Step 3 Map the component to the Data node. 1. Map the rule to the User Interface Block node
  • click Check This verifies that the rule has been defined correctly.
  • Loop Loops are a series of repeated steps. The beginning of a loop is specified as the last node a application runs before returning to an earlier part of the application. The point where it is desired for the application to return is the node that will have the loop node as its parent node. Step 1 Add a Loop node. 1. Select a type of Loop node.
  • While and Do While There are two types of loop nodes: While and Do While. For applications that require that the condition be checked before the loop begins, choose the While Loop. If it is desired that the condition is not checked until after the first loop, choose the Do While Loop. For the sample case, the Do While Loop is selected.
  • the Do While Loop node will appear on a lower branch. See figure 46. b. Move the branch that will place the nodes in the loop application into the position of the Do While Loop node's children. i. Copy the branch.
  • the branch is copied from the Interaction node, ii. Paste the branch.
  • Delete When the query is posed to delete the node and all of its children. Select OK. For the sample case, delete from the old Interaction node.
  • the application now contains a loop application. See figure 47. iv. Reactivate the User Interface node in the Interaction node. In the Interaction node's properties dialog box, select the User Interface node and click Add. The user interface properties have been reactivated.
  • the sample title is User Not Found, and the sample name is UserNotFound. 6. Click OK.
  • Step 2 Define the Do While Loop node's conditions.
  • a Wizard box with a list of options is displayed. See figure 49.
  • the DBList's properties dialog box will appear. See figure 50. 4. Enter a description.
  • the Application node is labeled Login application.
  • the Application node menu is displayed. See figure 51. b. Select Save. 2. Find the Application node's ID. Write down the ID that is displayed in the title of the Application Diagram.
  • Step 1 Verify the application display on the website.

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

Un procédé de création de logiciel utilise une pluralité de noeuds et un répertoire d'applications. Chaque application est créée à l'aide d'au moins une partie des divers noeuds. Au moins une partie des noeuds est sélectionnée pour créer une présentation de noeuds sélectionnés qui représente une pluralité de logiques d'application. La présentation de noeuds sélectionnés est exécutée par un programme de serveur.
PCT/US2001/008255 2000-03-14 2001-03-14 Procede et appareil de mise au point de logiciels Ceased WO2001069381A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001245739A AU2001245739A1 (en) 2000-03-14 2001-03-14 Method and apparatus for developing software

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18935800P 2000-03-14 2000-03-14
US60/189,358 2000-03-14

Publications (2)

Publication Number Publication Date
WO2001069381A2 true WO2001069381A2 (fr) 2001-09-20
WO2001069381A3 WO2001069381A3 (fr) 2003-03-27

Family

ID=22696984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/008255 Ceased WO2001069381A2 (fr) 2000-03-14 2001-03-14 Procede et appareil de mise au point de logiciels

Country Status (2)

Country Link
AU (1) AU2001245739A1 (fr)
WO (1) WO2001069381A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1512098A4 (fr) * 2002-05-20 2006-06-07 Akablue Pty Ltd Portail de commerce electronique

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988007719A2 (fr) * 1987-03-31 1988-10-06 Aimtech Corporation Appareil et representation et d'execution iconographiques de programmes
US5960410A (en) * 1995-12-08 1999-09-28 Halpern; Mordechai Device and method for object-based development of business applications software
US5987246A (en) * 1997-02-14 1999-11-16 National Instruments Corp. Graphical programming system and method including three-dimensional nodes with pre-defined input and output capabilities
GB9810574D0 (en) * 1998-05-18 1998-07-15 Thermo Bio Analysis Corp Apparatus and method for monitoring and controlling laboratory information and/or instruments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1512098A4 (fr) * 2002-05-20 2006-06-07 Akablue Pty Ltd Portail de commerce electronique

Also Published As

Publication number Publication date
AU2001245739A1 (en) 2001-09-24
WO2001069381A3 (fr) 2003-03-27

Similar Documents

Publication Publication Date Title
US7530050B2 (en) Method and system for developing software using nodes
US20010052112A1 (en) Method and apparatus for developing software
US8271541B2 (en) Method and apparatus for developing composite applications
US11789706B2 (en) Development system with improved methodology for creation and reuse of software assets
US7873946B2 (en) Scalable vector graphics, tree and tab as drag and drop objects
US7810070B2 (en) System and method for software testing
US9009658B2 (en) Component based software system
JP6487282B2 (ja) ワークフロー管理システムにおいて実行するためのアプリケーションを開発する方法、及びワークフロー管理システムにおいて実行するためのアプリケーションの生成を支援する装置
US8214737B2 (en) Processing life and work events
US6360332B1 (en) Software system and methods for testing the functionality of a transactional server
US7644390B2 (en) Design tool and methodology for enterprise software applications
US7856619B2 (en) Method and system for automated testing of a graphic-based programming tool
US8126937B2 (en) Visual database modeling
US20030131290A1 (en) Software system and methods for testing transactional servers
US20110016448A1 (en) System and method for rapid development of software applications
US20100058287A1 (en) Model driven software
Antón et al. A representational framework for scenarios of system use
EP1577754A2 (fr) Approche structurée pour specifications de logiciels
Rex Hartson et al. User interface development processes and methodologies
US8402433B2 (en) Method and system for performing automated transactions using a server-side script-engine
Janák Issue tracking systems
Javahery et al. Migrating user interfaces across platforms using HCI patterns
Hall et al. The, enterprise architecture, process modeling, and simulation tools report
WO2001069381A2 (fr) Procede et appareil de mise au point de logiciels
Rode et al. An end-user development perspective on state-of-the-art web development tools

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP