CS-432: Ingeniería Moderna de Software Semana 3

Slides:



Advertisements
Presentaciones similares
Unidad 3 Lenguajes .Net y POO
Advertisements

Curso de java básico (scjp)
Lenguaje Unificado de Modelado
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Lenguaje de programación Java
Tomado de:
UML 1.4 Peter Emerson Pinchao Solis.
Pruebas Orientadas a Objeto
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Gestión de proyectos Es la primera etapa de Ingeniería del Software.
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
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.
Ingeniería del Software
Aspectos Avanzados de la Tecnología de Objetos
Programación Orientada a Objetos en Java
Sergio Mejía Rivera Luis Fernando Reyes
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Lic. Rosemary Torrico Bascopé
Análisis y Diseño orientado a objetos con UML.
Abstracción de los datos y Orientación a Objeto Clase 13.
Ingeniería de Software Orientada a Objetos
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Ciencias.
Tema 6: Clases Antonio J. Sierra.
Introducción a la programación Orientada a objetos
Tema 10: Interfaces Antonio J. Sierra.
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Patrones de Comportamiento: Patrón de Diseño Observer
(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.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Diagramas de Clase Angela Carrillo R..
Ingeniería de Software Orientado a Objetos
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
DISEÑO DE SOFTWARE 1ª. Parte
Herramientas de polimorfismo y herencia en C++
CS-432: Ingeniería Moderna de Software Semana 7
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Scis.regis.edu ● CS-362: Estructuras de Datos Semana 1 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.
Diagrama de Clases ACI 570.
Importancia en la efectividad del:
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
TEMA 9: DIAGRAMA DE CLASE EN UML
Ingeniería de Software
I NGENIERÍA DE S OFTWARE L ABORATORIO VI Diseño - Diagrama de clases Eduardo Saavedra A. 07/10/2009.
Clasificación de Diagramas
Conceptos Fundamentales
Introducción a la Programación Orientada a Objetos (POO)
Ingeniería de Requisitos
UML Casos de Uso (repaso) y Diagramas de Clase
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
Ciclo de Vida del Software
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
La Programación Orientado a Objetos
Diagrama de Clases.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Modelado UML Diagrama de Clases
Unified Modeling Language UML. Ejemplo a desarrollar La Universidad XXX desea computarizar su sistema de registración – El secretario establece el plan.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Transcripción de la presentación:

CS-432: Ingeniería Moderna de Software Semana 3 Dr. Jesús Borrego Lead Faculty, COS Regis University

Agenda Modelo del Diseño – parte 1 Elaboración y el model de diseño Clases de diseño Asociación de relación Listas e iteradores Diagramas de sequencia Material para el primer exámen

Términos clave Abstraction – abstracción Encapsulation – encapsulación Inheritance – herencia Iterator - iterador Overloading – sobre carga Overriding – anulación Polymorphism - polimorfismo Signature – firma Trace – traza/o Visibility - visibilidad

Elaborando el modelo de diseño Continuando nuestro trabajo de análisis, el enfoque empieza a cambiar a el modelo de diseño El modelo de diseño trata de especificar como se realizará el caso de uso La realización del caso de uso se prepara a un nivel apropriado para implementarlo en un lenguage de programación orientada a objetos

Diseño y casos de uso El diseño es guiado por los casos de uso Hay una dependencia de trazo Pasar de análisis a diseño no tiene que cambiar de simbología – una ventaja de OO

Ejemplo Los objetos del diagrama de comunicación refieren a clases en el diseño, con trazas del análisis

Notas Aunque los objetos del diagrama se relacionan con clases en el análisis y diseño, hay que entender que cada elemento tiene un propósito distinto en el modelo Puede haber clases en diseño sin trazas a el análisis Puede haber varias clases en diseño que corresponden a una clase en análisis

Clases de diseño y sus atributos Para completar el diseño detallado, se necesita (por cada clase): Atributos, incluyendo diferentes estados Operaciones, incluyendo su interfaz pública y las interfaces implementadas Relaciones a otras clases y sus tipos

Atributos y visibilidad Private – privado. Visible en la clase únicamente + Public – público – visible en cualquier objecto ~ Package – paquete – visible dentro del paquete # Protected – protegido – visible en su clase y los hijos de la clase

Tipos de datos El lenguaje define tipos de datos Programadores pueden crear sus propios tipos Visibilidad nombre separador tipo valor de defecto

Valores Inicial/Defecto Restricción UML, Java, C# permite asignar valor por defecto a atributos C++ no permite asignar valor inicial a los atributos de la clase; se pueden definir con el constructor Restricción UML permite asignar valores de restricción

En código

Operaciones y métodos Las operacions de la clase se llaman métodos Los métodos incluyen: Visibilidad Nombre Parámetros Valor de retorno

Ejemplo

Funciones y Métodos Los métodos se parecen a las funciones creadas en CS 361 y CS362 Tienen nombre, tipo, parámetros y tipo de retorno La diferencia es que los métodos se invocan con mensajes a el objeto Mas detalles se proveerán después

Iinterfaz pública La interfaz pública es la colección de operaciones públicas de la clase Los métodos públicos indicados con (+) Similar al API (Application Programming Interface) – Interfaz de aplicaciones de programación También han interfaz que no es pública (métodos privados)

Ejemplo de interfaz Pública: Privada findByID findByName loadDegreePlan loadAddress

Ejemplo en Java

Firmas y sobrecargas de métodos Una Firma consiste de la visibilidad, nombre, número de parámetros y el tipo de los parámetros Sobrecarga – mas de una operación con el mismo nombre tiene firma diferente Despacho – encontrar la firma correcta del método para mandar el mensaje

Constructores y destructores Constructores son métodos que inicializan un objeto Los constructores tienen el mismo nombre de la clase y en invocado cuando el objeto es creado Destructores se usan para destruír objetos que ya no se necesitan

Ejemplos

Relaciones y Asociaciones UML define 3 relaciones entre objetos: Asociación Dependencia Generalización

Asociaciones y Atributos Depende del lenguaje, podemos asociar dos clases con atributos de una clase a la otra

Acoplamiento Acoplamiento ocurre cuando dos objetos se conocen Cambios en un objecto pueden impactar seriamente (muy acoplado) o mínimamente (no muy acoplad0) Demasiado acoplados No muy acoplados

Navegabilidad Navegabilidad se usa para restringir el acoplamiento entre objetos Define como se accesan las clases La vista del estudiante ‘conoce’ al estudiante, pero el estudiante no ‘conoce’ la vista del estudiante Acoplado   No Acoplado

Multiplicidad Describe el número de objetos que relaciona Si no se indica, la multiplicidad es 1

Asociaciones Composición Agregacion – compartida Si el objeto no existe en el programa, partes tampoco existen en el programa Si un estudiante deja la Universidad, su plan de estudios no existe Agregacion – compartida Estudiantes en una clase pueden dejar la clase, pero la clase sigue

Listas Diploma es una colleccion de cursos En UML:

Iteradores Un mecanismo para tener acceso a los miembros de una lista La interfaz publica tiene 2 metodos hasNext Next

Fragmento de programa

Diagramas de Sequencia Se usan para indicar la sequencia de eventos en una interacción

Diagramas de sequencia - elementos

Actividad 1 Examinen en grupo el diagrama de secuencia anterior Discutan que información pueden obtener Escriban en media hoja con palabras la información que captan con el diagrama (30 minutos)

Gestion de Riesgos del proyecto Identificar los riesgos Estimar probabilidad de ocurrir Estimar el impacto si ocurre Preparar el plan de mitigación Monitorear riesgos y progreso de mitigación Obtener compromisos de tiempo y presupuesto del grupo ejecutivo y el equipo

Tarea 4 Actualizar el modelo de diseño, incluyendo diagramas de clase y secuencia Tienen 2 semanas y media para completar la tarea para darles tiempo a prepararse para el primer exámen Entregar en WorldClass, Asignación 4 antes de la semana 5

¿Preguntas? Correo electrónico a jborrego@regis.edu