Abstract: The present embodiment provides a seven-step computer-implemented method for software development. The present computer-implemented method does not require coding and provides higher level of automation. The present computer-implemented method also provides customizations to individual and interoperable enterprise software system. Reference Figure 1
DESC:FIELD OF INVENTION
The present embodiment relates to a method for generation of software, and more particularly relates to a seven-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 automated methods available in the market do not allow customizations to the generated code of the software. The available methodsrather develop the software and in conditions when the software is not as per the needs of the user, the software is again built from scratch. This wastes a lot of time of the user and the efficiency is reduced.
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 allows manual coding in the automatically generated software to make the customizations 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.
Yet another objective of the present embodiment is to provide automated and quick customizations to the developed software.
SUMMARY OF THE INVENTION
In an aspect, a seven-step computer-implemented method for automated software development is provided. The seven-step 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 is transferred to next step, when the developed software is not per the needs of the user. The user is transferred to next-to-next step, when the developed software is as per the needs of the user. 6) Customizing software architecture and code level detailed design of the developed software. The user is allowed to manually customize the developed software. The user is allowed to add or delete a feature in the developed software. 7) Downloading the developed software as a web application, a mobile application, UI forms, API, reports and so on.
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 seven-step computer-implemented method (100) 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 (100) that allows manual coding in the automatically generated software to make the customizations as per the needs of the user. Accordingly, figure 1 illustrates the seven-step computer-implemented method (100) for the automatic software development.
The seven-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 seven-step computer-implemented method (100) does not require any coding for the development of the software. In an embodiment, any modifications in the code will be required only in exceptional cases. The seven-step computer-implemented method (100) helps in the automatic development of the software. The seven-step computer-implemented method (100) involves personalized customizations for the development of the software. The seven-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. The user may check for his/her requirements. The user is transferred to step 112, when the developed software is not per the needs of the user. The user is transferred to step 114, when the developed software is as per the needs of the user.
At step 112, the user is allowed to make customizations to the developed software. In an embodiment, the user is allowed to customize system level software architecture and code level detailed design of the developed software. The user is allowed to manually modify the code of the developed software. In an embodiment, the user is allowed to add a feature in the code of the developed software. In another embodiment, the user is allowed to delete a feature in the code of the developed software.
In an embodiment, a breakdown of the cost estimate is again 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 seven-step computer-implemented method (100).
At step 114, the user is allowed to download/host the developed software.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.
The seven-step computer-implemented method (100) 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 seven-step 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 the developed software to the user, wherein the user is
• transferred to step 112, when the developed software is not per the needs of the user, and
• transferred to step 114, when the developed software is as per the needs of the user;
- customizing software architecture and code level detailed design of the developed software, wherein the user is allowed to manually customize the developed software; and
- downloading the developed software as a web application, a mobile application, UI forms, API, reports and so on.
2. The seven-step 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 seven-step 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 seven-step computer-implemented method as claimed in claim 1, wherein the user manually adds or deletes a feature in the code of the developed software.
5. The seven-step 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 seven-step 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 seven-step computer-implemented method (100) as claimed in claim 1, wherein the developed software is checked for quality with AI driven automated testing tools.
| # | Name | Date |
|---|---|---|
| 1 | 202241009508-STATEMENT OF UNDERTAKING (FORM 3) [23-02-2022(online)].pdf | 2022-02-23 |
| 2 | 202241009508-PROVISIONAL SPECIFICATION [23-02-2022(online)].pdf | 2022-02-23 |
| 3 | 202241009508-PROOF OF RIGHT [23-02-2022(online)].pdf | 2022-02-23 |
| 4 | 202241009508-POWER OF AUTHORITY [23-02-2022(online)].pdf | 2022-02-23 |
| 5 | 202241009508-FORM FOR SMALL ENTITY(FORM-28) [23-02-2022(online)].pdf | 2022-02-23 |
| 6 | 202241009508-FORM FOR SMALL ENTITY [23-02-2022(online)].pdf | 2022-02-23 |
| 7 | 202241009508-FORM 1 [23-02-2022(online)].pdf | 2022-02-23 |
| 8 | 202241009508-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [23-02-2022(online)].pdf | 2022-02-23 |
| 9 | 202241009508-EVIDENCE FOR REGISTRATION UNDER SSI [23-02-2022(online)].pdf | 2022-02-23 |
| 10 | 202241009508-DRAWINGS [23-02-2022(online)].pdf | 2022-02-23 |
| 11 | 202241009508-DECLARATION OF INVENTORSHIP (FORM 5) [23-02-2022(online)].pdf | 2022-02-23 |
| 12 | 202241009508-DRAWING [23-02-2023(online)].pdf | 2023-02-23 |
| 13 | 202241009508-COMPLETE SPECIFICATION [23-02-2023(online)].pdf | 2023-02-23 |
| 14 | 202241009508-FORM 18 [22-03-2023(online)].pdf | 2023-03-22 |
| 15 | 202241009508-FER.pdf | 2025-03-04 |
| 16 | 202241009508-FER_SER_REPLY [29-08-2025(online)].pdf | 2025-08-29 |
| 17 | 202241009508-DRAWING [29-08-2025(online)].pdf | 2025-08-29 |
| 18 | 202241009508-CORRESPONDENCE [29-08-2025(online)].pdf | 2025-08-29 |
| 19 | 202241009508-CLAIMS [29-08-2025(online)].pdf | 2025-08-29 |
| 1 | SearchStrategyMatrixE_29-01-2024.pdf |