metodologia emergente

36

Upload: yordis

Post on 28-Jun-2015

3.038 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Metodologia Emergente
Page 2: Metodologia Emergente

REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD NACIONAL EXPERIMENTAR DE LA FUEZAS

ARMADAS (UNEFA)

Realizado Por:

• Keila Lezama • Kervin Prieto• Edwin Márquez• Walkuiria Pérez• Willienis Ríos

Metodología Emergente

• Yordis Salas • Verónica Rojas• Ángel Pírela• Luis Reyes

Page 3: Metodologia Emergente

Fases Xp!!

Page 4: Metodologia Emergente

Nº 1.- Planeación del Proyecto

Historias de usuario:

El primer paso de cualquier proyecto que siga la metodología X.P es definir las historias de usuario con el cliente.

Las historias de usuario tienen la misma finalidad que los casos de uso pero con algunas diferencias, como por ejemplo, Constan de 3 ó 4 líneas escritas por el cliente en un lenguaje no técnico sin hacer mucho hincapié en los detalles.

1

Page 5: Metodologia Emergente

Nº 1.- Planeación del Proyecto

Reléase planning:

Después de tener ya definidas las historias de usuario es necesario crear un plan de publicaciones, en inglés "Reléase plan", donde se indiquen las historias de usuario que se crearán para cada versión del programa y las fechas en las que se publicarán estas versiones.

Un "Reléase plan" es una planificación donde los desarrolladores y clientes establecen los tiempos de implementación ideales de las historias de usuario, la prioridad con la que serán implementadas y las historias que serán implementadas en cada versión del programa.

2

Page 6: Metodologia Emergente

Nº 1.- Planeación del Proyecto

Iteraciones:

Todo proyecto que siga la metodología X.P. se ha de dividir en iteraciones de aproximadamente 3 semanas de duración. Al comienzo de cada iteración los clientes deben seleccionar las historias de usuario definidas en el "Reléase planning" que serán implementadas. También se seleccionan las historias de usuario que no pasaron el test de aceptación que se realizó al terminar la iteración anterior.

Estas historias de usuario son divididas en tareas de entre 1 y 3 días de duración que se asignarán a los programadores

3

Page 7: Metodologia Emergente

Nº 1.- Planeación del Proyecto

Velocidad del proyecto:

La velocidad del proyecto es una medida que representa la rapidez con la que se desarrolla el proyecto; estimarla es muy sencillo, basta con contar el número de historias de usuario que se pueden implementar en una iteración; de esta forma, se sabrá el cupo de historias que se pueden desarrollar en las distintas iteraciones.

Usando la velocidad del proyecto controlaremos que todas las tareas se puedan desarrollar en el tiempo del que dispone la iteración.

4

Page 8: Metodologia Emergente

Nº 1.- Planeación del Proyecto

Programación en pareja:

La metodología X.P. aconseja la programación en parejas pues incrementa la productividad y la calidad del software desarrollado.

El trabajo en pareja involucra a dos programadores trabajando en el mismo equipo; mientras uno codifica haciendo hincapié en la calidad de la función o método que está implementando, el otro analiza si ese método o función es adecuado y está bien diseñado. De esta forma se consigue un código y diseño con gran calidad.

5

Page 9: Metodologia Emergente

Nº 1.- Planeación del Proyecto

Reuniones diarias:

Es necesario que los desarrolladores se reúnan

diariamente y expongan sus problemas, soluciones e ideas de

forma conjunta.

Las reuniones tienen que ser fluidas y todo el mundo tiene que

tener voz y voto.

6

Page 10: Metodologia Emergente

Nº 2.- Fase De Diseño

Diseños simples:

La metodología X.P sugiere que hay que conseguir diseños simples y sencillos.

Hay que procurar hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente entendible e impleméntale que a la larga costará menos tiempo y esfuerzo desarrollar.

1

Page 11: Metodologia Emergente

Nº 2.- Fase De Diseño

Glosarios de términos

Riesgos

Funcionabilidad Extra

Tarjetas C.R.C

3

2

54

Page 12: Metodologia Emergente

Nº 3.- Fase De Codificación

La codificación debe hacerse ateniendo a estándares de codificación ya creados. Programar bajo estándares mantiene el código consistente y facilita su comprensión y escalabilidad.

Crear test que prueben el funcionamiento de los distintos códigos implementados nos ayudará a desarrollar dicho código.

Page 13: Metodologia Emergente

Nº 4.- Fase de PruebasUno de los pilares de la metodología X.P es el uso de test para comprobar el funcionamiento de los códigos que vayamos implementando. El uso de los test en X.P son diferentes para cada aspecto, por ejemplo podría verse de la siguiente manera:

Se deben crear las aplicaciones que realizarán los test con un entorno de desarrollo específico para test.

Hay que someter a tests las distintas clases del sistema omitiendo los métodos más triviales.

Page 14: Metodologia Emergente

Interfaz Xp!!

Page 15: Metodologia Emergente

Interfaz Xp!!Windows XP, ofrece una nueva interfaz grafica.El menú Inicio y la capacidad de indexación de los directorios de Windows fueron reajustados, y otros efectos visuales fueron agregados, incluyendo:

• Colores brillantes. • Botón "Cerrar" (cruz) de color rojo. • Botones estándar de colores en las barras de herramientas de Windows e Internet Explorer. • Un rectángulo azul translúcido en la selección de los archivos. • Un gráfico en los iconos de la carpeta, indicando el tipo de información que se almacena. • Sombras para las etiquetas del icono en el tablero del escritorio • Capacidad de agrupar aplicaciones similares en la barra de tareas. • Entre Otros!!

Page 16: Metodologia Emergente

Interfaz Xp!!Requisitos del sistema

 Mínimos

RecomendadosProcesador

233 MHz300 MHz o superior

Memoria64 MB RAM

128 MB RAM o superiorVídeo

Súper VGA(800×600) o resolución superiorEspacio en disco duro

1,5 GB o superior(se necesitan 1.8 GB más para el Service Pack 2 y otros 900 MB adicionales para el

Service Pack 3)Dispositivos ópticos

Unidad de CD ROM o DVD-ROMPeriféricos

Teclado y mouse u otro dispositivo señalizadorMultimedia

Tarjeta de sonido, altavoces y auriculares.

Page 17: Metodologia Emergente

Características Xp!!

Page 18: Metodologia Emergente

Características de Xp!!Windows XP introdujo nuevas características:

• Ambiente gráfico

• Secuencias más rápidas de inicio y de hibernación. • Capacidad del sistema operativo de desconectar un dispositivo externo, de instalar nuevas aplicaciones y controladores sin necesidad de reiniciar. • Una nueva interfaz de uso más fácil, incluyendo herramientas para el desarrollo de temas de escritorio. • Uso de varias cuentas, lo que permite que un usuario guarde el estado actual y aplicaciones abiertos en su escritorio y permita que otro usuario abra una sesión sin perder esa información.

Entre Otros!

Page 19: Metodologia Emergente

Problemas, Criticas y

Seguridad XP!

Page 20: Metodologia Emergente

Problemas, Criticas y Seguridad

Sobre XP han llovido fuertes críticas e investigaciones debido a la integración de múltiples aplicaciones para las cuales existía tradicionalmente un mercado de terceros, como cortafuegos, reproductores multimedia (Windows Media Player), programas de mensajería instantánea(Windows Messenger), así como bastante desconfianza respecto al servicio Passport de Microsoft.

Seguridad

Windows XP ha sido criticado por su susceptibilidad a malware, como virus, troyanos o gusanos. Las opciones de seguridad por defecto crean una cuenta del administrador que proporciona el acceso sin restricción a todo el sistema, incluyendo los puntos vulnerables.

Windows, con una cuota de mercado grande, ha sido tradicionalmente un blanco para los creadores de virus. Los agujeros de la seguridad son a menudo invisibles hasta que se explotan, haciendo su prevención un hecho difícil.

Page 21: Metodologia Emergente

Metodología UML

Page 22: Metodologia Emergente

Concepto de UML

El Lenguaje Unificado de Modelado prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan. Mientras que ha habido muchas notaciones y métodos usados para el diseño orientado a objetos, ahora los modeladores sólo tienen que aprender una única notación. Pensar lo contrario puede ser la más grande de las equivocaciones, UML no es una metodología y no fue concebido para serlo. Muchos arquitectos de software, desarrolladores y analistas tienen está equivocada interpretación, UML no es un proceso o un método, aunque estimula el uso de técnicas modernas en la programación orientadas a objetos y ciclos de vida iterativos. Ya que sus diagramas son perfectamente adaptables e implementados en muchas metodologías orientadas a objetos como Rational Unified Proces (RUP), Microsoft Solutions Framework (MSF) entre otras.

Page 23: Metodologia Emergente

Características UML

Desde el lado positivo, algunas características que presenta el uso de UML para modelar sistemas complejos y que le hacen además particularmente útil para los sistemas embebidos de tiempo real, son enunciadas a continuación y se desarrollan con cierta amplitud en • Constituye por definición un modelo orientado a objetos. • Modela los casos de uso y escenarios del sistema. • Facilita modelos de comportamiento mediante diagramas de estados. • Facilita diversos niveles de empaquetamiento. • Representa las actividades concurrentes y la sincronización entre ellas. • Permite hacer modelos de la topología de los componentes del sistema. • Permite hacer modelos para la organización del código de la aplicación final. • Soporta la representación de patrones orientados a objetos.  

Page 24: Metodologia Emergente

Características UML

En otros trabajos se ha explorado con mayor o menor rigor la adecuación de UML para representar de manera formal los sistemas de información y más concretamente la especificación de las particularidades de los sistemas de tiempo real, con el propósito de obtener modelos formales de especificación, validación e incluso simulación a partir de modelos UML.  Una conclusión general que se puede extraer de estos esfuerzos es que UML puede ser considerado un lenguaje de especificación formal siempre que se enriquezca con una semántica más precisa, que se caractericen las formas prácticas de refinamiento de modelos y se encuentren las transformaciones básicas que permiten dirimir la consistencia entre vistas no completamente ortogonales del sistema. 

Page 25: Metodologia Emergente

Etapas y Actividades en el desarrollo Orientado a Objetos Basado en UML

3.1 Análisis de Requerimientos.

En esta etapa se logra claridad sobre lo que desea el usuario y la forma en la cual se le va a presentar la solución que está  buscando. Actividades técnicas1. Identificar Casos de Uso del sistema 2. Dar detalle a los casos de uso descritos 3. Definir una interfaz inicial del sistema (si es aplicable) 4. Desarrollar el modelo del mundo 5. Validar los modelosDocumentos Entregables 1. Casos de Uso iniciales 2. Borradores de Interfaz  3. Modelo del mundo inicial    

Page 26: Metodologia Emergente

Etapas y Actividades en el desarrollo Orientado a Objetos Basado en UML

3.2 Diseño del Sistema.  En esta etapa se define una subdivisión en aplicaciones del sistema (si es lo suficientemente grande) y la forma de comunicación  con los sistemas ya existentes con los cuales debe interactuar. Actividades técnicas1. Identificar la arquitectura del sistema  Documentos Entregables1. Diagramas de Ejecución, versión inicial            

Page 27: Metodologia Emergente

Etapas y Actividades en el desarrollo Orientado a Objetos Basado en UML

3.2 Diseño del Sistema.  En esta etapa se define una subdivisión en aplicaciones del sistema (si es lo suficientemente grande) y la forma de comunicación  con los sistemas ya existentes con los cuales debe interactuar. Actividades técnicas1. Identificar la arquitectura del sistema  Documentos Entregables1. Diagramas de Ejecución, versión inicial            

Page 28: Metodologia Emergente

Etapas y Actividades en el desarrollo Orientado a Objetos Basado en UML

3.3. Diseño Detallado. En esta etapa se adecúa el análisis a las características específicas del ambiente de implementación y se completan las  distintas aplicaciones del sistema con los modelos de control, interfaz o comunicaciones, según sea el caso.  Actividades técnicas1. Agregar detalles de implementación al modelo del mundo 2. Desarrollar el modelo de interfaz 3. Desarrollar los modelos de control, persistencia y comunicaciones  Documentos Entregables1. Diagramas de clases y paquetes, con el detalle de la implementación 2. Diagramas de interacción con el detalle de las operaciones más importantes del sistema 3. Diagramas de estados y/o actividades para las clases concurrentes o complejas              

Page 29: Metodologia Emergente

Etapas y Actividades en el desarrollo Orientado a Objetos Basado en UML

3.4 Implementación y Pruebas. Se desarrolla el código de una manera certificada. Actividades técnicas1. Definir estándares de programación 2. Codificación y pruebas unitarias 3. Pruebas de módulos y de sistema  Documentos Entregables1. Código fuente 2. Soporte de pruebas unitarias 3. Documentación del código                       

Page 30: Metodologia Emergente

Herramientas CASE UML

Herramientas CASE UML La herramienta CASE UML, proporciona al entorno de procesado al menos dos de sus elementos principales: • Constituye una interfaz gráfica al usuario que aporta las facilidades para la creación y edición de los modelos, así como las necesarias para la invocación de las herramientas de análisis. • Constituye el sistema de registro de los modelos. Bien sea que incluya un sistema propio de almacenamiento, emplee los servicios estándar del sistema operativo en que se encuentra o se apoye en algún otro producto auxiliar, como una base de datos comercial por ejemplo, el mecanismo que utilice para la gestión del almacenamiento y/o acceso a sus modelos, será útil también para los modelos en el entorno de procesamiento.                       

Page 31: Metodologia Emergente

Herramientas CASE UML

a) BOUML

Es una herramienta CASE gratuita (licencia GPL) que he descubierto hoy y que me parece una muy buena alternativa porque:Permite trabajar con UML 2 (ArgoUML todavía no lo permite).Soporta gran cantidad de diagramas (incluidos los de secuencia que en el ArgoUML funcionan una versión si y otra no, a ver si terminan de estabilizarlo ;)

Es rápida y apenas consume memoria.Es sencilla de utilizar.Puedes generar código para Java, C++ e IDL (y controlar bastante la generación), y puedes hacer reingeniería inversa (a partir del código sacar el modelo).                       

Page 32: Metodologia Emergente

Herramientas CASE UML

                       

Page 33: Metodologia Emergente

b) RATIONAL ROSE ENTERPRISE EDITION Herramienta CASE mas usada para el modelado de sistemas con UML y UML2. Es muy completa y dispone de varios diagramas entre ellos diagramas de clases, diagrama de objetos, diagramas de casos de uso del negocio, etc. Se diferencia de otras por la gran diversidad de diagramas que puede crearse. 

Herramientas CASE UML

                       

Page 34: Metodologia Emergente

 

Herramientas CASE UML

                       

Page 35: Metodologia Emergente

3. FUJABA TOOL SUITE. Herramienta CASE para el modelado de sistemas con UML. Disponible para su uso gratuito. Se puede adquirir el plugin para Eclipse. No solo permite modelar sino que puede generar código Java automáticamente. También es capaz de hacer ingeniería inversa (crear los diagramas a partir del código Java).

Herramientas CASE UML

                       

Page 36: Metodologia Emergente

Herramientas CASE UML