Method for selecting computing devices and software components

The computing device and method convert abstract system features into specific software components, addressing the lack of component provision in SPL development by ensuring consistent and error-free selection.

JP7739478B2Active Publication Date: 2025-09-16ASTEMO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023578355
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-07
Publication Date
2025-09-16
Estimated Expiration
2042-02-07

AI Technical Summary

Technical Problem

Existing software development methods, such as SPL (Software Product Line) development, do not provide specific software components based on highly abstract system features.

Method used

A computing device and method that utilize a software component database and heterogeneous feature correlation information to convert highly abstract system features into corresponding software features and components, using a feature conversion process to identify and select specific software components.

Benefits of technology

Enables the selection of specific software components based on required system features, ensuring consistency and correctness of the component selection process, and providing notification of any inconsistencies or errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007739478000001
    Figure 0007739478000001
  • Figure 0007739478000002
    Figure 0007739478000002
  • Figure 0007739478000003
    Figure 0007739478000003
Patent Text Reader

Abstract

Provided is a computation device comprising: a storage unit storing a software component database and different feature correlation information, the software component database indicating a correspondence between software components including at least a source code and software features that indicate features of the software, the different feature correlation information indicating a correspondence between the software features and system features that are lower in abstraction than the software features and indicate features of the system; an input unit that receives a requested feature list including one or more system features; a feature conversion unit that refers to the different feature correlation information and outputs software features corresponding to the system features included in the requested feature list; and a software component selection unit that refers to the software component database and outputs, as a software component selection result, software components corresponding to the software features outputted by the feature conversion unit.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a computing device and a software component selection method. [Background technology]

[0002] SPL (Software Product Line) development is known, which improves the efficiency of software development by reusing software assets. Patent Document 1 discloses a product line development support device including a product information database that stores product information for multiple existing products, a feature information database that stores feature information used in the existing products, a product / feature related information database that stores product / feature related information that associates the feature information with each product, and an information management unit that classifies and manages the product information, the feature information, and the product / feature related information, and the product / feature related information is characterized by comprising: a feature / feature associating means that receives the product / feature related information as an input, analyzes dependency relationships between features, and associates them; a feature / feature related information database that stores the feature / feature related information associated by the feature / feature associating means; and a related information management unit that registers and manages the feature / feature related information. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2011 / 099053 Summary of the Invention [Problem to be solved by the invention]

[0004] The invention described in Patent Document 1 does not provide software components. [Means for solving the problem]

[0005] A computing device according to a first aspect of the present invention includes a memory unit that stores a software component database, which is a database that indicates the correspondence between software components including at least source code and software features that indicate the characteristics of the software, and heterogeneous feature correlation information that indicates the correspondence between the software features and system features that are at a lower level of abstraction than the software features and indicate the characteristics of the system; an input unit that accepts a required feature list that includes one or more of the system features; a feature conversion unit that refers to the heterogeneous feature correlation information and outputs the software features that correspond to the system features included in the required feature list; and a software component selection unit that refers to the software component database and outputs the software components that correspond to the software features output by the feature conversion unit as a software component selection result. A software component selection method according to a second aspect of the present invention is a software component selection method executed by a computing device having a memory unit that stores a software component database, which is a database showing the correspondence between software components including at least source code and software features that indicate the characteristics of the software, and heterogeneous feature correlation information that shows the correspondence between the software features and system features that are at a lower level of abstraction than the software features and indicate the characteristics of the system, and an input unit that accepts a required feature list that includes one or more of the system features, and includes: a feature conversion process that references the heterogeneous feature correlation information and outputs the software features that correspond to the system features included in the required feature list; and a software component selection process that references the software component database and outputs the software components that correspond to the software features output by the feature conversion process as software component selection results. [Effects of the Invention]

[0006] According to the present invention, specific software components are obtained based on highly abstract system features. [Brief explanation of the drawings]

[0007] [Figure 1] Functional configuration diagram of a computing device according to the first embodiment [Figure 2] FIG. 10 is a diagram showing an example of system feature constraint information. [Figure 3] FIG. 10 is a diagram showing an example of heterogeneous feature correlation information. [Figure 4] Hardware configuration diagram of the calculation unit 1 [Figure 5] 1 is a flowchart showing the processing executed by the arithmetic unit 1. [Figure 6] Functional configuration diagram of a computing device according to a second embodiment [Figure 7] FIG. 10 is a diagram showing another example of the validity detection process. [Figure 8] Functional configuration diagram of a computing device according to a third embodiment [Figure 9] Functional configuration diagram of a computing device according to the fourth embodiment DETAILED DESCRIPTION OF THE INVENTION

[0008] System components are the design results of the system development process, such as the combination of models, design documents, test cases, and expected values. Each system component is assigned a system feature that indicates the characteristics of the system. The relationship between system components and system features can be 1:1, 1:many, or many:1. The relationship between system components and system features is known.

[0009] A software component is a design result, such as a combination of source code models, design documents, test cases, and expected values, designed in software development. However, each software component may also include test results. Each software component is assigned a software feature that indicates the characteristics of the software. The relationship between software components and software features may be one-to-one, one-to-many, or many-to-one. The relationship between software components and software features is known. System features are at a higher level of abstraction than software features.

[0010] -First embodiment- A first embodiment of a computing device according to the present invention will be described below with reference to FIGS.

[0011] FIG. 1 is a functional configuration diagram of the arithmetic device 1 in the first embodiment. In FIG. 1, solid lines indicate the movement of information, and dashed lines indicate the reference of information or databases. The arithmetic device 1 processes an input required feature list 101 and outputs a system component selection result 102 and a software component selection result 103. The required feature list 101 is a collection of one or more system features, and is also referred to as a "system feature group" below. The required feature list 101 is created in advance by a person who uses the arithmetic device 1 (hereinafter referred to as a "user").

[0012] The computing device 1 includes a system feature confirmation unit 104, a system component selection unit 105, a software component selection unit 106, a software component database (hereinafter referred to as "software component DB") 107, a system component database (hereinafter referred to as "system component DB") 108, a software feature confirmation unit 109, system feature constraint information 110, a feature conversion unit 111, heterogeneous feature correlation information 112, and software feature constraint information 113.

[0013] The system feature confirmation unit 104, system component selection unit 105, software component selection unit 106, software feature confirmation unit 109, and feature conversion unit 111 are realized by calculations described later. The software component DB 107, system component DB 108, system feature constraint information 110, heterogeneous feature correlation information 112, and software feature constraint information 113 are information created in advance and stored in a storage device described later.

[0014] The system feature constraint information 110 is information that indicates constraints between system features. Specifically, the system feature constraint information 110 is information that indicates necessary relationships, dependent relationships, and conflicting relationships between system features. For example, by referencing the system feature constraint information 110, when a certain system feature is selected, it is possible to identify dependent system features that should be selected at the same time, and conflicting system features that cannot be selected at the same time.

[0015] FIG. 2 is a diagram showing an example of system feature constraint information 110. Since the system feature constraint information 110 does not contain information about the same system feature, there are no diagonal components from the upper left to the lower right of the figure. Looking at the column for "System Feature A," the columns for "System Feature B" and "System Feature C" show "OR," and the column for "System Feature D" is blank. This indicates that when "System Feature A" is selected, only one of "System Feature B" and "System Feature C" is selected, and there is no constraint on "System Feature D."

[0016] Looking at the "System Feature B" column, the "System Feature A" column has "MUST" written in it, the "System Feature C" column has "NOT" written in it, and the "System Feature D" column is blank. This indicates that when "System Feature B" is selected, "System Feature A" is mandatory, meaning that it must be selected at the same time, and it is allowed to be selected at the same time as "System Feature C," and there is no constraint on "System Feature D." Note that while Figure 2 uses a table format for ease of understanding, the system feature constraint information 110 is not limited to a table format and can be expressed in any format. Returning to Figure 1, we will continue the explanation.

[0017] The software feature constraint information 113 is information that indicates constraints between software features. Specifically, the software feature constraint information 113 is information that indicates necessary relationships, dependency relationships, and conflict relationships between software features. For example, by referencing the system feature constraint information 110, when a software feature is selected, it is possible to identify dependent software features that should be selected at the same time, and conflicting software features that cannot be selected at the same time. The software feature constraint information 113 can be expressed, for example, in the same way as the system feature constraint information 110 shown in FIG. 2.

[0018] The heterogeneous feature correlation information 112 indicates the correlation between system features and software features. Specifically, the heterogeneous feature correlation information 112 indicates one or more software features that are correlated with each system feature. As described above, system features are more abstract than software features, so one system feature tends to be correlated with multiple software features. However, one system feature may be correlated with only one software feature, or multiple system features may be correlated with the same software feature.

[0019] FIG. 3 is a diagram showing an example of heterogeneous feature correlation information 112. FIG. 3 shows correlations between four system features and five software features. For example, it shows that "System Feature A" is correlated with "Software Feature 1" and "Software Feature 2." It also shows that "System Feature B" is correlated with "Software Feature 3." Let's return to FIG. 1 and continue the explanation.

[0020] The software component DB 107 is a database that indicates software components corresponding to software features. The software component DB 107 stores a combination of specific models, design documents, test cases, expected values, and test results for each software feature. However, one or more of the five items (model, design documents, test cases, expected values, and test results) may be missing, or other information may be added.

[0021] The system component DB 108 is a database that indicates system components corresponding to system features. The system component DB 108 stores a combination of a specific model, design document, test case, and expected value for each system feature. However, one or more of the model, design document, test case, and expected value may be missing, or other information may be added.

[0022] The system feature checking unit 104 checks the consistency of the multiple system features that are input by referring to the system feature constraint information 110. If the system feature checking unit 104 determines that there is no problem with the consistency of the multiple system features that are input, it outputs all of the input system features. If the system feature checking unit 104 determines that there is a problem with the consistency of the multiple system features that are input, it notifies the user that a problem has occurred. Consistency here means that there are no deficiencies in the combinations of the input system features and that there are no combinations that are in conflict with each other.

[0023] The feature conversion unit 111 calculates software features corresponding to the input system features. Specifically, the feature conversion unit 111 receives a group of system features whose consistency has been confirmed by the system feature verification unit 104. The feature conversion unit 111 performs the following processing, sequentially treating each system feature included in the group of system features as the system feature to be processed. That is, the feature conversion unit 111 identifies one or more software features corresponding to the system feature to be processed by referring to the heterogeneous feature correlation information 112. The feature conversion unit 111 outputs the identified one or more software features as a group of software features. That is, the feature conversion unit 111 converts the input system feature group into a corresponding software feature group.

[0024] The software feature checking unit 109 checks the consistency of the input software features by referring to the software feature constraint information 113. If the software feature checking unit 109 determines that there is no problem with the consistency of the input software features, it outputs all of the input software features. If the software feature checking unit 109 determines that there is a problem with the consistency of the input software features, it notifies the user that a problem has occurred. Consistency here means that there are no deficiencies in the combination of the input system features and that there are no conflicting combinations.

[0025] The software component selection unit 106 outputs a group of software components corresponding to the input group of software features. Specifically, the software component selection unit 106 performs the following processing by sequentially treating each software feature included in the input group of software features as a software feature to be processed. That is, the software component selection unit 106 identifies one or more software components corresponding to the software feature to be processed by referring to the software component DB 107. The software component selection unit 106 outputs the identified one or more software components as the software component selection result 103. Note that the software components output by the software component selection unit 106 correspond to the system features included in the required feature list 101.

[0026] The system component selection unit 105 outputs a group of system components corresponding to the input group of system features. Specifically, the system component selection unit 105 performs the following process, sequentially treating each system feature included in the group of system features confirmed by the system feature confirmation unit 104 as the system feature to be processed. That is, the system component selection unit 105 identifies one or more system components corresponding to the system feature to be processed by referring to the system component DB 108. The system component selection unit 105 outputs the identified one or more system components as the system component selection result 102. Note that the system components output by the system component selection unit 105 correspond to the system features included in the required feature list 101.

[0027] 4 is a hardware configuration diagram of the arithmetic device 1. The arithmetic device 40 includes a CPU 41 which is a central processing unit, a ROM 42 which is a read-only storage device, a RAM 43 which is a readable and writable storage device, a storage unit 44 which is a non-volatile storage device, an input unit 45 which receives input from the outside, and a notification unit 46 which is used for notification.

[0028] The CPU 41 loads a program stored in the ROM 42 into the RAM 43 and executes it to realize the various functions described above, specifically, the system feature confirmation unit 104, the system component selection unit 105, the software component selection unit 106, the software feature confirmation unit 109, and the feature conversion unit 111. The various functions of the calculation device 40 described above may be realized by a field programmable gate array (FPGA), which is a rewritable logic circuit, or an application specific integrated circuit (ASIC), which is an application specific integrated circuit, instead of the combination of the CPU 41, the ROM 42, and the RAM 43. Furthermore, the various functions described above may be realized by a combination of different configurations, for example, a combination of the CPU 41, the ROM 42, the RAM 43, and the FPGA, instead of the combination of the CPU 41, the ROM 42, and the RAM 43.

[0029] The storage unit 44 is, for example, a hard disk drive. The storage unit 44 stores a software component DB 107, a system component DB 108, system feature constraint information 110, heterogeneous feature correlation information 112, and software feature constraint information 113. However, it is not essential that the arithmetic device 1 includes the storage unit 44. For example, the software component DB 107, the system component DB 108, the system feature constraint information 110, heterogeneous feature correlation information 112, and the software feature constraint information 113 may be read from an external device and stored in the RAM 43 every time the arithmetic device 1 is started.

[0030] The input unit 45 is an input device that accepts input from the outside, such as a mouse or keyboard. The input unit 45 is used at least for the user to input the requested feature list 101. However, the calculation device 1 may also receive information from the outside via communication, in which case the input unit 45 is a communication module that performs the communication, such as a network interface card that complies with IEEE802.3. The notification unit 46 notifies the user by sound or video. The notification unit 46 is, for example, a speaker, an LCD display, an audio signal output device, or a video signal output device. However, the notification unit 46 may also output notification information to the outside via communication, in which case a device that receives communication from the calculation device 1 notifies the user by outputting sound or video. In this case, the input unit 45 is a communication module that performs the communication, such as a network interface card that complies with IEEE802.3.

[0031] 5 is a flowchart showing the processing executed by the calculation device 1. When the calculation device 1 receives the required feature list 101 from outside, the calculation device 1 starts the processing shown in FIG. 5. First, in step S301, the system feature confirmation unit 104 confirms the consistency of the input system feature group. For example, if the input system feature group is "system feature A" and "system feature C" and the system feature constraint information 110 is as shown in FIG. 2, the following confirmation is performed. That is, first, the system feature to be processed is set to "system feature A" and it is confirmed that either "system feature B" or "system feature C" is included in the input system feature group. Next, the system feature to be processed is set to "system feature C" and it is confirmed that "system feature B" is not included in the system feature group.

[0032] In the following step S302, the system feature checking unit 104 judges the result of the check in step S301. If the check result is OK, that is, if the system feature checking unit 104 judges that all system features included in the system feature group are consistent, it outputs the input system feature group to the system component selection unit 105 and the feature conversion unit 111 and proceeds to step S303. If the check result is NG, that is, if the system feature checking unit 104 judges that there are inconsistent system features, it ends the processing shown in FIG. 5.

[0033] In step S303, the system component selection unit 105 identifies system components corresponding to the group of system features output by the system feature confirmation unit 104, and outputs the identified system components as the system component selection result 102. In the following step S304, the feature conversion unit 111 identifies a group of software features corresponding to the group of system features output by the system feature confirmation unit 104, and outputs the identified software features to the software feature confirmation unit 109. Note that the order of execution of steps S303 and S304 may be reversed, or they may be executed substantially simultaneously.

[0034] In the following step S305, the software feature checking unit 109 checks the consistency of the software feature group output by the feature conversion unit 111. In the following step S306, the software feature checking unit 109 determines the result of the check in step S305. If the software feature checking unit 109 determines that the check result is OK, that is, that all software features included in the software feature group are consistent, it outputs the input software feature group to the software component selection unit 106 and proceeds to step S307. If the software feature checking unit 109 determines that the check result is NG, that is, that there are inconsistent software features, it terminates the processing shown in FIG. 5. In step S307, the software component selection unit 106 identifies software components corresponding to the software feature group output by the software feature checking unit 109 and outputs them as software component selection result 103, thereby terminating the processing shown in FIG. 5.

[0035] When a negative determination is made in step S302 or step S306, instead of immediately terminating the process, a notification unit may be used to notify the user. The notification unit may notify the user of information indicating the inconsistency, such as a text or audio message saying, "System Feature B and System Feature C have been selected simultaneously."

[0036] According to the first embodiment described above, the following advantageous effects can be obtained. (1) The arithmetic device 1 includes a storage unit 44 that stores a software component DB 107, which is a database indicating the correspondence between software components including at least source code and software features that indicate the characteristics of the software, and heterogeneous feature correlation information 112 that indicates the correspondence between the software features and system features that are less abstract than the software features and indicate the characteristics of the system, an input unit 45 that receives a required feature list 101 that includes one or more system features, a feature conversion unit 111 that references the heterogeneous feature correlation information and outputs software features that correspond to the system features included in the required feature list 101, and a software component selection unit 106 that references the software component DB 107 and outputs software components that correspond to the software features output by the feature conversion unit 111 as a software component selection result 103. Therefore, by using the arithmetic device 1, the software component selection result 103, which is a specific software component, can be obtained based on the required feature list 101, which is a collection of highly abstract system features.

[0037] (2) The storage unit 44 stores system feature constraint information 110 indicating constraints between system features. The calculation device 1 includes a notification unit 46 that notifies the user of information, and a system feature confirmation unit 104 that, when the required feature list 101 includes two or more system features and the system features included in the required feature list 101 do not satisfy the constraint conditions based on the system feature constraint information 110, notifies the user using the notification unit 46 that the system features do not satisfy the constraint conditions. Therefore, the calculation device 1 can notify the user of any problems with the combination of input system features.

[0038] (3) The storage unit 44 stores software feature constraint information 113 indicating constraints between software features. The calculation device 1 includes a notification unit 46 that notifies a user of information, and a software feature confirmation unit 109 that, when the feature conversion unit 111 outputs two or more software features and the software features output by the feature conversion unit 111 do not satisfy the constraint conditions based on the software feature constraint information 113, notifies the user, using the notification unit 46, that the software features do not satisfy the constraint conditions. Therefore, the calculation device 1 can notify the user of problems in the calculated combination of software features.

[0039] (4) The storage unit 44 stores a system component database 108, which is a database showing the correspondence between system features and system components that are at least one of a model and a design document. The calculation device 1 includes a system component selection unit 105 that identifies system components that correspond to system features included in the required feature list 101 based on the system component database 108 and outputs the identified system component as a system component selection result 102. This allows the calculation device 1 to present the correspondence between system components and software components to the user.

[0040] (Modification 1 of the first embodiment) The calculation device 1 does not necessarily have to include at least one of the system feature confirmation unit 104, the system feature constraint information 110, the system component selection unit 105, the system component DB 108, the software feature confirmation unit 109, and the software feature constraint information 113. In other words, the calculation device 1 only needs to include an input unit 45 that receives the required feature list 101, a feature conversion unit 111, the software component selection unit 106, and a storage unit 44 that stores the software component DB 107 and the heterogeneous feature correlation information 112.

[0041] For example, if the calculation device 1 does not include the system feature confirmation unit 104, the feature conversion unit 111 and the system component selection unit 105 may process the system features included in the required feature list 101 as they are. Also, if the calculation device 1 does not include the software feature confirmation unit 109, the software component selection unit 106 may process the output of the feature conversion unit 111 as it is.

[0042] (Modification 2 of the First Embodiment) At least one of the software component DB 107, the system component DB 108, the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113 stored in the storage unit 44 in the first embodiment does not have to be stored in the storage unit 44. In this case, the calculation device 1 may acquire this information from outside the calculation device 1 using a communication device (not shown). For example, the calculation device 1 may acquire all of the information from outside whenever necessary, may acquire selected information from outside, or may acquire the calculation result.

[0043] For example, if the calculation device 1 does not have the system feature constraint information 110 and the required feature list 101 includes "system feature A" and "system feature B," any of the following three processing examples may be performed. The first processing example is to obtain the entire system feature constraint information 110 from outside and process it in the same way as in the first embodiment. The second processing example is to obtain only information related to "system feature A" and "system feature B" in the system feature constraint information 110 from outside and process it in the same way as in the first embodiment. The third processing example is to output the names of the system features, "system feature A" and "system feature B," to outside and obtain the calculation result of whether there is a surplus or deficiency.

[0044] --Second embodiment-- A second embodiment of the arithmetic device according to the present invention will be described with reference to Figures 6 and 7. In the following description, the same components as those in the first embodiment are given the same reference numerals, and differences will be mainly described. Points that are not particularly described are the same as those in the first embodiment. This embodiment differs from the first embodiment mainly in the confirmation of information used in the calculation.

[0045] 6 is a functional configuration diagram of a computing device 1A according to the second embodiment. The computing device 1A further includes a validity detection unit 114 in addition to the configuration of the computing device 1 according to the first embodiment. The validity detection unit 114 checks the validity of consistency between the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113, and outputs a validity judgment result 115. The validity detection unit 114 is realized, for example, by the CPU 41 loading a program stored in the ROM 42 into the RAM 43 and executing it.

[0046] The validity detection unit 114 may operate when the computing device 1 is started up, or may operate every time any of the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113 is input or edited. Note that the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113 are input or edited by a user using the input unit 45.

[0047] The system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113 are more susceptible to errors as the number of features increases. For example, if the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113 are created manually, the greater the number of features, the more likely errors due to input errors or oversights will occur. Furthermore, if a computer program is used to create the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113, the greater the number of features, the more complex the created program will be, and the greater the likelihood of bugs. To address this issue, the validity detection unit 114 determines the mutual validity of the system feature constraint information 110, the heterogeneous feature correlation information 112, and the software feature constraint information 113. However, while the validity detection unit 114 can detect a problem, it cannot identify how to correct it.

[0048] An example of validity detection processing by the validity detection unit 114 will be described. For example, the validity detection unit 114 replaces each system feature, which is an element of a row or column in the system feature constraint information 110, with a software feature based on the heterogeneous feature correlation information 112. Next, the validity detection unit 114 sorts the arrangement of software features in the system feature constraint information 110 after this replacement processing in lexicographical order, and generates a validity judgment result 115 by extracting differences from the software feature constraint information 113.

[0049] FIG. 7 is a diagram showing another example of the validity detection process performed by the validity detection unit 114. First, in step S311, the validity detection unit 114 selects one system feature that is listed in the system feature constraint information 110 and has not yet been selected. In the description of FIG. 7, the system feature selected in this step is referred to as the "processing target system feature." In the following step S312, the validity detection unit 114 refers to the heterogeneous feature correlation information 112 to identify a software feature that corresponds to the processing target system feature. In the following step S312, the validity detection unit 114 determines whether the number of software features identified in step S312 is two or more. If it determines that the number is two or more, the process proceeds to step S313. If it determines that the number is only one, the process proceeds to step S315.

[0050] In step S313, the validity detection unit 114 determines whether the multiple software features identified in step S312 can be selected simultaneously by referring to the software feature constraint information 113. If the validity detection unit 114 determines that simultaneous selection is possible, that is, that there is no "NOT" relationship in the software feature constraint information 113, the process proceeds to step S315, but if it determines that simultaneous selection is not possible, the process proceeds to step S314. In step S314, the validity detection unit 114 adds to the validity determination result 115 a note indicating that there is a contradiction between the system feature to be processed and the software identified in step S312, and then proceeds to step S315.

[0051] In step S315, the validity detection unit 114 determines whether or not there are any unselected software features. Specifically, if the validity detection unit 114 determines that all of the system features described in the system feature constraint information 110 have been selected in step S311, the processing shown in Fig. 7 ends, and if the validity detection unit 114 determines that there are any unselected system features among the system features described in the system feature constraint information 110, the processing returns to step S311. This concludes the explanation of Fig. 7.

[0052] According to the second embodiment described above, the following advantageous effects can be obtained. (5) The storage unit 44 stores system feature constraint information 110 indicating constraints between system features, and software feature constraint information 113 indicating constraints between software features. The calculation device 1A includes a validity detection unit 114 that detects inconsistencies among the heterogeneous feature correlation information 112, the system feature constraint information 110, and the software feature constraint information 113. Therefore, the calculation device 1A can detect inconsistencies among the heterogeneous feature correlation information 112, the system feature constraint information 110, and the software feature constraint information 113, which are created in advance by the user.

[0053] -Third embodiment- A third embodiment of the arithmetic device according to the present invention will be described with reference to Fig. 8. In the following description, the same components as those in the first embodiment are designated by the same reference numerals, and differences will be mainly described. Points that are not particularly described are the same as those in the first embodiment. This embodiment differs from the first embodiment mainly in that it checks the correlation between the system components and software components output by the arithmetic device.

[0054] 8 is a functional configuration diagram of a calculation device 1B in the third embodiment. In addition to the configuration of the calculation device 1 in the first embodiment, the calculation device 1B further includes a traceability confirmation unit 122 and a traceability database (hereinafter referred to as "traceability DB") 121. In this embodiment, the system component selection unit 105 also outputs the system component selection result 102 to the traceability confirmation unit 122, and the software component selection unit 106 also outputs the software component selection result 103 to the traceability confirmation unit 122.

[0055] The traceability checking unit 122 is realized, for example, by the CPU 41 expanding a program stored in the ROM 42 into the RAM 43 and executing it. The traceability DB 121 is stored in advance in the storage unit 44. The traceability DB 121 is a database that stores the correspondence between system components and software components as traceability at the time of design. Note that the heterogeneous feature correlation information 112 described in the first embodiment indicates the correspondence between system features and software features, so the heterogeneous feature correlation information 112 and the traceability DB 121 are similar in nature but differ in the level of abstraction of the information.

[0056] The traceability checking unit 122 checks the consistency between the system component selection result 102 output by the system component selection unit 105 and the software component selection result 103 output by the software component selection unit 106 by referring to the traceability DB 121. In other words, the traceability checking unit 122 refers to the traceability DB 121 to extract software components corresponding to the system component selection result 102 output by the system component selection unit 105, and determines whether they match the software components output by the software component selection unit 106. The traceability checking unit 122 outputs a check result 123 indicating whether the two match. If the two do not match, this indicates that there is an error in any of the heterogeneous feature correlation information 112, the software component DB 107, the system component DB 108, and the traceability DB 121.

[0057] According to the above-described third embodiment, the following advantageous effects can be obtained. (6) The storage unit 44 stores a traceability database 121 that indicates the correspondence between system components and software components. The calculation device 1B includes a traceability confirmation unit 122 that refers to the traceability database 121 to identify software components that correspond to the system components identified by the system component selection unit 105 and confirms that the identified software components match the software components selected by the software component selection unit 106. Therefore, the calculation device 1B can detect an error in any of the previously created heterogeneous feature correlation information 112, software component DB 107, system component DB 108, and traceability DB 121.

[0058] --Fourth embodiment-- A fourth embodiment of the arithmetic device according to the present invention will be described with reference to Fig. 9. In the following description, the same components as those in the first embodiment are denoted by the same reference numerals, and differences will be mainly described. Points that are not specifically described are the same as those in the first embodiment. This embodiment differs from the first embodiment mainly in that attribute information of software components is also output.

[0059] FIG. 8 is a functional configuration diagram of a computing device 1C according to the fourth embodiment. In addition to the configuration of the computing device 1 according to the first embodiment, the computing device 1C further includes software component attribute information 125, and the processing of a software component selection unit 106 is added as described below. The software component attribute information 125 is attribute information for each software component, such as at least one of the size of the software component, an index indicating the level of abstraction of the feature, the development difficulty, and the number of test reruns. The size of the software component may be the file size of the source code or the file size of an intermediate file obtained by compiling the source code.

[0060] In this embodiment, the software component selection unit 106 performs the following process in addition to the process in the first embodiment. That is, the software component selection unit 106 acquires attribute information of the software component identified by referring to the software component DB 107 from the software component attribute information 125, and outputs it as a development risk report 124.

[0061] According to the above-described fourth embodiment, the following advantageous effects can be obtained. (7) The storage unit 44 stores software component attribute information 125, which indicates the correspondence between software components and software component attribute information, which is attribute information of the software components. The software component selection unit 106 outputs the software component attribute information corresponding to the software components to be output as a development risk report. The attribute information is at least one of the size of the software component, an index indicating the abstraction level of the feature, the development difficulty, and the number of test reruns. Therefore, since the calculation device 1C also outputs the attribute information of the software components, the user can not only receive the software components as development targets, but also obtain the attribute information and use it as reference information when formulating future development plans.

[0062] In each of the above-described embodiments and modifications, the functional block configurations are merely examples. Some functional configurations shown as separate functional blocks may be configured as an integrated unit, or a configuration shown in a single functional block diagram may be divided into two or more functions. Furthermore, some of the functions of each functional block may be provided by other functional blocks.

[0063] In the above-described embodiments and modifications, the programs are stored in the ROM 42, but the programs may be stored in the storage unit 44. Furthermore, the arithmetic device 1 may be provided with an input / output interface (not shown), and the programs may be loaded from another device as needed via the input / output interface and a medium available to the arithmetic device 1. The medium here refers to, for example, a storage medium detachable from the input / output interface, or a communication medium, i.e., a wired, wireless, or optical network, or a carrier wave or digital signal propagating through the network. Furthermore, some or all of the functions realized by the programs may be realized by a hardware circuit or FPGA.

[0064] The above-described embodiments and modifications may be combined with each other. Although various embodiments and modifications have been described above, the present invention is not limited to these. Other embodiments conceivable within the scope of the technical concept of the present invention are also included within the scope of the present invention. [Explanation of symbols]

[0065] 1, 1A, 1B, 1C...Arithmetic unit 44...Storage section 45...Input section 46…Information Department 104...System feature confirmation section 105...System component selection section 106...Software component selection section 107...Software component database 108...System parts database 109...Software feature verification section 110...System feature constraint information 111...Feature conversion section 112…Heterogeneous feature correlation information 113...Software feature constraint information 114...Validity detection unit 121...Traceability Database 122...Traceability Verification Department 125...Software component attribute information 1122…Heterogeneous feature correlation information

Claims

1. a storage unit that stores a software component database, which is a database that indicates the correspondence between software components including at least source code and software features that indicate the characteristics of the software, and heterogeneous feature correlation information that indicates the correspondence between the software features and system features that are at a lower level of abstraction than the software features and indicate the characteristics of the system; an input unit for receiving a required feature list including one or more of the system features; a feature conversion unit that references the heterogeneous feature correlation information and outputs the software features that correspond to the system features included in the required feature list; a software component selection unit that refers to the software component database and outputs the software component corresponding to the software feature output by the feature conversion unit as a software component selection result.

2. 2. The computing device according to claim 1, the storage unit further stores system feature constraint information indicating constraints between the system features; a notification unit that notifies a user of information; A computing device further comprising a system feature confirmation unit that, when the required feature list includes two or more system features and the system features included in the required feature list do not satisfy the constraint conditions based on the system feature constraint information, notifies a user using the notification unit that the system features do not satisfy the constraint conditions.

3. 2. The computing device according to claim 1, the storage unit further stores software feature constraint information indicating constraints between the software features; a notification unit that notifies a user of information; a software feature confirmation unit that, when the number of software features output by the feature conversion unit is two or more and the software features output by the feature conversion unit do not satisfy constraint conditions based on software feature constraint information, notifies a user by using the notification unit that the software features do not satisfy the constraint conditions.

4. 2. The computing device according to claim 1, the storage unit further stores a system component database, which is a database indicating a correspondence between the system features and system components that are at least one of a model and a design document; The computing device further comprises a system component selection unit that identifies the system components corresponding to the system features included in the required feature list based on the system component database and outputs the identified system components as system component selection results.

5. 2. The computing device according to claim 1, the storage unit further stores system feature constraint information indicating constraints between the system features and software feature constraint information indicating constraints between the software features; The computing device further comprises a validity detection unit that detects inconsistencies among the heterogeneous feature correlation information, the system feature constraint information, and the software feature constraint information.

6. 5. The computing device according to claim 4, the storage unit further stores a traceability database indicating a correspondence between the system components and the software components; A computing device further comprising a traceability confirmation unit that refers to the traceability database to identify the software component corresponding to the system component identified by the system component selection unit and confirms a match with the software component selected by the software component selection unit.

7. 2. The computing device according to claim 1, the storage unit further stores software component attribute information indicating a correspondence between the software component and software component attribute information which is attribute information of the software component; the software component selection unit further outputs the software component attribute information corresponding to the software component to be output as a development risk report; The attribute information is at least one of the size of the software component, an index indicating the abstraction level of the feature, the degree of difficulty in development, and the number of test reruns.

8. A software component selection method executed by a computing device including: a software component database, which is a database indicating correspondences between software components including at least source code and software features indicating characteristics of the software; a storage unit that stores heterogeneous feature correlation information indicating correspondences between the software features and system features that are at a lower level of abstraction than the software features and indicate system characteristics; and an input unit that receives a required feature list including one or more of the system features, a feature conversion process that refers to the heterogeneous feature correlation information and outputs the software features corresponding to the system features included in the required feature list; a software component selection process that refers to the software component database and outputs the software components corresponding to the software features output by the feature conversion process as software component selection results.

Citation Information

Patent Citations

  • Software development information management device and program

    JP2009053951A

  • Software development method and apparatus therefor

    JP2013512530A

  • Product line development support device

    JP2020077191A

  • Product line development support device

    WO2011099053A1