WO2011099053A1 - プロダクトライン型開発支援装置 - Google Patents

プロダクトライン型開発支援装置 Download PDF

Info

Publication number
WO2011099053A1
WO2011099053A1 PCT/JP2010/000806 JP2010000806W WO2011099053A1 WO 2011099053 A1 WO2011099053 A1 WO 2011099053A1 JP 2010000806 W JP2010000806 W JP 2010000806W WO 2011099053 A1 WO2011099053 A1 WO 2011099053A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature
product
line type
product line
related information
Prior art date
Application number
PCT/JP2010/000806
Other languages
English (en)
French (fr)
Inventor
福田毅
吉村健太郎
新吉高
Original Assignee
株式会社 日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 日立製作所 filed Critical 株式会社 日立製作所
Priority to DE112010005249T priority Critical patent/DE112010005249T5/de
Priority to US13/577,943 priority patent/US20120317119A1/en
Priority to PCT/JP2010/000806 priority patent/WO2011099053A1/ja
Priority to JP2011553611A priority patent/JPWO2011099053A1/ja
Publication of WO2011099053A1 publication Critical patent/WO2011099053A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates to a product line type development support apparatus that supports product line type development in a product composed of a plurality of parts.
  • Product line type development is also applied to software development.
  • the product line type development in software development is called software product line development, and the product refers to software in which a procedure and instructions for operating a computer are described in a format that can be understood by the computer.
  • Software software line development targets include so-called embedded software that controls objects by incorporating them into equipment such as elevators, automobiles, mobile phones, and construction machinery.
  • Such control by embedded software has the advantage that flexible and advanced control can be realized as compared with conventional mechanical mechanisms and electric circuit systems, and that many derivative products can be developed by changing software.
  • product development is generally performed by the developer selecting features necessary for the derived product. Therefore, the developer needs to select a feature at the time of development based on an appropriate understanding of the feature. In addition, in order to create an accurate feature model, the developer needs to extract features from existing products and to extract dependencies between features / features.
  • the feature in the software product line type development is a feature visible to the end user of the system (see Non-Patent Document 1).
  • feature model information including individual feature information and feature / feature related information indicating a parent / child relationship between features / features, and tag information to be added to each feature
  • Patent Document 2 A technique for creating an appropriate feature model using the technique is disclosed (see Patent Document 2).
  • Patent Document 1 a database of developed software parts is provided to manage and refer to feature information and product / feature information.
  • the point of managing and referencing feature / feature dependency information is not considered.
  • Patent Document 2 discloses a technique for creating an appropriate feature model by using related information between features indicating a parent-child relationship and a technique for creating an appropriate feature model by adding tag information to a feature. Is disclosed. However, no consideration is given to extracting a dependency relationship between features in a relationship other than the parent-child relationship. In addition, it is generally difficult to accurately determine tag information to be added to features, and there are many parts that depend on the know-how of the person performing tagging. Not considered.
  • Patent Document 3 discloses a technique for extracting a portion to be a feature by automatically analyzing a group of software parts reflecting software variability between products.
  • the present technology is limited to automatically extracting features in software, and does not consider the extraction of feature / feature dependency information.
  • the present invention extracts an appropriate dependency relationship between features by performing automatic analysis that excludes personality for a large number of feature combinations.
  • the objective is to eliminate personality from feature selection in product development by making the relationship readily available.
  • the present invention provides a product information database storing product information of a plurality of existing products, a feature information database storing feature information used in the existing products, and the feature information.
  • a product / feature related information database in which product / feature related information associated with the product is stored, and an information management unit that classifies and manages the product information, the feature information, and the product / feature related information.
  • the feature / feature association means which receives the product / feature related information as input and analyzes and associates the dependency relationship between the features / features, and the feature / feature association
  • a feature / feature related information database for storing the features / feature related information associated with each step; and a related information management unit for registering and managing the features / feature related information.
  • the present invention is a product line type development support apparatus, wherein the product is software in which a procedure and instructions for operating a computer are described in a format that can be understood by the computer.
  • the present invention is characterized in that, in the product line type development support apparatus, the feature is a constant or a defined macro for switching the operation of the software.
  • the feature / feature association unit is a product using the first feature for all products, and is a second feature different from the first feature. Also, the degree of support, which is the ratio of the products used, is obtained and used as an evaluation index for analyzing the dependency between features / features.
  • the feature / feature association means is a product that uses the first feature for all products that use the first feature.
  • the reliability which is the ratio of the product that also uses the second feature different from the second feature, is obtained and used as an evaluation index for the dependency analysis between the features / features.
  • the feature / feature association means may include a ratio of all products to a product using the second feature in the first feature and the second feature.
  • a lift value which is a value obtained by multiplying the reliability obtained in the third aspect, is obtained and used as an evaluation index for dependency analysis between features / features.
  • the feature / feature association unit sets a threshold value and compares at least one evaluation index of support level, reliability level, and lift value. / It is characterized by determining the presence or absence of dependency between features.
  • the related information management unit receives the feature / feature related information associated by the feature / feature associating means and stores it in the feature / feature related information database.
  • a new feature / feature related information confirmation unit for confirming the presence / absence of new feature / feature related information and a feature / feature for registering and managing new feature / feature related information
  • a related information management unit receives the feature / feature related information associated by the feature / feature associating means and stores it in the feature / feature related information database.
  • the present invention relates to a product line type development support apparatus, wherein the product line type development support apparatus includes at least the support degree according to claims 4 to 6 together with the feature / feature related information associated by the feature / feature association means. It is characterized in that an interface unit for displaying any one evaluation index of reliability and lift value to the developer is provided.
  • the present invention relates to a product line type development support apparatus, wherein when the developer performs product development based on feature information, the dependency relationship between features is based on the feature / feature related information. Is automatically reflected.
  • the present invention relates to a product line type development support device, wherein the product line type development support device uses an appropriate combination of features based on the feature / feature related information when a developer performs product development based on feature information. If it is determined that it is not, it is characterized by showing a warning to the developer.
  • the present invention relates to a product line type development support apparatus, and the features include cruise control, engine control, brake control, speed control, inter-vehicle distance control, preceding vehicle recognition, laser radar, millimeter wave radar in software development for automobiles. , Camera, air bag, ABS function, keyless entry system, traction control, light control, constants for switching software operations for controlling seat belt control, or defined macros.
  • the present invention relates to a product line type development support device, and the above features include, in software development in an elevator, a double-side safety shoe, a multi-beam door sensor, a multi-beam door sensor with a door signal, a wheelchair-use elevator specification, a specification for visually impaired persons, Security system, security camera, independent automatic operation, group management operation, VIP operation, automatic rescue operation, automatic suspension of car lighting and ventilating fan, car destination floor button mischievous registration cancel function, reverse call recall function, overload detection device , A constant or a defined macro for switching the operation of the software for controlling the door opening time extension button.
  • the present invention relates to a product line type development support apparatus, and the features include engine control, brake control, speed control, turning control, undulating fine speed control, traction control, light control, door control, It is a constant or defined macro that switches the operation of software that controls hydraulic sensors, pneumatic sensors, infinite start control, self-diagnosis function, overwind prevention function, excavator control, monitor panel control, alarm device It is.
  • the present invention quantifies and analyzes the dependency between features / features based on the feature information used in existing products, so that even if there are dependencies between features / features with thousands of combinations, Instead, it is possible to analyze automatically and easily. Further, since the developer can use the automatically analyzed feature / feature dependency information, it is possible to automatically select a feature having a dependency when selecting a feature in product development. Similarly, from the feature / feature dependency information, it is possible to make a recommendation when a developer uses a combination of features that cannot coexist. This eliminates personality at the time of product development, reduces specification design errors, and improves development efficiency. As a result, the product development cycle can be accelerated.
  • the configuration of the product line type development support device is shown. Shows product information for existing products. Feature information used for existing products. The structure of the information management part is shown. It shows the usage / non-use information of existing products and features. The structure of the feature / feature association means is shown. It is a flowchart which shows the flow of a process of a support degree calculation means. The calculation result of the support level is shown. It is a flowchart which shows the flow of a process of a reliability calculation means. The calculation result of the reliability is shown. It is a flowchart which shows the flow of a process of a single support degree calculation means. The calculation result of the single support is shown. It is a flowchart which shows the flow of a process of a lift value calculation means.
  • the calculation result of the lift value is shown.
  • the threshold value input screen is shown. It is a flowchart which shows the flow of a process of a dependence relationship analysis means. The result of dependency analysis is shown.
  • the structure of a related information management part is shown. It is a flowchart which shows the flow of a process of the new feature / feature related information confirmation means. It is a flowchart which shows the flow of a process of a feature / feature related information management part.
  • the confirmation request relation confirmation screen is shown.
  • the request relation confirmation information is shown.
  • the flow of processing of a management information classification part is shown. It is a flowchart which shows the flow of a process of a product information management part. It is a flowchart which shows the flow of a process of a feature information management part.
  • FIG. 1 It is a flowchart which shows the flow of a process of a product / feature information management part.
  • Feature information indicating the result of the feature / feature information association means is shown.
  • a feature tree showing the results of the feature / feature information association means is shown.
  • a screen for selecting a product specification feature is shown. This shows a state where a caution recommendation has been received on the screen for selecting a product specification feature.
  • FIG. 1 is a diagram showing an outline of a system configuration example of a product line type development support apparatus according to an embodiment of the present invention.
  • the product line type development support apparatus includes a product information database 11, a feature information database 12, an information management unit 13, a product / feature related information database 14, and a feature / feature association.
  • Means 15, a related information management unit 16, a feature / feature related information database 17, and an interface unit 18 are provided.
  • the product information database 11 is a database that stores product information.
  • Product information includes a product ID, model name, product group, product start time, product end time, and used feature ID.
  • the feature information database 12 is a database that accumulates features that are constants or defined macros for switching the operation of software.
  • the feature information includes a feature ID, a feature name, a parent feature, a relationship with the parent feature, an alternative relationship feature, a required relationship feature, a feature start period, and a feature end period.
  • the information management unit 13 classifies the product information accumulated in the product information database 11, the feature information accumulated in the feature information database 12, and the product / feature related information accumulated in the product / feature related information database 14. to manage.
  • the product / feature related information database 14 is a database for accumulating product / feature related information in which products and features are associated with each other.
  • the information associating the product with the feature is information on the usage status of each feature in each product.
  • the feature / feature association means 15 is a means for automatically analyzing the presence / absence of dependency between each feature / feature based on the usage status of the feature in the product, using the product / feature relation information as an input.
  • the related information management unit 16 manages the feature / feature related information associated by the feature / feature related information attaching unit 15.
  • the feature / feature related information database 17 is a database for storing the feature / feature related information input from the related information management unit 16.
  • the feature / feature related information is required relationship or alternative relationship information established between features / features.
  • the interface unit 18 provides, for example, a screen for inputting information from the developer 2 and a communication interface. In addition, the interface unit 18 acquires input information from the developer 2, and appropriately transfers the input information to at least one of the information management unit 13, the feature / feature association unit 15, and the related information management unit 16.
  • the feature / feature dependency is automatically extracted based on the feature usage information in the existing product. For example, when the number of features used with existing products exceeds several thousand, it takes a very long time to manually analyze the dependency between features / features.
  • the dependency relationship between features / features is analyzed with a numerical index, which is suitable for analyzing related information between features / features in an existing product.
  • FIG. 2 is a diagram showing product information in the product information database 11.
  • Product information includes a product ID, model name, product group, product start time, product end time, and used feature ID.
  • FIG. 3 is a diagram showing the feature information in the feature information database 12.
  • the feature information includes a feature ID, a feature name, a parent feature, a relationship with a parent feature, an alternative relationship feature, a dependency feature, a feature start period, and a feature end period.
  • FIG. 4 shows details of the information management unit 13.
  • the information management unit 13 classifies whether the input information relates to product information, feature information, or product / feature related information in the management information classification unit 1301. If the classified information relates to product information, the product information management unit 1302 performs processing. If the classified information relates to feature information, the processing is performed in the feature information management unit 1303. If the classified information relates to product / feature related information, the product is processed. / Processed in the feature related information management unit 1304.
  • the management information classification unit 1301 receives an input from the product information management unit 1302, the feature information management unit 1303, or the product / feature information management unit 1304, the information is output to the interface unit 18.
  • the developer 2 can not only register product information, feature information, and product / feature related information through the interface unit 18, but also can easily refer to the contents of each information.
  • FIG. 5 shows product / feature related information.
  • the product / feature related information is information on the usage status of each feature in each product.
  • FIG. 6 shows details of the feature / feature association means 15.
  • the feature / feature association means 15 performs analysis by numerically analyzing the dependency between features / features based on the product / feature-related information. Specifically, the product / feature related information database 14 is input, the support level is calculated by the support level calculation unit 1501, the reliability level is calculated by the reliability level calculation unit 1502, and the single support level calculation unit 1503 is independently supported. Calculate the degree. Further, the lift value is calculated by the lift value calculation means 1504 with the reliability and the single support degree as inputs. Further, the threshold value acquisition means 1505 obtains threshold values for the lift value, the support level, and the reliability level from the interface unit 18.
  • the support level, the reliability level, the lift value, and the threshold value are input, and the dependency relationship analyzing unit 1506 analyzes the dependency relationship between the features / features as the feature / feature related information, and the result is the related information management unit. 16 is output.
  • FIG. 7 is a flowchart showing the detailed processing of the support degree calculation means 1501.
  • the condition feature is a feature indicating a precondition
  • the conclusion feature is a feature corresponding to a result from the condition.
  • Processing starts from step S150101.
  • step S150102 the condition feature number is initialized.
  • step S150103 the product number is initialized.
  • step S150104 the total number of products is counted.
  • step S150105 products that use conditional features are extracted from all products.
  • step S150106 the number of the extracted product extracted in step S150105 is initialized.
  • the conclusion feature number is initialized.
  • the conclusion feature usage count is initialized.
  • the support level is initialized.
  • step S150110 it is checked whether the conclusion feature corresponding to the current conclusion feature number is used. If it is used (Yes), the process proceeds to step S150111. If not (No), the process proceeds to step S150112. In step S150111, 1 is added to the conclusion feature usage count. In step S150112, it is checked whether the product number is the final extracted product number indicating the last extracted product among the products extracted in step S150105. If the extracted product number is the final extracted product number (Yes), the process proceeds to step S150114. If not (No), the process proceeds to step S150113. In step S150113, the extracted product number is incremented and the process is continued. In step S150114, the support level is calculated by dividing the number of times the conclusion feature is used by the total number of products.
  • step S150115 it is checked whether the conclusion feature number is the final conclusion feature number indicating the last conclusion feature. If the conclusion feature number is the final conclusion feature number (Yes), the process proceeds to step S150117. If not (No), the process proceeds to step S150116. In step S150116, the conclusion feature number is incremented and the process is continued. In step S150117, it is checked whether the condition feature number is a final condition feature number indicating the last condition feature number. If the condition feature number is the final condition feature number (Yes), the process proceeds to step S150119, and the process ends. If not (No), the process proceeds to step S150118. In step S150118, the condition feature number is incremented and the process continues.
  • FIG. 8 is a diagram 150120 representing the support level calculated by the support level calculation means 1501.
  • the degree of support is a value obtained by dividing the number of products including both the condition feature and the conclusion feature by the total number of products.
  • the degree of support indicates the ratio of products that satisfy the condition feature and the conclusion feature at the same time to the total products. In other words, the higher the support level, the more products that use the conditional feature that is the precondition and the products that also use the conclusion feature that is the conclusion.
  • FIG. 9 is a flowchart showing detailed processing of the reliability calculation means 1502. Processing starts from step S150201.
  • step S150202 the condition feature number is initialized.
  • step S150203 a product that uses the conditional feature is extracted.
  • step S150204 the extracted product number extracted in step S150203 is initialized.
  • step S150205 the number of extracted products is counted.
  • step S150206 the conclusion feature number is initialized.
  • step S150207 the number of times the conclusion feature is used is initialized.
  • the reliability is initialized.
  • step S150209 it is checked whether a conclusion feature corresponding to the current conclusion feature number is used.
  • step S150210 If it is used (Yes), the process proceeds to step S150210, and if not (No), the process proceeds to step S150211.
  • step S150210 1 is added to the conclusion feature usage count.
  • step S150211 it is checked whether the product number is the final extracted product number indicating the last extracted product among the products extracted in step S150203. If the extracted product number is the final extracted product number (Yes), the process proceeds to step S150213. If not (No), the process proceeds to step S150212.
  • step S150212 the extracted product number is incremented and the process is continued.
  • step S150213 the reliability is calculated by dividing the number of times the conclusion feature is used by the number of extracted products.
  • step S150214 it is checked whether the conclusion feature number is a final conclusion feature number indicating the last conclusion feature. If the conclusion feature number is the final conclusion feature number (Yes), the process proceeds to step S150216. If not (No), the process proceeds to step S150215. In step S150215, the conclusion feature number is incremented and processing continues. In step S150216, it is checked whether the condition feature number is a final condition feature number indicating the last condition feature number. If the condition feature number is the final condition feature number (Yes), the process proceeds to step S150218 to end the process, and if not (No), the process proceeds to step S150217. In step S150217, the condition feature number is incremented and the process is continued.
  • FIG. 10 is a diagram 150219 showing the reliability calculated by the reliability calculation means 1502.
  • the reliability is a value obtained by dividing the number of products including both the conditional feature and the conclusion feature by the number of products including the conditional feature. Confidence indicates the rate at which conclusion features are used when conditional features are used. In other words, the higher the reliability, the stronger the connection between the conditional feature that is the precondition and the conclusion feature that is the conclusion.
  • FIG. 11 is a flowchart showing the detailed processing of the single support level calculation means 1503. Processing starts from step S150301.
  • step S150302 the conclusion feature number is initialized.
  • step S150303 the product number is initialized.
  • step S150304 the total number of products is counted.
  • step S150305 the conclusion feature use count is initialized.
  • step S150306 the single support is initialized.
  • step S150307 it is checked whether the conclusion feature corresponding to the current conclusion feature number is used. If it is used (Yes), the process proceeds to step S150308. If not (No), the process proceeds to step S150309. In step S150308, 1 is added to the conclusion feature usage count.
  • step S150309 it is checked whether the product number is the final product number indicating the last product among all products. If the product number is the final product number (Yes), the process proceeds to step S150311; otherwise (No), the process proceeds to step S150310.
  • step S150210 the product number is incremented and the process is continued.
  • step S150311 the single support level is calculated by dividing the number of times the conclusion feature is used by the total number of products.
  • step S150312 it is checked whether the conclusion feature number is the final conclusion feature number indicating the last conclusion feature. If the conclusion feature number is the final conclusion feature number (Yes), the process proceeds to step S150314, and the process ends. If not (No), the process proceeds to step S150313.
  • step S150313 the conclusion feature number is incremented and the process is continued.
  • FIG. 12 is a diagram 150315 showing the single support level calculated by the single support level calculation means 1503.
  • the single support level is a value obtained by dividing the number of products including the conclusion feature by the total number of products.
  • Single support indicates the percentage of all products that use the conclusion feature. In other words, the higher the single support, the more products that use the conclusion feature.
  • FIG. 13 is a flowchart showing detailed processing of the lift value calculation means 1504. Processing starts from step S150401.
  • step S150402 the condition feature number is initialized.
  • step S150403 the conclusion feature number is initialized.
  • step S150404 the lift value is initialized.
  • step S150405 the lift value is calculated by dividing the reliability calculated by the feature / feature reliability calculation unit 1502 by the single support calculated by the feature / feature single support calculation unit 1503.
  • step S150406 it is checked whether the conclusion feature number is the final conclusion feature number indicating the last conclusion feature. If the conclusion feature number is the final conclusion feature number (Yes), the process proceeds to step S150408; otherwise (No), the process proceeds to step S150407.
  • step S150407 the conclusion feature number is incremented and the process is continued.
  • step S150408 it is checked whether the condition feature number is a final condition feature number indicating the last condition feature number. If the condition feature number is the final condition feature number (Yes), the process proceeds to step S150410 to end the process. If not (No), the process proceeds to step S150409. In step S150409, the conclusion feature number is incremented and the process is continued.
  • FIG. 14 is a diagram 150411 showing the lift value calculated by the lift value calculation means 1504.
  • the lift value is a value obtained by dividing the reliability 150219 by the single support 150315 that is the support of the conclusion feature with the condition part being empty.
  • the lift value indicates an index for viewing the independence of the condition feature and the conclusion feature. That is, the lower the lift value, the higher the independence of the condition feature and the conclusion feature, and the less the dependency. More specifically, if the conclusion feature itself is used in 95% of the entire product, even though there is a 95% probability that the conclusion feature is used in products that use conditional features Cannot be said to have a dependency between the condition feature and the conclusion feature. In this case, the lift value is low.
  • FIG. 15 is a diagram 150501 of a threshold value input screen output from the threshold value calculation means 1505 to the interface unit 18.
  • the developer 2 inputs the values of the threshold value 1, the threshold value 2, and the threshold value 3 for the lift value, the support level, and the reliability value through the interface unit 18.
  • 1.20 was used for threshold 1, 0.60 for threshold 2, and 0.90 for threshold 3.
  • FIG. 16 is a flowchart showing detailed processing of the dependency relationship analyzing means 1506. Processing starts from step S150601. In step S150602, threshold data is input from the threshold acquisition unit 1505. In step S150603, the condition feature number is initialized. In step S150604, the conclusion feature number is initialized. In step S150605, it is checked whether the condition feature number is different from the conclusion feature number. If the condition feature number is different from the conclusion feature number (Yes), the process proceeds to step S150606; otherwise (No), the process proceeds to step S150611. In step S150606, it is checked whether the lift value is greater than or equal to the threshold value 1.
  • step S150607 it is checked whether the support level is greater than or equal to a threshold value 2. If the support level is greater than the threshold value 2 (Yes), the process proceeds to step S150608, and if not (No), the process proceeds to step S150611. In step S150608, it is checked whether the reliability is greater than or equal to a threshold value 3. If the reliability is greater than the threshold 3 (Yes), the process proceeds to step S150609, and if not (No), the process proceeds to step S150610. In step S150609, the feature / feature dependency relationship is classified as a confirmed request relationship.
  • step S150610 the feature / feature dependency is classified as a required relationship.
  • step S150611 the feature / feature dependency is classified without relation.
  • step S150612 it is checked whether the conclusion feature number is the final conclusion feature number indicating the last conclusion feature. If the conclusion feature number is the final conclusion feature number (Yes), the process proceeds to step S150614; otherwise (No), the process proceeds to step S150613.
  • step S150613 the conclusion feature number is incremented and the process is continued.
  • step S150614 it is checked whether the condition feature number is a final condition feature number indicating the last condition feature number. If the condition feature number is the final condition feature number (Yes), the process proceeds to step S150616 to end the process. If not (No), the process proceeds to step S150615.
  • step S150615 the conclusion feature number is incremented and the process is continued.
  • FIG. 17 is a diagram 150617 showing the feature / feature dependency analyzed by the dependency analysis means 1506.
  • the required relationship in the figure indicates the conclusion feature required when the condition feature is selected. Whether the dependency relationship is classified as a requirement relationship or a determined requirement relationship depends on the threshold value 3 set by the threshold value acquisition unit 1505.
  • the fixed requirement relationship has high reliability in the previous period, and the probability of having a dependency relationship is extremely high. On the other hand, it is necessary to take into account that the requirement relationship is low in reliability in the previous term and is a coincidence result.
  • FIG. 18 shows the details of the related information management unit 16.
  • the related information management unit 16 receives the input from the previous feature / feature association unit 15, and the new feature / feature related information confirmation unit 1601 receives the input information and the feature / feature related information obtained through the feature / feature related information management unit 1602. Comparison with data stored in the feature related information database 17 is performed. As a result of the comparison, if the input information is new feature / feature related information, the information is output to the interface unit 18.
  • the feature / feature related information management unit 1602 receives input from the interface unit 18 or the new feature / feature related information confirmation unit 1601, and registers and manages the dependency relationship between the features / features.
  • the developer 2 not only can confirm and register the new feature / feature related information through the interface unit 18 but also can easily refer to the feature / feature related information.
  • FIG. 19 is a flowchart showing detailed processing of the new feature / feature related information confirmation unit 1601. Processing starts from step S160101.
  • step S160102 the feature / feature association information data 1 is input from the feature / feature association means 15.
  • step S160103 the feature / feature related information data 2 is input from the feature / feature related information management unit 1602.
  • step S160104 the condition feature number is initialized.
  • step S160105 the conclusion feature number is initialized.
  • step S160106 it is checked whether data 1 and data 2 are different. If data 1 and data 2 are different (Yes), the process proceeds to step S160107. If not (No), the process proceeds to step S160111.
  • step S160108 it is checked whether or not data 1 has a fixed request relationship.
  • step S160109 If the data 1 is in the confirmation request relationship (Yes), the process proceeds to step S160109, and if not (No), the process proceeds to step S160108.
  • step S160108 it is checked whether the data 1 has a request relationship. If the data 1 is in a request relationship (Yes), the process proceeds to step S160110. Otherwise (No), the process proceeds to step S160111.
  • step S160109 the confirmation request relation information is output to the interface unit 18.
  • step S160110 the request relation information is output to the interface unit 18.
  • step S160111 if the conclusion feature number is the final conclusion feature number (Yes), the process proceeds to step S150613. If not (No), the process proceeds to step S150612. In step S150612, the conclusion feature number is incremented and the process is continued.
  • step S150613 it is checked whether or not the condition feature number is a final condition feature number indicating the last condition feature number. If the condition feature number is the final condition feature number (Yes), the process proceeds to step S150615 to end the process, and if not (No), the process proceeds to step S150614. In step S150614, the conclusion feature number is incremented and the process continues.
  • FIG. 20 is a flowchart showing detailed means of the feature / feature related information management unit 1602. Processing starts from step S160201.
  • step S160202 data is input from the interface unit 18 or the new feature / feature related information confirmation unit 160202.
  • step S160203 it is checked whether the data input in step S160202 is feature / feature related information registration. If the data is feature / feature related information registration (Yes), the process proceeds to step S160205; otherwise (No), the process proceeds to step S160204.
  • step S160204 it is checked whether the data input in step S160202 is feature / feature related information reading. If the data is feature / feature related information reading (Yes), the process proceeds to step S160206; otherwise (No), the process proceeds to step S170207.
  • step S170205 feature / feature related information is registered.
  • step S170206 feature / feature related information is read.
  • step S160207 data is output to the interface unit 18 or the new feature / feature related information confirmation unit 1601.
  • step S160208 the process ends.
  • FIG. 21 shows a confirmation request relation information confirmation screen 1801 in the interface unit 18.
  • FIG. 22 is a request relation information confirmation screen 1802 in the interface unit 18.
  • FIG. 23 is a flowchart showing detailed processing of the management information classification unit 1301. Processing starts from step S130101.
  • step S130102 data is input from the interface unit 18, the product information management unit 1302, the feature information management unit 1303, or the product / feature information management unit 1304.
  • step S130103 it is checked whether the data input in step S130102 is product information. If the data is product information (Yes), the process proceeds to step S130106; otherwise (No), the process proceeds to step S130104.
  • step S130104 it is checked whether the data input in step S130102 is feature information. If the data is feature information (Yes), the process proceeds to step S130107. If not (No), the process proceeds to step S130105.
  • step S130105 it is checked whether the data input in step S130102 is product / feature information. If the data is product / feature information (Yes), the process proceeds to step S130108; otherwise (No), the process proceeds to step S130109.
  • step S130106 the data input in step S130102 is output to the product information management unit 1302.
  • step S130107 the data input in step S130102 is output to the product information management unit 1303.
  • step S130108 the data input in step S130102 is output to the product / feature information management unit 1304.
  • step S130109 it is checked whether there is information to be output to the interface unit 18 in the data input in step S130102. If there is data to be output to the interface unit 18 (Yes), the process proceeds to step S130110. If not (No), the process proceeds to step S130111 and the process is terminated.
  • step S130110 the data input in step S130102 is output to the interface unit 18.
  • FIG. 24 is a flowchart showing detailed processing of the product information management unit 1302. Processing starts from step S130201.
  • step S130202 data is input from the management information classification unit 1301.
  • step S130203 it is checked whether the data input in step S130202 is registration of product information. If the data is registration of product information (Yes), the process proceeds to step S130205. If not (No), the process proceeds to step S130204.
  • step S130204 it is checked whether the data input in step S130202 is reading of product information. If the data is reading of product information (Yes), the process proceeds to step S130206. If not (No), the process proceeds to step S130207.
  • step S130205 the product information input in step S130202 is registered in the product information database 11.
  • step S130206 data in the product information database 11 is read.
  • step S130207 the result of step S130205 or step S130206 is output to the management information classification unit.
  • step S130208 the process ends.
  • FIG. 25 is a flowchart showing detailed processing of the feature information management unit 1303. Processing starts from step S130301.
  • step S130302 data is input from the management information classification unit 1301.
  • step S130303 it is checked whether the data input in step S130302 is registration of feature information. If the data is registration of feature information (Yes), the process proceeds to step S130305. If not (No), the process proceeds to step S130304.
  • step S130304 it is checked whether the data input in step S130302 is reading of feature information. If the data is reading of feature information (Yes), the process proceeds to step S130306. If not (No), the process proceeds to step S130307.
  • step S130305 the feature information input in step S130302 is registered in the feature information database 12.
  • step S130306 the data of the feature information database 12 is read.
  • step S130307 the result of step S130305 or step S130306 is output to the management information classification unit.
  • step S130308 the process ends.
  • FIG. 26 is a flowchart showing detailed processing of the product / feature related information management unit 1304. Processing starts from step S130401. In step S130402, data is input from the management information classification unit 1301. In step S130403, it is checked whether the data input in step S130402 is registration of product / feature related information. If the data is registration of product / feature related information (Yes), the process proceeds to step S130405. If not (No), the process proceeds to step S130404. In step S130404, it is checked whether the data input in step S130402 is reading of product / feature related information. If the data is reading of product / feature related information (Yes), the process proceeds to step S130406. If not (No), the process proceeds to step S130407.
  • step S130405 the product / feature related information input in step S130402 is registered in the product / feature related information database 14.
  • step S130406 the data of the product / feature related information database 14 is read.
  • step S130407 the result of step S10405 or step S130406 is output to the management information classification unit.
  • step S130408 the process ends.
  • FIG. 27 is a diagram 1202 showing feature information in the feature information database 12.
  • FIG. 1201 representing feature information
  • FIG. 1201 representing feature information
  • FIG. 28 is a diagram illustrating an example of an elevator feature model. Dotted arrows are the dependencies extracted by this automatic analysis. In the conventional technology, the dependency is extracted only for the parent-child relationship in the upper and lower hierarchies. However, in the present technology, as shown in FIG. 28, the dependency between features having different hierarchies and series can be extracted. .
  • FIG. 29 is a new product development screen by feature selection.
  • Developer 2 develops a product that satisfies the requirements by selecting features.
  • there has been a feature selection mistake such as overlooking a necessary feature when selecting a feature or selecting a feature that cannot coexist.
  • the requested feature can be automatically selected from the selected features.
  • the figure shows a screen in which the F10 multi-beam door sensor is automatically selected when the F08 wheelchair combined elevator specification is selected.
  • FIG. 30 is a diagram showing an example in which a caution recommendation is displayed on the new product development screen by feature selection. Although the F08 wheelchair / elevator specification is selected, the F10 multi-beam door sensor check box has been removed, so the caution is recommended. As described above, when feature selection is performed against the dependency relationship between features, it is possible to reduce feature selection mistakes by performing caution recommendation.
  • the present invention is also effective in an automobile and a construction machine in the same manner as an elevator, and that the description of the present invention using an example in which the present invention is applied to an elevator does not limit the scope of the claimed invention to an elevator.
  • the present invention can be applied to product line type development having a plurality of existing products.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

 既存プロダクトにおけるフィーチャの使用状況に基づいてフィーチャ/フィーチャ間の依存関係を分析し、分析結果を利用することでプロダクトライン型開発を支援する。 フィーチャ/フィーチャ関連付け手段15は、プロダクト/フィーチャ関連情報データベース14に基づいて既存プロダクトにおけるフィーチャ/フィーチャ間の依存関係を分析する。関連情報管理部16はフィーチャ/フィーチャ間の依存関係分析結果とフィーチャ/フィーチャ関連情報データベース17に保存されている既存情報とを比較し、インターフェース部18とフィーチャ/フィーチャ関連情報データベースに出力する。開発者は容易に分析結果を参照することができる。

Description

プロダクトライン型開発支援装置
 本発明は、複数の部品で構成されているプロダクトにおける、プロダクトライン型開発を支援するプロダクトライン型開発支援装置に関する。
 プロダクトの開発初期段階においては対象プロダクトごとに開発を行ったり、類似のプロダクトに基づいて差分を開発行ったりする。しかし、プロダクトが成熟期に入り顧客要望が個別化するにつれ派生プロダクト数が増大し、開発効率の大規模な向上が要求されるようになる。そのため、派生プロダクトの開発効率の向上を目的として、プロダクトライン型開発へと開発方式が移行される。
 プロダクトライン型開発はソフトウェア開発においても適用されている。ここで、ソフトウェア開発におけるプロダクトライン型開発はソフトウェアプロダクトライン開発と呼ばれ、プロダクトとはコンピュータを動作させる手順及び命令をコンピュータが理解できる形式で記述したソフトウェアを指す。
 ソフトウェアプロダクトライン開発の適用対象として、エレベータ,自動車,携帯電話,建設機械等の機器に組み込んで対象を制御する、いわゆる組込みソフトウェアがある。このような組込みソフトウェアによる制御は、従来の機械的機構や電気回路による方式に比べて柔軟かつ高度な制御が実現できること、ソフトウェアの変更によって多くの派生プロダクトを開発できることが利点として挙げられる。
 プロダクトライン型開発においては一般に、派生プロダクトに必要なフィーチャを開発者が選択することによってプロダクト開発を行う。そのため、開発者はフィーチャの適切な理解のもとに開発時にフィーチャ選択を行う必要がある。また、開発者は正確なフィーチャモデル作成のために、既存プロダクトからフィーチャを抽出したり、フィーチャ/フィーチャ間の依存関係を抽出したりする必要がある。ここで、ソフトウェアプロダクトライン型開発におけるフィーチャとは、システムの、末端利用者から可視な特徴のことである(非特許文献1参照)。
 例えば、フィーチャ情報を正確に管理するため、ソフトウェア部品の管理装置として、既存プロダクトにおけるプロダクト情報,フィーチャ情報,プロダクト/フィーチャ関連情報をそれぞれ管理し、該情報のうち少なくとも1つの情報を更新または変更した場合、更新または変更した情報と関係あるプロダクト情報,フィーチャ情報,プロダクト/フィーチャ関連情報を自動で検出して、変更を反映すると共にユーザに通知する技術が開示されている(特許文献1参照)。
 また、適切なフィーチャモデルの作成を支援するため、個々のフィーチャ情報とフィーチャ/フィーチャ間の親子関係を示すフィーチャ/フィーチャ関連情報とを含むフィーチャモデル情報と、それぞれのフィーチャに付加するタグ情報とを用いて、適切なフィーチャモデルを作成する技術が開示されている(特許文献2参照)。
 また、既存プロダクトから適切なフィーチャを抽出するため、ソフトウェアプロダクト系列の可変性を分析するソフトウェアプロダクト系列分析装置として、既存プロダクトで使用されたフィーチャの変更履歴データを数値化し、プロダクト間のフィーチャ変更情報の因子分析を行うことで、既存プロダクトからフィーチャとなる変動部を自動で分析し、抽出する技術が開示されている(特許文献3参照)。
特開2009-53951号公報 特開2009-245177号公報 特開2009-86791号公報
K. Pohl、G. Bockle、and F. Linden. Software product line engineering. Springer-Verlag(2005)(クラウス・ポール、ギュンダー・ベックレ、フランク・リンデン、林好一、吉村健太郎、今関剛(訳)ソフトウェアプロダクトラインエンジニアリングp.p. 97(2009))
 例として、プロダクトライン開発の一形態であるソフトウェアプロダクトライン開発を用いて課題を述べる。
 ソフトウェアプロダクトライン開発において、ソフトウェア部品の再利用性及びプロダクトの開発効率の向上のため、ソフトウェア開発者にはフィーチャの適切な理解が必要とされる。ここで、フィーチャの適切な理解とは、個々のフィーチャの内容理解とフィーチャ間における依存関係の理解を指す。しかしながら、フィーチャを適切に理解してプロダクト開発に用いるには、熟練者の経験に頼る部分が大きく、属人性によるという課題がある。
 また、多くの派生プロダクトを持つようなプロダクトラインでは既にフィーチャの数が膨大なものになっているため、人手でフィーチャ間の依存関係を解析することは容易ではないという課題がある。
 上記課題を解決するため、特許文献1に示すように、開発済みのソフトウェア部品のデータベースを設け、フィーチャ情報及びプロダクト/フィーチャ情報を管理し、参照できる技術が開示されている。しかしながら、フィーチャ/フィーチャ間の依存関係情報を管理し、参照するといった点については考慮されていない。
 また、特許文献2では親子関係を示すフィーチャ間の関連情報を利用することにより、適切なフィーチャモデルの作成をする技術と、フィーチャにタグ情報を付加することで適切なフィーチャモデルの作成を行う技術が開示されている。しかしながら、親子関係以外の関係にあるフィーチャ間の依存関係を抽出するという点については考慮されていない。また、フィーチャに付加するタグ情報を正確に決定することは一般的に難しく、タグ付けを行う者のノウハウに頼る部分が多いため、属人性が排除されたフィーチャ間の依存関係抽出という点については考慮されていない。
 また、特許文献3ではプロダクト間でのソフトウェアの可変性を反映したソフトウェア部品のグループを自動で分析することにより、フィーチャとなる部分を抽出する技術が開示されている。しかしながら、本技術はソフトウェアにおけるフィーチャを自動抽出することにとどまっており、フィーチャ/フィーチャ間の依存関係情報の抽出については考慮されていない。
 本発明は上記課題を解決するため、膨大なフィーチャの組合せに対し属人性を排除した自動分析を行うことで、適切なフィーチャ間の依存関係を抽出すること、また、開発者がフィーチャ間の依存関係を容易に利用できることによって、プロダクト開発におけるフィーチャ選択から属人性を排除することを目的とする。
 上記課題を達成するために、本発明は複数の既存プロダクトのプロダクト情報を蓄積したプロダクト情報データベースと、前記既存プロダクトで用いられたフィーチャ情報を蓄積したフィーチャ情報データベースと、前記フィーチャ情報を、各プロダクトに関連付けしたプロダクト/フィーチャ関連情報を蓄積したプロダクト/フィーチャ関連情報データベースと、前記プロダクト情報と前記フィーチャ情報と前記プロダクト/フィーチャ関連情報とを分類し、管理する情報管理部と、で構成されるプロダクトライン型開発支援装置において、前記プロダクト/フィーチャ関連情報を入力とし、フィーチャ/フィーチャ間における依存関係を分析し関連付けるフィーチャ/フィーチャ関連付け手段と、前記フィーチャ/フィーチャ関連付け手段によって関連付けられたフィーチャ/フィーチャ関連情報を蓄積するフィーチャ/フィーチャ関連情報データベースと、前記フィーチャ/フィーチャ関連情報を登録し、管理する関連情報管理部と、を備えたことを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトとは、コンピュータを動作させる手順及び命令をコンピュータが理解できる形式で記述したソフトウェアであることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、前記ソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ/フィーチャ関連付け手段は、全プロダクトに対する、第1のフィーチャを使用しているプロダクトであって第1のフィーチャとは別の第2のフィーチャも使用しているプロダクトの比率である支持度を求め、フィーチャ/フィーチャ間における依存関係分析の評価指標として用いることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ/フィーチャ関連付け手段は、第1のフィーチャを使用しているすべてのプロダクトに対する、第1のフィーチャを使用しているプロダクトであって第1のフィーチャとは別の第2のフィーチャも使用しているプロダクトの比率である信頼度を求め、フィーチャ/フィーチャ間における依存関係分析の評価指標として用いることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ/フィーチャ関連付け手段は、第1のフィーチャと第2のフィーチャにおいて、第2のフィーチャを使用しているプロダクトに対する、全プロダクトの比率に、前記請求項3で求められる信頼度を掛け合わせた値であるリフト値を求め、フィーチャ/フィーチャ間における依存関係分析の評価指標として用いることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャ/フィーチャ関連付け手段は、少なくとも支持度,信頼度,リフト値の何れか一つの評価指標に対して、閾値を設定し比較することでフィーチャ/フィーチャ間の依存関係の有無を決定することを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記関連情報管理部は、前記フィーチャ/フィーチャ関連付け手段によって関連付けられたフィーチャ/フィーチャ関連情報を入力とし、前記フィーチャ/フィーチャ関連情報データベースに蓄積されている既存のフィーチャ/フィーチャ関連情報と比較することで、新規フィーチャ/フィーチャ関連情報の有無を確認する新規フィーチャ/フィーチャ関連情報確認部と、新規フィーチャ/フィーチャ関連情報を登録し、管理するフィーチャ/フィーチャ関連情報管理部と、を備えたことを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトライン型開発支援装置は、前記フィーチャ/フィーチャ関連付け手段によって関連付けられたフィーチャ/フィーチャ関連情報と共に、少なくとも請求項4から6記載の支持度,信頼度,リフト値の何れか一つの評価指標を開発者に対して表示するインターフェース部を備えたことを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトライン型開発支援装置は、開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ/フィーチャ関連情報に基づき、フィーチャ間の依存関係を自動で反映することを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記プロダクトライン型開発支援装置は、開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ/フィーチャ関連情報に基づき、フィーチャの組合せが適当でないと判断した場合、開発者に対して注意喚起を示すことを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、自動車におけるソフトウェア開発においてはクルーズ制御,エンジン制御,ブレーキ制御,速度制御,車間距離制御,先行車認識,レーザーレーダ,ミリ波レーダ,カメラ,エアバッグ,ABS機能,キーレスエントリーシステム,トラクションコントロール,ライト制御,シートベルト制御を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、エレベータにおけるソフトウェア開発においては両側セーフティシュー,マルチビームドアセンサ,ドアシグナル付きマルチビームドアセンサ,車いす兼用エレベータ仕様,視覚障害者対応仕様,セキュリティシステム,防犯カメラ,単独自動運転,群管理運転,VIP運転,自動救出運転,かご照明および換気扇の自動休止,かご行先階ボタンのいたずら登録キャンセル機能,反転時呼び一括キャンセル機能,過負荷検出装置,戸開き時間延長ボタンを制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。
 更に、本発明はプロダクトライン型開発支援装置において、前記フィーチャとは、建設機械におけるソフトウェア開発においてはエンジン制御,ブレーキ制御,速度制御,旋回制御,起伏微速制御,トラクションコントロール,ライト制御,ドア制御,油圧センサ,空気圧センサ,無限起動制御,自己診断機能,過巻防止機能,ショベル制御,モニターパネル制御,警報器を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするものである。
 本発明は、既存プロダクトで使用されているフィーチャ情報を基にフィーチャ/フィーチャ間の依存関係を数値化し分析することで、組合せが数千パターンに及ぶフィーチャ/フィーチャ間の依存関係であっても手動ではなく自動で容易に分析することが可能となる。また、自動分析したフィーチャ/フィーチャ間の依存関係情報を開発者が利用することが可能なため、プロダクト開発におけるフィーチャ選択時に依存関係にあるフィーチャを自動選択することができる。同様にフィーチャ/フィーチャ間の依存関係情報より、開発者が共存不可能なフィーチャの組合せを用いた場合に注意勧告をすることができる。このことによりプロダクト開発時における属人性の排除と共に、仕様設計ミスを減らすことができ、開発効率の向上につながる。結果プロダクトの開発サイクルを早めることが可能となる。
プロダクトライン型開発支援装置の構成を示している。 既存プロダクトのプロダクト情報を示している。 既存プロダクトに用いられている、フィーチャ情報を示している。 情報管理部の構成を示している。 既存プロダクトとフィーチャとの使用/不使用の情報を示している。 フィーチャ/フィーチャ関連付け手段の構成を示している。 支持度算出手段の処理の流れを示すフローチャートである。 支持度の算出結果を示している。 信頼度算出手段の処理の流れを示すフローチャートである。 信頼度の算出結果を示している。 単独支持度算出手段の処理の流れを示すフローチャートである。 単独支持度の算出結果を示している。 リフト値算出手段の処理の流れを示すフローチャートである。 リフト値の算出結果を示している。 閾値入力画面を示している。 依存関係分析手段の処理の流れを示すフローチャートである。 依存関係の分析結果を示している。 関連情報管理部の構成を示している。 新規フィーチャ/フィーチャ関連情報確認手段の処理の流れを示すフローチャートである。 フィーチャ/フィーチャ関連情報管理部の処理の流れを示すフローチャートである。 確定要求関係確認画面を示している。 要求関係確認情報を示している。 管理情報分類部の処理の流れを示している。 プロダクト情報管理部の処理の流れを示すフローチャートである。 フィーチャ情報管理部の処理の流れを示すフローチャートである。 プロダクト/フィーチャ情報管理部の処理の流れを示すフローチャートである。 フィーチャ/フィーチャ情報関連付け手段の結果を示すフィーチャ情報を示している。 フィーチャ/フィーチャ情報関連付け手段の結果を示すフィーチャツリーを示している。 プロダクト仕様フィーチャを選択する画面を示している。 プロダクト仕様フィーチャを選択する画面で注意勧告を受けた状態を示している。
 以下に本発明の一実施の形態によるソフトウェア開発支援装置について図面を参照しつつ説明を行う。
 図1は、本発明の形態によるプロダクトライン型開発支援装置のシステム構成例の概要を示す図である。図1に示すように、本実施の形態によるプロダクトライン型開発支援装置はプロダクト情報データベース11と、フィーチャ情報データベース12と、情報管理部13と、プロダクト/フィーチャ関連情報データベース14と、フィーチャ/フィーチャ関連付け手段15と、関連情報管理部16と、フィーチャ/フィーチャ関連情報データベース17と、インターフェース部18とを備えている。
 プロダクト情報データベース11は、プロダクト情報を蓄積したデータベースである。プロダクト情報とは、プロダクトIDやモデル名,プロダクトグループ,プロダクト開始時間,プロダクト終了時間,使用フィーチャIDである。
 フィーチャ情報データベース12は、ソフトウェアの動作を切り替える定数又は定義されたマクロであるフィーチャを蓄積したデータベースである。フィーチャ情報とは、フィーチャID,フィーチャ名,親フィーチャ,親フィーチャとの関係,代替関係フィーチャ,要求関係フィーチャ,フィーチャ開始期間,フィーチャ終了期間である。
 情報管理部13は、プロダクト情報データベース11に蓄積されたプロダクト情報,フィーチャ情報データベース12に蓄積されたフィーチャ情報,プロダクト/フィーチャ関連情報データベース14に蓄積されたプロダクト/フィーチャ関連情報の各情報を分類・管理する。
 プロダクト/フィーチャ関連情報データベース14は、プロダクトとフィーチャを関連付けしたプロダクト/フィーチャ関連情報を蓄積するデータベースである。プロダクトとフィーチャを関連付けした情報とは、各プロダクトにおける各フィーチャの使用状況の情報である。
 フィーチャ/フィーチャ関連付け手段15は、前記プロダクト/フィーチャ関連情報を入力とし、プロダクトにおけるフィーチャの使用状況からそれぞれのフィーチャ/フィーチャ間の依存関係の有無を自動で分析する手段である。
 関連情報管理部16は、前記フィーチャ/フィーチャ関連情報付け手段15によって関連付けられたフィーチャ/フィーチャ関連情報を管理する。
 フィーチャ/フィーチャ関連情報データベ―ス17は、前記関連情報管理部16から入力されたフィーチャ/フィーチャ関連情報を蓄積するデータベ―スである。フィーチャ/フィーチャ関連情報とは、フィーチャ/フィーチャ間に成り立つ要求関係や代替関係情報である。
 インターフェース部18は、例えば開発者2から情報を入力するための画面や通信のインターフェースを提供する。また、インターフェース部18は開発者2からの入力情報を取得し、適宜、情報管理部13,フィーチャ/フィーチャ関連付け手段15,関連情報管理部16のうち少なくとも一つに入力情報を受け渡す。
 以上の構成を備えることによって、既存プロダクトにおけるフィーチャの使用情報に基づいて、フィーチャ/フィーチャ間の依存関係を自動抽出する。例えば、既存プロダクトと使用されているフィーチャ数が数千を超えていた場合、フィーチャ/フィーチャ間の依存関係を人手で解析するには非常に時間がかかる。本実施の形態によるソフトウェア開発支援装置では、フィーチャ/フィーチャ間の依存関係を数値化した指標でもって分析しており、既存プロダクトにおけるフィーチャ/フィーチャ間の関連情報を分析するのに適している。
 また、フィーチャ選択によるプロダクトライン型開発を行う際に、自動抽出されたフィーチャ/フィーチャ間の依存関係を用いることで、フィーチャ選択に応じて自動で要求関係にあるフィーチャを選択することにより、開発者の補助を行うことができる。また、共存不可能なフィーチャの組合せを用いた場合、開発者に対し注意勧告をすることができる。このことから、プロダクトライン型開発における属人性が排除でき、設計ミスを削減することで開発サイクルを早めることが可能となる。
 以降、図面の説明をする。なお、実施例はエレベータにおけるソフトウェアプロダクトライン型開発に適用したものである。
 図2は、プロダクト情報データベース11におけるプロダクト情報を表す図である。プロダクト情報とは、プロダクトIDやモデル名,プロダクトグループ,プロダクト開始時間,プロダクト終了時間,使用フィーチャIDである。
 図3は、フィーチャ情報データベース12におけるフィーチャ情報を表す図である。フィーチャ情報とは、フィーチャID,フィーチャ名,親フィーチャ,親フィーチャとの関係,代替関係フィーチャ,依存関係フィーチャ,フィーチャ開始期間,フィーチャ終了期間である。
 図4は情報管理部13の詳細である。情報管理部13はインターフェース部18からの入力を受けて、管理情報分類部1301において、入力情報がプロダクト情報に関するものか、フィーチャ情報に関するものか、プロダクト/フィーチャ関連情報に関するものか分類する。また分類された情報がプロダクト情報に関するものであればプロダクト情報管理部1302において処理がなされ、フィーチャ情報に関するものであればフィーチャ情報管理部1303において処理され、プロダクト/フィーチャ関連情報に関するものであればプロダクト/フィーチャ関連情報管理部1304において処理される。また、プロダクト情報管理部1302又は、フィーチャ情報管理部1303又は、プロダクト/フィーチャ情報管理部1304からの入力を管理情報分類部1301が受けた場合、インターフェース部18に情報を出力する。このことにより開発者2はインターフェース部18を通してプロダクト情報,フィーチャ情報,プロダクト/フィーチャ関連情報を登録できるだけでなく、各情報の内容を容易に参照することができる。
 図5はプロダクト/フィーチャ関連情報を表す図である。プロダクト/フィーチャ関連情報は、各プロダクトにおける各フィーチャの使用状況の情報である。
 図6はフィーチャ/フィーチャ関連付け手段15の詳細である。フィーチャ/フィーチャ関連付け手段15はプロダクト/フィーチャ関連情報を基に、フィーチャ/フィーチャ間の依存関係を数値解析することによって分析する。具体的には、プロダクト/フィーチャ関連情報データベース14を入力とし、それぞれ支持度算出手段1501によって支持度を算出し、信頼度算出手段1502によって信頼度を算出し、単独支持度算出手段1503によって単独支持度を算出する。また、前記信頼度と前記単独支持度を入力とし、リフト値算出手段1504によってリフト値を算出する。また、閾値取得手段1505によってリフト値,支持度,信頼度それぞれに対する閾値をインターフェース部18から入手する。最後に前記支持度,前記信頼度,前記リフト値,前記閾値を入力とし、依存関係分析手段1506によってフィーチャ/フィーチャ関連情報であるフィーチャ/フィーチャ間の依存関係を分析し、結果を関連情報管理部16に出力する。
 図7は支持度算出手段1501の詳細な処理を示すフローチャート図である。ここで、条件フィーチャは前提となる条件を示すフィーチャであり、結論フィーチャとは条件からの結果に対応するフィーチャである。ステップS150101から処理が開始される。ステップS150102では条件フィーチャ番号の初期化を行う。ステップS150103ではプロダクト番号の初期化を行う。ステップS150104では全プロダクト数をカウントする。ステップS150105では全てのプロダクトのうち、条件フィーチャを使用しているプロダクトを抽出する。ステップS150106では前記ステップS150105で抽出された抽出プロダクトの番号を初期化する。ステップS150107では結論フィーチャ番号を初期化する。ステップS150108では結論フィーチャ使用回数を初期化する。ステップS150109では支持度を初期化する。ステップS150110では現在の結論フィーチャ番号に対応する結論フィーチャが使用されているかどうかをチェックする。使用されている場合(Yes)はステップS150111に進み、そうでない場合(No)はステップS150112に進む。ステップS150111では結論フィーチャ使用回数に1を加算する。ステップS150112ではプロダクト番号がステップS150105で抽出されたプロダクトのうち最後の抽出プロダクトを示す、最終抽出プロダクト番号かどうかをチェックする。抽出プロダクト番号が最終抽出プロダクト番号である場合(Yes)はステップS150114に進み、そうでない場合(No)はステップS150113に進む。ステップS150113では抽出プロダクト番号をインクリメントし、処理を継続する。ステップS150114では結論フィーチャ使用回数を全プロダクト数で除することにより、支持度を算出する。ステップS150115では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合(Yes)ステップS150117に進み、そうでない場合(No)はステップS150116に進む。ステップS150116では結論フィーチャ番号をインクリメントして処理を続ける。ステップS150117では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合(Yes)はステップS150119に進んで処理を終了し、そうでない場合(No)はステップS150118に進む。ステップS150118では条件フィーチャ番号をインクリメントし、処理を続ける。
 図8は支持度算出手段1501により算出された、支持度を表す図150120である。支持度とは、条件フィーチャと結論フィーチャを共に含むプロダクト数を、全プロダクト数で除した値である。支持度とは、条件フィーチャと結論フィーチャを同時に満たすプロダクトが全プロダクトに占める割合を示している。つまり、支持度が高いほど、前提条件である条件フィーチャを使用しているプロダクトであって結論である結論フィーチャをも使用しているプロダクトが多いことを示している。
 図9は信頼度算出手段1502の詳細な処理を示すフローチャート図である。ステップS150201から処理が開始される。ステップS150202では条件フィーチャ番号の初期化を行う。ステップS150203では条件フィーチャを使用しているプロダクトの抽出を行う。ステップS150204では前記ステップS150203で抽出された抽出プロダクト番号を初期化する。ステップS150205では抽出プロダクト数をカウントする。ステップS150206では結論フィーチャ番号を初期化する。ステップS150207では結論フィーチャ使用回数を初期化する。ステップS150208では信頼度を初期化する。ステップS150209では現在の結論フィーチャ番号に対応する結論フィーチャが使用されているかどうかをチェックする。使用されている場合(Yes)はステップS150210に進み、そうでない場合(No)はステップS150211に進む。ステップS150210では結論フィーチャ使用回数に1を加算する。ステップS150211ではプロダクト番号がステップS150203で抽出されたプロダクトのうち最後の抽出プロダクトを示す、最終抽出プロダクト番号かどうかをチェックする。抽出プロダクト番号が最終抽出プロダクト番号である場合(Yes)はステップS150213に進み、そうでない場合(No)はステップS150212に進む。ステップS150212では抽出プロダクト番号をインクリメントし、処理を継続する。ステップS150213では結論フィーチャ使用回数を抽出プロダクト数で除することにより、信頼度を算出する。ステップS150214では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合(Yes)ステップS150216に進み、そうでない場合(No)はステップS150215に進む。ステップS150215では結論フィーチャ番号をインクリメントして処理を続ける。ステップS150216では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合(Yes)はステップS150218に進んで処理を終了し、そうでない場合(No)はステップS150217に進む。ステップS150217では条件フィーチャ番号をインクリメントし、処理を続ける。
 図10は信頼度算出手段1502により算出された、信頼度を表す図150219である。信頼度とは、条件フィーチャと結論フィーチャを共に含むプロダクト数を、条件フィーチャを含むプロダクト数で除した値である。信頼度とは、条件フィーチャが使用されたときに、結論フィーチャが使用される割合を示している。つまり、信頼度が高いほど、前提条件である条件フィーチャと結論である結論フィーチャの結び付きが強いことを意味する。
 図11は単独支持度算出手段1503の詳細な処理を示すフローチャート図である。ステップS150301から処理が開始される。ステップS150302では結論フィーチャ番号の初期化を行う。ステップS150303ではプロダクト番号の初期化を行う。ステップS150304では全プロダクト数をカウントする。ステップS150305では結論フィーチャ使用回数を初期化する。ステップS150306では単独支持度を初期化する。ステップS150307では現在の結論フィーチャ番号に対応する結論フィーチャが使用されているかどうかをチェックする。使用されている場合(Yes)はステップS150308に進み、そうでない場合(No)はステップS150309に進む。ステップS150308では結論フィーチャ使用回数に1を加算する。ステップS150309ではプロダクト番号が全プロダクトのうち最後のプロダクトを示す、最終プロダクト番号かどうかをチェックする。プロダクト番号が最終プロダクト番号である場合(Yes)はステップS150311に進み、そうでない場合(No)はステップS150310に進む。ステップS150210ではプロダクト番号をインクリメントし、処理を継続する。ステップS150311では結論フィーチャ使用回数を全プロダクト数で除することにより、単独支持度を算出する。ステップS150312では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合(Yes)ステップS150314に進んで処理を終了し、そうでない場合(No)はステップS150313に進む。ステップS150313では結論フィーチャ番号をインクリメントし、処理を続ける。
 図12は単独支持度算出手段1503により算出された、単独支持度を表す図150315である。単独支持度とは、結論フィーチャを共に含むプロダクト数を、全プロダクト数で除した値である。単独支持度とは、結論フィーチャを使用しているプロダクトが全プロダクトに占める割合を示している。つまり、単独支持度が高いほど、結論フィーチャを使用しているプロダクトが多いことを示している。
 図13はリフト値算出手段1504の詳細な処理を示すフローチャート図である。ステップS150401から処理が開始される。ステップS150402では条件フィーチャ番号の初期化を行う。ステップS150403では結論フィーチャ番号の初期化を行う。ステップS150404ではリフト値の初期化を行う。ステップS150405では前記フィーチャ/フィーチャ信頼度算出手段1502で算出した信頼度を前記フィーチャ/フィーチャ単独支持度算出手段1503で算出した単独支持度で除することにより、リフト値を算出する。ステップS150406では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合(Yes)ステップS150408に進み、そうでない場合(No)はステップS150407に進む。ステップS150407では結論フィーチャ番号をインクリメントし、処理を続ける。ステップS150408では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合(Yes)はステップS150410に進んで処理を終了し、そうでない場合(No)はステップS150409に進む。ステップS150409では結論フィーチャ番号をインクリメントし、処理を続ける。
 図14はリフト値算出手段1504により算出された、リフト値を表す図150411である。リフト値とは、前記信頼度150219を、条件部を空とした結論フィーチャの支持度である前記単独支持度150315で除した値である。リフト値とは、条件フィーチャと結論フィーチャの独立性を見る指標を示している。つまり、リフト値が低いほど条件フィーチャと結論フィーチャの独立性は高く、依存関係は薄いことを意味する。より具体的に書くと、条件フィーチャを使用しているプロダクト中で結論フィーチャが使用されている確率が95%であったとしても、結論フィーチャ自体が全体のプロダクトの95%で使用されている場合は、条件フィーチャと結論フィーチャに依存関係が存在するとは言えない。この場合、リフト値は低い値を示す。
 図15は閾値算出手段1505からインターフェース部18に出力された閾値入力画面の図150501である。閾値入力画面150501において、開発者2はインターフェース部18を通してリフト値,支持度,信頼度それぞれの値に対して閾値1,閾値2,閾値3の値を入力する。今回の場合、閾値1に1.20、閾値2に0.60、閾値3に0.90の値を用いた。
 図16は依存関係分析手段1506の詳細な処理を示すフローチャート図である。ステップS150601から処理が開始される。ステップS150602では閾値取得手段1505から閾値データの入力を行う。ステップS150603では条件フィーチャ番号の初期化を行う。ステップS150604では結論フィーチャ番号の初期化を行う。ステップS150605では条件フィーチャ番号が結論フィーチャ番号と異なるかどうかをチェックする。条件フィーチャ番号が結論フィーチャ番号と異なる場合(Yes)ステップS150606に進み、そうでない場合(No)ステップS150611に進む。ステップS150606では前記リフト値が閾値1以上かどうかチェックする。リフト値が閾値1より大きい場合(Yes)ステップS150607に進み、そうでない場合(No)ステップS150611に進む。ステップS150607では、前記支持度が閾値2以上かどうかをチェックする。支持度が閾値2より大きい場合(Yes)ステップS150608に進み、そうでない場合(No)ステップS150611に進む。ステップS150608では、前記信頼度が閾値3以上かどうかをチェックする。信頼度が閾値3より大きい場合(Yes)ステップS150609に進み、そうでない場合(No)ステップS150610に進む。ステップS150609ではフィーチャ/フィーチャ間の依存関係を確定要求関係に分類する。ステップS150610ではフィーチャ/フィーチャ間の依存関係を要求関係に分類する。ステップS150611ではフィーチャ/フィーチャ間の依存関係を関係無しに分類する。ステップS150612では結論フィーチャ番号が最後の結論フィーチャを示す最終結論フィーチャ番号であるかどうかチェックする。結論フィーチャ番号が最終結論フィーチャ番号である場合(Yes)ステップS150614に進み、そうでない場合(No)はステップS150613に進む。ステップS150613では結論フィーチャ番号をインクリメントし、処理を続ける。ステップS150614では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合(Yes)はステップS150616に進んで処理を終了し、そうでない場合(No)はステップS150615に進む。ステップS150615では結論フィーチャ番号をインクリメントし、処理を続ける。
 図17は依存関係分析手段1506により分析された、フィーチャ/フィーチャ間の依存関係を示した図150617である。図中の要求関係は、条件フィーチャが選択された場合に要求される結論フィーチャを示している。また、依存関係が要求関係に分類されるか、確定要求関係と分類されるかは閾値取得手段1505で設定した閾値3に依存している。確定要求関係は前期信頼度が高く、依存関係がある確率が限りなく高い。一方要求関係は前期信頼度が低く、偶然の結果であることを考慮に入れなくてはならない。また、‘-’は‘関係無し’を示している。
 図18は関連情報管理部16の詳細である。関連情報管理部16は前期フィーチャ/フィーチャ関連付け手段15からの入力を受けて、新規フィーチャ/フィーチャ関連情報確認手段1601において、入力情報とフィーチャ/フィーチャ関連情報管理部1602を経由して得られるフィーチャ/フィーチャ関連情報データベース17に蓄積してあるデータとの比較を行う。比較した結果、入力情報が新規フィーチャ/フィーチャ関連情報であった場合はインターフェース部18に情報を出力する。一方、フィーチャ/フィーチャ関連情報管理部1602はインターフェース部18又は新規フィーチャ/フィーチャ関連情報確認手段1601からの入力受け、フィーチャ/フィーチャ間の依存関係を登録及び管理する。
 これにより、開発者2はインターフェース部18を通して新規フィーチャ/フィーチャ関連情報を確認して登録するだけでなく、フィーチャ/フィーチャ関連情報を容易に参照することができる。
 図19は新規フィーチャ/フィーチャ関連情報確認手段1601の詳細な処理を表すフローチャートである。ステップS160101から処理が開始される。ステップS160102ではフィーチャ/フィーチャ関連付け手段15からフィーチャ/フィーチャ関連情報データ1を入力する。ステップS160103ではフィーチャ/フィーチャ関連情報管理部1602からフィーチャ/フィーチャ関連情報データ2を入力する。ステップS160104では条件フィーチャ番号を初期化する。ステップS160105では結論フィーチャ番号を初期化する。ステップS160106ではデータ1とデータ2が異なるかどうかをチェックする。データ1とデータ2が異なる場合(Yes)ステップS160107に進み、そうでない場合(No)はステップS160111に進む。ステップS160108ではデータ1が確定要求関係かどうかをチェックする。データ1が確定要求関係である場合(Yes)ステップS160109に進み、そうでない場合(No)ステップS160108に進む。ステップS160108はデータ1が要求関係かどうかをチェックする。データ1が要求関係である場合(Yes)ステップS160110に進み、そうでない場合(No)ステップS160111に進む。ステップS160109ではインターフェース部18に確定要求関係情報の出力を行う。ステップS160110ではインターフェース部18に要求関係情報の出力を行う。ステップS160111では結論フィーチャ番号が最終結論フィーチャ番号である場合(Yes)ステップS150613に進み、そうでない場合(No)はステップS150612に進む。ステップS150612では結論フィーチャ番号をインクリメントし、処理を続ける。ステップS150613では条件フィーチャ番号が最後の条件フィーチャ番号を示す最終条件フィーチャ番号であるかどうかをチェックする。条件フィーチャ番号が最終条件フィーチャ番号である場合(Yes)はステップS150615に進んで処理を終了し、そうでない場合(No)はステップS150614に進む。ステップS150614では結論フィーチャ番号をインクリメントし、処理を続ける。
 図20はフィーチャ/フィーチャ関連情報管理部1602の詳細な手段を表すフローチャートである。ステップS160201から処理が始まる。ステップS160202ではインターフェース部18又は新規フィーチャ/フィーチャ関連情報確認手段160202からデータを入力する。ステップS160203では、ステップS160202で入力されたデータがフィーチャ/フィーチャ関連情報登録であるかどうかチェックする。データがフィーチャ/フィーチャ関連情報登録である場合(Yes)はステップS160205に進み、そうでない場合(No)はステップS160204に進む。ステップS160204ではステップS160202で入力されたデータがフィーチャ/フィーチャ関連情報読み込みであるかどうかチェックする。データがフィーチャ/フィーチャ関連情報読み込みである場合(Yes)はステップS160206に進み、そうでない場合(No)はステップS170207に進む。ステップS170205ではフィーチャ/フィーチャ関連情報の登録を行う。ステップS170206ではフィーチャ/フィーチャ関連情報の読み込みを行う。ステップS160207では、インターフェース部18または新規フィーチャ/フィーチャ関連情報確認手段1601にデータの出力を行う。ステップS160208で処理を終了する。
 図21は、インターフェース部18における確定要求関係情報確認画面1801である。このように、既存プロダクトにおけるプロダクトとフィーチャの関係を統計解析することによって、自動でフィーチャ/フィーチャ間の依存関係が抽出することができる。
 図22は、インターフェース部18における要求関係情報確認画面1802である。
 図23は管理情報分類部1301の詳細な処理を表すフローチャートである。ステップS130101から処理が始まる。ステップS130102ではインターフェース部18又は、プロダクト情報管理部1302又は、フィーチャ情報管理部1303又は、プロダクト/フィーチャ情報管理部1304からデータを入力する。ステップS130103では、ステップS130102で入力されたデータがプロダクト情報であるかどうかをチェックする。データがプロダクト情報である場合(Yes)はステップS130106に進み、そうでない場合(No)はステップS130104に進む。ステップS130104ではステップS130102で入力されたデータがフィーチャ情報であるかどうかをチェックする。データがフィーチャ情報である場合(Yes)はステップS130107に進み、そうでない場合(No)はステップS130105に進む。ステップS130105ではステップS130102で入力されたデータがプロダクト/フィーチャ情報であるかどうかをチェックする。データがプロダクト/フィーチャ情報である場合(Yes)はステップS130108に進み、そうでない場合(No)はステップS130109に進む。ステップS130106ではステップS130102で入力されたデータをプロダクト情報管理部1302に出力する。ステップS130107ではステップS130102で入力されたデータをプロダクト情報管理部1303に出力する。ステップS130108ではステップS130102で入力されたデータをプロダクト/フィーチャ情報管理部1304に出力する。ステップS130109ではステップS130102で入力されたデータにインターフェース部18に出力する情報があるかどうかをチェックする。データにインターフェース部18に出力するデータがある場合(Yes)はステップS130110に進み、そうでない場合(No)はステップS130111に進み処理を終了する。ステップS130110では、ステップS130102で入力されたデータをインターフェース部18へ出力する。
 図24はプロダクト情報管理部1302の詳細な処理を表すフローチャートである。ステップS130201から処理が始まる。ステップS130202では管理情報分類部1301からデータを入力する。ステップS130203ではステップS130202で入力されたデータがプロダクト情報の登録であるかチェックする。データがプロダクト情報の登録である場合(Yes)はステップS130205に進み、そうでない場合(No)はステップS130204に進む。ステップS130204ではステップS130202で入力されたデータがプロダクト情報の読み込みであるかチェックする。データがプロダクト情報の読み込みである場合(Yes)はステップS130206に進み、そうでない場合(No)はステップS130207に進む。ステップS130205ではステップS130202で入力されたプロダクト情報をプロダクト情報データベース11に登録する。ステップS130206ではプロダクト情報データベース11のデータを読み込む。ステップS130207では、ステップS130205又はステップS130206の結果を管理情報分類部に出力する。ステップS130208で処理を終了する。
 図25はフィーチャ情報管理部1303の詳細な処理を表すフローチャートである。ステップS130301から処理が始まる。ステップS130302では管理情報分類部1301からデータを入力する。ステップS130303ではステップS130302で入力されたデータがフィーチャ情報の登録であるかチェックする。データがフィーチャ情報の登録である場合(Yes)はステップS130305に進み、そうでない場合(No)はステップS130304に進む。ステップS130304ではステップS130302で入力されたデータがフィーチャ情報の読み込みであるかチェックする。データがフィーチャ情報の読み込みである場合(Yes)はステップS130306に進み、そうでない場合(No)はステップS130307に進む。ステップS130305ではステップS130302で入力されたフィーチャ情報をフィーチャ情報データベース12に登録する。ステップS130306ではフィーチャ情報データベース12のデータを読み込む。ステップS130307では、ステップS130305又はステップS130306の結果を管理情報分類部に出力する。ステップS130308で処理を終了する。
 図26はプロダクト/フィーチャ関連情報管理部1304の詳細な処理を表すフローチャートである。ステップS130401から処理が始まる。ステップS130402では管理情報分類部1301からデータを入力する。ステップS130403ではステップS130402で入力されたデータがプロダクト/フィーチャ関連情報の登録であるかチェックする。データがプロダクト/フィーチャ関連情報の登録である場合(Yes)はステップS130405に進み、そうでない場合(No)はステップS130404に進む。ステップS130404ではステップS130402で入力されたデータがプロダクト/フィーチャ関連情報の読み込みであるかチェックする。データがプロダクト/フィーチャ関連情報の読み込みである場合(Yes)はステップS130406に進み、そうでない場合(No)はステップS130407に進む。ステップS130405ではステップS130402で入力されたプロダクト/フィーチャ関連情報をプロダクト/フィーチャ関連情報データベース14に登録する。ステップS130406ではプロダクト/フィーチャ関連情報データベース14のデータを読み込む。ステップS130407では、ステップS10405又はステップS130406の結果を管理情報分類部に出力する。ステップS130408で処理を終了する。
 図27はフィーチャ情報データベース12におけるフィーチャ情報を表す図1202である。フィーチャ情報を表す図1201と対比するとわかるように、F08車いす兼用エレベータ仕様を用いた場合、F10マルチビームドアセンサが要求されることが新規情報として追加される。このように、既存プロダクトにおけるフィーチャの使用状況を統計分析することによって、フィーチャ/フィーチャ間の依存関係を抽出することができる。
 図28はエレベータのフィーチャモデルの一例を表す図である。点線矢印が今回の自動分析により抽出された依存関係である。今までの技術では上下階層にある親子関係のみ依存関係の抽出が行われていたのに対し、本技術では図28のように、階層も系列も異なるフィーチャ同士の依存関係も抽出することができる。
 図29はフィーチャ選択による新規プロダクト開発画面である。開発者2はフィーチャを選択することで要求を満たすプロダクトを開発する。従来技術ではフィーチャ選択時に必要なフィーチャを見落としたり、共存不可能なフィーチャを選択したりといったフィーチャ選択ミスがあった。しかし、本技術のように過去プロダクトから抽出した依存関係を用いれば、選択したフィーチャから要求されたフィーチャを自動で選択することができる。図では、F08車いす兼用エレベータ仕様を選択すると、自動的にF10マルチビームドアセンサが選択された画面を示している。
 図30はフィーチャ選択による新規プロダクト開発画面において、注意勧告が表示された例を示す図である。F08車いす兼用エレベータ仕様を選択しているにもかかわらず、F10マルチビームドアセンサのチェックボックスを外したために注意勧告がなされた画面である。このように、フィーチャ間の依存関係に逆らってフィーチャ選択を行った場合、注意勧告を行うことでフィーチャ選択ミスを削減することができる。
 従来フィーチャ選択は熟練者の経験に頼る部分が多かったのに対し、本技術を用いるとフィーチャ間の依存関係をフィーチャ選択時に補助として利用することで、属人性の排除を可能としている。このように、本技術を用いれば仕様設計ミスを減らすことができ、開発効率の向上が可能となる。
 なお、本発明は自動車や建設機械においてもエレベータと同様に有効であり、本発明をエレベータに適用した例を用いて記述したことは、題記の特許請求の範囲をエレベータに限定するものではない。
 本発明は、複数の既存プロダクトを有するプロダクトライン型開発に適用できる。
1 プロダクトライン型開発支援装置
2 開発者
11 プロダクト情報データベース
12 フィーチャ情報データベース
13 情報管理部
14 プロダクト/フィーチャ関連情報データベース
15 フィーチャ/フィーチャ関連付け手段
16 関連情報管理部
17 フィーチャ/フィーチャ関連情報データベース

Claims (14)

  1.  複数の既存プロダクトのプロダクト情報を蓄積したプロダクト情報データベースと、
     前記既存プロダクトで用いられたフィーチャ情報を蓄積したフィーチャ情報データベースと、
     前記フィーチャ情報を、各プロダクトに関連付けしたプロダクト/フィーチャ関連情報を蓄積したプロダクト/フィーチャ関連情報データベースと、
     前記プロダクト情報と前記フィーチャ情報と前記プロダクト/フィーチャ関連情報とを分類し、管理する情報管理部と、
    で構成されるプロダクトライン型開発支援装置において、
     前記プロダクト/フィーチャ関連情報を入力とし、フィーチャ/フィーチャ間における依存関係を分析し関連付けを行うフィーチャ/フィーチャ関連付け手段と、
     前記フィーチャ/フィーチャ関連付け手段によって関連付けられたフィーチャ/フィーチャ関連情報を蓄積するフィーチャ/フィーチャ関連情報データベースと、
     前記フィーチャ/フィーチャ関連情報を登録し、管理する関連情報管理部と、
    を備えたことを特徴としたプロダクトライン型開発支援装置。
  2.  請求項1のプロダクトライン型開発支援装置において、
     前記プロダクトとは、コンピュータを動作させる手順及び命令をコンピュータが理解できる形式で記述したソフトウェアであることを特徴とするプロダクトライン型開発支援装置。
  3.  請求項2のプロダクトライン型開発支援装置において、
     前記フィーチャとは、前記ソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
  4.  請求項1から請求項3のうちの1つのプロダクトライン型開発支援装置において、
     前記フィーチャ/フィーチャ関連付け手段は、全プロダクトに対する、第1のフィーチャを使用しているプロダクトであって第1のフィーチャとは別の第2のフィーチャも使用しているプロダクトの比率である支持度を求め、フィーチャ/フィーチャ間における依存関係分析の評価指標として用いることを特徴とするプロダクトライン型開発支援装置。
  5.  請求項1から請求項3のうちの1つのプロダクトライン型開発支援装置において、
     前記フィーチャ/フィーチャ関連付け手段は、第1のフィーチャを使用しているすべてのプロダクトに対する、第1のフィーチャを使用しているプロダクトであって第1のフィーチャとは別の第2のフィーチャも使用しているプロダクトの比率である信頼度を求め、フィーチャ/フィーチャ間における依存関係分析の評価指標として用いることを特徴とするプロダクトライン型開発支援装置。
  6.  請求項1から請求項3のうちの1つのプロダクトライン型開発支援装置において、
     前記フィーチャ/フィーチャ関連付け手段は、第1のフィーチャと第2のフィーチャにおいて、第2のフィーチャを使用しているプロダクトに対する、全プロダクトの比率に、前記請求項3で求められる信頼度を掛け合わせた値であるリフト値を求め、フィーチャ/フィーチャ間における依存関係分析の評価指標として用いることを特徴とするプロダクトライン型開発支援装置。
  7.  請求項4から請求項6のうちの1つのプロダクトライン型開発支援装置において、
     前記フィーチャ/フィーチャ関連付け手段は、少なくとも請求項4から6記載の支持度,信頼度,リフト値の何れか一つの評価指標に対して、閾値を設定し比較することでフィーチャ/フィーチャ間の依存関係の有無を決定することを特徴とするプロダクトライン型開発支援装置。
  8.  請求項1のプロダクトライン型開発支援装置において、
     前記関連情報管理部は、
     前記フィーチャ/フィーチャ関連付け手段によって関連付けられたフィーチャ/フィーチャ関連情報を入力とし、前記フィーチャ/フィーチャ関連情報データベースに蓄積されている既存のフィーチャ/フィーチャ関連情報と比較することで、新規フィーチャ/フィーチャ関連情報の有無を確認する新規フィーチャ/フィーチャ関連情報確認部と、
     新規フィーチャ/フィーチャ関連情報を登録し、管理するフィーチャ/フィーチャ関連情報管理部と、
    を有することを特徴とするプロダクトライン型開発支援装置。
  9.  請求項4から請求項7のうちの1つのプロダクトライン型開発支援装置において、
     前記プロダクトライン型開発支援装置は、
     前記フィーチャ/フィーチャ関連付け手段によって関連付けられたフィーチャ/フィーチャ関連情報と共に、少なくとも請求項4から6記載の支持度,信頼度,リフト値の何れか一つの評価指標を開発者に対して表示するインターフェース部を有することを特徴とするプロダクトライン型開発支援装置。
  10.  請求項1から請求項7、又は請求項9のうちの1つのプロダクトライン型開発支援装置において、
     前記プロダクトライン型開発支援装置は、
     開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ/フィーチャ関連情報に基づき、フィーチャ間の依存関係を自動で反映することを特徴とするプロダクトライン型開発支援装置。
  11.  請求項1から請求項7、又は請求項9のうちの1つのプロダクトライン型開発支援装置において、
     前記プロダクトライン型開発支援装置は、
     開発者がフィーチャ情報を基にプロダクト開発を行う際、前記フィーチャ/フィーチャ関連情報に基づき、フィーチャの組合せが適当でないと判断した場合、開発者に対して注意喚起を示すことを特徴とするプロダクトライン型開発支援装置。
  12.  請求項1から請求項7、又は請求項9から請求項11のうちの1つのプロダクトライン型開発支援装置において、前記フィーチャとは、自動車におけるソフトウェア開発においてはクルーズ制御,エンジン制御,ブレーキ制御,速度制御,車間距離制御,先行車認識,レーザーレーダ,ミリ波レーダ,カメラ,エアバッグ,ABS機能,キーレスエントリーシステム,トラクションコントロール,ライト制御,シートベルト制御を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
  13.  請求項1から請求項7、又は請求項9から請求項11のうちの1つのプロダクトライン型開発支援装置において、
     前記フィーチャとは、エレベータにおけるソフトウェア開発においては両側セーフティシュー,マルチビームドアセンサ,ドアシグナル付きマルチビームドアセンサ,車いす兼用エレベータ仕様,視覚障害者対応仕様,セキュリティシステム,防犯カメラ,単独自動運転,群管理運転,VIP運転,自動救出運転,かご照明および換気扇の自動休止,かご行先階ボタンのいたずら登録キャンセル機能,反転時呼び一括キャンセル機能,過負荷検出装置,戸開き時間延長ボタンを制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
  14.  請求項1から請求項7、又は請求項9から請求項11のうちの1つのプロダクトライン型開発支援装置において、
     前記フィーチャとは、建設機械におけるソフトウェア開発においてはエンジン制御,ブレーキ制御,速度制御,旋回制御,起伏微速制御,トラクションコントロール,ライト制御,ドア制御,油圧センサ,空気圧センサ,無限起動制御,自己診断機能,過巻防止機能,ショベル制御,モニターパネル制御,警報器を制御するソフトウェアの動作を切り替える定数又は定義されたマクロであることを特徴とするプロダクトライン型開発支援装置。
PCT/JP2010/000806 2010-02-10 2010-02-10 プロダクトライン型開発支援装置 WO2011099053A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112010005249T DE112010005249T5 (de) 2010-02-10 2010-02-10 Vorrichtung zur Unterstützung von Produktlinientypen-Entwicklung
US13/577,943 US20120317119A1 (en) 2010-02-10 2010-02-10 Product Line Type Development Supporting Device
PCT/JP2010/000806 WO2011099053A1 (ja) 2010-02-10 2010-02-10 プロダクトライン型開発支援装置
JP2011553611A JPWO2011099053A1 (ja) 2010-02-10 2010-02-10 プロダクトライン型開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/000806 WO2011099053A1 (ja) 2010-02-10 2010-02-10 プロダクトライン型開発支援装置

Publications (1)

Publication Number Publication Date
WO2011099053A1 true WO2011099053A1 (ja) 2011-08-18

Family

ID=44367367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000806 WO2011099053A1 (ja) 2010-02-10 2010-02-10 プロダクトライン型開発支援装置

Country Status (4)

Country Link
US (1) US20120317119A1 (ja)
JP (1) JPWO2011099053A1 (ja)
DE (1) DE112010005249T5 (ja)
WO (1) WO2011099053A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097549A1 (en) 2016-11-24 2018-05-31 Samsung Electronics Co., Ltd. Method for processing various inputs, and electronic device and server for the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949785B2 (en) * 2015-01-28 2021-03-16 Micro Focus Llc Product portfolio rationalization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110892A (ja) * 1994-09-19 1996-04-30 At & T Corp システム構成装置
JP2009053951A (ja) * 2007-08-27 2009-03-12 Toshiba Corp ソフトウェア開発情報管理装置及びプログラム
JP2009245177A (ja) * 2008-03-31 2009-10-22 Toshiba Solutions Corp フィーチャーモデル作成支援装置及びプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807518B1 (en) * 2000-04-13 2004-10-19 Ford Motor Company Method for analyzing product information
JP2002108652A (ja) * 2000-09-29 2002-04-12 Denso Corp プログラムの相関関係検出装置
US20040205692A1 (en) * 2001-01-12 2004-10-14 Robinson Marck R. Method and system for creating reusable software components through a uniform interface
US7533026B2 (en) * 2002-04-12 2009-05-12 International Business Machines Corporation Facilitating management of service elements usable in providing information technology service offerings
US6986123B2 (en) * 2002-06-28 2006-01-10 Microsoft Corporation Extensible on-demand property system
US7409676B2 (en) * 2003-10-20 2008-08-05 International Business Machines Corporation Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
JP2005135187A (ja) * 2003-10-30 2005-05-26 Toshiba Corp 電子機器および組み込みソフトウェア更新方法
KR100575581B1 (ko) * 2004-12-15 2006-05-03 한국전자통신연구원 우선순위 그래프를 이용한 제품 계열의 기능 분석 및테스팅 경로 분석 장치 및 그 방법
JP2006244422A (ja) * 2005-03-07 2006-09-14 Nec Corp ネットワークを利用した、システムパラメータの自動チューニング方法
JP2007095027A (ja) * 2005-08-29 2007-04-12 Hitachi Ltd ソフトウエア開発方法
JP4882498B2 (ja) * 2006-05-10 2012-02-22 日本電気株式会社 運用管理装置および運用管理方法ならびにプログラム
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US8051028B2 (en) * 2007-05-31 2011-11-01 Symantec Corporation Method and apparatus for generating configuration rules for computing entities within a computing environment using association rule mining
JP2009086791A (ja) 2007-09-28 2009-04-23 Hitachi Ltd ソフトウェア製品系列分析装置
US9477462B2 (en) * 2008-01-16 2016-10-25 Oracle International Corporation System and method for software product versioning packaging, distribution, and patching
JP2009176045A (ja) * 2008-01-24 2009-08-06 Nippon Telegr & Teleph Corp <Ntt> 行動情報検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
JP5284685B2 (ja) * 2008-05-16 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイルの再配置装置、再配置方法、及び再配置プログラム
US20110041119A1 (en) * 2009-08-13 2011-02-17 Presland Mark D Storing z/os product tag information within z/os load module datasets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110892A (ja) * 1994-09-19 1996-04-30 At & T Corp システム構成装置
JP2009053951A (ja) * 2007-08-27 2009-03-12 Toshiba Corp ソフトウェア開発情報管理装置及びプログラム
JP2009245177A (ja) * 2008-03-31 2009-10-22 Toshiba Solutions Corp フィーチャーモデル作成支援装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UNO ET AL.: "Goal Graph kara no Feature Model Doshutsu", INFORMATION PROCESSING SOCIETY OF JAPAN KENKYU HOKOKU, vol. 2009, no. 31, 11 March 2009 (2009-03-11), pages 1 - 8 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097549A1 (en) 2016-11-24 2018-05-31 Samsung Electronics Co., Ltd. Method for processing various inputs, and electronic device and server for the same

Also Published As

Publication number Publication date
US20120317119A1 (en) 2012-12-13
DE112010005249T5 (de) 2013-05-02
JPWO2011099053A1 (ja) 2013-06-13

Similar Documents

Publication Publication Date Title
WO2021098634A1 (en) Non-intrusive data analytics system for adaptive intelligent condition monitoring of lifts
US20170132117A1 (en) Method and device for generating test cases for autonomous vehicles
JP2017162438A (ja) 危険予測方法
US20100049379A1 (en) Method and device for assisting in the diagnostic and in the dispatch decision of an aircraft
WO2012011145A1 (ja) ソフトウェア保守支援装置及びそれにより検証した電子制御装置
EP3605433A1 (en) Information processing device, information processing system, information processing method, and program
CN108689262B (zh) 乘客发起的动态电梯服务请求
US20210056774A1 (en) Information processing method and information processing system
CN112771535A (zh) 用于分析传感器数据流的方法和设备以及用于驾驶车辆的方法
CN101196733B (zh) 用于确定处理系统中告警根本原因的方法和系统
US20240087371A1 (en) Information processing method and information processing system
WO2011099053A1 (ja) プロダクトライン型開発支援装置
CN104428164A (zh) 控制逻辑分析器和控制逻辑分析方法
JP7405335B2 (ja) 自動運転車両の検出方法、装置、電子機器及び読み取り可能な記憶媒体
US20210049625A1 (en) System and method for using vehicle data for future vehicle designs
EP2977724B1 (en) Map information creation device, information presentation device, map information creation method and information provision method
JP7204824B2 (ja) 制御支援システム、プログラム及び制御支援方法
CN112149790A (zh) 用于检查人工神经网络的鲁棒性的方法和设备
US11007848B2 (en) Information processing method
CN107463138B (zh) 一种智能显示自动监控系统车辆状态的方法
CN110894036B (zh) 电梯系统、电梯控制装置和电梯控制方法
US20210319462A1 (en) System and method for model based product development forecasting
Kwakkernaat et al. Layer-based multi-sensor fusion architecture for cooperative and automated driving application development
JP2008267765A (ja) 遠隔管理装置
EP3832454A1 (en) Development process for an automotive product

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10845659

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011553611

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13577943

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1120100052492

Country of ref document: DE

Ref document number: 112010005249

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10845659

Country of ref document: EP

Kind code of ref document: A1