1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem. 2003.

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

MODELOS ORIENTADOS A OBJETOS
Metodologías ágiles.
Plan de Implantación Sistemas de Información III
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Lenguaje Unificado de Modelado
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
MODELADO DE ANALISIS Y DISEÑO
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Administración de Procesos de Pruebas
Ingeniería del Software
Versión 2004 Enrique Bañuelos Gómez
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Evaluación de Productos
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
Ingeniería de Software Orientada a Objetos
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Las etapas de un proyecto
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
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
Ingeniería de Requerimiento
FUNDAMENTOS DE PROGRAMACION
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
Diagramas de Interacción.
El rol de SQA en PIS.
Alexander Aristizabal Ángelo flores herrera
Diseño de Sistemas.
Ingeniería de Requisitos
UML.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Relación con otras asignaturas del plan de estudio
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Proceso de Diseño de Interfaces
Unified Modeling Language (Lenguaje de Modelamiento unificado)
ALGORITMOS PARA ANÁLISIS DE CASOS REALES
Evolución y comportamiento del Sector TICs Praxis & Technology Group PraTech METODOLOGÍA DE CALIDAD.
Especificación del Problema Partimos del hecho de un programador no puede resolver un problema que no entiende. Por esta razón, la primera etapa en todo.
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
UNIVERSIDAD LATINA (UNILA)
Software de Comunicaciones
Modelo de procesos de software
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.
Fundamentos de Ingeniería de Software
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.
Propósito Introducción Actividad de Consolidación Actividad de Consolidación Fuentes consultadas Fuentes consultadas Ciclo de Vida del Software Ciclo.
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
Seminario de Sistemas Distribuidora Autores: Silvana Bassi Federico Albera Director: Lic. José A. Peralta Febrero de 2008.
Fase de Inicio Proceso Unificado de Desarrollo de Software.
Transcripción de la presentación:

1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem. 2003

2 Generalidades ¿Qué es la programación orientada al objeto?. La respuesta normalmente apunta a enfatizar características de los lenguajes como C++ en comparación con C, por ejemplo. Se habla de clases, herencia, paso de mensajes y métodos virtuales y estáticos. Un aspecto de de gran importancia (tal vez el más importantes) en OOP es una técnica de diseño, la cual se caracteriza por la determinación y delegación de responsabilidades. Responsabilidad implica no interferencia. Cuando un objeto se hace responsable por acciones específicas, esperamos cierto comportamiento. Programación en pequeño versus en grande: Pequeño: Una sola persona o un pequeño grupo. Una persona puede comprender todo. El mayor problema es el diseño y el desarrollo de algoritmos. Grande: Hay un gran equipo de personas. Los diseñadores pueden ser otras personas y diferente del equipo de implementadores. El mayor problema es la administración de los detalles y la comunicación entre las partes del proyecto.

3 Mitos del Software Bastan los estándares y los procedimientos Basta la tecnología de punta Más gente para ponerse al día Programación inmediata Es fácil acomodar los cambios Programación: Fin del trabajo Calidad: sólo del ejecutable El código es el único producto

4 Proceso de desarrollo de software Un proceso de desarrollo de software es una serie estructurada de actividades que cubren la manera en la cual una organización desarrolla proyectos de software. Hay varios modelos para desarrollo de software: modelo de cascada, modelo por flujo de tareas, modelo Unificado, programación extrema, etc (ver charla del Dr. Visconti año pasado) El modelo por flujo de tareas identifica las actividades que el equipo del proyecto debe realizar. Éstas son: –Establecimiento de Requerimientos (Conceptualización) –Desarrollo de un modelo para el sistema (Análisis) –Crear una arquitectura de la solución(Diseño) –Implementación (Evolución) –Pruebas –Administrar la evolución posterior a la entrega (Mantención) Conceptualización Análisis Mantención Implementación/pruebas Diseño

5 Proceso de desarrollo de software Por otro lado, en una visión del modelo Unificado, las mayores fases son: Comienzo, Elaboración, Construcción y Transición. Estas fases están más en relación con el avance temporal del proyecto. Cada fase puede ser dividida en incrementos que cubren las actividades del modelo por flujo de tareas.

6 Tareas Requerimientos: el propósito es establecer los requerimientos básicos para un sistema nuevo o las modificaciones mayores de uno ya existente. Análisis: el propósito es desarrollar un modelo de los comportamientos deseados del sistema. Representación simplificada de la realidad rescatando lo de interés. Diseño: el propósito es crear una arquitectura para desarrollar la solución. Implementación: El propósito es la creación del código para la solución diseñada. Pruebas: Su propósito es verificar el cumplimiento de los requerimientos. Mantención: su propósito es administrar la evolución posterior ala entrega del producto. Una forma de trabajar en cada iteración menor es la siguiente: Identificar clases y objetos Identificar semánticas de clases y objetos Identificar relaciones entre clases y objetos Especificar interfaces e implementación

7 Actividades y resultados Primero que todo: En mi opinión no existe una técnica de diseño universalmente aceptada. Mas bien creo en el estudio de estas técnicas para que cada uno tome lo que le parece más útil en su caso. ¿Cómo se deben criar a los hijos? Estudiaremos algunas de estas técnicas y las aplicaremos en un ejemplo. Requerimientos: normalmente se obtienen en comunicación con el usuario solicitante del sistema. Normalmente es en lenguaje natural (español). Se debe esperar gran informalidad y bajo nivel de detalles. Análisis: Se sugiere 1.- hacer estudio de algunos escenarios representativos. Estudio de Casos 2.- hacer un análisis del dominio, o área del problema. Una herramienta usada en esta etapa son las tarjetas CRC (Class, Responsabilities, Collaborators). Para hacer un análisis del dominio puede ser necesario entrevistar expertos en el dominio o área del problema. ¿Qué sabemos nosotros de medicina, en el diseño de un equipo médico? Nombre de la Componente Responsabilidades:Colaboradores: Aquí va la descripción de las responsabilidades asignadas a esta componente Lista de otras componentes con las cuales se relaciona

8 Actividades y resultados Análisis (cont.) Como resultado del análisis se generan: Una descripción del contexto del sistema. Define los bordes del sistema, las cosas que están dentro y aquellas que quedan fuera del sistema. Una colección de escenarios que definen el comportamiento del sistema. Cada escenario específica algún(os) comportamiento(s) del sistema. Un escenario es una instancia de un caso de uso del sistema. Estudio de Casos Un modelo del dominio. Es un modelo del mundo que el sistema computacional está creando. Éste captura nuestro entendimiento de cómo las cosas trabajan (o deberían trabajar). Herramientas: Colección de tarjetas CRC, Diagramas de interacciones (paso de mensajes), diagrama de clases.