Using Scenarios to Derive Software - SeDiCI

Anuncio
JCS&T Vol. 9 No. 2
October 2009
Using Scenarios to Derive Software
Graciela Dora Susana Hadad
Thesis Advisor: Prof. Dr. Julio Cesar Sampaio do Prado Leite
Co-Advisor: Prof. Ing. Jorge Horacio Doorn
Universidad Nacional de La Plata, Facultad de Ciencias Exactas, October 2008
Doctoral Thesis
[email protected]
The present thesis describes a Requirements Engineering strategy, called SDRES (Scenario Driven Requirements
Engineering Strategy), which proposes to face topics rarely treated in real practice, such as continuous changes in
requirements, software defects originated during requirements production, the organisational context surrounding the
software system and the treatment of quality requirements.
Several statistical reports on software project failures, such as Chaos Reports and GAO Reports, done during last decades
established that requirements are the main source of problems in software projects. Besides, Software Engineering has paid
more attention to model and implement products than to examine aspects related to the requirements definition and its
dependency on social aspects that involve software development and operation. Therefore, Requirements Engineering must
attend to non-technical aspects: i) to establish a good communication among stakeholders, and ii) to deeply understand the
user world.
Another obstacle in software development is requirements evolution. Continuous changes in software are motivated in a great
spectrum of causes that frequently should be attended at once. The nature of these software changes is highly related to
changes in requirements.
Thus, the key points that a requirements process should take into account are:
i. Involve clients and users in the development process. This requires the achievement of a perdurable and active
participation of them. A good communication is essential to understand their necessities.
ii. Assure requirements quality. The use of adequate V&V techniques as continuous activities through the requirements
process is mandatory.
iii. Treat requirements evolution as a perennial situation. The development process should be aware of evolution and
manage it. Therefore, requirements management with a traceability mechanism should be implemented.
iv. Consider social, organizational, political and legal aspects of the context where the software will operate. The use of
organizational modeling techniques and appropriate elicitation techniques is fundamental to understand the application
domain.
v. Tend to requirements completeness. This issue is related to quality aspects and to the domain knowledge acquisition.
This strategy is oriented to the client and driven by models: Language Extended Lexicon, Scenarios and Software
Requirements Specification. Those models are written in natural language to facilitate communication and elicitation.
SDRES keeps in mind the quality of the models providing verification and validation processes. For each activity of the
strategy a set of heuristic and recommendations is presented. The evolution topic and the model versioning are treated, as
well as different modalities to apply the strategy according to several aspects: the complexity of the problem, the previous
knowledge on the application domain, and other domain and project characteristics.
SDRES aims to obtain a better comprehension of the problem in order to create better negotiated solutions. It establishes a
solid bridge between customer necessities and designer solutions providing good domain understandability and an anchor on
domain vocabulary.
SDRES involves all the requirements engineering activities: elicitation, modeling, analysis and management, and consists
basically in:
i. Understanding the vocabulary used in the universe of discourse, help by the Language Extended Lexicon model;
ii. Understanding the current universe of discourse, help by a set of current scenarios that represent the situations observed
in the application domain;
iii. Defining the software system context, by producing a set of future scenarios that represent situations envisioned in a
future application domain where the software system will be operating; and
iv. Making explicit the requirements, by producing a SRS where the requirements are clearly individualized from the future
scenarios set.
SDRES gives a practical solution to the following topics:
Communication
A glossary with universe of discourse terminology is created (Language Extended Lexicon).
Natural language-based models and any project documentation could be written using the universe of
discourse terminology.
Evolution
Scenario models help to envision, estimate and execute requirements changes.
Software Requirements Specifications are a tool for the software process management, provide a
110
JCS&T Vol. 9 No. 2
October 2009
checklist to verify the design and provide a checklist for software testing.
Traceability
The models with hypertext links enhance pre and post navigation.
A traceability model supported by a stack of traces virtually ties actual UofD needs to software system.
The assurance of completeness within semi-formal strategies is extremely difficult. This is also true with SDRES. However,
significant efforts have been made to be exhaustive in minimizing this particular drawback throughout the entire process. The
key practices are:
i.
ii.
The Language Extended Lexicon is consistently improved along the process.
The integration of scenarios producing high level scenarios may suggest semantic gaps among scenarios. This operation
is applied both to current scenarios and future scenarios.
iii. The building of future scenarios by means of combining software system goal and current scenarios widens the
elicitation focus.
iv. The activities of verification and validation of the requirements models promote a quality oriented approach.
Recording software requirements by means of natural language structures is highly attractive since this allows the
participation of all the agents involved in the development process, avoiding the classical knowledge barriers that arise when
using other representation schemas. It has been observed that the use of slightly formalized natural language structures, such
as the language extended lexicon and scenarios, does not introduce severe difficulties to non specialized software
development people when reading them.
Scenarios allow modeling not only the current and future software system characteristics but also the current and future
behavior of the universe of discourse. Future scenarios enable the possibility of viewing influences of the software system
upon the expected context itself. SDRES aims to obtain a better comprehension of the problem in order to create better
negotiated solutions. It establishes a bridge between customer necessities and designer solutions.
111
Descargar