¿Qué es
una metodología?
La metodología , hace referencia al conjunto de
procedimientos racionales utilizados para alcanzar una gama de objetivos que
rigen una investigación
científica,
una exposición doctrinal o tareas que
requieran habilidades, conocimientos o cuidados específicos. Alternativamente puede definirse la metodología como el estudio o elección de un
método pertinente para un determinado objetivo.
No debe llamarse metodología a
cualquier procedimiento, ya que es un concepto que en la gran mayoría de los
casos resulta demasiado amplio, siendo preferible usar el vocablo método.
Metodología de
desarrollo de software en ingeniería de software es un
marco de trabajo usado para estructurar, planificar y controlar el proceso de
desarrollo en sistemas de información.
Metodologías de
desarrollo de software
-Cascada:
el desarrollo se ve como
una serie de escalones descendentes (como si se tratara de una cascada de agua)
a través de las distintas fases. Análisis Diseño Desarrollo Pruebas Integración
Mantenimiento Creada
-Prototipo:
son
actividades de creación de prototipos o maquetas durante el desarrollo
de software, los prototipos son versiones incompletas del producto que va a ser
desarrollado. Los principios básicos son: No es una metodología que funcione
por si sola, es más una vía para manejar determinadas fases de una metodología
más tradicional y amplia
-Incremental:
Combinación de
metodologías iterativas y lineales con el objetivo primario de reducir los
riesgos del proyecto, los proyectos se dividen en partes mas pequeñas, de esta
manera también se facilitan los cambios durante el proceso de desarrollo. Los
principios fundamentales son: Se realizan una serie de mini-waterfalls, donde
todas las fases del desarrollo en cascada se completan para una pequeña parte del
sistema, antes de abordar la siguiente parte. Los conceptos iniciales del
sistema, análisis de requerimientos, diseño de arquitectura, etc. Del sistema
completo se definen usando también la técnica de Cascada. Después de esto
mediante prototipos se van desarrollando las distintas partes en las que ha
sido dividido el proyecto. Finalmente el proceso culmina con la implantación
del sistema en su conjunto (otro mini-waterfall)
-Espiral:
Básicamente consiste en
una serie de ciclos que se repiten en forma de espiral, comenzando desde el
centro. Se suele interpretar como que dentro de cada ciclo de la espiral se
sigue un Modelo Cascada, pero no necesariamente debe ser así. Aunque el Espiral
puede verse como un modelo evolutivo que conjuga la naturaleza iterativa con
los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de
gestión de riegos. Este sistema está indicado en grandes proyectos.
RAD:
Este método comprende el
desarrollo iterativo, la construcción de prototipos y el uso de herramientas
CASE. Aporta la velocidad del desarrollo , principalmente por el uso de las
herramientas CASE. La Calidad es otra de sus características, mediante la implicación
del usuario en las etapas de análisis y diseño Apropiado para proyectos de
pequeña embergadura Al igual que con los anteriores divide un proyecto en
piezas más pequeñas Pone énfasis en el cumplimiento de las expectativas del
negocio, mientras que las caráctristicas tecnicas o la excelencia del
desarrollo tiene menos importancia.
RUP:
RUP Constituye la
metodología estandar más utilizada para el análisis, implementación y
documentación de sistemas orientados a objetos. RUP no es un sistema cerrado,
es un conjunto de metodologías adaptables al contexto y necesidades de cada
organización. Su ciclo de vida es una implementación del Desarrollo en espiral.
Principales
características Forma disciplinada de asignar tareas y responsabilidades (quien
hace que, cuando y cómo) Pretende implementar las mejores prácticas en
Ingeniería de software. Desarrollo Iterativo Administración de requisitos Uso
de arquitectura basada en componentes Control de cambios Modelado visual de
software Verificación de la calidad del software
. Metodologías Ágiles
SCRUM Roles Scrum Master Dueño del producto Equipo Artefactos Backlog del
producto Backlog de sprint Incremento de funcionalidad Procesos Planificación
Reunión diaria (15 min) Revisión Retrospectiva
Metodologías Ágiles
eXtreme Programming (XP) Valores Comunicación Simplicidad Retroalimentación
Respeto Coraje Practicas Cliente in-situ Metáfora Refactoring Entregas cortas
TDD Semana de 40 horas Propiedad colectiva Código Estándar Programación de a
pares Integración continua Juego de planificación
RUP
Que es:
la metodología esta comprende tres principios
claves: Dirigido por los casos de uso, centrado en la arquitectura, iterativo e
incremental.
En lo referente a dirigido por los casos de uso,
significa que los requerimientos están enfocado a dar valor al cliente y que el
proceso debe garantizar que todo el desarrollo, pruebas, planeación,
documentación etc, está orientado a cubrir estas expectativas del cliente y
asegurar que los requerimientos de valor se ponen en producción.
En lo referente a centrado en arquitectura,
significa que hay un énfasis a diseñar una arquitectura de calidad, y es la
arquitectura también la que guía la forma cómo se debe planear y hacer el
desarrollo.
En lo referente a iterativo e incremental,
significa que el proyecto se divide en varios ciclos de vida (llamadas
iteraciones) que deben dar como resultado un ejecutable. Por cada una de las
iteraciones se va agregando requerimientos y sobre todo valor al cliente; por
este motivo es incremental.
El Proceso Unificado de Rational (Rational Unified Process en inglés, habitualmente resumido como
RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational
Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más
utilizada para el análisis, diseño, implementación y documentación de sistemas
orientados a objetos.
El RUP no es un sistema con pasos firmemente
establecidos, sino un conjunto de metodologías adaptables al contexto y
necesidades de cada organización.
También se conoce por este nombre al
software, también desarrollado por Rational, que incluye información
entrelazada de diversos artefactos y descripciones de
las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización
de acuerdo con las necesidades.
Originalmente se diseñó un proceso genérico y
de dominio público, el Proceso Unificado, y una
especificación más detallada, el Rational Unified Process, que se
vendiera como producto independiente..
Proceso:
Adaptar el proceso
El proceso deberá adaptarse a las necesidades
del cliente ya que es muy importante interactuar con él. Las características
propias del proyecto. El tamaño del mismo, así como su tipo o las regulaciones
que lo condicionen, influirán en su diseño específico. También se deberá tener
en cuenta el alcance del proyecto en un área subnormal.
Equilibrar
prioridades
Los requisitos de los diversos participantes
pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un
equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrán
corregir desacuerdos que surjan en el futuro.
Demostrar valor
iterativamente
Los proyectos se entregan, aunque sea de un
modo interno, en etapas iteradas. En cada iteración
se analiza la opinión de los inversores, la estabilidad y calidad del producto,
y se refina la dirección del proyecto así como también los riesgos
involucrados.
Colaboración entre
equipos
El desarrollo de software no lo hace una
única persona sino múltiples equipos. Debe haber una comunicación fluida para
coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc.
Elevar el nivel de
abstracción
reutilizables tales como patrón del software,
lenguajes 4GL o marcos de
referencia (frameworks)
por nombrar algunos. Esto evita que los ingenieros de software vayan
directamente de los requisitos a la codificación de software a la medida del
cliente, sin saber con certeza qué codificar para satisfacer de la mejor manera
los requisitos y sin comenzar desde un principio pensando en la reutilización
del código. Un alto nivel de abstracción también permite discusiones sobre
diversos niveles y soluciones arquitectónicas. Éstas se pueden acompañar por
las representaciones visuales de la arquitectura, por ejemplo con el lenguaje UML.
Enfocarse en la calidad
El control de calidad no debe realizarse al
final de cada iteración, sino en todos los aspectos de la
producción. El aseguramiento de la calidad forma parte del proceso de
desarrollo y no de un grupo independiente.
Principales
características:
·
Forma disciplinada de asignar tareas y responsabilidades (quién
hace qué, cuándo y cómo)
·
Pretende implementar las mejores prácticas en Ingeniería de
Software
·
Desarrollo iterativo
·
Administración de requisitos
·
Control
de cambios
·
Modelado visual del software
·
Verificación de la calidad del software
El RUP es un producto de
Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado
en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son
los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una
persona en un determinado momento, una persona puede desempeñar distintos roles
a lo largo del proceso).
Ventajas del Modelo RUP
-Es el proceso de desarrollo más general de los existentes
actualmente.
-Es una forma disciplinada de asignar tareas y responsabilidades
en una empresa de desarrollo (quién hace qué, cuándo y cómo).
Desventajas del Modelo RUP
-Método pesado
-Por el grado de complejidad puede ser no muy adecuado.
-En proyectos pequeños, es posible que no se puedan cubrir los
costos de dedicación del equipo de profesionales necesarios.
No hay comentarios.:
Publicar un comentario