le, ei, profesor ramón castro liceaga universidad latina (unila) introduccion

107
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Upload: laura-araya-mendez

Post on 25-Jan-2016

225 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

UNIVERSIDAD LATINA (UNILA)

INTRODUCCION

Page 2: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Que es la Programación Orientada a Objetos ?Que es la Programación Orientada a Objetos ?

• Es un estilo de programación en que cada programa es visto como un objeto se forma por una serie de componentes, autocontenidos que cooperan para realizar las acciones de la aplicación completa.

Page 3: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION
Page 4: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Modelo de una tarea típica de programación

Espacio del mundo real

Objetos reales y actividades

Objetos abstractos y operaciones en lenguaje de

programación

Objeto reales (cambio de estado)

Datos e información

ProblemaModelo

Programa

Algorítmo

Resultado

Usuario Representar mediante abstracción

Programador

Algorítmo del mundo real

Resultado

Espacio del programa

Interpreta

Page 5: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Diferencia entre la programación convencional

Procedimiento 1

Procedimiento 3

Procedimiento 2

Dato 1

Dato 3

Dato 2

Dato 4

M1

M3

M4 M2DATO 1

M1

M3

M4 M2DATO 3

M1

M3

M4 M2DATO 2

INVOCA 3

INVOCA 4

INVOCA 1

Fig. 2 Sistema convencional

Fig.3 Sistema Orientado por objeto

Page 6: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Diferencias con la programación estructuradaDiferencias con la programación estructurada

• Las principales diferencias entre la programación estructurada y la orientada a objetos son:

• La programación orientada a objetos es más moderna, es una evolución de la programación estructurada

• La programación orientada a objetos se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones (a esta unión se la suele llamar clase).

• La programación orientada a objetos incorpora en su entorno de ejecución mecanismos tales como el polimorfismo y el envío de mensajes entre objetos. .

Page 7: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

ConceptosConceptos orientados a objetos orientados a objetos

• Objeto • Clase • Método • Evento • Mensaje• Propiedad o

atributo • Componentes de

un objeto• Representación de

un objeto

Page 8: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

MétodoMétodo

• Es un algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Page 9: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

EventoEvento

• Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.

Page 11: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

PropiedadPropiedad o atributo o atributo

• Es contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Page 12: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Estado internoEstado interno

• Es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos).

Page 13: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Componentes de un objetoComponentes de un objeto

• Los componentes de un objeto son:

• atributos, • mensaje• identidad, • relaciones • y métodos.

Page 15: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

TipoTipo

• Es un conjunto de firma de métodos con un nombre que lo identifica. Un tipo puede ser definido a través de una Clase o una Interface.

Page 16: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Atributos

• Los atributos son adjetivos ( palabra clave que acompaña al sustantivo para determinarlo o calificarlo; lo que expresa sus características o propiedades atribuidas a un sustantivo, ya sean concretas (el articulo ligero, el articulo grande) o ya sean abstractas (el articulo calculado, el articulo dibujado, etc) serán los atributos de clases que se vas a considerar en la programación orientada a objetos.

Page 17: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Atributos

• Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. •Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.•Las variables de instancia también se les conoce como datos miembros, son declaradas en la clase pero sus valores son fijados y cambiados en el objeto..

Page 18: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Métodos

• Los métodos son los algoritmos asociados a un objeto y acciones o comportamiento de la clase.

Page 19: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Métodos y los verbos

• Cuando hablamos de verbos o acciones hablamos también de métodos

•Para desarrollar los métodos se recomienda hacer una lista de verbos (actividades humanas del sistema) que contienen las relaciones que tendrán los objetos y las clases entre si

Page 20: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Métodos y comportamiento de los objetos

• El comportamiento de los objetos de una clase se implementa mediante funciones miembro o métodos. Un método es un conjunto de instrucciones que realizan una determinada tarea y son similares a las funciones o procedimientos de los lenguajes estructurados como en C o C++.

Page 21: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Métodos de instancia y clase

• Del mismo modo que hay variables de instancia y de clase, también hay métodos de instancia y de clase. En el primer caso, un objeto llama a un método para realizar una determinada tarea, en el segundo, el método se llama desde la propia clase.

Page 22: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Notación para representar una clase.

Una clase se representa por una caja la cual puede tener 3 regiones.

• La primera región contiene el nombre de la clase.• La segunda región contiene la lista de atributos, cada

nombre de atributo puede estar seguido por detalles opcionales tales como tipo de atributo y valores por defectos.

• La tercera región contiene los nombres de las operaciones. Cada nombre de operación puede ser seguido por detalles opcionales tales como listas de argumentos y tipos de resultados. Los atributos y operaciones puede o no mostrarse; esto depende del nivel de detalle deseado.

Page 23: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Métodos y atributos (nivel de análisis UML)

UML

Nombre de la Clase

Atributos

Métodos u Operaciones

Persona

Nombre,Edad..etc

Lee y muestraNombre, edad

JAVA

Page 24: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

EI, Profesor Ramón Castro Liceaga

Atributos y Métodos

•Atributos o Propiedades.- Características individuales que definen y diferencian a un objeto de otro (Nombre, edad, color, peso, etc).

• Métodos. Controlan el comportamiento de la clase. Son funciones que especifican las acciones de los objetos.

Ejem.-

Void MuestraPersona() {System.out.print(“Hola, mi nombre es:”+m_sNombre);System.out.println(“Tengo”+m_iEdad+”años”);

}

Page 25: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Sobrecarga de Métodos

•Un método sobrecargado se utiliza para reutilizar el nombre de un método pero con diferentes argumentos (opcionalmente un tipo diferente de retorno). Las reglas para sobrecargar un método son las siguientes:

+ Los métodos sobrecargados deben de cambiar la lista de argumentos.+ Pueden cambiar el tipo de retorno.+ Pueden cambiar el modificador de acceso.+ Pueden declarar nuevas o más amplias excepciones.+ Un método puede ser sobrecargado en la misma clase o en una subclase.

Ejemplo:

public void cambiarTamano(int tamano, String nombre, float patron){ }

Los siguientes métodos son sobrecargas legales del método cambiarTamano():

public void cambiarTamano(int tamano, String nombre){}public int cambiarTamano(int tamano, float patron){}

Page 26: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

MensajeMensaje

• Es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Page 27: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Encapsulación: Protección de variables y métodos accesos

• Para implementar el encapsulamiento de las clases Java utiliza:

public Si un método o variable se define así, será accesible para cualquier otra clase (cualquiera accesarla) package Solo el que especifique el paquete de clases de que trate private Solo son visibles en la propia clase protected Publico para sus clases derivadas unicamente Estos especificadores de acceso preceden a las definiciones de los métodos y variables de las clases

Page 28: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Constructores.

Un Constructor es una función o método, de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase.

Por ser métodos, los constructores también aceptan parámetros. Cuando en una clase no especificamos ningún tipo de constructor, el compilador añade uno público por omisión sin parámetros, el cual NO hace nada.

Características de los Constructores

1. Un constructor, tiene el mismo nombre de la clase a la cual pertenece. 2. No puede ser Heredado. 3. No retorna ningún valor (Ni void), por lo cual no debe especificarse ningún tipo de dato. 4. Debe declararse como public, sólo en casos realmente extraordinarios será de otro tipo.

Supongamos una clase llamada Datos

public class Datos { //declaracion de atributos public Datos(); //constructor sin parametros public Datos(int Edad) {//Constructor con parámetros EdadM=Edad; } }

Page 29: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Destructores: Liberación automática de memoria en Java

• Java no necesita destructores

• Cuando una porción de memoria ya no se esta utilizando por el programa, el sistema automáticamente la devuelve.

Page 30: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

CaracterísticasCaracterísticas de la POO de la POO

Las características mas importantes son:

•Abstracción •Encapsulamiento •Principio de ocultación•Polimorfismo•Herencia

Page 31: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• ¿ Qué es un Objeto ?

Un objeto es una entidad física o abstracta que tiene un comportamiento antes ciertos estímulos, tanto externos como de otros objetos específicos que se encuentran dentro del sistema.

Page 32: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

¿ Qué se puede considerar como objeto ?

• -Persona• -Equipo Hardware• -Materiales• -Información• -Software• -Procesos• -Procedimientos

Page 33: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Objeto Físico:Horno• Operaciones asociadas:

Encendido/Apagado/Cargado/Descargado.• Objeto Abstracto:Cola• Operaciones: Agregar/

Eliminar/Verificar vacía/Verificar si llena/Primero

cola/Siguiente cola/

Page 34: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

PolimorfismoPolimorfismo

• Polimorfismo significa que la misma operación puede comportarse diferentemente sobre distintas clases.

• Por ejemplo, la operación "mover" ejemplo puede comportarse diferentemente sobre una clase llamada Ventana y una clase llamada Piezas_ajedrez.

Page 35: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

HerenciaHerencia

• Herencia  • La herencia consiste en el compartir

atributos y métodos entre clases basándose en una relación jerárquica.

• Una clase puede definirse ampliamente y redefinirse sucesivamente en subclases más refinadas.

• Cada subclase que se incorpora, hereda todas las propiedades de su superclase y adiciona sus propias y únicas propiedades.

Page 36: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Elementos capaces de ser heredados

• Herencia Estructural.• Herencia de Comportamiento

( herencia de métodos).

Page 37: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Tipos de Herencia:

• Simple.

• Múltiple

Page 38: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Definición de Herencia Múltiple: Una clase puede heredar rasgos de más de una superclase. Una clase con más de una superclase es llamada clase junta. Un rasgo de una clase ancestro que se encuentra más de una vez a lo largo de una ruta solo se hereda una vez.

Page 39: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Encadenamiento Dinámico:

Una de las ventajas que promueve el estilo de programación orientada por objeto es la característica del encadenamiento dinámico, también llamado encadenamiento tardío. En efecto, no se tendrían sistemas orientados por objeto sin esa poderosa capacidad.

• Simplemente, la declaración encadenamiento dinámico significa que el sistema encadenará una rutina a un selector para un método particular que está implantado sobre un objeto clase.

Page 40: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Que es un Que es un lenguaje de programación lenguaje de programación • Un lenguaje de programación es un idioma artificial diseñado para

expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras.

• Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

• Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

• Es aquel que utilizamos para poder transmitir ordenadamente nuestras ideas a una computadora.

Page 41: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Lenguaje de programación orientado a objetosLenguaje de programación orientado a objetos

• Entre los Entre los lenguajes orientados a objetos lenguajes orientados a objetos destacan los siguientes:destacan los siguientes:

• Action Script , Ada, C++, C#, Clarion, C++Builder, D, Action Script , Ada, C++, C#, Clarion, C++Builder, D, Delphi, Harbour, Eiffel, Java, Lexico (en Delphi, Harbour, Eiffel, Java, Lexico (en castellano), Objective-C, Ocaml, Oz, Perl (soporta castellano), Objective-C, Ocaml, Oz, Perl (soporta herencia múltiple), PHP (en su versión 5) , herencia múltiple), PHP (en su versión 5) , PowerBuilder, Python, Ruby, Smalltalk, Magik PowerBuilder, Python, Ruby, Smalltalk, Magik (SmallWorld), VB.NET Visual FoxPro , XBase++(SmallWorld), VB.NET Visual FoxPro , XBase++

• Utilizaremos en nuestros ejemplos el lenguaje Utilizaremos en nuestros ejemplos el lenguaje Java en su versión J2SDK.Java en su versión J2SDK.

Page 42: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Lenguaje Java orientado a objetosLenguaje Java orientado a objetos

• El diseño orientado a objeto puede ser programado en cualquier lenguaje.

• Los desarrollos se organizan alrededor de los datos, y no de las funcionalidades.

• Afortunadamente han aparecido nuevos lenguajes que facilitan la programación orientada a objetos, como es el caso de Java.

• En adelante para explicar las funcionalidades de programación orientadas a objetos adoptaremos código de Java como ejemplo

Page 43: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Clases y ObjetosClases y Objetos

• Objeto es la entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.

• Las Clases son definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Page 44: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Creación de clases en Java (Modelo básico)

/* * Programa : Persona.java * Ejemplo de programacion de la clase *persona en Java */ class Persona{

// Métodos y atributos de los objetos

}

Page 45: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

EI, Profesor Ramón Castro Liceaga

Creación de objetos en Java: Constructores

• Para crear un nuevo objeto, se utiliza el operador new seguido por el nombre de la clase + parentesis.

Ejem.nombreObjeto = new NombreClase();

psrPersona = new Persona(“Ramon Castro”,45);

Nota: pasa los valores del nombre y la edad.

Page 46: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Código de la clase persona./* * Programa : Persona.java * Ejemplo de programacion de la clase persona en Java */ class Persona{

String m_sNombre;int m_iEdad;

Persona(String sNuevoNombre, int iNuevaEdad){

m_sNombre = sNuevoNombre;m_iEdad = iNuevaEdad;

}

void MuestraPersona(){

System.out.print(" Hola, mi nombre es " + m_sNombre);System.out.println(" Tengo " + m_iEdad + " años ");

}

public static void main (String args[]){

Persona psrPersona;psrPersona = new Persona("Ramon Castro Liceaga ", 45);psrPersona.MuestraPersona();System.out.println("********************");psrPersona = new Persona("Juan Perez ", 35);psrPersona.MuestraPersona();System.out.println("*** Fin de programa ****");

}

Page 47: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Ejemplo de la clase “ManoDerecha”Clase: Mano

Objeto: ManoDerecha

Datos o Características-Numero de dedos-Color de la Mano-Tamaño-FuerzaRutinas o Acciones-Abrir Mano-Mover Mano-Mover Dedos-Sujetar algo-Hacer Puño-Mover Puño-Cerrar ManoRelaciones con otros objetos-Puede ser de una Persona-Puede ser de un robot-Es parecida a mano izquierda-Se puede relacionar con un pie

Page 48: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Diagrama de la Clase “ManoDerecha”

Mano

-Numero de dedos-Color de la Mano-Tamaño-Fuerza

-Abrir Mano()-Mover Mano()-Mover Dedos()-Sujetar algo()-Hacer Puño()-Mover Puño()-Cerrar Mano()

Page 49: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

File, New Project…

Page 50: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

Java, Java Application, Next>…

Page 51: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

Create Main Class: MiMano, Finish…se crea el proyecto

Page 52: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

Crea la clase principal MiMano…Tenemos que crear la clase “Mano”

Page 53: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

En el paquete “mimano”, new, java class para crear la clase “Mano”

Page 54: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

En la siguiente pantalla poner en Class Name Mano y click en Finish

Page 55: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

En la siguiente pantalla poner en Class Name Mano y click en Finish

Page 56: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

Crea la clase publica Mano y ya podemos crear objetos

Page 57: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Programación de una clase en Java..

Primero creamos el constructor de objetos mismo nombre de la clase

Page 58: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Después pondremos los métodos o acciones:AbrirMano,MoverMano,MoverDedos,SujetarAlgo,HacerPuño,MoverPuño y CerrarMano

Page 59: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Después pondremos los métodos o acciones:AbrirMano,MoverMano,MoverDedos,SujetarAlgo,HacerPuño,MoverPuño y CerrarMano

Page 60: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Pasamos a la clase principal MiMano para crear el objeto ManoDerecha y tenga vida.

Page 61: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Pasamos a la clase Mano para inicializar el constructor del objeto.

Page 62: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Para ejecutar el programa desde la clase main “MiMano”. Que indica que se ha construido el objeto Mano Derecha.

Page 63: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

LE, EI, Profesor Ramón Castro Liceaga

Podemos ejecutar cualquier acción de la ManoDerecha de la siguiente manera.

Page 64: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Tarea: Completa el Programa agregando los objetos Mano Izquierda y Mano Robot…!

Page 65: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Proceso Racional Unificado Proceso Racional Unificado (Rational Unified Process RUP). (Rational Unified Process RUP).

• RUP es un proceso de desarrollo de software:

– Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo).

• Objetivos:

– Asegurar la producción de software de calidad dentro de plazos

y presupuestos predecibles.

- caracteristicas: Dirigido por casos de uso, centrado en la arquitectura, iterativo (mini-proyectos) e incremental (versiones).

• Es también un producto (tiene un proveedor):

– Desarrollado y mantenido por Rational.

– Actualizado constantemente para tener en cuenta las mejores prácticas de acuerdo con la experiencia.

Requisitos del usuario Sistema de softwareProceso de desarrollode software

Page 66: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

¿Cuáles son sus ventajas: RUP?¿Cuáles son sus ventajas: RUP?

• Aumenta la productividad de los desarrolladores mediante acceso a:– Base de conocimiento, plantillas y herramientas.

• Se centra en la producción y mantenimiento de modelos del sistema más que en producir documentos.

• RUP es una guía de cómo usar UML de la forma más efectiva.

• Existen herramientas de apoyo a todo el proceso:– Modelamiento visual, programación, pruebas, etc.

Page 67: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

¿Qué antecedentes tiene RUP?¿Qué antecedentes tiene RUP?

Rational Unified Process 5.0

Rational Objectory Process 4.1

Rational Objectory Process 4.0

Rational Approach Objectory

Process

Pruebas de rendimiento y carga(Performance Awareness)

Ingeniería de Negocios

Diseño OO de IU

Ingeniería de Datos(Vigortech)

UML 1.2

Proceso SQA(SQA Inc.)

UML 1.0

Administración de Configuración y Cambios

(Pure-Atria)

Escuela de Requerimientos(Requisite Inc.)

OMTBooch

UML 0.8

1998

1997

1996

1995

Ericsson method1967

1987

Page 68: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Mejores prácticas en RUPMejores prácticas en RUP

• RUP implementa las mejores prácticas actuales en ingeniería de software:

– Desarrollo iterativo del software

– Administración de requerimientos

– Uso de arquitecturas basadas en componentes

– Modelamiento visual del software

– Verificación de la calidad del software

– Control de cambios (mantenimiento de software)

Page 69: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Desarrollo iterativo en RUPDesarrollo iterativo en RUP

• El software moderno es complejo y novedoso. No es realista usar un modelo lineal de desarrollo como el de cascada.

• Un proceso iterativo permite una comprensión creciente de los requerimientos a la vez que se va haciendo crecer el sistema.

• RUP sigue un modelo iterativo que aborda las tareas más riesgosas primero.

• Con esto se logra reducir los riesgos del proyecto y permite tener un subsistema ejecutable tempranamente.

Page 70: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Administración de requerimientosAdministración de requerimientos

• La base de RUP es la administración de requerimientos

• RUP describe cómo:– Obtener los requerimientos

– Como organizarlos

– Como documentar requerimientos de funcionalidad y sus restricciones

– Como rastrear requerimientos y documentar decisiones

– Como captar y comunicar requerimientos del negocio

• Los casos de uso y los escenarios indicados por el proceso han probado ser una buena forma de captar requerimientos y guiar el diseño, la implementación y las pruebas.

Page 71: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Arquitecturas basadas en componentesArquitecturas basadas en componentes

• Es el proceso se basa en diseñar tempranamente una arquitectura base ejecutable.

• La arquitectura debe ser:– Flexible

– Fácil de modificar

– Intuitivamente comprensible

– Promueve la reutilización de componentes

• RUP apoya el desarrollo basado en componentes, tanto nuevos como preexistentes.

Page 72: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Modelamiento visualModelamiento visual

• Es el modelamiento visual de la estructura y el comportamiento de la arquitectura y los componentes.

• Con bloques de construcción que :– Ocultan detalles

– Permiten la comunicación en el equipo de desarrollo

– Permiten analizar la consistencia:

• entre las componentes

• entre diseño e implementación

• UML es la base del modelamiento visual de RUP.

Page 73: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Verificación de cualidadesVerificación de cualidades

• No sólo la funcionalidad es esencial, también el rendimiento y la confiabilidad.

• Es el proceso en el que RUP ayuda a planificar, diseñar, implementar, ejecutar y evaluar pruebas que verifiquen estas cualidades.

• El aseguramiento de la calidad es parte del proceso de desarrollo y no la responsabilidad de un grupo independiente.

Page 74: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Control de cambiosControl de cambios

• Se refiere a los cambios que debe tener el software

• Los cambios son inevitables, pero es necesario evaluar si éstos son necesarios y rastrear su impacto.

• Es el proceso en el que RUP indica como controlar, rastrear y monitorear los cambios dentro del proceso iterativo de desarrollo.

Page 75: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Práctica 02Práctica 02

Caso de estudio: punto de venta

Supongamos como caso de estudio el sistema de una terminalde punto de venta. Esta terminal es un sistema automatizadocon el que se registran las ventas y se realizan los pagos.

Por lo general este tipo de sistemas comprenden hardware (un computador y un lector de código barras) y software (el sistema que se ejecuta en la terminal).

El alumno entregará la programación del proyecto de “Punto de Venta” basado en la metodología RUP.

Page 76: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Práctica 02Práctica 02

Caso de estudio: punto de venta

SMBD.- SQL ServerLENGUAJE.- JavaHacer la Base de Datos.- “tienda”Tabla.- “venta”Campos :

Id primariaArticulo x(20)Cliente x(20)DescArt x(50)Precio decimalCantinv numCantvend numVenta decimal

Page 77: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Ciclo de vida de sistemas y fases en RUPCiclo de vida de sistemas y fases en RUP

• El ciclo de vida de sistemas es el proceso de desarrollo de un sistema desde que es iniciado hasta su destrucción.

• RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de cada ciclo.

• Cada ciclo se divide en cuatro Fases:– Inicio

– Elaboración

– Construcción

– Transición

• Cada fase concluye con un elemento bien definido donde deben tomarse ciertas decisiones.

Page 78: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Fases del CVS de RUPFases del CVS de RUP

FASES: INICIO, ELABORACION, CONSTRUCCIÓN Y TRANSICIÓN

Page 79: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Se establece la oportunidad y alcance el proyecto.

• Se identifican todas las entidades externas con las que se trata (actores) y se define la interacción a un alto nivel de abstracción:– Identificar todos los casos de uso

– Describir algunos en detalle

• La oportunidad del negocio incluye:– Criterios de éxito

– Identificación de riesgos

– Estimación de recursos necesarios

– Plan de las fases

Fases de RUP: InicioFases de RUP: Inicio

Page 80: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Un documento de visión general:

– Requerimientos generales del proyecto

– Características principales

– Restricciones

• Modelo inicial de casos de uso (por lo menos de 10% a 20 % listos).

• Glosario de términos del sistema.

• Caso de negocio:

– Contexto

– Criterios de éxito

– Pronóstico financiero

• Identificación inicial de riesgos para la seguridad del sistema.

• Plan de proyecto.

• Uno o más prototipos.

Fases de RUP: InicioFases de RUP: Inicio

Productos considerados en esta fase:

Page 81: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Inicio Elaboración Construcción Transición

Objetivos del Ciclo de Vida

• Las partes interesadas deben acordar el alcance y la estimación de tiempo y costo.

• Comprensión de los requerimientos plasmados en casos de uso.

Fases de RUP: InicioFases de RUP: Inicio

Hito o posición:

Page 82: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Objetivos:– Analizar el dominio del problema

– Establecer una arquitectura base sólida

– Desarrollar un plan de proyecto

– Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto

• Visión de que las decisiones de arquitectura requieren una visión global del sistema.

Fases de RUP: ElaboraciónFases de RUP: Elaboración

Page 83: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Es la parte más crítica del proceso:

– Claridad en el desarrollo del sistema

– Se puede decidir si vale la pena seguir adelante

• A partir de aquí la arquitectura, los requerimientos y los planes de desarrollo son estables.

• Ya hay menos riesgos y se puede planificar el resto del proyecto con menor incertidumbre.

• Se construye una arquitectura ejecutable que contemple:

– Los casos de uso críticos

– Los riesgos identificados

Fases de RUP: ElaboraciónFases de RUP: Elaboración

Productos de esta fase:

Page 84: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Fases de RUP: ElaboraciónFases de RUP: Elaboración

• Modelo de casos de uso (80% completo) con descripciones detalladas.

• Otros requerimientos no funcionales o no asociados a casos de uso.

• Descripción de la Arquitectura del Software.

• Un prototipo ejecutable de la arquitectura.

• Lista revisada de riesgos y del caso de negocio.

• Plan de desarrollo para el resto del proyecto.

• Un manual de usuario preliminar.

Productos de esta fase:

Page 85: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Condiciones de éxito de la elaboración (preguntas):– ¿Es estable la visión del producto?

– ¿Es estable la arquitectura?

– ¿Las pruebas de ejecución demuestran que los riesgos han sido abordados y resueltos?

– ¿Es el plan del proyecto algo realista?

– ¿Están de acuerdo con el plan todas las personas involucradas?

Concepción Elaboración Construcción Transición

Arquitectura de Ciclo de Vida

Fases de RUP: ElaboraciónFases de RUP: Elaboración

Hito o posición:

Page 86: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• En esta fase todas las componentes restantes se desarrollan e incorporan al producto. (integración)

• Todo es probado en profundidad.

• El énfasis está en la producción eficiente y no ya en la creación intelectual.

• Puede hacerse construcción en paralelo, pero esto exige una planificación detallada y una arquitectura muy estable.

Fases de RUP: ConstrucciónFases de RUP: Construcción

Page 87: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• El producto de software integrado y corriendo en la plataforma adecuada.

• Manuales de usuario.

• Una descripción del “release” actual. (versión actual)

Fases de RUP: ConstrucciónFases de RUP: Construcción

Productos en esta fase :

Page 88: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Fases de RUP: ConstrucciónFases de RUP: Construcción

• Se obtiene un producto Beta que debe decidirse si puede ponerse en ejecución sin mayores riesgos.

• Condiciones de éxito: (preguntas)– ¿El producto está maduro y estable para instalarlo en el ambiente del

cliente?

– ¿Están los interesados listos para recibirlo?

Concepción Elaboración Construcción Transición

CapacidadOperacional

Hito o posición:

Page 89: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• El propósito en esta fase es: traspasar el software desarrollado a la comunidad de usuarios.

• Una vez instalado surgirán nuevos elementos que implicarán nuevos desarrollos (ciclos).

• Incluye:– Pruebas Beta para validar el producto con las expectativas del cliente

– Ejecución paralela con sistemas antiguos

– Conversión de datos

– Entrenamiento de usuarios

– Distribuir el producto

Fases de RUP: TransiciónFases de RUP: Transición

Page 90: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Obtener autosuficiencia de parte de los usuarios.

• Concordancia en los logros del producto de parte de las personas involucradas.

• Lograr el concenso cuanto antes para liberar el producto al mercado.

Concepción Elaboración Construcción Transición

Producto final

Fases de RUP: TransiciónFases de RUP: Transición

Objetivos de esta fase :

Page 91: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Trabajador• Un trabajador define el comportamiento y las

responsabilidades de un individuo.

• Es como un “sombrero” que la persona usa durante el proyecto:– Una persona puede tener varios sombreros

– Es el rol que desempeña en un momento dado

• Responsabilidades:– Hacer una serie de actividades

– Ser el responsable de una serie de artefactos (Elementos de información producidos, modificados o usados por el proceso)

Definiciones importantes en RUPDefiniciones importantes en RUP

Page 92: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Actividades• Una actividad es una unidad de

trabajo que se asigna a un trabajador. Ej.:

– Crear o modificar un artefacto (Ejem. Algún código fuente de un lenguaje de programación)

• Una actividad que lleva entre un par de horas y un par de días, involucra un solo trabajador y un número pequeño de artefactos.

• Las actividades se consideran en la planificación y evaluación del progreso del proyecto.

• Ejemplos:

– Planificar una iteración - Administrador de proyecto

– Encontrar actores y casos de uso - Analista

– Revisar el diseño - Revisor de diseño

– Ejecutar pruebas de performance - Ing. de pruebas de performance

Definiciones importantes en RUPDefiniciones importantes en RUP

Page 93: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Recurso Trabajador Actividad

Pablo Diseñador Diseño de Objetos

María Autor de Casos de Uso Detallar un Caso de Uso

José Diseñador de Casos de Uso Diseñar un Caso de Uso

Silvia Revisor de Diseño Revisar el Diseño

Eduardo Arquitecto Análisis de Arquitectura Diseño de Arquitectura

Ejemplo de asignación de actividadesEjemplo de asignación de actividades

Page 94: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Elementos de información producidos, modificados o usados por el proceso.

• Son los productos tangibles del proyecto.

• Son usados por los trabajadores para realizar nuevas actividades y son el resultado de esas actividades.

• Ejemplos:

– Un modelo, como el modelo de casos de uso o el modelo de diseño.

– Un elemento del modelo, como una clase o un caso de uso.

– Un documento tal como el Caso del Negocio o la Arquitectura del Software.

– Un Código fuente.

– Un Código ejecutable.

Que son los Artefactos ?Que son los Artefactos ?Son los productos de información creados , modificados o usados por los trabajadores para realizar nuevas actividades en el proceso de desarrollo de Software.

Page 95: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Un proceso es una lista de actividades, trabajadores y artefactos en el proceso de desarrollo de sofware

• Un flujo de trabajo es una secuencia de actividades que produce un resultado significativo y valioso.

• No siempre es posible representar flujos de trabajo.

Análisis deArquitectura

Diseño deArquitectura

DescribirConcurrencia

DescribirDistribución

Análisis deCasos de Uso

Diseño deCasos de Uso

Análisis deObjetos Diseño de

Objetos

Revisar elAnálisis

Revisar elDiseño

Revisar laArquitecturaRevisor de

Diseño

Diseñador

Diseñador deCasos de Uso

Arquitecto

Flujos de trabajoFlujos de trabajo

Page 96: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Flujos de Trabajode Ingeniería

Flujos de Trabajode Soporte

Flujos de trabajo esencialesFlujos de trabajo esenciales

Page 97: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Flujos de trabajoFlujos de trabajo

• Existen habitualmente problemas de comunicación entre ingenieros de software e ingenieros de negocios.

• RUP proporciona un lenguaje y proceso común para estos dos ámbitos.

• Para el modelamiento del negocio se usan “business use cases” (casos de uso del negocio):– La forma en que el software dará apoyo al negocio.

Page 98: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Cliente Reciclar

Imprimir Informe

Operador

Administrar Depósito

• Los desarrolladores y clientes deben acordar qué es lo que el sistema debe hacer:– Relevar requerimientos

– Documentar funcionalidad y restricciones

– Documentar decisiones

– Identificar actores

– Identificar casos de uso

• Los casos de uso describen la funcionalidad.

• Los requerimientos no funcionales se incluyen en una especificación complementaria.

RequerimientosRequerimientos

Page 99: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Descripción de cómo se implementará el sistema: un plano

• Debe:

– Ejecutar las tareas y funciones descritas en los casos de uso

– Satisfacer todos los requerimientos

– Flexible a cambios

• El diseño se centra en la noción de arquitectura.

• Diseñar y validar la arquitectura es una tarea esencial.

• El modelo de diseño consta de

– Clases estructuradas en paquetes

– Diseños de subsistemas con interfaces definidas (componentes)

– Forma de colaboración entre las clases.

Análisis y diseñoAnálisis y diseño

Page 100: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Propósito:

– Definir la organización del código

– Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.)

– Probar las componentes desarrolladas

– Integrar las componentes en un sistema ejecutable

ImplementaciónImplementación

Page 101: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Propósito:

– Verificar la interacción entre los objetos

– Verificar la integración apropiada de componentes

– Verificar que se satisfacen los requerimientos

– Identificar los defectos y corregirlos antes de la instalación

• RUP describe como planear y ejecutar estas pruebas.

• RUP propone probar las componentes desde el principio:

– Confiabilidad, funcionalidad y performance

• Las pruebas de regresión son importantes en desarrollos iterativos.

• Rational tiene herramientas para automatizar algunas pruebas.

PruebasPruebas

Page 102: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Es el producir un producto y hacerlo llegar a sus usuarios finales.

• Incluye varias actividades:

– Producir un “release”

– Empaquetar el software

– Distribuir el software

– Instalar el software

– Apoyar a los usuarios

• A veces también incluye:

– Realizar pruebas beta

– Migración de datos

– Aceptación formal

• La mayor parte de la distribución ocurre durante la transición.

• Este es uno de los flujos de trabajo menos documentados en RUP.

DistribuciónDistribución

Page 103: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Es el arte de balancear objetivos contrarios, manejar riesgos y producir software que satisface a clientes y usuarios.

• Existen pocos proyectos realmente exitosos.

• RUP incluye:– Un área o framework para manejo de proyectos de software

– Guías para planificación, provisión de personal, ejecución y monitoreo de planes

– Un framework para manejar riesgos

Administración de proyectosAdministración de proyectos

Page 104: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Es el proceso o forma de controlar los artefactos producidos por las personas que trabajan en el proyecto.

• Algunos problemas habituales:– Actualizaciones simultáneas

– Múltiples versiones

• RUP da guías para:– Desarrollos en paralelo

– Automatizar la construcción

– Administrar defectos

Administración de configuración y cambiosAdministración de configuración y cambios

Page 105: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Es considerar el ambiente y las herramientas de desarrollo que harán posible llevar a cabo el proyecto de desarrollo de software.

• RUP guía en la configuración de un ambiente de proceso apropiado a cada proyecto.

AmbienteAmbiente

Page 106: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

• Es considerar el ambiente y las herramientas de desarrollo que harán posible llevar a cabo el proyecto de desarrollo de software.

• RUP guía en la configuración del proyecto apropiado.

Gestión del Proyecto utilizandoGestión del Proyecto utilizando la metodología RUPla metodología RUP

Page 107: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION

Gracias por tu atención ….!Gracias por tu atención ….!