ingeniería de software orientada a objetos ing. fernando a. cuenca universidad tecnologica nacional...
TRANSCRIPT
![Page 1: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/1.jpg)
Ingeniería de Software Orientada a Objetos
Ing. Fernando A. Cuenca
Universidad Tecnologica NacionalFacultad Cordoba
Laboratorio de SistemasArea de Investigacion & Desarrollo
Breve Revisión para Jefes de Proyecto
![Page 2: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/2.jpg)
Agenda
Métodos y procesos Revisión de Conceptos de O-O OOSE Modelo de Use Cases El Proceso Objectory
![Page 3: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/3.jpg)
El marco conceptual
Filosofía
Arquitectura
Método
Proceso
Herramientas
![Page 4: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/4.jpg)
Arquitectura tradicional
Subrutinas
Datos globales
![Page 5: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/5.jpg)
Arquitectura Orientada a Objetos
![Page 6: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/6.jpg)
Ventajas de la OO
Modelado mas natural de los problemas
Mejor manejo de la complejidad Fomenta el reuso, con gran impacto
en productividad y confiabilidad Facilita el mantenimiento y extensión
![Page 7: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/7.jpg)
Efectos de Encapsulamiento
Componentes autocontenidos Separación entre Interfaz e
Implementación Acceso controlado a la parte privada Libertad para modificar la implementación Menor nivel de acoplamiento
![Page 8: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/8.jpg)
¿Qué significa “Orientado a Objetos”?
Un modelo es orientado a objetos cuando está compuesto por un conjunto de objetos que cooperan entre si enviándose mensajes. Dichos objetos pertenecen a clases, las cuales pueden relacionarse entre si por medio de la herencia.
![Page 9: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/9.jpg)
¿Qué es un Objeto?
Un Objeto representa un ítem o entidad individual (ya sea conceptual o real) con un rol bien definido en el dominio del problema.
![Page 10: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/10.jpg)
Objetos: algunos ejemplos
Dominio del Problema Objetos
Operaciones comercialesArtículos, Facturas,Ventas, Compras, Clientes,Contratos, Créditos, etc.
Procesos industrialesOrden de Fabricación,Productos y piezas,Métodos, Máquinas, etc.
Redes de ComputadorasNodos, Enlaces,Protocolos, Dispositivos,Usuarios, Permisos, etc.
![Page 11: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/11.jpg)
¿Qué es una Clase?
Plantilla (o template)Una Clase es la especificación o
descripción genérica de un conjunto de objetos
Conjunto de instanciasUna Clase es un conjunto de objetos que
comparten características y comportamientos comunes
![Page 12: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/12.jpg)
Objetos vs. Clases
Objetoentidad individual
ClaseEspecificación o descripción genérica
Todo Objeto es instancia de una Clase
![Page 13: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/13.jpg)
Mensajes y Polimorfismo
Mensaje
Método
ObjetoReceptor
ObjetoEmisor
![Page 14: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/14.jpg)
Herencia: “es-un”
![Page 15: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/15.jpg)
Composición: “parte-de”
C o m p u t a d o r a
M o n i t o r
G a b i n e t e
M o u s e
T e c l a d o
C P U M e m o r i a R A M D i s k e t t e r a D i s c o D u r o
![Page 16: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/16.jpg)
OOSE
Análisis TesteoConstrucciónRequerimientos Sistema
![Page 17: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/17.jpg)
Análisis
Requerimientos Análisis de Robustez
Análisis de Requerimientos
Modelo de Use Cases
Modelo de Análisis
![Page 18: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/18.jpg)
Construcción
ImplementaciónDiseño
Modelo de Use Cases
Modelo de Análisis
Modelo de Diseño
Modelo de Implementación
![Page 19: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/19.jpg)
Testeo
Testeo de unidad
Modelo de Use Cases
Modelo de Diseño
Modelo de Implementación
Testeo de Integración
Testeo de Sistema
Producto Final
Modelo de Testeo
![Page 20: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/20.jpg)
Rol del Modelo de Use Cases
Modelo de Use Cases
Modelo deTesteo
Modelo de Implementación
Modelo de Diseño
Modelo de Análisis
Modelo delDominio
Expresado
Estructurado
Materialiado
Implementado
Validado
![Page 21: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/21.jpg)
Use Cases
Un Use Case es una secuencia típica de interacciones entre el sistema y sus actores, que apunta a obtener un
resultado de valor para los mismos.
![Page 22: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/22.jpg)
Actores
Un Actor es un rol que entes del entorno asumen en relación al sistema
Entes: personas, dispositivos, sistemas, etc.
1 Usuario = 1 o más roles Actores primarios y secundarios
![Page 23: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/23.jpg)
¿Modelamos el negocio o el software?
![Page 24: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/24.jpg)
Un ejemplo: Use Cases del negocio
Consulta en Sala de Lectura
Prestamo a Domicilio
Lector
Comision Directiva
Revision para Actualizacion
![Page 25: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/25.jpg)
Un ejemplo: Use Cases del sistema informático
Consultar disponibilidad libro
Consignar Préstamo
Consignar Devolución
Bibliotecario
Confeccionar reporte de disponibilidades
![Page 26: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/26.jpg)
Use Cases y Escenarios
Curso normal y cursos alternativos Extensiones y variaciones Relaciones de uso
![Page 27: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/27.jpg)
Más modelos...
Modelo de Objetos del Dominio Modelo de Objetos/Diagramas de Clases Diagramas de Interacción Diagramas de Transición de Estados
![Page 28: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/28.jpg)
El Proceso de Desarrollo
Procesos en Cascada vs. Iterativos e Incrementales
Macroproceso y Microproceso
![Page 29: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/29.jpg)
El proceso Objectory
Concepción Elaboración Transición1 2 3 ...
Construcción
![Page 30: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/30.jpg)
Concepción
“Tengo una idea! ... podríamos hacer un sistema que nos permita....”
Análisis de Factibilidad Alcances preliminares del proyecto
![Page 31: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/31.jpg)
Elaboración
Definición de los requerimientos Análisis y diseño de alto nivel Establecer la arquitectura de base Planificar la construcción Análisis de Riesgo como fuerzas guia
![Page 32: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/32.jpg)
Elaboración
Riesgos asociados a requerimientos Riesgos tecnológicos Riesgos asociados a la capacitación Riesgos políticos
![Page 33: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/33.jpg)
Elaboración: Actividades
Modelado de Use Cases Modelado del Dominio Modelo de Diseño Construcción del prototipo
![Page 34: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/34.jpg)
Elaboración: la arquitectura de base
Modelo de Use Cases Modelo del Dominio Plataforma tecnológica
![Page 35: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/35.jpg)
Elaboración: planificación de la construcción
Priorizar los Use Cases Estimar el tiempo requerido para cada Use Case Definir el largo de la iteración (en semanas) Calcular la cantidad de iteraciones Asignar Use Cases a iteraciones Agregar tiempo extra por contingencias (10% -
20%)
![Page 36: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/36.jpg)
Construcción
Cada iteración es un “mini-proyecto” Cada iteración se centra en ciertos
Use Cases Cada iteración es incremental No se permite desplazar fechas
![Page 37: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/37.jpg)
Transición
Optimización Ajuste fino de los detalles Definición de los detalles de la puesta
en marcha
![Page 38: Ingeniería de Software Orientada a Objetos Ing. Fernando A. Cuenca Universidad Tecnologica Nacional Facultad Cordoba Laboratorio de Sistemas Area de Investigacion](https://reader034.vdocumento.com/reader034/viewer/2022051820/5528bde5497959977d8fce35/html5/thumbnails/38.jpg)
Preguntas y Respuestas