Sign In to Follow Application
View All Documents & Correspondence

A Computer Implemented System And Method For Automatic Software Development

Abstract: The present embodiment provides a computer-implemented method (100) and system (200) for automatic software development. The present computer-implemented method (100) and system (200) does not require coding and provides full level of automation. The present computer-implemented method (100) and system (200) also provides less need for customizations to individual and automatic interoperable enterprise software system. Reference Figure 1

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
23 December 2021
Publication Number
25/2023
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

CORESONANT SYSTEMS PRIVATE LIMITED
303, 3rd Floor, Navketan Complex, Opp Clock Tower, Secunderabad
ARCHANA KANAPARTHI
#301 & #303, 3rd Floor, Navketan Building, Opp. Clock Tower, SD Road, Secunderabad
ANKITA BHOWMIK
#301 & #303, 3rd Floor, Navketan Building, Opp. Clock Tower, SD Road, Secunderabad

Inventors

1. S K SRIDEV NAIR
Flat No. 502, SMR Vinay Residency, Street 5, Lane 2, West Marredpally, Secunderabad, Hyderabad, 500026

Specification

DESC:FIELD OF THE INVENTION
The present embodiment relates to a system and a method for generation of software, and more particularly relates to a computer-implemented system and method for automatic generation of the software.
BACKGROUND OF THE INVENTION
In today’s world, software is needed 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 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 operations, enhancement and maintenance , severe shortage of technically competent manpower, obsolete legacy software utilization and substantial technical debt by the time software utilization starts yielding results.
Therefore, there is a need of a computer-implemented system and method that can overcome the shortcomings of the manual software development. Further, there is a need of the computer-implemented system and method for the automatic software development , operations, enhancement and maintenance .
OBJECTIVES OF THE INVENTION
An objective of the present embodiment is to provide an end-to-end total comprehensive automation of software production 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 and up gradation.
Yet another objective of the present embodiment is to provide automated customizations to individual and automatic interoperable enterprise software system.
Yet another objective of the present embodiment is to provide robust system and method of software development with total full end to end automation.
SUMMARY OF THE INVENTION
In an aspect, a computer implemented method for automated software development is provided. The computer implemented method includes the following steps: 1) Inputting/uploading an input document based on user requirements in natural language. 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) Identifying and categorizing a plurality of features from the input document into a plurality of groups. The plurality of groups includes basic features, workflow features, integration features, UI & UX features and so on so forth . 3)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). 4) Previewing of developed software to the user, wherein 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. Or the user may chose to exit from the process of software development, when the developed software is not as 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, a processing unit and an output unit.
The input unit allows the user to input/upload an input document based on his/her requirements. The user inputs/uploads the input document. 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 processing unit helps in identifying and categorizing a plurality of features from a software document into a plurality of groups and further allows modeling 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 processing unit sends the developed software to an output unit.
The output unit allows the user to preview the developed software. 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; Or the output unit allows the user to exit from the process of software development, when the developed software is not as 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 software development, according to an embodiment herein; and
Figure 2 illustrates a 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 computer-implemented method for the automatic software development operations, enhancement and maintenance .. Accordingly, Figure 1 illustrates the computer-implemented method (100) for software development.
The 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 computer-implemented method (100) does not require any coding for the development of the software. The computer-implemented method (100) helps in the automatic development of the software. The computer-implemented method (100) takes the input from the user and develops the software as per the needs of the user. The computer-implemented method (100) includes the following steps:
At step 102, the user is asked to input/upload a document. In an embodiment, the user is asked to upload the input document based on the needs/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, a plurality of features from a software document is identified and categorized into a plurality of groups. In an embodiment, the input document is processed through artificial intelligence based Natural Language Processing (NLP) to convert into the software document. In an embodiment, the software document is a document that may be easily read by the electronic device.
In an embodiment, the plurality of features is the desired 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 are 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 106, 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 and 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 108, 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.
Accordingly, Figure 1 illustrates the computer-implemented system (200) for 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 (202), a processing unit (204) and an output unit (206) provided as a online web-based software as a service platform.
The input unit (202) allows the user to input/upload a document. In an embodiment, 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 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 processing unit (204) identifies and categorizes a plurality of features from a software document into a plurality of groups. In an embodiment, the processing unit (204) processes the input document through artificial intelligence based Natural Language Processing (NLP) to convert into a software document. In an embodiment, the software document is a document that may be easily read by the electronic device.
In an embodiment, the plurality of features is the desired features required by the user in the software. The processing unit (204) then categorizes the plurality of features into a plurality of groups. In an embodiment, the processing unit (204) categorizes the plurality of features on the basis of the type and complexity. In an embodiment, the processing unit (204) then processes the cost of the software development through the categorization of features in the plurality of groups.
The plurality of groups are 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 processing unit (204) provides an option for 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 processing unit (204) models the developing software through a variety of mathematical and software engineering concepts. In an embodiment, the processing unit (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 processing unit (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 processing unit (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 present computer-implemented method (100) and system (200) helps in 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 (100)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;
- identifying and categorizing a plurality of features from a software document into a plurality of groups, wherein the plurality of groups include basic features, workflow features, integration features UI & UX features and so on so forth ;
- 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 Toolkit (NST) and Data, Context and Interaction (DCI);
- previewing of developed software to the user, wherein the user
• downloads 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
• exits 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 input document is converted into the software document through artificial intelligence based Natural Language Processing (NLP).
3. 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.
4. 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.
5. The computer-implemented method (100)as claimed in claim 1, wherein the developed software is checked for quality with AI driven automated testing tools.
6. The computer-implemented method (100)as claimed in claim 1, wherein the developed software is hosted on a cloud and/or any other data center.
7. A computer-implemented system (200) for automatic 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 the SAAS platform;
- a processing unit (204) configured to identify and categorize a plurality of features from a software document into a plurality of groups and further models the software through a variety of mathematical and software engineering concepts, wherein the processing unit (204) sends the developed software to an output unit (206);
- the 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.
8. A computer-implemented system (200) as claimed in claim 7, 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.
9. A computer-implemented system (200) as claimed in claim 7, wherein the mathematical and software engineering concepts include Category theory, Domain-Driven Design (DDD), Normalized Systems Theory (NST) and Data, Context and Interaction (DCI).

Documents

Application Documents

# Name Date
1 202141060204-STATEMENT OF UNDERTAKING (FORM 3) [23-12-2021(online)].pdf 2021-12-23
2 202141060204-PROVISIONAL SPECIFICATION [23-12-2021(online)].pdf 2021-12-23
3 202141060204-PROOF OF RIGHT [23-12-2021(online)].pdf 2021-12-23
4 202141060204-POWER OF AUTHORITY [23-12-2021(online)].pdf 2021-12-23
5 202141060204-FORM FOR SMALL ENTITY(FORM-28) [23-12-2021(online)].pdf 2021-12-23
6 202141060204-FORM FOR SMALL ENTITY [23-12-2021(online)].pdf 2021-12-23
7 202141060204-FORM 1 [23-12-2021(online)].pdf 2021-12-23
8 202141060204-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [23-12-2021(online)].pdf 2021-12-23
9 202141060204-EVIDENCE FOR REGISTRATION UNDER SSI [23-12-2021(online)].pdf 2021-12-23
10 202141060204-DRAWINGS [23-12-2021(online)].pdf 2021-12-23
11 202141060204-DECLARATION OF INVENTORSHIP (FORM 5) [23-12-2021(online)].pdf 2021-12-23
12 202141060204-DRAWING [23-12-2022(online)].pdf 2022-12-23
13 202141060204-COMPLETE SPECIFICATION [23-12-2022(online)].pdf 2022-12-23
14 202141060204-FORM 18 [22-03-2023(online)].pdf 2023-03-22