Método para el análisis independiente de problemas

Martínez Normand, Loïc ORCID: https://orcid.org/0000-0002-6906-5828 (2003). Método para el análisis independiente de problemas. Tesis (Doctoral), Facultad de Informática (UPM) [antigua denominación]. https://doi.org/10.20868/UPM.thesis.35305.

Descripción

Título: Método para el análisis independiente de problemas
Autor/es:
Director/es:
  • Montes Gracia, César
Tipo de Documento: Tesis (Doctoral)
Fecha de lectura: Septiembre 2003
Materias:
Escuela: Facultad de Informática (UPM) [antigua denominación]
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[thumbnail of TD_MARTINEZ_NORMAND_LOIC.pdf]
Vista Previa
PDF (Portable Document Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (3MB) | Vista Previa
[thumbnail of TD_MARTINEZ_NORMAND_LOICAnexo.pdf]
Vista Previa
PDF (Portable Document Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

habilidades de comprensión y resolución de problemas. Tanto es así que se puede
afirmar con rotundidad que no existe el método perfecto para cada una de las etapas de
desarrollo y tampoco existe el modelo de ciclo de vida perfecto: cada nuevo problema
que se plantea es diferente a los anteriores en algún aspecto y esto hace que técnicas que
funcionaron en proyectos anteriores fracasen en los proyectos nuevos.
Por ello actualmente se realiza un planteamiento integrador que pretende utilizar en
cada caso las técnicas, métodos y herramientas más acordes con las características del
problema planteado al ingeniero. Bajo este punto de vista se plantean nuevos
problemas.
En primer lugar está la selección de enfoques de desarrollo. Si no existe el mejor
enfoque, ¿cómo se hace para elegir el más adecuado de entre el conjunto de los
existentes?
Un segundo problema estriba en la relación entre las etapas de análisis y diseño. En este
sentido existen dos grandes riesgos. Por un lado, se puede hacer un análisis del
problema demasiado superficial, con lo que se produce una excesiva distancia entre el
análisis y el diseño que muchas veces imposibilita el paso de uno a otro. Por otro lado,
se puede optar por un análisis en términos del diseño que provoca que no cumpla su
objetivo de centrarse en el problema, sino que se convierte en una primera versión de la
solución, lo que se conoce como diseño preliminar.
Como consecuencia de lo anterior surge el dilema del análisis, que puede plantearse
como sigue: para cada problema planteado hay que elegir las técnicas más adecuadas, lo
que requiere que se conozcan las características del problema. Para ello, a su vez, se
debe analizar el problema, eligiendo una técnica antes de conocerlo. Si la técnica utiliza
términos de diseño entonces se ha precondicionado el paradigma de solución y es
posible que no sea el más adecuado para resolver el problema.
En último lugar están las barreras pragmáticas que frenan la expansión del uso de
métodos con base formal, dificultando su aplicación en la práctica cotidiana.
Teniendo en cuenta todos los problemas planteados, se requieren métodos de análisis
del problema que cumplan una serie de objetivos, el primero de los cuales es la
necesidad de una base formal, con el fin de evitar la ambigüedad y permitir verificar la
corrección de los modelos generados.
Un segundo objetivo es la independencia de diseño: se deben utilizar términos que no
tengan reflejo directo en el diseño, para que permitan centrarse en las características del
problema. Además los métodos deben permitir analizar problemas de cualquier tipo:
algorítmicos, de soporte a la decisión o basados en el conocimiento, entre otros.
En siguiente lugar están los objetivos relacionados con aspectos pragmáticos. Por un
lado deben incorporar una notación textual formal pero no matemática, de forma que se
facilite su validación y comprensión por personas sin conocimientos matemáticos
profundos pero al mismo tiempo sea lo suficientemente rigurosa para facilitar su
verificación. Por otro lado, se requiere una notación gráfica complementaria para
representar los modelos, de forma que puedan ser comprendidos y validados
cómodamente por parte de los clientes y usuarios.
Esta tesis doctoral presenta SETCM, un método de análisis que cumple estos objetivos.
Para ello se han definido todos los elementos que forman los modelos de análisis
usando una terminología independiente de paradigmas de diseño y se han formalizado
dichas definiciones usando los elementos fundamentales de la teoría de conjuntos:
elementos, conjuntos y relaciones entre conjuntos. Por otro lado se ha definido un
lenguaje formal para representar los elementos de los modelos de análisis – evitando en
lo posible el uso de notaciones matemáticas – complementado con una notación gráfica
que permite representar de forma visual las partes más relevantes de los modelos.
El método propuesto ha sido sometido a una intensa fase de experimentación, durante la
que fue aplicado a 13 casos de estudio, todos ellos proyectos reales que han concluido
en productos transferidos a entidades públicas o privadas.
Durante la experimentación se ha evaluado la adecuación de SETCM para el análisis de
problemas de distinto tamaño y en sistemas cuyo diseño final usaba paradigmas
diferentes e incluso paradigmas mixtos. También se ha evaluado su uso por analistas
con distinto nivel de experiencia – noveles, intermedios o expertos – analizando en
todos los casos la curva de aprendizaje, con el fin de averiguar si es fácil de aprender su
uso, independientemente de si se conoce o no alguna otra técnica de análisis. Por otro
lado se ha estudiado la capacidad de ampliación de modelos generados con SETCM,
para comprobar si permite abordar proyectos realizados en varias fases, en los que el
análisis de una fase consista en ampliar el análisis de la fase anterior. En resumidas
cuentas, se ha tratado de evaluar la capacidad de integración de SETCM en una
organización como la técnica de análisis preferida para el desarrollo de software.
Los resultados obtenidos tras esta experimentación han sido muy positivos, habiéndose
alcanzado un alto grado de cumplimiento de todos los objetivos planteados al definir el
método.---ABSTRACT---Software development is an inherently complex activity, which requires specific
abilities of problem comprehension and solving. It is so difficult that it can even be said
that there is no perfect method for each of the development stages and that there is no
perfect life cycle model: each new problem is different to the precedent ones in some
respect and the techniques that worked in other problems can fail in the new ones.
Given that situation, the current trend is to integrate different methods, tools and
techniques, using the best suited for each situation. This trend, however, raises some
new problems.
The first one is the selection of development approaches. If there is no a manifestly
single best approach, how does one go about choosing an approach from the array of
available options?
The second problem has to do with the relationship between the analysis and design
phases. This relation can lead to two major risks. On one hand, the analysis could be too
shallow and far away from the design, making it very difficult to perform the transition
between them. On the other hand, the analysis could be expressed using design
terminology, thus becoming more a kind of preliminary design than a model of the
problem to be solved.
In third place there is the analysis dilemma, which can be expressed as follows. The
developer has to choose the most adequate techniques for each problem, and to make
this decision it is necessary to know the most relevant properties of the problem. This
implies that the developer has to analyse the problem, choosing an analysis method
before really knowing the problem. If the chosen technique uses design terminology
then the solution paradigm has been preconditioned and it is possible that, once the
problem is well known, that paradigm wouldn’t be the chosen one.
The last problem consists of some pragmatic barriers that limit the applicability of
formal based methods, making it difficult to use them in current practice.
In order to solve these problems there is a need for analysis methods that fulfil several
goals. The first one is the need of a formal base, which prevents ambiguity and allows
the verification of the analysis models.
The second goal is design-independence: the analysis should use a terminology different
from the design, to facilitate a real comprehension of the problem under study. In third
place the analysis method should allow the developer to study different kinds of
problems: algorithmic, decision-support, knowledge based, etc.
Next there are two goals related to pragmatic aspects. Firstly, the methods should have a
non mathematical but formal textual notation. This notation will allow people without
deep mathematical knowledge to understand and validate the resulting models, without
losing the needed rigour for verification. Secondly, the methods should have a
complementary graphical notation to make more natural the understanding and
validation of the relevant parts of the analysis.
This Thesis proposes such a method, called SETCM. The elements conforming the
analysis models have been defined using a terminology that is independent from design
paradigms. Those terms have been then formalised using the main concepts of the set
theory: elements, sets and correspondences between sets. In addition, a formal language
has been created, which avoids the use of mathematical notations. Finally, a graphical
notation has been defined, which can visually represent the most relevant elements of
the models.
The proposed method has been thoroughly tested during the experimentation phase. It
has been used to perform the analysis of 13 actual projects, all of them resulting in
transferred products.
This experimentation allowed evaluating the adequacy of SETCM for the analysis of
problems of varying size, whose final design used different paradigms and even mixed
ones. The use of the method by people with different levels of expertise was also
evaluated, along with the corresponding learning curve, in order to assess if the method
is easy to learn, independently of previous knowledge on other analysis techniques. In
addition, the expandability of the analysis models was evaluated, assessing if the
technique was adequate for projects organised in incremental steps, in which the
analysis of one step grows from the precedent models. The final goal was to assess if
SETCM can be used inside an organisation as the preferred analysis method for
software development.
The obtained results have been very positive, as SETCM has obtained a high degree of
fulfilment of the goals stated for the method.

Más información

ID de Registro: 35305
Identificador DC: https://oa.upm.es/35305/
Identificador OAI: oai:oa.upm.es:35305
Identificador DOI: 10.20868/UPM.thesis.35305
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 21 May 2015 09:59
Ultima Modificación: 10 Oct 2022 09:22
  • Logo InvestigaM (UPM)
  • Logo Sherpa/Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Logo Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Logo del Portal Científico UPM
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo de Recolecta
  • Logo de OpenCourseWare UPM