NDT & METRICA V3
An Approach for Public Organizations based on Model Driven Engineering
1
M. J. Escalona,
1
J. J. Gutiérrez,
1
J. A. Ortega,
1
I. Ramos and
2
G. Aragón
1
University of Seville, Spain
2
everis, Spain
Keywords: Web Engineering, public administrations, Web Requirements, Métrica.
Abstract: In Spain, the Ministry of Public Administrations defined a methodological environment, named Métrica v3,
to develop software system in public administrations in Spain. External companies that work for public
administrations, internal software departments or software engineer have to follow the life cycle of Métrica
for developing their software systems. However, when Web systems are developed, Métrica could be
enriched with new approaches from the Web Engineering environment. In this paper, a fusion between
Métrica and NDT, a web approach for requirements treatment and analysis, is presented. This fusion is
being applying in real projects with very good results.
1 INTRODUCTION
In enterprise environments, the application of
software engineering is not yet a common practise.
However, everyday more companies and
organization apply software approaches in order to
develop more quality software.
In Spain, the Ministry of Public Administrations
defined a methodological environment named
Métrica (www.csi.map.es/csi/metrica3). In this
approach, a life cycle and a group of techniques and
models are defined in detail. Public organizations in
Spain follow Métrica in their internal project, which
are developed by themselves, but also they commit
their software suppliers to use the methodology.
On the other hand, in the last years, a high
number of software projects are developed in the
Web environment.
In this paper, a normalization of the requirements
treatment of Métrica is proposed. This normalization
is
based on the fusion of Métrica and NDT
(Navigational Development Techniques) (Escalona,
2004). NDT is a Model Driven Web Engineering
approach to deal with requirements in web software
projects, although it can be also applied in classic
projects. The fusion between both techniques offers
a suitable reference for Web software development
that is being applied in Seville in different real
projects.
In order to introduce the fusion and its
advantages, in section 2 and 3 Métrica and NDT are
described. In section 4, the approach of fusion is
analysed and, in section 5, the advantages and the
practical experience of this fusion are presented with
conclusions and future works.
2 MÉTRICA V3
Métrica is a methodological environment developed
by the Spanish Ministry of Public Administration. In
the last version of Métrica, V3, the object oriented
paradigm was included as an option of developed
and Métrica proposes to use UML (OMG, 2003) to
model different aspects in the life cycle. The life
cycle of Métrica v3 starts with the Information
System Planning (PSI) where the organization is
studied and the environment for developing and new
systems in the organization are defined.
When the PSI defines the necessity of a new
system, a viability study must be developed (EVS).
EVS is an optional phase but it is mandatory in big
and complex developments.
The next phases are mandatory for each system.
The first phase, the analysis phase (ASI) must detect
system requirements and analyse them in order to
define the scope of the system. After the analysis,
the design phase must be affronted (DSI). The next
phase is the construction of the system (CSI), where
the system is translated into the selected
programming language. And, finally, the
maintenance phase must be applied (MSI). For each
phase, Métrica defines tasks and objectives that must
be covered.
224
J. Escalona M., J. Gutiérrez J., A. Ortega J., Ramos I. and Aragón G. (2008).
NDT & METRICA V3 - An Approach for Public Organizations based on Model Driven Engineering.
In Proceedings of the Fourth International Conference on Web Information Systems and Technologies, pages 224-227
DOI: 10.5220/0001516602240227
Copyright
c
SciTePress
Besides, Métrica offers a technique guide that can be
applied in each task.
Métrica is highly applied in Spain, mainly in
public administration. However, also private
companies use it because they have to follow their
public clients’ rules. Métrica is a very complex and
extensive approach. It offers a wide life cycle with a
wide number of techniques and tasks. However, for
companies, sometimes it is very complex to identify
which parts of Métrica must be used or what
products must be generated.
This problem is very relevant in the requirements
treatment because, in Métrica, only the use case
diagram technique (OMG, 2003) is proposed for this
phase. Use cases, mainly in complex environments,
are very ambiguous and they must be completed
with some description in order to save this
ambiguity (Insfran et al., 2002) (Vilain et al., 2002).
Besides, they are not enough to extract the necessary
information to get analysis models.
3 NDT: NAVIGATIONAL
DEVELOPMENT TECHNIQUES
NDT is a model-driven Web methodological process
focused on the requirements and the analysis phases.
NDT offers a systematic way to deal with the special
characteristic of the web environment. NDT is based
on the definition of formal metamodels, presented in
(Escalona, 2004), that allow to create derivation
relations between models. NDT takes this theoretic
base and enriches it with the necessary elements to
define a methodology: techniques, models,
methodological process, etc. in order to offer a
suitable context to be applied in real projects.
In this sense, NDT starts with the theoretic
definition of the requirements engineering
metamodels and it proposes a methodological
environment to drive the team in the capture,
definition and validation of requirements. With the
theoretic base of metamodels and relations, the next
phase is the analysis phase. In the analysis phase
three models are generated. (1) The conceptual
model that defines the static structure of the
information and its relations. (2) The navigational
model that defines how users can navigate through
the information. (3) The abstract interface model is
composed by a group of HTML and XML
prototypes that let validate the conceptual and
navigational models (Olsina, 2002).
However, the generation of these three models is
made in two phases. In the first one, analysis models
are generated systematically from the requirements
using the theoretic relations defined between
models. These models are named basic analysis
models. In these basic models, the analyst can make
some changes in order to make them more suitable,
getting the final analysis models.
NDT also normalizes the structure of the results
that must be developed during the requirements
engineering and the analysis phase because it offers
a complete definition of each obtained document.
In conclusion, NDT can be defined as a
methodology to the requirements and analysis
phases, the rest of the life cycle is dealt with other
approaches. NDT is offered to cover a gap in the
treatment of the first phases of the life cycle in the
Web Engineering (Escalona et al. 2007).
Finally, it is important to stick out that NDT has
an associated tool, named NDT-Tool (Escalona
2004) that supports all the life cycle of NDT. This
tool lets automate all the systematic processes of
NDT, applies all its techniques and gets the results
automatically.
4 FUSION OF METRICA
V3 & NDT
According to section 2, one of the main gaps of
Métrica is that it proposes use cases as the only
technique to deal with requirements and in complex
and big systems they are too ambiguous. NDT is an
approach based on UML that offers a
methodological environment to deal with
requirements. Métrica v3 offers the possibility of
working in the object oriented paradigm or in the
structured paradigm. Our fusion is focused in the
object oriented paradigm because NDT is
completely object oriented.
We propose an extension for ASI phase of
Métrica. NDT techniques and model-driven Web
engineering are fused to Métrica in order to get a
normalization of requirements. Focusing our work in
the ASI phase, Métrica proposes 11 activities. Each
of these activities will be redefined and enriched by
our approach. In figure 1 the ASI structure is
presented. Shadowed phases are not necessary for
object oriented development.
The fusion can be affronted easily using the
power of metamodels. Métrica assumes UML as a
modeller language for all its analysis models. UML
defines a metamodel for each model proposed in the
model language. By other side, NDT is based on a
set of metamodel, which are extensions of UML
metamodel. Using the power of the heritage, NDT
defines the same concepts than UML and some
concepts news. In this sense, NDT follows the idea
proposes in (Escalona & Koch, 2007), where the
power of metamodels are presented to fuse
approaches.
NDT & METRICA V3 - An Approach for Public Organizations based on Model Driven Engineering
225
The idea of extension is used to enrich Métrica in
each activity of ASI in three ways:
1- With new concepts.
2- With new techniques to deal with concepts.
3- With new normalization to represent
concepts.
In this section, each activity of ASI is presented
in detail and the extension of the fusion is described.
Figure 1: ASI tasks.
System Definition
In this activity, Métrica propose to define the system
environment, the development team and the group of
standards and rules of the company that must be
used. Métrica proposes to use techniques like
interviews and use cases to define the system. NDT
proposes enriched it with the use of patterns. NDT
defines a specific pattern to collect system
objectives. Besides, it proposes to use another
requirements elicitation techniques like JAD,
Brainstorming, Concept Map, Checklist, etc.
(Escalona, 2004).
Requirements Definition
In the second activity, Métrica proposes to elicit,
define and validate requirements. Techniques
proposes by Métrica are interviews, workshops and
use cases. NDT increases this activity with specific
techniques to elicit requirements, like JAD or
Brainstorming and with specific techniques to
validate them, like thesaurus, reviews and glossaries.
However, the most important contribution of NDT
in this activity is to offer a group of patterns to
define requirements and enriches use cases. In this
activity, Métrica proposes to get the requirements
catalogue. NDT offers a template for this document
in order to include all the necessities of the system.
Even, if NDT-Tool is used, the generation of the
requirements catalogue in pdf is an automatic process.
Analysis Subsystems Identification
Analysing requirements, Métrica proposes in the
third activity to identify the different subsystems in
the system. For the object oriented paradigm,
Métrica uses the package diagram of UML for that
activity. NDT proposes use the same technique.
However, the generation of package in analysis is a
systematic task in NDT. Following the requirements
definition in patterns and applying model driven
engineering, NDT divides the system into two
packages: nature and normal classes. After that, the
analyst can make some changes, but NDT controls
that these changes are agree with requirements.
Use Cases and Classes Analysis
In activities four and five, Métrica poses to analyse
the use cases and to build the class diagram. This
step in NDT is automatic from the requirements.
NDT offers a systematic way, based on MDE, to
extract the requirements information and get the
class diagram. If NDT-Tool is used, this step is
completely automatic. This class diagram is the
basic class diagram. After generating it, the
development team can follow NDT heuristics to get
the final model.
Data Model and Process Model Generation
Activities six and seven are to generate the data
model and the process model. These activities only
must be executed in the structured paradigm. Our
approach only works in the object oriented
paradigm, thus we are not going to deal with these
activities.
User Interface Generation
In the eighth activity, Métrica proposes to get the
user interface. NDT offers a new orientation for this
activity. NDT enriches Métrica and proposes to get
two different models in this activity. (1) The
navigational model, using a class diagram to
represent the navigation possibilities of the system.
(2) The prototype model, using html to model the
future interface of the system without design detail.
Both models can be generated from requirements in
NDT using metamodels and MDE.
Consistency Analysis
When the analysis is developed and before
generating the analysis document, Métrica proposes
to study the consistence between requirements and
analysis models. If our approach is used, this activity
is not necessary. If patterns to describe requirements
are used and MDE is applied following the NDT
rules, requirements and analysis models are
consistent. Relations define between NDT
metamodels assure that changes are controlled and
they do not provoke inconsistencies in requirements
and analysis.
Test Planning Specification and Analysis
Approbation
Finally, in activities ten and eleven, Métrica
proposes to define the test planning and to validate
and approve the analysis results. In this sense, NDT
assume the Métrica guides and techniques and it did
not add any change.
WEBIST 2008 - International Conference on Web Information Systems and Technologies
226
5 CONCLUSIONS AND FUTURE
WORKS
This paper presented a successful fusion between
two software approaches: Métrica and NDT. The
first one is a general methodological environment to
develop software systems in public administration in
Spain and, the second one is a MDWE approach to
deal with the requirements and the analysis phase.
As it was introduced, Métrica is a very used
technique to develop software systems in Spain.
Public organization and private companies use it as a
reference to develop their system. Everyday, the
object oriented version of Métrica is more used and,
nowadays, most projects are developed using the
OO paradigm in Métrica. However, as we said,
Métrica is sometime ambiguous.
With our fusion, Métrica is enriched with:
The requirements treatment of Métrica is
enriched with requirements elicitation
techniques, with requirements definition
techniques and with requirements validation
techniques.
Model-driven engineering NDT techniques are
included in the ASI phase. They allow generating
model systematically from the requirements.
Even this derivation can be automatic if NDT-
Tool is used. This generation reduces the
development time.
The requirements catalogue and the analysis
document can be developed automatically with
NDT-Tool.
ASI phase can be affronted using NDT-Tool.
The tool guarantees the consistency between
requirements and model and reduces the
development time, because it produces results
automatically.
For these advantages, our fusion was accepted by
several companies in Andalusia. The Consejería de
Cultura and the Servicio Andaluz de Salud, assumed
the fusion of Métrica and NDT presented to
developed their projects. Two companies, Telvent
and everis, also accepted the approach for their
development. Besides, NDT is a technique applied
in several real projects. In (Escalona et al., 2006), a
general view of these applications can be found.
If we try to analyse why this fusion was possible,
the answer is on metamodels. NDT is completely
metamodelled as an extension of UML 2.0. The OO
version of Métrica proposes to use UML 2.0 as
modeller language. Obviously, metamodels of
Métrica and metamodels of UML are the same.
Thus, basically, our approach is the extension of
Métrica metamodels using the extension of NDT.
The facility of fusion based on the fusion of
metamodels is an important fact. Model-driven
engineering proposes to focus the approach on the
definition of metamodels and relations between
them, and also derivation rules to generate one
model from another. Thus, our practical approach
proves this idea and concludes with very good
results.
Results in real projects are so good, that we are
working in different areas to advance in this kind of
approach. First, we are working in the tool, NDT-
Tool. It is being revised in order to improve its
usability and navigability. Another important actual
and future work is to review the next phases of
Métrica. For this work, we are focusing in the fusion
of metamodels and, after that, we presented a new
definition of DSI like the one presented for ASI in
section 4.
Obviously, we want to continue working with
real projects because it is a very interesting feedback
for our works.
ACKNOWLEDGEMENTS
This research has been supported by the project
QSimTest (TIN2007-67843-C06_03) and by the
RePRIS project of the Ministerio de Educación y
Ciencia (TIN2007-30391-E), Spain.
REFERENCES
Escalona, M.J. Modelos y técnicas para la especificación y
el análisis de la Navegación en sistemas software. Ph.
European Thesis. Department of Computer Languages
and Systems. University of Seville. Spain. 2004.
Escalona, M.J., Gutierrez, J.J., Villadiego, D., León, A.,
Torres, A.H. Practical Experience in Web Engineering.
Proceedings of the ISD 2006. Check Republic. 2006.
Escalona, M.J., Torres, J., Mejías, M., Gutierrez, J.J. and
Villadiego, D. The Treatment of Navigation in Web
Engineering. Advances in Engineering Software. Vol.
38 (4), 267-282, 2007.
Escalona, M.J. and Koch, N. Metamodeling Requirements
of Web Systems. Web Information Systems and
Technologies. Int. Conf. WebIST 2005 and WebIST
2006, Revised selected papers. Springer Verlag. Vol.
1, 267-280, 2007.
Insfrán, E., Pastor, O., Wieringa, R. Requirements
Engineering-Based Conceptual Modelling.
Requirements Engineering Journal, Vol 7 (1). 2002.
Olsina, L., Rossi, G. Measuring Web Application Quality
with WebQEM. IEEE Multimedia. pp. 20-45. 2002.
The Unified Modeling Language V.2.0. Object
Management Group. OMG. 2003.
Vilain, P., Schwabe, D., Sieckenius, C. A diagrammatic
Tool for Representing User Interaction in UML.
Lecture Notes in Computer Science. UML’2002.
England 2002.
NDT & METRICA V3 - An Approach for Public Organizations based on Model Driven Engineering
227