Sign In to Follow Application
View All Documents & Correspondence

Systems And Methods For Providing Software Components For Developing Software Applications

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

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
13 March 2017
Publication Number
37/2018
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ipo@knspartners.com
Parent Application
Patent Number
Legal Status
Grant Date
2023-08-17
Renewal Date

Applicants

WIPRO LIMITED
Doddakannelli, Sarjapur Road, Bangalore 560035, Karnataka, India.

Inventors

1. RAGHOTTAM MANNOPANTAR
Pristine Paradise, #105, Near Shantiniketan School, Bilekahalli, Bangalore  ‐560076, Karnataka, India
2. RAGHAVENDRA HOSABETTU
#3080, Venkatadri Nilaya, 2nd Main, 3rd Cross, VHBCS Layout, Banashankari 3rd Stage, Bangalore – 560085, Karnataka, India.
3. ANOOP UNNIKRISHNAN
Flat No. 403, MJ Azalia, Near Norte Dam Academy, Choodasandra. Off Sarjapur Hobali, Bangalore 560099, Karnataka, India

Specification

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.

Documents

Application Documents

# 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

Search Strategy

1 SearchStrategyMatrix201741008651E_24-06-2020.pdf

ERegister / Renewals

3rd: 15 Nov 2023

From 13/03/2019 - To 13/03/2020

4th: 15 Nov 2023

From 13/03/2020 - To 13/03/2021

5th: 15 Nov 2023

From 13/03/2021 - To 13/03/2022

6th: 15 Nov 2023

From 13/03/2022 - To 13/03/2023

7th: 15 Nov 2023

From 13/03/2023 - To 13/03/2024

8th: 09 Mar 2024

From 13/03/2024 - To 13/03/2025

9th: 07 Mar 2025

From 13/03/2025 - To 13/03/2026