Buscar este blog

miércoles, 8 de octubre de 2014

Desarrollo Adaptativo del Software (DAS)

Un Poco De Historia.

El desarrollo adaptativo de software (DAS) lo propuso Jim Highsmith 1998 como una técnica para construir software y sistemas complejos. Los apoyos filosóficos del DAS se enfocan en la colaboración humana y la organización propia del equipo. 

El Desarrollo adaptativo del software (ASD) proporciona un marco para el desarrollo iterativo de sistemas grandes y complejos. El método fomenta el desarrollo iterativo e incremental con el uso de prototipos.

ASD resalta que las aproximaciones secuenciales en cascada solo funcionan en entornos bien conocidos. Pero como los cambios ocurren frecuentemente en el desarrollo software, es importante usar un método tolerante a cambios.

Características.

1- Destaca la colaboración humana y la organización propia del equipo.

2- utiliza el proceso iterativo que incorpora: -planificación del ciclo adaptativo.
                                                                     -métodos de recopilación de requisitos.
                                                                     -un ciclo iterativo de desarrollo enfocados 
                                                                       en el cliente y revisiones técnicas formales
                                                                       como mecanismo de retroalimentación.

3- organizado con tres actividades del marco de trabajo, las cuales son: especulacióncolaboración y aprendizaje.
















Explicación de fases.


Fase de especulación: se inicia el desarrollo del proyecto, En ella se utiliza información como la misión del cliente, las restricciones del proyecto y los requisitos básicos para definir el conjunto de ciclos en el que se harán los incrementos del software.

Fase de colaboración: se busca que el equipo no solo se comunique o se encuentre completamente integrados, se desea que exista confianza, donde se puedan realizar críticas constructivas, ayudar si resentimientos y poseer un conjunto de actitudes que contribuyan al trabajo que se encuentran realizando.

El aprendizaje: permite mejorar el entendimiento real sobre la tecnología, los procesos utilizados y el proyecto. El aprendizaje individual permite al equipo tener mayor posibilidad de éxito.

Cada una de estas fases se unen entre si para llevar a cabo diversas funciones, de manera rápida, y trabajando en equipo, para que en un futuro , obtengamos un software eficiente.






martes, 7 de octubre de 2014

Método de desarrollo de sistemas dinámicos

El método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems Development Method o DSDM) 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 reuna 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 del alianza ágil.
DSDM fue desarrollado en el Reino Unido en los años 90 por un consorcio de proveedores y de expertos en la materia del desarrollo de sistemas de información (IS), el consorcio de DSDM, combinando sus experiencias de mejores prácticas. El consorcio de DSDM es una organización no lucrativa y proveedor independiente, que posee y administra el framework. La primera versión fue terminada en enero de 1995 y publicada en febrero de 1995. La versión actualmente en uso (abril de 2006) es la versión 4.2: El framework para el Negocio Centralizado Desarrollado lanzado en mayo de 2003.
Como extensión del Desarrollo rápido de aplicaciones (RAD), DSDM se centra en los proyectos de sistemas de información que son caracterizados por presupuestos y agendas apretadas. DSDM trata los problemas que ocurren con frecuencia en el desarrollo de los sistemas de información en lo que respecta a pasar sobre tiempo y presupuesto y otras razones comunes para la falta en el proyecto tal como falta de implicación del usuario y de la comisión superior de la gerencia.
DSDM consiste en 3 fases: fase del pre-proyecto, fase del ciclo de vida del proyecto, y fase del post-proyecto. La fase del ciclo de vida del proyecto se subdivide en 5 etapas:
  1. estudio de viabilidad,
  2. estudio de la empresa,
  3. iteración del modelo funcional,
  4. diseño e iteración de la estructura, e
  5. implementación.
DSDM reconoce que los proyectos son limitados por el tiempo y los recursos, y los planes acorde a las necesidades de la empresa. Para alcanzar estas metas, DSDM promueve el uso del RAD con el consecuente peligro que demasiadas esquinas estén cortadas. DSDM aplica algunos principios, roles, y técnicas.
En algunas circunstancias, hay posibilidades para integrar contenido de otros métodos, tal como el Proceso Unificado de Rational (RUP)Programación Extrema (XP), y Proyectos en ambientes controlados (PRINCE2), para complementar el DSDM en la realización de un proyecto. Otro método ágil que tiene semejanzas proceso y concepto con DSDM esScrum.

viernes, 26 de septiembre de 2014

El modelo incremental
Aplica elementos del modelo en cascada aplicados en forma iterativa.
Se enfoca en la entrega de un producto operacional con cada incremento.
Es útil cuando no se cuenta con todo el personal necesario para desarrollar
el proyecto o para habilitar líneas paralelas de desarrollo.





Ventajas

- Con un paradigma incremental se reduce el tiempo
de desarrollo inicial, ya que se implementa la funcionalidad parcial.

- También provee un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del Software.

- El modelo proporciona todas las ventajas del modelo en cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento.

- Permite entregar al cliente un producto más rápido en comparación del modelo de cascada.

- Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.

- Por su versatilidad requiere de una planeación cuidadosa tanto a nivel administrativo como técnico.


Desventajas

- El modelo Incremental no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de riesgos.

- Requere de mucha planeacion, tanto administrativa como técnica.

- Requiere de metas claras para conocer el estado del proyecto.


Por:Luis Gaticaman Ybo

Ciclo de vida Tradicional o Cascada

Modelo tradicional o de cascada

*Surge en 1970.

*Se conoce como “ciclo de vida tradicional”, “modelo clásico”, “modelo tradicional”, “modelo lineal secuencial”.

*Se encarga de ordenar el proyecto en diferentes etapas, para comenzar con el desarrollo de una, debe haber finalizado la anterior.

*Primera etapa” Análisis de requerimientos”: se analizan las necesidades del usuario, surge la memoria SRD (datos de requerimientos de especificación).

*Segunda etapa” Diseño del sistema”: la primera etapa se divide en muchas otras, para hacer más fácil, trabajar con éstas, surge el SDD (documentos de diseño del sistema).

*Tercera etapa” Diseño del programa”: Fase de desarrollo de algoritmos y selección de herramientas, que sirvan al desarrollo de la siguiente etapa.

*Cuarta etapa “Codificación”: Aquí se desarrollan pruebas, para corregir errores, dependiendo del lenguaje de programación, se agregan complementos como bibliotecas y otras aplicaciones que ayuden a facilitar la programación.

*Quinta etapa “Pruebas”: se unen los elementos programados para componer el sistema, se prueba que funcione correctamente.

*Sexta etapa “Implantación”: El software, se pone en marcha, se implementa el software y hardware que componen el proyecto.


Ventajas y desventajas 

Ventajas
*El proyecto se crea de forma más ordenada y no se mezclan las fases.
*Sirve a proyectos rígidos.
*Sirve cuando se conocen las herramientas y requerimientos a usar.
*Es recomendado para proyectos pequeños

            Desventajas
*No puede sufrir cambios en el desarrollo de las etapas.
*Creación de software lenta
*El software no se opera hasta que este completo.
  


Juaquin Sandoval

jueves, 25 de septiembre de 2014

Programación extrema (XP)

La programación extrema es una nueva  disciplina  de  desarrollo  de  software, y fue creada por el programador Kent  Beck cuando lanza su libro llamado "Extreme Programming Explanied: Embrace Change" en el año 1999.
 
   Esta nueva disciplina tiene como base la simplicidad, la comunicación y el reciclado de código. En el transcurso de la creación del software se busca simplificar el diseño para agilizar el desarrollo y facilitar el mantenimiento, fomentando el trabajo en parejas ya que así se complementan los conocimientos.



   Ademas en el desarrollo se trabaja mucho con las pruebas ya que en cada etapa se realizan pruebas y sobre todo de regresión ya que con estas pruebas se busca detectar los posibles errores y modificar el código mediante se detectan. Cuando se transcribe el código se busca la simplicidad para la completa funcionalidad, ademas si es necesario se le agregan mas funcionalidades si son requeridas por el ciente.


   Los Objetivos de la XP son:                                Las características fundamentales son:

-Satisfacción completa del cliente.                     - Desarrollo iterativo e incrementado.
-Potenciar al máximo el grupo de trabajo.       - Pruebas unitarias continuas.
                                                                                   - Programación en parejas.
                                                                                   - integración del equipo con el cliente.  
                                                                                   - Propiedad del código compartida.
                                                                                   - Simplicidad y comunicación.

 La mayor ventaja es :                                                   La mayor desventaja es:

-se adapta al desarrollo de sistemas                        -  no se tiene la definición del coste
pequeños y grandes, se optimiza,                              y el tiempo de desarrollo
agiliza y complementa                                                  y ademas se necesita la presencia
conocimientos haciendo                                              constante del cliente por algún
la programación en parejas.                                        cambio de  requerimientos
                                                                                           lo cual es difícil de   lograr.



Conclusiones:
Se puede concluir que la programación extrema es una buena alternativa, dependiendo del entorno de desarrollo en que se esta trabajando.
Al ser una herramienta que se basa en otras metodologías, se puede confiar en cada proceso individual.

La XP brinda no solo ventajas en cuanto a rapidez, sino que promueve habilidades sociales como la comunicación, el trabajo en equipo y disciplina.


(Matías Parada)

Modelo de desarrollo rápido de aplicaciones

   El desarrollo rápido de aplicaciones o RAD (Rapid Application 
Development),es un proceso de desarrollo de software, desarrollado 
inicialmente por James Martin en 1980.
                                   
                                  




   El método comprende el desarrollo interactivo y el desarrollo de prototipos y el uso de utilidades CASE. Por lo general el desarrollo rapido de aplicaciones generalmente engloba la usabilidad,utilidad y la rapidez de ejecucion.
 Hoy en dia para desarrollar  interfaces graficas se utilizan plataformas conocidas tales como Visual Estudio,Lazarus,foxpro entre otras.
  La particularidad de este sistema es que el RAD permite a los desarroladores crear una aplicacion funcional en poco tiempo pero siempre teniendo y comprendiendo bien los requisitos.

Etapas

*Requisitos fase de planificación
*Fase de diseño del usuario
*Fase de construcción
*Corte y cambio de fase





¿Porque usar RAD?

*Se previenen los incumplimientos de las echas estipuladas.
*ahorrar tiempo de desarrollo.





Algunas ventajas  

*Comprar puede ahorrar dinero en comparación con construir.
*Las Aplicaciones desarrolladas  pueden ser fácilmente trasladados a otra             plataforma.  
*El desarrollo se realiza a un nivel de abstracción mayor.
  Visibilidad temprana.





Algunas Desventajas                 

 *Comprar puede ser más caro que construir.
 *Costo de herramientas integradas y equipo necesario.
 *Progreso más difícil de medir.
 *Menos eficiente.
 *Menor precisión científica.


JOSE MATAMALA