semana 4 uml i.pdf
TRANSCRIPT
MSc. Carlos Peña
CICLO 2013-2 Módulo:IUnidad: 1 Semana: 4
ANÁLISIS Y DISEÑO DE SISTEMAS DE
INFORMACIÓN
TÍTULO DEL TEMA
UML
HERRAMIENTAS DE
MODELAMIENTO
ORIENTACIONES
Lea detenidamente este documento y utilicelo en el
proceso de estudio de la semana 2
4
SISTEMA
Conjunto de partes relacionadas que
inter actúan y que tienen un
propósito en común.
5
Las propiedades inherentes de cada una de
las partes , también son una parte importante a
considerar.
Según la TGS
6
PERS.
BASE
DE
DATOS
DOCS.
PROCEDIMIENTOSSUB SISTEMAS
SISTEMA DE INFORMACION
7
SISTEMA DE INFORMACION
Es un conjunto de :
• PROCEDIMIENTOS
• DOCUMENTOS
• PERSONAS
• DATOS
• SUB SISTENAS
• BASE DE DATOS
cuyo objetivo es generar información
oportuna y precisa para sus usuarios
DIAGRAMA DE CASOS DE USO
CASOS DE USO
• Es una herramienta , que
permite visualizar el sistema
como una red de procesos
funcionales.
• Conectados entre si , por
conductos .
LA ASOCIACION
EL
CASO DE USO EL ACTOR
COMPONENTES DE UN
DIAGRAMA DE CASOS DE USO
EL CASO DE USO
Se simboliza con una ELIPSE
Es una operación completa
desarrollada por el sistema
Representa una parte del sistema
EL CASO DE USO
• un SIG o
• un sistema empresarial o
• una función o
• una tarea o
• un trabajo o
• una actividad o
• una labor o . . . . .
Puede ser :
EL CASO DE USO
• un proceso o
• un procedimiento,
• que se realiza en la Empresa,
dentro de los limites del S.I. en
estudio
NOMBRE DEL CASO DE USO
Cada proceso , debe de tener un nombre que lo
describa. El caso de uso, se describe con :
1.- el nombre de la función o del sistema
empresarial
2.-CALCULAR
IMPUESTO
COMPRAS
NOMBRE DEL CASO DE USO
2.- una frase u oración sencilla.
La frase debe de tener la sgte. Estructura :
VERBO - OBJETO
Ejm. :
VALIDAR ENTRADA
CALCULAR IMPUESTO. CALCULAR
IMPUESTO
COMPRAS
NOMBRE DE CASO DE USO
Escoger nombres con significado
para los casos de uso , nombres
que estén asociados a lo que
representan y que lo describan
apropiadamente.
EL ACTOR
• Puede ser una persona, grupo, dpto,
organización , un sistema , que
interactúa con el sistema.
• Es un USUARIO del sistema
• Se simboliza con el (stickman)
hombre de palo.
CLIENTE
TIPOS DE ACTOR
• Principal
• Secundario
• Externo
• Otro sistema
Se representa gráficamente por una
flecha que entra o que sale de un caso
de uso o simplemente por una linea.
VENTAS
CLIENTE
LA ASOCIACION
LA ASOCIACION
Se usa para describir la interacción de un
caso de uso con un actor o con otro caso
de uso.
• COMUNICA (comunicates)
• INCLUYE (includes)
• EXTIENDE (extends)
• GENERALIZA
TIPOS DE ASOCIACION
• Se simboliza con una línea
• Se usa entre un actor y un caso de
uso.
• Simboliza la participación o
interacción del actor con ese caso
de uso
ASOCIACION : COMUNICA (COMUNICATES)
VENTAS
CLIENTE
ASOCIACION : COMUNICA (COMUNICATES)
• Se simboliza con una flecha, se usa solo entre
casos de uso.
• Se aplica cuando se tiene un caso de uso que
puede ser usado paralelamente por otros casos de
uso. (Como un recurso compartido)
• La relación empieza en el caso de uso que rehúsa
otro a caso de uso.
• Utilice la relación de inclusión para representar que
en un caso de uso se describen algunos detalles
de otro.
ASOCIACION : INCLUYE (INCLUDE)
CALCULAR
SALARIO
OBRERO
CALCULAR
DESCUENTOS
DE LEYCALCULAR
SUELDO
EMPLEADO
<USES>
<USES>
ASOCIACION : INCLUYE (INCLUDE)
• Se simboliza con una flecha, Se usa entre casos de
uso.
• Se aplica cuando se tiene un caso de uso, el cual
necesita para completar su trabajo la realización de
otro caso de uso.
• Es cuando un caso de uso ocurre solo cuando otro
caso de uso ocurre. La relación empieza del caso de
uso dependiente.
• Utilice un vínculo de extensión para mostrar que, en
determinadas circunstancias, un caso de uso puede
agregar funcionalidad a otro
ASOCIACION : EXTIENDE (EXTENDS)
MATRICULAR EN
CURSO
VERIFICAR
PRE REQUISITO
APROBADO
ASOCIACION : EXTIENDE (EXTENDS)
<EXTENDS>
NIVELES DE CASO DE USO
• Es un conjunto de diagramas de
caso de uso, que están
estructurados por niveles.
• En cada nivel se muestra mas
detalladamente como se realiza el
proceso.
• Presenta una jerarquía de tipo
PADRE - HIJO
SISTEMA
CB
AD
NIVELES DE CASOS DE USO
CB
AD
NIVELES DE CASOS DE USO
G
F
E
CB
AD
FIGURA 4
FIGURA2 FIGURA 3
FIGURA 1
NIVELES DE CASOS DE USO
NIVEL MAS ALTO
Define el DOMINIO / ALCANCE
del sistema en estudio
EL
SISTEMA
CUANDO SE DEBE DE DETENER
LA PARTICION
Cuando se encuentran las funciones
primitivas
FUNCIONES PRIMITIVAS
• Es un caso de uso que ya no puede
partirse
• Son los casos de uso, de mas bajo
nivel
• También se les conoce como mini
especificaciones
• Son los que se programan
Programacion Orientado a
Objetos
Generalmente, una clase se puede definir
como una descripción abstracta de un grupo
de objetos, cada uno de los cuales tiene una
serie de atributos, un estado específico y es
capaz de realizar una serie de operaciones.
Atributos
Estado
Operaciones
Relaciones
Vivienda
ID
Departamento
Provincia
Promedio de hogares
CLASES
CLASES
Luis Joyanes Aguilar
“Una Clase es un tipo definido por el usuario(analista) que determina las estructuras de datos y las operaciones asociadas con este tipo”
“La Clase es simplemente un modelo que se utiliza para describir uno o más objetos del mismo tipo”
OBJETOS POLIGONO
SE ABSTRAEN
PARA DAR
CLASE POLIGONO
ATRIBUTOS
VERTICES
COLOR DEL BORDE
COLOR INTERIOR
OPERACIONES
DIBUJAR
BORRAR
MOVER
CADA OBJETO ES UNA
INSTANCIA DE CLASE.
OBJETOS
Un objeto, no es más que una instancia de
una clase. La instancia de una clase
significa definir un objeto dándole valores a
sus atributos y comportamiento, y
realizando operaciones permitidas por la
clase. Identidad
Estado
Comportamiento
Relaciones
ID:1001
Departamento = Lima
Provincia = Lima
Distrito = Ate
Promedio de hogares = 3
EJEMPLOS DE OBJETOS
UN PÁRRAFO DE UN DOCUMENTO
UNA VENTANA DEL WINDOWS
UN BOTON DE COMANDO EN VB.
UNA REYNA BLANCA DE AJEDREZ
Anatomía de un Objeto
Objeto
Datos
Métodos
Mensajes
Comunicación entre objetos
Conceptualmente los objetos se comunican mediante
paso de mensajes.
Mensajes
• El nombre del servicio requerido por algún objeto que
llama.
• Copias de la información requerida para ejecutar el
servicio y el nombre de quien tiene esta información.
• En la practica, los mensajes se implementan a
menudo mediante llamadas de procedimientos
Nombre = nombre de procedimiento.
Información = lista de parámetros.
MENSAJE
ES LA SOLICITUD QUE LE HACE
UN OBJETO DE UNA CLASE A
OTRO OBJETO DE OTRA CLASE
DISTINTA , PARA QUE EJECUTE
ALGUNA OPERACION .
• CADA OBJETO POSEE SU
PROPIA IDENTIDAD
INHERENTE
• DOS OBJETOS SIEMPRE
SERAN DISTINTOS.
IDENTIDAD
EN EL MUNDO REAL LOS OBJETOS
SE LIMITAN A EXISTIR , PERO
DENTRO DE UN L.P. , CADA OBJETO
POSEE UNA DENOMINACION
MEDIANTE LA CUAL SE PUEDE
HACER ALUSION A EL DE MODO
EXCLUSIVO.
IDENTIDAD
METODO
LA IMPLEMENTACION
ESPECIFICA DE UNA
OPERACIÓN POR PARTE DE
UNA CLASE
OPERACIÓN
ES UNA ACCIÓN O
TRANSFORMACIÓN , QUE
REALIZA O QUE SE APLICA
A UN OBJETO.
EJEMPLOS :
• JUSTIFICAR A LA DERECHA
• VISUALIZAR
• MOVER
OPERACIÓN
Las clases y los objetos están
en todas partes
Vehículo
Animal
Figura
Programación Orientada a
Objetos
La POO es un paradigma de programación, donde todos los elementos que forman parte del
problema se conciben como objetos, definiendo cuales son sus atributos y comportamiento, como se relacionan entre sí y como están organizadas.
SE OPONE A LA PROGRAMACIÓN
CONVENCIONAL , DONDE LAS
ESTRUCTURAS DE DATOS Y EL
COMPORTAMIENTO SE MANEJAN
POR SEPARADO.
CARACTERISTICAS DE LOS
OBJETOS
• ABSTRACCION
• ENCAPSULAMIENTO
• HERENCIA
• POLIMORFISMO
• COMPOSICION
• DECOPLAMIENTO
• ENVIO DINAMICO
• RECURSIVIDAD ABIERTA
ES LA CAPACIDAD DE CONCENTRAR
LAS PROPIEDADES Y
COMPORTAMIENTOS ESENCIALES
PARA LA CORRECTA
REPRESENTACIÓN DEL OBJETO
DENTRO DEL SISTEMA.
ABSTRACCION
ABSTRACCION
CONSISTE EN CENTRARSE EN LOS
ASPECTOS ESENCIALES INHERENTES
DE UNA ENTIDAD , E IGNORARSUS
PROPIEDADES ACCIDENTALES.
LA ABSTRACCION FUNDAMENTAL ES EL
OBJETO , QUE COMBINA LAS
ESTRUCTURAS DE DATOS CON LOS
COMPORTAMIENTOS EN UNA ENTIDAD
UNICA
ABSTRACCION
ES LA PROPIEDAD QUE PERMITE
ASEGURAR QUE LOS ASPECTOS
EXTERNOS DE UN OBJETO SE
DIFERENCIE DE SUS DETALLES
INTERNOS.
ENCAPSULAMIENTO
ENCAPSULAMIENTO
OCULTAMIENTO DE INFORMACION
CONSISTE EN SEPARAR LOS
ASPECTOS EXTERNOS DEL OBJETO,
A LOS CUALES PUEDEN ACCEDER
OTROS OBJETOS, DE LOS DETALLES
DE IMPLEMENTACIÓN DEL MISMO
QUE QUEDAN OCULTOS PARA LOS
DEMÁS.
ES UN MECANISMO DE LENGUAJE
PARA RESTRINGIR EL ACCESO A
ALGUNOS DE LOS COMPONENTES
DEL OBJETO.
ES UNA CONSTRUCCIÓN DE
LENGUAJE QUE PERMITE AGRUPAR
LOS DATOS CON LOS MÉTODOS (U
OTRAS FUNCIONES) QUE OPERAN
SOBRE ESOS DATOS
ENCAPSULAMIENTO
LOS OBJETOS PUEDEN HEREDAN DE
OTROS OBJETOS, USAR LA
FUNCIONALIDAD DEL OBJETO BASE
(PADRE) O SOBREESCRIBIR LA
FUNCIONALIDAD IMPLEMENTANDO
UN NUEVO COMPORTAMIENTO.
HERENCIA
EL MANTENIMIENTO Y LAS
MODIFICACIONES EN HERENCIA
RESULTA MUY FACIL, LOS CAMBIOS
EN EL OBJETO BASE (PADRE) SON
PROPAGADOS AUTOMATICAMENTE
A LOS OBJETOS HEREDEROS
HERENCIA
DEL MISMO MODO, CUANDO
DEFINIMOS UNA CLASE A PARTIR
DE UNA CLASE PADRE ESTAMOS
CREANDO UNA SUBCLASE. LA
DEFINICIÓN DE UNA SUBCLASE SE
LE DENOMINA HERENCIA
HERENCIA
HERENCIA
ES COMPARTIR ATRIBUTOS Y
OPERACIONES ENTRE CLASES ,
TOMANDO COMO BASE UNA RELACION
JERARQUICA.
PERMITE SOBREESCRIBIR EL
COMPORTAMIENTO DE UN TIPO BASE
QUE SOPORTA OPERACIONES EN TU
APLICACIÓN A TRAVÉS DE LA
IMPLEMENTACIÓN DE UN NUEVO
TIPO QUE INTERCAMBIARA CON EL
OBJETO EXISTENTE
POLIMORFISMO
ES EL MECANISMO DE DEFINIR UN
MISMO MÉTODO EN VARIOS
OBJETOS DE DIFERENTES CLASES
PERO CON DISTINTAS FORMAS DE
IMPLEMENTACIÓN. ES LA
CAPACIDAD DE CREAR UNA
VARIABLE, UNA FUNCIÓN O UN
OBJETO QUE TIENE MÁS DE UNA
FORMA
POLIMORFISMO
POLIMORFISMO
EL PROPÓSITO DE POLIMORFISMO ES
IMPLEMENTAR UN ESTILO DE
PROGRAMACIÓN LLAMADO PASO DE
MENSAJES, EN LA QUE DIVERSOS
TIPOS DE OBJETOS DEFINEN UNA
INTERFAZ COMÚN DE OPERACIONES
PARA LOS USUARIOS.
POLIMORFISMO
EN LOS LENGUAJES FUERTEMENTE
TIPADOS (C, C++, Java, C#)
POLIMORFISMO POR LO GENERAL
SIGNIFICA QUE EL TIPO A DE ALGUNA
MANERA SE DERIVA DE TIPO B O TIPO
C IMPLEMENTA UNA INTERFAZ QUE
REPRESENTA EL TIPO B.
POLIMORFISMO
EN LENGUAJES DÉBILMENTE
TIPADOS SON IMPLÍCITAMENTE
POLIMÓRFICO.
COMPOSICION
LA COMPOSICIÓN ES UN TIPO DE
RELACIÓN DEPENDIENTE EN DÓNDE
UN OBJETO MÁS COMPLEJO ES
CONFORMADO POR OBJETOS MÁS
PEQUEÑOS
COMPOSICION
LA COMPOSICIÓN ESTÁ
RELACIONADA CON EL VALOR DEL
OBJETO, ES DECIR EL OBJETO QUE
LO CONTIENE SE ENCARGA DE SU
CICLO DE VIDA (INICIALIZACIÓN,
MANTENIMIENTO Y LIMPIEZA)
COMPOSICION
LA COMPOSICIÓN SIGNIFICA UTILIZAR
OBJETOS DENTRO DE OTROS
OBJETOS. POR EJEMPLO, UN APPLET
ES UN OBJETO QUE CONTIENE EN SU
INTERIOR OTROS OBJETOS COMO
BOTONES, ETIQUETAS, ETC
DECOPLAMIENTO
LOS OBJETOS PUEDEN SER
DESCOMPUESTOS DEL COMSUMIDOR
A TRAVES DE LA DEFINICION DE UNA
INTERFACE ABSTRACTA QUE EL
OBJETO IMPLEMENTA Y EL
COMSUMIDOR PUEDE ENTENDER.
DECOPLAMIENTO
ESTO PERMITE PROPORCIONAR
IMPLEMENTACIONES ALTERNATIVAS
SIN AFECTAR AL CONSUMIDOR DE LA
INTERFACE
• Cuando se invoca un método en un
objeto, el objeto en sí determina qué
código se ejecuta buscando el método
en tiempo de ejecución en una tabla
asociada con el objeto
DINAMICA DEL ENVIO
• Esta característica que distingue en un
objeto de un tipo de dato abstracto (o
módulo) cuando tiene una implementación
fija (static) de la operación en todas las
instancias.
DINAMICA DEL ENVIO
• Es necesaria cuando varias clases
contienen diferentes implementaciones del
mismo método (por ejemplo grabar ()). Si
la clase de un objeto x no se conoce en
tiempo de compilación, entonces cuando
x.grabar() es llamado, el programa debe
decidir en tiempo de ejecución cual
ejecución de grabar() debe invocar,
basándose en tiempo de ejecución el tipo
del objeto x.
DINAMICA DEL ENVIO
• Es una variable especial (sintácticamente
podría ser una palabra clave),
generalmente llamada this o self, que
permite a un cuerpo de método invocar
otro cuerpo de método en el mismo objeto
RECURSIVIDAD ABIERTA
• Esta variable es en tiempo de ejecución, y
permite a un método definido en una clase
para invocar otro método definido
después, en alguna subclase del mismos
RECURSIVIDAD ABIERTA
EL DESARROLLO OO , ES UN
PROCESO CONCEPTUAL
INDEPENDIENTE DE TODO
LENGUAJE DE
PROGRAMACION HASTA LAS
ETAPAS FINALES.
GRACIAS