Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramas UML
Diagramas UML
Foco
Encender ()
Apagar()
Características de POO
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 POO
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.
Ejemplo de polimorfismo
operaciones
Dibujar ()
Borrar ()
Obtienecolor ()
Poncolor ()
Personas Procedimientos
Herramientas
Modelo en espiral
Comunicación con el cliente
Planificación
Análisis de riesgos
Diseño
Construcción y adaptación
Evaluación
Ejemplos de otros procesos de
desarrollo de SW
RUP
eXtreme Programming (XP)
Microsoft Solution Framework
Rational Unified Process (RUP)
Consta de 4 fases
Inicio
Elaboración
Construcción
Transmisión
Extreme Programing (XP)
Esta metodología se basa en:
Pruebas Unitarias
Refabricación
Programación de pares
Propuestas de XP
Empieza en pequeño y añade funcionalidad con
retroalimentación continua.
El manejo del cambio se convierte en parte sustantiva
del proceso
El costo del cambio no depende de la fase o etapa
No introduce funcionalidades antes que sean necesarias
El cliente o el usuario se convierte en miembro del
equipo
XP Extreme Programming
Booch 93 OMT-2
Comentarios
actor
Ejemplo:
Cliente
Cliente
comercial Generalización
Casos de uso
Un 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
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.
Valida usuario
Diagramas de Casos de uso
Un 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.
Diagramas de Casos de uso
(Modelando el contexto del sistema)
Sistema de validación de
tarjetas de crédito
Ejecuta transacción
Cliente Institución de
autoservicio
Administra cuenta
Reglas de negocio
Flujos de eventos
Documentación de un caso de uso
Flujos primarios y alternos
Análisis de casos de uso
Flujos primarios y alternos
El flujo de eventos se utiliza para especificar el
comportamiento de un caso de uso, indicando
como y cuando inicia y termina.
Administración
Registra
de
pedido
pedidos
Realización
<<include>> y <<extend>> generalización.
El primero indica que el Caso de Uso requiere de
usar otro caso de uso para poder ser llevado a
cabo. Esta es una forma muy adecuada de sacar
factor común entre Casos de Uso, o incluso de
fraccionar Casos de Uso muy grandes.
El segundo indica que un Caso de Uso es una
variación de otro caso de uso. Observamos
también que “Comer pan” y “Beber cafe” son una
generalización de “Alimentarse”.
Ejemplo ( Generalización, Include, Extend)
Registra <<Extended>> Registra
<<Include>>
Valida
Seguimiento contraseña
de pedidos
<<Include>>
Valida
usuario
Escanea
retina
Ejemplo (Diagrama de Casos de uso)
Registra Registra
llamada conferencia
Red de
teléfonos
celulares
Recibe Recibe
Llamadas
llamada adicionales
Agenda de
Usuario
usuario
Teléfono celular
Análisis de casos de uso
Identificar 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)
Ejemplo
Registra Cobros
pedido
<<Include>>
<<Include>>
<<Extended>> Entrega
Entrega
pedido
pedido
especial
Documentación de caso de uso
La 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
Documentación de caso de uso
Casos de uso
Caso de uso: Reporte
Numero del caso de uso: 3
Actores :
Propósito:
Resumen:
Compra productos
Inicia
termina
Gerente
Administra a
los usuarios
Adm. Del
sistema
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
7. Diagrama de clases
Diagrama de clases
Clases
Operaciones
Relaciones de herencia, agregación y dependencia
Multiplicidad
Clases
“Es la descripción de un conjunto de objetos que comparten
los mismos atributos, operaciones, relaciones y semántica.”
“Describe un conjunto de objetos que tienen características y
comportamiento idéntico. “
Atributos
Es un componente de información que el objeto conoce de si
mismo.
Elementos de un atributo.
Visibilidad
Nombre del atributo
Tipo de dato
Valor por defecto
Operaciones
Una operación es la implementación de un servicio del cual
puede ser solicitado por cualquier objeto de la clase para
afectar su comportamiento.
Elementos de una operación:
Nombre de operación
Argumentos
Tipo de dato a regresar.
Visibilidad
Visibilidad
Es el adjetivo que se le asigna a las operaciones o atributos de
una clase y especifica cuando puede ser usado por otras
clases.
Public.- El método o atributo puede ser utilizado por
cualquier clase(+).
Protected.- El método o atributo puede ser utilizado por
cualquier descendiente de la clase (#).
Private.- El método o atributo puede ser utilizado solo por
la misma clase(-).
Ejemplo:
Toolbar
# CurrentSelection: Tool
Protected # ToolCourt: Integer
+ pickItem (i: integer)
Public + addTool (t: Tool)
+ removeTool: (i: integer)
+ getTool () : Tool
# checkOrphans ()
Private - Compact ()
Relaciones de Herencia y asociación
La asociación es una relación que indica la comunicación que
existe entre dos clases.
La herencia es representada con una relación de
generalización entre clases (una clase base y subclases).
Ejemplo
Window
Open()
close()
move()
display()
Generalización
Asociación
Multiplicidad
1.. * 1
Persona Compañía
Empleado Empleador
Asociación
Tipos de clases
Display ( )
Clase concreta
Display ( )
Agregación y Composición
Equipo Jugador
Agregación
Libro Pagina
Composición
8.- Diagramas de Secuencia
Clases y Objetos
Cliente
Línea de vida
Foco de control
Cliente
Foco de
control
Mensajes y Operaciones
Un mensaje es la especificación de la comunicación entre
objetos.
Cuando un mensaje es enviado, la acción que resulta es una
sentencia ejecutable que forma una abstracción de un
procedimiento computacional.
Call.- Invoca a una operación a un objeto.
Return.- Regresa un valor de regreso a quien lo invoco.
Send.- Envía una señal a un objeto.
Create.- Crea un objeto.
Destroy.- Destruye un objeto.
Operación: Es la implementación de un servicio que
puede recibir peticiones de un objeto.
Mensajes y operaciones (ejemplo)
p:Planning Assistance
c:Client
Create Create
TicketAgent
Setltinerary (l)
CalculateRoute() Call
Return Route
Destroy Destroy
X
Send
Notity()
Diagrama de colaboración
Un diagrama de colaboración es un diagrama de interacción
que se utiliza para modelar el aspecto dinámico del sistema.
El diagrama de colaboración hace énfasis en la organización
de los objetos que participan en la interacción.
EJEMPLO DIAGRAMA DE
COLABORACIÓN