Use Case Based Requirements Verification - Verifying the Consistency between Use Cases and Assertions

Use cases and operations are complementary requirements artefacts. A use case refers to operations and imposes their sequencing. Use cases templates usually include assertions such as preconditions, postconditions and invariants. Similarly operations are specified using contracts consisting in preconditions and postconditions. In this paper, we present an approach aiming at checking the consistency of each description against the other. We attempt to answer questions such as the following. Is the use case postcondition guaranteed by the operations ? Are all operations possible according to their preconditions ? We provide answers to these questions by deriving state predicates corresponding to each step in a use case, and by showing the satisfaction of assertions according to these predicates.