WO2004104824A1 - ユーザインタフェースアプリケーション開発装置および開発方法 - Google Patents

ユーザインタフェースアプリケーション開発装置および開発方法 Download PDF

Info

Publication number
WO2004104824A1
WO2004104824A1 PCT/JP2003/006536 JP0306536W WO2004104824A1 WO 2004104824 A1 WO2004104824 A1 WO 2004104824A1 JP 0306536 W JP0306536 W JP 0306536W WO 2004104824 A1 WO2004104824 A1 WO 2004104824A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
user interface
screen
data
interface application
Prior art date
Application number
PCT/JP2003/006536
Other languages
English (en)
French (fr)
Inventor
Takahide Matsutsuka
Masahiko Kamo
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/006536 priority Critical patent/WO2004104824A1/ja
Priority to JP2004572130A priority patent/JPWO2004104824A1/ja
Publication of WO2004104824A1 publication Critical patent/WO2004104824A1/ja
Priority to US11/146,355 priority patent/US20050235260A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Definitions

  • the present invention relates to a program development and execution method, and more particularly, to a user interface application which enables automatic generation of an application program having a user interface, thereby improving program development efficiency and maintainability. Development equipment and development method.
  • Patent Document 1
  • Patent Document 2
  • Patent Document 4 Japanese Unexamined Patent Publication No. 2000-0-3339149 "Method and apparatus for creating state transition model” Patent Document 4
  • Patent Literature 1 discloses that, when a unit constituting a controlled system is changed, specifications of a unit that has not been changed can be reused, thereby improving software production efficiency and improving unit production. There is disclosed an automatic program generation apparatus capable of performing compact and simple specification description even when the number increases.
  • Patent Literature 2 discloses information on invariant Z-variable parts of specifications obtained by analyzing required specifications common to applications in a certain problem area in order to develop reusable parts in object-oriented software. the then take advantage, in the D Patent Document 3 technology to support the development of reusable components are disclosed, state extracted in the creation of a state transition model, input Kaibe cement extraction, actions extraction, and the output A technology that can reduce the time required for event extraction is disclosed.
  • Patent Document 4 discloses a program that can improve the work efficiency of software development by automatically generating program code for a dynamic part and automatically generating program code for a dynamic part in the development of an object-oriented program. Has been disclosed.
  • Patent Document 1 first, the relationship between units must be described using a state transition model.
  • the relationship between the screen on the client side, the display data items, and the screen layout had to be described in a state transition model, and there was a problem in that development took time.
  • Patent Document 2 an analysis model of a required specification is converted into design information, and an object-oriented software component is developed. Therefore, for example, it was difficult to automatically convert it to a Web application program.
  • Patent Document 3 it is necessary to further describe a message sequence chart in addition to the state transition table, and there is a problem that it takes time to automatically generate a program.
  • Patent Document 4 it is necessary to extract the definition of the dynamic part, construct a state machine tree, and integrate it with the static part to generate program code! However, there was a problem that it took time to develop the final program product.
  • An object of the present invention is to provide a development device and a development method that facilitate the automatic generation of a user interface application program by devising the creation of program development specification data in the development of a user interface application. That is.
  • the user interface application development device of the present invention includes a specification data reading unit and a program generation unit.
  • the specification data reading means corresponds to a screen transition diagram of a format in which a screen and a process are described alternately, for example, a format in which one screen and one or more processes are described alternately, and a screen and a display input. It reads program development specification data in which the data items are associated with each other and the display input data items are associated with the screen layout, and the program generation means uses the specification data by using the specification data. It automatically generates a program for the user interface application.
  • the user interface application development device of the present invention includes a specification data reading unit and a processing execution unit.
  • the specification data reading means reads the same specification data for program development as described above, and the processing execution means interprets the read specification data and executes the processing of the user interface application according to the interpretation result. Is what you do.
  • the user interface application development device of the present invention includes a specification data reading unit and a program generation unit.
  • the specification data reading means corresponds to a screen transition diagram in a form in which transitions between a plurality of screens for which corresponding processes are defined are described, and the association between screens and display input data items, and display. It reads program development specification data to be associated with the input data items and screen layouts, and the program generation means uses the specification data to automatically execute the program of the user interface application. A program is repeatedly developed while the specification and the contents of the above two associations are changed.
  • a user interface is provided by using specification data corresponding to a screen transition diagram in a format devised as specification data for program development, that is, a format in which screens and processes are alternately described. Automatic generation of application program or execution of application processing.
  • FIG. 1 is a block diagram showing the principle configuration of a user interface application development device according to the present invention.
  • Figure 2 is a diagram showing an overview of definitions for developing user interface applications.
  • FIG. 3 is a diagram showing an example of a screen transition definition.
  • FIG. 4 is a diagram showing an example of the screen layout definition in the screen transition definition. .
  • FIG. 5 is a diagram showing an example of a business flow definition.
  • FIG. 6 is a diagram showing an example of the screen item definition.
  • FIG. 7 is an explanatory diagram of the minimum required screen transition definition when the definition is omitted.
  • FIG. 8 is an explanatory diagram of an example of screen transition when omission is performed.
  • FIG. 9 is an explanatory diagram of automatic generation of a user interface application.
  • FIG. 10 is a basic flowchart of a program creation process using an automatic generation tool.
  • FIG. 11 is a diagram illustrating the structure of an automatically generated application.
  • FIG. 12 is a diagram for explaining an operation form in which processing is performed while interpreting a definition field.
  • FIG. 13 is an explanatory diagram of external specification document generation by the specification generation tool.
  • FIG. 14 is a basic flowchart of the external specification generation process.
  • Figure 15 is an explanatory diagram of how the debug tool detects the location of instruction execution.
  • FIG. 16 is an explanatory diagram of test data generation and test execution operations.
  • FIG. 17 is an explanatory diagram of the operation of detecting the range of influence of definition modification.
  • Figure 18 is an explanatory diagram of iterative development of the user interface application. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a schematic diagram of the user interface application development device of the present invention.
  • FIG. 2 is a block diagram of a physical configuration.
  • a development device 1 includes a specification data reading unit 2 and a program generation unit 3.
  • the specification data reading unit 2 corresponds to a screen transition diagram of a format in which the screen and the processing are described alternately, associates the screen with the display input data item, and associates the display input data item with the screen layout.
  • the program generation means 3 reads the specification data for program development, for example, the specification data written in UML language, and associates the specification data with the business flow definition diagram. It is used to automatically generate a platform-dependent format user interface application program using, for example, an automatic generation tool for Java Server Pages (JSP) / Service.
  • JSP Java Server Pages
  • JSP / Servlet performs Web server processing in the Java language, and sends an HTML file to the Web browser.
  • the user interface application development device 1 can further include a constraint condition check unit (not shown).
  • the constraint condition check unit checks the constraint condition provided corresponding to the display input data item, and prohibits the transition from the screen to the process on the screen transition diagram when the condition is not satisfied. In this case, Information for designating the check location of the constraint condition is provided corresponding to the constraint condition, and the constraint condition check unit can perform the check in response to the designation.
  • the user interface application development device 1 can further include an application verification unit (not shown).
  • the application verification unit generates test data corresponding to the display input data items, and inputs the test data into the generated program to verify the program.
  • the application verification unit saves the verification result of the program, and when the specification data for program development is changed, It is also possible to detect the impact range of the application change by comparing it with the result of verifying the changed program using the same test data.
  • the user interface application development device 1 can further include a screen generation unit (not shown).
  • the screen generation unit automatically generates a screen according to a predetermined rule regarding a screen layout corresponding to the display input data items.
  • the user interface application development device 1 may further include an external specification generation unit.
  • the external specification generation unit corresponding to the specification data for program development, filters the information of the internal specification representing the model of the user interface application according to a predefined definition, and outputs the external specification.
  • the external specification document is automatically generated together with the additional information for expressing
  • the user interface application development device can further include a debugging unit.
  • the debug section debugs the program generated by the program generation section.
  • the program generation section embeds an instruction to issue an event in the program when automatically generating a program, and the debug section executes the event during debugging.
  • Receiving and embedding the event issue instruction can be identified as the program execution location.
  • the program generation unit sets information indicating a breakpoint as a process corresponding to the event issuance, and the debug unit When an event is detected, the part corresponding to the breakpoint can be highlighted on the screen.Furthermore, the data handled at the location where the event issue instruction is embedded is embedded in the event, and the data and specification data are displayed.
  • the user interface application development device of the present invention may include a processing execution unit instead of the program generation unit 3 of FIG.
  • the processing execution unit interprets the specification data read by the specification data reading unit 2, and executes the processing of the user interface application according to the interpretation result.
  • the user interface application development device 1 includes a specification data reading unit 2 and a program generation unit 3 as in FIG.
  • the specification data reading unit 2 corresponds to a screen transition diagram of a format in which transitions between a plurality of screens in which corresponding processes are defined are described, and the association between the screens and the display input data items.
  • the program development specification data to be associated with the display input data items and the screen layouts.
  • the program generation unit 3 uses the specification data to execute the user interface application.
  • the program is automatically generated.
  • FIG. 2 is an overall view of a definition for developing a user interface application in the present embodiment.
  • the definition consists of screen transition definition 11, business flow definition 12, screen item definition 13, and screen layout definition 14, and business flow definition 12 consists of external components 15 and intermediate data Related to Definition 16
  • Screen transition definition 1 1 includes initial state and final state (not shown), screen activity 21, processing activity 22, parameter 23, transition between activities 24, flow between parameters 25, and overall screen transition definition 1 1
  • the screen transition state 26 is used to represent the state of the screen transition by the screen transition activity 26 that indicates the partial screen transition in the.
  • the initial state and the final state define the position where the screen transition starts and the position where the screen transition ends, respectively.
  • the screen activity 21 defines the reference processing of the screen layout definition 14 and the input parameters and output parameters. And display the screen using the screen layout based on the input parameters. For example, data input from the client (user) side is assigned to output parameters.
  • the processing activity 2 2 has the reference processing of the business flow definition 1 2, the input parameter and the output parameter, and passes the input parameter to the business flow to request the execution of the processing.
  • the business Substitute the data output from the flow into output parameters.
  • Parameter 23 indicates a data object, and is defined by screen item definition 13.
  • the flow is defined from output parameters to input parameters, and the contents of output parameters are substituted for input parameters as described later.
  • the transition between activities 24 has the following rules. 1 From the initial state, it is possible to transit only to processing activity 22. 2 From screen activity 21 you can transition to processing activity 22 only.
  • An action guard can be attached to this transition as a condition. For this condition as an action guard, by assigning a button pressed on the client side when an event is sent from the client side to the server side, it is identified whether or not the guard condition is satisfied. Also, if the guarded transition of "Retry Error" is described as described later, the target to be retried has the same screen activity.
  • the screen transition activity 26 refers to a partial other screen transition diagram in the screen transition definition 11 and has an input parameter and an output parameter.
  • the contents entered in the input parameters are referred to, that is, the input parameters of the screen transition diagram as another figure.
  • the output parameter at that time is substituted for the output parameter of the screen transition activity 26.
  • Screen item definition 13 defines items for screen display.
  • An item is composed of a name and a type.
  • Types include strings, integers, real numbers, dates, enumerations, and complex types, and can be defined separately.
  • screen item constraint definition 28 is defined as needed.
  • the following constraint items can be set for each item type. The constraints are not limited to those listed here, because they can be defined externally if needed.
  • Restrictions on strings include minimum number of digits, maximum number of digits, character type restrictions, and required input.
  • Mandatory input specifies whether the character string must be input.
  • Integers and real numbers have restrictions such as minimum value limit, maximum value limit, and required input. Dates have restrictions such as whether they exist and required input.
  • the business flow definition 1 2 in Fig. 2 is the initial state and final state, not shown, logic activity 31, not-shown decisions and parameters 32, transition between activities 33, flow between parameters 34, and business flow definition Activity 35 is defined, and details of processing are expressed.
  • the initial state and the final state define the start and end positions of the business flow, respectively.
  • Logic activity 31 basically corresponds to the process of referring to the external component 15, and the input and output parameters With The input parameter is passed to the external component 15 to request the execution of the process, and the output of the external component 15 is assigned to the output parameter when the process is completed.
  • Parameter 32 indicates a data object and is defined by screen item definition 13 or intermediate data definition 16.
  • the transition between activities 33 has the same rules as the transition between activities 24 in the screen transition definition 11.
  • the rules are
  • logic activity 31 1 From the initial state, logic activity 31 1, condition judgment, business Sflow activity 35 Can transition to any of the final states. From the logic activity 31, a transition similar to the transition from the initial state can be performed. Furthermore, the same transition as the initial state can be made from the condition judgment.
  • the external component 15 is referenced from the logic activity 31 inside the business flow definition 12 and describes the program code corresponding to the required processing.
  • the intermediate data definition 16 the items of intermediate data used inside the business flow definition 12 are defined.
  • Comment information can be added as an additional item to all the model information described above.
  • This comment information can be described in an atypical format such as a natural language, and can be described or referenced at any stage of development.
  • Figures 3 and 4 are screen transition definitions
  • Figure 5 is a business flow definition
  • Figure 6 is an illustration of screen item definitions.
  • the description will be made based on a method using an activity diagram as a description format of the specification data.
  • a table format may be used as the description format.
  • a screen transition is defined between the initial state 41 and the final state 48 or 49.
  • the screen transition is basically defined in such a form that the transition is made alternately between the processing activity and the screen activity.
  • the transition from the initial state 4 1 to the processing activity 4 2 of "Initialize” is described, and then the "Input The transition to Screen activity 43 of "Screen” is performed.
  • FIG. 4 is an explanatory diagram for associating input data items with screen layouts on the screen transition definition diagram. In the figure, it is shown that the layout of "head, jsp" and “body, jsp” are defined for two input data items of the activity of "Order”, respectively.
  • Figure 5 is an example of a business flow definition diagram. This diagram corresponds to the rental car business, for example.
  • the transition from the initial state 50 to the logic activity 51 of "Check Conditions” is performed first, and in response to this transition, the initial state output parameters 56 to the input of the logic activity 51 are performed. It is shown that the flow between parameters for parameters 57, that is, substitution is performed. Also logic activity When transitioning from 51 to the logic activity 52 of "Search", the output parameter of the logic activity 51 is substituted into the input parameter of the logic activity 52.
  • Figure 6 is an example of a screen item definition. Intermediate data items are defined in the same format.
  • the left side of the figure is an example of a class diagram showing composition aggregation, and the right side is a class diagram showing an example of a composite type. In these class diagrams, for example, operations (methods) on the object "Search Condition" are omitted.
  • FIG. 2 shows the whole picture. For example, in the initial stage of the development of the user interface application, a part of the definition can be omitted and described.
  • FIG. 7 is an explanatory diagram of the minimum required screen transition definition when such omission is performed.
  • the screen transition definition 11 is represented only by the screen activity 21 and the transition 24 between activities.
  • FIG. 8 is an explanatory diagram of an example of screen transition when such omission is performed.
  • the formal order registration and formal order confirmation screens are displayed according to whether the action is formal or implicit. It is defined whether the transition is made and the state transitions to the final state, or whether the transition to the screen activity for unsolicited order registration and unsolicited order confirmation is performed and the transition to the final state is performed. It is.
  • the contents not described shall be generated according to the following rules.
  • the screen layout definition 14 for example, it is assumed that there is only an event generation button for designating an action on the client side, and when a screen item definition 13 is created, the corresponding screen layout is defined. Is automatically generated according to a predetermined rule.
  • processing activity 2 2 inside the screen transition definition 1 it is assumed that there is an activity that does nothing, and such processing is performed for the screen transition activity 26, that is, referring to other screen transition diagrams. It is not used, and it is assumed that there is no data for parameter 23, and there is no flow for parameter 25, since there is no parameter.
  • screen item definition 13 it is generally assumed that there is no display input item, and therefore it is assumed that there is no screen item constraint definition 28. It is assumed that there is nothing in the business flow definition 1 and 2 as a business flow, and that there is no business flow in the intermediate data definition 16 and that there is no intermediate data to be used. By supplementing various definitions from such a minimum state, the definitions can be completed little by little, and the development of user interface applications can be advanced in stages.
  • FIG. 9 is an explanatory diagram of such automatic generation.
  • a Web application 63 a for JSP / Servlet is created for the definition body 61 by using, for example, the automatic generation tool 62 a for JSP / Servlet as described above.
  • a Web application 6 3 b is created by using an automatic generation tool 6 2 b for Active server Pages (ASP) .NET as one of the mechanisms for generating pages on a Web server. .
  • ASP Active server Pages
  • a client application 63c for the Java Applet is created by using the automatic generation tool 62c for the Java Applet, which is a Java client software downloaded and executed on the browser.
  • the automatic generation tool for Visual Basic as a basic programming language to easily create a graphic user interface
  • a client application for Visual Basic can be created. 3d is created.
  • FIG. 10 is a basic flow chart of a user interface application program creation process using such an automatic generation tool.
  • a definition body
  • the definition body is, for example, a partial model in the UML language, for example, a Java language.
  • the model is converted to an object model, and in step S3, a validity check is performed to determine whether the model is valid. Until step S3, the processing does not depend on the platform.
  • step S4 the internal model structure is converted into a target, that is, a structure that depends on the platform, for example, a structure as shown in Fig. 11 described below, and in step S5, each file as a program is output. Being processed To end.
  • one screen transition definition is converted to one business class.
  • the screen activity corresponds to the screen display by JSP, the processing activity is converted into the call of the corresponding business class method, and the screen transition activity is the call of another screen transition.
  • the screen activity parameters correspond to the data input and displayed on the screen, and are converted into Data Bean objects to be input to JSP.
  • the business class also corresponds to the input / output data and is converted to a Data Bean class. Transitions between activities are converted into rules for screens to be displayed and the order of processing, and data relationships are created for flows between parameters.
  • the item definition itself is converted to a Data Bean class
  • the above check site is a script language on the Web client side, depending on whether the check site is on the client side or the server side. Converted to Java Script or item check class.
  • the business flow is transformed into one business class method.
  • a call code for the specified external component is created in the business class method, and a call code is created for the business flow activity as well.
  • Parameters are set as activity data, For the transition between activities, the order is generated, and for the flow between parameters, a data association is created.
  • Figure 11 shows the structure for explaining the operation of the application automatically generated in this way, that is, it corresponds to the MVC model of models, views, and controllers.
  • the data force is set to the SData Bean class 69 (corresponding to a data folder), and the business class 68 is operated.
  • the business class 68 executes processing by calling the external component 71, etc., reads / writes data of the Data Bean class 69 during processing, and writes data of the processing result.
  • JSP 66 is for screen display, and performs screen display while reading data of Data Bean class 69.
  • the Java Script 67 for item check runs on the browser side, and if there is a violation of the restriction items, it is detected as an error.
  • the constraint items can be checked by the item check class 70.
  • the send button is pressed in the browser.
  • Java Script 67 for item check checks data contents. Description is an error, if there is a transition "R e the try Error", displays an error message without transmission.
  • a request is sent from the browser to the server 65.
  • Control is transferred to JSP 66 according to the screen transition definition.
  • JSP 66 Get data from Data Bean class 69 and display it.
  • a definition is used instead of automatically reading a platform-independent definition body using a platform-dependent automatic generation tool and automatically generating a user interface program. It is also possible to perform actual processing as an application while interpreting the body 61 as it is.
  • FIG. 12 is an explanatory diagram of the operation format in such a case. In this figure, the screen layout definition 76, screen transition definition 81, business flow definition 82, item constraint definition 83, screen item definition 84, and intermediate data item definition 85 are given as they are.
  • Java Script 67 for item check [ava Script generation engine 77, Business class engine 78 to replace business class 68, Data control engine 79 to replace Data Bean class 69, Item check class 7
  • An item check engine 80 replacing 0 is provided, and an operation corresponding to a compiler and an interpreter is executed.
  • a screen layout can be automatically generated from the screen item definition.
  • Screen item definitions include types such as character strings, integers, real numbers, dates, enumerations, and complex types, as described in Figure 2, and by associating these types with display components in the screen layout. Automatic generation is possible. When other types are defined, it is possible to deal with that type by defining the rules for screen layout generation for each type. In the present embodiment, when the type is a character string, an integer, a real number, or a date, by associating the type with a text field in a screen layout, a radio button for enumeration, and a table for a complex type. This enables automatic generation of screen layout.
  • a document of an external specification is generated from a definition body defining a specification by using a specification generation tool.
  • a specification generation tool there are the following differences between the internal specification for executing an application and the external specification for providing to customers.
  • External specifications require additional information, such as specifications requested by customers and authors of external specifications. You can add this information using the comment field provided in the definition body.
  • the external specification not all information of the definition field corresponding to the internal specification is necessarily required, and such information can be filtered by the specification generation tool.
  • external specifications require layout information specific to the customer, and such information can be added using the layout definition of the external specifications.
  • the atypical additional information is stored as model extension information in the storage device of the computer as the user interface application development device, combining the external specification document and the internal specification document as one model information. You can also.
  • Figure 13 is an explanatory diagram of the automatic generation of an application by the automatic generation tool and the generation of an external specification document by the specification generation tool.
  • the external specification 89 can be automatically generated by the specification generation tool 88 from the external use layout definition 87 simultaneously with the automatic generation of the application 63 from the definition body 61 by the automatic generation tool 62 described in FIG. it can.
  • FIG. 14 is a basic flowchart of this external specification generation processing.
  • steps S1 and S2 the definitions are the same as in FIG. Reading and conversion to the internal model are performed. Then, in step S3, a validity check is performed, and the processing independent of the platform is completed at this point.
  • step S7 the external specification layout definition 87 is read, and in step S8, the internal model is inserted into the layout.
  • the screen layout for example, the screen transition diagram is inserted into the display area of the figure, and the class information is inserted into the display area of the table.
  • the external specification 89 created in step is output and the processing ends.
  • an event indicating the execution position in the definition is generated every time the execution position in the definition is changed.
  • the instruction to issue is embedded. This makes it possible to detect the location of instruction execution and the value of data attached to an event when executing or debugging a program.
  • Figure 15 is an explanatory diagram of an example of such an execution location detection and breakpoint setting.
  • the application 63 is generated in step 1 using the automatic generation tool 62.
  • an identifier is assigned to each activity and data item in the definition, and when the activity is executed by the generated code, a code for sending the assigned identifier as an event is inserted.
  • An event is issued when the activity is executed by the application 63 in (2).
  • the screen item C is specified in the event, the value of the screen item C is attached to the event and given to the debug tool 91 as shown in the figure.
  • the debug tool 91 receives the event in (3), and can recognize the activity on the definition corresponding to the received identifier.
  • the debug tool 91 can recognize screen items. As shown by 5, since the data value is also attached to screen item C, the data value input from the processing B side can be displayed.
  • test data is generated based on the screen item definition and screen item constraint definition, and the data is automatically entered when the screen is displayed, thereby automatically executing the test. Can be performed.
  • FIG. 16 is an explanatory diagram of this test execution method.
  • the application Q 63 is automatically generated by the automatic generation tool 62 using the definition fields P 61 to 1. 'Corresponding to the definition field P61, the test data generation tool generates test data R92 from screen item C and screen item constraint D in (2).
  • Screen item C represents the output from screen A (input by the user) and the input to process B, and consists of items E, F, and G. Restrictions are set for each item, and the restrictions are defined by screen item restrictions D.
  • test data R92 calls the controller / servlet on the application Q62.
  • test data R The control Servlet receives the data (test data R) from the screen according to the definition of the definition field, calls the item check class with 4, and determines whether the contents of items E, F, and G satisfy the constraints. I do. '
  • the generation of test data shall be performed according to predetermined rules. Rules are determined for each type. If a type for which no rule is defined is defined, test data of that type can be generated by defining the rule accordingly. In addition, the rules described below can be changed or added as necessary. For strings, the empty string, the (minimum digits-1) characters, the (minimum digits) characters, and the (minimum digits + 1) characters Test data such as columns is generated. The first two of them are test data that violates the constraints, and if such test data is used, errors must be detected.
  • test data For restrictions on the maximum number of digits, empty strings, strings with (maximum digits minus 1) digits, strings with (maximum digits) digits, strings with (maximum digits + 1) digits, etc.
  • test data For test data, test data of character strings that conform to character type restrictions and character strings that do not conform are created, and empty character strings and non-empty character strings are generated for mandatory input restrictions. Test data is generated.
  • test data of (minimum-1), (minimum), and (minimum + 1) correspond to the minimum value constraint and the maximum value constraint.
  • Test data of (maximum value 1), (maximum value), and (maximum value + 1) are also not entered for required input constraints, that is, no data is entered, and any The test data of the numerical value of is used.
  • test data for February 29 test data for dates that are not entered or exist for mandatory input constraints.
  • unselected that is, Test data with no selection, single selection, two selections, and all selections are unselected, single selection, two selections, and all selections for required input constraints Test data is created.
  • test data is generated by applying the respective restrictions to the contained items.
  • the detection of the affected area when the specification data, etc. is changed will be described.
  • the test data it is possible to detect the affected area after the definition is modified.
  • the instruction execution position and data at the event issuance timing are stored, and the same test data is used after the definition is modified.
  • the affected area of the definition modification can be detected by comparing the execution position of the instruction and the stored value at the same event issuance timing with the stored value.
  • FIG. 17 is an explanatory diagram of the operation of detecting the influence range after such a definition field correction.
  • the application Q62 is automatically generated and the test data R92 is generated from the definition field P61 in 1, the test data R92 is called in 2, and the application Q62 is generated. Execution takes place. Then, at the event issuance timing in (3), the instruction execution position and data are passed to the debug tool S91, and in (4) the position and data are saved as the execution result T.
  • the definition field P is modified by 5, and the definition field P'61 is obtained.
  • An application Q '62' is generated from the definition field modified in 6, and thereafter, test 1 and data R92 are called in the same manner as before modification in ⁇ and ⁇ , and the instruction
  • the execution position and data are passed to the debug tool S91, and if the data is different by comparing with the previous execution result T at 9, the execution position of the instruction and the data content at that time are defined.
  • P '6 1 Is displayed as 10 as the position of.
  • analysis is performed on how to define the definition body, for example, from the customer's requirements.
  • a definition body is created based on the analysis results obtained in the analysis fuse.
  • application / test data is generated from the definition body, and the test data is stored in the application generated in the final verification phase. It is submitted and the application is tested. Since the results of the test can be indicated as the position of the definition body, if any modification is necessary, which part of the definition body should be changed.
  • the minimum defined state described in FIG. 7, that is, the smallest state, in which the analysis phase starts from the innermost is shown as a solid line rotating clockwise.
  • the size of the definition field increases, etc., and development is terminated when it is determined in the final verification phase that no modification is necessary.
  • the reason why the line of the implementation phase is thin is that it is not always necessary to actually develop the program code using the automatic generation tool in this embodiment, as described above. In this way, by reading various definitions, interpreting and executing them, it is not necessary to generate the program code itself.
  • the screen and the processing are alternately described.
  • This facilitates the development and maintenance of user interface applications, supports the debugging of definitions such as specification data, and supports analysis, design, implementation, and verification. This makes it possible to repeat the phases and develop it repeatedly, greatly contributing to the efficiency of program development and the improvement of maintainability.
  • the present invention can be used, for example, in a software development industry that develops a program for a user interface application such as a Web application and provides the program to a business company or the like targeted for a user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

ユーザインタフェースを持つアプリケーションプログラムを自動生成し、プログラムの開発効率と保守性を上げることを目的とする。アプリケーション開発装置は、画面と処理とが交互に記述された形式の画面遷移図に相当し、画面と表示入力データ項目との関連付け、および表示入力データ項目と画面レイアウトとの間の関連付けがなされた仕様書データを読み込む仕様書データ読込部と、その仕様書データを用いてアプリケーションプログラムを自動生成するプログラム生成部とを備える。

Description

明細書 ユーザインタフェースアプリケーショ ン開発装置および開発方法 技術分野
本発明はプログラムの開発および実行方式に係わり、 更に詳しくはュ 一ザインタフエースを持つアプリケーションのプログラムを自動生成す ることを可能と し、 プログラムの開発効率と保守性を上げるユーザィン タフエースアプリケーショ ン開発装置、 および開発方法に関する。
背景技術
近年ソフ トウエアの設計方法として、 オブジェク ト指向技術を用いた 方法が広範に用いられている。 特に U M L (ユニファイ ド ' モデリ ン グ ' ランゲージ) というプラッ トフォームに依存しない言語と、 ォブジ ェク ト指向言語、 例えば J a V a とを組み合わせた W e bアプリケーシ ョンの開発方式が注目されている。
このようなソフ トゥェァの開発方法と しては、 できるだけプログラム あるいはその部品の自動生成が可能な方法が望まれている。 このような プログラムの自動生成については次のような従来技術がある。
特許文献 1
特開平 6— 2 3 0 9 4 9号公報 「プログラム自動生成装置」
特許文献 2
特開平 1 1一 2 3 7 9 8 2号公報 「ソフ トウエア部品開発支援装置」 特許文献 3
特開 2 0 0 0— 3 3 9 1 4 9号公報 「状態遷移モデル作成方法および 装置」 特許文献 4
' 特開 2 0 0 0— 1 1 6 9 1 1号公報 「オブジェク ト指向プログラムの 自動生成装置」
特許文献 1には、 制御対象システムを構成するュニッ トの変更にあた つて、 変更のなかったユニッ トに関する仕様を再利用することができ、 ソフ トウェアの生産効率を向上させ、 またュニッ トの数が多くなった場 合にもコンパク トで簡明な仕様記述を行なうことができるプログラム自 動生成装置が開示されている。
特許文献 2には、 オブジェク ト指向ソフ トウェアにおいて再利用可能 な部品の開発を行うために、 ある問題領域のアプリケーショ ンに共通と なる要求仕様を分析して得られる仕様の不変 Z変動部に関する情報を利 用して、 再利用可能な部品の開発を支援する技術が開示されている D 特許文献 3には、 状態遷移モデルの作成において状態抽出、 入カイべ ント抽出、 アクショ ン抽出、 および出力イベント抽出に必要とされる時 間を短縮することができる技術が開示されている。
特許文献 4には、 オブジェク ト指向プログラムの開発において静的部 分のプログラムコードの自動生成と共に動的部分のプログラムコードの 自動生成を行なって、 ソフ トウエア開発の作業効率を向上させることが できるプログラムの自動生成装置が開示されている。
しかしながらまず特許文献 1では、 状態遷移モデルでユニッ ト間の関 係を記述しなければならない。 例えばユーザィンタフェースアプリケー シヨンにおける、 クライアント側の画面と表示データ項目、 画面レイァ ゥ トの関係を状態遷移モデルで記述しなければならず、 開発に手間がか かるという問題点があった。
特許文献 2では、 要求仕様の分析モデルが設計情報に変換され、 ォブ ジェク ト指向のソフ トウエア部品が開発されるが、 設計モデルの定義に よって、 例えば W e bアプリケーショ ンのプログラムに自動変換するこ とは困難であった。
特許文献 3では、 状態遷移表に加えて、 更にメ ッセージシーケンスチ ヤートを記述する必要があり、 プログラムの自動生成までには手間がか かるという問題点があった。
特許文献 4では、 動的部分の定義を抽出し、 ステートマシンツリーを 構 した後に、 静的部分と統合してプログラムコードを生成する必要が あり ! 、 最終プログラム製品の開発までには、 手数を要するという問題点 があった。
'
発明の開示
本発明の目的は、 ユーザィンタフェースアプリケーションの開発にお いてプログラム開発用仕様書データの作成に工夫を加えることによって、 ユーザインタフェースアプリケーションプログラムの自動生成を容易に す 開発装置、 および開発方法を提供することである。
本発明のユーザィンタフェースアプリケーション開発装置は、 仕様書 データ読み込み手段と、 プログラム生成手段とを備える。
仕様書データ読み込み手段は、 画面と処理とが交互に記述される形式、 例えば 1つの画面と 1つ以上の処理とが交互に記述される形式の画面遷 移図に相当し、 画面と表示入力データ項目との間の関連付け、 および表 示入力データ項目と画面レイアウ トとの関連付けがなされたプログラム 開発用仕様書データを読み込むものであり、 プログラム生成手段は、 こ の仕様書データを用いて、 ユーザィンタフェースアプリケーショ ンのプ 口グラムを自動生成するものである。
また本発明のユーザインタフェースアプリケーショ ン開発装置は、 仕 様書データ読み込み手段と、 処理実行手段とを備える。 仕様書データ読み込み手段は、 前述と同様のプログラム開発用仕様書 データを読み込み、 処理実行手段は読み込まれた仕様書データを解釈し、 その解釈結果に対応して、 ユーザインタフェースアプリケーションの処 理を実行するものである。
更に本発明のユーザインタフェースアプリケーション開発装置は、 仕 様書データ読み込み手段とプログラム生成手段とを備える。
仕様書データ読み込み手段は、 それぞれ対応する処理が定められる複 数の画面の間での遷移が記述された形式の画面遷移図に相当し、 画面と 表示入力データ項目との間の関連付け、 および表示入力データ項目と画 面レイァゥトとの間の関連づけがなされるべきプログラム開発仕様書デ ータを読み込むものであり、 プログラム生成手段は、 その仕様書データ を用いて、 ユーザインタフェースアプリケーショ ンのプログラムを自動 生成するものであり、 仕様と前述の 2つの関連づけの内容が変更されな がら、 プログラムが反復的に開発される。
以上のように本発明によれば、 プログラム開発用仕様書データとして 工夫された形式、 すなわち画面と処理とが交互に記述される形式の画面 遷移図に相当する仕様書データを用いて、 ユーザインタフェースアプリ ケーシヨンのプログラムの自動生成、 またはアプリケーションの処理の 実行が行われる。
'
図面の簡単な説明
図 1は、 本発明のユーザィンタフェースアプリケーショ ン開発装置の 原理構成ブロック図である。
図 2は、 ユーザインタフェースアプリケーション開発のための定義の 全体像を示す図である。
図 3は、 画面遷移定義の例を示す図である。 図 4は、 画面遷移定義における画面レイァゥト定義の例を示す図であ る。 .
図 5は、 ビジネスフロー定義の例を示す図である。
図 6は、 画面項目定義の例を示す図である。
図 7は、 定義の省略を行なう.場合に最低限必要な画面遷移定義の説明 図である。
図 8は、 省略が行なわれる場合の画面遷移の例の説明図である。 図 9は、 ユーザインタフェースアプリケーションの自動生成の説明図 である。
図 1 0は、 自動生成ツールを用いたプログラム作成処理の基本フロー チヤ一トである。
図 1 1は、 自動生成されたアプリケーショ ンの構造を説明する図であ る。
図 1 2は、 定義体を解釈しながら処理を行なう動作形式を説明する図 である。
図 1 3は、 仕様生成ツールによる外部仕様文書生成の説明図である。 図 1 4は、 外部仕様生成処理の基本フローチャートである。
図 1 5は、 デバッグツールによる命令実行箇所などの検出の説明図で ある。
図 1 6は、 テス トデータ生成とテスト実行動作の説明図である。 図 1 7は、 定義体修正の影響範囲検出動作の説明図である。
図 1 8は、 ユーザィンタフェースアプリケーションの反復開発の説明 図である。 発明を実施するための最良の形態
図 1は本発明のユーザィンタフェースアプリケーション開発装置の原 理構成ブロック図である。 同図において開発装置 1は、 仕様書データ読 み込み部 2と、 プログラム生成部 3とを備える。
仕様書データ読み込み部 2は、 画面と処理とが交互に記述される形式 の画面遷移図に相当し、 画面と表示入力データ項目との間の関連づけ、 および表示入力データ項目と画面レイァゥ トとの間の関連づけがなされ たプログラム開発用仕様書データ、 例えば U M L言語で書かれた仕様書 データを読み込むものであり、 プログラム生成手段 3は、 その仕様書デ ータ、 および例えばビジネスフロー定義図などを用いて、 プラッ トフォ ームに依存した形式のユーザィンタフェースアプリケーショ ンプロダラ ムを、 例えば Java Server Pages (JSP) /Servl et用の自動生成ツールを用 いて自動生成するものである。
ここで J S P /Servl etは J a v a言語により W e bサーバ処理を行 レ、、 H T M L形式のファイルを W e bブラウザに送るものである。
ユーザインタフェースアプリケーション開発装置 1は、 図示しない制 約条件チェック部を更に備えることも可能である。 制約条件チェック部 は、 表示入力データ項目に対応して設けられる制約条件をチェックし、 その条件が満足されない時に画面遷移図上での画面から処理への遷移を 禁止するものであり、 この場合、 制約条件に対応して制約条件のチエツ ク箇所を指定する情報が与えられ、 制約条件チェック部がその指定に対 応してチェックを行なうことも可能である。
またユーザィンタフヱースアプリケーション開発装置 1は、 更に図示 しないアプリケーショ ン検証部を備えることもできる。 アプリケーショ ン検証部は表示入力データ項目に対応してテス トデータを生成し、 その テス トデータを生成されたプログラムに投入してプロダラムの検証を行 なうものである。 この場合、 アプリケーショ ン検証部がプログラムの検 証結果を保存し、 プログラム開発用仕様書データなどが変更された時に、 同一のテス トデータを用いて変更後のプログラムを検証した結果と比較 して、 アプリケーション変更の影響範囲を検出することもできる。
更にユーザインタフェースアプリケーション開発装置 1は、 図示しな い画面生成部を更に備えることもできる。 画面生成部は、 表示入力デー タ項目に対応して、 あらかじめ定められた画面レイアウ トに関するルー ルに従って画面生成を自動的に行なうものである。 またユーザィンタフ エースアプリケーション開発装置 1は、 外部仕様生成部を更に備えるこ ともできる。 外部仕様生成部は、 プログラム開発用仕様書データに対応 し、 ユーザィンタフェースアプリケ——ンョンのモデルを表す内部仕様の 情報を、 あからじめ定められた定義に従ってフィルタ リ ングし、 外部仕 様を表すための追加情報と合わせて外部仕様文書を自動生成するもので ある。
ユーザインタフェースアプリケーション開発装置は、 更にデバッグ部 を備えることもできる。 デバッグ部はプログラム生成部によって生成さ れたプログラムのデバッグを行なうものであり、 プログラム生成部がプ 口グラムの自動生成にあたってプログラム内にイベントを発行する命令 を埋め込み、 デバッグ部がデバッグ時にそのイベントを受け取り、 ィべ ント発行命令の埋め込み箇所をプログラムの実行箇所として識別するこ ともでき、 またプログラム生成部がィベント発行に対応する処理と して ブレークボイントを示す情報を設定し、 デバッグ部がその情報を検出し た時、 画面上でそのブレークボイントに対応する部分を強調することも でき、 更にィベントにそのィベン ト発行命令の埋め込み箇所で扱われる データを埋め込み、 そのデータと仕様書データを表す図上でのクラスと を識別子によって対応づけ、 デバッグ部がイベン トを受け取った時、 そ のデータの種類と値とを検出することもできる。 この場合、 デバッグ部 が検出されたデータの値を保存し、 アプリケーションが変更された後の デバッグ時に同一箇所のデータと比較し、 アプリケーション変更の影響 範囲を検出することもできる。
次に本発明のユーザィンタフェースアプリケーション開発装置は、 図 1のプログラム生成部 3に代わって処理実行部を備えることもできる。 処理実行部は仕様書データ読み込み部 2によって読み込まれた仕様書デ ータを解釈し、 その解釈結果に対応して、 ユーザインタフェースアプリ ケーションの処理を実行するものである。
またユーザィンタフェースアプリケーション開発装置 1は、 図 1にお けると同様に、 仕様書データ読み込み部 2と、 プログラム生成部 3とを 備える。 但し、 仕様書データ読み込み部 2は、 それぞれ対応する処理が 定められる複数の画面の間での遷移が記述された形式の画面遷移図に相 当し、 画面と表示入力データ項目との間の関連づけ、 および表示入力デ ータ項目と画面レイァゥ トとの間の関連づけがなされるべきプログラム 開発仕様書データを読み込むものであり、 プログラム生成部 3はその仕 様書データを用いてユーザィンタフェースアプリケーションのプログラ ムを自動生成するものである。 そして前述の対応する処理の内容などを 変 しながら、 仕様書データ読み込み部 2とプログラム生成部 3との動 作を操り返すことによって、 例えば分析、 設計、 実装、 および検証のフ エーズを繰り返すプログラムの反復開発を行なうことができる。
次にユーザインタフェースアプリケーションの開発方法として、 画面 と処理とが交互に記述される形式の画面遷移図に相当し、 画面と表示入 力データ項目との間の関連づけ、 および表示入力データ項目と画面レイ アウ トとの間の関連づけがなされたプログラム開発用仕様書データを読 み込み、 その仕様書データを用いて、 ユーザインタフェースアプリケー シヨンのプログラムを自動生成する方法が用いられ、 この方法を実現す るためのプログラムが用いられる。 図 2は本実施形態におけるユーザィンタフエースアプリケーション開 発のための定義の全体像である。 同図において定義は画面遷移定義 1 1、 ビジネスフロー定義 1 2、 画面項目定義 1 3、 および画面レイァゥ ト定 義 1 4によって構成され、 ビジネスフロー定義 1 2は外部コンポーネン ト 1 5、 および中間データ定義 1 6 と関連している。
画面遷移定義 1 1は、 図示しない初期状態と最終状態、 画面ァクティ ビティ 2 1、 処理ァクテイビティ 2 2、 パラメータ 2 3、 ァクティビテ ィ間遷移 2 4、 パラメータ間フロー 2 5、 および画面遷移定義 1 1全体 の中での部分的な画面遷移を示す画面遷移ァクティビティ 2 6によって、 画面遷移の状態を表現するものである。
初期状態と最終状態は、 それぞれ画面遷移が開始される位置と終了す る位置を定義するものであり、 画面ァクティビティ 2 1は画面レイァゥ ト定義 1 4の参照処理と、 入力パラメータ、 出力パラメータを持ち、 入 力パラメータを基に画面レイァゥ トを利用して画面表示を行なう。 例え ばクライアント (ユーザ) 側から入力されたデータは出力パラメータに 代入される。
処理ァクティビティ 2 2は、 ビジネスフロー定義 1 2の参照処理と、 入力パラメ一タ、 出力パラメータを持ち、 入力パラメータをビジネスフ ローに渡して処理の実行を依頼し、 処理が終了した時点でビジネスフロ 一から出力されるデータを出力パラメータに代入する。
パラメータ 2 3はデータオブジェク トを示し、 画面項目定義 1 3によ つて定義される。 関連するパラメータ間フロー 2 5では、 フローが出力 パラメータから入力パラメータに対するものとして定義され、 後述する ように出力パラメータの内容が入力パラメータに代入される。
アクティビティ間遷移 2 4には、 次のようなルールがあるものとする。 ① 初期状態からは処理ァクティビティ 2 2のみに遷移できる。 ② 画面ァクティビティ 2 1からは処理ァクティビティ 2 2のみに遷 移できる。 この遷移には条件としてァクションガードを付けることがで きる。 このアクションガードとしての条件に対しては、 クライアント側 からサーバ側にィベントが送られるにあたってクライアント側で押され るポタンを割り付けることによって、 そのガード条件が満足されたか否 かが識別される。 また画面ァクティ ビティ 2 1力、ら、 後述するように "Retry Error" のガード付き遷移を記述した場合には、 リ.トライとな る対象のターゲッ トは同一の画面ァクティビティとなる。
③ 処理アクティビティ 2 2からは画面アクティビティ 2 1、 または 処理アクティビティ 2 2、 または最終状態のいずれかに遷移できる。 画面遷移アクティビティ 2 6は、 画面遷移定義 1 1の中での部分的な 他の画面遷移図を参照するものであり、 入力パラメータと出力パラメ一 タを持つ。 入力パラメータに入力された内容は参照先、 すなわち別の図 と しての画面遷移図の入力パラメータとなる。 参照先の画面遷移図側で の処理が終了すると、 その時の出力パラメータが画面遷移ァクティビテ ィ 2 6の出力パラメータに代入される。
画面項目定義 1 3は画面表示のための項目を定義するものである。 項 目は名前と型から構成され、 型と しては文字列、 整数、 実数、 日付、 列 挙、 複合型などがあり、 更に別途定義することも可能である。
画面項目定義 1 3によって定義される項目に対しては、 画面項目制約 定義 2 8が必要に応じて定義される。 項目の型毎に次のような制約項目 を設定することが可能である。 制約の必要に応じて外部で定義すること もできるため、 制約はここにあるだけに限らない。
また制約として記述されている条件のチユックを画面上、 すなわちク ライアント側で行なうか、 サーバで行うかを指定することができる。 こ れによってアプリケーションとしてのプログラムの自動生成にあたって どの部分で処理を実行するコードを出力するかが決定される。
文字列に対する制約としては最小桁数制限、 最大桁数制限、 文字種制 限、 および必須入力などがある。 必須入力とは、 その文字列の入力が必 ず必要か否かを指定するものである。
整数と実数については最小値制限、 最大値制限、 必須入力などの制約 があり、 日付については存在するかどうかや、 必須入力などの制約があ る。
列挙については単一選択制限、 すなわち 1つだけを必ず選択するとい う制限や、 必須入力などが、 複合型については内包される項目について それぞれの制約内容が適用される。
次に図 2のビジネスフロー定義 1 2については図示しない初期状態と 最終状態、 ロジックアクティビティ 3 1、 図示しない判断やパラメータ 3 2、 アクティビティ間遷移 3 3、 パラメータ間フロー 3 4、 およびビ ジネスフローァクティビティ 3 5が定義され、 処理の詳細が表現される。 初期状態、 最終状態はそれぞれビジネスフローを開始する位置と終了 する位置を定義するものであり、 ロジックアクティ ビティ 3 1は基本的 に外部コンポーネント 1 5を参照する処理に相当し、 入力パラメータと 出力パラメータとを持つ。 入力パラメータを外部コンポーネント 1 5に 渡して処理の実行を依頼し、 処理が終了した時点で外部コンポーネント 1 5の出力を出力パラメータに代入する。
図示しない判断は、 入力パラメータを持ち、 パラメータの内容に応じ た分岐が行なわれる。 パラメータ 3 2はデータオブジェク トを示し、 画 面項目定義 1 3、 または中間データ定義 1 6によって定義される。
ァクティ ビティ間遷移 3 3は画面遷移定義 1 1におけるァクティビテ ィ間遷移 2 4と同様にルールを持つ。 そのルールとしては
① 初期状態からはロジックアクティビティ 3 1、 条件判断、 ビジネ スフローアクティビティ 3 5、 最終状態のいずれかに遷移できる。 ロジ ックアクティビティ 3 1からは、 初期状態からの遷移と同様の遷移がで きる。 更に条件判断からも、 初期状態からと同様の遷移ができる。
② ビジネスフローアクティビティ 3 5、 すなわち他のビジネスフロ 一を参照するアクティビティからはロジックアクティビティ、 条件判断、 ビジネスフローァクティビティ、 最終状態のいずれかに遷移ができる。 パラメータ間フロー 3 4は、 画面遷移定義 1 1におけると同様に出力 パラメータから入力パラメータに対して定義され、 出力パラメータの内 容が入力パラメータに代入される。
外部コンポーネント 1 5は、 ビジネスフロー定義 1 2の内部のロジッ クアクティビティ 3 1から参照され、 必要な処理に対応するプログラム コードが記述されている。 中間データ定義 1 6ではビジネスフロー定義 1 2の内部で利用される中間的なデータの項目定義が行なわれる。
以上説明した全てのモデル情報に対しては、 追加項目と してコメント 情報を追加することができる。 このコメント情報は例えば自然言語のよ うな非定型の形式で記述でき、 開発の任意の段階でその記述や参照を行 なうことができる。
図 3、 図 4は画面遷移定義、 図 5はビジネスフロー定義、 図 6は画面 項目定義の例の説明図である。 本実施形態では仕様書データの記述形式 と してアクティビティ図を利用した方法を基本として説明するが、 記述 形式と しては例えば表形式を用いることも可能である。
図 3の画面遷移定義図において、 初期状態 4 1 と最終状態 4 8、 また は 4 9 との間で、 画面遷移が定義される。 この画面遷移図では基本的に 処理ァクティビティと画面ァクティビティとの間で交互に遷移が行なわ れるような形式で画面遷移が定義される。 まず初期状態 4 1から " Ini t ial i ze" の処理アクティビティ 4 2への遷移が記述され、 次に " Input Screen" の画面ァクティビティ 4 3への遷移が行なわれる。
この処理ァクティビティ 4 2から画面ァクティビティ 4 3への遷移に あたっては、 処理アクティビティ 4 2の 2つの出力パラメータの、 画面. アクティビティ 4 3の 2つの入力パラメータへの代入を示すパラメータ 間フローが点線によって示されている。 また画面アクティビティ 4 3に 対する "Retry Error" のガード付き遷移のターゲッ トが、 同一の画面 アクティビティ 4 3であることが示されている。
" Input Screen"の処理アクティビティ 4 3からの遷移と しては "act ion=send" であるカヽ "Proceed Error" であるかの条件判断に対応し て "Send" の処理アクティビティ 4 4、 または "Handle Error" の処理 ァクティビティ 4 6のいずれかへの遷移が行なわれる。
更に "Send" の処理アクティビティ 4 4からは "result" の内容によ つて "Result Screen" の画面ァクティビティ 4 5、 または "Handl e Er ror" の処理アクティビティ 4 6への遷移が行なわれ、 "Handl e Erro r" の処理アクティビティ 4 6からは "Error Screen" の画面ァクティ ビティ 4 7への遷移が行なわれる。
図 4は画面遷移定義図上での入力データ項目と画面レイァゥ トの関連 づけの説明図である。 同図においては " Order" のアクティビティの 2 つの入力データ項目に対してそれぞれ "head, j sp" と "body, j sp" の レイァゥ トが定義されていることが示されている。
図 5はビジネスフロー定義図の例である。 この図は例えばレンタカー のビジネスに対応する。 同図においては初期状態 5 0から "Check Cond iti ons" のロジックアクティビティ 5 1への遷移がまず行なわれるが、 この遷移に対応して初期状態出力パラメータ 5 6からロジックァクティ ビティ 5 1の入力パラメータ 5 7に対するパラメータ間フロー、 すなわ ち代入が行なわれることが示されている。 またロジックアクティビティ 5 1力 ら "Search" のロジックァクティビティ 5 2への遷移にあたって も、 ロジックアクティ ビティ 5 1の出力パラメータ 5 8力 ロジックァ クテイビティ 5 2の入力パラメータに代入される。
条件判断 5 3の判断結果によって、 結果 5 4が成功である場合には "Edi t Header A" のロジックァクティ ビティを経由して、 結果 5 4が 終了状態 5 5に与えられる。 また結果が失敗である場合と、 ロジックァ タティビティ 5 1で例外が生じた場合には " Edit Header B" のロジッ クアクティビティを経由して、 終了状態 5 5への遷移が行なわれる。 い ずれの場合にも、 終了状態入力パラメータ 5 9が与えられる。
図 6は画面項目定義の例である。 中間データ項目も同じ形式で定義さ れる。 同図左側はコンポジション集約を示すクラス図の例であり、 右側 は複合型の例を示すクラス図である。 これらのクラス図において、 例え ば "Search Condition" というオブジェク トに対する操作 (メソッ ド) は省略されている。
図 2で説明した定義は全体像を示すものであり、 例えばユーザインタ フェースアプリケーションの開発の初期の段階では一部を省略して記述 することが可能である。 図 7はそのような省略を行なう場合に最低限必 要な画面遷移定義の説明図である。 同図において画面遷移定義 1 1は、 画面ァクティビティ 2 1 とァクティビティ間遷移 2 4だけによつて表現 されている。
図 8はこのような省略が行なわれる場合の画面遷移の例の説明図であ る。 同図においては初期状態から受注種別選択の画面ァクティビティへ の遷移が行なわれた後に、 ァクションが正式であるか内示であるかに対 応して、 正式受注登録、 正式受注確認の画面への遷移が行なわれて最終 状態に遷移するか、 または内示受注登録、 内示受注確認の画面ァクティ ビティへの遷移が行なわれて最終状態への遷移が行なわれるかが定義さ れる。
図 7のように定義の省略を行なう場合、 記述されない内容は以下のル ールに従って生成されるものとする。 画面レイアウ ト定義 1 4について は、 例えばクライアント側でァクションを指定するためのィベント発生 用のボタンのみが存在するものとし、 画面項目定義 1 3が作られている 場合には、 対応する画面レイァゥ トはあらかじめ定められたルールによ つて自動生成されるものとする。
画面遷移定義 1 1の内部の処理ァクティビティ 2 2については、 何も しないァクティビティがあるものと仮定し、 画面遷移ァクティビティ 2 6、 すなわち他の画面遷移図の参照についてはそのような処理を利用せ ず、 パラメータ 2 3についてはデータがないものと仮定し、 パラメータ 間フロー 2 5についてはパラメータが存在しないため、 フローも存在し ない。
画面項目定義 1 3については、 一般的には表示入力項目が何もないも のと仮定し、 従って画面項目制約定義 2 8も何もないものと仮定する。 ビジネスフロー定義 1 2についてもビジネスフローと して何もないも のと仮定し、 中間データ定義 1 6についてもビジネスフローが存在しな いため、 利用すべき中間データも存在しないものとする。 このような最 低限の状態から色々な定義を補うことによって、 少しずつ定義を完全に することができ、 ユーザインタフェースアプリケーショ ンの開発を段階 的に進めることが可能となる。
図 2で説明したユーザインタフェースアプリケーション開発のための 定義が完成するか、 あるいは図 7で説明した省略形式の未完成の定義に 相当する定義体に対して、 プラッ トフオームに依存する自動生成ツール を用いることによって、 ユーザインタフェースアプリケーショ ンとして の W e bアプリケーション、 またはクライアントアプリケーションを作 成することができる。
図 9はそのような自動生成の説明図である。 同図において定義体 6 1 に対して、 例えば前述のように JSP/Servlet用の自動生成ツール 6 2 a を用いることによって、 JSP/Servlet用の W e bアプリケーション 6 3 aが作成される。
同様に We bサーバ上でページを生成する仕組の 1つと しての Active server Pages (ASP) . N E T用の自動生成ツール 6 2 bを用いることに よって、 W e bアプリケーション 6 3 bが作成される。
またブラゥザにダウンロードして実行される Javaのクライアントソフ トである Java Applet用の自動生成ツール 6 2 cを用いることによって、 Java Applet用のクライアントァプリケーシヨン 6 3 cが作成される。 更に、 グラフィ ックユーザインタフェースを簡単に作成するための、 ベーシックを基にしたプログラミング言語と しての Visual Basic用の自 動生成ツール 6 2 dを用いることによって、 Visual Basic用のクライア ントアプリケーション 6 3 dが作成される。
図 1 0は、 このような自動生成ツールを用いた、 ユーザインタフエ一 スアプリケーションプログラム作成処理の基本フローチヤ一トである。 同図において処理が開始されると、 まずステップ S 1で、 例えばテキス ト形式の定義 (体) が読み込まれ、 ステップ S 2でその定義体が、 例え ば UML言語における內部モデル、 例えば Java言語のォブジ-ク トモデ ルに変換され、 ステップ S 3でそのモデルが正当であるか否かのバリデ ィテイチエックが行なわれる。 このステップ S 3まではプラッ トフォー ムに依存しない処理である。
続いてステップ S 4で内部モデル構造がタ一ゲッ ト、 すなわちプラッ トフオームに依存する構造、 例えば後述する図 1 1のような構造に変換 され、 ステップ S 5でプログラムと しての各ファイルが出力されて処理 を終了する。
このような自動生成ツールを用いたプログラム作成、 すなわち定義体 の変換における JSP/Servl et 用の自動生成ツールの動作について更に述 ベる。 各定義体は次のルールに従って変換される。 まず画面レイアウ ト 定義は元々プラッ トフォームに依存するものであり、 J S Pによって記 述される。
画面遷移定義については、 1つの画面遷移定義は 1つのビジネスクラ スに変換される。 画面ァクティ ビティは J S Pによる画面表示に対応し、 処理ァクティビティは対応するビジネスクラスのメソッ ドの呼び出しに 変換され、 画面遷移アクティビティは他の画面遷移の呼び出しとなる。 パラメータについては、 画面ァクティビティのパラメータは画面に入力 表示されるデータに対応し、 JSPへの入力となる Data Beanオブジェク トに変換される。
ビジネスクラスも同様に入出力されるデータに対応し、 Data Beanク ラスに変換される。 アクティビティ間の遷移については、 表示する画面 や処理の順番の規定に変換され、 パラメータ間のフローに対しては、 デ ータの関連の作成が行なわれる。
画面項目定義については、 項目定義そのものは Data Beanクラスに変 換され、 画面項目制約定義については前述のチェックサイ トがクライア ント側かサーバ側かの指定により、 W e bクライアント側のスクリプト 言語である Java Script , または項目チヱッククラスに変換される。
ビジネスフローについては、 ビジネスクラスの 1つのメソッ ドに変換 される。 ロジックアクティビティと しては、 指定された外部のコンポ一 ネントの呼び出しコードがビジネスクラスのメソッ ド内に作成され、 ビ ジネスフローァクティビティについても同様に呼び出しコードが作成さ れる。 パラメータについてはァクティビティのデータと して設定され、 ァクティビティ.間の遷移についてはその順番が生成され、 パラメータ間 のフローについてはデータの関連が作成される。
中間データ定義については、 Java Beanクラスに変換される。
図 1 1はこのようにして自動生成されたアプリケーションの動作を説 明するための構造であり、 すなわちモデル、 ビュー、 およびコントロー ラの M V Cモデルに相当する。
図 1 1において外部から、 例えば全体を制御するためのコントロール servl et 6 5にリクエス トが与えられると、 データ力 SData Beanクラス 6 9 (データフォルダに相当) に設定され、 ビジネスクラス 6 8が動か される。 ビジネスクラス 6 8は外部コンポーネント 7 1の呼び出しなど を行なって処理を実行し、 処理中に Data Beanクラス 6 9のデータをリ ード /ライ トし、 また処理結果のデータをライ トする。
その後 J S P 6 6に制御が移る。 J S P 6 6は画面表示用のものであ り、 Data Beanクラス 6 9のデータを読みながら画面表示を行なう。 そ の時、 画面表示項目に制約がある場合は項目チェック用 Java Script 6 7がブラウザ側で動作し、 制約項目違反があればエラーとして検出され る。 最初にコントロール Servl et 6 5側から Data Beanクラス 6 9にデ ータが与えられた場合にも、 項目チェッククラス 7 0によって制約項目 のチェックを行なうことができる。
このような動作を更に詳細に記述すると次のようになる。
1 . ブラウザにおいて送信ボタンが押される。
2 . 項目チヱック用 Java Script 6 7がデータ内容をチェックする。 内 容がエラーであり、 「Retry Error」 遷移がある場合、 送信を行なわず エラーメッセージを表示する。
3 · ブラゥザからコント口ール Server 6 5にリクエス トが送られる。
4 . データを Data Beanクラス 6 9に設定し、 項目チェッククラス 7 0 がその内容をチェックする。 内容がエラーであり、 「Retry Error」 遷 移がある場合、 元の画面を再表示し、 エラーを表示する。
5 . 現在のビジネスフローに対応したビジネスクラス 6 8を呼び出す。
6 . ビジネスフローの定義に従って外部コンポーネント 7 1を呼び出す。 7 . 画面遷移の定義に従って J S P 6 6に制御が移る。
8 . J S P 6 6力 Data Beanクラス 6 9よりデータを取得して表示する。 本実施形態においては、 図 9で説明したように、 プラッ トフォームに 依存しない定義体をブラッ トフオームに依存する自動生成ツールによつ て読み込み、 ユーザィンタフエースプログラムを自動生成する代わりに、 定義体 6 1をそのまま解釈しながら、 アプリケーショ ンとして実際の処 理を行なうことも可能である。 図 1 2はそのような場合の動作形式の説 明図である。 同図においては画面レイアウ ト定義 7 6、 画面遷移定義 8 1、 ビジネスフロー定義 8 2、 項目制約定義 8 3、 画面項目定義 8 4、 中間データ項目定義 8 5がそのまま与えられ、 図 1 1の項目チェック用 Java Script 6 7に代わる: [ava Script生成エンジン 7 7、 ビジネスクラ ス 6 8に代わるビジネスフ口一エンジン 7 8、 Data Beanクラス 6 9に 代わるデータコントロールエンジン 7 9、 項目チェッククラス 7 0に代 わる項目チユックエンジン 8 0が備えられ、 コンパイラとインタプリタ とに相当する動作が実行される。
次に本実施形態では、 画面項目定義から画面レイアウ トを自動生成す ることができる。 画面項目定義については、 図 2で説明したように文字 列、 整数、 実数、 日付、 列挙、 複合型などの型があり、 その型と画面レ ィァゥ 卜における表示部品との対応づけを行なうことによって、 自動生 成が可能となる。 その他の型が定義されている場合には、 その型毎に画 面レイァゥ ト生成のルールを定めることで、 その型に対応することがで さる。 本実施形態では型が文字列、 整数、 実数、 日付である場合には、 画面 レイァゥ トにおけるテキス トフィールドに、 列挙に対してはラジオボタ ンに、 複合型に対しては表に対応させることによって、 画面レイアウ ト の自動生成が可能となる。
次に外部仕様の生成について説明する。 本実施形態では仕様を定義し た定義体から、 仕様生成ツールを用いることによって外部仕様の文書が 生成される。 一般にアプリケーションを実行するための内部仕様と、 顧 客に提供するための外部仕様には次のような違いがある。
外部仕様には顧客から要求された仕様や、 外部仕様の著者などの非定 型の追加情報が必要となる。 定義体に用意されるコメントを記述するた めの欄を使って、 これらの情報を付加することができる。
外部仕様としては、 内部仕様に相当する定義体の全ての情報が必ずし も必要ではなく、 仕様生成ツールによってこれらの情報をフィルタリン グすることができる。 また外部仕様には、 逆に顧客特定のレイアウ ト情 報などが必要であり、 外部仕様のレイアウ ト定義を使って、 これらの情 報を追加することができる。 さらに非定型の追加情報をモデルの拡張情 報と して、 外部仕様の文書と内部仕様の文書とを合わせて、 1つのモデ ル情報として、 ユーザインタフェースアプリケーション開発装置として のコンピュータの記憶装置に格納することもできる。
図 1 3は自動生成ツールによるアプリケーションの自動生成と、 仕様 生成ツールによる外部仕様文書の生成の説明図である。 図 9で説明した 自動生成ツール 6 2による定義体 6 1からアプリケーション 6 3の自動 生成と同時に、 外部仕様 8 9を外部使用レイァゥ ト定義 8 7から仕様生 成ツール 8 8によって自動生成することができる。
図 1 4はこの外部仕様生成処理の基本フローチャートである。 同図に おいてまずステップ S 1、 および S 2で図 1 0におけると同様に定義の 読み込みと、 内部モデルへの変換が行なわれる。 そしてステップ S 3で バリディティチェックが行なわれ、 プラッ トフオームに依存しない処理 がここまでで終了する。
続いてステップ S 7で外部仕様レイァゥ ト定義 8 7の読み込みが行な われ、 ステップ S 8でレイアウ トに内部モデルがはめ込まれる。 例えば 画面レイアウ トとして図の表示領域と表の表示領域とが定められている 場合には、 例えば画面遷移図が図の表示領域に、 またクラス情報が表の 表示領域にはめ込まれ、 ステップ S 9で作成された外部仕様 8 9が出力 されて、 処理を終了する。 '
本実施形態ではプログラムの実行時、 あるいはデバッグ時に、 命令の 実行箇所を検出することを可能とするために、 プログラム生成に際して 定義上の実行位置を示すィベントを、 定義上の実行位置が変わるたびに 発行する命令が埋め込まれる。 これによつてプログラムの実行時、 ある いはデバッグ時に、 命令の実行箇所や、 イベントに付属しているデータ の値の検出を行うことが可能となる。
図 1 5はこのような実行箇所検出と、 ブレークボイント設定の例の説 明図である。 同図において、 定義体 6 1側からデバッグ実行が指定され ると、 自動生成ツール 6 2を利用して①でアプリケーション 6 3が生成 される。 この時、 定義上の各アクティビティとデータ項目に識別子を割 りあて、 生成されたコードによってそのアクティビティが実行される時、 割りあてられた識別子をィベントとして送出するためのコードを挿入す る。
②でァクテイビティがアプリケーション 6 3によって実行されるにあ たって、 イベントが発行される。 イベントに画面項目 Cが指定されてい る場合には、 図に示されるように画面項目 Cの値がイベントに付属させ られて、 デバッグツール 9 1に与えられる。 デバッグツール 9 1は③でイベントを受け取り、 受け取った識別子に 該当する定義体上のァクティビティを認識することができる。
通常はその後も実行が継続されるが、 ④で示されるように識別子によ つて識別される処理 Bに対応してブレークポィントが設定されている場 合には、 アプリケーショ ンの実行は一旦停止され、 該当するァクティビ ティがハイライ ト表示される。
更にデバッグツール 9 1は画面項目の認識も可能である。 ⑤で示され るように、 画面項目 Cにはデータの値も付属しているため、 処理 B側か ら入力されるデータの値を表示することもできる。
次に本実施形態におけるテス トの実行について説明する。 テストデー タ生成ツールを利用して、 画面項目定義と画面項目制約定義に基づいて テストデ一タを生成し、 画面が表示された時にそのデータを自動入力す ることによって、 テス トを自動的に実行することができる。
図 1 6はこのテスト実行方式の説明図である。 図 1 6において定義体 P 6 1から①で自動生成ツール 6 2によってアプリケーショ ン Q 6 3が 自動生成される。 . ' 定義体 P 6 1に対応して、 ②でテストデータ生成ツールによって画面 項目 Cと画面項目制約 Dからテス トデータ R 9 2が生成される。 画面項 目 Cは画面 Aからの出力 (ユーザによる入力) 、 および処理 Bへの入力 を表し、 項目 E, F, Gから構成される。 それぞれの項目に対しては制 約が設定され、 その制約は画面項目制約 Dによって定義される。
アプリケーショ ン Q 6 2の実行時には、 テストデータ R 9 2がアプリ ケ——ンヨン Q 6 2上のコント口一/レ Servletを呼び出す。
コント口ール Serv l etは、 定義体の定義に従って画面からのデータ (テス トデータ R ) を受け取って、 項目チェッククラスを④で呼び出し 項目 E, F, Gの内容が制約を満たすかどうかを判定する。 ' テストデータの生成はあらかじめ定められたルールに従って行なわれ るものとする。 ルールは型毎に定められる。 ルールが定められていない 型を定義した場合には、 ルールもそれに伴って定めることによって、 そ の型のテス トデータを生成することができる。 また次に記述されている 型についても、 必要に応じてルールの変更や追加を行なうことができる。 文字列については最小桁数制限の制約に対応して、 空文字列、 (最小 桁数一 1 ) 桁の文字数、 (最小桁数) 桁の文字列、 および (最小桁数 + 1 ) 桁の文字列などのテス トデータが生成される。 このうち最初の 2つ は制約に違反するテストデータとなり、 このよ うなテス トデータが用い られた場合にはヱラーが検出されなければならないことになる。
最大桁数制限の制約に対しては、 空文字列、 (最大桁数一 1 ) 桁の文 字列、 (最大桁数) 桁の文字列、 (最大桁数 + 1 ) 桁の文字列などのテ ス トデータが、 文字種制限の制約に対しては適合する文字列と、 適合し ない文字列のテス トデータが作成され、 必須入力の制約に対しては、 空 文字列と、 空でない文字列とのテス トデータが生成される。
整数および実数の型に対しては、 最小値制限の制約に対応して (最小 値一 1 ) 、 (最小値) 、 および (最小値 + 1 ) のテス トデータが、 最大 値制限の制約に対しては (最大値一 1 ) 、 (最大値) 、 および (最大値 + 1 ) のテス トデータが、 また必須入力の制約に対しては未入力、 すな わちデータを入力しない状態、 および任意の数値のテス トデータが用い られる。
日付の型については、 存在するかどうかの制約に対して、 存在する日 付、 存在しない日付 (2 0 0 3年 2月 2 9日など) 、 閏年で存在する日 付 (2 0 0 4年 2月 2 9日など) のテス トデータが、 また必須入力の制 約に対しては未入力、 または存在する日付のテストデータが生成される。 列挙の型については、 単一選択制限の制約に対して、 未選択、 すなわち 全く選択の行なわれていないテス トデータ、 単一選択、 2個選択、 およ び全選択のテス トデータが、 必須入力の制約に対しては未選択、 単一選 択、 2個選択、 全選択のテス トデータが作成される。
複合型のテストデータとしては、 内包される項目についてそれぞれの 制約内容を適用したテストデータが生成される。
次に仕様書データなどが変更された場合の影響範囲の検出について説 明する。 テス トデータを利用して、 定義体修正後の影響範囲の検出を行 なうことができる。 すなわちテス トデータの生成とテス ト実行とを説明 した図 1 6の仕組において、 ィベント発行のタイミングにおける命令の 実行位置とデータを保存しておき、 定義体を修正した後に同じテス トデ ータを利用したテス トを行なった時、 同じィベント発行のタイミングに おける命令の実行位置とデータを保存されている値と比較することによ つて、 定義体修正の影響範囲を検出することができる。
図 1 7はこのような定義体修正後の影響範囲検出動作の説明図である。 同図において、 ①で定義体 P 6 1からアプリケーショ ン Q 6 2の自動生 成とテス トデータ R 9 2の生成が行なわれ、 ②でテス トデータ R 9 2が 呼び出され、 アプリケーショ ン Q 6 2の実行が行なわれる。 そして③で ィベント発行のタイミングにおいて、 命令の実行位置とデータがデバッ グツール S 9 1に渡され、 ④でその位置とデータが実行結果 Tと して保 存される。
⑤で定義体 Pが修正され、 定義体 P ' 6 1 が得られる。 ⑥で修正さ れた定義体からアプリケーシヨ ン Q ' 6 2 'が生成され、 以後⑦, ⑧で 修正前と同様にテス 1、データ R 9 2が呼び出され、 ィベント発行のタイ ミングで命令の実行位置とデータがデバッグツール S 9 1に渡され、 ⑨ で以前の実行結果 Tと比較することによって、 データが異なっている場 合には、 その時の命令の実行位置とデータの内容が定義体 P ' 6 1 一上 の位置として⑩で表示される。
次に本実施形態におけるユーザィンタフェースアプリケーショ ンの開 発過程に
ついて図 1 8を用いて説明する。 本実施形態では、 例えば図 7で説明し た最低限の画面遷移定義から出発して分析、 設計、 実装、 および検証の フェーズを反復的に繰り返すことによって、 ユーザインタフェースァプ リケーショ ンの段階的な開発が可能となる。
まず分析フェーズでは、 どのように定義体を記述すべきか、 例えば顧 客側の要求項目から分析が行なわれる。 設計フェーズでは、 分析フュー ズで得られる分析結果に基づき定義体が作成され、 実装フェーズでは定 義体からアプリケーションゃテストデータが生成され、 最後の検証フエ ーズで生成されたアプリケーションにテストデータが投入され、 アプリ ケーションの試験が行なわれる。 試験の結果は定義体の位置として示す ことができるため、 修正が必要な場合は定義体のどの部分を変更すべき カ 再び分析フェーズに戻って検討が行なわれる。
図 1 8においては、 図 7で説明した最低限の定義状態、 すなわち最も 小さい状態として、 最も内側から分析フェーズが始まることが、 右廻り に回転する実線として示されている。 各フェーズを繰り返すことにより 定義体の大きさなどは大きくなり、 やがて最後の検証フェーズで修正が 必要がないと判定された時点で開発を終了する。 なお実装フェーズの線 が細くなっているのは、 前述のように本実施形態では自動生成ツールを 用いて実際にプログラムコードを開発することは必ずしも必要がないこ と、 すなわち図 1 2で説明したように、 各種の定義を読み込み、 それら を解釈して実行することにより、 プログラムコードそのものの生成が必 ずしも必要がないことを意味している。
以上詳細に説明したように本発明によれば、 画面と処理とを交互に記 述する形式で、 ユーザィンタフエースアプリケーションに対応する画面 遷移図に相当するプログラム開発用仕様書データを作成し、 そのデータ を用いてユーザィンタフェースアプリケーションを自動生成することが 可能となる。 これによつてユーザィンタフェースアプリケーショ ンの開 発、 および保守を容易にすることができ、 また仕様書データなどの定義 上でのデバッグをサポートすることができ、 分析、 設計、 実装、 および 検証のフェーズを繰り返す反復開発が可能となり、 プログラム開発の効 率化と保守性の向上に寄与するところが大きい。 産業上の利用可能性
本発明は、 例えば W e bアプリケーションなどのユーザインタフヱ一 スアプリケーションのプログラムを開発して、 そのプログラムをユーザ 対象のビジネス業者などに提供するソフ トウェア開発産業などにおいて 利用可能である。

Claims

請求の範囲
1 . ユーザィンタフェースアプリケーションの開発装置において、 画面と処理とが交互に記述される形式の画面遷移図に相当し、 画面と 表示入力データ項目との間の関連付け、 および表示入力データ項目と画 面レイアウ トとの間の関連付けがなされたプログラム開発用仕様書デー タを読み込む仕様書データ読み込み手段と、
該仕様書データを用いて、 ユーザィンタフエースアプリケーショ ンの プログラムを自動生成するプログラム生成手段とを備えることを特徴と するユーザインタフェースアプリケーショ ン開発装置。
2 . ユーザインタフェースアプリケーショ ンの開発装置において、 画面と処理とが交互に記述される形式の画面遷移図に相当し、 画面と 表示入力データ項目との間の関連付け、 および表示入力データ項目と画 面レイァゥ トとの間の関連付けがなされたプログラム開発用仕様書デー タを読み込む仕様書データ読み込み手段と、
該仕様書データを解釈し、 該解釈結果に対応して、 ユーザインタフエ ースアプリケーショ ンの処理を実行する処理実行手段とを備える.ことを 特徴とするユーザインタフェースアプリケーション開発装置。
3 . ユーザインタフェースアプリケーションの開発装置において、 それぞれ対応する処理が定められるべき複数の画面の間での遷移が記 述された形式の画面遷移図に相当し、 画面と表示入力データ項目との間 の関連付け、 および表示入力データ項目と画面レイアウ トとの間の関連 付けがなされるべきプログラム開発仕様書データを読み込む仕様書デー タ読み込み手段と、
該仕様書データを用いて、 ユーザインタフェースアプリケーショ ンの プログラムを自動生成するプログラム生成手段とを備え、 前記対応する処理、 および 2つの関連付けの内容を変更しながら、 仕 様書データ読み込み手段とプログラム生成手段との動作を繰り返すこと を特徴とするユーザィンタフ ースアプリケーション開発装置。
4 . 前記表示入力データ項目に対応して設けられる制約条件をチェック し、 該条件が満足されない時、 前記画面遷移図上での画面から処理への 遷移を禁止する制約条件チェック手段を更に備えることを特徴とする請 求項 1記載のユーザィンタフエースアプリケーション開発装置。
5 . 前記制約条件に対応して該制約条件のチェック箇所を指定する情報 が与えられ、 前記制約条件チコ二ック手段が該指定に対応してチェックを 行なうことを特徴とする請求項 4記載のユーザインタフェースアプリケ ーショ ン開発装置。
6 . 前記表示入力データ項目と、 該表示入力データ項目に関する制約条 件とに対応してテス トデータを生成し、 該テス トデータを前記生成され たプログラムに投入レてプログラムの検証を行なうアプリケ一ション検 証手段を更に備えることを特徴とする請求項 1記載のユーザィンタフエ ースアプリケーショ ン開発装置。 .
7 . 前記アプリケーション検証手段がプログラムの検証結果を保存し、 前記プログラム開発用仕様書データが変更された時、 同一のテス トデー タを用いて該変更後の検証結果と比較して仕様書データ変更の影響範囲 を検出することを特徴とする請求項 6記載のユーザィンタフェースアブ リケーショ ン開発装置。
8 . 前記表示入力データ項目に対応して、 あらかじめ定められた画面レ ィァゥ トに関するルールに従って、 自動的に画面生成を行なう画面生成 手段を更に備えることを特徴とする請求項 1記載のユーザィンタフエー スアプリケーショ ン開発装置。
9 . 前記プログラム開発用仕様書データに対応し、 前記ユーザインタフ エースアプリケーションのモデルを表す内部仕様の情報をあらかじめ定 められた定義に従ってフィルタ リ ングし、 外部仕様を表すための非定型 の追加情報と合わせて外部仕様文書を自動生成する外部仕様生成手段を 更に備えることを特徴とする請求項 1記載のユーザインタフェースアブ リケーシヨ ン開発装置。
1 0 . 前記追加情報をモデルの拡張情報として、 前記外部仕様文書と内 部仕様文書とを合わせて、 1つのモデル情報として保存する記憶手段を さらに備えることを特徴とする請求項 9記載のユーザィンタフェースァ プリケーショ ン開発装置。
1 1 . 前記プログラム生成手段によって生成されたプログラムのデバッ グを行なうデバッグ手段をさらに備えると共に、
前記プログラム生成手段がプログラムの自動生成にあたってプロダラ ム内にィベントを発行する命令を埋め込み、
前記デバッグ手段が、 デバッグ時に該イベン トを受け取り、 該ィベン ト発行命令の埋め込み箇所をプログラムの実行箇所として識別すること を特徴とする請求項 1記載のユーザィンタフェースアプリケーショ ン開 発装置。
1 2 . 前記プログラム生成手段が、 前記イベント発行に対応する処理と してブレークボイントを示す情報を設定し、
前記デバッグ手段が該情報を検出した時、 前記画面上で該ブレークポ イントに対応する部分を強調することを特徴とする請求項 1 1記載のュ 一ザインタフエースアプリケーショ ン開発装置。
1 3 . 前記プログラム生成手段が、 前記イベン トに該イベント発行命令 の埋め込み箇所で扱われるデータを埋め込み、 該データと前記仕様書デ ータを表す図上でのクラスとを識別子によって対応付け、
前記デバッグ手段がィベントを受け取った時、 該データの種類とその 値とを検出することを特徴とする請求項 1 1記載のユーザィンタフエー スアプリケーショ ン開発装置。
1 4 . 前記デバッグ手段が前記検出されたデータの値を保存し、 アプリ ケーションが変更された後のデバッグ時に同一箇所のデータと比較し、 ' アプリケーショ ン変更の影響範囲を検出することを特徴とする請求項 1 3記載のユーザィンタフェースアプリケーション開発装置。
1 5 . ユーザィンタフェースアプリケーショ ンの開発方法において、 画面と処理とが交互に記述される形式の画面遷移図に相当し、 画面と 表示入力データ項目との間の関連付け、 および表示入力データ項目と画 面レイァゥ トとの間の関連付けがなされたプログラム開発用仕様書デー タを読み込み、
該仕様書データを用いて、 ユーザィンタフェースアプリケーショ ンの プログラムを自動生成することを特徴とするユーザィンタフェースァプ リケーション開発方法。
1 6 . ユーザインタフェースアプリケーショ ンの開発を行なう計算機に よって使用されるプログラムにおいて、
画面と処理とが交互に記述される形式の画面遷移図に相当し、 画面と 表示入力データ項目との間の関連付け、 および表示入力データ項目と画 面レイァゥ トとの間の関連付けがなされたプログラム開発用仕様書デー タを読み込む手順と、
該仕様書データを用いて、 ユーザィンタフェースアプリケーショ ンの プログラムを自動生成する手順とを計算機に実行させるためのプロダラ ム„
PCT/JP2003/006536 2003-05-26 2003-05-26 ユーザインタフェースアプリケーション開発装置および開発方法 WO2004104824A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2003/006536 WO2004104824A1 (ja) 2003-05-26 2003-05-26 ユーザインタフェースアプリケーション開発装置および開発方法
JP2004572130A JPWO2004104824A1 (ja) 2003-05-26 2003-05-26 ユーザインタフェースアプリケーション開発装置および開発方法
US11/146,355 US20050235260A1 (en) 2003-05-26 2005-06-07 User interface application development device and development method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/006536 WO2004104824A1 (ja) 2003-05-26 2003-05-26 ユーザインタフェースアプリケーション開発装置および開発方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/146,355 Continuation US20050235260A1 (en) 2003-05-26 2005-06-07 User interface application development device and development method

Publications (1)

Publication Number Publication Date
WO2004104824A1 true WO2004104824A1 (ja) 2004-12-02

Family

ID=33463169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/006536 WO2004104824A1 (ja) 2003-05-26 2003-05-26 ユーザインタフェースアプリケーション開発装置および開発方法

Country Status (3)

Country Link
US (1) US20050235260A1 (ja)
JP (1) JPWO2004104824A1 (ja)
WO (1) WO2004104824A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338477A (ja) * 2005-06-03 2006-12-14 Atrris Corp 情報処理装置とシステム開発方法
JP2009181365A (ja) * 2008-01-30 2009-08-13 Hitachi Software Eng Co Ltd 複数アプリケーション形態における入力検証実装方法
JP2009289162A (ja) * 2008-05-30 2009-12-10 Toshiba Mitsubishi-Electric Industrial System Corp 制御プログラム及び試験方案自動作成装置
CN103150166A (zh) * 2013-03-08 2013-06-12 深圳市奇维百纳网络有限公司 一种与设备同步的自助创建移动应用程序的方法
JP2015210639A (ja) * 2014-04-25 2015-11-24 日本電気株式会社 アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム
JP2019197288A (ja) * 2018-05-07 2019-11-14 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム
JP2019197258A (ja) * 2018-05-07 2019-11-14 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
JP2019197260A (ja) * 2018-05-07 2019-11-14 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
CN113254115A (zh) * 2020-02-11 2021-08-13 阿里巴巴集团控股有限公司 显示方法、装置、电子设备及可读存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350194B1 (en) * 2001-09-24 2008-03-25 Oracle Corporation Techniques for debugging computer programs involving multiple computing machines
US7519960B2 (en) * 2003-12-19 2009-04-14 International Business Machines Corporation Method and system for debugging business process flow
US8204866B2 (en) * 2007-05-18 2012-06-19 Microsoft Corporation Leveraging constraints for deduplication
US8386999B2 (en) * 2007-08-09 2013-02-26 Infonovus Technologies, Llc Method and system for analyzing a software design
US8250534B2 (en) * 2007-08-09 2012-08-21 Infonovus Technologies, Llc Method and system for constructing a software application from a complete and consistent specification in a software development process
US8397207B2 (en) 2007-11-26 2013-03-12 Microsoft Corporation Logical structure design surface
US9547295B2 (en) 2010-09-24 2017-01-17 Fisher-Rosemount Systems, Inc. Methods and apparatus to display process control device information
CN102902531A (zh) * 2012-09-11 2013-01-30 Tcl集团股份有限公司 一种安卓应用程序的定制、生成方法及其装置
US11003567B2 (en) * 2017-12-06 2021-05-11 International Business Machines Corporation Method and apparatus for test modeling
CN108415703B (zh) * 2018-02-08 2022-01-04 武汉斗鱼网络科技有限公司 一种界面布局方法、装置、电子设备及存储介质
JP7070328B2 (ja) * 2018-10-25 2022-05-18 日本電信電話株式会社 テストデータ生成装置、テストデータ生成方法及びプログラム
US11269694B2 (en) 2020-03-03 2022-03-08 The Toronto-Dominion Bank Automated API code generation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214438A (ja) * 1986-03-15 1987-09-21 Hitachi Ltd ソフトウェア仕様書再利用方法
JPH0773031A (ja) * 1993-09-06 1995-03-17 Hitachi Ltd 外部仕様生成方法
JPH08235024A (ja) * 1995-02-28 1996-09-13 Toshiba Corp ソフトウェアテスト自動化装置
JP2001256075A (ja) * 2000-03-13 2001-09-21 Nec Software Hokuriku Ltd 開発システム、開発方法、記録媒体
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
JP2002287961A (ja) * 2001-03-28 2002-10-04 Nec System Technologies Ltd 業務アプリケーション開発システム及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314470B1 (en) * 1997-07-25 2001-11-06 Hewlett Packard Company System and method for asynchronously accessing a graphics system for graphics application evaluation and control
DE69803575T2 (de) * 1997-07-25 2002-08-29 British Telecommunications P.L.C., London Visualisierung in einem modularen softwaresystem

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214438A (ja) * 1986-03-15 1987-09-21 Hitachi Ltd ソフトウェア仕様書再利用方法
JPH0773031A (ja) * 1993-09-06 1995-03-17 Hitachi Ltd 外部仕様生成方法
JPH08235024A (ja) * 1995-02-28 1996-09-13 Toshiba Corp ソフトウェアテスト自動化装置
JP2001256075A (ja) * 2000-03-13 2001-09-21 Nec Software Hokuriku Ltd 開発システム、開発方法、記録媒体
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
JP2002287961A (ja) * 2001-03-28 2002-10-04 Nec System Technologies Ltd 業務アプリケーション開発システム及び方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338477A (ja) * 2005-06-03 2006-12-14 Atrris Corp 情報処理装置とシステム開発方法
JP2009181365A (ja) * 2008-01-30 2009-08-13 Hitachi Software Eng Co Ltd 複数アプリケーション形態における入力検証実装方法
JP2009289162A (ja) * 2008-05-30 2009-12-10 Toshiba Mitsubishi-Electric Industrial System Corp 制御プログラム及び試験方案自動作成装置
CN103150166A (zh) * 2013-03-08 2013-06-12 深圳市奇维百纳网络有限公司 一种与设备同步的自助创建移动应用程序的方法
CN103150166B (zh) * 2013-03-08 2017-02-08 深圳市奇维百纳网络有限公司 一种与设备同步的自助创建移动应用程序的方法
JP2015210639A (ja) * 2014-04-25 2015-11-24 日本電気株式会社 アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム
JP2019197288A (ja) * 2018-05-07 2019-11-14 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム
JP2019197258A (ja) * 2018-05-07 2019-11-14 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
JP2019197260A (ja) * 2018-05-07 2019-11-14 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
JP7212238B2 (ja) 2018-05-07 2023-01-25 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
JP7219389B2 (ja) 2018-05-07 2023-02-08 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
JP7256353B2 (ja) 2018-05-07 2023-04-12 キヤノンマーケティングジャパン株式会社 情報処理システム、その制御方法及びプログラム
CN113254115A (zh) * 2020-02-11 2021-08-13 阿里巴巴集团控股有限公司 显示方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
US20050235260A1 (en) 2005-10-20
JPWO2004104824A1 (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
WO2004104824A1 (ja) ユーザインタフェースアプリケーション開発装置および開発方法
US7398514B2 (en) Test automation stack layering
US7272822B1 (en) Automatically generating software tests based on metadata
AU748588B2 (en) Method for defining durable data for regression testing
Canfora et al. Migrating interactive legacy systems to web services
AU2004233548B2 (en) Method for Computer-Assisted Testing of Software Application Components
AU2017207388B2 (en) Multi-technology visual integrated data management and analytics development and deployment environment
JP2005196291A (ja) ユーザインタフェースアプリケーション開発プログラム、および開発装置
US7895575B2 (en) Apparatus and method for generating test driver
WO2008045117A1 (en) Methods and apparatus to analyze computer software
Barnett et al. Model-based testing with AsmL .NET
JP2008305079A (ja) 要求仕様自動検証方式
JPH06348766A (ja) ツール組み込み方法及び装置
JP2002014845A (ja) テスト・スクリプト部品の自動生成方法および装置
KR20070049126A (ko) 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템
JPH11224211A (ja) ソフトウェア検査支援装置
JP4393893B2 (ja) パターン体系構築装置、パターン適用装置およびプログラム、競合要素検出プログラム、ならびにソフトウェア開発支援プログラム
JP2002157144A (ja) ソフトウェア自動試験方式
JP2014056388A (ja) ソフトウェア業務処理テスト簡易化装置
JP4307122B2 (ja) ワークフロー処理方法及びプログラム
El-Ramly et al. Legacy systems interaction reengineering
JP4961915B2 (ja) 仕様記述支援装置および方法
JP4274531B2 (ja) 教示装置用シミュレーション方法
Liang et al. Test-driven component integration with UML 2.0 testing and monitoring profile
JPH10312314A (ja) シミュレーション装置及び情報記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004572130

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11146355

Country of ref document: US