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

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

Info

Publication number
WO2006114899A1
WO2006114899A1 PCT/JP2005/009366 JP2005009366W WO2006114899A1 WO 2006114899 A1 WO2006114899 A1 WO 2006114899A1 JP 2005009366 W JP2005009366 W JP 2005009366W WO 2006114899 A1 WO2006114899 A1 WO 2006114899A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow diagram
source program
box
screen
support system
Prior art date
Application number
PCT/JP2005/009366
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
Application filed by Assist Computer System Co, Ltd filed Critical Assist Computer System Co, Ltd
Publication of WO2006114899A1 publication Critical patent/WO2006114899A1/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 source program is usually composed of a combination of a data definition, a screen definition, and a main program.
  • Patent Document 2 JP-A-9 91146
  • the present invention has been made to solve such problems.
  • the first object of the present invention is to make it possible to easily create an arbitrary source program even for a person who does not have advanced knowledge. It is to provide a source program creation support system that is unified in a flow format.
  • a second object of the present invention is to provide a source program creation support system that can create data definitions included in a source program with high work efficiency.
  • a third object of the present invention is to provide a source program creation support system capable of creating a screen definition included in a source program with high work efficiency.
  • a fourth object of the present invention is to enable verification of a created source program, and to provide the result in a form that is easy to share with a user. Means for solving the problem
  • the present invention provides a source program creation support system for creating a source program by interacting with a user using a computer-readable program.
  • a flow diagram creation means for supporting creation of a flow diagram corresponding to a source program to be created on a monitor screen
  • a plate list display means for displaying a list of basic plates including a start terminal, an end terminal, an inflow line, an outflow line, and various bots included in the flow chart in a selectable manner by a user;
  • a flow diagram creation means comprising a specification setting means for displaying a specification input field for inputting a specification and storing the input specification in association with the box;
  • a source program creation support system characterized by being powerful is provided.
  • the flow diagram creating means further includes a title setting means for displaying a title input field for inputting a processing title in a box arranged on the monitor screen and storing the input title in association with the box. And prefer to be.
  • the specification setting means of the flow diagram creation means can set the specifications each time the box is displayed on the monitor screen by the plate placement means. It is preferable that it is comprised so that.
  • the specification setting means and title setting means of the flow diagram creation means may be configured so that specification setting and title setting can be performed each time the box is displayed on the monitor screen by the freight arrangement means. .
  • the flow diagram creation means further provides guidance for creating a flow diagram to the user, and based on the response of the user input to the guidance, To create a flow diagram automatically It is preferable to provide a support means.
  • the flow diagram creating means further acquires a time lapse history between the guidance provided by the guidance means and the user's response to the guidance, and displays the time lapse history on the monitor screen. May be provided.
  • the flow diagram creation means has a hierarchical descending function for creating a schematic flow diagram and a detailed flow diagram thereof. Is preferred.
  • the flow diagram creation means displays on the monitor screen the relationship between the initial flow diagram and an expanded flow diagram that includes all the processes of the initial flow diagram and that details part of the initial flow diagram.
  • a derivation relationship display means for displaying a plurality of boxes of the expanded flow diagram corresponding to the box instead of the box when the box of the initial flow diagram is selected. It is preferable.
  • the system further displays the data definition of the data source program used in the flow diagram created by the flow diagram creation means on the monitor screen.
  • This is used in the flow diagram created by the data definition creation means that creates the data layout of the tree structure based on the dialog with the user and defines the data layout based on the created data layout.
  • Screen definition creation means for creating a screen definition of the screen source program based on dialog with the user on the monitor screen and defining based on the position and size of the elements of the created screen It is preferable to provide.
  • the flow diagram analysis conversion means analyzes the linkage of the flow diagrams, analyzes the contents of the boxes in each flow diagram, converts the specifications set in each box into the source code, and converts the flow diagram into the product And means for combining the program with the data definition and the screen definition created by the data definition creation means and the screen definition creation means.
  • the system further includes verification means for verifying the generated source program, and the verification means includes the source program to be verified.
  • the flow chart corresponding to is displayed on the monitor screen, On the displayed flow diagram, pause the source program, acquire the processing results, display the passage history and processing results, and set the pause setting points for acquiring only the processing results.
  • the process is temporarily stopped and the passage history of the pause set point and the path set point is displayed, and when the process reaches the pause set point, It is preferable to provide a means for displaying the value of a preset variable as a variable list.
  • the specification setting means of the flow diagram creation means is in a language normally used by a user other than a computer language. It is preferable that a new notation function is provided so that specifications can be input.
  • the flow diagram creating means displays a return terminal by an event waiting display function that easily distributes an event waiting state such as an input waiting state and a processing waiting state in a program including event processing, and It is preferable that an event waiting state can be displayed on the flow diagram by displaying a dashed arrow from the return terminal to a box for proceeding after the event waiting state is resolved.
  • 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, and a flow diagram can be created. Since the flow diagram created by the means is converted into the source program by the flow diagram analysis and conversion means, the same logic between the specification logic in the flow diagram and the source program logic is maintained. In particular, when a guidance means is provided, the user's input is prompted by guidance, and a flow diagram is automatically created based on the prompt. Therefore, it is easier for the user to create a flow diagram corresponding to the source program to be created. Become.
  • 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. Can do.
  • the data definition creation means and the screen definition creation means the user can create the data definition while visually recognizing 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 the 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 flow diagram 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.
  • FIG. 4-6 The screen displayed by the function of the flow diagram creation module based on user interaction It is a schematic diagram of a clean shot.
  • 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.
  • 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-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.
  • 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.
  • 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.
  • 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. It is. 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.
  • 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 an image flow creation module 11, a title flow diagram creation module 12, an overview flow diagram definition module 13, an overview flow diagram new creation module 14, and an overview.
  • a flow diagram creation guidance module (hereinafter simply “guidance module”) 15, a pacemaker module 16, and a detailed flow diagram definition module 17 are included.
  • the image flow diagram is a flow diagram that defines only the boxes and their connections.
  • 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.
  • 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 S1 determines whether the image flow diagram creation mode has been selected and it is determined that the overview flow diagram new creation mode has been selected in step S5
  • the process proceeds to step S6.
  • 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 in step S1 that the image flow diagram creation mode is not selected, and in step S5, it is determined that the overview flow diagram new creation mode is selected! If it is determined that the guidance mode is selected! In step S10, the guidance module 15 is activated. As a result, based on the dialog with the user, the outline flow diagram is created by the pacemaker and the guidance function. 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 started 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 for either of these.
  • the function of the flow diagram conversion module 20 is shown in Fig. 2-2.
  • the flow diagram linkage analysis module 21 analyzes 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 22 that analyzes the contents in the box inside
  • source program conversion module 23 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
  • the function of the verification module 30 is a display module 31 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 33, a display module 34 for displaying processing errors, and an entire processing result display module 35 for displaying the results of the entire processing.
  • the system of the present invention also includes a database (DB) for storing data related 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.
  • the guideline (guidance) data that should be asked to the user when creating a flow diagram executed by the guidance module 15 is stored, and the user's 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. In addition, it stores data of the initial flow format when creating a flow diagram according to the guidance.
  • the user's response to the question is memorized, and during the flow diagram executed by the pacemaker module 16 and the guidance module 15, the question and answer with the user is Memorize it according to time.
  • 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 between the specification language of the user input and the source code that is referenced when converting the created flow diagram into the source program.
  • Source code is stored corresponding to the type of programming language.
  • the location of the user input specifications and the location of the source code that are referenced when converting the created flow diagram into the source program Store and contrast tables.
  • the passage history of one or more points set on the flow diagram and the values of variables in the flow diagram are stored.
  • 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 in a suitable position such as the bottom or right edge of the PC screen as a flow chart plate list as shown in Figure 4-1.
  • 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 broken (or broken) at the bottom of the bottom outflow line. (Flashing state) is automatically displayed.
  • 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 the lower end of the lower outflow line is arranged.
  • the processing box is automatically displayed with a broken line (or blinking).
  • the bottom outflow line is automatically displayed as a broken line at the bottom of this processing box.
  • the bottom outflow line of processing box D located in is connected to the bottom outflow line c, and the connected downstream outflow line d is displayed.
  • an image flow diagram as shown in FIG. 48 is created.
  • the box numbering force as shown in Fig. 48 is automatically assigned to each box. The Each time a box is selected and arranged, a temporary box number may be assigned, and when a “numbering” button is selected, a regular box number may be assigned.
  • 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 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) that were input when creating the image flow diagram, and 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, and in the vicinity of these output lines.
  • 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.
  • a force image flow diagram based on the premise that a title and specifications are input for each bot- tom is created or completed.
  • the title and specifications may be entered for each box.
  • each time a box is selected from the flow diagram plate list on the PC screen and displayed in the flow diagram creation area an input screen is displayed, and the input / output lines, title and specifications, and branch conditions of the box are displayed on the screen.
  • the user should input (in the case of a judgment box). For example, in the case of a decision box, when the decision box is displayed in the flow diagram creation area, an input box as shown in Fig.
  • the branch condition may be entered by specifying the vicinity of the end of the judgment box without selecting the input field and selecting the pull-down menu force displayed thereby.
  • the input / output lines may be selected from the pull-down menu displayed by designating 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 screen input processing program is in the input screen display state and waiting for input.
  • the program waits for processing until a specific signal for completion of input (for example, an Enter signal from the keyboard) is received.
  • a specific signal for completion of input for example, an Enter signal from the keyboard
  • 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. Book
  • Such a notation system is referred to as “new notation” in the present specification, and by this, a specification can be created in a user-friendly language.
  • the displayed user language is converted into the manufacturer language format 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 (registered trademark), etc.) can be freely selected at the time of conversion to source code.
  • the detailed flow definition module 17 is activated, and the detailed flow diagram in the lower layer of the schematic flow diagram, which is the main flow diagram created under dialogue with the user. Is created. The operation of the detailed flow definition module 17 will be described with reference to FIG.
  • 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 .
  • the subflow diagram C includes the function D
  • the subflow diagram D for processing the function D is created in the same manner.
  • 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 out the data of the initial flow form from the guidance master DB3, and as shown in FIG. A start terminal, initial processing box, connector (G1), and end terminal are automatically generated in the flow diagram creation area.
  • Fig. 92 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 in addition to the initial flow form. Contents to be asked are stored as guidance data.
  • one process includes a plurality of processes (initial), and one of the plurality of processes further includes a plurality of processes (first development)! Progress to Always.
  • the original box is referred to as a derivation source box
  • a plurality of boxes developed from the box are referred to as derivation destination boxes.
  • the derivation destination boxes For example, if a title flow diagram as shown in Figure 9-4 has been created, the “daily report processing” box 9 and the decision boxes 14-16 and processing boxes 17-19 in FIG.
  • the former is the derivation source and the latter is the derivation destination.
  • a flow diagram that includes a derivation source box (initial box) is referred to as an initial flow diagram
  • a flow diagram that includes a derivation destination (development box) is referred to as a development flow diagram.
  • such a derivation relationship is also stored in the flow diagram file DB2.
  • the ID (box number) of the derivation source box is stored as derivation relationship data in the box masters of the derivation destination boxes 14 to 19. Then, when the box 9 as the derivation source is selected in the state shown in the flow chart of FIG. 94, a plurality of destination boxes 14 to 19 are displayed in place of the box 9, and conversely, FIG. — With the flow chart of 6 displayed, if you select multiple derivation boxes 14 to 19, the source box 9 is displayed in place of these boxes.
  • 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, and 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. D Save to B2 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
  • the contents of the outline flow diagram completed by the functions of the guidance module 15 and the pacemaker module 16 are stored in the flow diagram file DB2.
  • FIG. 10-1 illustrates 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.
  • a guidance time table For example, in the example of 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.
  • file information box input screen shown in Fig. 111 is displayed.
  • File attributes (file name, Japanese name, record length, key length, format) are input by the user on the input screen.
  • Figure 11 1 shows the screen after the file attributes are entered.
  • file name KOKYAKU— F
  • Japanese name customer file
  • record length 123
  • 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 When a new item information box is created on the same layer, the user designates the upper side or the lower side of the box on that 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 the upper side of the item “ ⁇ 1130” is selected!
  • a new item information box is created in the upper layer of the already set item information box, the user designates the left side of the item information box. As a result, as shown in Figure 11-8, a new item information box is temporarily generated and displayed in the layer (parent layer) one level higher than the item information box.
  • a file layout of data definition information as shown in FIG. 119 is created and completed with a single structure.
  • the created file layout is the data definition information file. Stored in DB5.
  • 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. Then, it is stored in the screen definition file DB7 in association with the various attribute scope IDs shown in Figure 12-3.
  • 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.
  • Figure 12-1 character field, line, and fixed character screen elements are created and shown in Figure 12-1. Screen is created. These definitions are stored in the screen definition file DB7. Figure 12-6 to Figure 12-8 show the attribute input screens for character fields, lines, and numeric fields. These attribute information is stored in the screen definition file DB7 in association with each ID.
  • the source program is automatically generated from the detailed flow diagram.
  • 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 into source code. If the processing content includes screens, expansion functions, etc. that require external information, temporarily store the processing content of the box. Then, the contents of other boxes on the main line are converted into source code, and then the contents of the boxes on the branch line are converted into 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. Perform conversion to incorporate. With respect to the expansion function, the expansion function analysis module 25 analyzes using the hierarchical 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 “new notation” in the present specification.
  • Specifications can be created in easy 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 language (c, C +
  • 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 the c area.”
  • 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”
  • 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 (ie, 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.
  • the master data of all boxes in the flow diagram is read from the flow 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 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 pass function acquires the execution results (including the values of various variables) until the set point is reached, and continues the process without pausing.
  • 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 and the passing route is also displayed on the flow diagram by the lower layer function.
  • the processing result acquisition and display module 32 function acquires the order of passing through the pause function set point and pass function set point as a 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 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 pauses at the pause set point S013, box numbers 4, 6 to 10 in the flowchart shown in Fig. 14-1 are shown. , 13 and 14 indicate the values of the variables (variable names A to G).
  • the passage history list shown in Fig. 14-2 if the user selects, for example, generation 4 pause point P010 (which indicates that the process has passed twice), the point is processed the second time.
  • the variable values of variable names A to G at the time of passing are displayed as a list.
  • the function of the processing error display module 33 displays the box number and processing line as an error table on the PCC screen.
  • the user's input is prompted by guidance, and a flow diagram is automatically generated based on the prompt. Since it is created, it is easier to create a flow diagram corresponding to the source program to be created. Furthermore, since it is possible to provide the user with a genetic relationship, which is the relationship between the initial flow diagram and the progress flow diagram that evolved the flow diagram, the user can easily develop the derivation process and the logic of the program. I can grasp it.
  • the user can create the data definition while viewing the data definition of the tree structure on the PC screen, and the screen definition can be created only 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.

Abstract

 本発明は、ソースプログラム作成支援システムを提供する。該システムにおいて、作成すべきソースプログラムに対応するフロー図をPCスクリーン上に作成することを支援するフロー図作成モジュールは、フロー図に含まれる入出力線及びボックス等の基本的なプレートの一覧を表示し、ユーザがプレートを選択し、その配置位置をモニタスクリーン上で指定する毎に、該配置位置に選択されたプレートを表示する。そして、仕様入力欄を表示し、入力された仕様をボックスと関連付けて記憶する。フロー図解析変換モジュールは、作成されたフロー図を解析してソースコードに変換することによりソースプログラムに変換する。データ定義作成モジュール及び画面定義作成モジュールは、プログラム中で使用されるデータ及び画面を、ユーザがPCスクリーン上で作成できるように支援する。

Description

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

Claims

請求の範囲
[1] コンピュータにより読み取り可能なプログラムを利用し、ユーザとの対話によりソース プログラムを作成するためのソースプログラム作成支援システムにおいて、
作成すべきソースプログラムに対応するフロー図をモニタスクリーン上に作成するこ とを支援するフロー図作成手段であって、
フロー図に含まれるスタート端子、エンド端子、流入線、流出線、及び種々のボッ タスを含む基本的なプレートの一覧を、ユーザにより選択可能に表示するプレート一 覧表示手段と、
ユーザがプレート一覧からプレートを選択し、その配置位置をモニタスクリーン上 で指定する毎に、該配置位置に選択されたプレートを表示するプレート配置手段と、 モニタスクリーン上に配置されたボックスに処理の仕様を入力するための仕様入 力欄を表示し、入力された仕様を該ボックスと関連付けて記憶する仕様設定手段と からなるフロー図作成手段と、
フロー図作成手段によって作成されたフロー図を解析してソースコードに変換する ことによりソースプログラムに変換するフロー図解析変換手段と
力もなることを特徴とするソースプログラム作成支援システム。
[2] 請求項 1記載のソースプログラム作成支援システムにおいて、フロー図作成手段のプ レート配置手段は、
新たにプレートがモニタスクリーン上に配置されたときに、該プレートの下流に、処 理ボックス及びその流出線を、選択配置されたプレートと異なる表示態様で自動的に 表示する手段と、
複数のボックスそれぞれの流出線の結合の指示が入力されたときに、それら流出線 を結合する手段と
を備えていることを特徴とするソースプログラム作成支援システム。
[3] 請求項 1又は 2記載のソースプログラム作成支援システムにおいて、フロー図作成手 段はさらに、
モニタスクリーン上に配置されたボックスに処理のタイトルを入力するためのタイトル 入力欄を表示し、入力されたタイトルをボックスと関連付けて記憶するタイトル設定手 段
を備えていることを特徴とするソースプログラム作成支援システム。
[4] 請求項 1〜3いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段の仕様設定手段は、プレート配置手段によりボックスがモニタスクリーン に表示される毎に、仕様設定が可能であるよう構成されて ヽることを特徴とするソース プログラム作成支援システム。
[5] 請求項 3記載のソースプログラム作成支援システムにおいて、フロー図作成手段の仕 様設定手段及びタイトル設定手段は、プレート配置手段によりボックスがモニタスクリ ーンに表示される毎に、仕様設定及びタイトル設定が可能であるように構成されてい ることを特徴とするソースプログラム作成支援システム。
[6] 請求項 1〜5いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段はさらに、
フロー図作成のためのガイダンスをユーザに提供し、該ガイダンスに対するユーザ 入力の応答に基づ 、て、フロー図を自動的に作成するガイダンス手段
を備えていることを特徴とするソースプログラム作成支援システム。
[7] 請求項 6記載のソースプログラム作成支援システムにおいて、フロー図作成手段はさ らに、
ガイダンス手段が提供したガイダンスと該ガイダンスに対するユーザの応答との時 間経過履歴を取得し、かつ、該時間経過履歴をモニタスクリーン上に表示するぺー スメーカ手段
を備えていることを特徴とするソースプログラム作成支援システム。
[8] 請求項 1〜7いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段は、概略フロー図及びその詳細フロー図を作成するための階層降り機能 を備えていることを特徴とするソースプログラム作成支援システム。
[9] 請求項 1〜8いずれかに記載のソースプログラム作成支援システムにおいて、フロー 図作成手段は、
当初フロー図と、該当初フロー図の全ての処理を含み、かつ当初フロー図の一部 の処理を詳細化し進展させたフロー図との関係を、モニタスクリーン上に表示する派 生関係表示手段であって、当初フロー図のボックスが選択されたときに、該ボックスの 代わりに、該ボックスに対応する進展されたフロー図の複数のボックスを表示させる派 生関係表示手段
を備えていることを特徴とするソースプログラム作成支援システム。
[10] 請求項 1〜9 、ずれかに記載のソースプログラム作成支援システムにお 、て、該シス テムはさらに、
フロー図作成手段によって作成されるフロー図において使用されるデータのソース プログラムのデータ定義を、モニタスクリーン上でユーザとの対話に基づいてツリー構 造のデータレイアウトを作成し、該作成されたデータレイアウトに基づいて定義するデ ータ定義作成手段と、
フロー図作成手段によって作成されるフロー図において使用される画面のソースプ ログラムの画面定義を、モニタスクリーン上でユーザとの対話に基づ 、て画面を作成 し、該作成された画面の要素の位置及びサイズに基づ ヽて定義する画面定義作成 手段と
を備えていることを特徴とするソースプログラム作成支援システム。
[11] 請求項 10記載のソースプログラム作成支援システムにおいて、フロー図解析変換手 段は、
フロー図の連係を解析する手段と、
各フロー図中のボックスの内容を解析し、各ボックスに設定された仕様をソースコ一 ドに変換して、フロー図をプログラムに変換する手段と、
該プログラムを、データ定義作成手段及び画面定義作成手段によって作成された データ定義及び画面定義と組み合わせる手段と
を備えていることを特徴とするソースプログラム作成支援システム。
[12] 請求項 1〜: L 1いずれかに記載のソースプログラム作成支援システムにおいて、該シ ステムはさらに、作成されたソースプログラムを検証する検証手段を備え、該検証手 段は、
検証すべきソースプログラムに対応するフロー図をモニタスクリーン上に表示し、表 示されたフロー図上に、ソースプログラムのランを一時停止させ、処理結果を取得し、 通過履歴と処理結果を表示させるべきポーズ設定点と、処理結果のみを取得するた めのパス設定点とをユーザに設定させる手段と、
検証すべきソースプログラムをランさせ、該ソースプログラムに対応しかつ表示され たフロー図上に、処理の経過に伴って通過ルートを表示する手段と、
処理がポーズ設定点に到達したときに、処理を一時停止させ、かつ、該ポーズ設定 点及びパス設定点の通過履歴を表示する手段と、
処理がポーズ設定点に到達したときに、フロー図上の予め設定された変数の値を 変数一覧として表示する手段と
を備えていることを特徴とするソースプログラム作成支援システム。
[13] 請求項 1〜12いずれかに記載のソースプログラム作成支援システムにおいて、フロ 一図作成手段の仕様設定手段は、ユーザが、コンピュータ言語ではなぐユーザが 通常使用して 、る言語で、仕様を入力可能に構成されて 、る新表記機能を備えて ヽ ることを特徴とするソースプログラム作成支援システム。
[14] 請求項 1〜13いずれかに記載のソースプログラム作成支援システムにおいて、フロ 一図作成手段は、イベント処理を包含するプログラムにおける入力待ちの状態及び 処理待ちの状態等のイベント待ち状態を分力り易いイベント待ち表示機能により、リタ ーン端子を表示し、かつ該リターン端子から、イベント待ち状態が解消された後に処 理を進めるボックスへ、破線の矢印を表示することにより、フロー図上でイベント待ち を表示することができるよう構成されていることを特徴とするソースプログラム作成支 援システム。
PCT/JP2005/009366 2005-04-19 2005-05-23 ソースプログラム作成支援システム WO2006114899A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-121112 2005-04-19
JP2005121112 2005-04-19

Publications (1)

Publication Number Publication Date
WO2006114899A1 true WO2006114899A1 (ja) 2006-11-02

Family

ID=37214535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/009366 WO2006114899A1 (ja) 2005-04-19 2005-05-23 ソースプログラム作成支援システム

Country Status (1)

Country Link
WO (1) WO2006114899A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122822A (ja) * 2007-11-13 2009-06-04 Keyence Corp 画像処理コントローラ用のプログラム作成装置
JP2009122824A (ja) * 2007-11-13 2009-06-04 Keyence Corp 画像処理コントローラ用のプログラム作成装置及び検査支援システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61105673A (ja) * 1984-10-29 1986-05-23 Hitachi Ltd 対話型図面作成方法
JPH09212630A (ja) * 1996-02-05 1997-08-15 Honda Motor Co 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61105673A (ja) * 1984-10-29 1986-05-23 Hitachi Ltd 対話型図面作成方法
JPH09212630A (ja) * 1996-02-05 1997-08-15 Honda Motor Co Ltd 図形作成装置
JPH11296357A (ja) * 1998-04-08 1999-10-29 Oki Electric Ind Co Ltd フローチャート入力装置
JP2003076546A (ja) * 2001-09-03 2003-03-14 Minoru Kano 図形描画方法、フローチャート描画方法およびフローチャートからのコンピュータプログラム生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122822A (ja) * 2007-11-13 2009-06-04 Keyence Corp 画像処理コントローラ用のプログラム作成装置
JP2009122824A (ja) * 2007-11-13 2009-06-04 Keyence Corp 画像処理コントローラ用のプログラム作成装置及び検査支援システム

Similar Documents

Publication Publication Date Title
US7987427B1 (en) Graphical editor for program files
CN106445536A (zh) 自动化业务设计管理系统
CN113886362A (zh) 基于工作流引擎及低代码平台的数据存储系统及存储方法
US9569182B2 (en) Integrated development environment and method
JP2001216142A (ja) プログラム作成支援装置
WO1996002033A1 (fr) Procede d&#39;ecriture d&#39;un programme pour une entreprise specifique
CN109086985A (zh) 面向航天器总装的专业测试信息管理系统
WO2006114899A1 (ja) ソースプログラム作成支援システム
JP3850867B1 (ja) ソースプログラム作成支援システム
JP2013020437A (ja) 要件管理支援装置
US5729253A (en) Method for inputting and acquiring requirement
WO2007102232A1 (ja) ソースプログラム作成支援システム
JP2004302737A (ja) 作業手順表示システム
JPH08190476A (ja) 対話型プログラムの開発支援装置
US6141016A (en) Method for inputting and acquiring requirement
US20010002834A1 (en) Method for inputting and acquiring requirement
US6219065B1 (en) Method for inputting and acquiring requirement
JPS61267870A (ja) 帳表作成処理方式
JP2001273342A (ja) 製品製造方法と製品製造支援方法
JP5155002B2 (ja) 工程設定支援処理プログラム
JPS60128530A (ja) ユ−ザメニユ−表示処理方式
JP2008015879A (ja) 自然文を含む仕様の記述支援方法、プログラムおよびシステム
JPH0850576A (ja) 視覚対話型シミュレーション装置
JPH0314170A (ja) 作票装置
JP2012208939A (ja) 工程設定支援処理プログラム及び業務プログラム生成処理プログラム

Legal Events

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

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

122 Ep: pct application non-entry in european phase

Ref document number: 05741219

Country of ref document: EP

Kind code of ref document: A1