Representing non-functional requirements (NFRS) in unified modeling language (UML)
AssigneeInternational Business Machines Corporation
InventorsGiuseppe Ciano, Scot MacLellan, Antonio Perrone
Life of this patent
Estimating the term…
Abstract
Modeling non-functional requirements (NFRs) in a computer programming environment. In one aspect, this further comprises: identifying use case (UC) artifacts having one or more NFRs; retrieving the one or more NFRs and any data associated therewith; analysing the associated data to define a test case therefor; retrieving a UC realization from a model to determine one or more possible program flows; and testing each possible program flow to select the test case which verifies the use case required, thereby modeling the NFR.
Claims11
A method of modeling non-functional requirements (NFRs) in a computer programming environment, comprising:
- identifying each of a plurality of use case (UC) artifacts that each have one or more NFRs applied thereto;
- for each of the identified UC artifacts, retrieving the one or more NFRs applied thereto, and for each retrieved NFR, any data associated therewith, the associated data comprising at least a stereotype for the NFR;
- for each of the retrieved NFRs, using the associated stereotype to access an NFR testing knowledge library to determine whether the NFR has test case definition information stored therein, the test case definition information specifying how to define a test case for the NFR;
- for each of the identified UC artifacts, retrieving a corresponding UC realisation from a model repository to determine one or more possible program flows identified for the corresponding UC realisation;
- responsive to determining that any of the retrieved NFRs has test case definition information stored in the NFR testing knowledge library, using the stored test case definition information, along with the one or more possible program flows determined from the UC realisation that corresponds to the identified UC artifact to which the retrieved NFR is applied, to generate a test case for at least one of the one or more possible program flows;
- and
- for each of the identified UC artifacts, testing each of the generated test cases to verify that the UC artifact satisfies the one or more NFRs applied to the UC artifact, thereby modeling the NFRs in the computer programming environment.
A computer program executable on a programmable apparatus for modeling non-functional requirements (NFRs) in a computer programming environment, the computer program stored on non-transitory computer-readable storage media and comprising computer-readable instructions which, when executed by the programmable apparatus, cause the programmable apparatus to perform:
- identifying each of a plurality of use case (UC) artifacts that each have one or more NFRs applied thereto;
- for each of the identified UC artifacts, retrieving the one or more NFRs applied thereto, and for each retrieved NFR, any data associated therewith, the associated data comprising at least a stereotype for the NFR;
- for each of the retrieved NFRs, using the associated stereotype to access an NFR testing knowledge library to determine whether the NFR has test case definition information stored therein, the test case definition information specifying how to define a test case for the NFR;
- for each of the identified UC artifacts, retrieving a corresponding UC realisation from a model repository to determine one or more possible program flows identified for the corresponding UC realisation;
- responsive to determining that any of the retrieved NFRs has test case definition information stored in the NFR testing knowledge library, using the stored test case definition information, along with the one or more possible program flows determined from the UC realisation that corresponds to the identified UC artifact to which the retrieved NFR is applied, to generate a test case for at least one of the one or more possible program flows;
- and
- for each of the identified UC artifacts, testing each of the generated test cases to verify that the UC artifact satisfies the one or more NFRs applied to the UC artifact, thereby modeling the NFRs in the computer programming environment.
A system for modeling non-functional requirements (NFRs) in a computer programming environment, the system comprising:
- a computer comprising a processor;
- and
- instructions which are executable, using the processor, to implement functions comprising:
- identifying each of a plurality of use case (UC) artifacts that each have one or more NFRs applied thereto;
- for each of the identified UC artifacts, retrieving the one or more NFRs applied thereto, and for each retrieved NFR, any data associated therewith, the associated data comprising at least a stereotype for the NFR;
- for each of the retrieved NFRs, using the associated stereotype to access an NFR testing knowledge library to determine whether the NFR has test case definition information stored therein, the test case definition information specifying how to define a test case for the NFR;
- for each of the identified UC artifacts, retrieving a corresponding UC realisation from a model repository to determine one or more possible program flows identified for the corresponding UC realisation;
- responsive to determining that any of the retrieved NFRs has test case definition information stored in the NFR testing knowledge library, using the stored test case definition information, along with the one or more possible program flows determined from the UC realisation that corresponds to the identified UC artifact to which the retrieved NFR is applied, to generate a test case for at least one of the one or more possible program flows;
- and
- for each of the identified UC artifacts, testing each of the generated test cases to verify that the UC artifact satisfies the one or more NFRs applied to the UC artifact, thereby modeling the NFRs in the computer programming environment.
Dependencies are inferred from the claim text.