WO2007102232A1 - ソースプログラム作成支援システム - Google Patents

ソースプログラム作成支援システム Download PDF

Info

Publication number
WO2007102232A1
WO2007102232A1 PCT/JP2006/316923 JP2006316923W WO2007102232A1 WO 2007102232 A1 WO2007102232 A1 WO 2007102232A1 JP 2006316923 W JP2006316923 W JP 2006316923W WO 2007102232 A1 WO2007102232 A1 WO 2007102232A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow diagram
box
source program
processing
support system
Prior art date
Application number
PCT/JP2006/316923
Other languages
English (en)
French (fr)
Inventor
Akira Motoshima
Original Assignee
Assist Computer System Co., Ltd.
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
Priority claimed from JP2006063999A external-priority patent/JP3850867B1/ja
Application filed by Assist Computer System Co., Ltd. filed Critical Assist Computer System Co., Ltd.
Priority to CN2006800530675A priority Critical patent/CN101379466B/zh
Publication of WO2007102232A1 publication Critical patent/WO2007102232A1/ja

Links

Classifications

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

Definitions

  • the present invention relates to a source program creation support system that is a CASE (Computer Aided Software Engineering) tool. More specifically, the present invention does not require advanced programming knowledge when creating a computer source program. In particular, the present invention relates to a system capable of easily creating a computer language source program under the assistance of a computer.
  • CASE Computer Aided Software Engineering
  • the document format is unique to each individual, and it takes a lot of man-hours and time to create a document with various formats.
  • Patent Document 1 The manufacturing management program automatic creation device of Patent Document 1 is capable of creating a C language source program. However, since this device creates a production management program for a product, a combination of parts can be used. Make a source program! /
  • Patent Document 2 is also capable of creating a C language source program. This method is for constructing an expert system. But the purpose is special.
  • the screen input processing program waits for input in the input screen display state.
  • an event signal for example, an input completion specific signal
  • the program waits until it receives an Enter signal from the keyboard.
  • an Enter signal from the keyboard.
  • a program including such event processing when a plurality of events occur at random, conventionally, it is difficult to clearly and appropriately indicate the event waiting state in the flowchart.
  • Patent Document 3 describes a flowchart input device that can display a plurality of event waits on a flowchart.
  • this flowchart input device cannot appropriately represent an event waiting state when a plurality of events and corresponding processes are performed randomly.
  • the source program is usually composed of a combination of a data definition, a screen definition, and a main program.
  • Patent Document 1 JP-A-6-214769
  • Patent Document 2 JP-A-9 91146
  • Patent Document 3 Japanese Patent Laid-Open No. 11-296357
  • the present invention has been made to solve such problems.
  • a first object of the present invention is provided with a flow diagram creation means that can appropriately represent an event waiting state on a flow diagram when a plurality of events and corresponding processes occur at random. It is to provide a source program creation support system.
  • a second object of the present invention is provided with a flow diagram creation means for achieving the first object described above, and an arbitrary source program is provided with a high degree of knowledge, even for a person. It is to provide a source program creation support system that can be created.
  • a third object of the present invention is to create a data definition included in a source program with high work efficiency in a source program creation support system that achieves the second object described above. Rubbing.
  • a fourth object of the present invention is to make it possible to create a screen definition included in a source program with high work efficiency in a source program creation support system that achieves the second object described above. It is to be.
  • a fifth object of the present invention is to enable verification of a created source program in a source program creation support system that achieves the second object described above. Is to provide in form.
  • the present invention is a source program creation support system for creating a source program by using a computer-readable program and interacting with a user.
  • a flow diagram creation means for supporting creation of a flow diagram corresponding to a program on a monitor screen, and a flow diagram created by the flow diagram creation means are analyzed and converted into source code to be converted into a source program.
  • a source program creation support system including a flow diagram analysis conversion means for conversion
  • a plate list display means for displaying a list including a start plate of an event processing program including processing in a selectable manner by a user;
  • a plate arrangement means for displaying the shape of the selected plate at the arrangement position each time the user selects the plate list power displayed and designates the arrangement position on the monitor screen.
  • an event including a virtual event waiting box indicating a waiting state for event occurrence and a return terminal having an outflow line connected to the virtual event waiting button
  • A means to display the initial box of the flow diagram on the flow diagram creation area
  • a specification setting means for displaying an input field for allowing the user to input a specification corresponding to the content of the processing in a box arranged on the monitor screen, and storing the input specification in association with the box;
  • the event processing definition is determined as an event processing program and installed as part of the OS on the computer being used.
  • Means for reading A means of obtaining the linkage information of each box by analyzing the linkage of the boxes in the flow diagram, and converting the specifications set in each box in the flow diagram into the source code and corresponding to the converted source code
  • a source program creation support system is provided.
  • the event flow diagram initial box group is serially connected to the start terminal and the downstream of the event waiting box in addition to the virtual event waiting box and the return terminal. And two processing boxes each connected to the judgment box by an outflow line of the judgment box force and the outflow line connected to the return terminal. It is preferable to include at least a box.
  • the flow diagram creation means further includes a plate deletion means for deleting the plate arranged in the flow diagram creation area and a plate other than the event flow diagram initial box group when the user instructs to delete the plate.
  • a plate When a plate is newly placed in the flow diagram creation area, it has means for automatically displaying the processing box and its outflow line in a different display mode from the placed plate downstream of the plate.
  • the plate list displayed by the plate list display means of the flow diagram creation means includes the event processing program end plate, and the plate placement means is displayed in the flow diagram creation area.
  • the processing box and its outflow line with different display modes are automatically deleted, and a judgment box with one outflow line connected to the return terminal is added below the lowermost judgment box.
  • the system further associates a plurality of functions, which are source program modules corresponding to a plurality of processing contents, with the function names.
  • a model library stored in advance is provided, and the specification setting unit of the flow diagram creation unit allows the user to selectively input function names stored in the model library as specifications.
  • the flow diagram analysis conversion means stores the contents of a plurality of functions in the template library and the function names to the user.
  • a function name is set as a specification and there is a box, the function corresponding to the function name is read from the library. Rukoto is preferred ⁇ .
  • the flow diagram creating means includes means for executing a descending layer function for creating a flow diagram of the upper layer and a detailed flow diagram of the lower layer, and specification setting means of the flow diagram creating means
  • the flow diagram analysis conversion means includes a program corresponding to the flow diagram ID when the flow diagram to be converted includes a box in which the flow diagram ID is set as a specification. It is preferable that the module is configured to read out the memory means.
  • the flow diagram creation means further includes a title input field for inputting a processing title in a box arranged on the monitor screen.
  • the specification setting means and the title setting means of the flow diagram creation means are preferably connected to the box by the plate arrangement means.
  • the specification setting and title setting may be configured.
  • the specification setting means may be configured so that the specification can be set every time the box is displayed on the monitor screen by the plate placement means. .
  • the flow diagram creation means further includes a guider including a plurality of questions set in advance for creating the flow diagram.
  • a guidance means for interactively creating a flow diagram based on a response input by the user to a question of the guidance, the question including a number of business questions, It is preferable to provide guidance means for automatically displaying a number of judgment boxes and processing boxes on the monitor screen based on the user's response.
  • the flow diagram creating means further acquires a time lapse history of the guidance provided by the guidance means and a user's response to the guidance, and displays the time lapse history on the monitor screen. Means are provided.
  • the flow diagram creation means includes a first flow diagram created in advance and the processing content of at least one box in the first flow diagram.
  • This is a derived relationship display means for displaying on the monitor screen the relationship with the second flow diagram represented by a plurality of boxes, and the first flow diagram is displayed on the monitor screen.
  • a derivation relation display means is provided for displaying a plurality of boxes in the second flow diagram corresponding to the box instead of the box! / I prefer that.
  • the above-described source program creation support system further includes a dialog with the user on the monitor screen for defining the data definition of the data source program used in the flow diagram created by the flow diagram creating means.
  • a data definition creation means that creates a tree-structured data layout based on the data layout, and a screen source program used in the flow diagram created by the flow diagram creation means.
  • Screen definition creation means for creating a screen definition based on dialog with the user on the monitor screen and defining the screen definition based on the position and size of the created screen element.
  • the flow diagram analysis conversion means further comprises means for combining the data definition and screen definition created by the data definition creation means and the screen definition creation means with the source program created based on the flow diagram. I prefer that.
  • the above-described source program creation support system further includes verification means for verifying the generated source program, and the verification means includes a source to be verified.
  • a flow diagram corresponding to the program is displayed on the monitor screen. On the displayed flow diagram, the pause of the source program is paused, the processing result is acquired, and the passage history and the processing result should be displayed. And a means for allowing the user to set the path set point for obtaining only the processing result, and the source program to be verified are run, and the process progress is displayed on the flow diagram corresponding to the source program and displayed.
  • a means for displaying the passing route a means for temporarily stopping the process when the process reaches the pause set point, and a means for displaying the passage history of the pause set point and the path set point. It is preferable to provide a means for displaying a preset variable value on the flow diagram as a variable list when the pause setting point is reached.
  • the present invention is configured as described above, and an event waiting state in the case where a plurality of events and corresponding processes occur randomly can be appropriately represented on a flow diagram. Since a flow diagram including an event waiting state may be converted into a source program, it becomes easy to generate a source program including an event waiting state. At this time, the identity of the specification logic in the flow diagram and the logic of the source program are maintained.
  • the user's input is prompted by the guidance, and the flow diagram is automatically created based on the prompt. Therefore, the flow diagram creation corresponding to the source program to be created is performed by the user. It will be easier for you. Furthermore, by providing a derivation relationship display means, the user can easily grasp the relationship between the initial flow diagram and the expanded flow diagram obtained by developing the flow diagram, that is, the derivation process and the progress of the logic of the program. be able to.
  • the user can create the data definition while visually checking the data definition of the tree structure.
  • a screen definition can be created simply by creating a screen on the monitor screen. Therefore, it is easy to create and maintain data definitions and screen definitions.
  • verification can be performed by actually running the created source program, and the result can be reflected in correction of the source program.
  • FIG. 1 is a block diagram showing a schematic configuration of a source program creation support system according to the present invention.
  • FIG. 2-1 is a block diagram showing a schematic configuration of a flow diagram creation module in the system shown in FIG.
  • FIG. 2-2 is a block diagram showing a schematic configuration of the flow diagram analysis conversion module in the system shown in FIG.
  • FIG. 2-3 is a block diagram showing a schematic configuration of the verification module in the system shown in FIG.
  • FIG. 3 is a flowchart showing the operation of the flow chart creation module shown in FIG. 2-2.
  • FIG. 4-1 A schematic diagram showing a list of plates displayed by the function of the flow diagram creation module.
  • FIG. 4-2 A schematic diagram of the screenshot displayed by the function of the flow diagram creation module.
  • FIG. 4-3 A schematic diagram of a screen shot displayed by the function of the flow diagram creation module based on user interaction.
  • [4 - 4 is a schematic diagram of the scan screenshots displayed by the function of the flow diagram creation module based on user interaction.
  • FIG. 4-5 A schematic diagram of a screen shot displayed by the function of the flow diagram creation module based on user interaction.
  • Figure 4-6 This is a schematic diagram of a screen shot displayed by the function of the flow diagram creation module based on user interaction.
  • FIG. 4-7 A schematic diagram of a screen shot displayed by the function of the flow diagram creation module based on user interaction.
  • FIG. 4-8 A schematic screen shot showing the completed image flow diagram displayed by the flow diagram creation module based on user interaction.
  • FIG. 5 is a schematic screen shot showing a title flow diagram created by the title input by the user in the image flow diagram shown in FIG. 4-8.
  • FIG. 6 A schematic screen shot showing an overview flow diagram created by the user inputting specifications in the image flow diagram shown in FIG. 4-8.
  • FIG. 7-1 A schematic diagram showing a screen shot showing an input screen for inputting a title and specifications into a judgment box.
  • FIG. 7-2 A screen shot showing the title and specifications entered by the user on the input screen shown in Fig. 7-1.
  • FIG. 7-2 is an explanatory diagram showing the master data of the judgment box in the input state as shown in FIG. 7-2.
  • FIG. 7-4 is an explanatory diagram showing an example of master data of a processing box in a state where specifications are input.
  • FIG. 7-5 is a flowchart for explaining image flow diagram creation processing executed by the event wait notation function of the flow diagram creation module. It is a screenshot.
  • FIG. 7-7 Screenshot showing the state of adding other boxes to the display status of Fig. 7-6 using the event wait notation function.
  • FIG. 7-8 Screen shot showing the completed image flow diagram by adding the event flow diagram end box group to the display state of Fig. 7-7 by the event wait notation function.
  • FIG. 7-9 A screenshot showing the title flow diagram created by inputting the title into the image flow diagram shown in Fig. 7-7.
  • FIG. 7-10 Screenshot showing the outline flow diagram created by inputting the specifications into the image flow diagram shown in Fig. 7-7.
  • Figure 9-1 Screen shot automatically displayed when creating a flow diagram using the guidance function in the flow diagram creation module.
  • FIG. 9-2 is an explanatory diagram illustrating guidance contents and user responses by the guidance function in the flow diagram creation module.
  • FIG. 9-3 Screen shot displayed when creating a flow diagram using the guidance function in the flow diagram creation module based on user interaction.
  • FIG. 9-4 Screen shot displayed when creating a flow diagram using the guidance function in the flow diagram creation module based on user interaction.
  • FIG. 9-5 Screen shot displayed when creating a flow diagram using the guidance function in the flow diagram creation module based on user interaction.
  • FIG. 9-6 Screen shot displayed when creating a flow diagram using the guidance function in the flow diagram creation module based on user interaction.
  • FIG. 10-1 is an explanatory diagram exemplifying guidance data in which the contents of the guidance and the user response stored with the passage of time are stored as the flow chart is created by the pacemaker function and the guidance function in the flow chart creation module.
  • FIG. 10-2 This is a schematic diagram showing the guidance time table created by the guidance data catalog shown in Fig. 10-1.
  • ⁇ 11-2 It is a schematic diagram of a screen shot displayed by the function of the data definition creation module based on the dialogue with the user.
  • ⁇ 11-8 Displayed by the function of the data definition creation module based on user interaction. It is a schematic diagram of a screen shot.
  • FIG. 11-10 is an explanatory diagram showing an example of record data in the file layout shown in FIG.
  • FIG. 12-1 A screen shot showing an example of a screen to be created by the function of the screen definition creation module.
  • FIG. 12-2 This is a schematic diagram showing a list of screen definition plates displayed by the function of the screen definition creation module.
  • Figure 12-3 This is a screenshot showing the attribute input screen for the frame field displayed by the function of the screen definition creation module.
  • FIG. 12-4 A screenshot showing the button field attribute input screen displayed by the function of the screen definition creation module, together with the frame created earlier by the function.
  • Figure 12-6 This is a screenshot showing the character field attribute input screen displayed by the function of the screen definition creation module.
  • FIG. 12-7 Screenshot showing the line field attribute input screen displayed by the function of the screen definition creation module.
  • FIG. 13-2 This is an explanatory diagram for explaining the conversion to the BASIC language, which is executed by the function of the flow diagram analysis conversion module.
  • Flow diagram analysis flow is a flowchart showing the processing when converting the flow diagram including event processing into the source program executed by the function of the conversion module.
  • Figure 13-4 Illustrates a source program with converted flow diagram including event processing FIG.
  • FIG. 13-5 is a diagram of a source program following the source program illustrated in FIG. 13-5.
  • FIG. 14-1 Screenshot showing the state where pause and path set points are set on the flow diagram by the function of the verification module.
  • FIG. 14-2 Screen shot showing the list of passage history acquired and displayed by the verification module function.
  • FIG. 14-3 Screen shot showing a list of variable values obtained and displayed by the verification module function.
  • FIG. 15 is a diagram showing a representation of a flow diagram of a program including event processing, which is assumed from a flow diagram created by a conventional example.
  • BEST MODE FOR CARRYING OUT THE INVENTION is assumed from a flow diagram created by a conventional example.
  • the system of the present invention is configured by a computer program installed on a PC.
  • a flow diagram creation module 10 data definition creation, as shown in FIG. It can be divided into module 20, screen definition creation module 30, flow diagram analysis conversion module 40, and verification module 50.
  • the general functions of these program modules are as follows.
  • This function is for creating a flow diagram of the program to be created, and the function to complete the outline Z detailed flow diagram based on the selection and arrangement of boxes on the PC screen and the input of titles and specifications. It has.
  • the hierarchical descending function is used to define the logical relationship while correlating the overview power details with the upper layer flow diagram and lower layer flow diagram, and everything from the top layer flow diagram to the bottom layer flow diagram. Can be related to the specification definition.
  • the created outline Z detail flow diagram is stored as attribute data including input / output relationships for each box included in the flow diagram.
  • a record item allows a user to define new items and attributes by selecting the top, bottom, left, and right sides of the data definition processing box. If the top and bottom sides are selected, a new item is defined at the top and bottom side of the item. When the left side is selected, a new item is defined at the upper layer position of the item. When the right side is selected, a new item is defined at the lower layer position of the item. The item is deleted by the user selecting the target position. When the number of digits (number of bytes) of an item changes, the number of digits is automatically adjusted by changing the item attribute.
  • the created data definition is stored as attribute data for each item.
  • a screen layout is created on the PC screen using functions that apply the graphic processing used for graphic creation.
  • the user selects a screen element included in the screen layout from the screen element list, inputs the definition content of the screen element, and specifies the position and size on the screen, so that it is included in the screen layout. Create individual screen elements. When changing specifications or fixing bugs, screen elements such as lines and plates are moved to the required position, added, or deleted from the required position.
  • the created screen definition is stored as attribute data (including position and size data) for each screen element.
  • the flow diagram creation module 10 (including the top layer flow diagram and the bottom layer flow diagram), refer to the data definition and screen definition created by the data definition module 20 and the screen definition module 30.
  • Create a source program At this time, first, the box linkage in the main flow diagram is analyzed, and if there is no contradiction in the linkage, the content of the main box up to the end terminal is converted into source code. Screens and lower layer expansion functions that appear during conversion are temporarily stored. After the main line is converted to source code, the stored screens and functions are analyzed in order of appearance and converted to source code. In addition, for functions with lower layer expansion, descend the hierarchy, analyze and convert the inside of the function, and change the flow diagram up to the lowest layer to the source program. When changing specifications (including additional specifications) and correcting bugs, the automatic source program is automatically changed by operating this module by changing and correcting the flowchart.
  • Source code can be written in various computer languages such as C ++ and BASIC.
  • the created source program is run to verify the program.
  • a flow diagram corresponding to the source program to be run is displayed on the PC screen, and when the source program is run, a processing route is displayed on the flow diagram.
  • the user can set a pause point and a pass point at any point on the passage route in the flow diagram.
  • the program process reaches the position where the pause point is set, the process pauses, acquires and displays various variable values in the flow chart at that time, and displays the passing history of the pause point and pass point. indicate.
  • the program processing reaches the position where the pass point is set, the force for acquiring various variable values in the flowchart at that time is continued. If an error occurs during the program run, the box and processing line are displayed in the error list. As a result, the operation of the created source program can be verified, and if there is an error, it can be easily detected and corrected.
  • the functions of the flow diagram creation module 10 include the image flow creation module 11, the title flow diagram creation module 12, the overview flow diagram definition module 13, the overview flow diagram new creation module 14, and the overview flow diagram creation.
  • Guidance module hereafter Below, simply “guidance module”
  • pacemaker module 16 pacemaker module 16 and detailed flowchart definition module 17 are included.
  • the image flow diagram is a flow diagram that defines only the boxes and their connections.
  • This module includes an event wait notation module 111 that creates an image flow diagram for event wait notation.
  • a thought procedure for creating a flow diagram is provided to the user as a guidance message.
  • the guidance message is done in a question-and-answer format, and the specification of each box is defined to complete the outline flow diagram.
  • the user is prompted to enter another question.
  • step S1 it is determined whether the image flow diagram creation mode has been selected. If the result is YES, the image flow diagram creation module 11 is started and step S2 In Fig. 2, an image flow diagram is created by interaction with the user. Thereafter, the title flow diagram creation module 12 is activated, and in step S3, a title flow diagram is created based on the dialog with the user.
  • step S3 the overview flow diagram definition module 13 is activated, and in step S4, the overview flow diagram definition is created based on the dialog with the user.
  • Outline flow diagram definition is to create an outline flow diagram that is the main flow diagram by entering the processing specifications in each box of the title flow diagram.
  • step S6 is performed. Then, the new outline flow diagram creation module 14 is started, and an outline flow diagram is created through dialogue with the user.
  • the creation of the outline flow diagram in step S6 completes the outline flow diagram by inputting specifications (or specifications and titles) into the boxes each time a box to be included in the flow diagram is set. That is, an outline flow diagram is created directly without completing an image flow diagram and a title flow diagram.
  • step S1 it is determined that the image flow diagram creation mode is not selected.
  • step S5 it is determined that the overview flow diagram new creation mode is selected! If it is determined that the guidance mode has been selected !, and in step S8, it is determined that the pacemaker mode has been selected, the process proceeds to step S9 and the pace measuring module 16 is activated.
  • step S10 the guidance module 15 is activated. This allows pacemakers and guidance machines based on user interaction. Create an overview flow diagram using On the other hand, if it is determined that the pacemaker mode is selected in step S8, the process proceeds to step 10 and the guidance module 15 is activated, and the outline flow diagram is displayed while providing the guidance for creating the flow diagram based on the dialogue with the user. create.
  • step S11 the detailed flow diagram definition module 16 is activated to interact with the user.
  • the detailed flow diagram is a flow diagram from the first lower layer to the lowest layer of the created general flow diagram, and the detailed flow diagram of each layer includes steps S2 to S4, step S6, step S8, and 10 It is created in the same way as the outline flow diagram in either of the above.
  • step S12 when the detailed flow diagram up to the lowest layer is completed and it is determined in step S12, the processing by the flow diagram creation module 10 ends.
  • the specification entered in the box of the upper layer flow diagram is a flow diagram ID representing the detailed flow diagram of the lower layer corresponding to the box.
  • the function of the flow diagram conversion module 40 is a flow diagram linkage analysis module 41 for analyzing the relationship between the processing box of the flow diagram, the inflow line and the outflow line, and each flow diagram.
  • Box content analysis module 42 that analyzes the contents in the box inside
  • source program conversion module 43 that converts the specifications in each box into source code
  • data definition that incorporates data definition and screen definition into the source program ⁇ screen definition source program embedded It can be roughly divided into module 44, expansion function analysis module 45 for analyzing expansion functions, and expansion function source program incorporation module 46 for incorporating expansion functions.
  • the function of the verification module 50 is a display module 51 that displays a processing route, and a "acquisition" display that acquires and displays a processing result by a path 'pause function'. It can be roughly divided into a module 52, a display module 53 for displaying processing errors, and an entire processing result display module 54 for displaying the results of the entire processing.
  • the system of the present invention also stores data relating to the functions of the modules described above.
  • the DB includes the flow diagram plate master DB1, flow diagram file DB2, guidance master DB3, guidance data DB4, data definition file DB5, screen definition plate master DB6, screen definition file DB7, language It has a master DB8, a code expression description master DB9, a source program file DB10, and a passing history Z variable value file DB11.
  • An image of an event processing program start box (hereinafter referred to as “event box”), an event processing program end box (hereinafter referred to as “event end box”) (hereinafter referred to as “box” when these are collectively referred to).
  • event box an event processing program start box
  • event end box an event processing program end box
  • box an event flow diagram initial box group consisting of a combination of a plurality of boxes designated by an event box
  • an event flow diagram end box group consisting of a combination of a plurality of boxes designated by an event end box are stored in advance. ing.
  • the guideline (guidance) data that should be asked to the user when creating the flow diagram executed by the guidance module 15 is stored, and the user response time to the question when creating the flow diagram executed by the pacemaker module 16 and the guidance module 15 And hints to the user are stored in association with each other.
  • it stores data of the initial flow format when creating a flow diagram according to the guidance.
  • the data definition set on the PC screen by the function of the data definition creation module 20 is stored as data for each item.
  • the screen definition set on the PC screen by the function of the screen definition creation module 30 is stored as data for each screen component (frame, button, line, table, etc.).
  • the function of the flow diagram analysis conversion module 40 stores a reference table of the specification language of the user input and the source code, which is referred to when the created flow diagram is converted into the source program.
  • Source code is stored corresponding to the type of programming language.
  • the function of the flow diagram analysis conversion module 40 stores a comparison table of the location of the user input specification and the location of the source code, which is referenced when converting the created flow diagram into a source program. .
  • functions that are modules of source programs corresponding to typical boxes that are frequently used are also stored in the template library.
  • the template library includes, for example, model functions for screen processing, printing processing, and patch processing (each of which is plural).
  • the flow diagram creation module 10 When the user activates the source program creation application of the present invention on the PC screen and selects the flow diagram creation mode, the flow diagram creation module 10 is activated. Then, when the user selects the image flow diagram creation mode from the flow diagram creation menu, the image flow diagram creation module 11 is activated.
  • a plate that is displayed on the flow diagram creation area force SPC screen and that displays the image box included in the program flow diagram is displayed from the flow diagram plate master DB1. It is read out and automatically displayed as a list of plates as shown in Figure 4-1, at an appropriate position such as the bottom or right edge of the PC screen.
  • the start terminal and the bottom outflow line are automatically displayed in the flow diagram creation area of the PC screen, and the processing box is shown at the lower end of the bottom outflow line with a broken line ( (Or blinking).
  • the bottom outflow line is automatically displayed as a broken line at the bottom of this processing box.
  • a processing box D and its lower outflow line d are newly arranged, and at the lower end of the lower outflow line, The processing box is automatically displayed with a broken line (or blinking).
  • a lower outflow line is automatically displayed as a broken line at the lower end of the processing button.
  • the title flow diagram creation module 12 is activated, and the user can input a title in each box in the image flow diagram. That is, every time the user selects a box, a title input screen (Japanese name input screen) is displayed, and the user inputs a title on the screen.
  • the title flow diagram is created when the user inputs the titles of all boxes and the branch conditions of the judgment boxes.
  • FIG. 5 shows a state in which a title flow diagram is created by inputting a title in each box of the image flow diagrams shown in FIGS. 4-8.
  • the flow diagram name in this example is “NIPPO—HI ZUKE”.
  • the input title of each box is associated with the box number. For example, “screen input process” is associated with box number 2 and “date determination process” is associated with box number 3. ⁇ ⁇ ⁇ , Stored in the flow diagram file DB2.
  • the overview flow diagram definition module 13 is activated.
  • an image flow diagram (or title flow diagram) is displayed on the PC screen, and when the user selects a box in the displayed flow diagram, a specification input screen is displayed.
  • The When the user inputs specifications on the screen and inputs the specifications of all boxes, an outline flow diagram corresponding to the main program is created. All data related to each box in the outline flow diagram is stored in the flow diagram file DB2 as a flow-type master for each box.
  • the specification input and flow diagram master will be clear from the description of Fig. 7-1 to Fig. 7-4 described later.
  • FIG. 6 shows a state in which an outline flow diagram is created by inputting the specifications of each box in the image flow diagrams shown in FIGS. 4-8.
  • the title and specifications are input on different screens.
  • the functions of the title flow diagram creation module 12 and the outline flow diagram definition module 13 may be integrated and input on the same input screen. This will be described below by taking as an example a case where the user has selected a judgment box.
  • the judgment box box number 3
  • the input screen shown in Fig. 7-1 is displayed. A plurality of input fields are displayed on the screen, and field numbers Fxxx are associated with these input fields.
  • the input line inflow line
  • output line outflow line
  • the current box number and the next The box number is displayed.
  • An input field is also displayed at the position where the inflow Z outflow line can be set and the position where the branch condition can be set, which were not set when creating the image flow diagram.
  • box number 3 is displayed at a position corresponding to field number F001, and an output line is displayed at a position corresponding to field numbers F036 and F037.
  • a box type code “06” indicating a judgment box is also displayed, and a field number F002 is associated with the box type code.
  • the box type code is determined when the user selects a box in the plate list, and a code corresponding to the type is assigned.
  • the branch condition may be input by designating the vicinity of the end of the judgment box without selecting the input field and selecting the pull-down menu force displayed accordingly.
  • the input / output lines can be selected from the pull-down menu displayed by specifying the end of the judgment box without displaying the input field.
  • FIG. 7-3 for the judgment box
  • FIG. 7-4 for the processing box
  • the image flow diagram creation module 11, the title flow diagram creation module 12, and the summary flow diagram definition module that start the summary flow diagram new creation module 14 are started by switching appropriately as follows. A title and / or specification can be entered each time multiple boxes are placed in the flow diagram creation area.
  • FIG. 7-5 a flow diagram including a wait state of a plurality of randomly generated events executed in the event wait notation module 111 of the flow diagram creation module 10 of the system of the present invention is shown.
  • the functions to be created will be described in detail with reference to the flowchart in Figure 7-5. Note that this function is a force that allows the user to easily and accurately represent multiple event waiting states on the flow diagram. Basically, this function is related to Fig. 41 to Fig. 7-4. Use the functions described above! /
  • the flow diagram creation mode is selected.
  • the flow diagram creation module 10 is started, and when the user selects the image flow diagram creation mode from the flow diagram creation menu, the image flow diagram creation module 11 is started and the flow diagram is created.
  • the creation area is displayed on the PC screen, and step 370 in Figure 7-5
  • the plate list shown in Fig. 4-1 is automatically displayed at the appropriate position on the PC screen from the raw plate master DB1.
  • the initial screen as shown in Figure 4-2, that is, the initial screen displaying the solid line start terminal and the bottom outflow line, and the dotted line processing box and the bottom outflow line, is a flowchart. It is automatically displayed in the creation area.
  • the image flow diagram creating module 11 determines that, and activates the event waiting notation module 111 in step S71.
  • the module 111 is activated, in step S72, the initial screen shown in FIG. 41 is automatically deleted from the flow diagram creation area, and the event flow diagram initial box group is displayed from the flow diagram plate master DB1. Read and display automatically.
  • the event flow diagram initial box group has a configuration as shown in, for example, FIG. 7-6. In this example, a start terminal, a processing box, a screen display box, a processing box, a virtual box with box numbers 1 to 12 are attached.
  • the event flow diagram initial box group includes at least the virtual event waiting box and the return terminal, and does not need to include all the boxes described above, and the return terminal force arrow to the virtual event waiting box (in the example of the figure, a dotted line) As long as it contains an arrow.
  • other boxes such as the start terminal can be appropriately selected from the plate list and placed in the event flow diagram creation area. Good.
  • the event waiting notation module 111 waits for the next operation of the user.
  • Fig. 7-7 shows the flow chart on the screen shown in Fig. 7-6.
  • the user places three decision boxes (box numbers 13, 15, 17) downstream of the decision box (box number 9).
  • Three processing boxes (box numbers 14, 16, and 18) are added corresponding to each force, and each box force also shows an outflow line added. In this case as well, a dashed processing box and a lower outflow line are automatically added below the final added outflow line (with the judgment box force of box number 17).
  • the event waiting notation module 111 determines it in step S77, and in step S78, the broken processing box and the outflow line. Is automatically deleted, and a combination of a plurality of boxes stored corresponding to the event end box, that is, the event flow diagram end box group is read from the flow diagram plate master DB1 and arranged at that position. Then, when the user selects the “numbering button” on the screen, the final regular box number is automatically assigned, and a flow diagram as shown in Fig. 7-8 is formed.
  • the event flow diagram end box group includes one decision box (box number 13), one processing box arranged in the horizontal direction (box number 19), and a horizontal outflow line from these boxes.
  • a directional outflow line is included in the return terminal (bottom number 12) from the added judgment box (box number 13).
  • step S79 the image flow diagram corresponding to the program including the event processing is created, and when the event waiting notation module 111 detects the end of image flow diagram creation in step S79, in step S80 Then, the created flow diagram is stored in the flow diagram file DB2 in association with the flow diagram ID, thereby ending the image flow diagram creation mode.
  • the determination in step S79 is whether the “numbering button” has been selected. The determination may be made based on whether or not the “end button” is selected.
  • the downstream line of the judgment box displayed in the last stage is connected to the return terminal (box number 12). Therefore, the image flow diagram creation can be ended only by displaying the event flow diagram initial box group in step 72.
  • the “Process” title is entered, and the branch conditions “YES” and “NO” are entered in the decision boxes (box numbers 7 to 14), respectively.
  • the virtual event waiting box (box number 5) is a box for expressing a special function. Therefore, it is possible to input a title (and specification) in advance.
  • the code expression description master DB 9 stores a library of program modules already created for boxes that are frequently used, and identifies these program modules.
  • the program module ID that is, the function name can be entered as the specification.
  • the specifications “GPG_01 ()”, “GPG_020”, and “GPG_020” entered in the boxes of box numbers 2 to 4 are the function names corresponding to these boxes.
  • a box with complicated processing in the outline flow diagram is usually processed by a lower layer flow of the detailed flow diagram definition module 17 so that it can Expanded in the figure.
  • the “specification” is a flow diagram ID for identifying the lower layer flow diagram (and the corresponding source program) corresponding to the box.
  • the specifications “PG_110”, “kakutei 0”,... Entered in the bots with box numbers 15 to 22 are the lower-level flow diagram IDs.
  • the specification in Box 6 is “PG_050”, and this “PG_050” also indicates the lower layer flow diagram ID.
  • the outline flow diagram definition module 13 stores the program module stored in the template library, that is, the contents of the function and the function name, and is created in advance and converted into the source program and stored in the source program file DB10.
  • the contents of the lower level flow diagram and the flow diagram ID are provided so that the user can search on the screen.
  • the user can input the function name and the ID of the lower layer flow diagram as specifications in the box of the flow diagram. If the corresponding lower layer flow diagram has not yet been created, the lower layer flow diagram ID can be set in advance as a specification, and then the lower layer flow diagram can be created using the descending function.
  • the specifications input in the decision boxes 7 to 14 are “SINGO: 0” and “button: 800”, respectively. 4 ”,“ now: 100101 ”,“ now: 100102 ”,“ now: 100103 ”,“ now: 100104 ”,“ now: 100105 ”,“ END_FLG: 0 ”. Show your target! /
  • the flow diagram of the program including the event processing created with the support of the system of the present invention shows the event waiting state to the user even when the event processing occurs randomly. Therefore, the user can easily create a flow diagram that matches the intended processing content.
  • the language described in the processing box is usually a description according to the format specific to the manufacturer's language in order to create a source program.
  • Such a notation system is referred to as a “new notation” in the present specification, and by this, a specification can be created in a user-friendly language. That is, the written user language is converted into the format of the manufacturer language when the source code is converted via the language master. Therefore, if this function is used, the converted general-purpose computer language (C, C ++, Java, etc.) can be freely selected at the time of conversion to source code.
  • the function B when the function B is set in the processing box of the main flow diagram A, which is a schematic flow diagram, and the function B has a complicated structure, the user can When function B is specified and the descending menu is selected, the flow diagram creation screen for processing function B is automatically displayed.
  • a sub-flow diagram B is created by interacting with the user on the screen and performing the same process as the creation of the schematic flow diagram described above. If the created subflow diagram B contains the function C, when the user designates the function C and selects the descending menu, the function C flow diagram creation screen is displayed, and the subflow diagram C is displayed. create . If subflow diagram C contains function D, to process that function D in the same way Create subflow diagram D.
  • the guidance module 15 When the user selects the guidance mode in order to create a schematic flow diagram, the guidance module 15 is activated. Then, the guidance module 15 reads the data of the initial flow form from the guidance master DB3, and as shown in Fig. 9-1, the start terminal, initial processing box, connector (G1) are displayed in the flow diagram creation area of the PC screen. , And end terminals are automatically generated.
  • Fig. 9 2 shows an example of data stored in the guidance master DB3.
  • the guidance master DB3 is provided to the user in accordance with the level form of the flow diagram. Contents to be asked are stored as guidance data.
  • a schematic flow diagram can be created by repeatedly performing display based on guidance and user response based on guidance stored in the guidance master DB5. it can.
  • the contents of the schematic flow diagram are stored in the flow diagram file DB2 as described above, and the contents of the question and answer are stored in the guidance data DB4 as guidance data.
  • processing box (box numbers 17 to 19) have a derivation relationship, the former being the derivation source and the latter being the derivation destination.
  • a flow diagram including a derivation source box (initial box) is referred to as an initial flow diagram
  • a flow diagram including a derivation destination is referred to as a development flow diagram.
  • such a derivation relationship is also stored in the flow diagram file DB2.
  • the ID of the derivation source box that is, the box number
  • the box master of the derivation destination box box numbers 14 to 19
  • the flow diagram of Fig. 94 displayed, if you select the derivation source box (box number 9), it will be replaced with the derivation destination boxes (box numbers 14 to 19).
  • you select multiple derivation destination boxes (box numbers 14 to 19) while displaying the flow chart in Figure 96 these boxes are replaced with the derivation source box (box number 9).
  • the pacemaker module 16 When the user selects the pacemaker function, the pacemaker module 16 is activated.
  • the pacemaker module 16 performs processing in cooperation with the guideline module 15.
  • the guideline module 15 When the pacemaker module 16 is activated, the guideline module 15 is also activated.
  • the time until the user responds to the question by the guidance module 15 is measured each time, and the measured time is stored in the guidance data DB 4 as guidance data together with the question content and the response content. If the user does not enter a response to each question for more than a first specified time (for example, 30 seconds or 1 minute), provide a message prompting the response to the user and for a second predetermined time (for example, 2 minutes) or more If not, search the guidance master DB3 for cases similar to the question and provide the user with a hint of response. Also, if there is no response for a third predetermined time (for example, 5 minutes), it is confirmed whether the process is to be interrupted or continued. In the case of interruption, the flow diagram created so far is used as the flow diagram file. Save to DB2 and finish the process. If the user chooses to continue, the above process is repeated.
  • a first specified time for example, 30 seconds or 1 minute
  • a second predetermined time for example, 2 minutes
  • search the guidance master DB3 for cases similar to the question and
  • Figure 10-1 illustrates the data stored in the guidance data DB4 when executed in the pacemaker mode.
  • the time data is not stored in the guidance data DB 4 but only the relationship between the question and the response to the question is stored.
  • Fig. 10-2 shows the guidance data shown in Fig. 10-1 as a guidance time table.
  • the pacemaker module 16 has a function of displaying such a guidance time table on the PC screen, thereby allowing the user to grasp the problem of work efficiency.
  • Fig. 10-2 it is shown that the greater the slope of the straight line on the right, the more time is required for user response. Therefore, the question corresponding to a straight line with a large gradient can be estimated as a delayed response due to whether there is a problem with the user or a problem with the specification, and can be a future problem.
  • an item information box input screen as shown in FIG. 113 is displayed.
  • item attributes item name, Japanese name, type, number of digits
  • the screen shown in Fig. 11-4 appears.
  • item name R1 000
  • Japanese name full name record
  • type character
  • number of digits 123
  • a record information box of "R1000" is automatically generated and displayed below "KOKYAKU—F”.
  • the record length is 123 and that it is a name record.
  • a new item information box is created in the same layer, the user designates the upper side or the lower side of the box of the layer. Then, as shown in Fig. 117, a new item information box is temporarily created above or below (but on the same layer) the relevant item information box and displayed with a broken line.
  • the lower side of the item “ ⁇ 1110” is the selected force or item. Whether the upper side of “K1130” has been selected!
  • the frame field attribute input screen shown in Fig. 12-3 is automatically displayed.
  • the user enters the line thickness, line type, and line color (or changes the initial values displayed in advance), and the user operates the mouse to move the cursor in the screen layout area.
  • the drawing of the line with the input thickness, line type, and color is executed, and the frame (frame FR in Figure 12-4) is displayed.
  • the XY coordinates of the generated frame are automatically acquired.
  • the screen definition file is associated with the various attribute field IDs shown in Figure 12-3. Stored in DB7.
  • buttons are created on the screen as shown.
  • the title on the button (“Return”, “Search”, “Start”, “District”) is entered by the user entering the title in the display character column of the button field input screen shown in Figure 12-4.
  • the XY coordinates of the start position and end position of each button are automatically obtained by reading the position coordinates of the created button.
  • Various attributes shown in Fig. 12-4 are stored in the screen definition file DB7 in association with each button ID.
  • the source program is automatically generated from the detailed flow diagram. Created on.
  • the flow diagram analysis analysis module 21 of the flow diagram analysis conversion module 40 (Fig. 2-2) Force reads the box connected to the start terminal of the detailed flow diagram and its outflow line, and links it along the main line (ie The processing box contents analysis module 22 analyzes the specifications of each box. Repeat this process to analyze the linkage to the end terminal and the specifications. For the decision box, both the trunk line and the branch line are analyzed, but check the input / output conditions of the upper, lower, left, and right sides of the decision box, and check the branch direction
  • the source program conversion module 23 converts the processing contents in each box, that is, the specifications into source code. If the processing contents include screens that require external information, expansion functions, etc., temporarily store the processing contents in the box. Then, convert the contents of other boxes on the main line into source code, and then To convert the contents of the box on the branch line to the source code. After that, in collaboration with the data definition 'screen definition source program built-in module 24, the processing contents of the boxes that have been temporarily stored are analyzed while acquiring external information in the order of appearance of the images, functions, etc. Convert to include. As for the expansion function, the expansion function analysis module 25 analyzes using the descending function as described with reference to FIG. 8, and the expansion function source program incorporation module 26 incorporates the result into the source program.
  • the language described in the processing box is usually described in accordance with the format specific to the manufacturer's language in order to create a source program.
  • a free notation that is not limited to the language-specific format of the manufacturer.
  • Such a notation system is referred to as a “new notation” in the present specification, and by this, a specification can be created in a user-friendly language. That is, the written user language is converted into the format of the manufacturer language at the time of source code conversion via the language master. Therefore, if this function is used, the converted general-purpose language (C, C ++, BASIC, Java, etc.) can be freely selected at the time of conversion to source code.
  • the processing content is “Add the J area value to the C area value and store the result in the C area. Then, add 1 to the J area value.”
  • the processing content is “Add 1 to the J area value. Then add the J area value to the C area value. And store the result in area c "
  • Cyudan (however, the interruption time is set to 1.5 seconds as standard)
  • ADCHAR meaning "input error” in field 800200) • Processing content "Display with specified color”
  • the language master DB8 Correspondence between the above-mentioned new notation system and the C ++ language is stored in the language master DB8. Such correspondences are created and stored according to the type of computer language required.
  • the language notation familiar to the user will be used, so you can use hiragana or katakana instead of the alphabet! ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • the processing content is ⁇ Set the character color to red Display an error message and If it sounds “1. Wait for 5 seconds”, it will be written as follows in the new notation and C ++ language.
  • ADCHAR 800200, "Input error. ,,
  • the system of the present invention when inputting the specification contents in the flow diagram, it is possible to input in the user's own easy-to-understand language, and the written user language is expressed in the C via the language master table. Since it is converted to language, etc., even a user who does not know the computer language can easily input.
  • the processing box contents analysis module 22 (Fig. 2-2) of the flow diagram analysis conversion module 40 obtains the master data (that is, the diagram) of the box number 3 shown in Fig. 7-2 from the flow diagram file DB2. 7-3) and read the data.
  • the source program conversion module 23 calls the code description master in the case of the judgment box from the code expression description master DB9. In the case of C ++ language, it becomes an array description master as shown on the right side of Figure 13-1. Then, the field number data in the box master is assigned to each item of the read description master according to the correspondence shown in Fig. 13-1.
  • processing box type is “06” indicating the determination box
  • description master corresponding to the “06” is read from the code expression description master DB 9.
  • processing box The number “3” is copied to the position of the processing number, and the data names “D1” and “05030 3” in the left and right terms are respectively copied to the corresponding positions.
  • the branch destination box number when the judgment is established and the branch destination box number when the judgment is not established are obtained as master data power of the flow diagram file DB2 and copied to the corresponding positions.
  • the flow diagram linkage analysis module 41 of the module 40 analyzes the linkage of each box in step S81 of Fig. 13-3. Then, in step S82, the processing box contents analysis module 42 detects that a box indicating an event waiting state, that is, a virtual event waiting box (box number 5) is included in the flow diagram to be converted, and step S83. Reads the event processing definition program module included in the OS of the PC. In step S84, it is determined whether or not the function name in the template library stored in the code expression description master DB 9 is included as the specification of each box.
  • the template library group includes an initial processing box before drawing (box number 2), an initial screen processing box (box number 3), and an initial processing box after drawing (box number) for screen processing.
  • the function corresponding to the function name of No. 4) is included, and the box content analysis module 42 determines that the box whose specifications are these function names exists on the flow diagram to be converted, and the step In S85, the source program conversion module 43 reads these functions from the template library, associates them with box numbers 2 to 4, and incorporates link information of each box.
  • step S86 the processing box content analysis module 42 determines whether or not the ID (function name) of the lower flow diagram is included as the specification of each box, and in step S87, the source program The conversion module 43 reads the function corresponding to the lower layer flow diagram ID, which is the specification of the processing box (box numbers 14 to 19), that is, the source program module, reads it from the source program file DB10, associates it with the box number, and links the boxes. Incorporate information.
  • step S88 the processing box content analysis module 42 determines whether or not a determination box is included, and in step S89, the source program conversion module 43 determines whether or not the source program conversion module 43 is the same as that shown in FIGS. — As explained with reference to 2, while referring to the language master DB8, convert each specification of the judgment box (box number 7 to 17) to the source code and associate it with the box number, and link each box. Incorporate information.
  • step S90 the processing box content analysis module 43 determines whether or not there are other boxes. If so, in step S91, the source program conversion module 43 selects the language master DB8. Refer to it, convert it to source code, associate it with a box number, and incorporate linkage information. When converting the processing box of the lowermost flow diagram to source code, refer to the language master DB8 and convert the specifications on the flow diagram to computer language.
  • Fig. 13-4 and Fig. 13-5 show an example of the source program created in this way.
  • Step S88 and S89 can be executed before Step S82, and other appropriate changes can be made.
  • the flow diagram analysis conversion module 40 generates an event on the flow diagram to be converted.
  • a waiting state box virtual event waiting box
  • the flow diagram is a program flow diagram that includes event waiting processing, and is installed on the user's PC.
  • the event processing definition program included in the installed OS is read, and the functions stored in the template library stored in the code expression description master DB9 and the functions of the created lower layer flow diagram (that is, the lower layer flow) Since the source program module (corresponding to the figure) is being read, it can be easily converted into a source program.
  • the flow diagram created by the user as shown in Figure 7-9 and Figure 7-10, waits for a randomly generated event to be processed. It is expressed simply and logically in a form that is easy for the user to understand, and it is possible to convert such a simple and logical flow diagram into a proper source program.
  • the master data of all boxes in the flowchart is read from the flowchart diagram file DB2, and the data is replaced with the program language array specified by the user, and then converted into the source program of the language.
  • the source program converted from the flow diagram is stored in the created source program file DB 13 together with the source code of the data definition and screen definition used in the program.
  • the source program converted by the flow diagram analysis conversion module 11 is further compiled with reference to a library provided by the language maker, but the processing operation is general purpose. Is omitted.
  • the verification module 50 for verifying the created source program will be described.
  • the flow diagram file DB2 force Master data of the outline (or detail) flow diagram corresponding to the source program is read, and the flow diagram is reproduced and displayed based on the data Is done.
  • the pause function is a function that acquires the execution results (including the values of various variables) until the set point is reached, and pauses the process when the set point is reached.
  • the path function is used to acquire the execution results (including the values of various variables) until the set point is reached. It is a function to continue.
  • the processing route display module 31 (Fig. 2-3) performs processing while displaying the elapsed route on the flow diagram. Is executed.
  • the lower layer flow diagram is displayed by the lower layer function, and the passing route is also displayed on the flow diagram.
  • the processing result acquisition and display module 32 function acquires the order of passing the set point of the pause function and the set point of the pass function as the passing history, and the processing has passed.
  • the value of the preset variable is acquired every time the processing of the box including the variable is completed, and these are stored in the passage history Z variable value file DB11.
  • the program processing is performed when the process proceeds to the pause setting point S013.
  • the processing result acquisition / display module 32 refers to the passage history Z variable value file DB11 and searches the history that the processing has passed through the pause setting point S013 and the path setting points P009 and P010 up to the temporary stop. It is displayed as a passing history list, and the values of various variables set in advance in the flow diagram are displayed as a variable value list.
  • Fig. 14-2 and Fig. 14-3 show such a passing history list and a variable value list.
  • the judgment box force of box number 7 is branched and reaches the pause setting point S013. Is shown.
  • the variable value list shown in Fig. 14-3 when the program is paused at the pause set point S013, box numbers 4, 6 to 10 in the flowchart shown in Fig. 14-1 are displayed. , 13 and 14 indicate the values of the variables (variable names A to G).
  • the passing history list shown in Fig. 14-2 if the user selects, for example, generation 4 pause point P010 (indicating that the processing has passed twice), the point is processed for the second time.
  • the variable values A to G at the time of passing are displayed as a list.
  • the processing error display mode With the function of module 33, the box number and processing line are displayed on the PCC screen as an error table.
  • the present invention is configured as described above, an arbitrary source program can be easily created even by a user who does not have advanced knowledge. Since the flow diagram is converted into a source program, the same logic as the logic of the specification in the flow diagram and the logic of the source program is maintained. In particular, multiple events and the corresponding processing power S can be appropriately represented on the flow diagram when waiting for an event that occurs randomly.
  • the user can create a data definition while viewing the data definition of the tree structure on the PC screen, and the screen definition can be created simply by creating the screen on the PC screen. it can. Therefore, it is easy to create and maintain data definitions and screen definitions.
  • verification can be performed by actually running the created source program, and the result can be reflected in correction of the source program.

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

 本発明は、イベント処理を含んだソースプログラムを容易に作成できるようにするためのソースプログラム作成支援システムを提供する。作成すべきソースプログラムに対応するフロー図をPCスクリーン上に作成することを支援するフロー図作成モジュール(10)は、フロー図に含まれる入出力線及びボックス等の基本的なプレートの一覧を表示し、ユーザがプレートを選択し、その配置位置をモニタスクリーン上で指定する毎に、該配置位置に選択されたプレートを表示する。イベント処理プログラムを作成するためのイベントボックスが選択されると、仮想イベント待ちボックス及びリターン端子を含んだイベントフロー図初期ボックス群を自動的に表示させる。フロー図解析変換モジュール(40)は、作成されたフロー図を解析してソースコードに変換することによりソースプログラムに変換するが、仮想イベント待ちボックスが含まれている場合、イベント定義モジュールを読み出してソースプログラムに組み入れる。                                                                               

Description

ソースプログラム作成支援システム 技術分野
[0001] 本発明は、 CASE (コンピュータ支援ソフトウェアエンジニアリング)ツールであるソ ースプログラム作成支援システムに関し、より詳細には、コンピュータのソースプロダラ ムを作成する際に、プログラミングの高度な知識を必要とせずに、コンピュータ支援の 下で、コンピュータ言語のソースプログラムを容易に作成することができるようにしたシ ステムに関する。
背景技術
[0002] 今日、汎用システムにおけるシステム開発は、通常、システム分析工程、システム設 計 (機能設計、データ設計)工程、プログラム設計工程、プログラミング工程、テスティ ング (検証)工程の順で行われる。そして、システム化業務フロー図、システム化機能 概要、入出力定義のドキュメントを作成し、該ドキュメントに基づいて、システム、サブ システム、プロセス、プログラム、モジュールと分割を行って、概要から詳細に仕様を 定義している。
[0003] このような仕様のドキュメントを作成する際、サブシステム関連図、サブシステム概要 、プロセス関連図、業務機能フロー図、プロセス概要、プロセスフロー図、プログラム 概要、プログラム構造図、モジュール(プログラムモジュール)概要、コーディングと、 各工程でその上流工程のドキュメントに基づいて、論理の関連を保持しつつ個々に ドキュメントを作成している。
[0004] このとき、ドキュメント書式は個々に特有なものとなっており、このように形式が多種 多様のドキュメントを作成するには、多大な工数及び時間を必要としている。
[0005] さらに、プログラミングは、高度なプログラミング知識を有するエキスパートであるプ ログラマによってなされており、プログラミング知識を有さない要員には不可能である
[0006] このような従来例の問題点を解決するために、以下の特許文献 1及び 2に記載され て 、るような、コンピュータ支援の下で自動的にプラグ口ミングを作成できるようにした 装置及び方法が提案されて!ヽる。
[0007] 特許文献 1の製造管理プログラム自動作成装置は、 C言語ソースプログラムを作成 できるようにしているが、この装置は製品の製造管理のプログラムを作成するものであ るため、部品の組み合わせでソースプログラムを作成するようにして!/、る。
[0008] また、特許文献 2の自動プログラミング方法も、 C言語ソースプログラムを作成できる ようにしている力 この方法はエキスパートシステムを構築するためのものであり、した がって、この方法にぉ 、ても用途が特ィ匕されて 、る。
[0009] さらに、従来、仕様変更が生じた場合及びバグ修正が必要な場合には、異なった 形式のドキュメントであるため、これらドキュメントから、複数の工程に渡って関連付け られている論理を追求することが極めて複雑となり、論理の追求にも多大な工数及び 時間を必要としている。そのため、ドキュメントを変更せずにソースプログラムのみを 変更することが多ぐこのような場合、仕様書の論理とソースプログラムの論理の同一 性が維持されないことになる。
[0010] また、イベント処理を包含するプログラム (C言語で、画面、キーボード等力 の入力 処理があるプログラム)において、画面入力処理のプログラムでは、入力画面表示状 態で入力待ちの状態となる。また、入力完了の特定信号であるイベント信号 (例えば
、キーボードからの Enter信号)を受け取るまで、プログラムは処理待ちとなる。このよう なイベント処理を包含するプログラムにお 、て、複数のイベントがランダムに発生する 場合、従来は、イベント待ちの状態をフロー図中に明確かつ適切に表記することが困 難であった。
[0011] なお、以下の特許文献 3には、複数のイベント待ちをフロー図上で表示することが できるようにしたフローチャート入力装置について記載されている。し力しながら、この フローチャート入力装置にお 、ては、複数のイベント及びそれに対応する処理がラン ダムに行われる場合のイベント待ち状態を適切に表現できるものではない。
[0012] 例えば、「氏名」、「フリガナ (氏名)」、「郵便番号」、「住所」、「フリガナ (住所)」を画 面上で入力するための氏名住所プログラムを作成する場合等のように、入カオペレ ータが表示された入力画面の表示順に入力しないことを考慮して、プログラムを作成 する必要がある。すなわち、通常、オペレータがカーソルを表示された任意項目の入 力欄に移動させ、データの入力を行ったり修正を行ったりするが、その場合、カーソ ルの位置によりイベントがランダムに発生されるので、作成すべきプログラムをランダ ムに行われる処理に対応させる必要がある。
[0013] そして、そのようなプログラムを作成するための前提となるフロー図をユーザが作成 する際、イベント待ち状態を明確かつ平易に表すことができるようにする必要がある 力 特許文献 3のフローチャート入力装置においては、該文献の図 5及び図 8等に記 載されているように、 1つのイベント処理が終了すると、他のステップに移行してしまい 、複数のイベント及びそれに対応する処理がランダムに発生する場合のイベント待ち 状態を、フロー図上で適切に表すことができるようにしたものではない。また、仮に、こ の従来例のフローチャート入力装置を、上記した氏名住所入力プログラムを表すよう に変更しょうとした場合、図 15に示すように、極めて複雑なフロー図となってしまう。そ して、入力項目が増大するほど複雑度が増大してしまい、したがって、ユーザが正確 なフロー図を作成することが困難となってしまう。
[0014] また、ソースプログラムは、通常、データ定義、画面定義、及びメインプログラムの組 み合わせで構成されて 、る。
[0015] そして、従来は、データ定義を行うためには、ファイルレイアウト用紙に項目の桁位 置を合わせて記述し、項目の追加、削除、又は項目の桁数変更等が発生した場合、 改めて桁位置を決め直し、再記述を行っている。さらに、項目の細分化による詳細項 目定義も同様な作業を行わなければならない。そして、開発時は頻繁に変更が発生 する場合が多ぐ変更の度にこのような作業を行っているため、手間が力かっている。 さらにまた、記述したファイルレイアウト情報は、プログラム毎にコーディングする必要 がある。
[0016] また、従来、画面定義を行うには、画面の概要定義を手作業でラフスケッチし、これ を元に画面レイアウトを作成している。画面レイアウトを作成する際、線、項目等の位 置を画面上の X— Y座標に対応付ける必要がある力 この座標値も線及び項目属性 とともにソースコードで定義しなければならない。また、記述した画面レイアウト情報は 、プログラム毎にコーディングする必要がある。したがって、従来手法で画面定義を 行うには、煩雑な手順と保守性の困難性から、作業効率が低い。 特許文献 1:特開平 6— 214769号公報
特許文献 2:特開平 9 91146号公報
特許文献 3:特開平 11― 296357号公報
発明の開示
発明が解決しょうとする課題
[0017] 上記したように、 自動プログラミング装置及び方法が既に提案されているが、いずれ も特定の用途に特化したものであり、特に、複数のイベント及びそれに対応する処理 力 Sランダムに発生する場合のイベント待ち状態を、フロー図上で適切に表すことがで きるようにしたものではな!/、。
[0018] また、上記したように、従来の手法でソースプログラムのデータ定義及び画像定義 を作成することは、極めて煩雑であり、作業効率が悪い。
[0019] 本発明は、このような問題点を解消するためになされたものである。
[0020] 本発明の第 1の目的は、複数のイベント及びそれに対応する処理がランダムに発生 する場合のイベント待ち状態をフロー図上で適切に表すことができるようにしたフロー 図作成手段を備えたソースプログラム作成支援システムを提供することである。
[0021] 本発明の第 2の目的は、上記した第 1の目的を達成するフロー図作成手段を備え、 かつ任意のソースプログラムを、高度な知識を備えて 、な 、人であっても容易に作成 できるようにしたソースプログラム作成支援システムを提供することである。
[0022] 本発明の第 3の目的は、上記した第 2の目的を達成するソースプログラム作成支援 システムにおいて、ソースプログラムに含まれるデータ定義を、高作業効率で作成す ることがでさるよう〖こすることである。
[0023] 本発明の第 4の目的は、上記した第 2の目的を達成するソースプログラム作成支援 システムにおいて、ソースプログラムに含まれる画面定義を、高作業効率で作成する ことがでさるよう〖こすることである。
[0024] 本発明の第 5の目的は、上記した第 2の目的を達成するソースプログラム作成支援 システムにおいて、作成されたソースプログラムの検証を可能にし、その結果をユー ザに分力り安 、形態で提供することである。
課題を解決するための手段 上記した目的を達成するために、本発明は、コンピュータにより読み取り可能なプロ グラムを利用し、ユーザとの対話によりソースプログラムを作成するためのソースプロ グラム作成支援システムであって、作成すべきソースプログラムに対応するフロー図 をモニタスクリーン上に作成することを支援するフロー図作成手段と、該フロー図作 成手段によって作成されたフロー図を解析してソースコードに変換することによりソー スプログラムに変換するフロー図解析変換手段とを含んでいるソースプログラム作成 支援システムにおいて、
フロー図作成手段は、
フロー図に含まれるスタート端子、エンド端子、流入線、流出線、及び複数のボッ タスを含む基本的なプレート、並びに、ランダムに発生される複数のイベントによりそ れぞれ駆動される複数のイベント処理を含むイベント処理プログラムの開始プレート を含む一覧表を、ユーザにより選択可能に表示するプレート一覧表示手段と、
ユーザが表示されたプレート一覧力もプレートを選択し、その配置位置をモニタス クリーン上で指定する毎に、該配置位置に選択されたプレートの形状を表示するプレ ート配置手段であって、
プレート一覧に含まれるイベント処理プログラム開始プレートが選択されたときに 、イベント発生の待ち状態を表す仮想イベント待ちボックスと該仮想イベント待ちボッ タスに流出線が接続されたリターン端子とを含んでいるイベントフロー図初期ボックス 群をフロー図作成領域上に表示させる手段と
を含んで!/、るプレート配置手段と、
モニタスクリーン上に配置されたボックスに処理の内容に対応する仕様をユーザ に入力させるための入力欄を表示し、入力された仕様を該ボックスと関連付けて記憶 する仕様設定手段と
を備え、
フロー図解析変換手段は、
ソースプログラムに変換すべきフロー図中に仮想イベント待ちボックスが含まれて いる場合に、イベント処理プログラムであると判定して、使用しているコンピュータに O Sの一部としてインストールされているイベント処理定義を読み出す手段と、 フロー図中のボックスの連係を解析して各ボックスの連係情報を得る手段と、 フロー図中の各ボックスに設定された仕様をソースコードに変換し、かつ、変換さ れたソースコードに該当するボックスの連係情報を組み入れることにより、各ボックス のソースプログラムモジュールを生成する手段と、
読み出されたイベント処理定義、及び、ボックスの連係情報が組み入れられたソ ースプログラムモジュールを一体化してソースプログラムを生成する手段と を備えている
ことを特徴とするソースプログラム作成支援システムを提供する。
[0026] 上記した本発明に係るソースプログラム作成支援システムにお 、て、イベントフロー 図初期ボックス群は、仮想イベント待ちボックス及びリターン端子にカ卩えて、スタート 端子と、イベント待ちボックスの下流に直列的に配置された 2つの判断ボックスと、該 判断ボックス力ゝらの流出線により該判断ボックスにそれぞれ接続された 2つの処理ボ ッタスであって、その流出線がリターン端子に接続されている処理ボックスとを少なく とも含んで 、ることが好まし 、。
[0027] また、フロー図作成手段はさらに、フロー図作成領域に配置されたプレートの削除 をユーザが指示したときに、該プレートを削除するプレート削除手段と、イベントフロ 一図初期ボックス群以外のプレートが新たにフロー図作成領域に配置されたときに、 該プレートの下流に処理ボックス及びその流出線を、配置されたプレートとは異なる 表示態様で自動的に表示する手段とを備えていることが好ましい。この場合、好まし くは、フロー図作成手段のプレート一覧表示手段により表示されるプレート一覧には 、イベント処理プログラム終了プレートが含まれ、プレート配置手段は、フロー図作成 領域に表示されて 、るフロー図中に仮想イベント待ちボックスが含まれており、かつ 異なる表示態様の処理ボックス及びその流出線が含まれて 、る状態で、プレート一 覧に含まれるイベント処理プログラム終了プレートが選択されたときに、異なる表示態 様の処理ボックス及びその流出線を自動的に削除し、かつ、最下端の判断ボックス の下方に、リターン端子に一方の流出線が接続された判断ボックスを追加し、該判断 ボックスの他方の流出線に接続され、自身の流出線がリターン端子に接続された処 理ボックスを追加するよう構成されて!、る。 [0028] また、上記した本発明に係るソースプログラム作成支援システムにお 、て、該システ ムはさらに、複数の処理内容それぞれに対応するソースプログラムモジュールである 複数の関数をその関数名と対応付けて予め記憶しているひな形ライブラリを備えて おり、フロー図作成手段の仕様設定手段は、ユーザが仕様としてひな形ライブラリに 記憶されて 、る関数名を選択的に入力することが可能なるようにするために、ひな形 ライブラリ中の複数の関数の内容及びその関数名をユーザに提示する手段を備えて おり、フロー図解析変換手段は、変換すべきフロー図に、ひな形ライブラリに記憶さ れて 、る関数名が仕様として設定されて 、るボックスがある場合に、該ライブラリから 該関数名に対応する関数を読み出すよう構成されて ヽることが好ま ヽ。
[0029] さらに、フロー図作成手段は、上位層のフロー図とその下位層の詳細フロー図を作 成するための階層降り機能を実行する手段を備えており、フロー図作成手段の仕様 設定手段は、ユーザが上位層のフロー図の仕様として下位層のフロー図を特定する フロー図 IDを選択的に入力することが可能となるようにするために、下位層のフロー 図の内容及びフロー図 IDをユーザに提示する手段を備えており、フロー図解析変換 手段は、変換すべきフロー図に、フロー図 IDが仕様として設定されているボックスが ある場合に、該フロー図 IDに対応するプログラムモジュールを記憶手段力も読み出 すよう構成されて 、ることが好まし 、。
[0030] さらにまた、上記した本発明に係るソースプログラム作成支援システムにお 、て、フ ロー図作成手段はさらに、モニタスクリーン上に配置されたボックスに処理のタイトル を入力するためのタイトル入力欄を表示し、入力されたタイトルをボックスと関連付け て記憶するタイトル設定手段を備えていることが好ましぐこの場合、フロー図作成手 段の仕様設定手段及びタイトル設定手段は、プレート配置手段によりボックスがモ- タスクリーンに表示される毎に、仕様設定及びタイトル設定が可能であるように構成さ れていてもよい。また、フロー図作成手段の仕様設定手段のみを備えている場合、該 仕様設定手段を、プレート配置手段によりボックスがモニタスクリーンに表示される毎 に、仕様設定が可能であるよう構成してもよい。
[0031] また、上記した本発明に係るソースプログラム作成支援システムにお 、て、フロー図 作成手段はさらに、フロー図作成のために予め設定された複数の質問を含むガイダ ンスをユーザに提供し、該ガイダンスの質問に対してユーザによって入力された応答 に基づいて、フロー図を対話的に作成するガイダンス手段であって、質問は業務数 の質問を含み、該質問に対するユーザの応答に基づ 、た数の判断ボックス及び処 理ボックスを、 自動的にモニタスクリーン上に表示させるガイダンス手段を備えている ことが好ましい。この場合、好適には、フロー図作成手段はさらに、ガイダンス手段が 提供したガイダンスと該ガイダンスに対するユーザの応答との時間経過履歴を取得し 、かつ、該時間経過履歴をモニタスクリーン上に表示するペースメーカ手段を備えて いる。
[0032] さらに、上記した本発明に係るソースプログラム作成支援システムにおいて、フロー 図作成手段は、予め作成された第 1のフロー図と、該第 1のフロー図中の少なくとも 1 つのボックスの処理内容を詳細化して複数のボックスで表した第 2のフロー図との関 係を、モニタスクリーン上に表示する派生関係表示手段であって、第 1のフロー図が モニタスクリーン上に表示された状態で、詳細化された元のボックスが選択されたとき に、該ボックスの代わりに、該ボックスに対応する第 2のフロー図中の複数のボックス を表示させる派生関係表示手段を備えて!/、ることが好ま 、。
[0033] また、上記した本発明に係るソースプログラム作成支援システムはさらに、フロー図 作成手段によって作成されるフロー図において使用されるデータのソースプログラム のデータ定義を、モニタスクリーン上でユーザとの対話に基づいてツリー構造のデー タレイアウトを作成し、該作成されたデータレイアウトに基づいて定義するデータ定義 作成手段と、フロー図作成手段によって作成されるフロー図において使用される画 面のソースプログラムの画面定義を、モニタスクリーン上でユーザとの対話に基づ!/ヽ て画面を作成し、該作成された画面の要素の位置及びサイズに基づ ヽて定義する 画面定義作成手段とを備えていることが好ましい。この場合、フロー図解析変換手段 はさらに、フロー図に基づいて作成されたソースプログラムに、データ定義作成手段 及び画面定義作成手段によって作成されたデータ定義及び画面定義と組み合わせ る手段を備えて 、ることが好ま 、。
[0034] さらに、上記した本発明に係るソースプログラム作成支援システムはさらに、作成さ れたソースプログラムを検証する検証手段を備え、該検証手段は、検証すべきソース プログラムに対応するフロー図をモニタスクリーン上に表示し、表示されたフロー図上 に、ソースプログラムのランを一時停止させ、処理結果を取得し、通過履歴と処理結 果を表示させるべきポーズ設定点と、処理結果のみを取得するためのパス設定点と をユーザに設定させる手段と、検証すべきソースプログラムをランさせ、該ソースプロ グラムに対応しかつ表示されたフロー図上に、処理の経過に伴って通過ルートを表 示する手段と、処理がポーズ設定点に到達したときに、処理を一時停止させ、かつ、 該ポーズ設定点及びパス設定点の通過履歴を表示する手段と、処理がポーズ設定 点に到達したときに、フロー図上の予め設定された変数の値を変数一覧として表示 する手段とを備えて 、ることが好ま 、。
発明の効果
[0035] 本発明は、上記したように構成され、複数のイベント及びそれに対応する処理がラ ンダムに発生する場合のイベント待ち状態を、フロー図上で適切に表すことができ、 し力も、このようなイベント待ち状態を含んだフロー図をソースプログラムに変換すれ ばよいので、イベント待ち状態を含んだソースプログラムの生成が容易となる。このと き、フロー図中の仕様の論理とソースプログラムの論理との同一性が維持される。
[0036] そして、ガイダンス手段を備えている場合には、ガイダンスによりユーザの入力を促 し、それに基づいて自動的にフロー図を作成するので、作成すべきソースプログラム に対応するフロー図作成がユーザにとってより容易となる。さらに、派生関係表示手 段を備えることにより、当初フロー図とそのフロー図を展開した展開フロー図との関係 、すなわち、その派生のいきさつ及びプログラムの論理の進展を、ユーザが容易に把 握することができる。
[0037] また、データ定義作成手段を及び画面定義作成手段を備えていることにより、ユー ザがツリー構造のデータ定義を視認しながらデータ定義を作成することができ、また
、画面をモニタスクリーン上で作成するだけで、画面定義を作成することができる。し たがって、データ定義及び画面定義の作成及び保守が容易となる。
[0038] さらに、検証手段を備えていることにより、作成されたソースプログラムを実際にラン させて検証を行うことができ、その結果をソースプログラムの修正に反映させることが できる。 図面の簡単な説明
[図 1]本発明に係るソースプログラム作成支援システムの概略構成を示すブロック図 である。
[図 2-1]図 1に示したシステム中のフロー図作成モジュールの概略構成を示すブロッ ク図である。
[図 2-2]図 1に示したシステム中のフロー図解析変換モジュールの概略構成を示すブ ロック図である。
[図 2-3]図 1に示したシステム中の検証モジュールの概略構成を示すブロック図であ る。
[図 3]図 2— 2に示したフロー図作成モジュールの動作を示すフロー図である。
[図 4-1]フロー図作成モジュールの機能により表示されるプレート一覧を示す模式図 である。
[図 4-2]フロー図作成モジュールの機能により表示されるスクリーンショットの模式図 である。
[図 4-3]ユーザとの対話に基づきフロー図作成モジュールの機能により表示されるス クリーンショットの模式図である。
[図 4-4]ユーザとの対話に基づきフロー図作成モジュールの機能により表示されるス クリーンショットの模式図である。
[図 4-5]ユーザとの対話に基づきフロー図作成モジュールの機能により表示されるス クリーンショットの模式図である。
[図 4-6]ユーザとの対話に基づきフロー図作成モジュールの機能により表示されるス クリーンショットの模式図である。
[図 4-7]ユーザとの対話に基づきフロー図作成モジュールの機能により表示されるス クリーンショットの模式図である。
[図 4-8]ユーザとの対話に基づきフロー図作成モジュールの機能により表示される、 完成後のイメージフロー図を示すスクリーンショットの模式図である。
[図 5]図 4— 8に示したイメージフロー図にタイトルがユーザにより入力されたことにより 作成されたタイトルフロー図を示すスクリーンショットの模式図である。 [図 6]図 4— 8に示したイメージフロー図に仕様がユーザにより入力されたことにより作 成された概要フロー図を示すスクリーンショットの模式図である。
[図 7-1]判断ボックスにタイトル及び仕様を入力するための入力画面を示すスクリーン ショットを示す模式図である。
[図 7-2]図 7—1に示した入力画面にタイトル及び仕様がユーザにより入力された状 態を示すスクリーンショットである。
[図 7-3]図 7— 2に示したように入力された状態の判断ボックスのマスタデータを示す 説明図である。
[図 7-4]仕様が入力された状態の処理ボックスのマスタデータの一例を示す説明図で ある。
[図 7-5]フロー図作成モジュールのイベント待ち表記機能により実行される、イメージ フロー図作成処理を説明するためのフロー図である。スクリーンショットである。
圆 7-6]イベント待ち表記機能により表示されたイベントフロー図初期ボックス群を示 すスクリーンショットである。
[図 7-7]イベント待ち表記機能により、図 7— 6の表示状態に他のボックスを追加した 状態を示すスクリーンショットである。
[図 7-8]イベント待ち表記機能により、図 7— 7の表示状態にイベントフロー図終了ボ ックス群を追カ卩して完成されたイメージフロー図を示すスクリーンショットである。
[図 7-9]図 7— 7に示したイメージフロー図にタイトルを入力してタイトルフロー図を作 成した状態を示すスクリーンショットである。
[図 7-10]図 7— 7に示したイメージフロー図に仕様を入力して概要フロー図を作成し た状態を示すスクリーンショットである。
圆 8]フロー図作成モジュールにおける詳細フロー図作成時の階層降り機能を説明 するための説明図である。
[図 9-1]フロー図作成モジュールにおけるガイダンス機能によるフロー図作成の際に 自動的に表示されるスクリーンショットである。
[図 9-2]フロー図作成モジュールにおけるガイダンス機能によるガイダンス内容及び そのユーザ応答を例示する説明図である。 [図 9-3]ユーザとの対話に基づきフロー図作成モジュールにおけるガイダンス機能に よるフロー図作成の際に表示されるスクリーンショットである。
[図 9-4]ユーザとの対話に基づきフロー図作成モジュールにおけるガイダンス機能に よるフロー図作成の際に表示されるスクリーンショットである。
[図 9-5]ユーザとの対話に基づきフロー図作成モジュールにおけるガイダンス機能に よるフロー図作成の際に表示されるスクリーンショットである。
[図 9-6]ユーザとの対話に基づきフロー図作成モジュールにおけるガイダンス機能に よるフロー図作成の際に表示されるスクリーンショットである。
[図 10-1]フロー図作成モジュールにおけるペースメーカ機能及びガイダンス機能に よるフロー図作成の際に得られるガイダンスの内容及びそのユーザ応答を時間経過 とともに記憶したガイダンスデータを例示する説明図である。
[図 10- 2]図 10— 1に示したガイダンスデータカゝら作成されたガイダンスタイムテープ ルを示す模式図である。
圆 11-1]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-2]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-3]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-4]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-5]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-6]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-7]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-8]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され るスクリーンショットの模式図である。
圆 11-9]ユーザとの対話に基づきデータ定義作成モジュールの機能により表示され る、完成後のファイルレイアウトのスクリーンショットの模式図である。
[図 11-10]図 11 9に示したファイルレイアウト中のレコードデータの一例を示す説明 図である。
[図 12-1]画面定義作成モジュールの機能により作成すべき画面の一例を示すスクリ ーンショットである。
[図 12-2]画面定義作成モジュールの機能により表示される画面定義プレート一覧を 示す模式図である。
[図 12- 3]画面定義作成モジュールの機能により表示される枠フィールドの属性入力 画面を示すスクリーンショットである。
[図 12-4]画面定義作成モジュールの機能により表示されるボタンフィールドの属性入 力画面を、該機能により先に作成された枠とともに示したスクリーンショットである。
[図 12-5]画面定義作成モジュールの機能により作成され表示されるボタンを示すスク リーンショットである。
[図 12- 6]画面定義作成モジュールの機能により表示される文字フィールドの属性入 力画面を示すスクリーンショットである。
[図 12-7]画面定義作成モジュールの機能により表示される線フィールド属性入力画 面を示すスクリーンショットである。
[図 12- 8]画面定義作成モジュールの機能により表示される数値フィールド属性入力 画面を示すスクリーンショットである。
圆 13- 1]フロー図解析変換モジュールの機能により実行される、 C+ +言語への変 換を説明するための説明図である。
[図 13- 2]フロー図解析変換モジュールの機能により実行される、 BASIC言語への変 換を説明するための説明図である。
圆 13- 3]フロー図解析変換モジュールの機能により実行される、イベント処理を含ん だフロー図をソースプログラムに変換する際の処理を示すフロー図である。
[図 13-4]イベント処理を含んだフロー図力も変換されたソースプログラムを例示する 図である。
[図 13- 5]図 13— 5に例示したソースプログラムに続くソースプログラムの図である。
[図 14-1]検証モジュールの機能により、ポーズ及びパス設定点がフロー図上に設定 された状態を示すスクリーンショットである。
[図 14-2]検証モジュールの機能により取得され表示される通過履歴一覧を示すスクリ ーンショットである。
[図 14-3]検証モジュールの機能により取得され表示される変数値一覧を示すスクリ一 ンショットである。
[図 15]従来例により作成されるフロー図から想定される、イベント処理を含むプロダラ ムのフロー図の表現を示す図である。 発明を実施するための最良の形態
[0040] 以下、本発明のソースプログラム作成支援システムの好適な実施形態について、図 面を参照して説明する。
[0041] 本発明のシステムは、 PCにインストールされるコンピュータプログラムによって構成 されるものであり、そのプログラムを機能で大別すると、図 1に示すように、フロー図作 成モジュール 10、データ定義作成モジュール 20、画面定義作成モジュール 30、フ ロー図解析変換モジュール 40、及び検証モジュール 50に分けることができる。これら プログラムモジュールの概略機能は、以下の通りである。
フロー図作成モジュール 10
作成しょうとするプログラムのフロー図を作成するためのものであり、 PCスクリーン上 へのユーザによるボックスの選択及び配置、並びにタイトル及び仕様の入力に基づ いて、概略 Z詳細フロー図を完成させる機能を備えている。このとき、階層降り機能 により、概要力 詳細へと上層フロー図及び下層フロー図により関連づけを行いなが ら、論理関連をも定義していき、最上層のフロー図から最下層のフロー図まで全てが 関連付けられるとともに、仕様定義まで行うことができる。作成された概要 Z詳細フロ 一図は、該フロー図中に含まれるボックス毎の入出力関係を含む属性データとして 保管される。
[0042] これにより、フロー図の作成作業が効率化され、仕様変更をする必要が生じた場合 であっても、変更箇所をフロー図上で確認できるため、仕様変更の作業も効率化され る。
データ定義作成モジュール 20
PCスクリーン上で、ユーザがファイルレイアウトをツリー状に作成する機能である。 ファイルレベル、レコードレベルの定義は、ガイドラインに従って行う。レコード項目は 、ユーザがデータ定義用処理ボックスの上下左右の辺を選択することにより、新たな 項目と属性とを定義することができる。上下辺が選択された場合、その項目の上下の 並列位置に新たな項目を定義する。左辺が選択された場合、その項目の上層位置 に新たな項目を定義し、右辺が選択された場合、その項目の下層位置に新たな項目 を定義する。項目の削除は、その対象となる位置をユーザが選択することにより行わ れる。項目の桁数 (バイト数)変更等が発生した場合、その項目属性を変更することに より、桁数を自動調整する。作成されたデータ定義は、項目毎の属性データとして保 管される。
[0043] PCスクリーン上でデータ定義に必要なすべての処理を行うことができ、し力も、ッリ 一構造のデータ定義を視認しながらデータ定義を作成することができるので、データ 定義の作成及び保守が効率化される。
画 rif定義作成モジュール 30
グラフィック作成に活用されている図形処理を応用した機能を用いて、 PCスクリー ン上に画面レイアウトを作成する。このとき、まず、ユーザが画面レイアウトに含まれる 画面要素を画面要素一覧から選択し、その画面要素の定義内容を入力し、スクリー ン上で位置及びサイズを指定することにより、画面レイアウトに含まれる個々の画面 要素を作成する。仕様変更時及びバグ修正時は、線、プレート等の画面要素を必要 な位置に移動、追加又は必要な位置から削除することにより、実行される。作成され た画面定義は、画面要素毎の属性データ (位置及びサイズデータを含む)として保管 される。
[0044] PCスクリーン上で画面定義に必要なすべての処理を行うことができ、しかも、視覚 で確認しながら画面定義を作成することができるので、画面定義の作成及び保守が 容易になる。 フロー図解析変換モジュール 40
フロー図作成モジュール 10により作成されたフロー図(最上層フロー図力も最下層 フロー図を含む)に基づき、データ定義モジュール 20及び画面定義モジュール 30に より作成されたデータ定義及び画面定義を参照して、ソースプログラムを作成する。こ のとき、まず、メインのフロー図のボックス連係を解析し、連係に矛盾が無ければ、ス タート端子力もエンド端子までの幹線のボックスの内容をソースコードに変換する。変 換中に出現する画面及び下層展開関数は、一時保管する。幹線のソースコードへの 変換後に、これら保管しておいた画面及び関数を出現順に解析し、ソースコードに変 換する。また、下層展開がある関数は、階層降りをして関数内部の解析と変換を行い 、最下層までのフロー図をソースプログラムに変更する。仕様変更(追加仕様も含む) 及びバグ修正時には、フロー図を変更修正してこのモジュールを動作させることによ り、 自動的〖こソースプログラムも変更される。ソースコードは、 C++及び BASIC等の種 々のコンピュータ言語で作成可能である。
枪証モジュール 50
作成されたソースプログラムをランさせて該プログラムの検証を行う。 PCスクリーン 上に、ランさせるソースプログラムに対応するフロー図を表示し、そして、該ソースプロ グラムをランさせたときに、該フロー図上で処理の通過ルートを表示する。また、ユー ザが該フロー図の通過ルート上の任意の点にポーズ点及びパス点を設定することが できる。ポーズ点が設定された位置にプログラム処理が到達すると、該処理は一時停 止し、その時点のフロー図中の種々変数値を取得して表示し、かつ、ポーズ点及び パス点の通過履歴を表示する。パス点が設定された位置にプログラム処理が到達す ると、その時点のフロー図中の種々変数値を取得する力 該処理が継続される。プロ グラムのラン中にエラーが発生した場合、そのボックス及び処理行をエラーリストに表 示する。これにより、作成したソースプログラムの動作を検証することができ、誤りがあ る場合には、それを検出して修正することが容易となる。
フロー図作成モジュール 10の機能には、図 2に示すように、イメージフロー作成モ ジュール 11、タイトルフロー図作成モジュール 12、概要フロー図定義モジュール 13 、概要フロー図新規作成モジュール 14、概要フロー図作成ガイダンスモジュール(以 下、単に「ガイダンスモジュール」) 15、ペースメーカモジュール 16、及び、詳細フロ 一図定義モジュール 17が含まれる。
これらモジュール 11〜17の概略機能は、以下の通りである。
イメージフロー図作成モジュール 11
ユーザとの対話に基づいて、メインプログラムのイメージフロー図を作成する。ィメー ジフロー図とは、ボックス及びその接続関係のみを規定したフロー図である。このモジ ユールは、イベント待ち表記のためのイメージフロー図を作成するイベント待ち表記 モジュール 111を含んで 、る。
タイトルフロー図作成モジュール 12
作成されたイメージフロー図の各ボックスに、そのボックスでの処理のタイトルをユー ザに入力させることにより、タイトルフロー図を作成する。なお、タイトルとは、処理の 概要内容を意味している。
概耍フロー阅定義モジュール 1 3
作成されたタイトルフロー図の各ボックスに、処理仕様をユーザに入力させることに より、プログラムの概要フロー図を作成する。
概要フロー闵新規作成モジュール 14
ユーザとの対話により、フロー図に含まれるべきボックスをユーザが設定する度に、 該ボックスに仕様 (又は、仕様及びタイトル)を入力させることにより、概要フロー図を 完成させる。
ガイダンスモジュール 15
フロー図作成のための思考手順を、ガイダンスメッセージとしてユーザに提供する。 ガイダンスメッセージは、質疑応答形式で行って各ボックスの仕様を定義することによ り、概要フロー図を完成させる。オプションで、質疑応答中に所定の設定時間を経過 した場合に、別の質問等で入力作業を促すようにする。
ペースメーカモジユーノレ 16
ガイダンスモードでフロー図作成中の質疑応答に対し、応答時間の制限を設定し、 制限時間を経過した場合、「分かりませんか」等の別の質疑応答で作業を作成者に 通知する。また、処理経過時間を分析することにより、作成者の得手 Z不得手を判定 し、作業改善の提言を行う。
詳細フロー闵定義モジュール 17
階層降り機能を備え、ユーザとの対話に基づき、作成された概要フロー図の第 1下 層レベルから最下層レベルまでの各層のフロー図(詳細フロー図)を作成する。
[0047] フロー図作成モードが選択されてフロー図作成モジュール 10が起動されると、図 3 のフロー図に示すように動作する。すなわち、まず、ステップ S1において、イメージフ ロー図作成モードが選択されたカゝ否かを判断し、その結果が YES (肯定)である場合 、イメージフロー図作成モジュール 11が起動されて、ステップ S2において、ユーザと の対話によりイメージフロー図が作成される。その後、タイトルフロー図作成モジユー ル 12が起動され、ステップ S3において、タイトルフロー図がユーザとの対話に基づき 作成される。タイトルフロー図が完成すると、概要フロー図定義モジュール 13が起動 され、ステップ S4において、概要フロー図定義が、ユーザとの対話に基づいて作成さ れる。概要フロー図定義とは、タイトルフロー図のそれぞれのボックスに処理仕様を入 力することにより、メインフロー図である概要フロー図を作成することである。
[0048] 一方、ステップ S1にお 、てイメージフロー図作成モードが選択されて ヽな 、と判定 し、かつステップ S5において概要フロー図新規作成モードが選択されている判定す ると、ステップ S6に進んで、概要フロー図新規作成モジュール 14が起動され、ユー ザとの対話により概要フロー図を作成する。ステップ S6における概要フロー図の作成 は、フロー図に含まれるべきボックスを設定する度に、該ボックスに仕様 (又は、仕様 及びタイトル)を入力することにより、概要フロー図を完成させるものである。すなわち 、イメージフロー図及びタイトルフロー図を完成させることなぐ直接的に概要フロー 図を作成するものである。
[0049] また、ステップ S1においてイメージフロー図作成モードが選択されていないと判定 し、ステップ S5にお 、て概要フロー図新規作成モードが選択されて!、な 、と判定し、 ステップ S7にお!/、てガイダンスモードが選択されて!、ると判定し、ステップ S8にお!/ヽ てペースメーカモードが選択されていると判定すると、ステップ S9に進んでペースメ 一力モジュール 16が起動され、かつステップ S10においてガイダンスモジュール 15 が起動される。これにより、ユーザとの対話に基づき、ペースメーカ及びガイダンス機 能による概要フロー図作成を行う。一方、ステップ S8においてペースメーカモードが 選択されて ヽな 、と判定すると、ステップ 10に進んでガイダンスモジュール 15が起動 され、ユーザとの対話に基づき、フロー図作成のガイダンスを行いつつ、概要フロー 図を作成する。
[0050] ステップ S4、 S6及び S10のいずれかが終了し、詳細フロー図定義モードが選択さ れると、ステップ S11に移行して、詳細フロー図定義モジュール 16が起動され、ユー ザとの対話に基づいて、詳細フロー図を定義し作成する。詳細フロー図は、上記した ように、作成された概要フロー図の第 1下層から最下層までのフロー図であり、各層 の詳細フロー図は、ステップ S2〜S4、ステップ S6、ステップ S8、及び 10のいずれか での概要フロー図の作成と同様にして作成される。
[0051] このようにして、最下層までの詳細フロー図が完成し、それをステップ S 12において 判定すると、フロー図作成モジュール 10による処理が終了する。なお、このような階 層降り機能により詳細フロー図を作成する場合、上位層のフロー図のボックスに入力 される仕様は、該ボックスに対応する下位層の詳細フロー図を表すフロー図 IDとなる
[0052] フロー図変換モジュール 40の機能は、図 2— 2に示すように、フロー図の処理ボック ス、流入線および流出線との関連を解析するフロー図連係解析モジュール 41、各フ ロー図中のボックス内の内容を解析するボックス内容解析モジュール 42、各ボックス 内の仕様をソースコードに変換するソースプログラム変換モジュール 43、データ定義 及び画面定義をソースプログラムに組み込むデータ定義 ·画面定義ソースプログラム 組み込みモジュール 44、展開関数を解析する展開関数解析モジュール 45、及び展 開関数を組み込む展開関数ソースプログラム組み込みモジュール 46に大別すること ができる。
[0053] また、検証モジュール 50の機能は、図 2— 3に示すように、処理の通過ルートを表 示する表示モジュール 51、パス'ポーズ機能による処理結果を取得して表示する取 得'表示モジュール 52、処理エラーを表示する表示モジュール 53、及び、処理の全 体の結果を表示する全処理結果表示モジュール 54に大別することができる。
[0054] 本発明のシステムはまた、上記したモジュールの機能に関連するデータを格納する データベース(DB)を備えている。該 DBには、図 1に示すように、フロー図プレートマ スタ DB1、フロー図ファイル DB2、ガイダンスマスタ DB3、ガイダンスデータ DB4、デ ータ定義ファイル DB5、画面定義プレートマスタ DB6、画面定義ファイル DB7、言語 マスタ DB8、コード式記述マスタ DB9、ソースプログラムファイル DB10、及び通過履 歴 Z変数値ファイル DB11を備えて 、る。
これらデータベースは、以下のようなデータを格納する。
フロー図プレート DB1
フロー図作成モジュール 10の機能によるフロー図の作成の際に使用される、スター ト端子、エンド端子、処理ボックス、判断ボックス、画面表示ボックス、印刷ボックス、 下流出線、上流出線等の基準プレート、イベント処理プログラムの開始ボックス(以下 、「イベントボックス」)、イベント処理プログラムの終了ボックス(以下、「イベント終了ボ ッタス」)(以下、これらを総称する場合に「ボックス」と称する)のイメージを記憶してい る。また、イベントボックスによって指定される複数のボックスの組み合わせ配置から なるイベントフロー図初期ボックス群及びイベント終了ボックスによって指定される複 数のボックスの組み合わせ配置力 なるイベントフロー図終了ボックス群も、予め記憶 されている。
フロー闵フアイノレ DB2
フロー図作成モジュール 10の機能によって作成されたフロー図中のボックス毎の データを格納する。なお、図 1においては、フロー図ファイル DB2を 2つ表示している 力 これは、処理の流れが明確となるようにするためであり、同一のものである。 ガイダンスマスタ DB3
ガイダンスモジュール 15によって実行されるフロー図作成時にユーザに質問すベ きガイドライン(ガイダンス)のデータを格納し、かつ、ペースメーカモジュール 16及び ガイダンスモジュール 15によって実行されるフロー図作成時に質問に対するユーザ の応答時間とユーザへのヒントとを対応づけて記憶している。また、ガイダンスによつ てフロー図を作成する際の初期フロー形態のデータを記憶している。
ガイダンスデータ DB4
ガイダンスモジュール 15によって実行されるフロー図作成時に、質問に対するユー ザの応答を記憶し、かつ、ペースメーカモジュール 16及びガイダンスモジュール 15 によって実行されるフロー図作成中に、ユーザとの間の質疑応答を、時間に対応さ せて記憶する。
データ定義フアイノレ DB5
データ定義作成モジュール 20の機能によって PCスクリーン上で設定されたデータ 定義を、項目毎のデータとして格納する。
画 rif定義用プレートマスタ DB6
画面定義作成モジュール 30による画面定義の作成の際に使用される、ボックス、ボ タン等の画面作成に必要なプレートの要素を記憶している。
画 rif定義ファイル DB7
画面定義作成モジュール 30の機能によって PCスクリーン上で設定された画面定 義を、画面の構成要素 (枠、ボタン、線、表等)毎のデータとして格納する。
言語マスタ DB8
フロー図解析変換モジュール 40の機能により、作成されたフロー図をソースプログ ラムに変換する際に参照される、ユーザ入力の仕様言語とソースコードとの対照テー ブルを格納している。ソースコードは、プログラム言語の種類に対応して記憶されて いる。
コード記 i术式マスタ DB9
フロー図解析変換モジュール 40の機能により、作成されたフロー図をソースプログ ラムに変換する際に参照される、ユーザ入力の仕様の配置位置とソースコードの配 置との対照テーブルを格納している。また、使用頻度が高い典型的なボックスに対応 するソースプログラムのモジュールである関数も、ひな形ライブラリに格納している。 ひな形ライブラリには、例えば、画面処理用、印刷処理用、パッチ処理用のひな形の 関数 (それぞれ複数)が含まれる。
ソースプログラムファイル DB10
フロー図解析変換モジュール 40の機能によって作成されたソースプログラムを格納 する。
诵知履歴 Z変数値ファイル DB11 作成されたソースプログラムを検証モジュール 50によってランさせて検証する際に 、フロー図上に設定された 1又は複数の点の通過履歴、及び、フロー図中の変数の 値を記憶する。
[0056] 次に、本発明のシステムの各モジュール 10〜50の機能によって PCスクリーン上に 表示される画像を参照することにより、本発明のシステムの構成をより詳細に説明す る。
[0057] ユーザが、 PCスクリーン上で本発明のソースプログラム作成アプリケーションを起動 し、フロー図作成モードを選択すると、フロー図作成モジュール 10が起動する。そし てユーザがフロー図作成メニューからイメージフロー図作成モードを選択すると、ィメ ージフロー図作成モジュール 11が起動される。
[0058] イメージフロー図作成モジュール 11が起動されると、フロー図作成領域力 SPCスクリ ーン上に表示され、かつ、プログラムフロー図に含まれるイメージボックスを表示した プレートがフロー図プレートマスタ DB1から読み出され、図 4—1に示すようなプレー ト一覧として PCスクリーンの下端部又は右端部等の適宜の位置に自動的に表示され る。それと共に、 PCスクリーンのフロー図作成領域に、図 4— 2に示すように、スタート 端子及び下流出線が自動的に表示され、かつ、その下流出線の下端に、処理ボック スが破線 (又は点滅状態)で自動的に表示される。また、この処理ボックスの下端に は下流出線が破線で自動的に表示される。
[0059] その後、ユーザが、表示されたプレート一覧から、画面表示ボックス、判断ボックス、 ファイル処理ボックスを順次選択すると、図 4 3に示すように、 PCスクリーンのフロー 図作成表示領域に、画面入力処理ボックス A、判断ボックス B、ファイル処理ボックス Cが表示され、かつそれぞれのボックスが表示される毎に、その下端に下流出線 a、 b 1、 cが表示される。また、ボックスが新たに表示される度に、破線の処理ボックス及び 破線の下流出線がその下端に位置するように、自動的に更新表示される。図 4 3の 例においては、ファイル処理ボックス Cが最後に選択されたボックスとなるため、その 下流出線 cの下端に、破線の処理ボックス及び破線の下流出線が自動的に表示され ている。
[0060] 図 4 3に示された状態で、判断ボックス Bの右先端をユーザが選択すると、図 4 4に示すように、判断ボックス Bの右端力 右流出線 b2を自動的に表示する。そして、 図 4 3の状態での破線の処理ボックス及び下流出線を自動的に削除して、判断ボ ックス Bの右側に、破線の処理ボックス及び右流出線を自動的に表示する。図 4 4 に示された状態で、ユーザが右流出線 b2の右端を選択すると、図 4 5に示すように 、右流出線 b2に連結された下流出線が表示され (連結下流出線 b2)、破線の処理ボ ックス及び下流出線がその下端に表示される。
[0061] 次いで、ユーザが、プレート一覧から処理ボックスを選択すると、図 4 6に示すよう に、新たに処理ボックス Dとその下流出線 dが配置され、かつ、その下流出線の下端 に、処理ボックスが破線 (又は点滅状態)で自動的に表示される。また、この処理ボッ タスの下端には下流出線が破線で自動的に表示される。下流出線 dをした流出線 c に流入するため、処理ボックス Dの下端の下流出線 d及びファイル処理ボックスじの 下端の下流出線 cを選択すると、図 4 7に示すように、新たに配置された処理ボック ス Dの下流出線が下流出線 cに結合され、連結下流流出線 dが表示される。その後、 ユーザが判断ボックス Eを選択し、かつその流出線を設定し、そして、印刷処理ボック ス F及びエンド端子を順次選択すると、図 4 8に示すようなイメージフロー図が作成 される。このとき、ユーザが、処理順序番号を付けるために PCスクリーン上で「付番」 ボタン (不図示)を選択すると、図 4 8に示すようなボックス番号力 それぞれのボッ タスに自動的に付番される。なお、ボックスが選択されて配置される度に、仮のボック ス番号を付与し、「付番」ボタンが選択された時点で、正規のボックス番号を付与する ようにしても良い。
[0062] イメージフロー図を作成後、該フロー図中力 あるボックスを削除したい場合、ユー ザがそのボックスを選択することにより表示されるメニューから「削除」を選択すること により、該ボックスが削除される。また、あるボックスを追加したい場合、ユーザがプレ ート一覧力 ボックスを選択し、かつ、挿入すべき位置にカーソルを移動させることに より、追加が実行される。このような変更が実行された後、「付番ボタン」を再度選択す ることにより、ボックス番号が付け直される。
[0063] 作成されたイメージフロー図に含まれる各ボックスの種別及びボックス相互間の接 続関係は、ボックス番号、フロー図名、及びフロー図 IDに対応付けられて、フロー図 ファイル DB2に格納される。
[0064] 次に、ユーザがタイトルフロー図作成モードを選択すると、タイトルフロー図作成モ ジュール 12が起動され、イメージフロー図中の各ボックスに、ユーザがタイトルを入力 することが可能となる。すなわち、ユーザがボックスを選択する毎に、タイトル入力画 面(日本語名入力画面)が表示され、該画面上でユーザがタイトルを入力する。そし て、ユーザが全てのボックスのタイトルを入力し、かつ、判断ボックスの分岐条件を入 力することにより、タイトルフロー図が作成される。
[0065] 図 5は、図 4— 8に示したイメージフロー図の各ボックスにタイトルが入力されて、タイ トルフロー図が作成された状態を示している。この例のフロー図名は、「NIPPO— HI ZUKE」である。各ボックスの入力されたタイトルは、そのボックス番号に対応付けら れ、例えば、ボックス番号 2に「画面入力処理」が対応付けられ、ボックス番号 3に「日 付判定処理」が対応付けられ、 · · ·、フロー図ファイル DB2に記憶される。
[0066] タイトルフロー図の作成が完了し、ユーザが概要フロー図定義モードを選択すると、 概要フロー図定義モジュール 13が起動される。この場合、タイトルフロー図の作成と 同様に、イメージフロー図(又はタイトルフロー図)が PCスクリーン上に表示され、表 示されたフロー図中のボックスをユーザが選択すると、仕様入力画面が表示される。 該画面上でユーザが仕様を入力し、そして全てのボックスの仕様を入力することによ り、メインプログラムに相当する概要フロー図が作成される。概要フロー図の各ボック スに関する全てのデータは、ボックス毎のフロー式マスタとしてフロー図ファイル DB2 に格納される。仕様入力及びフロー図マスタについては、後述する図 7— 1〜図 7— 4の説明から明ら力となるであろう。
[0067] 図 6は、図 4— 8に示したイメージフロー図の各ボックスの仕様が入力されたことによ り、概要フロー図が作成された状態を示している。
[0068] 上記にお 、ては、タイトル及び仕様を別々の画面上で入力する場合につ!、て説明 した。このように構成する代わりに、タイトルフロー図作成モジュール 12及び概要フロ 一図定義モジュール 13の機能を一体ィ匕し、これらを同一の入力画面上で入力するよ うにしても良い。これについて、ユーザにより判断ボックスが選択された場合を例とし て、以下に説明する。 [0069] ユーザが、図 4 8に示したイメージフロー図中の判断ボックス(ボックス番号 3)を選 択すると、図 7— 1に示すような入力画面が表示される。該画面には、複数の入力欄 が表示され、これら入力欄にはフィールド番号 Fxxxが対応付けられている。そして、 未入力の 1つのタイトル入力欄及び 4つの仕様入力欄とともに、イメージフロー図作 成時に入力された入力線 (流入線)、出力線 (流出線)、並びに、現在のボックス番号 及び次のボックス番号が表示される。また、イメージフロー図作成時に設定されなか つた流入 Z流出線の設定可能位置及び分岐条件の設定可能位置にも、入力欄が 表示される。
[0070] 図 7— 1の例においては、ボックス番号 3がフィールド番号 F001に対応する位置に 表示され、出力線はフィールド番号 F036及び F037に対応する位置に表示され、これ ら出力線の近傍であるフィールド番号 F035及び F038に対応する位置に分岐条件( =、≠、 >、 <、≥、≤)の入力欄が表示される。また、判断ボックスであることを示す ボックス種別コード「06」も表示され、ボックス種別コードにはフィールド番号 F002が 対応付けられている。ボックス種別コードは、ユーザがプレート一覧でボックスを選択 したときに、その種別が判断され、該種別に対応するコードが付与される。
[0071] ユーザが、図 7— 1に示した画面上で、図 7— 2に示すように、タイトル入力欄(F021 )に「日付チェック」を入力し、 4つの仕様入力欄に「D1 (データ名)」 (F011)、「0503 03」 (F013)、「日付」(F012)、及び「今日」(F014)を入力すると、図 7— 3に示すよう な、ボックス番号 3のマスタが作成される。
[0072] また、ユーザが、図 4 8に示したフロー図中で、例えばボックス番号 5の処理ボック スを選択し、その仕様が展開関数「SUBPG01」である場合 (ボックス種別コード: 10 ) ,図 7—4に示すような、ボックス番号 5のマスタが作成される。
[0073] このようにして、イメージフロー図中の全ボックスのタイトル及び仕様が入力され、そ の結果、ボックス毎のマスタが作成される。作成されたボックスマスタは、そのフロー 図のフロー図 IDに対応付けられてフロー図ファイル DB2に記憶される。
[0074] 上記説明においては、図 4 8に示すようなイメージフロー図を作成した後に、ボッ タス毎にタイトル及び仕様を入力することを前提としているが、概要フロー図新規作 成モジュール 14を起動することにより、イメージフロー図を作成又は完成させずに、 ボックス毎にタイトル及び仕様を入力することができる。このモジュール 14は、ユーザ 力 SPCスクリーン上で、プレート一覧力 ボックスを選択してフロー図作成領域に表示 させる度に、入力画面を表示させ、該画面上でボックスの入出力線、タイトル及び仕 様、分岐条件 (判断ボックスの場合)をユーザが入力することができる。例えば、判断 ボックスの場合、該判断ボックスをフロー図作成領域に表示した時点で、判断ボック ス上に図 7— 1に示すような入力欄を表示し、該入力欄に、入出力線、分岐条件(= 、≠、 >、 <、≥、≤)、タイトル、及び仕様をユーザが入力するようにする。分岐条件 は、入力欄を表示せずに、判断ボックスの端部近傍を指定し、それによつて表示され るプルダウンメニュー力も選択することによって入力されるようにしてもよい。同様に、 入出力線も、入力欄を表示せずに、判断ボックスの端部を指定することによって表示 されるプルダウンメニュー力 選択するようにしてもょ 、。
[0075] これにより、図 7— 3 (判断ボックス用)及び図 7—4 (処理ボックス用)に示したような ボックスマスタが作成される。
[0076] また、概要フロー図新規作成モジュール 14を起動することなぐイメージフロー図作 成モジュール 11、タイトルフロー図作成モジュール 12、及び概要フロー図定義モジ ユールを適宜切り替えて起動することにより、 1又は複数のボックスをフロー図作成領 域に配置させるたびに、タイトル及び/又は仕様を入力させることもできる。
[0077] ここで、本発明のシステムのフロー図作成モジュール 10のイベント待ち表記モジュ ール 111にお 、て実行される、ランダムに発生される複数のイベントの待ち状態を含 んだフロー図を作成する機能について、図 7— 5のフロー図を参照して詳細に説明す る。なお、この機能は、複数のイベント待ちの状態を、ユーザが容易かつ正確にフロ 一図上で表現できるようにしたものである力 基本的には、図 4 1〜図 7— 4に関連 して説明した機能を用いて!/、る。
[0078] まず、ユーザが複数のイベント待ち状態を含んだフロー図を作成しょうとした場合、 フロー図作成モードを選択する。これにより、先に説明したように、フロー図作成モジ ユール 10が起動され、そして、ユーザがフロー図作成メニューからイメージフロー図 作成モードを選択すると、イメージフロー図作成モジュール 11が起動され、フロー図 作成領域が PCスクリーン上に表示され、かつ、図 7— 5のステップ370にぉぃて、フ ロー図プレートマスタ DB1から、図 4—1に示されるプレート一覧が PCスクリーンの適 宜の位置に自動的に表示される。これとともに、先に説明したように、図 4— 2に示す ような、初期画面、すなわち、実線のスタート端子及び下流出線、並びに点線の処理 ボックス及び下流出線を表示した初期画面がフロー図作成領域に自動的に表示さ れる。
[0079] この状態で、ユーザが、表示されたプレート一覧からイベントボックスを選択すると、 イメージフロー図作成モジュール 11は、それを判断し、ステップ S71においてィベン ト待ち表記モジュール 111を起動する。モジュール 111は、起動されると、ステップ S 72にお 、て、図 4 1に示した初期画面をフロー図作成領域から自動的に削除し、 フロー図プレートマスタ DB1からイベントフロー図初期ボックス群を読み出して自動 的に表示させる。イベントフロー図初期ボックス群は、例えば図 7— 6に示すような構 成を有し、この例では、ボックス番号 1〜12が付けられたスタート端子、処理ボックス、 画面表示ボックス、処理ボックス、仮想イベント待ちボックス、処理ボックス、 3つの半 IJ 断ボックス、 2つの処理ボックス、及びリターン端子、並びに、それぞれのボックスから の流出線、及びリターン端子力 仮想イベント待ちボックスに向力う破線の矢印を含 んでいる。イベントフロー図初期ボックス群は、上記した全てのボックスを含む必要が なぐ少なくとも、仮想イベント待ちボックス及びリターン端子を含み、かつ、リターン端 子力 仮想イベント待ちボックスへの矢印(図の例では、点線の矢印)を含んでいれ ばよい。この場合、スタート端子等の他のボックスは、図 4— 3〜図 4— 7を参照して説 明したように、ユーザがプレート一覧から適宜選択して、イベントフロー図作成領域に 配置すればよい。
[0080] そして、イベント待ち表記モジュール 111は、ユーザの次の動作を待機する。
[0081] ユーザが、この画面上に表示されたフロー図にさらに追加すべきボックス(流出線 及び流入線を含む)がある場合には、プレート一覧力 適宜のボックスを選択しかつ その配置位置をカーソルで指定する。イベント待ち表記モジュール 111は、それをス テツプ S73で判定し、ステップ S 74においてボックスの追加処理を行う。逆に、削除す べきボックスがある場合には、ユーザはそのボックスを選択して削除メニューを選択す ればよい。これは、ステップ S75及び S76において実行される。ボックスの追加処理 にお 、て、ユーザが判断ボックス(ボックス番号 9)の下流の位置を新たなボックスの 配置位置として指定した場合には、イベント待ち表記モジュール 111は、判断ボック ス (ボックス番号 9)とリターン端子 (ボックス番号 12)との間に直接ルートが形成されな いように、流出線を自動的に修正する。例えば、図 7— 6において、判断ボックス(ボッ タス番号 9)の下流力も横方向に延びている流出線を、該判断ボックス力もの下流出 線に自動的に変更する。
[0082] 図 7— 7は、図 7— 6に示した画面上のフロー図において、ユーザが、判断ボックス( ボックス番号 9)の下流に 3つの判断ボックス(ボックス番号 13、 15、 17)を追加し、力 つ、それぞれに対応して 3つの処理ボックス(ボックス番号 14、 16、 18)を追加し、さ らに、これらそれぞれのボックス力も流出線が追加された状態を示している。この場合 も、最終追加された流出線 (ボックス番号 17の判断ボックス力もの)の下方に、破線の 処理ボックス及び下流出線が自動的に追加される。
[0083] このような状態で、ユーザがプレート一覧からイベント終了ボックスを選択すると、ィ ベント待ち表記モジュール 111は、ステップ S77においてそれを判定し、そしてステツ プ S78において、破線の処理ボックス及び流出線を自動的に削除し、その位置に、 フロー図プレートマスタ DB1からイベント終了ボックスに対応して記憶されている複数 のボックスの組み合わせすなわちイベントフロー図終了ボックス群を読み出して配置 する。そして、ユーザが画面上の「付番ボタン」を選択することにより、最終的な正規 のボックス番号が自動的に付けられ、図 7— 8に示すようなフロー図が形成される。こ の例では、イベントフロー図終了ボックス群には、 1つの判断ボックス(ボックス番号 13 )、その横方向に配置された 1つの処理ボックス(ボックス番号 19)、これらからの横方 向の流出線、及び、追加された判断ボックス (ボックス番号 13)からリターン端子 (ボッ タス番号 12)に向力 流出線が含まれている。
[0084] このようにしてイベント処理を含むプログラムに対応するイメージフロー図が作成さ れ、そして、イベント待ち表記モジュール 111は、ステップ S79において、イメージフロ 一図作成の終了を検出すると、ステップ S80において、作成されたフロー図をフロー 図 IDに対応付けてフロー図ファイル DB2に記憶し、これにより、イメージフロー図作 成モードが終了する。ステップ S79における判定は、「付番ボタン」が選択されたか否 かによつて判定してもよぐまた、「終了ボタン」が選択された力否かによって判定して もよい。なお、図 7— 6に示したように、イベントフロー図初期ボックス群には、最終段 に表示された判断ボックスの下流線がリターン端子 (ボックス番号 12)に接続されて いる。したがって、ステップ 72においてイベントフロー図初期ボックス群を表示しただ けで、イメージフロー図作成を終了することもできる。
[0085] ユーザは、このようにして作成されたイメージフロー図のそれぞれのボックスにタイト ル及び分岐条件を入力するために「タイトルフロー図作成モード」を選択すると、先に 説明したように、タイトルフロー図作成モジュールが起動され、イメージフロー図中の 各ボックス及び流出線に、ユーザがタイトル及び分岐条件を入力することが可能とな る。ユーザが作成を意図して 、るプログラムが氏名住所登録プログラムである場合、 例えば、図 7— 9に示すように、タイトル及び分岐条件が入力される。図 7— 9の例で は、ボックス 2〜22にそれぞれ、「描画前初期処理」、「画面」、「描画後初期処理」、「 仮想イベント待ち」、「イベント信号編集処理」、「信号" 0"か?」、「確認ボタンか?」「 氏名か?」、「フリガナ (氏名)か?」、「郵便番号か?」、「住所か?」、「フリガナ (住所 )か?」、「終了か?」、「カーソル移動処理」、「確定処理」、「氏名処理」、「フリガナ( 氏名)処理」、「郵便番号処理」、「住所処理」、「フリガナ (住所)処理」、「終了処理」の タイトルがそれぞれ入力され、かつ、分岐条件「YES」及び「NO」が判断ボックス(ボ ックス番号 7〜14)にそれぞれ入力された状態を示している。仮想イベント待ちボック ス(ボックス番号 5)は、特殊な機能を表すためのボックスであり、したがって、予めタイ トル (及び仕様)を入力してお 、ても良 、。
[0086] なお、ユーザがタイトル及び分岐条件を入力中であっても、不要なボックスがある場 合、先に説明したように、該ボックスを選択して「削除」メニューを選ぶことにより、削除 することができる。また、イベント処理のボックスを追加したいボックスがある場合、先 に説明したように、ユーザがプレート一覧力もボックスを選択し、そして挿入すべき位 置にカーソルを移動させることにより、ボックスを追加することができる。
[0087] また、先に説明したように、プレート一覧から 1又は適宜数のボックスを選択してフロ 一図作成領域に表示する度に、ボックスのタイトル、入出力線、分岐条件 (判断ボック スの場合)をユーザが入力できるようにしてもょ 、。 [0088] 作成されたタイトルフロー図も、フロー図ファイル DB2に記憶される。
[0089] タイトル及び分岐条件の入力が完了すると、次にユーザは、仕様を入力するために 「概要フロー図定義モード」を選択すると、概要フロー図定義モジュール 13が起動さ れ、先に説明したようにして、ユーザはそれぞれのボックスに仕様を入力する。図 7— 10は、このようにして作成された概要フロー図を示している。
[0090] なお、上述したように、コード式記述マスタ DB9には、使用頻度が高いボックスに対 応して既に作成されているプログラムモジュールのライブラリが記憶されており、これ らプログラムモジュールを特定するプログラムモジュール IDすなわち関数名を仕様と して入力することができる。図 7— 10において、ボックス番号 2〜4のボックスに入力さ れた仕様「GPG_01()」、「GPG_020」、「GPG_020」は、これらボックスに対応する関数 名である。
[0091] また、図 8を参照して以降で説明するように、概要フロー図中の複雑な処理を伴うボ ックスは通常、詳細フロー図定義モジュール 17の階層降り機能により、より下層のフ ロー図に展開される。このような、下層のフロー図に展開されるボックスにおいては、「 仕様」とは、当該ボックスに対応する下層のフロー図(及びそれに対応するソースプロ グラム)を特定するフロー図 IDである。図 7— 10において、ボックス番号 15〜22のボ ッタスに入力された仕様「PG_110」、「kakutei 0」、 · · ·は、下層のフロー図 IDである。 ボックス 6における仕様は「PG_050」であり、この「PG_050」も、下層のフロー図 IDを示 している。
[0092] 概要フロー図定義モジュール 13は、ひな形ライブラリに記憶されたプログラムモジ ユールすなわち関数の内容及び関数名、並びに、予め作成されかつソースプロダラ ムに変換されてソースプログラムファイル DB10に記憶された下層のフロー図の内容 及びフロー図 IDを、画面上でユーザが検索可能に提供する。これを参照して、ユー ザは、フロー図のボックスに、関数名及び下層フロー図の IDを仕様として入力するこ とができる。なお、該当する下層のフロー図が未作成の場合、該下層のフロー図 IDを 仕様として予め設定し、その後、階層降り機能により下層のフロー図を作成すればよ い。
[0093] 一方、判断ボックス 7〜14に入力された仕様はそれぞれ、「SINGO:0」、「button:800 4」、「now:100101」、「now:100102」、「now:100103」、「now:100104」、「now:100105」、 「END_FLG:0」であり、判断処理にお!、て対比すべき対象を示して!/、る。
[0094] このようにして作成された概要フロー図も、フロー図ファイル DB2に記憶される。
[0095] 以上から明らかなように、本発明のシステムの支援下で作成されるイベント処理を含 むプログラムのフロー図は、イベント処理がランダムに生じる場合であっても、イベント 待ち状態をユーザに分力りやすい状態で表示することができ、したがって、ユーザは 、意図する処理内容に合致するフロー図を容易に作成することができる。
[0096] また、従来、処理ボックスに記述する言語は、通常、ソースプログラムを作成するた め、メーカの言語特有の形式に則った記述となっている。本発明のシステムにおいて は、メーカの言語特有の形式に制約されない自由な表記を行うことができる。このよう な表記方式を、本明細書においては「新表記」と称し、これにより、ユーザ独自の分か り易い言語で仕様を作成することができる。すなわち、表記されたユーザ言語は、言 語マスタを介してソースコード変換時、メーカ言語の形式に変換される。このため、こ の機能を使用すれば、ソースコードに変換する時点で、変換後の汎用コンピュータ言 語 (C、 C + + , Java等)を自由に選択できる。
[0097] 仕様力もソースコードへの変換については、以降で詳細に説明する。
[0098] 次に、詳細フロー定義モードが選択されると、詳細フロー定義モジュール 17が起動 され、ユーザとの対話の下で、作成されたメインフロー図である概略フロー図の下層 の詳細フロー図が作成される。詳細フロー定義モジュール 17の動作について、図 8 を参照して説明する。
[0099] 図 8に示すように、概略フロー図であるメインフロー図 Aの処理ボックスに関数 Bが 設定され、該関数 Bが複雑な構造を有している場合、該フロー図上でユーザが関数 B を指定しかつ階層降りメニューを選択すると、関数 Bを処理するためのフロー図作成 画面が自動的に表示される。該画面上でユーザと対話して、上述した概略フロー図 の作成と同様な処理を行うことにより、サブフロー図 Bを作成する。その作成されたサ ブフロー図 Bが関数 Cを含んでいる場合、該関数 Cをユーザが指定し階層降りメ-ュ 一を選択すると、関数 Cのフロー図作成画面が表示され、サブフロー図 Cを作成する 。サブフロー図 Cが関数 Dを含んでいる場合、同様にして、該関数 Dを処理するため のサブフロー図 Dを作成する。
[0100] このようにして、上記の手順を繰り返すことにより、任意の階層のサブフロー図を作 成することができ、したがって、メインフロー図中の処理が複雑であっても、詳細フロ 一図定義モジュール 17のこのような機能(階層降り機能)を用いることにより、最下層 のフロー図まで容易に作成することができる。
[0101] ユーザが概略フロー図を作成しょうとしてガイダンスモードを選択すると、ガイダンス モジュール 15が起動される。すると、ガイダンスモジュール 15は、ガイダンスマスタ D B3から初期フロー形態のデータを読み出し、図 9—1に示すように、 PCスクリーンの フロー図作成領域に、スタート端子、初期処理ボックス、結合子 (G1)、及びエンド端 子を自動的に生成する。
[0102] 図 9 2は、ガイダンスマスタ DB3に格納されているデータの一例を示しており、ガ ィダンスマスタ DB3には、初期フロー形態以外に、フロー図のレベル形態に対応させ て、ユーザに質問すべき内容がガイダンスデータとして格納されている。
[0103] 初期フロー形態を表示した後、ガイドラインモジュール 15は、ガイダンスマスタ DB3 に予め記憶されて 、るガイドラインに基づ 、て、大きな業務の数 (業務数)を質問する (例えば、「業務数は幾つですか」)。それに対応して、例えば、業務数 = 3の応答が 入力された場合、図 9— 3に示すように、判断ボックスを 4個、処理ボックスを 3個、結 合子とエンド端子との間に自動的に配置させる。
[0104] その後、 1〜3番目の業務のタイトル名の質問に対して、例えば、「日報処理」、「月 末処理」、「年度末処理」が入力された場合、図 9 3に示した判断ボックス及び処理 ボックスに、対応するタイトルが自動的に表示される。次いで、追加したい業務につい ての質問に対してユーザが追加業務有りと応答し、その 4番目の業務のタイトルが「 集計処理」であると入力した場合、図 9— 4に示すような画面となる。さらなる追加業務 がない場合、 1番目の「日報処理」の機能の数を質問し (例えば、「では、 日報処理の 機能はいくつですか」)、それに応答して 3機能であると入力された場合、図 9 5に 示すように、図 9 4の日報処理ボックスを削除して、 3つの判断ボックスと 3つの処理 ボックスを自動的に表示させる。そして、 3つの処理の内容が「登録処理」、「修正処 理」、「削除処理」であることユーザから取得すると、その結果、図 9 6に示すようなフ ロー図が表示される。
[0105] このようにして、ガイダンスマスタ DB5に記憶されたガイダンスに基づ!/、て、ガイダン ス及びユーザ応答に基づいた表示を反復的に行うことにより、概略フロー図を作成す ることができる。概略フロー図の内容は、上記したようにフロー図ファイル DB2に記憶 され、また、質疑応答の内容は、ガイダンスデータとしてガイダンスデータ DB4に記 憶される。
[0106] このとき、 1つの処理に複数の処理(当初)が含まれ、その複数の処理の 1つにさら に複数の処理 (第 1の展開)が含まれると!、うように、複数の処理に進展することが通 常である。このような場合を本明細書においては「派生関係にある」と称し、当初のボ ックスを派生元のボックスと称し、該ボックスの進展した複数のボックスを派生先のボッ タスと称する。例えば、図 9—4に示すようなタイトルフロー図が作成されている場合、 そのフロー図の「日報処理」ボックス(ボックス番号 9)と、図 9 6の判断ボックス(ボッ タス番号 14〜 16)及び処理ボックス(ボックス番号 17〜 19)とは派生関係にあり、前 者が派生元であり後者が派生先である。また、派生元ボックス(当初ボックス)が含ま れるフロー図を当初フロー図と称し、派生先 (展開ボックス)が含まれるフロー図を展開 フロー図と称する。
[0107] 本発明のシステムにおいては、このような派生関係も、フロー図ファイル DB2に記憶 する。例えば、派生先のボックス(ボックス番号 14〜 19)のボックスマスタに、派生元 のボックスの ID (すなわちボックス番号)を、派生関係のデータとして記憶する。そして 、図 9 4のフロー図を表示した状態で、派生元であるボックス(ボックス番号 9)を選 択すると、該ボックスに置き換わって派生先の複数のボックス(ボックス番号 14〜19) が表示され、逆に、図 9 6のフロー図を表示した状態で、派生先の複数のボックス( ボックス番号 14〜19)を選択すると、これらボックスに置き換わって派生元のボックス (ボックス番号 9)が表示される。
[0108] このような派生関係の表示により、派生のいきさつ及びプログラムの論理の進展を 把握することが容易になる。
[0109] ユーザがペースメーカ機能を選択すると、ペースメーカモジュール 16が起動される 。ペースメーカモジュール 16は、ガイドラインモジュール 15と共同して処理を行うもの であり、ペースメーカモジュール 16が起動されると、ガイドラインモジュール 15も起動 される。
[0110] そして、ガイダンスモジュール 15による質問に対してユーザが応答する迄の時間を 、その都度計測し、計測した時間を、質問内容及び応答内容とともにガイダンスデー タとしてガイダンスデータ DB4に記憶する。ユーザが各質問に対する応答を第 1の所 定時間(例えば、 30秒又は 1分)以上入力しない場合、応答を促すメッセージをユー ザに提供し、第 2の所定時間 (例えば、 2分)以上入力しない場合、その質問に類似 するケースをガイダンスマスタ DB3から検索し、応答のヒントをユーザに提供する。ま た、第 3の所定時間 (例えば、 5分)以上応答がない場合、処理を中断するか継続す るかの確認を行い、中断の場合は今までに作成されたフロー図をフロー図ファイル D B2に保存し、処理を終了する。ユーザが継続を選択した場合、上記した処理を繰り 返す。
[0111] ガイダンスモジュール 15及びペースメーカモジュール 16の機能により完成された 概要フロー図の内容は、フロー図ファイル DB2に格納される。
[0112] 図 10—1は、ペースメーカモードで実行されたときのガイダンスデータ DB4に記憶 されたデータを例示している。なお、ペースメーカモードではなぐガイダンスモード が実行された場合には、時間に関するデータがガイダンスデータ DB4に記憶されず 、質問とそれに対する応答との関係のみが記憶される。
[0113] また、図 10— 2は、図 10— 1に示したガイダンスデータをガイダンスタイムテーブル として表したものである。ペースメーカモジュール 16は、このようなガイダンスタイムテ 一ブルを PCスクリーン上に表示させる機能を備え、これにより、ユーザの作業効率の 問題点を把握させることができる。例えば、図 10— 2の例において、右下がりの直線 において、その勾配が大きいほど、ユーザの応答に時間が力かっていることを示して いる。したがって、勾配が大きい直線に対応する質問は、ユーザに問題があるのか又 は仕様に問題があるのか等の原因により、応答が遅れたと推定することができ、今後 の課題とすることができる。
[0114] 次に、データ定義作成モジュール 20について、詳細に説明する。データ定義作成 モジュール 20が起動され、そのメニュー画面からファイルレイアウトが選択されると、 図 11 1に示すようなファイル情報ボックスの入力画面が表示される。該入力画面上 でファイル属性 (ファイル名、日本語名、レコード長、キー長、形式)がユーザにより入 力される。図 11 1は、ファイル属性が入力された後の画面を示しており、この例で は、ファイル名 =KOKYAKU— F、日本語名 =顧客ファイル、レコード長 = 123、キ 一長 = 7、形式 = 1 : ISAMである。
[0115] その状態で、ユーザ力 ^確定」ボタン (不図示)を選択すると、図 11 2に示すように 、 「ファイルレイアウト」の下層位置に、ファイル情報ボックス「KOKYAKU— F」が自 動生成されて表示され、かつレコード長が 123であること及び顧客ファイルであること が表示される。
[0116] 次いで、図 11 3に示すような項目情報ボックスの入力画面を表示する。この入力 画面上で項目属性 (項目名、日本語名、タイプ、桁数)を入力し、ユーザが確定ボタ ンを選択すると、図 11— 4に示すような画面になる。この例においては、項目名 =R1 000、日本語名 =氏名レコード、タイプ =文字、桁数 = 123であり、「KOKYAKU— F」の下層に「R1000」のレコード情報ボックスが自動生成されて表示され、かつ、レ コード長が 123であること及び氏名レコードであることが表示される。
[0117] レコード名「R1000」のレコード情報の内訳項目(すなわち、下層の項目)を作成す る場合、該¾1000」のボックスの右端をユーザが指示する。すると、図 11— 5に示す ように、該ボックスの下層位置に、項目情報ボックスを仮生成し破線で表示する。黒 丸は、ユーザが選択した位置 (ボックスの右端)を表している。そして、再度、図 11— 3に示すような項目情報ボックスの入力画面を表示する。ユーザが該画面上で項目 属性を、例えば、項目名 =K1100、日本語名 =キ一部、桁数 = 7を入力すると、そ の結果、図 11— 6に示すように、項目情報ボックス「Κ1100」が自動作成され表示さ れ、かつ、キー部であること及び桁数 7が表示される。同様にして、順次下層の項目 ボックス及びその属性が設定される。
[0118] 同一層に新たな項目情報ボックスを作成した 、場合、ユーザは、その層のボックス の上辺又は下辺を指定する。すると、図 11 7に示すように、当該項目情報ボックス の上又は下 (ただし、同一層)に新たな項目情報ボックスが仮生成されて破線で表示 される。図 11— 7の例においては、項目「Κ1110」の下辺が選択された力 又は項目 「K1130」の上辺が選択されたかの!/、ずれかである。
[0119] 既に設定した項目情報ボックスの上位層に、新たな項目情報ボックスを作成した 、 場合、ユーザは、当該項目情報ボックスの左辺を指定する。その結果、図 11— 8に 示すように、当該項目情報ボックスの 1つ上位の層(親層)に、新たな項目情報ボック スを仮生成し表示する。
[0120] これら仮生成された項目情報ボックスについても、図 11 3に示した項目情報ボッ タスの入力画面上でユーザが属性を入力して確定することにより、それら属性情報が ファイルレイアウト画面上で表示される。
[0121] このようにして、図 11— 9に示すような、データ定義情報のファイルレイアウトがッリ 一構造で作成され完成される。作成されたファイルレイアウトは、データ定義情報ファ ィル DB5に記憶される。
[0122] 完成された又は未完成状態のファイルレイアウト中のレコードレイアウト「R1000」を 選択すると、この項目の内容が、図 11 10に示すような形態で出力される。完成さ れた又は未完成状態のファイルレイアウトを修正する必要がある場合、例えば、新た な項目を追加する必要がある場合、図 11— 10に示したような空白が利用されること になる。空白部が存在しない又はその桁数が不足する場合、アラームが表示される。
[0123] 次に、画面定義モジュール 30の構成を、図 12—1に示す画面を定義する場合を例 にとつて、詳細に説明する。画面定義モードが選択されて画面定義モジュール 30が 起動されると、画面レイアウト領域が表示され、かつ、画面定義用プレートマスタ DB6 力 画面定義用のプレート一覧を読み出して、 PCスクリーン上の適宜の位置に表示 される。図 12— 2は、読み出された画面定義プレート一覧の一部を示している。
[0124] ユーザが枠 (表示枠) FRを作成した 、場合、画面定義プレート一覧から枠プレート を選択すると、図 12— 3に示す枠フィールド属性入力画面が自動的に表示される。こ の画面上でユーザが線の太さ、線種、及び線の色を入力(または、予め表示された 初期値を変更)し、画面レイアウト領域上で、ユーザがマウスを操作してカーソルを移 動させること〖こより、入力された太さ、線種及び色の線の図形描画が実行され、枠(図 12—4の枠 FR)が表示される。生成された枠の X—Y座標は、自動的に取得される。 そして、図 12— 3に示す種々の属性力 枠 IDに対応付けられて、画面定義ファイル DB7に格納される。
[0125] 次いで、ユーザが画面定義プレート一覧力もボタンプレートを選択し、図 12— 4に 示すボタンフィールド属性入力画面力も属性を入力し、かつカーソルを移動操作す ることにより、図 12— 5に示すように種々のボタンが画面上で作成される。ボタン上の タイトル(「戻り」、「検索」、「先頭」、「地区」)は、図 12— 4に示したボタンフィールド入 力画面の表示文字の欄に、タイトルをユーザが入力することにより、表示される。また 、各ボタンの開始位置及び終了位置の X—Y座標が、作成されたボタンの位置座標 を読み取ることにより自動的に取得される。そして、図 12— 4に示す種々の属性が、 各ボタン IDに対応付けられて画面定義フアイル DB7に記憶される。
[0126] 同様にして、文字フィールド、線、固定文字の画面要素が作成され、図 12— 1に示 した画面が作成される。そして、それらの定義が画面定義ファイル DB7に格納される 。図 12— 6〜図 12— 8は、文字フィールド、線、数値フィールドの属性入力画面を示 しており、これらの属性情報がそれぞれの IDに対応付けて画面定義ファイル DB7に 格納される。
[0127] 詳細フロー図が作成され、データ定義及び画面定義が作成された後、ユーザが変 換モードを選択してフロー図解析変換モジュール 40を起動すると、詳細フロー図か らソースプログラムが自動的に作成される。このとき、フロー図解析変換モジュール 4 0のフロー図連係解析モジュール 21(図 2— 2)力 詳細フロー図のスタート端子に接 続されたボックスとその流出線を読み取り、幹線に沿って連係(すなわち、各ボックス の下流側ボックスがどれである力)を解析し、かつ、処理ボックス内容解析モジュール 22が各ボックスの仕様内容を解析する。このような処理を繰り返し、エンド端子までの 連係及び仕様内容を解析する。判断ボックスについては、幹線及び分岐線をともに 解析するが、判断ボックスの上下左右の入出力条件を確認し、分岐方向を確認する
[0128] フロー図が矛盾なく完結している場合、ソースプログラム変換モジュール 23が、各 ボックス内の処理内容すなわち仕様をソースコードに変換する。処理内容に外部情 報を必要とする画面、展開関数等が含まれている場合、そのボックスの処理内容を 一時保管する。そして、幹線上の他のボックスの内容をソースコードに変換し、次い で分岐線上のボックスの内容をソースコードに変換する。その後、データ定義'画面 定義ソースプログラム組み込みモジュール 24と共同して、一時保管されて 、たボック スの処理内容を、その画像、関数等の出現順に外部情報を取得しながら解析し、ソ ースプログラムに組み込むよう変換を行う。展開関数に関しては、展開関数解析モジ ユール 25が、図 8に関連して説明したような階層降り機能を用いて解析し、展開関数 ソースプログラム組み込みモジュール 26が、その結果をソースプログラムに組み込む
[0129] ところで、処理ボックスに記述する言語は、通常、ソースプログラムを作成するため、 メーカの言語特有の形式に則った記述となっている。本発明のシステムにおいては、 メーカの言語特有の形式に制約されない自由な表記を行うことができる。このような 表記方式を、本明細書においては「新表記」と称し、これにより、ユーザ独自の分かり 易い言語で仕様を作成することができる。すなわち、表記されたユーザ言語は、言語 マスタを介してソースコード変換時、メーカ言語の形式に変換される。このため、この 機能を使用すれば、ソースコードに変換する時点で、変換後の汎用言語 (C、 C+ + 、 BASIC, Java等)を自由に選択できる。
[0130] 言語マスタ DB8及びコード式記述マスタ DB9を参照して、ユーザ言語となる新表 記方式の仕様を C+ +言語に変換する力 言語マスタ DB8に格納されている新表記 方式の仕様と C+ +言語のソースコードとの対応を例示する。
•処理内容「A領域の文字列と B領域の文字列を結合して、 A領域に格納する」 新表記方式: A+=B;
C+ + : stract (A,&B);
となる。
•処理内容が「C領域の数値に J領域の数値を加え、その結果を C領域に格納する。 そして、 J領域の数値に 1を加える」
新表記方式: C=C+J
J=J+1
C++言語: C=C+J J++;
•処理内容が、「J領域の数値に 1を加える。そして、 C領域の数値に J領域の数値を加 え、その結果を c領域に格納する」
新表記法式: _J=J+1
C=C+J
C++言語: C = C+J ++J;
•比較演算子 (等号、不等号、以上、以下)
新表記方式: = ≠ ≤
C++言語: = = ! = < =
•処理内容「指定された時間だけ処理を中断する (中断時間:ミリ秒)」
新表記方式: Cyudan (ただし、中断時間は 1.5秒を標準として設定)
C++言語: Sleep(1500) (ただし、中断時間は 1.5秒間に指定)
•処理内容「指定された音を指定された継続時間鳴らす (周波数: Hz、継続時間:ミリ 秒)」
新表記方式: Oto (ただし、 900Hzで 1/4秒を標準として設定)
C++言語: Beep(900,250) (ただし、 900Hzで 1/4秒間鳴らすと指定) •処理内容「"入力エラーです"の文字を表示する」
新表記方式: Hyoji (800200)
C++言語: ADCHAR (フィールド 800200の"入力エラーです"の意味) •処理内容「指定された色で表示する」
新表記方式: Aka Midori Ao
C++言語: RGB(255,0,0) RGB(0,255,0) RGB(0,0,255)
新表記方式: Kuro Siro
C++言語: RGB(0,0,0) RGB(255, 255,255)
上記例示した新表記方式と C++言語との対応関係が、言語マスタ DB8に格納され ている。また、このような対応関係は、必要とするコンピュータ言語の種類に応じて作 成され記憶されている。なお、新表記方式の場合は、ユーザが慣れ親しんでいる言 語表記でょ 、ので、アルファベットの代わりにひらがな又はカタカナ等を用いてもよ!ヽ 例えば、処理内容が「文字の色を赤に設定してエラーメッセージを表示し、かつ、警 告音を鳴らし、 1. 5秒間待つ」である場合、新表記方式及び C++言語では、以下のよ うに表記される。
[0132] 新表記方式のエラーメッセージ表記処理
Text(Aka);
Hyoji(800200,"入力エラーです。 ");
Oto;
Machi;
C++言語のエラーメッセージ表記処理
SetTextColor(RGB(255,0,0));
ADCHAR(800200,"入力エラーです。,,);
Beep(900,175) ;
Sleep(1500)
したがって、本発明のシステムによれば、フロー図中に仕様内容を入力する際に、 通常ユーザ独自の分かり易い言語で入力することができ、表記されたユーザ言語は 、言語マスタテーブルを介して C言語等に変換されるので、コンピュータ言語を知らな いユーザであっても入力が容易である。
[0133] 図 7— 2に示したように設定された判断ボックス (ボックス番号 3)を例にとって、ソー スコードへの変換動作を説明する。
[0134] フロー図解析変換モジュール 40の処理ボックス内容解析モジュール 22(図 2— 2) は、フロー図ファイル DB2から、図 7— 2に示したボックス番号 3のマスタデータ(すな わち、図 7— 3に示したデータ)を読み出して、読み出されたデータを解析する。次い で、ソースプログラム変換モジュール 23は、コード式記述マスタ DB9から判断ボック スの場合のコード記述マスタを呼び出す。 C++言語の場合には、図 13— 1の右側に 示すような配列の記述マスタとなる。そして、図 13— 1に示した対応関係で、ボックス マスタ中のフィールド番号のデータを、読み出した記述マスタのそれぞれの項に割り 当てる。
[0135] すなわち、処理ボックス種別が判断ボックスを示す「06」であることから、該「06」に 対応する記述マスタを、コード式記述マスタ DB9から読み出す。そして、処理ボックス 番号「3」を処理番号の位置に複写し、左項及び右項のデータ名「D1」及び「05030 3」をそれぞれ対応する位置に複写する。また、言語マスタ DB8を検索して、分岐条 件「=」に対応する C+ +言語の「= =」を読み出し、それを判定項に複写する。また 、判定成立時の分岐先及び不成立時の分岐先のボックス番号を、フロー図ファイル DB2のマスタデータ力 得て、それを対応する位置に複写する。
[0136] 図 13— 1に示すようにデータを割り当てた結果、以下のソースプログラム(C++言語 )が生成される。
G03: if (Dl==050303) [goto G54;]
else [goto 19;]
一方、 BASIC言語の場合には、図 13— 2に示すようにデータを割り当て、その結 果、
G03, if D1 = 050303 GOTO G54.
GOTO G19.
のソースプログラムが得られる。
[0137] ここで、図 7—10に示されたイベント待ち処理を含んだフロー図をソースプログラム に変換する場合であって C+ +言語に変換する場合を例として、図 13— 3のフロー 図を参照して詳細に説明する。このとき、ユーザの PCには、 Microsoft社等のイベント 処理定義プログラムモジュールを含んだ OSがインストールされているものとする。
[0138] フロー図解析変換モジュール 40が起動されると、該モジュール 40のフロー図連係 解析モジュール 41は、図 13— 3のステップ S81において、各ボックスの連係を解析 する。そして、処理ボックス内容解析モジュール 42は、ステップ S82において、変換 すべきフロー図上にイベント待ち状態を表すボックスすなわち仮想イベント待ちボック ス(ボックス番号 5)が含まれていることを検出し、ステップ S83において、 PCの OSに 含まれているイベント処理定義プログラムモジュールを読み出す。そして、ステップ S 84において、各ボックスの仕様として、コード式記述マスタ DB9に格納されているひ な形ライブラリ中の関数名が含まれて ヽるか否かを判定する。
[0139] ひな形ライブラリ群には、画面処理用として、描画前初期処理ボックス (ボックス番 号 2)、初期画面処理ボックス(ボックス番号 3)、描画後初期処理ボックス(ボックス番 号 4)の関数名に対応している関数が含まれており、ボックス内容解析モジュール 42 は、これらの関数名を仕様としているボックスが変換すべきフロー図上に存在すると 判定し、そして、ステップ S85において、ソースプログラム変換モジュール 43が、これ ら関数をひな形ライブラリから読み出してボックス番号 2〜4に対応付け、そして、それ ぞれのボックスの連係情報を組み込む。
[0140] 次いで、処理ボックス内容解析モジュール 42は、ステップ S86において、各ボックス の仕様として、下層のフロー図の ID (関数名)が含まれている否かを判定し、ステップ S87において、ソースプログラム変換モジュール 43は、処理ボックス(ボックス番号 14 〜19)の仕様である下層フロー図 IDに対応する関数すなわちソースプログラムモジ ユールを、ソースプログラムファイル DB10から読み出してボックス番号に対応付け、 かつボックスの連係情報を組み入れる。
[0141] そして、処理ボックス内容解析モジュール 42は、ステップ S88において、判断ボック スが含まれているか否かを判定し、ステップ S89において、ソースプログラム変換モジ ユール 43は、図 13— 1及び図 13— 2を参照して説明したように、言語マスタ DB8を 参照しつつ、判断ボックス(ボックス番号 7〜17)それぞれの仕様をソースコードに変 換してボックス番号に対応付け、それぞれのボックスの連係情報を組み入れる。
[0142] 次いで、ステップ S90において、処理ボックス内容解析モジュール 43は、その他の ボックスがあるか否かを判定し、ある場合には、ステップ S91において、ソースプログ ラム変換モジュール 43は、言語マスタ DB8を参照してソースコードに変換してボック ス番号に対応付け、かつ連係情報を組み入れる。最下層のフロー図の処理ボックス をソースコードに変換する場合も、言語マスタ DB8を参照して、該フロー図上の仕様 をコンピュータ言語に変換する。
[0143] これにより、フロー図がソースプログラムに変換される。図 13— 4及び図 13— 5 (図 1 3— 5は、図 13— 4の続き)は、このようにして作成されたソースプログラムの一例を示 している。当然ながら、図 13— 3に示した順番に判断して処理する必要がなぐ例え ば、ステップ S88及び S89をステップ S82の前段で実行してもよぐその他適宜の変 更が可能である。
[0144] このように、フロー図解析変換モジュール 40は、変換すべきフロー図上にイベント 待ち状態を表すボックス (仮想イベント待ちボックス)が含まれて ヽることを検出するこ とにより、フロー図がイベント待ち処理を含んだプログラムのフロー図であることを判定 し、ユーザの PCにインストールされている OSに含まれるイベント処理定義プログラム を読み出し、さらに、コード式記述マスタ DB9に格納されているひな形ライブラリに格 納されている関数及び作成済みの下層フロー図の関数 (すなわち、下層フロー図に 対応するソースプログラムモジュール)を読み出しているので、ソースプログラムへに 変換が容易となる。また、上述したように、図 7— 9及び図 7— 10に示されるような、ュ 一ザにより作成されるフロー図は、ランダムに発生されるイベントを待機してその処理 を行うことを、ユーザが理解し易い形態で簡潔かつ論理的に表しており、このような簡 潔及び論理的なフロー図を作成から、適正なソースプログラムへ変換することが可能 となる。
[0145] このようにして、フロー図中の全ボックスのマスタデータをフロー図ファイル DB2から 読み出し、データをユーザが指定したプログラム言語の配列に置き換えてから、該言 語のソースプログラムに変換する。フロー図から変換されたソースプログラムは、上述 したように、そのプログラムに使用されるデータ定義及び画面定義のソースコードと共 に、作成済ソースプログラムファイル DB 13に記憶される。
[0146] なお、フロー図解析変換モジュール 11によって変換されたソースプログラムは、さら に、言語メーカが提供するライブラリ等を参照してコンパイルされるが、その処理動作 は汎用のものであるので、説明を省略する。
[0147] 次に、作成されたソースプログラムの検証を行う検証モジュール 50について説明す る。検証モードが選択されて検証モジュール 50が起動すると、フロー図ファイル DB2 力 該ソースプログラムに対応する概要(又は詳細)フロー図のマスタデータが読み 出され、該データに基づいてフロー図が再生され表示される。
[0148] ユーザが、そのフロー図の流出線上に、図 14 1に示すように、ポーズ機能(=)及 びパス機能 (黒丸)を実行する点を設定する。ポーズ機能は、その設定点に到達する までの処理の実行結果 (種々の変数の値を含む)の取得、及び、その設定点に到達 時に処理の一時停止を行う機能である。パス機能は、その設定点に到達までの処理 の実行結果 (種々の変数の値を含む)取得を行うものであり、一時停止をせずに処理 を継続させる機能である。
[0149] そして、該フロー図に対応して作成されたソースプログラムをランさせると、処理通 過ルート表示モジュール 31 (図 2— 3)の機能により、フロー図上に経過ルートを表示 しながら処理が実行される。ソースプログラムのラン中に処理が下層フロー図に移行 した場合、階層降り機能により、下層フロー図を表示して該フロー図上でも通過ルー トを表示する。
[0150] また、処理の実行中、処理結果取得 ·表示モジュール 32の機能により、ポーズ機能 の設定点及びパス機能の設定点を通過した順番を通過履歴として取得し、また、処 理が通過した予め設定された変数の値を、該変数を含むボックスの処理が終了する 度に取得し、これらを通過履歴 Z変数値ファイル DB11に記憶する。
[0151] 例えば、図 14—1に示すように、ポーズ設定点 S013を設定し、パス設定点 P009及 び P010を設定した場合、ポーズ設定点 S013まで処理が進んだときに、プログラムの 処理が一時停止される。そして、処理結果取得 ·表示モジュール 32は、通過履歴 Z 変数値ファイル DB11を参照して、その一時停止までの、ポーズ設定点 S013並びに パス設定点 P009及び P010を処理が通過した履歴を検索して、通過履歴一覧として 表示し、また、フロー図中の予め設定された種々の変数の値を変数値一覧として表 示する。
[0152] 図 14— 2及び図 14— 3は、このような通過履歴一覧及び変数値一覧を示している 。図 14— 2に示した通過履歴一覧の例においては、パス設定点 P009及び P010をそ れぞれ 3回通過した後に、ボックス番号 7の判断ボックス力 分岐されてポーズ設定 点 S013に至った様子を示している。また、図 14— 3に示した変数値一覧の例におい ては、ポーズ設定点 S013でプログラムが一時停止したときに、図 14— 1に示したフロ 一図中のボックス番号 4、 6〜10、 13及び 14のボックス中の変数(変数名 A〜G)が どのような値であるかを示している。また、図 14— 2に示した通過履歴一覧において、 ユーザが、例えば、世代 4のポーズポイント P010 (処理が 2回通過したことを表してい る)を選択すると、該ポイントを処理が 2回目に通過する時点の変数名 A〜Gの変数 値が一覧として表示される。
[0153] 作成されたソースプログラムのラン中にエラーが発生した場合、処理エラー表示モ ジュール 33の機能により、ボックス番号及び処理行をエラー表として PCCスクリーン 上に表示する。
[0154] このようにして、ソースプログラムの検証を行うことにより、バグ発生位置等を表示す ることができるので、その修正が容易である。
[0155] 一時停止された処理の再開は、再開ボタン (不図示)を選択することにより実行され る。
[0156] 本発明は、以上のように構成されているので、任意のソースプログラムを、高度な知 識を有していないユーザであっても容易に作成することができ、また、作成されたフロ 一図をソースプログラムに変換するので、フロー図中の仕様の論理とソースプロダラ ムの論理との同一性が維持される。特に、複数のイベント及びそれに対応する処理 力 Sランダムに発生する場合のイベント待ち状態をフロー図上で適切に表すことができ る。
[0157] また、ガイダンスによりユーザの入力を促し、それに基づいて自動的にフロー図を 作成するので、作成すべきソースプログラムに対応するフロー図作成がより容易とな る。さらに、当初フロー図とそのフロー図を進展させた進展フロー図との関係である派 生関係をユーザに提供することができるので、ユーザは、派生のいきさつ及びプログ ラムの論理の進展を容易に把握することができる。
[0158] さらに、ユーザがツリー構造のデータ定義を PCスクリーン上で視認しながらデータ 定義を作成することができ、また、画面を PCスクリーン上で作成するだけで、画面定 義を作成することができる。したがって、データ定義及び画面定義の作成及び保守 が容易となる。
[0159] さらにまた、作成されたソースプログラムを実際にランさせて検証を行うことができ、 その結果をソースプログラムの修正に反映させることができる。

Claims

請求の範囲
コンピュータにより読み取り可能なプログラムを利用し、ユーザとの対話によりソース プログラムを作成するためのソースプログラム作成支援システムであって、作成すベ きソースプログラムに対応するフロー図をモニタスクリーン上に作成することを支援す るフロー図作成手段と、該フロー図作成手段によって作成されたフロー図を解析して ソースコードに変換することによりソースプログラムに変換するフロー図解析変換手段 とを含んで 、るソースプログラム作成支援システムにお 、て、
フロー図作成手段は、
フロー図に含まれるスタート端子、エンド端子、流入線、流出線、及び複数のボッ タスを含む基本的なプレート、並びに、ランダムに発生される複数のイベントによりそ れぞれ駆動される複数のイベント処理を含むイベント処理プログラムの開始プレート を含む一覧表を、ユーザにより選択可能に表示するプレート一覧表示手段と、
ユーザが表示されたプレート一覧力もプレートを選択し、その配置位置をモニタス クリーン上で指定する毎に、該配置位置に選択されたプレートの形状を表示するプレ ート配置手段であって、
プレート一覧に含まれるイベント処理プログラム開始プレートが選択されたときに 、イベント発生の待ち状態を表す仮想イベント待ちボックスと該仮想イベント待ちボッ タスに流出線が接続されたリターン端子とを含んでいるイベントフロー図初期ボックス 群をフロー図作成領域上に表示させる手段と
を含んで!/、るプレート配置手段と、
モニタスクリーン上に配置されたボックスに処理の内容に対応する仕様をユーザ に入力させるための入力欄を表示し、入力された仕様を該ボックスと関連付けて記憶 する仕様設定手段と
を備え、
フロー図解析変換手段は、
ソースプログラムに変換すべきフロー図中に仮想イベント待ちボックスが含まれて いる場合に、イベント処理プログラムであると判定して、使用しているコンピュータに o
Sの一部としてインストールされているイベント処理定義を読み出す手段と、 フロー図中のボックスの連係を解析して各ボックスの連係情報を得る手段と、 フロー図中の各ボックスに設定された仕様をソースコードに変換し、かつ、変換さ れたソースコードに該当するボックスの連係情報を組み入れることにより、各ボックス のソースプログラムモジュールを生成する手段と、
読み出されたイベント処理定義、及び、ボックスの連係情報が組み入れられたソ ースプログラムモジュールを一体化してソースプログラムを生成する手段と を備えている
ことを特徴とするソースプログラム作成支援システム。
[2] 請求項 1記載のソースプログラム作成支援システムにおいて、イベントフロー図初期 ボックス群は、仮想イベント待ちボックス及びリターン端子にカ卩えて、スタート端子と、 イベント待ちボックスの下流に直列的に配置された 2つの判断ボックスと、該判断ボッ タス力 の流出線により該判断ボックスにそれぞれ接続された 2つの処理ボックスであ つて、その流出線がリターン端子に接続されている処理ボックスとを少なくとも含んで いることを特徴とするソースプログラム作成支援システム。
[3] 請求項 1又は 2記載のソースプログラム作成支援システムにおいて、フロー図作成手 段はさらに、
フロー図作成領域に配置されたプレートの削除をユーザが指示したときに、該プレ ートを削除するプレート削除手段と、
イベントフロー図初期ボックス群以外のプレートが新たにフロー図作成領域に配置 されたときに、該プレートの下流に処理ボックス及びその流出線を、配置されたプレ 一トとは異なる表示態様で自動的に表示する手段と
を備えていることを特徴とするソースプログラム作成支援システム。
[4] 請求項 3記載のソースプログラム作成支援システムにおいて、フロー図作成手段のプ レート一覧表示手段により表示されるプレート一覧には、イベント処理プログラム終了 プレートが含まれ、
プレート配置手段は、フロー図作成領域に表示されて!ヽるフロー図中に仮想ィベン ト待ちボックスが含まれており、かつ異なる表示態様の処理ボックス及びその流出線 が含まれている状態で、プレート一覧に含まれるイベント処理プログラム終了プレート が選択されたときに、異なる表示態様の処理ボックス及びその流出線を自動的に削 除し、かつ、最下端の判断ボックスの下方に、リターン端子に一方の流出線が接続さ れた判断ボックスを追加し、該判断ボックスの他方の流出線に接続され、 自身の流出 線がリターン端子に接続された処理ボックスを追加するよう構成されている ことを特徴とするソースプログラム作成支援システム。
[5] 請求項 1〜4 、ずれかに記載のソースプログラム作成支援システムにお ヽて、
該システムはさらに、複数の処理内容それぞれに対応するソースプログラムモジュ ールである複数の関数をその関数名と対応付けて予め記憶して 、るひな形ライブラリ を備えており、
フロー図作成手段の仕様設定手段は、ユーザが仕様としてひな形ライブラリに記憶 されて 、る関数名を選択的に入力することが可能なるようにするために、ひな形ライ ブラリ中の複数の関数の内容及びその関数名をユーザに提示する手段を備えており フロー図解析変換手段は、変換すべきフロー図に、ひな形ライブラリに記憶されて V、る関数名が仕様として設定されて 、るボックスがある場合に、該ライブラリから該関 数名に対応する関数を読み出すよう構成されている
ことを特徴とするソースプログラム作成支援システム。
[6] 請求項 1〜5いずれかに記載のソースプログラム作成支援システムにおいて、
フロー図作成手段は、上位層のフロー図とその下位層の詳細フロー図を作成する ための階層降り機能を実行する手段を備えており、
フロー図作成手段の仕様設定手段は、ユーザが上位層のフロー図の仕様として下 位層のフロー図を特定するフロー図 IDを選択的に入力することが可能となるようにす るために、下位層のフロー図の内容及びフロー図 IDをユーザに提示する手段を備え ており、
フロー図解析変換手段は、変換すべきフロー図に、フロー図 IDが仕様として設定さ れているボックスがある場合に、該フロー図 IDに対応するプログラムモジュールを記 憶手段から読み出すよう構成されて ヽる
ことを特徴とするソースプログラム作成支援システム。
[7] 請求項 1〜6いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段はさらに、
モニタスクリーン上に配置されたボックスに処理のタイトルを入力するためのタイトル 入力欄を表示し、入力されたタイトルをボックスと関連付けて記憶するタイトル設定手 段
を備えていることを特徴とするソースプログラム作成支援システム。
[8] 請求項 1〜7いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段の仕様設定手段は、プレート配置手段によりボックスがモニタスクリーン に表示される毎に、仕様設定が可能であるよう構成されて ヽることを特徴とするソース プログラム作成支援システム。
[9] 請求項 7記載のソースプログラム作成支援システムにおいて、フロー図作成手段の仕 様設定手段及びタイトル設定手段は、プレート配置手段によりボックスがモニタスクリ ーンに表示される毎に、仕様設定及びタイトル設定が可能であるように構成されてい ることを特徴とするソースプログラム作成支援システム。
[10] 請求項 1〜5いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段はさらに、
フロー図作成のために予め設定された複数の質問を含むガイダンスをユーザに提 供し、該ガイダンスの質問に対してユーザによって入力された応答に基づいて、フロ 一図を対話的に作成するガイダンス手段であって、質問は業務数の質問を含み、該 質問に対するユーザの応答に基づ 、た数の判断ボックス及び処理ボックスを、自動 的にモニタスクリーン上に表示させるガイダンス手段
を備えていることを特徴とするソースプログラム作成支援システム。
[11] 請求項 10記載のソースプログラム作成支援システムにおいて、フロー図作成手段は さらに、
ガイダンス手段が提供したガイダンスと該ガイダンスに対するユーザの応答との時 間経過履歴を取得し、かつ、該時間経過履歴をモニタスクリーン上に表示するぺー スメーカ手段
を備えていることを特徴とするソースプログラム作成支援システム。
[12] 請求項 1〜: L Iいずれかに記載のソースプログラム作成支援システムにおいて、フロ 一図作成手段は、
予め作成された第 1のフロー図と、該第 1のフロー図中の少なくとも 1つのボックスの 処理内容を詳細化して複数のボックスで表した第 2のフロー図との関係を、モニタスク リーン上に表示する派生関係表示手段であって、第 1のフロー図がモニタスクリーン 上に表示された状態で、詳細化された元のボックスが選択されたときに、該ボックスの 代わりに、該ボックスに対応する第 2のフロー図中の複数のボックスを表示させる派生 関係表示手段
を備えていることを特徴とするソースプログラム作成支援システム。
[13] 請求項 1〜12いずれかに記載のソースプログラム作成支援システムにおいて、該シ ステムはさらに、
フロー図作成手段によって作成されるフロー図において使用されるデータのソース プログラムのデータ定義を、モニタスクリーン上でユーザとの対話に基づいてツリー構 造のデータレイアウトを作成し、該作成されたデータレイアウトに基づいて定義するデ ータ定義作成手段と、
フロー図作成手段によって作成されるフロー図において使用される画面のソースプ ログラムの画面定義を、モニタスクリーン上でユーザとの対話に基づ 、て画面を作成 し、該作成された画面の要素の位置及びサイズに基づ ヽて定義する画面定義作成 手段と
を備えていることを特徴とするソースプログラム作成支援システム。
[14] 請求項 13記載のソースプログラム作成支援システムにおいて、フロー図解析変換手 段はさらに、
フロー図に基づいて作成されたソースプログラムに、データ定義作成手段及び画面 定義作成手段によって作成されたデータ定義及び画面定義と組み合わせる手段 を備えていることを特徴とするソースプログラム作成支援システム。
[15] 請求項 1〜14いずれかに記載のソースプログラム作成支援システムにおいて、該シ ステムはさらに、作成されたソースプログラムを検証する検証手段を備え、該検証手 段は、 検証すべきソースプログラムに対応するフロー図をモニタスクリーン上に表示し、表 示されたフロー図上に、ソースプログラムのランを一時停止させ、処理結果を取得し、 通過履歴と処理結果を表示させるべきポーズ設定点と、処理結果のみを取得するた めのパス設定点とをユーザに設定させる手段と、
検証すべきソースプログラムをランさせ、該ソースプログラムに対応しかつ表示され たフロー図上に、処理の経過に伴って通過ルートを表示する手段と、
処理がポーズ設定点に到達したときに、処理を一時停止させ、かつ、該ポーズ設定 点及びパス設定点の通過履歴を表示する手段と、
処理がポーズ設定点に到達したときに、フロー図上の予め設定された変数の値を 変数一覧として表示する手段と
を備えていることを特徴とするソースプログラム作成支援システム。
PCT/JP2006/316923 2006-03-09 2006-08-29 ソースプログラム作成支援システム WO2007102232A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006800530675A CN101379466B (zh) 2006-03-09 2006-08-29 源程序编制支持系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006063999A JP3850867B1 (ja) 2005-04-19 2006-03-09 ソースプログラム作成支援システム
JP2006-063999 2006-03-09

Publications (1)

Publication Number Publication Date
WO2007102232A1 true WO2007102232A1 (ja) 2007-09-13

Family

ID=38474678

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/316923 WO2007102232A1 (ja) 2006-03-09 2006-08-29 ソースプログラム作成支援システム

Country Status (3)

Country Link
KR (1) KR20080104057A (ja)
CN (1) CN101379466B (ja)
WO (1) WO2007102232A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371823A (zh) * 2016-08-22 2017-02-01 广州酷狗计算机科技有限公司 生成代码块的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6154539A (ja) * 1984-08-27 1986-03-18 Hitachi Ltd プログラム仕様入力方式
JPS61105673A (ja) * 1984-10-29 1986-05-23 Hitachi Ltd 対話型図面作成方法
JPS61249149A (ja) * 1985-04-26 1986-11-06 Mitsubishi Electric Corp プログラムトレ−ス装置
JPH0916385A (ja) * 1995-06-30 1997-01-17 Toshiba Corp アプリケーション開発方法及び装置
JPH09212630A (ja) * 1996-02-05 1997-08-15 Honda Motor Co Ltd 図形作成装置
JPH10293686A (ja) * 1997-04-18 1998-11-04 Hitachi Ltd トラッキングプログラム生成方法および装置
JPH11296357A (ja) * 1998-04-08 1999-10-29 Oki Electric Ind Co Ltd フローチャート入力装置
JP2003076546A (ja) * 2001-09-03 2003-03-14 Minoru Kano 図形描画方法、フローチャート描画方法およびフローチャートからのコンピュータプログラム生成方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6154539A (ja) * 1984-08-27 1986-03-18 Hitachi Ltd プログラム仕様入力方式
JPS61105673A (ja) * 1984-10-29 1986-05-23 Hitachi Ltd 対話型図面作成方法
JPS61249149A (ja) * 1985-04-26 1986-11-06 Mitsubishi Electric Corp プログラムトレ−ス装置
JPH0916385A (ja) * 1995-06-30 1997-01-17 Toshiba Corp アプリケーション開発方法及び装置
JPH09212630A (ja) * 1996-02-05 1997-08-15 Honda Motor Co Ltd 図形作成装置
JPH10293686A (ja) * 1997-04-18 1998-11-04 Hitachi Ltd トラッキングプログラム生成方法および装置
JPH11296357A (ja) * 1998-04-08 1999-10-29 Oki Electric Ind Co Ltd フローチャート入力装置
JP2003076546A (ja) * 2001-09-03 2003-03-14 Minoru Kano 図形描画方法、フローチャート描画方法およびフローチャートからのコンピュータプログラム生成方法

Also Published As

Publication number Publication date
CN101379466A (zh) 2009-03-04
CN101379466B (zh) 2011-12-07
KR20080104057A (ko) 2008-11-28

Similar Documents

Publication Publication Date Title
US20230161457A1 (en) Method and System for Configuring Automatic Generation of Narratives from Data
KR100860963B1 (ko) 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법
CN107544437A (zh) 加工程序编辑装置、方法以及存储介质
JPH02232152A (ja) 生産システムシミュレータ生成装置
JP2001216142A (ja) プログラム作成支援装置
JP3850867B1 (ja) ソースプログラム作成支援システム
US20030090526A1 (en) Analysis work support system
JPH11296357A (ja) フローチャート入力装置
JP2013020437A (ja) 要件管理支援装置
WO2007102232A1 (ja) ソースプログラム作成支援システム
WO2006114899A1 (ja) ソースプログラム作成支援システム
JPH06187396A (ja) ネットワーク構成設計支援システム
JP2002014845A (ja) テスト・スクリプト部品の自動生成方法および装置
JPS61267870A (ja) 帳表作成処理方式
JP2001043076A (ja) Gui画面生成装置、gui画面生成方法及びgui画面生成プログラムを記録した記録媒体
CN110554658A (zh) 辅助装置
JPH1124904A (ja) プログラム作成装置及びプログラム作成プログラムを記憶した記憶媒体
JP2001273342A (ja) 製品製造方法と製品製造支援方法
JP2008015879A (ja) 自然文を含む仕様の記述支援方法、プログラムおよびシステム
JP2008234379A (ja) ソフトウェア生成装置ならびにソフトウェア生成方法
JP2500632B2 (ja) プログラムパタ―ンカストマイズ方式
JP4113652B2 (ja) 住宅開発設計システム
JPS60128530A (ja) ユ−ザメニユ−表示処理方式
JP2000148232A (ja) 中央監視制御装置のディスプレイ画像データ作成システム
JP3966355B2 (ja) プログラム生成方法および装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 200680053067.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: KR

122 Ep: pct application non-entry in european phase

Ref document number: 06796903

Country of ref document: EP

Kind code of ref document: A1