27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

equirement specification with the case base and gauges the<br />

level of quality thereof. Praehofer and Kerschbaummayr [6]<br />

defined a tool called CASA (Computer Aided <strong>Systems</strong><br />

Architecting) focused on reusing artifacts of Requirements<br />

Engineering. The similarity calculation method takes into<br />

account the structural organization of the documents.<br />

Similarities are thereby found between an input artifact and the<br />

Artifacts Base, to find the artifacts that are structurally similar<br />

to the input artifact. Based on this, the tool tries to reuse similar<br />

structures to create new artifacts. In most of the approaches that<br />

use CBR in the activities and phases of Software Engineering,<br />

we identified the single and prevalent use of the attribute-value<br />

formalism for representation and retrieval of similar cases<br />

previously stored in the case base.<br />

III. AN ARTIFICIAL INTELLIGENCE APPROACH FOR REUSE<br />

OF EXPERIENCES IN REQUIREMENTS ENGINEERING<br />

Intelligent <strong>Systems</strong> that use techniques of Case Based<br />

Reasoning (CBR) are based on the simple idea that, in similar<br />

problems, similar solutions apply. CBR is an approach to<br />

problem solving and experience-based learning, solving<br />

problems by retrieving and adapting past experiences – called<br />

cases – stored in a Case Base [7]. Specifically in the Software<br />

Engineering community, there is a consensus that most<br />

problems are recurring, therefore managing cases from<br />

previous projects enables the implementation of successful<br />

solutions in several new projects, avoiding waste of resources<br />

to address repeating situations.<br />

The knowledge base of a CBR system is represented in the<br />

form of cases, a Case Base, that describe concrete experiences<br />

of problems that have occurred and the solution(s) that were<br />

applied. In this paper, we propose a hybrid formalism for<br />

representation of a case: object-oriented and natural language.<br />

Figure 1 shows a class diagram in UML for the representation<br />

of a case. A case is described by a Problem and one or more<br />

objects of the Solution class.<br />

The basic attributes of a problem are: (i) project — name of<br />

project where the case was verified; (ii) phase — phase of<br />

software engineering where the problem occurred, for example:<br />

“Requirements”; (iii) sub-phase — sub-phase where the<br />

problem occurred, for example: “Requirements Elicitation,”<br />

“Requirements Analysis,” etc.; (iv) artifact — artifact where<br />

the problem was found, for example: “Use Case,” “Business<br />

Rules,” etc.; (v) causer — who or what caused the problem, for<br />

example, “Person,” “Technology,” “Process,” etc.; (vi) cause<br />

— cause(s) of the problem. Some examples include: “usage<br />

case scenario unspecified,” “business rule unspecified,”<br />

“change in business rule unspecified,” “traceability matrix<br />

incomplete,” etc.<br />

These basic attributes serve as an initial qualification of the<br />

problem. However, they are not enough to express it fully and<br />

with all the specificities necessary for possible reusability.<br />

Additionally, in order to enable a complete and natural<br />

representation of a problem, we propose the attribute called<br />

description that contains a textual report on the problem related<br />

to the case.<br />

Additionally, the basic attributes of a solution are: (i) action<br />

— description of what was done to solve the problem; (ii)<br />

executor — who performed the action; (iii) artifact — artifacts<br />

to be changed to the solution to be implemented; and (iv)<br />

involved — people, processes or organizations who have been<br />

affected by the deployment of the solution.<br />

FIGURE 1. CLASS DIAGRAM OF THE CASE BASE, IN UML.<br />

The process proposed to support the reuse of experiences in<br />

RE using techniques of CBR and NLP is shown in Figure 2 and<br />

detailed below.<br />

6<br />

3<br />

4<br />

5<br />

FIGURE 2. ARCHITECTURE OF THE PROCESS TO SUPPORT THE REUSE OF<br />

EXPERIENCES IN ER.<br />

2<br />

1<br />

575

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!