Abstract: The present embodiment provides a five step computer-implemented method (100) and system (200) for automated software development. Thefive step computer-implemented method (100) involves the following steps: 1)Inputting/uploading an input document based on user requirements.2) Configuring a plurality of parameters for developing the software. 3) Processing the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document. The categorized document is further analyzed to identify and categorize plurality of features into plurality of groups. 4) Modeling of the software through a variety of mathematical and software engineering concepts.5) Previewing the developed software to the user. Reference Figure 1
DESC:FIELD OF INVENTION
The present embodiment relates to a method for generation of software, and more particularly relates to a five-step computer-implemented method for automatic generation of the software.
BACKGROUND OF THE INVENTION
In today’s world, software is needed in almost every business and industry ranging from local retailers to hospitals and multi-national companies. Business enterprises rely on increasingly sophisticated software to manage their internal operation and provide goods and services to their clients and customers.
Traditionally, software development is done manually and involves extensive coding and a large team to run and manage the software. The software usually comprises of a large number of lines of computer code. Further, various disadvantages related to manual software development involves substantial delays in project deliveries, not meeting the clients requirements and expectations, locking up high-cost technical resources in multi-year maintenance and support, inefficient or poor quality software development and deployment, severe shortage of technically competent manpower, obsolete legacy software utilization and substantial technical debt by the time software utilization starts yielding results.
Further, the methods available in the market do not allow configuration of a programming language, a database and an operating system. The available methodshave a pre-set programming language, database and the operating system for the automatic generation of the software.
Therefore, there is a need of a computer-implemented method that can overcome the shortcomings of the manual software development. Further, there is a need of the computer-implemented method that helps in configuring programming language, database and operating system as per the needs of the user.
OBJECTIVES OF THE INVENTION
An objective of the present embodiment is to provide an end-to-end total comprehensive automation resulting in 1000X productivity.
Another objective of the present embodiment is to provide an auto adaptive and evolvable software development, in turn helping in saving billions of dollars in maintenance & support.
Yet another objective of the present embodiment is to provide customizations to individual and interoperable enterprise software system.
Yet another objective of the present embodiment is to provide robust method of software development with automatic programming.
Yet another objective of the present embodiment is to provide user-friendly configurations to the automatically generated software.
SUMMARY OF THE INVENTION
In an aspect, a computer-implemented method for automated software development is provided. The computer-implemented method involves the following steps: 1)Inputting/uploading an input document based on user requirements.The input document is a Scope of Work (SOW) document, a Request For Proposal (RFP) document, a Business Requirements Specification (BRS) document, a design document, an engineering document and a requirements document. 2) Configuring a plurality of parameters for developing the software.The plurality of parameters includes a programming language, a database and an operating system. The configuration of the plurality of parameters depends on the requirements of a user. 3) Processing the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document.The categorized document is further analyzed to identify and categorize plurality of features into plurality of groups. 4) Modeling of the software through a variety of mathematical and software engineering concepts.The mathematical and software engineering concepts include Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI). 5) Previewing the developed software to the user. The user may download the developed software as a web application, a mobile application, UI forms, API, reports and so on, when the developed software is as per the needs of the user. The user may exit from the process of software development, when the developed software is not per the needs of the user.
In another aspect, a computer-implemented system for automated software development is provided. The computer-implemented system includes an input unit, an online SaaS platform and an output unit.
The input unit allows a user to input/upload an input document based on his/her requirements. The user inputs/uploads the input document online on SAAS platform. The input unit takes the input as a Scope of Work (SOW) document, a Request For Proposal (RFP) document, a Business Requirements Specification (BRS) document, a design document, an engineering document and a requirements document.
The online SaaS platform allows the configuration of plurality of parameters for developing the software. The plurality of parameters includes a programming language, a database and an operating system. The online SaaS platform further processes the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document. The categorized document is further analyzed to identify and categorize plurality of features into plurality of groups. The online SaaS platform further models the software through a variety of mathematical and software engineering concepts.The mathematical and software engineering concepts include Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI).
The output unit allows the preview of the developed software to the user. The output unit allows the user to download the developed software as a web application, a mobile application, UI forms, API,reports and so on, when the developed software is as per the needs of the user. The output unit allows the user to exit from the process of software development, when the developed software is not per the needs of the user.
The preceding is a simplified summary to provide an understanding of some aspects of embodiments of the present invention. This summary is neither an extensive nor exhaustive overview of the present invention and its various embodiments. The summary presents selected concepts of the embodiments of the present invention in a simplified form as an introduction to the more detailed description presented below. As will be appreciated, other embodiments of the present invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and still further features and advantages of embodiments of the present invention will become apparent upon consideration of the following detailed description of embodiments thereof, especially when taken in conjunction with the accompanying drawings, and wherein:
Figure 1 illustrates a computer-implemented method (100) for automated software development, according to an embodiment herein; and
Figure 2 illustrates a five-step computer-implemented system (200) for automated software development, according to an embodiment herein.
To facilitate understanding, like reference numerals have been used, where possible, to designate like elements common to the figures.
DETAILED DESCRPTION
As used throughout this application, the word "may" is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean including but not limited to.
The phrases “at least one”, “one or more”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising”, “including”, and “having” can be used interchangeably.
As previously mentioned, there is a need of the computer-implemented method that helps in configuring programming language, database and operating system as per the needs of the user. Accordingly, Figure 1 illustrates the five-step computer-implemented method for meeting the needs of the user.
The five-step computer-implemented method (100) may be implemented/hosted on an electronic device such as, but not limited to, a server, a laptop, a computer, a mobile phone and a tablet.
The five-step computer-implemented method (100) does not require any coding for the development of the software. The five-step computer-implemented method (100) helps in the automatic development of the software. The five-step computer-implemented method (100) takes the input from the user and develops the software as per the needs of the user. The five-step computer-implemented method (100) involves personalized customizations for the development of the software. The five-step computer-implemented method (100) includes the following steps:
At step 102, a user is asked to input/upload a document. In an embodiment, the user is asked to upload the input document based on his/herneeds/requirements for the software development. In an embodiment, the user fills his/her requirements in the input document in the natural language such as English. In an embodiment, the user mentions the desired features of the software in the input document. In an embodiment, the user uploads the document for the automatic software development.
The input document is uploaded in the format such as, but not limited to, a Scope of Work (SOW) document, a Request For Proposal (RFP) document, a Business Requirements Specification (BRS) document, a design document, an engineering document and a requirements document.
At step 104, the user is asked to configure a plurality of parameters for the software development. In an embodiment, the configuration of the plurality of parameters is done manually by the user.
The plurality of parameters includes parameters such as, but not limited to, a programming language, a database and an operating system. The programming languages include languages such as, but not limited to, C#, C, C++, Java and Python. The database includes technology such as, but not limited to, SQL, MySQL, NOSQL and other non-relational databases. The operating system includes system such as, but not limited to, windows, Linux and MAC.
At step 106, the input document is processed through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document. In an embodiment, the categorized document is a document that may be easily read by the electronic device.
A plurality of features is identified from the categorized document.In an embodiment, the plurality of features is the features required by the user in the software.The plurality of features is then categorized into a plurality of groups. In an embodiment, the plurality of features is categorized on the basis of the complexity. In an embodiment, cost of the software development is decided through the categorization of features in the plurality of groups.
The plurality of groups is many in number. The plurality of groups includes basic features, workflow features, integration features, UI & UX features and so on so forth. In an embodiment, each group is associated with a configurable pre-set cost. For example, each basic feature will cost 30$. In an embodiment, an estimate cost is provided to the user based on the categorization of the features or is dynamically generated based on cost parameters.
In an embodiment, a breakdown of the cost estimate is provided to the user. At this step, the user is provided with an option to exit from the process of software development. If the user wishes to proceed with the process of software development, the user is transferred to the next step of the computer-implemented method (100).
At step 108, the developing software is automatically modeled through a variety of mathematical and software engineering concepts. In an embodiment, structure and behavior of business domain are modeled for developing the software.
The mathematical and software engineering concepts may include concepts such as, but not limited to, Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI).
In an embodiment, DDD effectively captures the high level structure and the low level structure of the software using entity, attributes, aggregate and value objects. In another embodiment, DDD captures the behavior of the software with event, action, task and process.
In an embodiment, category theory encodes the model as a blueprint without losing any information as captured by DDD at strategic and tactical level of the domain that is being modeled
In an embodiment, NST and DCI are patterns that enable automatic generation of software code that is not only as per the users input requirement but is also highly evolvable and highly reusable.
The software is architected further into components and modules with low-level design patterns. The components are automatically developed using automatic code generation tools. The developed software is then quality checked with AI driven automated testing tools. In an embodiment, quality checking involves validating software integration with other third-party applications. In an embodiment, the AI driven automated testing tools include tools such as, but not limited to, Applitools, Testim.io, Testcraft, AccelQ and Functionize tools.In an embodiment, the software is completely developed at this step.
At step 110, a preview of the developed software is shown to the user. If the developed software is as per the need of the user, the user can download the software by making a payment. In an embodiment, the user is provided with the software artifacts including source code, design document, architecture, user manual, installation guide and quality assurance & test reports.
In an embodiment, the software can be downloaded in a variety of formats such as, but not limited to, a web application, a mobile application, UI forms, API,reports and so on. In an embodiment, the user can download the software by making the payment of the developed software.
Further, the software can be hosted on a cloud or any other data center by making an additional payment.
If the developed software is not as per the needs of the user, the user can exit from the process of software development. In an embodiment, no payment is required when the software is not as per the needs of the user.
Figure 2 illustrates the computer-implemented system (200) for automated software development. The computer-implemented system (200) may be implemented/hosted on an electronic device such as, but not limited to, a server, a laptop, a computer, a mobile phone and a tablet.
The computer-implemented system (200) does not require any manual coding for the development of the software. The computer-implemented system (200) helps in the automatic development of the software. The computer-implemented system (200) takes the input from the user and develops the software as per the needs of the user.The computer-implemented system (200) includes an input unit, an online SaaS platform and an output unit provided as an online web-based software as a service platform.
The input unit (202) allows the user to input/upload a document. In an embodiment, the input unit (202) allows the user to upload the input document based on his/her needs/requirements for the software development. In an embodiment, the user fills his/her requirements in the input document. In an embodiment, the user mentions the desired features of the software in the input document in natural language. In an embodiment, the user uploads the input document for the software development.
The input document is uploaded in the format such as, but not limited to, a Scope of Work (SOW) document, a Request For Proposal (RFP) document, a Business Requirements Specification (BRS) document, a design document, an engineering document and a requirements document.
The online SaaS platform (204) allows the user to configure plurality of parameters for automated software development. The online SaaS platform (204) is basically a hardware component i.e., a processor carrying out the instructions of the user. In an embodiment, the configuration of the plurality of parameters is done manually by the user. The plurality of parameters includes parameters such as, but not limited to, a programming language, a database and an operating system.
The programming languages include languages such as, but not limited to, C#, C, C++, Java and Python. The database includes technology such as, but not limited to, SQL, MySQL, NOSQL and other non-relational databases. The operating system includes system such as, but not limited to, windows, Linux and MAC.
The online SaaS platform further (204) processes the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document. In an embodiment, the categorized document is a document that may be easily read by the electronic device.
The online SaaS platform (204) then identifies and categorizes plurality of features from the categorized document into plurality of groups.In an embodiment, the plurality of features is the desired features required by the user in the software.In an embodiment, the online SaaS platform (204) categorizes the plurality of features on the basis of the type and complexity.
In an embodiment, the online SaaS platform (204) then processes the cost of the software development through the categorization of features in the plurality of groups. The plurality of groups is many in number. The plurality of groups includes basic features, workflow features, integration features, UI& UX feature and performance feature. In an embodiment, each group is associated with a configurable pre-set cost. For example, each basic feature will cost 30$. In an embodiment, an estimate cost is provided to the user based on the categorization of the features.
In an embodiment, a breakdown of the cost estimate is provided to the user. At this step, the online SaaS platform (204) provides an option to the user to exit from the process of software development. If the user wishes to proceed with the process of software development, the process is further continued.
The online SaaS platform (204) models the developing software through a variety of mathematical and software engineering concepts. In an embodiment, the online SaaS platform (204) models the structure and behavior of business domain for developing the software.
The mathematical and software engineering concepts may include concepts such as, but not limited to, Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI).
In an embodiment, DDD effectively captures the structure of the software using entity, attributes, aggregate and value objects. In another embodiment, DDD captures the behavior of the software with event, action, task and process.
In an embodiment, category theory encodes the model as a blueprint without losing any information captured by DDD at strategic and tactical level of the domain that is being modeled
.In an embodiment, NST and DCI are patterns that ensure that the automatically generated code not only mimics the real-world domain but is also evolvable and highly reusable.
The online SaaS platform (204) further architects the software into components and modules with low-level design patterns. The components are automatically developed using automatic code generation tools. The online SaaS platform (204) then quality checks the developed software with AI driven automated testing tools. In an embodiment, quality checking involves validating software integration with other third-party applications. In an embodiment, the AI driven automated testing tools include tools such as, but not limited to, Applitools, Testim.io, Testcraft, AccelQ and Functionize tools.In an embodiment, the software is completely developed at this stage.
The output unit (206)provides a preview of the developed software to the user. If the developed software is as per the need of the user, the user can download the software by making a payment. In an embodiment, the output unit (206) providesthe user with the software artifacts including source code, design document, architecture, user manual, installation guide and quality assurance & test reports.
In an embodiment, the software can be downloaded in a variety of formats such as, but not limited to, a web application, a mobile application, UI forms, API, reports and so on. In an embodiment, the user can download the software by making the payment of the developed software.
Further, the software can be hosted on a cloud or any other data center by making an additional payment.
If the developed software is not as per the needs of the user, the user can exit from the process of software development. In an embodiment, no payment is required when the software is not as per the needs of the user.
The five-step computer-implemented method (100) and system (200) will provide a highly customized digital platform to the user for the automatic software development.
The foregoing discussion of the present invention has been presented for purposes of illustration and description. It is not intended to limit the present invention to the form or forms disclosed herein. In the foregoing Detailed Description, for example, various features of the present invention are grouped together in one or more embodiments, configurations, or aspects for the purpose of streamlining the disclosure. The features of the embodiments, configurations, or aspects may be combined in alternate embodiments, configurations, or aspects other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention the present invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment, configuration, or aspect. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of the present invention.
Moreover, though the description of the present invention has included description of one or more embodiments, configurations, or aspects and certain variations and modifications, other variations, combinations, and modifications are within the scope of the present invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments, configurations, or aspects to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.
,CLAIMS:WE CLAIM:
1. A computer-implemented method (100) for automated software development, the method comprises:
- inputting/uploading an input document based on user requirements, wherein the input document is a Scope of Work (SOW) document, a Request For Proposal (RFP) document, a Business Requirements Specification (BRS) document, a design document, an engineering document and a requirements document;
- configuring a plurality of parameters for developing the software, wherein the plurality of parameters include a programming language, a database and an operating system;
- processing the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document, wherein the categorized document is further analyzed to identify and categorize plurality of features into plurality of groups;
- modeling of the software through a variety of mathematical and software engineering concepts, wherein the mathematical and software engineering concepts include Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI);
- previewing of automatically developed software to the user, wherein the user is able to
• download the developed software as a web application, a mobile application, UI forms, API, reports and so on, when the developed software is as per the needs of the user; and
• exit from the process of software development, when the developed software is not per the needs of the user.
2. The computer-implemented method (100) as claimed in claim 1, wherein the configuration of the plurality of parameters depends on the requirements of a user.
3. The computer-implemented method as claimed in claim 1, wherein the plurality of groups include basic features, workflow features, integration features UI & UX features and so on so forth.
4. The computer-implemented method as claimed in claim 1, wherein the plurality of features is categorized based on the complexity of features.
5. The computer-implemented method (100) as claimed in claim 1, wherein each feature in the plurality of groups is linked with a configurable pre-set cost.
6. The computer-implemented method (100) as claimed in claim 1, wherein cost estimate is provided to the user based on the categorization of the features.
7. The computer-implemented method (100) as claimed in claim 1, wherein the developed software is checked for quality with AI driven automated testing tools.
8. A computer-implemented system (200) for automated software development, the system (200) comprises:
- an input unit (202) configured to input/upload an input document based on user requirements, wherein the user inputs/uploads the input document online on SAAS platform;
- an online SaaS platform (204) is able to:
• configure plurality of parameters for developing the software, wherein the plurality of parameters include a programming language, a database and an operating system,
• process the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a categorized document, wherein the categorized document is further analyzed to identify and categorize plurality of features into plurality of groups, and
• model the software through a variety of mathematical and software engineering concepts, wherein the mathematical and software engineering concepts include Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI);
- an output unit (206) configured to preview the developed software to the user, wherein the output unit (206) allows the user to
• download the developed software as a web application, a mobile application, UI forms, API, reports and so on, when the developed software is as per the needs of the user; and
• exit from the process of software development, when the developed software is not per the needs of the user.
9. The computer-implemented system (200) as claimed in claim 8, wherein the input unit (202) takes the input as a Scope of Work (SOW) document, a Request For Proposal (RFP) document, a Business Requirements Specification (BRS) document, a design document, an engineering document and a requirements document.
10. The computer-implemented system (200) as claimed in claim 8, wherein the configuration of the plurality of parameters for developing the software is done manually by the user.
| # | Name | Date |
|---|---|---|
| 1 | 202241009502-STATEMENT OF UNDERTAKING (FORM 3) [23-02-2022(online)].pdf | 2022-02-23 |
| 2 | 202241009502-PROVISIONAL SPECIFICATION [23-02-2022(online)].pdf | 2022-02-23 |
| 3 | 202241009502-PROOF OF RIGHT [23-02-2022(online)].pdf | 2022-02-23 |
| 4 | 202241009502-POWER OF AUTHORITY [23-02-2022(online)].pdf | 2022-02-23 |
| 5 | 202241009502-FORM FOR SMALL ENTITY(FORM-28) [23-02-2022(online)].pdf | 2022-02-23 |
| 6 | 202241009502-FORM FOR SMALL ENTITY [23-02-2022(online)].pdf | 2022-02-23 |
| 7 | 202241009502-FORM 1 [23-02-2022(online)].pdf | 2022-02-23 |
| 8 | 202241009502-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [23-02-2022(online)].pdf | 2022-02-23 |
| 9 | 202241009502-EVIDENCE FOR REGISTRATION UNDER SSI [23-02-2022(online)].pdf | 2022-02-23 |
| 10 | 202241009502-DRAWINGS [23-02-2022(online)].pdf | 2022-02-23 |
| 11 | 202241009502-DECLARATION OF INVENTORSHIP (FORM 5) [23-02-2022(online)].pdf | 2022-02-23 |
| 12 | 202241009502-DRAWING [23-02-2023(online)].pdf | 2023-02-23 |
| 13 | 202241009502-COMPLETE SPECIFICATION [23-02-2023(online)].pdf | 2023-02-23 |
| 14 | 202241009502-FORM 18 [22-03-2023(online)].pdf | 2023-03-22 |
| 15 | 202241009502-FER.pdf | 2025-03-04 |
| 16 | 202241009502-FER_SER_REPLY [26-08-2025(online)].pdf | 2025-08-26 |
| 17 | 202241009502-CORRESPONDENCE [26-08-2025(online)].pdf | 2025-08-26 |
| 18 | 202241009502-CLAIMS [26-08-2025(online)].pdf | 2025-08-26 |
| 1 | 202241009502searchE_13-04-2024.pdf |