Integrated system for software application development
First Claim
1. A method to develop a software application, the method executed by software instructions stored in a memory and executed by a hardware processor, comprising the steps of:
- a. managing communications among several groups who are working on a common software application by providing an interactive subsystem among the team members;
b. defining a process workflow for a plurality of software application features;
c. defining a plurality of user interface (UI) details including UI widgets associated with each step of the process workflow;
d. defining a plurality of requirements specific details associated with a plurality of UI widgets;
e. defining a plurality of business rules, associated with each step of the process workflow;
f. defining a plurality of re-usable technical design patterns for the software application, each design pattern comprising attributes including;
i. name and description;
ii. a plurality of visually organized design components;
iii. a plurality of visually organized program flow steps, each flow step comprising a step number and step description;
iv. a plurality of visually organized arrow shapes depicting program logic invocation;
v. a plurality of file attachments allowing users to add additional data for each pattern; and
g. producing the finished software application by programming and testing the software application according to said requirements and design specifications.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are disclosed for developing a software application through requirements specification, design, effort estimation, assigning and tracking work items, development, testing, collaboration and project management. The system is structured as an integrated software development system allowing for structured, systematic and user friendly set up of requirements specification (including workflow, user interface, business rules and integrations), technical design for UI features and integrations using design patterns, automated effort estimation, automated story card and task creation. The system also provides a novel, audio-video playback capability for workflow visualization. Further, the system provides visual depiction of defects and changed items side-by-side with requirements, as well as predictive modeling of defects that allows for forecasting of defect completion rate. In the preferred embodiment, the system is delivered as a multi-tenant Software as a Service.
45 Citations
25 Claims
-
1. A method to develop a software application, the method executed by software instructions stored in a memory and executed by a hardware processor, comprising the steps of:
-
a. managing communications among several groups who are working on a common software application by providing an interactive subsystem among the team members; b. defining a process workflow for a plurality of software application features; c. defining a plurality of user interface (UI) details including UI widgets associated with each step of the process workflow; d. defining a plurality of requirements specific details associated with a plurality of UI widgets; e. defining a plurality of business rules, associated with each step of the process workflow; f. defining a plurality of re-usable technical design patterns for the software application, each design pattern comprising attributes including; i. name and description; ii. a plurality of visually organized design components; iii. a plurality of visually organized program flow steps, each flow step comprising a step number and step description; iv. a plurality of visually organized arrow shapes depicting program logic invocation; v. a plurality of file attachments allowing users to add additional data for each pattern; and g. producing the finished software application by programming and testing the software application according to said requirements and design specifications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus having a hardware processor to develop a software application, the apparatus comprising:
-
a. a computer system comprising a group of computers on the server side, and a plurality of client computers connecting to the server side computers over a distributed network, and wherein the hardware processor is executed for; b. managing communications among several groups who are working on a common software application functioning to aid software development by providing an interactive visual subsystem among the team members; c. forming a requirements database functioning to further streamline the creation of the detailed application requirements specifications, said [means for forming a] requirements database including visually defined user story workflows, user interface screens, visually organized user interface widgets, style sheets, and business rules; d. forming a requirements database functioning to further streamline the creation of the detailed application requirements specifications, said requirements database including integration points between the software application and other applications or services, integration interfaces comprising a plurality of data fields; e. forming a design database functioning to further streamline the creation of the detailed application design specifications, said [means for forming a] design database including design patterns;
each design pattern comprising design components, program logic flow steps, arrows connecting the design components;f. selecting a design pattern to be assigned to a UI screen of an application feature functioning to re-use a pre-defined application design pattern; g. selecting a design pattern to be assigned to an integration interface of an integration point functioning to re-use a pre-defined integration design pattern; h. assisting the development of the source code program modules using the requirements and design specifications which define the software application functioning to complete a delivery of the software application features; and i. assisting the testing of the source code program modules using the requirements and design specifications which define the software application functioning to complete a delivery of the software application features. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method to develop a software application, the method executed by software instructions stored in a memory and executed by a hardware processor, comprising the steps of:
-
a. managing communications among several groups who are working on a common software application by providing an interactive subsystem among team members; b. defining a process workflow for a plurality of software application features; c. defining a plurality of user interface (UI) details including UI widgets associated with each step of the process workflow; d. defining a plurality of requirements specific details including playback text associated with a plurality of UI widgets; e. automatically generating from the user defined requirements specifications, an audio-video playback sequence explaining the process workflow with computer generated speech from user defined text for a plurality of UI widgets, and using visual pop-up text elements describing the user interaction with said software application for a plurality of application features, aiding in immediate and effective grasping of the application feature; and f. producing the finished software application by programming and testing the software application according to said requirements and design specifications.
-
Specification