Ingeniería del Software

Slides:



Advertisements
Presentaciones similares
Análisis y Diseño de Sistemas Enfoque Estructurado
Advertisements

MODELOS ORIENTADOS A OBJETOS
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
Red Social: “Un millón de Amigos”.
Fundamentos de Diseño de Software INFT.1
Lenguaje Unificado de Modelado
Introducción a LAS Bases de Datos
Fundamentos de Ingeniería de Software
Prof. César Luza Montero
TOGAF.
Proceso de Originación de Crédito: Banco de los Alpes
Ing. Del software III No se ha podido completar la funcionalidad completa de las aplicaciones para el maître y para el jefe de cocina, por falta.
Empresa: Liebre Primer ciclo Proyecto TripleC. Conseguir soluciones inteligentes para satisfacer de una manera rápida y segura las necesidades de nuestros.
Etapas y actividades en el desarrollo OO basado en UML
CONCEPTOS Y PRINCIPIOS DE DISEÑO
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
Aspectos Avanzados de la Tecnología de Objetos
Desarrollo Orientado a Objetos con UML
Requerimientos No Funcionales
Profesor: Miguel Angel Vidal
Eurostat Unit A6 – Statistical cooperation SDMX Seminar Seminario para contribuir a la modernización de la transmisión de datos y metadatos estadísticos.
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
Ingeniería de Software Orientada a Objetos
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Diseño del Software Diseño de datos Diseño arquitectónico
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
Técnica - Diagrama de Flujo de Datos (DFD)
Ingeniería de Software
Arquitectura de una aplicación
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Diseño e Implementación
Las etapas de un proyecto
Metodología para el desarrollo de Software educativo POO
CONCEPTOS BÁSICOS Diseño de Sistemas.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Visión Panorámica Diccionario de Datos Paso al diseño
Importancia en la efectividad del:
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Desarrollo de Software Orientado a Objetos (deficiencias)
Explica con tus propias palabras
Diseño de Sistemas.
Diseño Arquitectónico
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería de Requisitos
Relación con otras asignaturas del plan de estudio
Unidad 3 MODELO DE ANALISIS.
Prof. Joel Moreno Molina
Actividades en el Proceso de desarrollo de Software
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Ingeniería de Software
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Integrantes: Castro José República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Superior Instituto Universitario Tecnológico.
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
1 Tema 2: Introducción al proceso unificado de desarrollo de software.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Entregables del Proyecto
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
Transcripción de la presentación:

Ingeniería del Software Fase de diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML

Ingeniería del Software Iteración en PUD Planificación de la Iteración Captura de requerimientos: Modelo de casos de uso, Modelo de Dominio, ... Análisis: Diagrama de secuencia del sistema, Contratos, Modelo Conceptual... Diseño: Diagramas de interacción, Diagrama de Clases Implementación: codificación (Clases y métodos) Pruebas: verificación de la implementación Evaluación de la iteración

Ingeniería del Software Fases y entregas del Proceso Unificado de Desarrollo captura de requerimientos: qué SI debemos construir? Modelo de casos de uso, Modelo de Dominio, ... análisis: qué debe hacer el SI? Diagramas de secuencia del sistema, Contratos, ... diseño: cómo lo debe hacer el SI? Diagramas de interacción, Diagrama de Clases, ... codificación: Código Fuente (clases y métodos) pruebas: Especificación de las pruebas de funcionamiento mantenimiento: Documentación y revisión de todo lo anterior Dependiente de la tecnología

Ingeniería del Software Construcción incremental e iterativa del SI Modelo dinámico del sistema (comportamiento): Captura de requerimientos: Modelo de Casos de Uso Análisis: Diagramas de secuencia del sistema, contratos Diseño: Diagramas de interacción Modelo estático del sistema (propiedades): Captura de requerimientos: Modelo de Dominio Análisis: Modelo Conceptual Diseño: Diagrama de clases Implementación: codificación (clases y métodos)

Ingeniería del Software Diseño de software Definir un SI con el suficiente detalle para permitir su implementación. Situación de partida (dominio del problema) Resultado del análisis (qué debe hacer el SI?) Especificación de los datos (Modelo de datos) Especificación de procesos (Modelo de comportamiento) Especificación de la interacción con el usuario (Modelo de la interfaz) Recursos tecnológicos (hardware y software disponible)

Ingeniería del Software Diseño de software Situación final (dominio de la solución) Resultado del diseño (cómo lo debe hacer el SI?) Estructura interna del SI (Arquitectura del SI) Diseño de los datos: diagrama de clases: atributos, BDs Diseño de los programas: diagrama de clases: métodos Diseño de la Interfaz: modelo de casos de uso reales Proceso de diseño Metodologías de diseño Patrones arquitectónicos y de diseño: adaptación de soluciones genéricas a problemas arquitectónicos y de diseño

Ingeniería del Software Diseño de software Objetivos principales: Entender en profundidad los requisitos funcionales Entender en profundidad los requisitos no funcionales y las restricciones relacionadas con las herramientas utilizadas: LPs, SOs, SGBDs, tecnologías de interfaz de usuario, etc. Crear una abstracción de la implementación del SI (diseño) Proporcionar un diseño apropiado para la fase de implementación Descomponer el trabajo en partes que puedan ser implementadas en paralelo por equipos distintos

Ingeniería del Software Patrones arquitectónicos La arquitectura del SI es una descripción de los subsistemas y componentes, y las relaciones entre ellos. Determina: La organización estructural del SI La selección de los elementos estructurales Las interfaces entre ellos El comportamiento de los componentes Un componente es una parte física y reemplazable de un sistema

Ingeniería del Software Catálogo parcial de patrones arquitectónicos Llamada y retorno estilo más usado en los grandes SI Descomposición modular jerárquica Orientado a objetos En capas Centrado en los datos permite la manipulación compartida de datos Repositorio Pizarra Flujo de datos permite la transformación incremental de los datos Batch secuencial Tubos y filtros Modelo – vista – controlador para sistemas interactivos

Ingeniería del Software Llamada y retorno (1) Descomposición modular jerárquica Programa principal y subrutinas: programación estructurada. Una subrutina (componente) recibe el control y los datos de uno de los módulos ascendientes, lo transforma y lo pasa a los módulos descendientes. El retorno se realiza en sentido contrario. Facilita la modularidad. Orientación a objetos Clases encapsulan datos y métodos. La comunicación entre componentes se realiza mediante la invocación de servicios ofertados por ellos Facilita la modularidad y la reusabilidad.

Ingeniería del Software Llamada y retorno (2) En capas Los componentes se agrupan en capas La comunicación sólo se establece entre componentes de la misma capa, o entre componentes de capas contiguas Facilita la modularidad y la portabilidad Comp3.1 Comp3.2 Capa 3 Comp2.1 Comp2.2 Comp2.3 Capa 2 Comp1.1 Comp1.2 Capa 1

Ingeniería del Software Centrado en los datos Los datos compartidos entre distintos clientes están en una estructura centralizada común Arquitectura originada en IA Repositorio: medio de almacenamiento pasivo. Los clientes se comunican con el repositorio para actualizar los datos. Pizarra: medio de almacenamiento activo. Los clientes se comunican con el repositorio para actualizar los datos y la pizarra notifica a los clientes los cambios que puedan ser de su interés

Ingeniería del Software Flujo de datos Batch secuencial Secuencia de programas independientes Un programa no empieza su ejecución hasta que los precedentes han terminado completamente Facilita la modularidad y reusabilidad Orientado a sistemas de ejecución diferida (batch) Secuencia de procesos que realizan modificaciones incrementales de los datos Cualquier proceso puede empezar su ejecución cuando empieza a recibir datos Arquitectura típica de los sistemas UNIX

Ingeniería del Software Modelo – vista – controlador Descomposición del SI en: Modelo: implementa las funcionalidades y datos del SI Interfaz de usario: Vista: gestiona cómo se muestra la información al usuario Controlador: gestiona la interacción con el usuario (Repasar diagrama de Jacobson)

Ingeniería del Software Arquitectura lógica de un SI en una capa SI Responsable de la interacción con el usuario, funcionalidades del SI y la interacción con el SGBD Capa de Presentación / Dominio / Gestión de Datos SGBD/SGF Arquitectura poco modificable, reusable, portable

Ingeniería del Software Arquitectura lógica de un SI en dos capas (1) Interfaz portable, cambiable, reusable (cambios locales) Funcionalidades poco portables, cambiables y reusables (dependencia de la SGBD) SI Responsable de la interacción con el usuario Capa de Presentación Responsable de las funcionalidades del SI y de la interacción con la SGBD Capa de Dominio / Gestión de Datos SGBD/SGF

Ingeniería del Software Arquitectura lógica de un SI en dos capas (2) Funcionalidades poco portables, cambiables y reusables (dependencia del GUI y el diseño de las pantallas) Acceso a los datos portables, cambiables y reusables SI Responsable de la interacción con el usuario y de las funcionalidades del SI Capa de Presentación / Dominio Responsable de la interacción con la SGBD Capa de Gestión de Datos SGBD/SGF

Ingeniería del Software Arquitectura lógica de un SI en tres capas (1) Arquitectura cambiable, reusable, portable SI Responsable de la interacción con el usuario Capa de Presentación Responsable de las funcionalidades del SI Capa de Dominio Responsable de la interacción con el SGBD Capa de Gestión de Datos SGBD/SGF

Ingeniería del Software Arquitectura lógica de un SI en tres capas (2) La capa de presentación conoce cómo presentar los datos a los usuarios, pero ignora que transformaciones debe hacer para dar respuesta a los usuarios Tramita las peticiones de los usuarios Tratamiento de: ficheros, diálogos, menús, botones, listados, ... La capa de dominio conoce cómo satisfacer al usuario, pero ignora cómo se almacenan los datos y cómo deben presentarse al usuario Recibe las peticiones, consulta los datos, los trata y devuelve los resultados La capa de gestión de los datos conoce dónde y cómo se almacenan los datos pero no sabe cómo tratarlos, ni presentarlos a los usuarios Interacciona con los SGBDs: representación persistente del estado del dominio

Ingeniería del Software Patrones arquitectónicos A menudo, los SI combinan dos o más estilos arquitectónicos Actualmente los SI siguen: Patrón arquitectónico en 3 capas presentación, dominio y gestión de datos Patrón OO dentro de cada capa Patrón modelo – vista – controlador en la capa de Presentación