sesion final.pptx

34
Reingeniería y patrones de diseño Sesión Online

Upload: ana-luisa-ballinas-hernandez

Post on 14-Dec-2015

196 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sesion Final.pptx

Reingeniería y patrones de diseñoSesión Online

Page 2: Sesion Final.pptx

INTRODUCCION

• En esta sesión se reconocen los patrones o plantillas de diseño que nos permiten reutilizar componentes previamente diseñados y probados que nos ayudarán a reducir el tiempo de desarrollo. Además se aplican los conceptos del paradigma orientado a objetos a la programación en C#. Se identifican las estrategias de pruebas de software orientado a objetos y las métricas y estándares de calidad de software.

Page 3: Sesion Final.pptx

Descripción de la unidad

• Los continuos avances en la Informática y las Telecomunicaciones están haciendo cambiar la forma en la que se desarrollan actualmente las aplicaciones software

• Aumento de la potencia de las computadoras• Abaratamiento de los costos del hardware• Redes de datos de cobertura global• Modelos de programación existentes desbordados• Nuevos paradigmas de programación

Page 4: Sesion Final.pptx

Objetivo• Conocer y saber aplicar los patrones de diseño para ahorrar tiempo en el

desarrollo y programación de sistemas asegurando su calidad a través de pruebas y métricas de calidad para lograr el éxito en el desarrollo de los sistemas en las organizaciones.

Page 7: Sesion Final.pptx

Diagramas de clases

Page 8: Sesion Final.pptx

Código

public class Empleado : Persona{ public object sueldo_bruto ; public void mostrar( ){ } public void calcular_salario_neto(){ }}

public class Cliente : Persona{public object

empresa ;public object

telefono ;public void mostrar(){}

}

public class Persona{private object nombre

;private object edad ;public void mostrar(){}

}

Page 9: Sesion Final.pptx

Generación de código

• Diversas herramientas CASE nos permiten generar código en distintos lenguajes de programación a partir de los diagramas de clases.

• En UML se genera el código automáticamente dando clic derecho en la hoja del modelo, seleccionamos el lenguaje y continuamos el asistente seleccionando el modelo lógico hasta obtener el código en la carpeta especificada.

Page 10: Sesion Final.pptx

Importar código al diagrama de clases

Page 11: Sesion Final.pptx

Patrones de diseño

• Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.”

Page 12: Sesion Final.pptx

Patrones de diseño

• Los patrones UML son colaboraciones parametrizadas -esto significa que son un grupo de clases/objetos colaborando entre sí que se pueden abstraer de un conjunto de escenarios general-. Los patrones son un medio excelente para lograr reutilización y desarrollo robusto. A medida que los patrones se descubren en todo nuevo proyecto, se puede reutilizar la plantilla básica del patrón desde modelos previos con los nombres de las variables apropiadas modificados para el proyecto en curso.

• Los patrones generalmente describen cómo resolver un problema abstracto y la tarea del usuario del patrón consiste en modificar los elementos del patrón para cumplir las demandas del compromiso actual.

• VER EL VIDEOS: • https://www.youtube.com/watch?v=HNJVdj361KY• https://www.youtube.com/watch?v=OeHBKrYeX08

Page 13: Sesion Final.pptx

Propósitos

Proporcionar catálogos de elementos reusables en el diseño de sistemas software.

Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados.

Formalizar un vocabulario común entre diseñadores.

Estandarizar el modo en que se realiza el diseño.

Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.

Page 14: Sesion Final.pptx

Plantillas de patrones

Categoría GOF ((The Gang of Four)

Patrón de diseño(en inglés)

Patrón de diseño(en español)

Creacionales 1. Factory Method 2. Abstract Factory 3. Builder 4. Singleton

1. Fábrica2. Fábrica abstracta3. Prototipo4. Singleton

Estructurales 1. Decorator 2. Facade3. Proxy

1. Decorador2. Fachada 3. Proxy

De comportamiento 1. Iterator 2. Observer 3. Strategy 4. Template Method

1. Iterador2. Observador3. Estrategia4. Método de plantilla

Page 15: Sesion Final.pptx

Actividad individual

• Analiza cuidadosamente el siguiente video:

• Realiza un cuadro sinóptico del video que describa los patrones de diseño más importantes de acuerdo a la clasificación según su propósito.

Evaluación

Indicador Si No

Explica que son los patrones creacionales

Describe al menos 2 tipos de patrones creacionales

Explica que son los patrones estructurales

Describe al menos 2 tipos de patrones estructurales

Explica que son los patrones de comportamiento

Describe al menos 2 tipos de patrones de comportamiento

Page 16: Sesion Final.pptx

Patrones en UML

• Los patrones de diseño en UML se describen en la siguiente liga:

• http://patronesdediseno.blogspot.mx/2009/05/patron-visitor.html

• Se manejan dos categorías de patrones EJB y GoF, siendo el último el más utilizado por programadores.

Page 17: Sesion Final.pptx

Ejemplo de patrones

• Por ejemplo, si se selecciona el patrón Abstract Factory, se genera el siguiente diagrama:

Client

AbstractFactory

+CreateProduct()

AbstractProduct

ConcreteFactory ConcreteProduct

Page 19: Sesion Final.pptx

Actividad individual• El Servicio de Emergencias está organizado en una jerarquía de bases.

Algunas de estas bases realmente disponen de personal y ambulancias (por ejemplo la de Medina del Campo), mientras que otras son «unidades administrativas» que agrupan un conjunto de bases (por ejemplo Valladolid, que agrupa la unidad del Hospital Clínico Universitario y la de Medina del Campo entre otras).

• Para cada base, interesa modelar los siguientes datos:• Nombre de la base.• Número de ambulancias, que en el caso de las bases compuestas es la suma

de las ambulancias disponibles en las bases que las componen en ese momento.

• Tiempo medio de asistencia, que en el caso de las bases compuestas es la media de los tiempos medios de asistencia registrados en las bases que las componen en ese momento.

• Elaborar un diseño que permita modelar adecuadamente esta situación, implementando completamente en Enterprise Architect UML las clases que modelan las bases, sean del tipo que sean. Es decir, elaborar un modelo utilizando patrones de diseño adaptándolos a los requerimientos.

• Utiliza el foro para compartir dudas y para retroalimentar a los demás.

Page 20: Sesion Final.pptx

Pruebas del software

• El objetivo es encontrar defectos, en otras palabras, las pruebas exitosas encuentran defectos.

• La prueba del sistema establece que el sistema satisface sus requerimientos funcionales y no funcionales, y no se comporta de forma inesperada.

Page 21: Sesion Final.pptx

¿Qué son las pruebas?

Page 22: Sesion Final.pptx

Filosofías de las pruebas

El objetivo es encontrar defectos

Se pueden validar todos los artefactos

Probar frecuente y tempranamente

Las pruebas construyen confianza

Probar contra el riesgo de un artefacto

Una prueba vale mil opiniones

Page 23: Sesion Final.pptx

Ciclo de vida FLOOT

• Revisar a detalle la descripción de cada fase de la metodología FLOOT.

Page 24: Sesion Final.pptx

Modelo de pruebas

Page 25: Sesion Final.pptx

Ejemplo pruebas de validación

Page 26: Sesion Final.pptx

1. Deben probarse todas las funciones del sistema a las que se accede con menús.2. Deben probarse todas las combinaciones de funciones a las que se accede con el mismo menú.3. Cuando el usuario deba introducir datos, todas las funciones deben probarse con datos correctos e incorrectos.• Cuando se usan las características del software por separado, éstas

normalmente funcionan. • Los problemas surgen cuando no se han probado conjuntamente

combinaciones de características.

Políticas de Pruebas

Page 27: Sesion Final.pptx

• Consiste en diseñar los casos de prueba (entradas y salidas esperadas) para probar el sistema.

• Objetivo: crear un conjunto de casos de prueba que sean efectivos descubriendo defectos en los programas y muestren que el sistema satisface sus requerimientos.

Diseño de casos de prueba

Page 28: Sesion Final.pptx

Aproximaciones del diseño de pruebas

Pruebas basadas en requerimientos

Pruebas de particiones

Pruebas estructurales

Page 29: Sesion Final.pptx

Pruebas automatizadas

• Pruebas automatizadas• http://prezi.com/naol0utcpu5l/pruebas-automatizadas/

Page 30: Sesion Final.pptx

Actividad colaborativa

• Participa en el blog y debate las ventajas y desventajas de utilizar herramientas de prueba automatizadas.

Page 31: Sesion Final.pptx

Calidad de software

• Estándares de calidad para hacer desarrollo de software:

• Tres normas:• ISO 9000• CMM• ISO IRT 15504(SPICE)

Page 32: Sesion Final.pptx

ISO ( International Standar Organization)

• Etapas

Page 33: Sesion Final.pptx

Capability Maturity Model Integration (CMMI)

• Los principios básicos de la Calidad Total son nueve:• 1. Consecución de la plena satisfacción de las

necesidades y expectativas del cliente.• 2. Desarrollo de un proceso de mejora continúa en

todos los procesos.• 3. Total compromiso de la Dirección.• 4. Liderazgo activo de todo el equipo directivo.• 5. Participación de todos los miembros de la

organización• 6. Fomento del trabajo en equipo hacia una gestión

de Calidad Total.• 7. El proveedor debe estar involucrado en el sistema

de Calidad Total de la empresa.• 8. Identificación y Gestión de los Procesos Claves de

la organización.• 9. Toma de decisiones de gestión basada en datos y

hechos objetivos.

Page 34: Sesion Final.pptx

Modelo spice

• Establece un marco y los requisitos para cualquier procesos de evaluación de procesos y proporciona requisitos para los modelos de evaluación a ser utilizados.