PREGUNTAS!
1. ¿En
que se basa cada una de las generaciones
de las metodologías?
-
Programación estructurada sol desde 1969: Es un paradigma
de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo
de un programa de computadora, utilizando únicamente subrutinas y tres
estructuras: secuencia, selección (if y switch) e iteración (bucles for y
while), considerando innecesario y contraproducente el uso de la instrucción de
transferencia incondicional (GOTO), que podría conducir a "Código
espagueti", que es mucho más difícil de seguir y de mantener, y era la
causa de muchos errores de programación.
![]() |
| Todo empieza desde algo pequeño :) |
-
Programación estructurada Jackson desde 1975: es
un método para programación estructurada fundamentada sobre las
correspondencias que se establecen entre la estructura de flujo de datos y la
estructura de un programa. JSP programas y estructuras de datos en términos de
secuencias, iteraciones y selecciones, y como consecuencia es aplicado cuando
se diseña la estructura de control detallada de un programa, por debajo del
nivel en el que los metodos orientados a objetos se vuelven importantes.
-
Structured Systems Analysis and Design
Methodology (SSADM) desde 1980: Originalmente publicado como metodología, es un
enfoque de sistemas para el análisis y diseño de sistemas de información. SSADM
fue producido para la Central Computer and Telecommunications Agency, una
oficina gubernamental del Reino Unido que se ocupa del uso de la tecnología en
el gobierno, desde 1980 en adelante.
-
Structured Analysis and Design Technique (SADT)
desde 1980: El análisis estructurado y técnicas de diseño es en ingeniería de
sistemas y proceso para el desarrollo de software para la descripción de
sistemas como una jerarquía de funciones.
-
Ingeniería de la información (IE/IEM) desde 1981:
Contempla una amplia área de trabajo. Su trabajo profesional tiende hacia
puestos directivos, principalmente en el área administrativa y de las TIC, como
dirección de diversos tipos de proyectos, investigación y desarrollo de
sistemas, asesoría, consultoría e informática funcional de la organización;
para apoyar la automatización de toma de decisiones y procesos operativos.
-
Rapid application development (RAD) desde
1991: El desarrollo rápido de
aplicaciones o RAD (acrónimo en inglés de rapid application development) es un
proceso de desarrollo de software, desarrollado inicialmente por James Martin
en1980.
-
Programación orientada a objetos (OOP) a lo
largo de la década de los 90's: es un paradigma de programación que viene a
innovar la forma de obtener resultados. Los objetos manipulan los datos de
entrada para la obtención de datos de salida específicos, donde cada objeto
ofrece una funcionalidad especial.
-
Virtual finite state machine (VFSM) desde 1990s:
es una máquina de estados finitos (FSM) definida en un entorno virtual. El
concepto de VFSM proporciona un método de especificación de software para
describir el comportamiento de un sistema de control que utiliza nombres
asignados de propiedades de control de entrada y de acciones de salida. El
método VFSM introduce un modelo de ejecución y facilita la idea de una
especificación ejecutable. Esta tecnología se utiliza principalmente en
aplicaciones complejas de control de máquinas, instrumentación y telecomunicaciones.
-
Dynamic Systems Development Method desarrollado
en UK desde 1995. en la última parte de los 90's: es un método que provee un
framework para el desarrollo ágil de software, apoyado por su continua
implicación del usuario en un desarrollo iterativo y creciente que sea sensible
a los requerimientos cambiantes, para desarrollar un sistema que reúna las
necesidades de la empresa en tiempo y presupuesto. Es uno de un número de
métodos de desarrollo ágil de software y forma parte de la alianza ágil.
-
Scrum (desarrollo) 1999: un
tipo de desarrollo de software.
-
Rational Unified Process (RUP) desde 1999: es un
proceso de desarrollo de software desarrollado por la empresa Rational
Software, actualmente propiedad de IBM.1 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.
-
Extreme Programming(XP) desde 1999: es una
metodología de desarrollo de la ingeniería de software formulada por Kent Beck,
autor del primer libro sobre la materia, Extreme Programming Explained: Embrace
Change (1999). Es el más destacado de los procesos ágiles de desarrollo de
software. Al igual que éstos, la programación extrema se diferencia de las
metodologías tradicionales principalmente en que pone más énfasis en la
adaptabilidad que en la previsibilidad. Los defensores de la XP consideran que
los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e
incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse
a los cambios de requisitos en cualquier punto de la vida del proyecto es una
aproximación mejor y más realista que intentar definir todos los requisitos al
comienzo del proyecto e invertir esfuerzos después en controlar los cambios en
los requisitos. Se puede considerar la programación extrema como la adopción de
las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a
cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida
del software.
Nuevo milenio
-
Enterprise Unified Process (EUP) extensiones RUP
desde 2002: es una variante extendida del Proceso Unificado y fue desarrollado
por Scott W. Ambler y Larry Constantine en 2000, reelaborado en 2005 por
Ambler, John Nalbone y Michael Vizdos. EUP fue introducido originalmente para
superar algunas carencias de RUP, a saber, la falta de producción y la eventual
retirada de un sistema de software. Se agregaron dos fases y varias disciplinas
nuevas. EUP considera que el desarrollo de software no es una actividad
independiente, sino que está integrado en el ciclo de vida del sistema (para
ser construido o mejorado o reemplazado), el ciclo de vida de TI de la empresa
y el ciclo de vida empresarial / empresarial de la propia empresa. Se trata de
desarrollo de software como se ve desde el punto de vista del cliente.
-
Constructionist design methodology (CDM) desde
2004 por Kristinn R. Thórisson: es un enfoque para la construcción de sistemas
altamente modulares de muchos componentes que interactúan. La fuerza del MDL
consiste en simplificar el modelo de sistemas complejos y multifuncionales que
requieren una evolución arquitectónica de las jerarquías de flujo de datos y de
control enmarañadas.
-
Agile Unified Process (AUP) desde 2005 por Scott
Ambler: en inglés es una versión simplificada del Proceso Unificado de Rational
(RUP). Este describe de una manera simple y fácil de entender la forma de
desarrollar aplicaciones de software de negocio usando técnicas ágiles y
conceptos que aún se mantienen válidos en RUP. El AUP aplica técnicas ágiles
incluyendo Desarrollo Dirigido por Pruebas (test driven development - TDD),
Modelado Ágil, Gestión de Cambios Ágil, y Refactorización de Base de Datos para
mejorar la productividad.
2. ¿Cuáles son las principales metodologías existentes en el mercado; explique los aspectos positivos y negativos de cada una de ellas?
-
Método de prototipo
-
Aspecto Positivo:
Permiten el desarrollo de un sistema a partir de requisitos poco claros o cambiantes. Esto ocurre con cierta frecuencia en muchos proyectos de software.
Permiten el desarrollo de un sistema a partir de requisitos poco claros o cambiantes. Esto ocurre con cierta frecuencia en muchos proyectos de software.
Como información complementaria a los requisitos constituyen un gran
apoyo a las estimaciones de esfuerzo de todas las áreas, incluyendo
proveedores.
Son más fáciles de abordar con los usuarios finales.
El usuario participa más activamente en la construcción del producto de
software (La Solución), ya que “lo puede ver” y, dependiendo del tipo de
prototipo, “utilizar” desde el primer
momento.
Se reduce el riesgo o la incertidumbre sobre la implementación del
software.
Su uso redunda en una mayor satisfacción del usuario con el producto
final, ya que él o ella han participado activamente de su diseño.
Proporciona al usuario un mayor conocimiento del sistema con una curva
menor de aprendizaje.
Permite a todos los involucrados entender bien y mejor el problema antes
de la implementación final.
-
Aspectos Negativos:
El usuario quiere empezar a trabajar desde el primer momento con el
prototipo para solucionar su problema particular, cuando el prototipo es solo
un modelo de lo que será el producto.
Los prototipos generan o pueden generar otro tipo de problemas si su
presentación y discusión con los usuarios no es controlada: puesto que son
modelos inconclusos, los usuarios suelen enfocarse en aspectos “superficiales”
del prototipo que los pueden dejar inconformes luego de verlos por primera vez.
También es posible que se pierda mucho tiempo, innecesariamente, tratando de
hacer entender al usuario la finalidad real de los prototipos.
Requiere participación activa del usuario, al menos, para evaluar el
prototipo. Y mucho más involucramiento si queremos que participe en su
creación.
Una desventaja importante a tener en cuenta es la falta de experiencia
que tienen muchos Analistas Funcionales en programación y en actividades de diseño
de interfaces de usuario.
-
Metodología en cascada:
Aspecto Positivos:
Diseño de sistema
Diseño de programa
Modificación
Ejecución de pruebas
Codificación
Mantenimiento
Aspectos
Negativos:
el problema no es que tenga muchas fases nada Eso el verdadero inconveniente con la metodología lineal es que una vez que pasas un proceso no puedes volver a la fase anterior.
el problema no es que tenga muchas fases nada Eso el verdadero inconveniente con la metodología lineal es que una vez que pasas un proceso no puedes volver a la fase anterior.



Comentarios
Publicar un comentario