Вы находитесь на странице: 1из 70

TPICOS DE DESARROLLO DE SOFTWARE

ORIENTADO A OBJETOS

TPICOS DE DESARROLLO DE SOFTWARE


ORIENTADO A OBJETOS

rup
anlisis y diseo orientado a objetos
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS
CARRERA DE
INGENIERA
Agenda
INFORMTICA
Y DE SISTEMAS

Introduccin
El paradigma de desarrollo orientado a objetos.
Anlisis y Diseo en RUP.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Introduccin
Atributos de un buen diseo
Bajo acoplamiento
Permite minimizar o eliminar el impacto de los cambios
en la funcionalidad de un componente.
Alta cohesin
Permite mejorar la solidez, facilidad de mantenimiento y
facilidad de reutilizacin de la funcionalidad de un
componente.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Introduccin
Bajo acoplamiento o baja dependencia
Ofrece transparencia para los clientes de una
clase, sobre sus detalles de implementacin.
Protege a los clientes de una clase, del impacto de
los cambios en su implementacin.
Facilitado por enmascaramiento de informacin
(information hiding)
Interfaz o especificacin pblica.
Implementacin privada.
Protege la estructura interna del objeto.
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Introduccin
Alta cohesin
Cada componente est orientado a cumplir una y
slo una tarea, bien definida y enfocada.
Mejor manejo de la complejidad.
Facilitado por diseo modular
Todas las responsabilidades de un componente estn
fuertemente relacionadas, concentradas en cubrir
completamente slo un rea de inters.
Elimina o minimiza la superposicin funcional entre
componentes.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Introduccin
Paradigmas de desarrollo
Procedimental
Aplicaciones se construyen en base a variables,
estructuras de datos y subrutinas.
Subrutina puede invocar a otra subrutina o a s misma.
Objeto contiene datos/funcionalidad, mas no ambos.
Orientado a objetos
Aplicaciones basadas en objetos que interactan.
Objetos se comunican entre s a travs de mensajes.
Un objeto puede contener datos y funcionalidad
relacionada al mismo tiempo.
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Conceptos clave
Clase
Descripcin de un conjunto de objetos que comparten los
mismos atributos, mtodos, relaciones y semntica.
Una clase puede utilizar un conjunto de interfaces para
especificar colecciones de operaciones que ofrece a su
entorno.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Conceptos clave
Objeto
Una entidad con una frontera e identidad bien definidas,
que encapsula estado y comportamiento.
Estado est representado por atributos y relaciones.
Comportamiento est representado por operaciones,
mtodos y mquinas de estado.
Un objeto es una instancia de una clase.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Atributo
Representa una propiedad nombrada de una clase
o sus objetos.
Un atributo est asociado con un tipo de datos o
una clase.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Operacin
Un servicio que puede ser solicitado a un objeto
para llevar a cabo un comportamiento.
Est asociada con una firma o especificacin de los
parmetros de entrada y sus respectivos tipos,
opcionalmente un parmetro de retorno.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Mtodo
La implementacin de una operacin, especifica el
algoritmo o procedimiento asociado con una
operacin.
Mensaje
La invocacin de una operacin.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Clase en UML ejemplo
Nombre

Producto
sku
Atributos descripcion
precio

rebajarStock()
aumentarStock()
Mtodos

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Propiedades clave
Encapsulacin
Herencia
Polimorfismo

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Encapsulacin
Propiedad que permite empaquetar datos y
funcionalidad en cada clase u objeto.
Atributos almacenan la informacin que conoce el objeto
(su estado).
Mtodos implementan el comportamiento del objeto.
Mecanismo que facilita implementar
enmascaramiento de informacin en los lenguajes
orientados a objetos.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Enmascaramiento de informacin

Tomado de: Object Technology (second edition), David Taylor


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Interfaz vs. implementacin

Interfaz
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Interfaz vs. implementacin

Interfaz Implementacin
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Herencia
Permite representar jerarquas de generalizacin
especializacin
Clases genricas: superclases, clases base o clases padre.
Clases especializadas: subclases, clases derivadas o
clases hijas.
Clases derivadas adquieren las propiedades de las clases
base y contienen informacin adicional.
Clases derivadas deben poder reemplazar SIEMPRE a sus
respectivas clases base.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Herencia
Clase derivada debe ser un tipo especial de la clase base
(no un rol desempeado por) SIEMPRE, SIN
EXCEPCIONES.
No abusar usar con cuidado.
Quiebra el enmascaramiento de informacin:
implementacin de la clase base es visible a las
clases derivadas
Genera acoplamiento fuerte entre clase base y clases
derivadas.
Habilita polimorfismo.
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Herencia en UML ejemplo

Cliente

Cliente VIP Cliente preferencial

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE

Paradigma orientado a
ORIENTADO A OBJETOS

objetos
Polimorfismo
Una instancia de un elemento ms especializado
puede reemplazar a una instancia de un elemento
ms genrico.
Objetos de diferentes clases que pertenecen a la
misma jerarqua, responden de maneras diferentes
al mismo mensaje genrico.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Anlisis y diseo
Workflow

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Anlisis y diseo
Actividades principales

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Anlisis y diseo
Analizar la arquitectura.
Analizar casos de uso.
Disear y elaborar prototipo de interfaz de
usuario.
Refinar la arquitectura.
Disear clases.
Disear casos de uso.
Disear la base de datos.
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Anlisis y diseo
Artefactos principales

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Qu es arquitectura de software?
La organizacin fundamental de un sistema,
expresada en trminos de sus componentes
principales, las relaciones entre ellos y el ambiente,
y los principios que gobiernan su diseo y
evolucin.
Estos componentes
Componen subsistemas de mayor nivel.
Estn compuestos a su vez de componentes
sucesivamente ms pequeos.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Caractersticas de la arquitectura
Comprende el conjunto de decisiones significativas
acerca de la organizacin de un sistema de
software.
Decisiones difciles de cambiar, importantes, que se
toman en las primeras instancias del proyecto.
Es el primer artefacto de diseo en el que se
atienden los atributos de calidad del sistema.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Caractersticas de la arquitectura
La arquitectura trae implcito un estilo que gua el
desarrollo.
Un sistema siempre tiene una arquitectura, aunque
puede tener varias a la vez.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Atributos de calidad del software
Funcionalidad
Costoyplazos Compatibilidad

Rendimiento Confiabilidadydisponibilidad

Capacidad Seguridad

Escalabilidad Toleranciaafallas

Tecnologadepunta Flexibilidadyadaptabilidad

Tomado de una presentacin sobre Arquitectura de Software por Grady Booch


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Arquitectura vs. diseo

Requisitos arquitectura
no funcionales

Requisitos
diseo
funcionales

Arquitectura: donde se forjan las decisiones no funcionales y se dividen los requisitos funcionales
Diseo: donde se cumplen los requisitos funcionales
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Panorama general de la arquitectura
Comunica un bosquejo inicial de la estructura de
alto nivel de la solucin propuesta, dirigido al
cliente, equipo de desarrollo y otros grupos de
inters.
Refleja decisiones tempranas y supuestos de
trabajo sobre la arquitectura fsica y lgica y los
requisitos no funcionales del sistema.
Puede tomar la forma de un conjunto de esquemas
informales, principalmente grficos.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Panorama general de la arquitectura
Ilustra la naturaleza esencial de la solucin
propuesta, expresando sus ideas rectoras y
mostrando sus principales componentes.
Se recomienda tomar como base una arquitectura
de referencia.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Panorama general de arquitectura ejemplo 1

Tomado de: http://www.ibm.com/developerworks/library/ar-archdoc3/index.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Panorama general de arquitectura ejemplo 2

Tomado de: http://www.ibm.com/developerworks/library/ar-archdoc3/index.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Panorama general de arquitectura ejemplo 3

Tomado de: http://www.ibm.com/developerworks/library/ar-archdoc3/index.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Definir la organizacin en subsistemas de alto
nivel
Crear una estructura inicial para el modelo de
diseo.
Normalmente el modelo de diseo est organizado
por capas, un patrn de arquitectura comn para
sistemas medianos a grandes; la cantidad de capas
no es fija, vara segn la situacin.
Usualmente la atencin se enfoca en dos capas de
alto nivel: la de aplicacin y la de negocio.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Arquitectura en capas
Capa de presentacin
Interfaz de usuario.
Servicios para aplicaciones externas.
Capa de aplicacin o de servicios
No contiene reglas o conocimiento del negocio.
Establece un conjunto de operaciones disponibles y
coordina la respuesta de la aplicacin para cada
operacin.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Arquitectura en capas
Capa de negocio o de dominio
Contiene las reglas de negocio.
Constituye el corazn del software.
Capa de fuentes de datos
Persistencia.
Mensajera.
Servicios de aplicaciones externas.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Arquitectura en capas
Capa de presentacin

Capa de aplicacin o de servicios

Capa de lgica de negocio o de dominio

Capa de fuentes de datos

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Ejemplo: Subsistemas de alto nivel

Tomado de: http://www.ibm.com/developerworks/library/ar-archdoc4/index.html

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Identificar las abstracciones principales
Preparase para el anlisis identificando las
abstracciones principales que el sistema debe
manejar: los conceptos identificados durante
modelado del negocio y requisitos.
Identificar mecanismos de arquitectura a nivel
de anlisis.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Mecanismos de arquitectura
Auditora: pistas de auditora sobre la ejecucin del
sistema.
Comunicaciones: permite la comunicacin entre
procesos distribuidos.
Depuracin: ofrece elementos para apoyar la
determinacin de fallas en la aplicacin.
Gestin de errores: permite detectar, propagar e
informar los errores.

Tomado de: http://www.ibm.com/developerworks/rational/library/4707.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Mecanismos de arquitectura
Gestin de eventos: apoya el uso de mensajes
asncronos dentro del sistema.
Gestin de archivos: ofrece servicios para acceder
al sistema de archivos.
Grficos: apoya servicios de la interfaz de usuario
para presentar grficos.
Intercambio de informacin: apoya la conversin
entre formatos de datos.

Tomado de: http://www.ibm.com/developerworks/rational/library/4707.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Mecanismos de arquitectura
Licenciamiento: ofrece servicios para adquirir,
instalar, hacer seguimiento y monitorizar el uso de
licencias.
Localizacin: ofrece facilidades para permitir el uso
de mltiples lenguejes humanos.
Correo: servicios que permiten a las aplicaciones
enviar y recibir correo electrnico.
Megadatos: apoyo para manejar grandes
volmenes de datos.
Tomado de: http://www.ibm.com/developerworks/rational/library/4707.html
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Mecanismos de arquitectura
Metadatos: apoya la configuracin automtica de
componentes en tiempo de ejecucin.
Ayuda en lnea: ofrece capacidad de ayuda en
lnea.
Persistencia: servicios para manipular datos
persistentes.
Impresin: ofrece facilidades para emitir
documentos y reportes impresos.

Tomado de: http://www.ibm.com/developerworks/rational/library/4707.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Mecanismos de arquitectura
Generacin de informes: ofrece facilidades para
definir nuevos informes.
Tareas programadas: ofrece capacidad para
programar y ejecutar tareas automticamente.
Seguridad: ofrece servicios para proteger y
controlar el acceso a ciertos recursos o
informacin.

Tomado de: http://www.ibm.com/developerworks/rational/library/4707.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar la arquitectura
Mecanismos de arquitectura
Hora: servicios para sincronizar la hora en una red
y convertir la hora entre diferentes zonas horarias.
Motor de automatizacin de procesos: apoyo para
definir y controlar procesos de negocio.

Tomado de: http://www.ibm.com/developerworks/rational/library/4707.html


CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Diferencia entre anlisis y diseo
Anlisis vs. diseo
Hacer la cosa correcta vs. hacer correctamente la cosa
Anlisis orientado a objetos
Investigacin del dominio del problema, en trminos de
sus conceptos
Producto: modelo conceptual o modelo de dominio
Diseo orientado a objetos
Especificacin lgica de una solucin de software, en
trminos de objetos de software
Los diseos se implementan en cdigo
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Complementar la descripcin de los casos de
uso.
Encontrar clases de anlisis a partir del
comportamiento del caso de uso.
Describir atributos y asociaciones.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Clases de anlisis
Clases conceptuales
Documentar su definicin.
Ilustrar con ejemplos.
No son artefactos de software
No indicar tipos de datos.
No indicar mtodos.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Clases de anlisis
Modelo de dominio
Identificar clases conceptuales u objetos de dominio.
Dibujarlas en un modelo de dominio o diagrama de
clases conceptuales.
Aadir asociaciones entre clases.
Aadir atributos a las clases.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Identificar clases conceptuales
Patrones de anlisis o experiencias anteriores.
Lista de categoras.
Extraccin de nombres mencionados en los casos
de uso y/o glosario.
Atributos
Son textos o nmeros en el mundo real.
Si no, es candidato a ser clase conceptual.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Lista de categoras para conceptos
Transacciones de negocio.
Detalle de transacciones de negocio.
Productos o servicios relacionados con una
transaccin o su detalle.
Dispositivos o mecanismos donde se registra la
transaccin.
Roles de personas u organizaciones relacionadas
con la transaccin, actores en el caso de uso.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Lista de categoras para conceptos
Lugar donde ocurre la transaccin o donde se
presta el servicio.
Eventos importantes, con frecuencia asociados a
un momento o lugar que se requiere recordar.
Objetos fsicos.
Descripciones de cosas.
Catlogos.
Contenedores de cosas (fsicas o informacin).

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Lista de categoras para conceptos
Cosas que van dentro de un contenedor.
Sistemas externos con los que se colabora.
Registros financieros, contables, laborales,
contratos, legales, operacionales y otros.
Instrumentos monetarios o financieros.
Programas, planes, reglas, polticas, documentos o
informacin a los que se hace referencia en forma
regular para realizar el trabajo.
Conceptos abstractos.
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Relaciones
Se mantienen a travs de combinaciones de
atributos y mtodos
Atributos almacenan la informacin.
Mtodos mantienen actualizados los atributos.
Tipos
Asociacin.
Composicin.
Herencia.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Relaciones
Propiedades
Navegabilidad quin tiene la responsabilidad de
mantener e informar sobre el estado de la asociacin?.
Multiplicidad = cardinalidad + opcionalidad.
Roles.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Analizar casos de uso


Diagrama de clases en UML ejemplo
Navegabilidad Multiplicidad
Asociacin

1 0..*
Cliente colocado por expide
Pedido
1
pertenece a

Composicin
contiene
*

Rol Detalle pedido

Clase
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear clases
Arquitectura en capas
Capa de presentacin

Capa de aplicacin o de servicios

Capa de lgica de negocio o de dominio

Capa de fuentes de datos

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear clases
Disear clases de interfaz con el mundo
exterior
Interfaz de usuario.
Interfaz con sistemas externos.
Disear clases controladoras
No contiene reglas o conocimiento del negocio.
Establece un conjunto de operaciones disponibles y
coordina la respuesta de la aplicacin para cada
operacin.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear clases
Disear clases entidad
Deriva de modelo de anlisis.
Contiene las reglas de negocio.
Disear mecanismos de persistencia.
Detallar clases
Definir visibilidad, operaciones, atributos,
asociaciones.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear clases
Visibilidad
Tipo Smbolo Puede ser utilizado desde
Privada - Mtodos de la misma clase donde
est definido
Paquete ~ Mtodos de clases que pertenecen
al mismo paquete que la clase
donde est definido

Protegida # Mtodos de subclases de la clase


donde estn definidos
Pblica + Cualquier mtodo
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear clases
Clase de diseo ejemplo
Producto
- sku: String
- descripcion: String
- precio: Double

+ rebajarStock (almacen, cantidad)


+ aumentarStock (almacen, cantidad)

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear casos de uso


Crear realizaciones de casos de uso.
Describir interacciones entre objetos de diseo
Diagramas de secuencia.
Diagramas de comunicacin.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear casos de uso


Realizacin de caso de uso en UML

<<realizes>>
Vender Vender
productos productos

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear casos de uso


Ejemplo de diseo
Caso de uso : Vender productos
Flujo principal (escenario de xito)
1.Cajero inicia nuevo pedido
2.Cajero ingresa cdigo del producto y cantidad deseada
3.Sistema valida informacin ingresada, presenta
descripcin del artculo, precio unitario y total acumulado
de la venta
4.Para cada producto que el cliente desea comprar, se
repiten los pasos 2 y 3.
5....
CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear casos de uso


Diagrama de secuencia ejemplo
: VenderProductosController : Producto : Pedido : DetallePedido

nuevoPedido()
crear()

loop
nuevoDetalle(id, cant)
desc := getDescripcionProducto(id)

precio := getPrecioProducto(id)

crearDetallePedido(id, desc, precio)


crear(id, cant)

calcularTotal ()

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear casos de uso


Diagrama de comunicacin ejemplo
1: nuevoPedido()
2: nuevoDetalle(id, cant)
: VenderProductosController

2.1: desc := getDescripcionProducto(id)


1.1: crear() 2.2: precio := getPrecioProducto(id)
2.3: crearDetallePedido(id, desc, precio)
2.4: calcularTotal ()

: Producto

2.3.1: crear(id, cant)


: Pedido : DetallePedido

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Disear casos de uso


Realizacin de caso de uso

<<realizes>>
Vender
productos

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS
TPICOS DE DESARROLLO DE SOFTWARE
ORIENTADO A OBJETOS

Resumen
En esta sesin hemos revisado:
Aspectos introductorios de anlisis y diseo.
Principales propiedades del paradigma de
desarrollo orientado a objetos.
Actividades principales para anlisis y diseo en
RUP.

CARRERA DE
INGENIERA
EMPRESARIAL
Y DE SISTEMAS

Вам также может понравиться