© 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos...

84
© 2007 Microsoft Corporation.

Transcript of © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos...

Page 1: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

© 2007 Microsoft Corporation.

Page 2: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Objeto. 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).

Clase: Es la descripción de un conjunto de objetos que comparten los mismos atributos, operaciones , relaciones y semántica.

Términos orientados a objetosTérminos orientados a objetos

Page 3: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 4: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 5: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 6: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 7: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 8: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 9: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 10: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Método: algoritmo asociado a un objeto ( o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un “mensaje”.

Evento: 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 enviado el mensaje adecuado al objeto pertinente.

Términos orientados a objetosTérminos orientados a objetos

Page 11: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Mensaje: 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ó.

Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera de un objeto, y cuyo valor puede ser alterado por la ejecución de algún método.

Términos orientados a objetosTérminos orientados a objetos

Page 12: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplo de una claseEjemplo de una clase

Foco

Encender ()

Apagar()

Page 13: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Encapsulamiento: también llamado “ocultación de la información “.cada objeto esta aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase.

Características de TOOCaracterísticas de TOO

Page 14: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 15: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Polimorfismo: comportamientos diferentes , asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.

Herencia: los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.

Características de TOOCaracterísticas de TOO

Page 16: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplo de polimorfismoEjemplo de polimorfismo

operaciones

suma (int x, int y)

Suma (double x, double y)

Suma (char x, char y)

Page 17: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplo de herenciaEjemplo de herenciaForma

Dibujar ()

Borrar ()

Obtienecolor ()

Poncolor ()

Circulo Rectángulo Cuadrado

Page 18: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 19: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Para el siguiente ejercicio, hacer la jerarquía de clases, agregando métodos y atributos a las siguientes clases.

Práctica Práctica

Cursos

Escuela

Estudiante

Page 20: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Proceso .- es una secuencia de pasos para alcanzar un propósito específico.

Ingeniería de softwareIngeniería de software

Personas Procedimientos

Herramientas

Proceso .- es lo que las personas hacen, usando procedimientos, métodos, herramientas, y equipo para transformar un material en un producto.

Page 21: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Proceso de desarrollo de SW es un conjunto de actividades, métodos, prácticas y transformaciones que las personas emplean para desarrollar y mantener software y productos asociados tales como planes de proyecto, documentos de diseño, código, casos de prueba, manuales de usuarios, etc..

Ingeniería de softwareIngeniería de software

Page 22: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Línea Secuencial (Cascada)

Modelos de desarrollo de SWModelos de desarrollo de SW

Análisis de requerimientos Diseño Implementación Pruebas y mantenimiento

Modelo en espiral Comunicación con el cliente Planificación Análisis de riesgos Diseño Construcción y adaptación Evaluación

Page 23: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplos de otros procesos de Ejemplos de otros procesos de desarrollo de SWdesarrollo de SWRUP

eXtreme Programming (XP)

Microsoft Solution Framework

Page 24: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Rational Unified Process (RUP)Rational Unified Process (RUP)Consta de 4 fases

Inicio

Elaboración

Construcción

Transmisión

Page 25: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Esta metodología se basa en:

Extreme Programing (XP)Extreme Programing (XP)

Pruebas UnitariasRefabricaciónProgramación de pares

Propuestas de XPEmpieza en pequeño y añade funcionalidad con retroalimentación continua.El manejo del cambio se convierte en parte sustantiva del procesoEl costo del cambio no depende de la fase o etapa No introduce funcionalidades antes que sean necesariasEl cliente o el usuario se convierte en miembro del equipo

Page 26: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

XP Extreme ProgrammingXP Extreme Programming

La metodología XP (Extreme La metodología XP (Extreme programing) tiene el propósito de programing) tiene el propósito de desarrollar un software en un corto desarrollar un software en un corto tiempo, utilizando las etapas que tiempo, utilizando las etapas que se cree son las mas importantes, se cree son las mas importantes, empezando con los requerimientos empezando con los requerimientos y posteriormente la diagramación, y posteriormente la diagramación, utilizando la metodología UML. Al utilizando la metodología UML. Al momento de utilizar la momento de utilizar la diagramación UML puedes realizar diagramación UML puedes realizar solo algunos de los diagramas solo algunos de los diagramas como lo son los diagramas de casos como lo son los diagramas de casos de uso, diagrama de clases y de uso, diagrama de clases y diagrama de implementación.diagrama de implementación.

Page 27: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Tiene las siguientes características:

Microsoft Solution Framework Microsoft Solution Framework (MSF)(MSF)

Adaptable EscalableFlexibleTecnología agnóstica

Se compone de varios modelos:Modelo de Arquitectura del ProyectoModelo de EquipoModelo de ProcesoModelo de Gestión del RiesgoModelo de Diseño del ProcesoModelo de Aplicación

Page 28: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Modelo Visual Modelo Visual Modelar.- Es una manera efectiva de administrar la complejidad del desarrollo de SW.

Un modelo sirve como una abstracción, una representación aproximadamente del mundo real que se quiere construir.

Page 29: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Porque modelarPorque modelarEl dominio del problema es bien conocido

La solución es relativamente fácil de construir

Muy pocas personas colaboran en la construcción de la solución

La solución requiere mantenimiento mínimo

Es poco probable que haya requerimientos posteriores

Page 30: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

En que casos modelarEn que casos modelarComplejidad

Riesgos

Los participantes iniciales en la solución de la construcción no siempre completan la tarea

Page 31: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Modelar un SistemaModelar un SistemaProvee a los arquitectos e involucrados en el proyecto:

La habilidad de visualizar el sistema completo

Evaluar diferentes opciones

Comunicar el diseño de una manera más clara antes de iniciar con el proyecto

Evaluar riesgos técnicos, financieros y de construcción

Page 32: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Permite que los desarrolladores:Tengan un mejor entendimiento de lo que van a construir

Puedan crear y comunicar los diseños de SW antes de comprometer recursos adicionales

Puedan agregar requerimientos al sistema

Asegurar que los que están construyendo es lo que el usuario espera

Modelar un SistemaModelar un Sistema

Page 33: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Arquitectura basada en Arquitectura basada en modelosmodelos

Nuevo enfoque originado por Object Management Group para el desarrollo de SW

Separar el diseño de la arquitectura y de las tecnologías de construcción

Diseño: Requerimientos funcionales

Tecnologías de construcción: Requerimientos no funcionales

Especificar la arquitectura a un nivel de mayor detalle incluyendo tecnologías de la capa de presentación, de la capa de negocio, de persistencia o tecnología de mapeo o de persistencia

Page 34: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Los métodos de análisis y Los métodos de análisis y diseñodiseño

Un método define un sistema reproducible para obtener resultados fiables. Todos los ámbitos del conocimiento utilizan métodos mas o menos sofisticados y mas o menos formalizados. Los cocineros hablan de recetas de cocina, los pilotos realizan check-list antes de despegar. Los arquitectos dibujan planos y los músicos siguen reglas de composición.

Asimismo, un método de elaboración de programas describe cómo modelar y construir sistemas de programas de manera fiable y reproducible.

¿Qué es un método?¿Qué es un método?

Page 35: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Los métodos de análisis y Los métodos de análisis y diseñodiseño

De manera general, los métodos permiten construir modelos a partir de elementos de modelado que constituyen los conceptos fundamentales para la representación de sistemas o fenómenos. Las notas escritas sobre las partituras son elementos de modelado para la música. La aproximación orientada a objetos propone el equivalente de las notas – los objetos – para la representación de los programas.

¿Qué es un método?¿Qué es un método?

Page 36: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Los métodos de análisis y Los métodos de análisis y diseñodiseño

Los métodos definen también una representación – a menudo gráfica – que permite, por una parte, manipular fácilmente los modelos y, por otra, comunicar e intercambiar la información entre los diferentes interlocutores. Una buena representación busca el equilibrio entre la densidad de información y la legibilidad

Además de los elementos de modelado y de sus representaciones gráficas, un método define reglas de implementación que describen la articulación de los diferentes puntos de vista, el encadenamiento de las acciones, la ordenación de las tareas y el reparto de las responsabilidades.

¿Qué es un método?¿Qué es un método?

Page 37: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Principales etapas de la definición de Principales etapas de la definición de UMLUML

En desarrollo 2004…)

Adaptación oficial 2003

Estandarización por el OMG

Sumisión al OMG- enero 97

Versión Beta OOPSLA 96

www – junio 96

OOPSLA 95

Comentarios

Otros métodos

UML 2.0

UML 1.5

UML 1.0

UML 0.9

Método unificado 0.8

Booch 91

Booch 93

OMT -1

OMT-2

OOSE Colaboradores

Especificación disponible

en Internet

Especificación disponible

en Internet

Juego de

documentación

Page 38: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 39: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).
Page 40: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Modelo de casos de usoModelo de casos de usoFlujos de eventoFlujos de evento

Page 41: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Actores Actores

Un actor representa una persona, hardware o sistema externo que interactúa con el sistema.

En UML un actor es representado de la siguiente manera:

actor

Cliente comercial

Cliente

Generalización

Ejemplo:

Page 42: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Casos de usoCasos de usoUn caso de usos especifica el comportamiento de un sistema o una parte de un sistema y es una descripción de una secuencia de acciones incluyendo las variantes que un sistema desarrolla para ofrecer un resultado observable a un actor.

El objetivo de un caso de uso es definir el comportamiento de un sistema.

Un caso de uso es representado de la siguiente manera:

Nombre

Page 43: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Casos de uso (continuación)Casos de uso (continuación)Los casos de uso deben de tener un nombre que permita distinguir entre un caso de uso y otro.

Se recomienda que los casos de uso sean cortos, verbos y que indiquen el comportamiento del sistema que se está modelando.

Registra pedido

Valida usuario

Nombre simple

Page 44: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Diagramas de Casos de usoDiagramas de Casos de usoUn diagrama de casos de uso es uno de los diagramas en UML para modelar la funcionalidad del sistema

Muestra un conjunto de casos de uso, actores y sus relaciones.

Son utilizados para modelar la vista del sistema.

Modelando el contexto del sistema

Modelando los requerimientos del sistema.

Page 45: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Diagramas de Casos de usoDiagramas de Casos de uso(Modelando el contexto del (Modelando el contexto del

sistema)sistema)

Cliente individual

Cliente corporativo

Cliente

Administra cuenta

Ejecuta transacción

Institución de autoservicio

Institución financiera

Sistema de validación de tarjetas de crédito

Page 46: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Paquetes de Casos de usoPaquetes de Casos de usoEn UML el paquete es un mecanismo de propósito general para organizar los elementos del modelado de grupos.

Reglas de negocio

Page 47: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Flujos de eventosFlujos de eventosDocumentación de un caso de uso

Flujos primarios y alternos

Análisis de casos de uso

Page 48: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Flujos primarios y alternosFlujos primarios y alternosEl flujo de eventos se utiliza para especificar el comportamiento de un caso de uso, indicando como y cuando inicia y termina.

Registra

pedido

Administración de

pedidos

Realización

Page 49: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

<<include>> <<include>> y y <<extend>> <<extend>> generalizacióngeneralización. .

El primero indica que el Caso de Uso El primero indica que el Caso de Uso requiere de usar otro caso de uso para requiere de usar otro caso de uso para poder ser llevado a cabo. Esta es una poder ser llevado a cabo. Esta es una forma muy adecuada de sacar factor forma muy adecuada de sacar factor común entre Casos de Uso, o incluso común entre Casos de Uso, o incluso de fraccionar Casos de Uso muy de fraccionar Casos de Uso muy grandes. grandes.

El segundo indica que un Caso de Uso El segundo indica que un Caso de Uso es una variación de otro caso de uso. es una variación de otro caso de uso. Observamos también que “Comer pan” Observamos también que “Comer pan” y “Beber cafe” son una generalización y “Beber cafe” son una generalización de “Alimentarse”.de “Alimentarse”.

Page 50: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplo ( Generalización, Include, Ejemplo ( Generalización, Include, Extend)Extend)

Registra

pedido

Registra

pedido especial

Seguimiento

de pedidos

Valida

usuario

Valida

contraseña

Escanea

retina

<<Extended>>

<<Include>>

<<Include>>

Page 51: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplo (Diagrama de Casos de Ejemplo (Diagrama de Casos de uso)uso)

Teléfono celular

Usuario

Red de teléfonos celulares

Registra

llamada

Recibe

llamada

Agenda de

usuario

Registra

conferencia

Recibe Llamadas

adicionales

Page 52: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Análisis de casos de usoAnálisis de casos de usoIdentificar los actores

Organizar los actores

Para cada actor, considerar la forma principal en que interactúa con el elemento

Considerar excepciones

Organizar el comportamiento en casos de uso (aplicando include y extend)

Page 53: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

EjemploEjemploRegistra

pedido

Cobros

Seguimiento

de pedidos

Entrega

pedido

Valida

cliente

Entrega pedido

especial

<<Extended>>

<<Include>>

<<Include>>

<<Include>>

Page 54: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Documentación de caso de usoDocumentación de caso de usoLa documentación de los casos de uso puede ser realizada de la siguiente manera

Documentando los escenarios a través de texto

Mediante colaboración y organizando los casos de uso

Page 55: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Casos de usoCasos de uso

Caso de uso: ReporteCaso de uso: Reporte

Numero del caso de uso: 3Numero del caso de uso: 3

Actores : Actores :

Propósito:Propósito:

Resumen:Resumen:

Tipo: Primario y esencialTipo: Primario y esencial

Referencias cruzadas:Referencias cruzadas:

Curso normal de los eventosCurso normal de los eventos

Acción del actorAcción del actor Respuesta del sistemaRespuesta del sistema

Documentación de caso de usoDocumentación de caso de uso

Page 56: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Requerimientos Requerimientos

Caso de estudio: punto de venta

Supongamos como caso de estudio el sistema de una terminal de punto de venta. Esta terminal es un sistema automatizado con 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 de barra) y software (el sistema que se ejecuta en la terminal)

Page 57: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Requerimientos Requerimientos a) Panorama general

Este proyecto tiene por objeto crear un sistema de terminal para el punto de venta que se utilizara en las ventas de un supermercado.

b) Metas

En términos generales, la meta es una mayor automatización del pago en las cajas registradoras, y dar soporte a servicios mas rápidos, mas baratos y mejores. Concretamente, la meta incluye:

Pago rápido de los clientes.

Análisis rápido y exacto de las ventas.

Control automático del inventario.

Page 58: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Requerimientos Requerimientos

c) Funciones del sistema

Las funciones del sistema son lo que este deberá de hacer:

Las funciones pueden clasificarse en tres categorías: evidentes, ocultas y superfluas. Las evidentes deben de realizarse, y el usuario debe de saber que se han realizado. Las ocultas también deben realizarse, y puede que no sean visibles para el usuario. Las superfluas son opcionales, y su inclusión no repercute significativamente en el costo ni en otras funciones.

Page 59: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Estas son algunas de las funciones del sistema de punto de venta:Ref. Ref. Función Función Categoría Categoría

R1.1R1.1 Registra la venta en proceso (actual): los productos Registra la venta en proceso (actual): los productos comprados.comprados.

R1.2R1.2 Calcula el total de la venta actual, se incluye el Calcula el total de la venta actual, se incluye el impuesto.impuesto.

R1.3R1.3 Captura la información sobre el objeto comprado Captura la información sobre el objeto comprado usando su código de barras, o usando una captura usando su código de barras, o usando una captura manual del código de producto.manual del código de producto.

R1.4R1.4 Reduce las cantidades del inventario cuando se Reduce las cantidades del inventario cuando se realiza una venta.realiza una venta.

R1.5R1.5 Se registran las ventas efectuadas.Se registran las ventas efectuadas.

R1.6R1.6 El cajero debe de introducir una identificación y una El cajero debe de introducir una identificación y una contraseña para poder utilizar el sistema.contraseña para poder utilizar el sistema.

R1.7R1.7 Ofrece un mecanismo de almacenamiento Ofrece un mecanismo de almacenamiento persistente.persistente.

R1.8R1.8 Ofrece mecanismos de comunicación entre los Ofrece mecanismos de comunicación entre los procesos y entre los sistemas.procesos y entre los sistemas.

R1.9R1.9 Muestra la descripción y el precio del producto Muestra la descripción y el precio del producto registrado.registrado.

Requerimientos Requerimientos

Page 60: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Casos de usoCasos de usoDiagrama UML de casos de uso para el sistema de punto de venta:

Cliente

Entrega el cambio de los

productos comprados

Compra productos

Punto de venta

Registra los datosCajero

Este esquema tiene por objeto ofrecer un diagrama contextual que nos permita conocer rápidamente los actores externos de un sistema y las formas básicas en que estos lo utilizan.

Page 61: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Casos de usoCasos de uso

Un diagrama de casos de uso más refinado seria el siguiente:

Cliente

Entrega el cambio de los

productos comprados

Compra productos

Punto de venta

Registra los datosCajero

Administra a

los usuarios

Inicia

terminaGerente

Adm. Del sistema

Page 62: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Práctica Práctica Sistema de control escolar.

Inscripción

Alta de materias

Lista de profesores

Sistema de inscripciones

Reportes

Reporte de calificaciones

Cardex

Boletas de calificaciones

Page 63: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

7. Diagrama de clases7. Diagrama de clases

Page 64: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

ClasesClases OperacionesOperaciones Relaciones de herencia, agregación y Relaciones de herencia, agregación y

dependenciadependencia Multiplicidad Multiplicidad

Diagrama de clasesDiagrama de clases

Page 65: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

““Es la descripción de un conjunto de objetos que Es la descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, comparten los mismos atributos, operaciones, relaciones y semántica.”relaciones y semántica.”

““Describe un conjunto de objetos que tienen Describe un conjunto de objetos que tienen características y comportamiento idéntico. “características y comportamiento idéntico. “

ClasesClases

Page 66: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

AtributosAtributos

Es un componente de información que el objeto Es un componente de información que el objeto conoce de si mismo.conoce de si mismo.

Elementos de un atributo.Elementos de un atributo. VisibilidadVisibilidad Nombre del atributoNombre del atributo Tipo de datoTipo de dato Valor por defectoValor por defecto

Page 67: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

OperacionesOperaciones

Una operación es la implementación de un Una operación es la implementación de un servicio del cual puede ser solicitado por servicio del cual puede ser solicitado por cualquier objeto de la clase para afectar su cualquier objeto de la clase para afectar su comportamiento.comportamiento.

Elementos de una operación:Elementos de una operación: Nombre de operaciónNombre de operación ArgumentosArgumentos Tipo de dato a regresar.Tipo de dato a regresar. VisibilidadVisibilidad

Page 68: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

VisibilidadVisibilidad

Es el adjetivo que se le asigna a las operaciones Es el adjetivo que se le asigna a las operaciones o atributos de una clase y especifica cuando o atributos de una clase y especifica cuando puede ser usado por otras clases.puede ser usado por otras clases. PublicPublic.- El método o atributo puede ser .- El método o atributo puede ser

utilizado por cualquier clase(+).utilizado por cualquier clase(+). ProtectedProtected.- El método o atributo puede ser .- El método o atributo puede ser

utilizado por cualquier descendiente de la utilizado por cualquier descendiente de la clase (#).clase (#).

PrivatePrivate.- El método o atributo puede ser .- El método o atributo puede ser utilizado solo por la misma clase(-).utilizado solo por la misma clase(-).

Page 69: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Ejemplo:Ejemplo:

Toolbar Toolbar

# Current# CurrentSelection: ToolSelection: Tool

# ToolCourt: Integer# ToolCourt: Integer

+ pickItem (i: integer)+ pickItem (i: integer)

+ addTool (t: Tool)+ addTool (t: Tool)

+ removeTool: (i: integer)+ removeTool: (i: integer)

+ getTool () : Tool+ getTool () : Tool

# checkOrphans ()# checkOrphans ()

- Compact ()- Compact ()

Protected

Public

Private

Page 70: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Relaciones de Herencia y Relaciones de Herencia y asociaciónasociación

La asociación es una relación que indica la La asociación es una relación que indica la comunicación que existe entre dos clases.comunicación que existe entre dos clases.

La herencia es representada con una relación de La herencia es representada con una relación de generalización entre clases (una clase base y generalización entre clases (una clase base y subclases).subclases).

Page 71: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

EjemploEjemplo

Window Window

Open()Open()

close()close()

move() move()

display()display()

ConsoleWindow DialogBox Control

Generalización

Asociación

Page 72: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

MultiplicidadMultiplicidad

La Multiplicidad se utiliza para indicar cuantos La Multiplicidad se utiliza para indicar cuantos objetos pueden estar conectados a través de una objetos pueden estar conectados a través de una relación de asociación.relación de asociación.

Persona Compañía Empleado

Multiplicidad

Asociación

Empleador1.. * 1

Page 73: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Tipos de clasesTipos de clases

Abstracta: Abstracta: Son clases que no tienen instancias de Son clases que no tienen instancias de forma directa, en UML es especificada con el nombre forma directa, en UML es especificada con el nombre en tipo de letra cursiva.en tipo de letra cursiva.

Raíz.- Raíz.- Es una clase que no tiene padres, en UML es Es una clase que no tiene padres, en UML es especificada escribiendo “root” abajo del nombre de especificada escribiendo “root” abajo del nombre de la clase.la clase.

Hoja: Hoja: Es una clase que no tiene hijos, en UML es Es una clase que no tiene hijos, en UML es especificada escribiendo “leaf” abajo del nombre de especificada escribiendo “leaf” abajo del nombre de la clase.la clase.

Page 74: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

EjemploEjemplo

Icon Icon

(root) (root)

Origin: PointOrigin: Point

Display ( )Display ( )

Get ID ( ): integer Get ID ( ): integer (leaf)(leaf)RectangularIconRectangularIcon

Height: integerHeight: integer

Width: integerWidth: integer ArbitraryIcon ArbitraryIcon

Edge: LineCollectionEdge: LineCollection

IsInside (p: Point) : IsInside (p: Point) : Boolean Boolean

Button Button

Display ( )Display ( )

OKButtonOKButton

(leaf)(leaf)

Display ( )Display ( )

Clase abstractaClase base

Operación abstracta

Clase abstracta

Clase leaf

Clase concreta

Page 75: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Agregación y ComposiciónAgregación y Composición

Equipo Jugador

Composición

Agregación

Libro Pagina

Page 76: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

8.- Diagramas de 8.- Diagramas de Secuencia Secuencia

Page 77: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Clases y ObjetosClases y Objetos

Una clase es la descripción de un conjunto de objetos Una clase es la descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, que comparten los mismos atributos, operaciones, relaciones y semántica.relaciones y semántica.

Un objeto es la instancia de la clase.Un objeto es la instancia de la clase.

Page 78: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Diagrama de SecuenciaDiagrama de Secuencia

Un diagrama de secuencia es un diagrama de Un diagrama de secuencia es un diagrama de interacción que se utiliza para modelar el aspecto interacción que se utiliza para modelar el aspecto dinámico del sistema.dinámico del sistema.

El diagrama de secuencia hace énfasis en el orden de El diagrama de secuencia hace énfasis en el orden de ejecución de los mensajes con respecto al tiempo.ejecución de los mensajes con respecto al tiempo.

Page 79: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Línea de vidaLínea de vida

La línea de vida de un objeto es una línea La línea de vida de un objeto es una línea punteada vertical que representa la existencia punteada vertical que representa la existencia de un objeto en un tiempo determinado.de un objeto en un tiempo determinado.

Cliente

Línea de vida

Page 80: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Foco de controlFoco de control

El foco de control de un objeto es un rectángulo que El foco de control de un objeto es un rectángulo que muestra el tiempo durante el cual un objeto está muestra el tiempo durante el cual un objeto está ejecutando una acción de forma directa o a través ejecutando una acción de forma directa o a través de un procedimiento subordinado.de un procedimiento subordinado.

Cliente

Foco de control

Page 81: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Mensajes y OperacionesMensajes y Operaciones

Un mensaje es la especificación de la Un mensaje es la especificación de la comunicación entre objetos.comunicación entre objetos.

Cuando un mensaje es enviado, la acción que Cuando un mensaje es enviado, la acción que resulta es una sentencia ejecutable que forma resulta es una sentencia ejecutable que forma una abstracción de un procedimiento una abstracción de un procedimiento computacional.computacional. Call.- Invoca a una operación a un objeto.Call.- Invoca a una operación a un objeto. Return.- Regresa un valor de regreso a quien lo Return.- Regresa un valor de regreso a quien lo

invoco.invoco. Send.- Envía una señal a un objeto.Send.- Envía una señal a un objeto. Create.- Crea un objeto.Create.- Crea un objeto. Destroy.- Destruye un objeto.Destroy.- Destruye un objeto.

Operación: Operación: Es la implementación de un Es la implementación de un servicio que puede recibir peticiones de un servicio que puede recibir peticiones de un objeto.objeto.

Page 82: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Mensajes y operaciones Mensajes y operaciones (ejemplo)(ejemplo)

c:Client

TicketAgent

p:Planning Assistance

Create

Return

Destroy

Call

Send

Destroy

Route

Setltinerary (l)

Create

Notity()

X

CalculateRoute()

Page 83: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

Diagrama de colaboraciónDiagrama de colaboración

Un diagrama de colaboración es un diagrama de Un diagrama de colaboración es un diagrama de interacción que se utiliza para modelar el interacción que se utiliza para modelar el aspecto dinámico del sistema.aspecto dinámico del sistema.

El diagrama de colaboración hace énfasis en la El diagrama de colaboración hace énfasis en la organización de los objetos que participan en la organización de los objetos que participan en la interacción.interacción.

Page 84: © 2007 Microsoft Corporation.. Objeto. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos).

EJEMPLO DIAGRAMA DE EJEMPLO DIAGRAMA DE COLABORACIÓNCOLABORACIÓN