5 research outputs found
A Lightweight State Machine for Validating Use Case Descriptions
This paper presents a tool to provide an enaction
capability for use case descriptions. Use cases have
wide industry acceptance and are well suited for
constructing initial approximations of the intended
behaviour. However, use case descriptions are still
relatively immature with respect to precise syntax
and semantics. Hence, despite promising work on
providing writing guidelines, rigorous validation of
use case descriptions requires further support.
One approach to supporting validation is to use
enaction. Indeed, enactable models have been used
extensively within process modelling to clarify
understanding of descriptions.
Given the importance of requirements validation,
such automated support promises significant benefits.
However, the need to produce formal descriptions, to
drive enaction, is often seen as a barrier to the takeup
of such technologies. That is, developers have
traditionally been reluctant to increase the
proportion of effort devoted to requirements
activities. Our approach involves the development of
a lightweight state-machine, which obviates any need
to create intermediate formal descriptions, thereby
maintaining the simple nature of the use case
description.
Hence, this 'lightweight' approach, which provides
an enaction capability ‘for minimal effort’, increases
the likelihood of industrial take-up
A graphically based language for constructing, executing and analysing models of software systems.
With computer systems becoming ever larger and more complex, the cost and effort associated with their construction is increasing and the systems are now sufficiently complex that developers need help to analyse and understand them. However, at design time, when this understanding is crucial, the system is unavailable because it has yet to be built. Formal, executable models can help with this problem by providing developers with a platform on which to establish the feasibility of a proposed design. However, commercial developers seem reluctant to employ this type of modelling in their design activity. This paper describes a modelling tool in which the traditional model generation technique of writing “programming language like” code is replaced with a model generation tool which uses a graphical representation of models whilst retaining sufficient formality to permit the models to be executed, or converted into code for analysis by a traditional model checking tool
Requirement validation with enactable descriptions of use cases.
The validation of stakeholder requirements for a software system is a pivotal activity for any nontrivial software development project. Often, differences in knowledge regarding development issues, and knowledge regarding the problem domain, impede the elaboration of requirements amongst developers and stakeholders. A description technique that provides a user perspective of the system
behaviour is likely to enhance shared understanding between the developers and stakeholders. The Unified Modelling Language (UML) use case is such a notation. Use cases describe the behaviour of a system (using natural language) in terms of interactions between the external users and the system. Since the standardisation of the UML by the Object Management Group in 1997, much research has been devoted to use cases. Some researchers have focussed on the provision of writing guidelines for use case specifications whereas others have focussed on the application of formal techniques. This thesis investigates the adequacy of the use case description for the specification and validation of
software behaviour. In particular, the thesis argues that whereas the user-system interaction scheme underpins the essence of the use case notation, the UML specification of the use case does not provide a mechanism by which use cases can describe dependencies amongst constituent interaction steps. Clarifying these issues is crucial for validating the adequacy of the specification against stakeholder expectations. This thesis proposes a state-based approach (the Educator approach) to use case specification where constituent events are augmented with pre and post states to express both intra-use case and
inter-use case dependencies. Use case events are enacted to visualise implied behaviour, thereby enhancing shared understanding among users and developers. Moreover, enaction provides an early "feel" of the behaviour that would result from the implementation of the specification. The Educator approach and the enaction of descriptions are supported by a prototype environment, the EducatorTool,
developed to demonstrate the efficacy and novelty of the approach. To validate the work presented in this thesis an industrial study, involving the specification of realtime
control software, is reported. The study involves the analysis of use case specifications of the subsystems prior to the application of the proposed approach, and the analysis of the specification where the approach and tool support are applied. This way, it is possible to determine the efficacy of the Educator approach within an industrial setting
Requirement validation with enactable descriptions of use cases
The validation of stakeholder requirements for a software system is a pivotal activity for any nontrivial software development project. Often, differences in knowledge regarding development issues, and knowledge regarding the problem domain, impede the elaboration of requirements amongst developers and stakeholders. A description technique that provides a user perspective of the system behaviour is likely to enhance shared understanding between the developers and stakeholders. The Unified Modelling Language (UML) use case is such a notation. Use cases describe the behaviour of a system (using natural language) in terms of interactions between the external users and the system. Since the standardisation of the UML by the Object Management Group in 1997, much research has been devoted to use cases. Some researchers have focussed on the provision of writing guidelines for use case specifications whereas others have focussed on the application of formal techniques. This thesis investigates the adequacy of the use case description for the specification and validation of software behaviour. In particular, the thesis argues that whereas the user-system interaction scheme underpins the essence of the use case notation, the UML specification of the use case does not provide a mechanism by which use cases can describe dependencies amongst constituent interaction steps. Clarifying these issues is crucial for validating the adequacy of the specification against stakeholder expectations. This thesis proposes a state-based approach (the Educator approach) to use case specification where constituent events are augmented with pre and post states to express both intra-use case and inter-use case dependencies. Use case events are enacted to visualise implied behaviour, thereby enhancing shared understanding among users and developers. Moreover, enaction provides an early "feel" of the behaviour that would result from the implementation of the specification. The Educator approach and the enaction of descriptions are supported by a prototype environment, the EducatorTool, developed to demonstrate the efficacy and novelty of the approach. To validate the work presented in this thesis an industrial study, involving the specification of realtime control software, is reported. The study involves the analysis of use case specifications of the subsystems prior to the application of the proposed approach, and the analysis of the specification where the approach and tool support are applied. This way, it is possible to determine the efficacy of the Educator approach within an industrial setting.EThOS - Electronic Theses Online ServiceGBUnited Kingdo