Modelos de Desarrollo
Cada
modelo representa un proceso desde una perspectiva particular y así proporcione
información parcial sobre el proceso. Éstos modelos generales no son
descripciones definitivas de los procesos del software más bien son
abstracciones de los procesos que se pueden utilizar para el desarrollo del
software. Puede pensarse en ellos como marcos de trabajo del proceso y que
pueden ser adaptados para crear procesos más específicos.
En
esta ocasión analizaremos los distintos modelos de desarrollo de software de
manera sintetizada a fin de ir reconociendo y así tener más herramientas y
opciones en la documentación de proyectos futuros, así como también para el
conocimiento de las diferentes técnicas o métodos para el desarrollo de
software que existen actualmente y posteriormente daremos pie a la
profundización de todas aquellas que se consideren indispensables para el
acervo estudiantil y, en este caso, útiles a los propósitos de aprendizaje de
la materia (Introducción al Análisis y desarrollo de Sistemas).
Modelo en cascada
Este es el más básico de todos los modelos y ha servido como bloque de construcción para los demás paradigmas de ciclo de vida. Está basado en el ciclo convencional de una ingeniería y su visión es muy simple: el desarrollo de software se debe realizar siguiendo una secuencia de fases. Cada etapa tiene un conjunto de metas bien definidas y las actividades dentro de cada una contribuyen a la satisfacción de metas de esa fase o quizás a una subsecuencia de metas de la misma. El arquetipo del ciclo de vida abarca las siguientes actividades:
Modelo: Desarrollo Evolutivo (Espiral)
Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado; incluso evolucionar más allá, durante la fase de operación. Los modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más conocidos y utilizados del tipo evolutivo.
La idea detrás de este modelo es el desarrollo de una implantación del sistema inicial, exponerla a los comentarios del usuario, refinarla en N versiones hasta que se desarrolle el sistema adecuado. Una ventaja de este modelo es que se obtiene una rápida realimentación del usuario, ya que las actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración.
Modelo: Basado en componentes
El modelo de desarrollo basado en componentes incorpora muchas de las características del modelo espiral. Es evolutivo por naturaleza y exige un enfoque interactivo para la creación del software. Sin embargo, el modelo de desarrollo basado en componentes configura aplicaciones desde componentes preparados de software (clases).
El modelo de desarrollo basado en componentes conduce a la reutilización del software, y la reutilización proporciona beneficios a los ingenieros de software.
El desarrollo de software basado en componentes se ha convertido actualmente en uno de los mecanismos más efectivos para la construcción de grandes sistemas y aplicaciones de software.
Modelo: Desarrollo de prototipos
Modelo: Proceso de transformación formal.
Modelo de desarrollo: PSC
Modelo XP
Scrum es un
proceso en el que se aplican de manera regular un conjunto de buenas prácticas
para trabajar colaborativamente, en equipo, y obtener el mejor resultado
posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección
tiene origen en un estudio de la manera de trabajar de equipos altamente
productivos.
Donde se realizan
entregas parciales y regulares del producto final, priorizadas por el beneficio
que aportan al receptor del proyecto. Por ello, Scrum está especialmente
indicado para proyectos en entornos complejos, donde se necesita obtener
resultados pronto, donde los requisitos son cambiantes o poco definidos, donde
la innovación, la competitividad, la flexibilidad y la productividad son
fundamentales.
Proceso Unificado de Desarrollo de Software
Es una metodología de desarrollo de software que está basado
en componentes e interfaces bien definidas, y junto con el Lenguaje Unificado
de Modelado (UML), constituye la metodología estándar más utilizada para el
análisis, implementación y documentación de sistemas orientados a objetos.
“Es un proceso que
puede especializarse para una gran variedad de sistemas de software, en
diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes
niveles de aptitud y diferentes tamaños de proyecto.” (EUMED, 2017)
RUP no es un sistema con pasos firmemente establecidos, sino
un conjunto de metodologías adaptables al contexto y necesidades de cada
organización.
“Es el resultado de
varios años de desarrollo y uso práctico en el que se han unificado técnicas de
desarrollo, a través del UML, y trabajo de muchas metodologías utilizadas por
los clientes. La versión que se ha estandarizado vio la luz en 1998 y se
conoció en sus inicios como Proceso Unificado de Rational 5.0; de ahí las
siglas con las que se identifica a este proceso de desarrollo.” (Ecu Red,
2017)
Los orígenes de RUP se remontan al modelo espiral original
de Barry Boehm. Ken Hartman, uno de los contribuidores claves de RUP colaboró
con Boehm en la investigación. En 1995 Rational Software compró una compañía
sueca llamada Objectory AB, fundada por Ivar Jacobson, famoso por haber
incorporado los casos de uso a los métodos de desarrollo orientados a objetos.
El Rational Unified Process fue el resultado de una
convergencia de Rational Approach y Objectory (el proceso de la empresa
Objectory AB). El primer resultado de esta fusión fue el Rational Objectory
Process, la primera versión de RUP, fue puesta en el mercado en 1998, siendo el
arquitecto en jefe Philippe Kruchten.
FUNDAMENTOS DE LA POO
La POO es una técnica para desarrollar soluciones
computacionales utilizando componentes de software (objetos de software).
Objeto:
Componente o código de software que contiene en sí mismo tanto sus
características (campos) como sus comportamientos (métodos); se accede a través
de su interfaz o signatura.
Campo: Es una
característica de un objeto, que ayuda a definir su estructura y permite
diferenciarlo de otros objetos. Se define con un identificador y un tipo, el
cual indica los valores que puede almacenar. El conjunto de valores de los
campos definen el estado del objeto.
Método: Es la
implementación de un algoritmo que representa una operación o función que un
objeto realiza. El conjunto de los métodos de un objeto determinan el
comportamiento del objeto.
DIAGRAMA DE CASOS DE USO
“El diagrama de casos
de uso representa la forma en como un Cliente (Actor) opera con el sistema en
desarrollo, además de la forma, tipo y orden en como los elementos interactúan
(operaciones o casos de uso).” (DCC, 2017)
En un diagrama de casos de uso no se muestran los casos de
uso en detalle; solamente se resumen algunas de las relaciones entre los casos
de uso, los actores y los sistemas. En concreto, en el diagrama no se muestra
el orden en que se llevan a cabo los pasos para lograr los objetivos de cada
caso de uso. Esos detalles pueden describirse en otros diagramas y documentos,
que pueden vincularse a cada caso de uso. Para obtener más información, vea en
este tema la sección Describir los casos de uso en detalle.
Una definición previa, es que un Actor es un rol que un
usuario juega con respecto al sistema. Es importante destacar el uso de la
palabra rol, pues con esto se especifica que un Actor no necesariamente
representa a una persona en particular, sino más bien la labor que realiza
frente al sistema.
DIAGRAMA DE CLASES
“Diagramas de Clase en
UML. El UML (Lenguaje Unificado de Modelado), es una de las herramientas más
emocionantes en el mundo actual del desarrollo de sistemas. Esto se debe a que
los creadores de sistemas generar diseños que capturen sus ideas en forma
convencional y bacín de aprender para comunicarlas a otras personas. “ (EncuRed,
2017)
El UML es la creación de Grady Booch, James Rumbaugh e Ivar
Jacobson. “Los tres Amigos” como se apodaron estos tres grandes utilizaban
metodologías diferentes para el diseño de software hasta que en los años 90
decidieron unirse y trabajar en conjunto en una solo metodología, el UML está
compuesto por diversos elementos gráficos que se combinan para conformar
diagramas, con las mismas finalidades que es presentar diversas perspectivas de
un sistema a las cuales se conoce como modelo.
0 comentarios:
Publicar un comentario