examples used in this paper use case step sentences are constructed to answer this
question – who does what? For example, “Librarian checks out the book from book
fund”. The verb phrase of the use case step’s sentence is considered the action.
Moreover, use case’s actors will be considered as objects involved in the action and
entities responsible for the action. The title can partly be considered as a functional
requirement.
TFM Fetcher component has to be able to form the corresponding functional
features by analyzing the use case sentences. For this purpose natural language
processing methods have to be applied.
Concrete syntax tree, or parse tree for short, will be used for the analysis of use
case sentences. Parse tree is a tree that represents the syntactic structure of a sentence
according to some formal grammar [15]. Parse trees are usually output of parsers,
which can use different methods for finding the right parse tree for the specific
sentence. The most efficient parsers are statistical parsers which associate grammar
rules with probability. For example, use case sentences “Librarian checks out the
book from book fund” will be parsed using The Stanford Parser [16]. By exploiting
statistical parser it is possible to acquire the structure of the sentence, and thus analyze
it. Stanford Parser creates a hierarchical structure of the sentence and ads the
corresponding Part-Of-Speech tags according to [17].
First an action of the corresponding functional feature has to be identified. In this
case it is the verb phrase (VP tag) of the sentence – “checks out the book from book
fund”. It consists of the object action (checks), the result of the action (book) and
object involved in the action (book fund). The responsible entity for the action can be
determined by comparing the actors list of the use case and the noun phrase (NP tag).
In this case the noun phrase is “Librarian” and there is “Librarian” in the actors list as
well, so the entity responsible for the action probably is “Librarian”. Preconditions
can be determined by analyzing the first steps of use case’s sub-variations and
extensions. If the current functional feature is represented as the first step of use case
main scenario, then one additional precondition will match the precondition of the use
case itself. If current step has a sub-variation, then the functional feature represented
by the next step will have a precondition that is the opposite of the sub-variation
condition. For example, sub-variation “If book is not available in the book fund,
librarian denies the book request form” will result in a precondition “Book is not
available in the book fund” for functional feature “denies the book request form”, but
an opposite precondition for functional feature “checks out the book from book fund”.
Use case extensions define their own precondition; obviously the condition in the
extension’s sentence is the precondition of the functional feature represented, but the
opposite precondition for the next step. Functional feature’s subordination can be
determined only by the user of the TFM Tool.
The identified functional features are represented as <number: action,
preconditions, responsible entity>. As mentioned earlier subordination can only be set
by the system analyst. By analyzing use case sentences the following functional
features can be derived: 1: Arrives at the library, {}, Client; 2: Shows a reader’s card,
{}, Client; 3: Authorizes reader status, {}, Librarian; 4: Hands out a registration form,
{Client doesn’t have a reader card}, Librarian; 5: Fills the registration form, {},
Client; 6: Creates a new reader account, {}, Librarian; 7: Creates a new reader card,
{}, Librarian; 8: Hands out reader card, {}, Librarian; 9: Searches for a book in the
catalogue, {}, Client; 10: Hands out a request form, {}, Librarian; 11: Fills the request
38