Subsecretaría de Servicios Tecnológicos y Productivos Analistas del Conocimiento Dimensión Programador.

Slides:



Advertisements
Presentaciones similares
Ingeniería de Software
Advertisements

INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Conceptos Fundamentales
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
Unified Modeling Language (UML) Unified Modeling Language (UML) Lenguaje Unificado de Modelado ConceptosBásicos.
Diagrama de Clases SPI 2016.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
INGENIERÍA DE SOFTWARE RODRÍGUEZ CADENA CYNTHIA VIRIDIANA GRANADOS HERNÁNDEZ ERICK METODOLOGÍA OMT.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Herencia Multiple en Java
Flujo de trabajo: Requisitos Modelado de Casos de Uso
Ingreso , proceso y salida de datos
El Lenguaje de Modelación Unificado
METODOLOGÍA DE SISTEMAS
Ingeniería de requisitos y
Flujo de trabajo: Requerimientos
TEMA 3. CAPTURA DE REQUISITOS COMO CASOS DE USO (Continuación fase de Planeación y Elaboración) ANÁLISIS Y DISEÑO DE SISTEMAS II Lic. Elisa Arizaca Ramirez.
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Diagramas de Casos de Uso
Ingeniería de Software
SWEBOK.
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Fundamentos de la programación orientada a objetos
Programación Avanzada
Diagramas de clases Modelan la vista estática del sistema
INTRODUCCIÒN AL SISTEMA GESTOR DE BASE DE DATOS
Ingeniería de Sistemas Requerimientos
Ingeniería de Software Somerville
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
(Unified Modeling Language)
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Introducción al UML Domingo Hernández H.
DIAGRAMA DE CLASES.
Diagramas del modelo uml
Resumen: Análisis de requerimientos
Introducción al modelado
Programación Orientada a Objetos
Ingeniería del Software
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Danny Frank Otero Arrascue Ingeniería de Requisitos / Requerimientos Advisor: MEJIA CABRERA HEBER IVAN.
Base de Datos TECNICATURA SUPERIOR EN INFORMÁTICA PROF.: GUANUCO, JUAN CARLOS.
Universidad Nacional de Colombia - Leguajes de Programación
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
DISEÑO DE SOFTWARE 1ª. Parte
Se hizo popular en la década de 1980 y todavía es utilizado por muchos. Consiste en interpretar el concepto del sistema (o situaciones del mundo real)
Diagrama de Clases Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición,
Diagramas de clases Modelan la vista estática del sistema
Es el proceso de subdividir los entregables y el trabajo del proyecto en componentes más pequeños y más fáciles de manejar Se puede dar una visión estructurada.
INGENIERIA DE REQUISITOS
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
Casos de Uso Análisis de requisitos con casos de uso.
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
IEEE-STD PRÁCTICA RECOMENDADA PARA LA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Dimensión Programador
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
SIMULACIONES 2019 German Vega Quintero John Farley Paez Santamaria.
Transcripción de la presentación:

Subsecretaría de Servicios Tecnológicos y Productivos Analistas del Conocimiento Dimensión Programador

Módulo de Programación Orientada a Objetos

Interpretar las especificaciones formales o informales del Líder de proyecto Analizar el problema a resolver Interpretar el material recibido y clarificar eventuales interpretaciones Determinar el alcance del problema y convalidar su interpretación a fin de identificar aspectos faltantes Comprender lo especificado observando reglas del lenguaje de POO Comunicarse en un lenguaje preciso y adecuado con los integrantes del equipo de trabajo Capacidades Profesionales a las que contribuye el Módulo de POO

Prácticas de resolución de una situación problemática, real o simulada de acuerdo a especificaciones de diseño, desarrollando aplicaciones que den solución a problemas específicos. Prácticas formativas de Carácter Profesionalizante

Conjunto de: Programas Procedimientos Reglas Documentación Datos ¿Cuando pensamos en Software… en qué pensamos?

CONSTRUCCIÓN DEL SOFTWARE PROCESO DE CONSTRUCCIÓN DEL SOFTWARE

ACTIVIDADES DEL PROCESO DE CONSTRUCCIÓN DEL SOFTWARE

Elementos Informáticos CONSTRUCCIÓN DEL SOFTWARE

Ministerio de Educación y Deportes ¿Qué ven en la imagen?

Orientación a Objetos ¿Qué es la Orientación a Objetos? Fundamentalmente es un cambio cultural, más que tecnológico. Fundamentalmente es un cambio cultural, más que tecnológico. Implica ver al Desarrollo de software como una actividad de INGENIERIA, es decir: Implica ver al Desarrollo de software como una actividad de INGENIERIA, es decir: reusarla  Dejar de inventar la rueda, reusarla.  Utilizar componentes.  Reorganizar el mercado de software.

Ministerio de Educación y Deportes Objeto ? ¿Qué es un Objeto ? Representa un elemento, unidad o entidad individual e identificable, ya sea real o abstracta, con un rol bien definido en el dominio del problema”.

Ministerio de Educación y Deportes Clase ? ¿Qué es una Clase ? Una clase describe un grupo de objetos que comparten una estructura y un comportamiento comunes. Molde para hacer galletas (La Clase) Cada una de las galletas (Los objetos)

rientación a Objetos Ventajas del Paradigma de Orientación a Objetos Es una forma más natural de modelar los problemas. Es una forma más natural de modelar los problemas. Permite manejar mejor la complejidad. Permite manejar mejor la complejidad. Facilita el mantenimiento y extensión de los sistemas. Facilita el mantenimiento y extensión de los sistemas. Es más adecuado para la construcción de entornos GUI. Es más adecuado para la construcción de entornos GUI. Fomenta el reuso, con gran impacto sobre la productividad y la confiabilidad. Fomenta el reuso, con gran impacto sobre la productividad y la confiabilidad.

Ministerio de Educación y Deportes Modelo de Objetos: Características

Ministerio de Educación y Deportes Abstracción ¿Qué es la Abstracción? esenciales perspectivaobservador La abstracción se centra en las características esenciales de un objeto en relación a la perspectiva del observador.

implementación El encapsulamiento oculta los detalles de implementación de un objeto. Encapsulamiento ¿Qué es el Encapsulamiento?

Clasificación Las clases y objetos deberían estar al nivel de abstracción adecuado: ni demasiado alto ni demasiado bajo

Modularidad ¿Qué es la Modularidad? Empaqueta abstracciones en unidades discretas

Jerarquía de Partes: Agregación

Jerarquía de Clases: Herencia La herencia es una herramienta que permite definir nuevas clases en base a otras clases existentes.

Herencia y Polimorfismo

Clase Cuenta Bancaria saldo ^saldo saldo:unMonto saldo:=unMonto depositar:unMonto selfsaldo: selfsaldo + unMonto extraer:unMonto self puedoExtraer:unMonto if true [realizar extracción:unMonto] ^false Clase CuentaCorriente rojoPermitido ^rojoPermitido rojoPermitido:unMonto realizarExtraccion:unMonto selfsaldo: selfsaldo – unMonto puedoExtraer ^(selfsaldo + rojoPermitido > = unMonto) CLASE CajaDeAhorro extraccionesPosibles ^extraccionesPosibles extraccionesPosibles extraccionesPosibles:=unNumero hayExtraccionesPosibles ^(extraccionesPosibles > 0) decrementarUnaExtraccion self extraccionesPosibles: extraccionesPosibles – 1 realizarExtraccion:unMonto selfsaldo: selfsaldo – unMonto selfdecrementarUnaExtracción puedoExtraer:unMonto ^(selfhayExtraccionesPosibles & selfsaldo >= unMonto)

Ministerio de Educación y Deportes Modelo de Objetos: Características

Tipificación Caracterización precisa de propiedades estructurales o de comportamiento que comparten ciertas entidades.

Concurrencia La concurrencia permite a dos objetos actuar al mismo tiempo.

Persistencia Conserva el estado de un objeto en el tiempo y en el espacio.

La clasificación es el medio por el que ordenamos, el conocimiento ubicado en las abstracciones. Clasificación

Diferentes observadores pueden clasificar el mismo objeto de distintas formas Clasificación

Clasificación de clases del dominio del problema

Ministerio de Educación y Deportes Modelos y la importancia de modelar 31

¿Qué es un Modelo? Un modelo es una simplificación de la realidad

¿ Por qué Modelamos?  Para visualizar un sistema como es, o como queremos que sea.  Para especificar la estructura o el comportamiento de un sistema.  Nos dan una plantilla que nos guía en la construcción del sistema.  Documentan las decisiones que hemos tomado.

¿Qué es un UML? Es un lenguaje de modelado, de propósito general, usado para la visualización, especificación, construcción y documentación de sistemas Orientados a Objetos

Meyer Before and after conditions Harel Statecharts Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Embley Singleton classes and high-level view Wirfs-Brock Responsibilities Odell Classification Shlaer - Mellor Object lifecycles Rumbaugh OMT Booch Booch method Jacobson OOSE Contribuciones al UML

¿ Por qué UML es un lenguaje?  Provee un vocabulario y reglas para combinar los elementos del vocabulario con el propósito de comunicar.  En un lenguaje de modelado esos vocabularios y reglas se focalizan en representaciones conceptuales y físicas de un sistema.

Estructura de UML ARQUITECTURA MECANISMOS COMUNES BLOQUES DE CONSTRUCCIÓN

Ministerio de Educación y Deportes 38 Estructura de UML

Ministerio de Educación y Deportes Diagramas

Diagrama de Clases  CLASIFICACIONDe estructura, estático, lógico.  CLASIFICACION: De estructura, estático, lógico.  USO:  Explorar conceptos del dominio  Analizar requerimientos  Mostrar el diseño detallado de software orientado a objetos  Muestra un conjunto de clases, interfaces y colaboraciones y sus relaciones  Contiene comúnmente:  Clases  Interfaces  Relaciones de asociación (agregación, composición), generalización, dependencia (traza, realización) y/o anidado

Clase nombre de la clase operaciones atributos Clase Activa Diagrama de Clases ManejadorNotas

Es una relación estructural que especifica que los objetos de un elemento se conectan a los objetos de otro. Relaciones: Asociación asociación navegabilidad multiplicidad.

Es un tipo especial de asociación, que representa una relación completamente conceptual entre un “todo” y sus “partes”. todoparte agregación Es una variación de la agregación simple, con una fuerte relación de pertenencia y vidas coincidentes de la parte con el todo. composición todo parte Relaciones: Agregación y Composición

Es una relación entre un elemento general (superclase o padre) y un tipo más específico de ese elemento (subclase o hijo). El hijo puede añadir nueva estructura y comportamiento, o modificar el comportamiento del padre. herencia simple herencia múltiple Relaciones: Generalización

Es una asociación de uso, la cual especifica que un cambio en la especificación de un elemento puede afectar a otro elemento que lo utiliza, pero no necesariamente a la inversa. Relaciones: Dependencia dependencia

Es una relación que especifica que una clase esta contenida dentro de otra. Relaciones: Contención Contención

Diagrama de Clases: Visibilidad VisibilidadSímboloAccesible a: Pública+ Todos los objetos del sistema Protegida# Instancias de la clase y de sus subclases Privada- Instancias de la clase Paquete~ Instancias de la clase del mismo paquete

Diagrama de Clases: Ejemplos

Ejemplo

Diagrama de Máquina de Estados CLASIFICACIÓNDe comportamiento, dinámico, lógico.  CLASIFICACIÓN: De comportamiento, dinámico, lógico.  Uso:  Explorar el comportamiento complejo de una clase, actor, subsistema o componente.  Modelar sistemas de tiempo real.  Muestra una máquina de estados, compuesta por estados, transiciones, eventos y actividades.  Contienecomúnmente:  Contiene comúnmente:  Estados  Transiciones  Eventos

Elementos que intervienen: Estados

Elementos que intervienen: Transiciones evento disparador condición de control acción estado origen estado destino.....

Elementos que intervienen: Subestados transición al estado compuesto estado final.. transición desde el subestado.

Elementos que intervienen: Estados de Historia estado de historia.

Diagrama de Máquina de Estados Clase Sala

Ministerio de Educación y Deportes Dominio del Problema Dominio de la Solución Requerimientos

Requerimientos Funcionales Relacionados con la descripción del comportamiento fundamental de los componentes del software. Las funciones son especificadas en términos de entradas, procesos y salidas. Una vista dinámica podría considerar aspectos como el control, el tiempo de las funciones (de comienzo a fin) y su comportamiento en situaciones excepcionales.

Requerimientos No Funcionales o de Calidad Juegan un papel crucial en el diseño y desarrollo del sistema de información. Pueden definirse como consideraciones o restricciones asociadas a un servicio del sistema. Suelen llamarse también requerimientos de calidad o no comportamentales en contraste con los comportamentales. Pueden ser tan críticos con los funcionales.

Requerimientos No Funcionales o de Calidad

Diagrama de Casos de Uso CLASIFICACIÓNDe comportamiento, estático, lógico.  CLASIFICACIÓN: De comportamiento, estático, lógico.  Uso  Uso:  Comunicar el alcance.  Proveer descripción de todo o una parte de los requerimientos de un sistema u organización.  Muestra un conjunto de casos de uso, actores y sus relaciones.  Contienecomúnmente:  Contiene comúnmente:  Casos de Uso  Actores.  Relaciones de extensión, inclusión, generalización y/o dependencia.   Paquetes

¿Qué es un Caso de Uso? Es una descripción de las posibles secuencias de interacción entre el sistema bajo discusión y actores externos, relacionadas al objetivo de un actor particular, el actor principal Un caso de uso registra un contrato entre los involucrados del sistema, acerca del comportamiento del sistema en discusión en varias circunstancias, organizadas por los objetivos de los actores seleccionados.

casos de uso El conjunto de todos los casos de uso, debe cubrir los requerimientos del Sistema en su totalidad. Las descripciones de los casos de uso son cruciales para la comprensión del sistema Propiedades:  Captura alguna función visible para el usuario.  Puede ser grande o pequeño.  Debe alcanzar un objetivo específico para el actor. Elementos que intervienen: caso de uso Elementos que intervienen: caso de uso Se pueden definir caso de uso en diferentes niveles:  A nivel de sistema de Negocio  A nivel de sistema de Software

Elementos que intervienen: Actores Elementos que intervienen: Actores Representa lo que interactúa con el sistema, puede ser un usuario humano u otro sistema o dispositivo de hardware. Como simboliza el ambiente del sistema no lo describimos en forma detallada. actores principales Hay actores principales: son los que usan el sistema directamente; para quienes desarrollamos el sistema. Una persona puede ejecutar distintos roles en el sistema actores secundarios Hay actores secundarios: son aquellos de los que el sistema necesita ayuda para poder cumplir con el objetivo del caso de uso. Actor

¿Cómo encontrar actores? 64

¿Cómo encontrar casos de uso?

Uso del Diagrama de Casos de Uso Los siguientes diagramas pueden ser de interés: Actores que pertenecen al mismo paquete de caso de uso. Un actor y todos los caso de usos con los que interactúa. Casos de uso que manejan la misma información. Casos de uso usados por el mismo grupo de actores. Casos de uso que se ejecutan a menudo con la misma secuencia. Casos de uso que pertenecen al mismo paquete de casos de uso. Los casos de usos más importantes. Un diagrama de este tipo puede servir como un resumen del modelo. Los caso de usos desarrollados junto, en el mismo incremento. Un caso de uso específico y sus relaciones con actores y otros casos de uso.

¿Qué modelan los Casos de Uso ? Caso de Uso Escenario 1 Escenario 2 Escenario 3

¿ Cómo se estructuran los Casos de Uso? Asociaciones de Extensión  Especifica como un caso de uso puede insertarse y así extender la funcionalidad de otro.  El caso de uso donde se insertará la extensión debe ser un curso completo en sí mismo.  Se usan para modelar partes optativas, alternativas, etc.  Se dibuja con una flecha cuya dirección va desde el caso de uso de extensión (adicional) al caso de uso base.

¿ Cómo se estructuran los Casos de Uso? Asociaciones de Inclusión  Especifica y agrupa comportamiento similar de varios casos de usos, en un caso de uso abstracto, que otros podrán usar.  Se usan cuando su intervención es necesaria para completar un curso completo de eventos.  Se dibuja con una flecha desde el caso de uso concreto o base al caso de uso abstracto (adicional).

¿ Cómo se estructuran los Casos de Uso? Asociaciones de Generalización  Un caso de uso más especifico puede especializar a un caso de uso más general.  Una relación de generalización entre casos de usos implica que el caso de uso hijo contiene todos los atributos y secuencias de comportamiento y puntos de extensión definidos para el padre.  Se dibuja con una flecha desde el caso de uso hijo al padre.  Los casos de usos hijos pueden redefinir el comportamiento heredado del padre.

Diagrama de Casos de Uso: Ejemplo

Ministerio de Educación y Deportes Descripción de Actores

Ministerio de Educación y Deportes Niveles de detalle en las descripciones de casos de uso

Ministerio de Educación y Deportes Algunos ejemplos de descripciones de casos de uso

Ministerio de Educación y Deportes Caso de Uso brevemente descripto

Ministerio de Educación y Deportes Caso de uso con Resumen Básico (Trazo Grueso)

Ministerio de Educación y Deportes Caso de uso con Resumen Esencial (Trazo Medio)

Ministerio de Educación y Deportes Caso de uso completamente descripto (Trazo Fino)

Prototipos Especificación y Validación de Requerimientos

Ministerio de Educación y Deportes ¿Cuándo son útiles los prototipos? Siempre !!!!

Ministerio de Educación y Deportes Prototipos Características: –Funcionalidad limitada. –Poca fiabilidad. –Características de operación pobres. Prototipo  10% presupuesto del proyecto. –normalmente pocos días de desarrollo.

Ministerio de Educación y Deportes Tipos de Prototipos

Ministerio de Educación y Deportes Prototipado en papel

Clases de Análisis Modela información que podría mantenerse por mucho tiempo y podría sobrevivir a una ejecución de un sistema. La clase de interface modela el comportamiento e información que es dependiente de la frontera del sistema con el ambiente. Modela todo lo que concierne a cualquier vínculo entre el sistema y los actores. La clase de control modela funcionalidad que implica operar sobre varios objetos diferentes de entidad, haciendo algunos cálculos y retornando el resultado al objeto de interface. Contiene comportamiento de la lógica de negocio definida en un caso de uso. Tiene responsabilidades de coordinación de la ejecución de un caso de uso y funciona como intermediario entre las clases de interfaz y las de control.

Diagrama de Secuencia CLASIFICACIÓNDe comportamiento, dinámico, lógico.  CLASIFICACIÓN: De comportamiento, dinámico, lógico.  Uso:  Validar y describir la lógica de un escenario.  Explorar el diseño controlando la invocación de las operaciones definidas en las clases.  Detectar cuellos de botella en un diseño orientado a objetos.  Analizar qué clases son complejas en el sistema.  Diagramadesecuencia que enfatiza el orden de los mensajes en función del tiempo. Muestra un conjunto de objetos y los mensajes enviados y recibidos por esos objetos.  Diagrama de secuencia que enfatiza el orden de los mensajes en función del tiempo. Muestra un conjunto de objetos y los mensajes enviados y recibidos por esos objetos.  Contienecomúnmente:  Contiene comúnmente:  Objetos  Links  Mensajes

Elementos que intervienen:

Diagrama de Secuencia Caso de Uso Registrar Película: Escenario Curso Normal

Diagrama de Clases de Análisis Vista de Administración de Películas

Ministerio de Educación y Deportes Gracias!!! 89