Abstract: This disclosure relates to methods and systems for providing software components for developing software applications. In one embodiment, a method for providing software components for developing software applications is provided. The method comprises receiving user input requirements associated with the software application; determining a requirements matching score for every software component existing in an application development environment, based on a comparison between the received requirements and a requirements model, wherein the requirements model is generated based on historic user requirements and usage; determining a performance score based on a response time associated with the software components; determining weights corresponding to the requirements matching score and the performance score based on the requirements matching score; determining a combined score based on the determined scores and associated weights; selecting software components for developing the software application based on the determined combined scores; and providing the selected software components to the user. FIG. 1
Claims:WE CLAIM:
1. A method for providing one or more software components for developing a software application, comprising:
receiving, by at least one processor, an input from a user via a user interface, the input including one or more requirements associated with the software application;
determining, by the at least one processor, for each of a plurality of software components existing in an application development environment, a requirements matching score based on a comparison between the one or more requirements and a requirements model associated with the corresponding software component, wherein the requirements model is generated based on historic user requirements and historic usage of the software component;
determining, by the at least one processor, a performance score for each of the plurality of software components based on a response time associated with the corresponding software component;
determining, by the at least one processor, a weight corresponding to the requirements matching score and a weight corresponding to the performance score based on the requirements matching score;
determining, by the at least one processor, a combined score for each of the plurality of software components based on the weight corresponding to the requirements matching score and the weight corresponding to the performance score;
selecting, by the at least one processor, from the plurality of software components, the one or more software components for developing the software application based on the combined score for each of the plurality of software components; and
providing, by the at least one processor, the one or more software components to the user via the user interface.
2. The method of claim 1, further comprising:
determining a success rate score for each of the plurality of software components based on a rate of the corresponding software component being called and completed;
determining a weight corresponding to the success rate score based on the requirements matching score; and
determining a combined score for each of the plurality of software components based on the weight corresponding to the requirements matching score, the weight corresponding to the performance score, and the weight corresponding to the success rate score.
3. The method of claim 1, further comprising:
determining a functional and technical match score for each of the plurality of software components based on the input and a metadata repository, the metadata repository including metadata for each of the plurality of software components;
determining a weight corresponding to functional and technical match score based on the requirements matching score; and
determining a combined score for each of the plurality of software components based on the weight corresponding to the requirements matching score, the weight corresponding to the performance score, and the weight corresponding to the functional and technical match score.
4. The method of claim 3, wherein the input includes one or more words in natural language, and wherein determining the functional and technical match score includes searching the metadata repository for the one or more words using natural language processing.
5. The method of claim 1, further comprising:
determining whether the combined score for each of the plurality of software components is above a predetermined threshold; and
if the combined score is above the predetermined threshold, selecting the corresponding software component for developing the software application.
6. The method of claim 1, further comprising:
receiving a user selection of a first software component among the one or more software components; and
updating the requirements model associated with the first software component based on the user selection.
7. The method of claim 1, further comprising:
determining that a first software component is selected by the user when the first software component is not provided to the user in the user interface in a prior user request for providing software components; and
increasing the requirements matching score for the first software component based on a number of occurrence that the first software component is selected by the user when the first software component is not provided to the user in the user interface in prior user requests for providing software components.
8. The method of claim 1, further comprising generating a data model based on dataset and a type of data model identified in the input.
9. A system for providing one or more software components for developing a software application, comprising:
one or more hardware processors; and
a memory storing instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations including:
receiving an input from a user via a user interface, the input including one or more requirements associated with the software application;
determining, for each of a plurality of software components existing in an application development environment, a requirements matching score based on a comparison between the one or more requirements and a requirements model associated with the corresponding software component, wherein the requirements model is generated based on historic user requirements and historic usage of the software component;
determining a performance score for each of the plurality of software components based on a response time associated with the corresponding software component;
determining a weight corresponding to the requirements matching score and a weight corresponding to the performance score based on the requirements matching score;
determining a combined score for each of the plurality of software components based on the weight corresponding to the requirements matching score and the weight corresponding to the performance score;
selecting, from the plurality of software components, the one or more software components for developing the software application based on the combined score for each of the plurality of software components; and
providing the one or more software components to the user via the user interface.
10. The system of claim 9, wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
determining a success rate score for each of the plurality of software components based on a rate of the corresponding software component being called and completed;
determining a weight corresponding to the success rate score based on the requirements matching score; and
determining a combined score for each of the plurality of software components based on the weight corresponding to the requirements matching score, the weight corresponding to the performance score, and the weight corresponding to the success rate score.
11. The system of claim 9, wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
determining a functional and technical match score for each of the plurality of software components based on the input and a metadata repository, the metadata repository including metadata for each of the plurality of software components;
determining a weight corresponding to functional and technical match score based on the requirements matching score; and
determining a combined score for each of the plurality of software components based on the weight corresponding to the requirements matching score, the weight corresponding to the performance score, and the weight corresponding to the functional and technical match score.
12. The system of claim 11, wherein the input includes one or more words in natural language, and wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
determining the functional and technical match score includes searching the metadata repository for the one or more words using natural language processing.
13. The system of claim 9, wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
determining whether the combined score for each of the plurality of software components is above a predetermined threshold; and
if the combined score is above the predetermined threshold, selecting the corresponding software component for developing the software application.
14. The system of claim 9, wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
receiving a user selection of a first software component among the one or more software components; and
updating the requirements model associated with the first software component based on the user selection.
15. The system of claim 9, wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
determining that a first software component is selected by the user when the first software component is not provided to the user in the user interface in a prior user request for providing software components; and
increasing the requirements matching score for the first software component based on a number of occurrence that the first software component is selected by the user when the first software component is not provided to the user in the user interface in prior user requests for providing software components.
16. The system of claim 9, wherein the memory stores instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to further perform operations including:
generating a data model based on dataset and a type of data model identified in the input.
Dated this 13th day of March, 2017
R Ramya Rao
Of K&S Partners
Agent for the Applicant
, Description:TECHNICAL FIELD
This disclosure relates generally to development of software applications, and more particularly, to methods and systems for providing software components for developing software applications.
| # | Name | Date |
|---|---|---|
| 1 | Power of Attorney [13-03-2017(online)].pdf | 2017-03-13 |
| 2 | Form 5 [13-03-2017(online)].pdf | 2017-03-13 |
| 3 | Form 3 [13-03-2017(online)].pdf | 2017-03-13 |
| 4 | Form 18 [13-03-2017(online)].pdf_600.pdf | 2017-03-13 |
| 5 | Form 18 [13-03-2017(online)].pdf | 2017-03-13 |
| 6 | Form 1 [13-03-2017(online)].pdf | 2017-03-13 |
| 7 | Drawing [13-03-2017(online)].pdf | 2017-03-13 |
| 8 | Description(Complete) [13-03-2017(online)].pdf_599.pdf | 2017-03-13 |
| 9 | Description(Complete) [13-03-2017(online)].pdf | 2017-03-13 |
| 10 | REQUEST FOR CERTIFIED COPY [16-03-2017(online)].pdf | 2017-03-16 |
| 11 | PROOF OF RIGHT [22-06-2017(online)].pdf | 2017-06-22 |
| 12 | Correspondence by Agent_Form 1_27-06-2017.pdf | 2017-06-27 |
| 13 | abstract 201741008651.jpg | 2017-06-30 |
| 14 | 201741008651-FER.pdf | 2020-06-24 |
| 15 | 201741008651-PETITION UNDER RULE 137 [24-12-2020(online)].pdf | 2020-12-24 |
| 16 | 201741008651-FORM 3 [24-12-2020(online)].pdf | 2020-12-24 |
| 17 | 201741008651-FER_SER_REPLY [24-12-2020(online)].pdf | 2020-12-24 |
| 18 | 201741008651-US(14)-HearingNotice-(HearingDate-08-05-2023).pdf | 2023-04-06 |
| 19 | 201741008651-POA [17-04-2023(online)].pdf | 2023-04-17 |
| 20 | 201741008651-FORM 13 [17-04-2023(online)].pdf | 2023-04-17 |
| 21 | 201741008651-Correspondence to notify the Controller [17-04-2023(online)].pdf | 2023-04-17 |
| 22 | 201741008651-AMENDED DOCUMENTS [17-04-2023(online)].pdf | 2023-04-17 |
| 23 | 201741008651-Written submissions and relevant documents [18-05-2023(online)].pdf | 2023-05-18 |
| 24 | 201741008651-FORM-26 [18-05-2023(online)].pdf | 2023-05-18 |
| 25 | 201741008651-FORM 3 [18-05-2023(online)].pdf | 2023-05-18 |
| 26 | 201741008651-PatentCertificate17-08-2023.pdf | 2023-08-17 |
| 27 | 201741008651-IntimationOfGrant17-08-2023.pdf | 2023-08-17 |
| 1 | SearchStrategyMatrix201741008651E_24-06-2020.pdf |