Software thechnical documentation writing system and method
Patent Information
- Application Number
- KR1020250038565
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2026-08-05
Smart Images

Figure PAT00001_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a software technical document creation system and method, and more specifically, to a system and method for automatically creating various technical documents corresponding to deliverable documents of weapon system software. Background Technology
[0002] The contents presented in this section are intended merely to provide background information for the present invention and do not constitute prior art.
[0003] At the stage where technical engineers in weapon system projects must develop software for each piece of equipment and create necessary deliverable documents based on it, problems arise where document creation and review take a long time and the error rate increases because the development source is very large, exceeding 10GB.
[0004] In software development, the creation of massive output documents exceeding 10,000 pages leads to increased fatigue and decreased work performance among researchers due to simple and repetitive tasks, resulting in resignations. Consequently, there is a need for improvement measures to reduce the documentation burden on development engineers and support their work more efficiently, thereby enhancing their job performance and satisfaction.
[0005] Developers at defense companies use a method of setting formats and entering content for each document when creating documentation related to software deliverables for weapon systems. Some specific developers use tools (programs) that extract the information necessary for creating software deliverable documents by referencing defined standardized information to automatically generate separate documents for specific details, thereby manually entering (copying and pasting) the content into the deliverable documents. However, this process is time-consuming and involves repetitive manual documentation work, especially despite the existence of standardized formats and templates.
[0006] Repetitive manual work is inefficient and time-consuming, and the high likelihood of input errors during manual drafting can undermine document reliability. Furthermore, it is difficult for document creators to maintain established formats and styles, posing a risk of inconsistent documentation. Consequently, there is a growing need for tools (programs) capable of automating and standardizing the document creation process. In particular, for documents that must be written repeatedly—such as weapon system software development deliverables, test measurement reports, test result reports, and contracts—automatic document generation tools can save time and effort while improving accuracy.
[0007] As a technology related to the present invention, the operator behavior-based software development output document automatic generation system disclosed in the Korean Registered Patent Publication discloses a system comprising an input module, an operator behavior collection module, an operator behavior analysis module, and a document generation module. This related technology is characterized by generating behavior data and behavior sentences by utilizing the operator's behavior regarding application software, whereas the present invention is characterized by automatically generating various technical documents derived during the software development process; therefore, the objectives, configurations, and effects of the two inventions are distinguished from each other.
[0008] The present invention aims to overcome the limitations of existing manual and semi-automatic document creation methods and to maximize user convenience and improve document creation efficiency by providing a tool capable of automatically generating documents. Prior art literature
[0009] Republic of Korea Registered Patent No. 10-2108272 (Published May 8, 2020) The problem to be solved
[0010] The problem that the present invention aims to solve is to provide a system and method for automatically generating various software technical documents required during software development.
[0011] The problem that the present invention aims to solve is not limited to the problems mentioned above, and other unmentioned problems will be clearly understood by those skilled in the art from the description below. means of solving the problem
[0012] To achieve the above objectives, according to one embodiment based on the technical concept of the present invention, a software technical document creation system is provided, comprising: a data input unit that receives and stores collected data; an output automation program equipped with a document creation processor, a Korean language processing processor, and a Korean language conversion processor that creates software technical documents using the data; and a database system equipped with a project DB, a development equipment DB, a document DB, and a function DB, and a database manager that manages the same, wherein the project DB includes weapon system common information, existing document extraction information, and weapon system individual information; the development equipment DB includes equipment internal / external linkage information, development source information, and equipment-specific information; the document DB includes output templates, table / form / font templates, backup documents, and document information; and the function DB includes requirements information, function design information, test procedures, and result information.
[0013] To achieve the above objectives, according to an embodiment based on the technical concept of the present invention, a method for creating a software technical document is disclosed, characterized by comprising: a step of creating a document template that applies designated fonts, formats, tables, and figure formats to enable convenient work on a deliverable document based on a standard document format, and creating a Hangul template by referring to schema information stored in a basic format and a basic table; a step of creating a document by automatically inserting the Hangul template into a predetermined location in the deliverable document; a step of first determining whether it corresponds to a typesetting mark or a paragraph mark, searching for an outline, ranking, title, table of contents, and paragraph text, and automatically merging multiple Hangul files (separately generated files, executable files, source files, other files) or extracting and merging a specific section from a single file (Hangul template / delivery document); and a step of automatic indexing processing for the merged file document (delivery document).
[0014] In addition, the method for creating software technical documents may be configured to further include a step of displaying data in a corresponding data popup window through retrieval when a user directly inputs data into a field of the document form.
[0015] In addition, the method for creating software technical documents may be configured to include an additional step of separating and saving document input data and standard document forms when the user selects to save the document.
[0016] Specific details of other embodiments are included in "Specific details for implementing the invention" and the attached "drawings".
[0017] The advantages and / or features of the present invention and the methods for achieving them will become clear by referring to the various embodiments described below in detail together with the accompanying drawings.
[0018] However, it should be understood that the present invention is not limited to the configurations of each embodiment disclosed below, but may be implemented in various different forms, and that each embodiment disclosed in this specification is provided merely to make the disclosure of the present invention complete and to fully inform those skilled in the art of the scope of the present invention, and that the present invention is defined only by the scope of each claim of the claims. Effects of the invention
[0019] According to the present invention, by enabling software developers to focus on code development, it is possible to ensure software quality, save time, improve accuracy, maintain consistency of documentation, and perform efficient maintenance.
[0020] In addition, by pre-saving information that is repeatedly entered into the output document so that it is automatically entered during document creation and automatically updated with changes, it enhances the convenience of repetitive tasks for the user and improves document creation efficiency.
[0021] The effects obtainable by the software technical document creation system and method according to the technical concept of the present invention are not limited to the effects mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present invention belongs from the description below. Brief explanation of the drawing
[0022] FIG. 1 is an example diagram of a document automation platform corresponding to a software technical document creation system corresponding to one embodiment of the present invention. FIG. 2 is a flowchart of a method for creating software technical documents corresponding to an embodiment of the present invention. Specific details for implementing the invention
[0023] Before describing the present invention in detail, it should be understood that the terms and words used in this specification should not be interpreted as being limited to their ordinary or dictionary meanings, and that the inventor of the present invention may appropriately define and use the concepts of various terms to best describe their invention, and furthermore, that these terms and words should be interpreted in a meaning and concept consistent with the technical spirit of the present invention.
[0024] In other words, it should be understood that the terms used in this specification are used merely to describe preferred embodiments of the present invention and are not intended to specifically limit the content of the present invention, and that these terms are defined in consideration of the various possibilities of the present invention.
[0025] In addition, it should be noted that in this specification, singular expressions may include plural expressions unless the context clearly indicates a different meaning, and that even if they are expressed in a similarly plural form, they may include a singular meaning.
[0026] Throughout this specification, where it is stated that a component "includes" another component, unless specifically stated otherwise, this may mean that it does not exclude any other component but may include any other component.
[0027] Furthermore, it should be noted that in cases where it is stated that a component "exists inside or is installed in connection with" another component, this component may be installed in direct connection or contact with the other component, or it may be installed at a certain distance apart, and in the case where it is installed at a certain distance apart, there may be a third component or means for fixing or connecting the component to the other component, and a description of this third component or means may be omitted.
[0028] On the other hand, if it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there is no third component or means.
[0029] Likewise, other expressions describing the relationship between each component, such as “between” and “right between”, or “adjacent to” and “directly adjacent to”, should be interpreted as having the same intent.
[0030] In addition, it should be understood that in this specification, terms such as “one side,” “other side,” “one side,” “other side,” “first,” “second,” etc., are used to clearly distinguish one component from another component, and that the meaning of the component is not restricted by such terms.
[0031] In addition, position-related terms such as "up," "down," "left," and "right" used in this specification should be understood as indicating the relative position of the corresponding component in the drawing, and unless an absolute position is specified, these position-related terms should not be understood as referring to an absolute position.
[0032] Furthermore, in specifying the reference numerals for each component of each drawing in this specification, the same component has the same reference numeral even if it is shown in different drawings; that is, the same reference numeral throughout the specification indicates the same component.
[0033] In the drawings attached to this specification, the size, position, connection relationships, etc., of each component constituting the present invention may be described in a partially exaggerated, reduced, or omitted manner for the convenience of explanation or to sufficiently clearly convey the concept of the present invention, and therefore, the proportions or scale may not be strictly accurate.
[0034] In addition, in describing the present invention below, detailed descriptions of components, such as prior art and known technologies, that are deemed to unnecessarily obscure the essence of the invention may be omitted.
[0035] Hereinafter, embodiments of the present invention will be described in detail with reference to the relevant drawings.
[0036] The present invention comprises a user interface processing module (user input data processing), a database manager module (an engine for collecting, analyzing, and organizing information for each output document), a Korean conversion module, and a Korean document generation module.
[0037] The user inputs necessary information through the user interface, and the data input processing module analyzes and organizes it to manage it in a database.
[0038] Collects user-specified raw information (development source, comments, interfaces, etc.), analyzes it, and organizes it by user-specified groups (CSC / CSU).
[0039] The above organized data is displayed in an editor pop-up window so that the user can perform additional input tasks (data generation section).
[0040] The user modifies the above-mentioned generated data in the editing window.
[0041] The database manager module compares previously databased and managed information with the latest information, displays discrepancies in the editing window, and enables the automatic creation of Hangul documents based on user-specified information.
[0042] It analyzes in detail the information that can be entered into the output document, including additional user input values, generates small Korean documents at the CSU level or class level, and transmits them to the Korean conversion module so that they can be organized by group in the output document.
[0043] The Hangul document generation engine automatically creates a Hangul document of the output specified by the user based on the transmitted information, and saves and manages it in the format desired by the user through the output management module.
[0044] The document generation engine retrieves Hangul documents and related information managed as modules, and automatically generates Hangul documents including additional information entered by the user.
[0045] Locate each location and enter the Hangul document so that the above generated Hangul document can be created according to the position.
[0046] This invention significantly improves the efficiency and accuracy of creating Korean documents for software development deliverables, and has the advantage of minimizing input errors and maintaining a consistent format. Furthermore, for documents that must be written repeatedly, this tool can save time and effort, making it useful in various fields requiring the creation of Korean documents (such as equipment software development and the production of test deliverables).
[0047] The present invention relates to a Hangul (HWP) document automation platform and a method for automating document creation processing. Specifically, the invention relates to a method that links with an application program for creating Hangul documents (HWP SDK), a program for information management (EXCEL), and an application program for analyzing and documenting development source code (Doxygen). Based on information related to development equipment that the user wishes to manage, the invention provides a Hangul document format for each software output to which the latest standard document format is applied in a work environment of a weapon system development engineer using a common standardized document format (provided by the Defense Acquisition Program Administration), and automatically generates Hangul documents of weapon system software outputs in accordance with designated table formats and font formats by referencing collected data for creating each document.
[0048] The Hangul (HWP) document creation automation platform according to the present invention is,
[0049] A step of generating a template (software development plan, software requirements specification, software deliverable specification, software design technical document, software integration test plan, software integration test procedure, software integration test result) with formatting (paragraph, outline, font, font size,…) applied, based on the latest version of the standard document format for software deliverables (formatting not applied).
[0050] Step to select the target document or template to work with (User Interface - Input Window)
[0051] The step of receiving information required for creating the deliverable from the input window and constructing a data structuring schema for document generation.
[0052] The step of creating / constructing a database by classifying each deliverable document by system / subsystem using user-entered project / CSCI information as KEY values.
[0053] A step of printing relevant information so that the user can verify it, and allowing the user to modify (add / delete / change) the said information if necessary (CSC / CSU / Version / File Information / File Type / ….)
[0054] A step of extracting unique information for each subsystem equipment and system common information from previously created deliverables and applying them to the above database.
[0055] Step of storing the above information in storage
[0056] A step in which differences (additions / deletions / changes) are displayed compared to previous information before being applied to the document, allowing the user to verify the accuracy of the information input and, if necessary, make modifications.
[0057] Step of creating separate deliverable templates by referring to templates with standardized formats / table styles applied to each deliverable.
[0058] Step of generating a deliverable document based on the above template
[0059] The following additional work steps are also performed at each stage.
[0060] A step in which the user inputs the above-mentioned format / table template into multiple writing areas to create a pre-conversion document for automatic document conversion.
[0061] A step of managing system-specific / sub-system information entered by the user by processing it into a database.
[0062] The step of synchronizing system-specific / sub-system information managed in a database with the latest input information.
[0063] A step of identifying the writing area to extract or write relevant information;
[0064] A step that automatically reflects the latest synchronized information in related deliverables
[0066] The separate execution steps for generating the target documents for each deliverable are as follows:
[0067] In creating a Software Design Specification (SRS)
[0068] Step of building a database by extracting detailed specifications by requirement from the written SRS document
[0069] Steps to edit and update relevant details by requirement list in the editor popup window
[0070] Step of creating a Korean Software Requirements Specification (SRS) document based on the information entered in the editor pop-up window
[0071] In generating the Software Product Specification (SPS)
[0072] A step of extracting detailed information (CSC / CSU / file description / size / checksum / version,…) from development source files and listing it by device identifier and CSC / CSU group (CSC: Computer SW Component, CSU: Computer SW Unit)
[0073] Step of displaying the above-mentioned list information in the “Editor popup window (editing window)”
[0074] The step where the user edits (inputs / modifies / deletes) and automatically converts each piece of information in the editor pop-up window.
[0075] The step of converting the information last modified by the user in the editor popup window into Korean according to a standard format, categorized by device identifier, group, and file type.
[0076] Step of entering the Korean-converted information into the Software Product Specification (SPS) according to user-defined groups
[0077] In generating the Software Design Description (SDD)
[0078] Import internal / external interface Excel files -> Parse to generate a Hangul template according to the basic format, and organize and input into the deliverable document.
[0079] Step of running Doxygen (a tool that reads and analyzes code comments to understand and document the structure of source code).
[0080] A step of extracting relevant information regarding the detailed design of the equipment's software configuration items from information generated in document format (HTML) regarding the declarations and definitions of functions, classes, variables, etc., by parsing code comments in Doxygen.
[0081] The step of mapping the class / object details provided by Doxygen with group information (CSC / CSU) additionally parsed from the development code to create a list.
[0082] The step of displaying information extracted and organized from the development source in the “editor popup window”
[0083] The step where the user edits (inputs / modifies / deletes) and automatically converts each piece of information in the editor pop-up window.
[0084] The step of converting the information last modified by the user into Korean according to the standard format and entering it in the editor pop-up window.
[0085] The step of merging the Hangul conversion template document into the specified deliverable document for input.
[0086] A step for merging and creating Korean-converted documents of minimum unit information in a designated location within the deliverables—a step for generating Korean-converted documents by classifying class / object detailed information into user-specified groups in accordance with the Software Design Description (SDD) standard format.
[0087] The methods provided by the Hangul document automation tool are as follows.
[0088] Method of providing templates that reflect formatting (text, paragraphs, outlines, etc.) and standardized table formats / typesetting symbols, considering the convenience of the author and document consistency
[0089] How to create / update templates that reflect formatting (text, paragraphs, outlines, etc.) and standardized table formats / typesetting symbols, considering the convenience of the author and document consistency, in the basic deliverables provided by the Defense Acquisition Program Administration
[0090] Method for grouping classes / objects by group (CSC / CSU) by referring to comments in the development source code @Use @section / @subsection & @defgroup commands, define CSC / CSU / SYS / MOD / BLK / FUN groups)
[0091] How to write a document without reflecting specific comments (#FA…), such as reliability test comments, in the Korean conversion (Doxygen cannot handle this distinction)
[0092] Method of “loading” saved data and processing it through additional operations
[0093] How to automatically fill extracted data into fields of a standard document form
[0094] Method to extract documentation information from XML tags in XML & HTML (Doxygen deliverables), convert it to Korean, and input it into a related Korean deliverable document.
[0095] A method of managing the history of data entered through an input window and automatically filling it into the corresponding fields of each deliverable document form.
[0096] Method of extracting data from a user-created deliverable document and displaying it in a corresponding “editor popup window”
[0097] How to automatically save information from editor popup windows reviewed by the user separately
[0098] How to perform additional work by “Loading” a saved file into the editor popup window
[0099] A method to check change history while managing information on existing data and the latest changed data,
[0100] Method for extracting information data managed for Hangul document automation from deliverable documents previously created by the user
[0101] A method for automatically generating traceability tables for changed requirements while managing information related to user-entered requirements in a database.
[0102] A method to parse the protocols, messages, and data to be integrated for each device from an IDD Excel file defining internal and external interfaces for each device, list the interface targets and interoperability details, and convert and create a detailed table of data elements for each integration list into a Hangul document.
[0103] Database synchronization and document reflection processing for updated information
[0104] When creating an SPS document,
[0105] A feature that updates the version if the checksum changes when compared with data stored in the DB.
[0106] A function that marks files as deleted in the grid if they do not exist, compared with data stored in the DB.
[0107] A function that displays newly added files in the grid by comparing them with data stored in the DB.
[0108] A function that displays the existing file if it exists by comparing with data stored in the DB.
[0109] => When creating an SRS document,
[0110] Among the data for "Requirements List," "Requirements Details," "Qualification Method List," "Qualification Method Description," "Requirement Traceability List," and "Use Case List," the implementation is designed so that when requirement identifiers are added or deleted based on the "Requirements List," the changes are automatically applied to the remaining lists. Additionally, the user UI is configured to prompt for entering values corresponding to the added "Requirement Identifiers" in each table; if these values are not entered or saved to the database, SRS document generation fails.
[0111] A function to accurately apply managed database information to new documents
[0112] By using the document name, document number, and version number entered in the description field within the document title and subject of the Hangul document's file information as KEY values to search for and apply target document information in the database, it is possible to generate documents that accurately match the corresponding version, even for the same document type.
[0113] In parallel with this, the documents to be created are processed to be clearly distinguished by applying a dual system classification using project names and CSCI names.
[0115] Claim 2-3. A method for automatically entering required items into the corresponding standard document form fields when the user completes the entry of required items in the initial input window, thereby generating Hangul template documents by group;
[0116] Claim 2-4. A method for finding and entering basic information and additional input information into an existing output document by locating insertion locations (associated outline steps and keywords) or extracting / saving related information.
[0117] Claim 2-5. A Hangul document creation automation platform (system) characterized by creating an automatically generated Hangul template document by combining the format of an output document and input data using a Hangul document creation application program (HWP SDK).
[0118] Claim 3. A method in which a database schema, item data of an editor popup window, and field data of a pre-existing output document are linked together, so that when any one of the data is changed, the remaining data are also automatically changed in conjunction and synchronized.
[0119] Claim 3-1. A function that links a Hangul document with an internal database managed by an automation tool to reflect real-time data or automatically updates the document according to a specific trigger.
[0120] Claim 4. A method using existing standardized comments (Doxygen commands) to document the detailed description of classes / objects of developed source code by grouping them, and a method used to generate deliverable documents by grouping the said information by group.
[0121] The device identifier of the SPS document is set as the KEY and stored in an array in memory. Detailed file information is retrieved from the development source directory with the device identifier name and saved to the database first. Subsequently, each CSC is classified based on the @section CSC / CSU (@subsection CSC / CSU) names in the source file comments, and the CSUs belonging to each are classified and stored in separate structures. Finally, the detailed information stored in the database based on the corresponding CSC / CSU names is used for grouping processing.
[0122] Claim 5. A method for generating output documents by analyzing results extracted through Doxygen and classifying each documentation information (class diagram, class, function, global variable) by group information (CSC / CSU) extracted from the development source.
[0123] In the case of SDD, CSCs are classified based on `@section CSC / CSU(@subsection CSC / CSU, @defgroup CSC / CSU)` names extracted from CSC & CSU information in Doxygen outputs and comments in source file headers. Information classifying the CSUs belonging to each CSC is stored in separate structures. Detailed information (class data members, class function members, global variables, global functions) stored based on the corresponding CSC / CSU keys is processed using a Map data type (an efficient data model used for storing, searching, and modifying data in a key-value structure). Based on these classified CSCs / CSUs, XML tags (generated by Doxygen) containing detailed information about member variables and functions belonging to classes and structs within the CSU, as well as global variables and functions that do not belong to classes or structs, are managed and saved as HTML files containing HTML tags. Finally, the saved HTML files are converted into Korean templates, and the templates are merged to generate the output document.
[0125] Claim 6. Function to record and manage changes and versions of document creation for change history by project system / equipment subsystem / deliverable document by creating a database / schema (version management and change tracking automation)
[0126] Claim 7. A function to manage changes (descriptions, versions, checksums) of developed source code by creating databases / schemas according to project system / equipment subsystem / storage location, compare with the latest changed source code to provide the details of the changes to the user, and also manage the change history.
[0127] Claim 8. A function to generate deliverable documents by grouping various UML diagrams (class diagrams, sequence diagrams, state diagrams, use case diagrams, activity diagrams, configuration diagrams) generated by Doxygen & PlantUML integration into CSC / CSU and entering them into specific locations.
[0128] Claim 9. A function to directly edit and reflect the changes in the database schema and the deliverable document before generating the deliverable document.
[0129] Claim 10. A function to automatically apply common information of each piece of equipment to each deliverable document in accordance with the equipment characteristics of each subsystem.
[0130] As such, according to one embodiment of the present invention, it is possible to enable software developers to focus on code development, thereby ensuring software quality, saving time, improving accuracy, maintaining documentation consistency, and efficient maintenance.
[0131] In addition, by pre-saving information that is repeatedly entered into the output document so that it is automatically entered during document creation and automatically updated with changes, it enhances the convenience of repetitive tasks for the user and improves document creation efficiency.
[0132] Although various preferred embodiments of the present invention have been described above with some examples, the descriptions of various embodiments described in the "Specific details for carrying out the invention" section are merely illustrative, and those skilled in the art to which the present invention pertains will understand that the present invention can be modified in various ways or equivalent embodiments can be carried out based on the above description.
[0133] Furthermore, since the present invention can be implemented in various other forms, the present invention is not limited by the description above. The above description is provided merely to make the disclosure of the present invention complete and to fully inform those skilled in the art of the scope of the present invention, and it should be understood that the present invention is defined only by each claim of the claims. Explanation of the symbols
[0134] 100: Software Technical Documentation System
Claims
Claim 1 A software technical document creation system comprising: a data input unit that receives and stores collected data; an output automation program equipped with a document creation processor, a Korean language processing processor, and a Korean language conversion processor that creates software technical documents using the data; and a database system equipped with a project DB, a development equipment DB, a document DB, and a function DB, and a database manager that manages the same, wherein the project DB includes weapon system common information, existing document extraction information, and weapon system individual information; the development equipment DB includes equipment internal / external linkage information, development source information, and equipment-specific information; the document DB includes output templates, table / form / font templates, backup documents, and document information; and the function DB is configured to include requirements information, function design information, test procedures, and result information. Claim 2 A method for creating a software technical document, characterized by comprising: a step of creating a document template that applies specified fonts, formatting, table and figure formatting to enable convenient work on a deliverable document based on a standard document format, and creating a Hangul template by referencing schema information stored in a basic format and a basic table; a step of creating a document by automatically inserting the Hangul template into a predetermined location in the deliverable document; a step of first determining whether it corresponds to a typesetting mark or a paragraph mark, searching for outline, ranking, title, table of contents, and paragraph text, and automatically merging multiple Hangul files (separately generated files, executable files, source files, other files) or extracting and merging specific sections from a single file (Hangul template / delivery document); and a step of automatically indexing the merged file documents (delivery document). Claim 3 A method for creating a software technical document according to claim 2, further comprising the step of displaying data in a corresponding data popup window through retrieval when a user directly inputs data in a field of a document form. Claim 4 A method for creating a software technical document according to claim 2, further comprising the step of separating and saving document input data and a standard document form when a user selects to save a document.