System and method for facilitating software development
First Claim
1. A computer-implemented method for aiding a developer in developing an application program that conforms to plant standards, comprising the steps of:
- (a) storing, in a module template library, a plurality of pre-developed software modules that perform a function in conformance with plant standards, wherein each of said pre-developed software modules is a module template, each module template having at least one baseline object having at least one baseline property;
(b) providing project requirements and specifications for the application program specifying one or more functions performed by said module templates to the developer, wherein said project requirements and specifications are stored in a design template;
(c) checking-out from said module template library an instance of said plurality of module templates for use in the application program;
(d) extracting and retaining said baseline object and said baseline property from within said module template instance when checking-out said module template instance from said module template library;
(e) developing mainline code for the application program on a development platform in accordance with said project requirements and specifications provided by said design template, wherein said mainline code evaluates conditions, and calls said module template instance to perform said specified function;
(f) modifying said checked-out module template instance during said step of developing;
(g) checking-in said module template instance into said module template library after the completion of said step of developing;
(h) extracting at least one check-in object and at least one check-in property respective to said baseline object and said baseline property from within said module template instance when checking-in said module template instance into said module template library;
(i) comparing said check-in object and said check-in property against said retained baseline object and said retained baseline property;
(j) defining said module template instance as a new module template instance if said comparing indicates a difference between said check-in object and said check-in property when compared against said retained baseline object and said retained baseline property;
(k) firstly examining said new module template instance to determine if it conforms with said plant standards;
(l) if said new module template instance is determined to be in conformance with said plant standards, secondly examining said new module template instance to determine if it is generic;
(m) if said new module template instance is determined to be generic, holding said new module template instance in a candidate module library update set; and
(n) periodically upgrading said module template library to include said candidate module library update set,wherein only one instance of each of said plurality of module templates is maintained and thus all application programs calling a module template perform said specified function in conformance with said plant standards.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for automated development of robust, highly reliable, software code conforming to applicable shop and industry standards is provided. The system comprises a design template library, a module template library, and a software development workstation interfaced to the libraries. The design template library stores design templates which provide detailed project processes, process data, and linkages between the processes and the process data. The module template library stores module templates which are pre-defined, pre-prepared software modules for performing specified tasks. The system further comprises an operations file for storing operational applications programs and newly developed application programs for operations testing, and a development library for providing a working area in which to develop application programs. A programmer reviews a design template to determine project specifications, processes, process data, and linkages between the process and the process data. If the project requires modification to an existing program, a copy is retrieved from the operations file. The programmer checks-out the module templates which are integrated into the application program, or used to build new code from scratch by using calls from mainline code. Once the module templates are integrated, the applications program is put through unit and integration testing and checked into the operations file for operational and user testing in an operational environment, and for subsequent operations.
-
Citations
8 Claims
-
1. A computer-implemented method for aiding a developer in developing an application program that conforms to plant standards, comprising the steps of:
-
(a) storing, in a module template library, a plurality of pre-developed software modules that perform a function in conformance with plant standards, wherein each of said pre-developed software modules is a module template, each module template having at least one baseline object having at least one baseline property; (b) providing project requirements and specifications for the application program specifying one or more functions performed by said module templates to the developer, wherein said project requirements and specifications are stored in a design template; (c) checking-out from said module template library an instance of said plurality of module templates for use in the application program; (d) extracting and retaining said baseline object and said baseline property from within said module template instance when checking-out said module template instance from said module template library; (e) developing mainline code for the application program on a development platform in accordance with said project requirements and specifications provided by said design template, wherein said mainline code evaluates conditions, and calls said module template instance to perform said specified function; (f) modifying said checked-out module template instance during said step of developing; (g) checking-in said module template instance into said module template library after the completion of said step of developing; (h) extracting at least one check-in object and at least one check-in property respective to said baseline object and said baseline property from within said module template instance when checking-in said module template instance into said module template library; (i) comparing said check-in object and said check-in property against said retained baseline object and said retained baseline property; (j) defining said module template instance as a new module template instance if said comparing indicates a difference between said check-in object and said check-in property when compared against said retained baseline object and said retained baseline property; (k) firstly examining said new module template instance to determine if it conforms with said plant standards; (l) if said new module template instance is determined to be in conformance with said plant standards, secondly examining said new module template instance to determine if it is generic; (m) if said new module template instance is determined to be generic, holding said new module template instance in a candidate module library update set; and (n) periodically upgrading said module template library to include said candidate module library update set, wherein only one instance of each of said plurality of module templates is maintained and thus all application programs calling a module template perform said specified function in conformance with said plant standards. - View Dependent Claims (2, 3)
-
-
4. A computer-based system for aiding a developer in developing an application program that conforms to plant standards, comprising:
-
first means for storing a plurality of module templates, wherein each said module template is a pre-developed software module that performs a function in conformance with the plant standards, each of said plurality of module templates having at least one baseline having at least one baseline property; second means for providing a design template to the developer, wherein said design template comprises project requirements and specifications for the application and specifies one or more functions performed by said module templates; a software development workstation, coupled to said first and second means, for providing a development platform on which the developer develops the application program, wherein the application program includes mainline code that evaluates conditions, and calls said module template to perform said specified function in accordance with said project requirements and specification provided by said design template; third means for checking-out from said module template library an instance of said plurality of module templates for use in the application program; fourth means for extracting and retaining said baseline object and said baseline property from within said module template instance when checking-out said module template instance from said module template library; fifth means for developing mainline code for the application program on a development platform in accordance with said project requirements and specifications provided by said design template, wherein said mainline code evaluates conditions, and calls said module template instance to perform said specified function; sixth means for modifying said checked-out module template instance during said developing; seventh means for checking-in said module template instance into said module template library after the completion of said developing; eighth means for extracting a check-in object and a check-in property respective to said baseline object and baseline property from within said module template instance when checking-in said module template instance into said module template library; ninth means for comparing said check-in object and said check-in property against said baseline object and said baseline property; tenth means for defining said module template instance as a new module template instance if said comparing indicates a difference between said check-in object and said check-in property when compared against said baseline object and said baseline property; eleventh means for firstly examining said new module template instance to determine if it conforms with said plant standards; twelfth means for, if said new module template instance is determined to be in conformance with said plant standards, secondly examining said new module template instance to determine if it is generic; thirteenth means for, if said new module template instance is determined to be generic, holding said new module template instance in a candidate module library update set; and fourteenth means for periodically upgrading said module template library to include said candidate module library update set, wherein only one instance of each of said plurality of module templates is maintained and thus all application programs calling one of said plurality of module templates perform said specified function in conformance with plant standards. - View Dependent Claims (5, 6, 7, 8)
-
Specification