This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-239671, filed on Oct. 31, 2011, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein relates to a help creation support apparatus, help creation method, and storage medium storing help creation program.
Software includes help, which is a description of an operation procedure and the like. Context-sensitive help includes pop-up descriptions about operational components of a graphical interface such as buttons, check buttons, radio buttons, and edit boxes.
Related-art examples are disclosed in Japanese Laid-open Patent Publication No. 9-54688, Japanese Laid-open Patent Publication No. 2010-186378, and Japanese Laid-open Patent Publication No. 2000-222192.
According to one aspect of the embodiments, a help creation support apparatus includes: an identification unit to identify a operational component included in a graphical interface based on source code of the graphical interface; a generation unit to generate management information including identification information that represents the identified operational component; a storage unit to store the management information; an input unit to input a help corresponding to the operational component to be added to the management information stored in the storage unit for identification information; and a file creation unit to create a file in which the help corresponding to the operational component is stored based on management information to which the help is added.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Examples of program creation support include automatic creation of source code for an entire graphical interface by reading the functions of the components of the graphical interface created using a design support tool from a library that stores the functions. For example, when a change is made to the software of a user interface (UI) element, a UI component for describing details of the change may be mechanically embedded in the vicinity of the UI element. For example, a specification may be created by reflecting the difference between a previous specification created based on the original source and a current specification created based on modified original source to the specification.
A modification to the basis of a program, source code, and creation of the basis of a help, a text file, may be performed separately. A help may be updated in accordance with a software update. For this reason, a mismatch between an operational component and a corresponding help may occur owing to a failure to update the help, such as a failure to add a description thereto or a failure to delete a description therefrom.
The input unit 11 inputs various types of information to the control unit 14. For example, the input unit 11 receives operations performed by the developer and inputs operation information indicating details of the received operations to the control unit 14. The input unit 11 may include an operation receiving device such as a mouse or keyboard.
The output unit 12 outputs various types of information. For example, the output unit 12 displays a message indicating an operational component whose change has been detected by a detection unit 14g. Devices corresponding to the output unit 12 may include a display device such as a liquid crystal display (LCD) or cathode ray tube (CRT).
The storage unit 13 stores various types of information. For example, the storage unit 13 stores source code 13a, a management table 13b, a help text file 13c, a template file 13d, a program file 13e, and a help file 13f. Devices corresponding to the storage unit 13 may include a storage device such as a data-rewritable semiconductor memory, a hard disk, or an optical disk. Examples of a data-rewritable semiconductor memory include a flash memory and non-volatile static random access memory (nvSRAM).
The source code 13a may be in a programming language for processes related to the graphical interface program written by the developer. For example, the developer may write processes to be performed by operational components of the graphical interface, in a programming language in which the graphical interface is created, such as Visual C++. The source code 13a may include code related to the operational components of the graphical interface or code representing details of the processes performed by the operational components.
The management table 13b may be a table for storing information about the operational components of the graphical interface.
The management table 13b may be created by a creation unit 14b. The fields “Japanese help” and “English help” of the management table 13b may be areas into which the developer puts entries and may initially have no entries when the management table 13b is created. The management table 13b may be used in a process performed by a file creation unit 14c.
The help text file 13c is a file where help messages for operational components are listed.
The help text file 13c may be created by the file creation unit 14c. The help text file 13c may be used in a process performed by a help creation unit 14f.
The template file 13d may be a source code file in which a process for displaying help messages that correspond to the operational components of the graphical interface is written.
A routine process which does not change according with the operational components of the graphical interface is written in the code portion 40b. In
The template file 13d illustrated in
The program file 13e is created by converting the source code 13a into computer-executable form. The program generation unit 14e may create the management table 13b by converting the source code 13a into an executable file such as by building.
The help file 13f may be a file obtained by converting the help text file 13c into a form that can be read from the program file 13e. Alternatively, the help creation unit 14f may create the help file 13f by converting the help text file 13c into, for example, the Microsoft compiled HTML help (CHM) format.
The control unit 14 performs control for creating a help message. Devices corresponding to the control unit 14 may include an electronic circuit such as a central processing unit (CPU) or micro processing unit (MPU). As illustrated in
The identification unit 14a performs various types of identification. For example, the identification unit 14a identifies an operational component included in the graphical interface based on the source code 13a of the graphical interface.
For example, the source code 13a of the graphical interface may have the folder configuration of “Project 1” illustrated in
The creation unit 14b performs various types of creation. For example, the creation unit 14b creates the management table 13b as information for managing the operational components identified by the identification unit 14a. The creation unit 14b numbers the help IDs of the identified operational components in such a manner that the values of the help IDs do not overlap each other, for example, in ascending order. The creation unit 14b creates the help IDs of the operational components under a given rule so that the help IDs do not overlap the component IDs thereof. For example, the creation unit 14b creates a help ID that corresponds to an operational component by converting “ID_”, which is included in the component ID of the operational component, into “IDH_”. The creation unit 14b creates a management table 13b where a component ID, a created help ID, and a numbered help ID value are set for each operational component of each project. In the created management table 13b, as illustrated in
Details of Japanese and English help messages to be set in the management table 13b are input via the input unit 11. The input unit 11 receives input of the Japanese and English help messages to be set in the management table 13b. The developer inputs, to the input unit 11, operation descriptions to be set in the Japanese and English help fields of the management table 13b for each operational component. The operation descriptions input via the input unit 11 are stored in the Japanese and English help fields of the management table 13b.
The file creation unit 14c performs various types of creation. For example, the file creation unit 14c creates a help text file 13c where help messages that correspond to the help IDs of operational components are listed, based on the management table 13b. For example, the designation between Japanese and English of the language in which help messages will be created is input via the input unit 11. The file creation unit 14c creates a help text file 13c where help messages in the designated language are listed. For example, if Japanese is designated as a language in which help messages are created, the file creation unit 14c creates a help text file 13c where help messages corresponding to help IDs are written in Japanese, as illustrated in
When the display of a help message corresponding to an operational component of the graphical interface is requested, a process of displaying the help message on the operational component is written in the source code 13a of the graphical interface program by a developer.
The template creation unit 14d creates a source code template file 13d in which the process of displaying the help message for a operational component is written. For example, the file creation unit 14c reads a component ID value and a corresponding help ID value from the management table 13b. The file creation unit 14c creates a template file 13d including a code portion 40a and a code portion 40b. As illustrated in
The developer may easily write a help message reading process in the source code 13a by using the template file 13d. Records that correspond to all operational components of the graphical interface may be generated in the management table 13b based on the source code 13a. As a result, a process of calling the help messages of all the operational components of the graphical interface written in the source code 13a may be written in the template file 13d. If the developer writes a help message reading process in the source code 13a using the template file 13d, the frequency with which a process of calling a help message that corresponds to an operational component is omitted or the frequency with which an operational component and a help message are mismatched may be reduced.
The program creation unit 14e converts the source code 13a into an executable program file 13e such as by building. The program creation unit 14e may include development software, a build tool, or the like.
The help creation unit 14f converts the help text file 13c into the help file 13f. The help creation unit 14f may include a help creation tool or the like.
Since the created program file 13e and help file 13f are stored in the same folder, a context-sensitive help message that corresponds to an operational component is displayed on the graphical interface during execution of the program file 13e.
An operational component of the graphical interface may be added or detected based on a modification to the source code 13a made by the developer. For example, the developer may make a modification as illustrated in
When the source code 13a is updated, the detection unit 14g detects a changed operational component. For example, when the source code 13a is updated after the management table 13b created by the creation unit 14b is stored in the storage unit 13, the detection unit 14g changes the name of the management table 13b stored in the storage unit 13. When the creation unit 14b newly creates a management table 13b, the detection unit 14g compares the component IDs in the management table 13b having the changed name with the component IDs in the management table 13b which has been newly created by the creation unit 14b. For example, the detection unit 14g compares the component IDs in the management table 13b created from the not-updated source code 13a with the component IDs in the management table 13b created from the updated source code 13a. Based on the result of the comparison, the detection unit 14g detects an added or deleted operational component.
For example, the developer may make a modification illustrated in
The detection unit 14g notifies the developer of the detected operational components via the output unit 12. For example, the detection unit 14g notifies the developer of the added or deleted operational components by causing the output unit 12 to display a message indicating the added or deleted operational components.
When the name of the management table 13b is changed, the detection unit 14g incorporates descriptions, which are stored in the Japanese and English help fields of the management table 13b whose name has been changed, into a newly created management table 13b for each operational component ID.
As illustrated in
If a management table 13b is already stored in the storage unit 13 (YES in operation S12), the detection unit 14g changes the name of the management table 13b already stored in the storage unit 13 (operation S14). The creation unit 14b creates a management table 13b for managing an operational component identified by the identification unit 14a (operation S15). The detection unit 14g compares the component IDs in the management table 13b whose name has been changed with those in the management table 13b created by the creation unit 14b. Thus, the detection unit 14g detects added or deleted operational components (operation S16). As the result of the detection, the detection unit 14g determines whether there are added or deleted operational components (operation S17). If there are added or deleted operational components (YES in operation S17), the detection unit 14g notifies the developer of the added or deleted operational components via the output unit 12 (operation S18). The detection unit 14g, for each component ID, incorporates descriptions stored in the Japanese and English help fields of the management table 13b whose name has been changed into the newly created management table 13b (operation S19), and the process finishes. If there are no added or deleted operational components (NO in operation S17), the process proceeds to operation S19.
As illustrated in
The help creation support apparatus 10 identifies an operational component included in the graphical interface based on the source code 13a of the graphical interface. The help creation support apparatus 10 creates a management table 13b including a component ID that represents the operational component identified. The help creation support apparatus 10 stores the created management table 13b in the storage unit 13. The help creation support apparatus 10 receives from the input unit 11, for each of the pieces of identification information, a help message of the operational component to be added to the management table 13b that is stored in the storage unit 13. The help creation support apparatus 10 creates a help text file 13c in which help messages for the operational components are listed, based on the management table 13b that includes added help messages. Since a help message is created using the help text file 13c in which a help message for each operational component are listed, the frequency with which an operational component and a help message are mismatched may be reduced.
When the source code 13a is updated, the help creation support apparatus 10 compares the component IDs in the management table 13b created from the not-updated source code 13a with those in the management table 13b created from the updated source code 13a. Based on the result of the comparison, the help creation support apparatus 10 detects an added or deleted operational component. If there is an added or deleted operational component, the help creation support apparatus 10 notifies the developer of the added or deleted operational component. Thus, when an operational component is added to the source code 13a or deleted therefrom, the frequency with which, the developer forgets to update the help message of the added or deleted operational component may be reduced.
The help creation support apparatus 10 creates a template file 13d for the source code 13a in which a process of displaying help that correspond to operational components of the graphical interface is written. As a result, the time and effort for writing a process of calling a help may be reduced. Since the help creation support apparatus 10 writes a help reading process to the source code 13a using the template file 13d, the frequency with which a process of calling a help that corresponds to an operational component is omitted or the frequency with which an operational component and a help message are mismatched may be reduced.
The detection unit 14g compares the component IDs in the not-updated management table 13b with those in the updated management table 13b to detect an added or deleted operational component. For example, based on a comparison result between the not-updated source code 13a and the updated source code 13a, an added or deleted operational component or operational component whose operation has been changed may be detected, and then the result of the detection may be notified. Since the developer is notified of the added or deleted operational component or operational component whose operation has been changed, the frequency with which the developer forgets to update the help may be reduced.
The component IDs of the operational components included in the graphical interface may be managed by the management table 13b or may be managed in other forms.
The programming language may be Visual C++ or other programming languages such as Visual C# and Visual Basic.
The help creation support apparatus may be a computer help creation support apparatus with which a developer develops software, or may be a management server that manages the source code 13a that has been developed by a developer.
The components of each illustrated apparatus may be functional components or physical components. For example, all or some of the components may be distributed or combined functionally or physically in any format, depending on the load, operating state, or the like.EDITOR: changed For example, the processing units illustrated in
A previously prepared program may be executed by a computer system such as a personal computer or workstation.
As illustrated in
A help creation support program 320a having functions substantially identical or similar to those of the identification unit 14a, the creation unit 14b, the file creation unit 14c, the template creation unit 14d and the detection unit 14g illustrated in
The HDD 320 stores various types of information. For example, the HDD 320 stores source code 320b that corresponds to the source code 13a illustrated in
The CPU 310 reads the help creation support program 320a from the HDD 320 and loads the help creation support program 320a into the RAM 340 and executes the help creation support program 320a using the source code 320b stored in the HDD 320. Thus, processes substantially identical or similar to the processes performed by the control unit 14 illustrated in
The help creation support program 320a may be desired not to be initially stored in the HDD 320.
For example, the program may be stored in a transportable physical medium to be inserted into the computer 300, such as a floppy disk (FD), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), magneto-optical disc, or IC card. The computer 300 may read the program from the transportable physical medium and execute the program.
The program may be stored in another computer (or server) or the like connected to the computer 300 via a public line, the Internet, a LAN, a WAN, or the like. The computer 300 may read the program from the other computer and execute the program.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2011-239671 | Oct 2011 | JP | national |