Beruflich Dokumente
Kultur Dokumente
información. Si bien es cierto estamos tan abatidos por una variedad de métodos,
técnicas y herramientas para la construcción de sistemas y en muchos casos tenemos
a clientes disconformes con el arduo trabajo de programación que no se acopla a las
necesidades de la organización a la que se desarrolla el proyecto informático.
Muchas de las veces se habrá preguntado ¿Por qué fracasan los Sistemas?, la
respuesta a ello es que las personas inmersas en el área de sistemas o que se dedican
a la construcción de sistemas no llegan a conceptuar el negocio y no los modelan, se
dejan llevar por las inquietudes y requerimientos inmediatos de sus clientes sin tener
una visión panorámica del negocio, ni proyección futurista, ni previniendo los posibles
cambios o incidentes de la organización.
Si es novato en la materia de análisis de sistemas de información, tiene en el primer
capítulo para aprender a identificar los conceptos básicos, para luego tratar el
apartado de las características de los procesos. Después posee el capítulo de los
Mapas Mentales, que le permitirán conceptuar el negocio; herramienta creada por
Tony Buzan para solucionar problemas de estudio y todo el quehacer del hombre,
basado en gráficos que emulan la ramificación de la neuronas y bajo ese modelo se
crean imágenes que sirven como guías para el pensamiento y que ayudan a no entrar
en el bloqueo mental, que seguramente usted en algunas veces los haya tenido,
cuando debió dar solución a un determinado caso. Aquí aprenderá a crear mapas
mentales desde el punto de vista de sistemas de información, usando la herramienta
de software ConceptDraw MindMap Profesional, quien le brindará la facilidad para
inducirlo en la construcción de mapas mentales, teniendo como premisa la lluvia de
ideas denominada “BRAINSTORMING”.
Luego hacemos referencia a la técnica IDEF (Integración y Definición de Funciones
organizacionales), aquí usted va ha poder identificar los procesos del negocio y
plasmar mediante la técnica las: entradas, salidas, mecanismos y controles, para cada
uno de los procesos identificados, también podrá ir ubicando los elementos para el
análisis y diseño orientado a objetos y para que de esta manera, sean el punto de
partida para poderlos llevar a UML, con el estudio de esta técnica, no tanto es
retroceder al análisis estructurado, pero creo que es un punto referencial muy
importante para entender a los procesos de negocio de mejor manera..
La siguiente parte de la publicación le corresponde a UML, Lenguaje Unificado de
Modelado, quien comprende un conjunto de capítulos y describen a los diagramas de:
casos de uso, secuencia, colaboración, clases, objetos, estados, actividades,
componentes y despliegue.
Después trato a los patrones de diseño, quienes ayudarán a asignar las
responsabilidades a las clases. Con el conocimiento de los patrones de diseño, que
son reglas utilizadas para definir los métodos de las clases, aprenderá a tener objetos
reutilizables, para luego crear los componentes que representarán la lógica del
negocio en el desarrollo de sistemas en capas, que están comprendidas en: Interfaz,
Lógica del negocio (componentes previamente compilados y reutilizables) y Base de
Datos.
A continuación brindo dos capítulos que le serán de mucha utilidad, ya que se trata
de las herramientas Case, considerado a la herramienta Rational Rose, como una de
las más utilizadas en la representación de la notación UML, pero no es la única,
también cuenta con la alternativa de software libre, para la cual encontramos en
edición comunitaria a Poseidón; en cada uno de estos capítulos se ha utilizado
gráficos de la interfaz de la aplicación que ayudarán a un mejor entendimiento en el
uso de cada una de las herramientas y más aun podrá complementar con la revisión
de la escuela virtual, a la cual usted ya tiene acceso por la adquisición de presente
libro.
Luego se ha considerado en tres capítulos, el estudio de un caso práctico de créditos
de un banco ficticio, que dará la visión de la forma de cómo se ensamblan los
modelos para la construcción de sistemas compactos y orientados a objetos, en
concordancia con los requerimientos y proyección de las organizaciones.
Además tendrá un capítulo de prácticas a desarrollar que le permitirán adquirir
habilidades en la creación de diagramas UML.
Espero que la presente Publicación pueda mostrar a las personas de sistemas un
camino para el desarrollo de los mismos, haciendo hincapié que todo sistema
construido sin previo análisis y diseño, está condenado a poder terminar su ciclo de
vida muy pronto, por muchas de las siguientes interrogantes: ¿Qué sucede, si sale el
experto en sistemas de la organización?, ¿Quién modifica y da manteniendo a un
sistema sin documentación, que fue creado por otra persona?, ¿Sus sistemas aceptan
los cambios de la globalización o políticas cambiantes del gobierno? , por ello y por
muchas cosas más hay que modelar los procesos de negocio, para crear un buen
software.
Dedicatoria.
“A la memoria de mi padre,
Juan Francisco Taboada Pozo.
A mi querida madre,
Pascuala Jiménez Castro.
A todos mis alumnos,
por ser la fuente de mi inspiración.”
Agradezco a todas aquellas personas que estuvieron pendientes, para que esta
publicación se terminase y para aquellas que creyeron en mí y me dieron el apoyo en
forma incondicional, quiero hacer mención a mis colaboradores: Joel Rodríguez Nicho,
Javier Pérez Cárdenas, Elizabeth Gómez, Freddy Leyva, Darling Fasabi, Víctor Munayco
y para Nilda, que supo tolerar el tiempo que he dedicado a la creación de la presente
publicación.
Siempre aprendo de quienes comparto la instrucción de un curso y quería hacer
mención a Javier Cavero y Elizabeth Calderón por sus ideas compartidas.
No podría obviar a mis amigos del alma: Beatriz Mendoza, quien es una motivadora
por excelencia, Miguel Maco, Cesar Ojeda con quienes me acompañan a ser realidad
los sueños.
Creo que Dios es un gran estratega, porque juntó a las personas adecuadamente para
formar sistemas y creo que yo como PC cliente conocí al servidor adecuado, César
Bustamante, quien me ha brindado el apoyo para cristalizar la publicación y tener a
un gran amigo; también mi agradecimiento a Juan Carlos Heredia por compartir su
amistad y apoyo, al personal de GrapPeru, Verónica, Natalí, Javier y a todas las
personas que incondicionalmente me brindaron su apoyo.
Terminología Básica
Dato
Información
Esquema De Dato E Información
¿Qué Es Un Modelo?
Proceso
Beneficios De Tener Modelos De Los
Procesos
Abstracción
Importancia Del Proceso De Abstracción
Usuarios
Sistemas
Ejemplos De Sistemas
Sistemas De Información (Si)
Tecnología De Información (Ti)
Tecnología De Información Versus
Sistemas De Información.
Test De Verificación De Aprendizaje
Dato
Es cualquier hecho que ocurre en el universo y que tiene una representación
almacenable.
Información
Datos Procesados que son utilizados en un contexto y transmiten un significado a los
individuos. Las computadoras procesan los datos sin tener constancia de los que éstos
representan en realidad.
UNIVERSO
PROCESO
Separar, clasificar,
DATO ordenar,
Calcular.
Insertar, Consultar,
Actualizar, Eliminar
El presente gráfico nos da una idea de cómo podemos diferenciar el concepto de dato
e información, si un periodista recolecta datos (notas de expresiones, graba
declaraciones, toma fotos), de un hecho, en este caso una “huelga”, a capturado datos
que luego los llevará a un proceso como es separar, clasificar, sacar resumen entre
otros; para luego producir información (artículo periodístico, nota televisiva).
¿Qué es un Modelo?
Cada vez que queremos construir una casa o edificio, lo primero que se debe de hacer
es dibujar un plano y crear maquetas de lo que va a ser la casa o edificio; igual
sucede para construir un sistema, se deberán crear los modelos que son como los
planos que servirán para identificar procesos, construir base de datos entre otros;
estando estos procesos identificados podemos construir sistemas de acuerdo a los
requerimientos de los usuarios.
Un modelo es la visión de lo que se diagnostica o se desea construir.
Proceso
Los procesos están conformados o integrados por grandes conjuntos de actividades,
funciones o tareas que existen debido a un negocio. Estos forman la gran estructura
del negocio para la acción, es decir toma de decisiones. A todo proceso se le deberá
identificar sus entradas y salidas porque siempre tendrán un comienzo y un final.
E NTRADA P ROCESO
VENDER
S ALIDA
DOCUMENTO
PEDIDO PRODUCTOS DE VENTAS
SUMAR
CALCULAR TOTAL
EMITIR DOCUMENTO
Abstracción
Se refiere a quitar las propiedades y acciones de un objeto para dejar sólo aquellas
que sean necesarias.
Marca Material
Número de Asientos Modelo
Número de motores… Color…
De acuerdo con los objetos mostrados, aplicando abstracción hemos identificado tres
atributos para cada objeto, sería innecesario identificar quien se sentará o en que
lugar se deba colocar etc.
Usuarios
Los usuarios son los que interactúan con el sistema o se benefician de los resultados
de los mismos.
Los usuarios primarios son los que interactúan con el sistema. Ellos lo alimentan
(entradas) o reciben salidas, quizá por medio de un terminal.
Los Usuarios finales. Para este grupo se considera aquellos que usan los resultados
para la toma de decisiones como son los gerentes administrativos y asesores. Dentro
de este grupo tendríamos los usuarios externos de la organización, recibiendo la
información, como los recibos e informes de estado.
Sistemas
Es un conjunto de componentes que interactúan entre sí para lograr un objetivo
común.
Ejemplo:
Sistema Contable
Sistema Nervioso
Sistema de Gobierno
Sistema Educativo
Sistema Contable
Sistema Digestivo
N t
Subsistema de Subsistema de
matricula APAFA
Sistema de Tienda
Subsistema Subsistema de
de compras ventas
Subsistema Facturación
de almacén
Sistema de Gobierno
Sistema de Banco
Subsistema Subsistema
Prestamos Publicidad
....................................
....................................
....................................
…..................................
3) Escribir en cada uno de los recuadros las actividades para los siguientes procesos
que se listan a continuación.
BOTÓN
TELA
CAMISA
HILOS
MOLDE
CLAVOS
MADERA
SILLA
PINTURA
COLA
Comprar un Televisor.
TV +
Pedir el TV FACTURA
Empresa de Transportes “DOS AMIGOS”, María compra un pasaje para viajar a Piura,
Lourdes la atiende, Luis Miguel es el chofer que conducirá el bus desde donde viajará
María el cual llevará la nómina de pasajeros para el control policial. El que transcribe
las nóminas es Carlos. El Señor Canales es el que toma las decisiones de la empresa y
programa los viajes. Antonio, Pedro y Raquel tienen reunión de directorio cada fin de
semana.
_FOTOS
_ARTICULOS
DE
PERIODISTAS
_ENTREVISTAS
_ENCUESTAS
_DIALOGOS
_DATOS DE
Internet
Cantante
que recurre
?
a una
empresa de
grabación y
distribución
de música
Mis Notas:
Procesos
Información de los procesos.
Diferencia entre proceso y procesamiento.
Pasos para analizar procesos de negocios.
Identificar los procesos.
Identificar a los propietarios de los procesos.
Mantener la relación entre cada uno de los procesos.
Documentar.
Crear diagramas de procesos de primer nivel.
Creación de diagramas.
Crear diagramas de procesos de 2do. Nivel.
Entrega de diagramas a los propietarios de
Cada uno de los procesos para su revisión.
Concienciar explicando los procesos.
Características de los procesos.
Los procesos y las organizaciones
Orientación de las organizaciones
Calidad del requerimiento.
Test de verificación de aprendizaje.
Procesos
Información De Los Procesos
Cuando se inicia el estudio de una organización lo primero que debemos hacer es
identificar los procesos, que son como piezas de rompecabezas que tenemos que
armar para interpretar los negocios y de esta manera poderlos diagnosticar y después
reestructurar.
Una vez identificados los procesos se deberá identificar quienes son propietarios de
cada uno de los procesos, porque conociendo al experto podremos programar sesiones
de aprendizaje de las actividades de los procesos que es dueño.
Mantener la Relación entre cada uno de los procesos
Documentar
Para comenzar a crear los diagramas del primer nivel suelen ser por lo general
complicados armarlos, ya que no siempre los usuarios te proporcionan el
conocimiento del negocio con flexibilidad, lo importante es que logremos involucrar al
cliente en el levantamiento de información, si el nivel cultural de los propietarios de
los procesos es bajo, te recomiendo usar mapas mentales como herramientas
iniciales para el levantamiento de datos, ya que irás diagramando con dibujos
naturalmente entendibles la lectura de los procesos reinando un lenguaje de
comunicación.
Si los propietarios de los procesos tienen un nivel cultural adecuado al aprendizaje de
los modelos técnicos te recomiendo usar la metodología IDEF0 (Integración y
Definición de Funciones Organizacionales Funcionales), ya que te permitirán
descomponer los procesos de arriba abajo identificando las entradas, salidas,
Mecanismos(quienes son los autores y/o elementos que transforman el proceso, así
como también los Controles(reglas, políticas) para cada uno de los procesos en todos
sus niveles.
Una vez identificados los procesos, vienen a hacer el paso previo para la construcción
de los casos de uso que están orientados a los escenarios, teniendo la particularidad
de crear subprocesos reutilizables con los conceptos de “<<extend>>“, proceso
extendido, “<<Incluye>>” proceso incluido.
Creación De Diagramas
Mapas Mentales
Una vez identificados cada uno de los procesos se debe descomponer en niveles, y
cuando ya se descompuso en un nivel considerable de descomposición, para cada uno
de los procesos se deben descomponer en actividades.
2
2.2
1
1.1
2.1
a 1.2 2.3
b
c
1.3
Una vez construidos los diagramas en cada uno de los niveles, deberán ser
entregados a los propietarios de cada uno de los procesos para su revisión, nunca los
analistas deberán subestimar el conocimiento del negocio, porque por muy similares
que puedan ser
los negocios siempre cada negocio tiene sus características peculiares.
TRANSICION
Modelos de
MODELOS DE
PROCESOS
Procesos
DIAGNOSTICADOS Sistematizados
Reingeniería
TRANSFORMACION
Los Procesos Y Las Organizaciones
Definición de Procesos
Organización ¿Cómo?
Gestión ¿Cuándo?
Equipos Humanos
Necesidades Posibilidades
del cliente Expectativas del proveedor
Para definir correctamente los requerimientos se tiene que integrar tres criterios:
Necesidades del Cliente, expectativas y posibilidades del Proveedor del Servicio o
Producto.
El primer criterio tiene que ver con lo explicado en el grafico anterior, sobre tener
claro las necesidades del cliente, para luego medir las expectativas del cliente con
respecto al servicio o producto, para luego integrar las posibilidades del proveedor
que tienen que estar correctamente integradas y sincronizadas. Que pasaría que un
cliente “A”, tiene una gran expectativa de lo que recibirá, pero el proveedor no puede
proporcionarlo, entonces todo nuestro esquema de procesos no tendría sentido de
existencia, porque el negocio no tendría rentabilidad.
4 ¿?
……………………………………………………………………
……………………………………………………………………
Tonny Buzan
• Después de graficar la idea principal se deberá dibujar las ramas con la ayuda
de gráficos para motivar la producción de ideas y dibujar las ramas que se
crea conveniente.
• Continúe dibujando las ramas hasta haber volcado todas las ideas necesarias.
El pensamiento irradiante
Qué sucede, cuando usted recuerda el olor de una colonia grabada en un determinado
escenario de su vida, lo más probable, es que se encienda ese “bit” de información y
como una lluvia de ideas recuerde a la persona, el lugar, el color, el ambiente y
desencadena toda una serie de elementos asociativos, eso es el pensamiento
irradiante, que con la identificación de una idea se disparan las asociaciones de
muchos elementos, acciones entre otros. Entonces este esquema lo podemos usar
para capturar los procesos de negocio en una entrevista.
4. Crear un mapa mental para las actividades que realiza en un día normal de
la semana.
Mis Notas:
IDEF
Definición
Tipos De Diagramas IDEF
Descripción De Elementos
Tipos De Modelos
Esquema De Análisis Y Diseño De Sistemas
Punto De Partida
Árbol De Nodos
Diagrama De Descomposición Final
Definición De Bpwin
Ficha Técnica
Características
Interfaz Principal De Software
Definición
Es una técnica de análisis y diseño de sistemas que son utilizadas para la definición de
sistemas, análisis de requisitos y diseño de software, consiste en un conjunto de
procedimientos que permiten al analista de sistemas descomponer y comprender
mejor las interrelaciones del sistema y sub-sistemas de los procesos de negocio, paso
a paso para explicar el proceso total. Cada actividad es administrada como una
transformación de entradas en salidas, tomando control sobre las restricciones y
mecanismos o factores de producción consumidos por la actividad, bajo el modelo
ICOM (Input Control Output Mecanismo)
Es una técnica de modelamiento de datos que permite graficar los objetos que
intervienen en el proceso de investigación de un negocio.
Es una metodología creada por las Fuerzas Aérea de los EEUU que deriva de la
metodología SADT (Structured Analisys and Design Tecnique) utilizada para la
modelización funcional de actividades y que ha alcanzado la categoría de estándar en
EEUU.
CONTROL
INPUT OUTPUT
ACTIVIDAD
MECANISMO
Descripción De Elementos
INPUT Son elementos o ítem que van a sufrir una transformación o cambio de estado
al someterse al proceso, tal como: un pedido, capital, solicitud.
Pedido
Solicitud
Ficha de datos
En la mayoría de los casos cada entrada va a estar asociada a una entidad y dicha
entidad contendrá a un grupo de atributos.
Ejemplo: El flujo de entrada ficha de datos tendrá la entidad FICHA y la misma
contendrá los atributos de CODIGO, APELLIDO PATERNO, APELLIDO MATERNO,
NOMBRES, FECHA DE NACIMIENTO,..
CONTROLES. Son las restricciones o reglas de gobierno del proceso, por tal sentido
intervienen las reglas de negocio, políticas, etc.
Los controles se representan por un flujo, para que más adelante sean ilustrados por
cuadros, o idioma estructurado.
Reglas de negocio.
Nota: El precio del pasaje de Lima a Sullana cuesta 70 soles y de Sullana a Lima
cuesta 60 Soles.
Ilustración De Aumentos Por Lista De Pasajes
Factura cancelada
Recibo sellado
Guía verificada
Al igual que los flujos de entrada, los flujos de salida también tienen entidades a las
cuales se le debe asociar.
MECANISMO. Son los recursos utilizados para transforman las entradas hacia las
salidas.
Ejemplos: personas, equipos, sistemas, etc.
SECRETARIA GERENTE
VENDEDOR TELFONO
Ejemplo:
Proceso: Compra al crédito de un Televisor. En Sagafallabela
Punto de Vista: Empresa de crédito.
Nivel. 0
Tipos De Modelos
El objetivo es Descomponer los procesos de negocio, paso a paso para explicar el
proceso total. Cada actividad es administrada como una transformación de entradas
en salidas, tomando control sobre las restricciones y mecanismos o factores de
producción consumidos por la actividad. Para ello se tiene 2 tipos de diagramas que
se subdividen en:
MODELO AS-IS (como es)
MODELO TO-BE (a ser).
MODELO AS-IS (como es). Es aquel que va ha graficar, como el proceso del negocio
que se está llevando en este momento, explicando en forma encapsulada la
descripción de procesos y subprocesos. Es como sacar una radiografía del proceso.
MODELO TO-BE (a ser) Permite graficar como va a ser el sistema después de haber
sido analizado dos cosas que son importantes mencionar: Si el sistema será de
Transición o de Transformación, para este segundo caso se deberá aplicar los
principios de reingeniería para de esta manera graficar el sistema inventivo a diseñar.
Esquema De Análisis Y Diseño De Sistemas
Organigrama: Determinar unidad Orgánica De Estudio, Unidad Relacionadas y límites
Punto De Partida
Para empezar el proceso de descomposición se tiene que basar en la estructura
organizacional de la empresa, la que nos dará una idea de cuales son las unidades
organizacionales a estudiar y cuales son las relacionadas, para nuestro caso
estudiaremos la Empresa de Transportes UNIDOS S.A., quien tiene la siguiente
estructura.
GERENCIA
DPTO DE
DPTO DPTO DE DPTO CONTABILIDAD
PASAJES GIROS/ENCOMIENDAS CONTROL
DE
UNIDADES
AREAS DE ESTUDIO
De hecho que al pasar a construir el árbol de nodos se debe haber interpretado, los
procesos de las unidades orgánicas en mención.
Árbol De Nodos
El árbol de nodos es un esquema que gráfica de que manera se están desarrollando
las actividades del proceso, estudiado en forma de rama, para que usted tenga
facilidades en la construcción de estas ramas, tendrá que tener practica de abstracción
de procesos.
Ejemplo de árbol de nodos de la empresa de transporte:
Sub-Sistema de Sub-Sistema de
Pasajes(A1) Giros/Encomiendas(A2)
Ficha Técnica
Herramienta
BPWIN
Descripción Herramienta de diseño, análisis
y documentación de actividades
y procesos de negocio.
Plataforma/SO Máquina: IBM
Servidor compatible Intel 486 y Pentium
/Cliente. 32 bit: Windows 95-98-2000,
Windows NT ó superior
Configuración Espacio de HD: 40MB
Mínima RAM: MB para modelos
recomendada grandes)
Cliente Ratón: ratón Microsoft ó
compatible
Monitor: VGA, SVGA ó
compatible
Características
Representación gráfica del negocio.
Plataforma objetiva para tomar decisiones.
Mecanismos para medir la efectividad del cambio.
Potentes editores para definición de los procesos, flujos y actividades basadas
en costes.
Proporciona una vista del modelo en forma de árbol.
Diagrama de contexto para todo el ámbito.
Puntos de vista y clarificación de propósitos.
Propiedades definidas por el usuario, captura de información sobre la
organización, entorno y factores críticos de éxito.
Diagramas de descomposición por actividades.
Consistencia reforzada a través del modelo.
Soporte de DFD´s.
Análisis de costes basados en actividad (ABC cost) con comunicación con la
herramienta de análisis de costes Easy ABC.
Interface bidireccional con la herramienta de análisis de bases de datos Erwin.
WorkFlow Diagraming.
Interfaz Principal De Software
Test de Verificación de Aprendizaje
2. Coloque los nombres en las flechas para cada y uno de los flujos, tendiendo en
cuenta las entradas, salidas, mecanismos y controles, para el proceso de prestar
dinero.
Prestar
dinero
¿Qué es UML?
Es un lenguaje de modelado para la construcción de Software, haciendo una analogía
con el idioma castellano, que esta representado por vocales, silabas, palabras y con
ellas armamos: oraciones, párrafos y otros; para luego poder escribir un libro, una
canción, una poesía. El UML no tiene vocales, pero si posee toda una gama de
Diagramas que ayudan a la construcción de modelos, bajo varios puntos de vista,
pudiendo usar los relevantes y necesarios, para cumplir con los requerimientos de los
usuarios.
El UML no es una metodología, sino una notación (diagramas y otros) para poder
representar modelos. Para expresar la forma, los pasos a seguir para crear un
modelo, es necesario usar una metodología; es por ello que se ha creado el RUP
(Proceso Unificado de Desarrollo de software) entre otras, que sí son metodologías,
que van a indicar los pasos a seguir.
Historia
Cuando se comenzó a construir software no se pensó en métodos, ni formas para
analizar, diseñar y documentar, porque todo el trabajo se centralizaba en el creador y
todo se encontraba en su cerebro. En la década del setenta, cuando se crearon las
casas de software y se magnifico el desarrollo, comenzaron los problemas de
construir software, que trabaje de forma sincronizada con el mundo real de los
negocios, esto conllevó a que se inventaran los métodos para la ingeniería de
software. Por mucho tiempo se utilizó el análisis y diseño estructurado. Después
aparecieron múltiples métodos, los cuales creaban confusión entre los desarrolladores
de software, en los años noventa. Hacia 1994 existían una gama de métodos, los
cuales también creaban desconcierto entre los desarrolladores.
UML se inicia como el "Método Unificado" presentado por Grady Booch y Jim
Rumbaugh en el Workshop sobre Casos de Uso OOPSLA'95 (Object-Oriented
Programming Systems Languages and Applications) en Octubre de 1995.
Ese mismo año se une Ivar Jacobson dando origen a Rational Software, la compañía
de los "tres amigos", actualmente pertenece a IBM.
Desde esa fecha hasta ahora UML ha tenido la siguiente evolución:
Noviembre de 1997, es aprobado por el OMG(Object Management Group),
organización que esta compuesta por personas y empresas involucradas en el negocio
del software y promueve la tecnología orientada a objetos en el desarrollo de
software.
1998 aparece la versión UML 1.2 (revisiones menores).
1999 aparece la versión UML 1.3
2000 aparece la versión UML 1.4 (revisiones menores).
2001 aparece la versión UML 1.5
Se está, trabajando en la versión UML 2.0 la cual estará disponible al público en marzo
del 2005.
Ahora bien, uno de los elementos que impulsa a UML como un estándar de la
industria, es el gran conjunto de empresas que desde la versión 1.0 han trabajado en
su desarrollo, ejemplo de éstas son:
Conceptos Básicos
Aquí aprenderá a identificar los conceptos básicos para que poco a poco podamos
entender la notación UML, inicialmente doy una idea de objetos, para luego continuar
con la definición de abstracción, para que de esta manera podamos identificar los
atributos relevantes de los objetos, luego explico el concepto de herencia,
polimorfismo, encapsulamiento, envío de mensajes, composición y agregación; al final
del presente capítulo, usted tiene múltiples ejercicios planteados para empezar con
bases sólidas en el aprendizaje del UML, y si usted ya es un experto, puede obviar el
presente capítulo.
Cuantas veces usted, escucha hablar de análisis y diseño orientado a objetos, pero
como nos podemos ubicar en el contexto, en este momento que se encuentra leyendo
la publicación, dentro del ambiente en que se ubica, existen muchos objetos, inclusive
usted es un objeto. Para explicar esta idea, observamos la figura, nos damos cuenta
que existen en el universo los objetos: Torres, López, Castro… , que por atributos
comunes entre ellos los clasificamos, agrupamos; entonces estamos creando una clase
llamada trabajador, pero como cada uno de ellos tiene identidad, usamos una
estructura de datos para poderlos almacenar, y de esta manera interactúa la clase
que tiene: nombre, atributos y operaciones que representan a su comportamiento y la
estructura donde de almacenan la representación de cada uno de ellos.
Abstracción
Se Refiere a quitar las propiedades y acciones de un objeto, para dejar sólo aquellas
que sean necesarias.
Polimorfismo
Por ejemplo, la operación mover, es distinta para una pieza de ajedrez que para una
ficha de dama, pero ambos objetos pueden ser movidos. Una operación es una acción
o transformación que realiza o padece un objeto. La implementación específica de una
operación determinada en una clase y determinada se denomina método.
Para este caso el método es mover es polifórmico, ya que ambos objetos se mueven,
pero en cada uno de ellos tiene una secuencia propia de poderse realizar.
Encapsulamiento
Este concepto se debe manejar muy bien y más aún en la programación orientada a
objeto, porque al igual que una bombilla de luz cuando se malogra usted no va a
romper la cubierta para unir a los hilos, lo mismo debe suceder con los objetos que
usted cree, componentes, clases. Estos deben dar y recibir datos, en caso de
malograrse debe adquirirlo nuevamente. Para ello debe haber casas de software, que
vendan los componentes, de acuerdo a la estandarización de los procesos se tenga a
componentes compilados reutilizables.
Envío de Mensajes
Cambiar(numerodeCanal)
Control Tv
Remoto
Mensaje
Composición
La idea es similar al concepto de agregación, con la diferencia que las partes que
conforman el objeto no pueden tener independencia, necesitan estar acoplados.
El objeto camisa está formado por otros objetos como son: mangas, cuello, bolsillo y
para la composición, los objetos que forman parte, no tienen independencia, siempre
deben estar acoplados.
Agregación
Este concepto se aplica cuando las partes que conforman un objeto, tienen
independencia para que se puedan acoplar a otro objeto con mucha facilidad.
Test de Verificación de aprendizaje y práctica de conceptos básicos
Árbol de navidad
Considere que tiene las siguientes entidades
1. Boletas emitidas.
2. Políticas de impuesto de pago de planilla.
3. Recibo de pago de cuotas emitidas.
4. Recibo de Pago de cuotas de ventas al crédito.
5. Registro de Compras.
6. Proformas Emitidas.
7. Vales de Adelantos de Trabajadores.
8. Kardex.
9. Boletas anuladas.
10. Nota de Crédito.
11. Boletas adquiridas.
12. Reporte de Ventas de Cliente.
13. Letras de pago Anuladas.
14. Facturas por cancelar a Proveedor.
15. Planilla.
16. Boleta de Pago al trabajador.
17. Facturas Rechazadas por el cliente.
18. Pedidos al Proveedor.
19. Ticket interno emitido por Venta.
20. Registro de venta.
21. Letras por Pagar.
22. Informe de gastos diarios.
23. Letras por cobrar.
24. Documentos de Contrato con AFP.
25. Registro de Asistencia de empleados.
26. Guías internas de traslado de Producto.
27. Certificado médico que justifica faltas.
28. Reporte de Ventas del cliente.
29. Ordenes de retenciones a trabajadores por juicios de alimentos.
30. Pedidos del cliente.
Colocar el número en cada uno de los recuadros, para los objetos que sean
necesarios en el dominio de los siguientes sistemas:
Sistema de Planilla
Sistema de Ventas
Sistema de Compras
Ventas al Crédito
Nombre De Clases
• Empleado
• Servicio
• Persona
• Obrero
• Equipo de Oficina
• Servicio de Alquiler Máquinas
• Artefactos
• Útiles
• Servicio de llamadas
• Electrodomésticos
• Servicio de Impresión
• Cliente
• Reglas
Grupos De Atributos
• Código, Marca, Precio Unitario, Stock
• Código, Tipo de llegada, Tipo de Saldo
• Código, Apellido Paterno, Apellido Materno,
Nombre, Edad, Dirección
• Número, Fecha, Tipo de Cancelación (Contado, Crédito)
• Código, Marca, Precio Unitario, Años de Garantía
Atributos
• Sueldo
• Medida
• Jornal
• RUC
• Nº Hojas de impresión
• Precio unitario por impresión
• Nº de Minutos
• Tipo de llamada
• Nº de Horas
Escriba en los recuadros que se le indica los elementos de las listas para plasmar la
idea de herencia.
Colocar nombre
de la Súper
Clase
Colocar nombre
de las sub
clases y los
atributos, que
usted cree que
le corresponden
según el listado
mostrado
anteriormente.
5. ¿Cómo define el concepto de polimorfismo?
__________________________________________
__________________________________________
__________________________________________
Coloque los nombres de los métodos en el recuadro de la izquierda, que puedan ser
adquiridos por los objetos que colocará en el recuadro de la parte derecha, tomando
como referencia las listas mostradas.
Métodos Objetos
Métodos Objetos
Métodos Objetos
Métodos Objetos
6. ¿Qué es Encapsulamiento?
__________________________________________
__________________________________________
__________________________________________
Marque que objetos cree Usted que tenga encapsulamiento.
Un receptor (radio)
Caja negra de un avión
Chip
Lapicero
Libro
Reloj
Cerebro
CD
Una bombilla de luz
Maquina de escribir
Coloque los mensajes sobre la línea que los une para los siguientes pares de objetos.
Jugador Pelota
Cocinero Cocina
Lector Libro
Chofer Auto
Profesor Alumno
Usuario Equipo de
Sonido
8 ¿Qué es asociación?
__________________________________________
__________________________________________
__________________________________________
Escriba la asociación sobre la línea que los une, para los siguientes pares de
objetos:
Arbitro Partido
País Capital
Distrito Alcalde
Pedido Producto
9. ¿Qué es agregación?
__________________________________________
__________________________________________
__________________________________________
• PC
• Carro
• Lámpara
• Puerta
10 ¿Qué es composición?
__________________________________________
__________________________________________
__________________________________________
Diagramas de Estructura
Diagramas de Comportamiento
Diagramas de Estructura
Diagrama de Clases
Diagrama de Objetos
Diagrama de Componentes
Diagrama de Despliegue
Diagramas de Comportamiento
Diagramas de Estructura
Diagramas de Comportamiento
Diagrama de Casos de Uso
Diagrama de Secuencias
Diagrama de Colaboración
Diagrama de Actividades
Diagrama de Estados
Diagrama
Modelo de Dirección de Estado
de Diagramas
En los modelos de Dirección tenemos:
Diagramas de Estructura
Diagramas de Comportamiento
Paquetes
Subsistemas
Modelos
Esquema de diagramas
Los diagramas de Caso de Uso, son uno de los principales a usar en un desarrollo de
sistemas, porque sirven tanto para diagnosticar un mundo real, así como
implementar software.
Empleado crédito
Cliente
<<include>>
Solicita pedido
Consulta Datos
Recepción de datos
Crear proforma
Entrega de proforma
Diagrama de Secuencia
4: Crear proforma
:cliente
1: Solicita pedido
3: Recepción de datos
2: Consulta Datos
:catalogo
Diagrama de colaboración
Los diagramas de actividades son un medio para poder explicar un flujo, que bien
podrían pertenecer a un caso de Uso.
Calcular monto
de pedido
[ MontoPedido<1000 ]
Hallar calculo
final
Emitir proforma
Diagrama de Actividades
Los diagramas de clases, son uno de los más importantes; porque representan a los
conjuntos de objetos y son los mígrales al software de aplicación, como también al
gestor de base de datos.
Cliente Factura
codigo numero
nombre fecha
ruc Adquiere estado
ingreso() generarnumero()
consulta() insertaDatos()
imprimir() cambiardeEstado()
eliminar() cancelarFactura()
Diagrama de Clases
Esto quiere decir, que si tomamos como ejemplo a la clase cliente, la cabecera y los
atributos, que se manejan como variables y las operaciones que se implementan en
procedimientos y funciones, se trabajan en el software de aplicación: como Java, .Net,
entre otros; si separamos solo el nombre de la clase y los atributos se toman como
referencia para la creación de las tablas, para el programa de gestión de base de
datos.
Los diagramas de objetos representan a las instancias u objetos que pertenecen a
cada una de las clases y se representan de la siguiente manera:
Tomando como referencia al diagrama de clases, construiremos el diagrama de
objetos.
AlbertoTaboada:Cliente F00001:Factura
Diagrama de Objetos
Tenga cuidado de que siempre, un objeto representado en este diagrama, debe tener
su clase en el diagrama de clases del modelo, valga la redundancia.
Los diagramas de estado, van a representar las características en el tiempo, para los
objetos que forman parte de una clase.
Refinanciada
F
Proceso de Cancelación
Emitida Cancelada
no cancela
morosa
Diagrama de Estados
Los diagramas de componentes dan la visión del sistema, desde el punto de vista del
software para tener la idea de cómo implementar los componentes que se manejarán
como: paquetes o “dlls”, según el software de desarrollo.
Db_Ventas
Diagrama <<Application>>
ayuda
De <<Application>>
modulo ventas
clase cliente
clase Factura
<<ActiveX DLL>>
documentos
Clase Boleta
Diagramas de despliegue, presentan el punto de vista del hardware y software,
especificando los dispositivos, en que se colocará el o los componentes en la
implementación del software.
Diagrama de despliegue
Metodologías de Desarrollo
Una vez que usted conoce los diagramas UML, que representan a la notación; tiene
que optar por una metodología, que le permita establecer una forma de desarrollo,
para el análisis, diseño e implementación. Los creadores de UML, han establecido la
metodología RUP, Proceso Unificado de desarrollo; al visualizar el gráfico verá, que no
es la única metodología, existen muchas, entre ellas: XP (Extrema Programación),
Catalysis, Grapple, Fusion entre otras. Usted puede crear su propia metodología, que
le permita adaptarse a sus necesidades, es por ello, que en el dibujo se grafica el
interrogante “?”, para plasmar esta última idea.
Características Esenciales del RUP Procesogido por Casos de Uso
Esto quiere decir que los casos de uso, juegan un papel muy importante para las
etapas de desarrollo.
Las actividades se encadenan en una mini-cascada con un alcance limitado por los
objetivos de la iteración. Esto nos conlleva a entender, que cada una de las etapas de
desarrollo no son terminales, sino se están, retroalimentando, mientras se va
conociendo el negocio y desarrollando el software.
Fase de Inicio
Fase de Elaboración
Productos de la Fase
Modelo de caso de uso completa al menos hasta 80% todos desarrollados.
Requisitos adicionales.
Descripción de la arquitectura del software.
Un prototipo ejecutable de la arquitectura.
Lista de riesgos y caso de negocio revisado.
Plan de desarrollo para el proyecto.
Un caso de desarrollo actualizado que especifica el proceso a seguir.
Posiblemente un manual de usuario preliminar.
En esta fase se actualizan los productos de la fase de inicio.
Etapa de Construcción
Aquí debe alcanzar la capacidad operacional del producto, Componentes se deben
ejecutar o realizar.
Se deberá tener una versión BETA del producto.
Objetivos de la Fase
Minimizar los costos de desarrollo (optimizar recursos).
Conseguir calidad adecuada de productos.
Conseguir versiones como fuera posible.
Fase de Transición
Objetivos de la etapa
Conseguir que el usuario se valga por si mismo.
El producto final cumpla los requisitos esperados que funciones y satisfaga
suficientemente al usuario.
Productos Presentables
Prototipos operacionales.
Documentos legales.
Caso del negocio completo.
Línea de base del producto completa y corregida que incluye todos los modelos.
Descripción de la arquitectura completa y corregida.
Uso de Modelos
El uso de una metodología en el desarrollo de un proyecto de software, determina la
creación de modelos, que permiten mirar el sistema desde varios puntos de vista y
estas son que en conjunto forman la arquitectura.
La vista de casos de uso, permite mostrar la descripción del sistema, tal como lo
observa los usuarios finales.
Vista de Procesos. Plasman los flujos y procesos que forman parte de la lógica del
negocio.
Vista de Diseño, Esta comprendida por los artefactos, representado por Diagrama de
Clases, Secuencia entre otros, que muestran la maqueta de lo que será el sistema.
Herramienta Aplicación
Orientada a Componente_1
Objetos Clase 1
MODELO DE Clase 2
CLASES Clase 3
Arquitectura en 3 capas
Esquema en 3 capas
Resumen de idea
Componentes
Arquitectura en 3 capas
Test de Verificación de Aprendizaje
Empleado crédito
Cliente
<<include>>
……………………………………………………………………………………..
Cliente Factura
codigo numero
nombre fecha
ruc Adquiere estado
ingreso() generarnumero()
consulta() insertaDatos()
imprimir() cambiardeEstado()
eliminar() cancelarFactura()
……………………………………………………………………………………….
A este último grupo de actividades se rotularían con el Caso de Uso “Crear Documento
de Venta”.
Componentes de Diagrama
Actor
Un actor es un agente, alguien o algo que solicita un servicio al sistema o actúa como
catalizador para que ocurra algo.
Actor
Caso de Uso
Un Caso de Uso es representado por una elipse y describe una situación de uso del
sistema Interactuando con actores.
C o m p ra r Pro d u c t o s e n
E fe c t i v o
V e r C a rt e le ra
Requisitos Especiales
Generalización de Actores
Cuando existen varios autores que realizan el mismo Caso de Uso, lo generalizamos
creando un actor que pueda determinar, que uno de los actores heredados y solo uno
de ellos puede realizar la tarea o Caso de Uso.
El estereotipo incluir implica que el Caso de Uso base es vértice y los Casos de Uso
Incluido son “Ponerse Pantalón”, “Ponerse Camisa”, “Ponerse Zapato”, se deben
cumplir obligatoriamente.
Ingres o a la
ALU MN O
U nivers idad
R e ndir Exam en
de Adm is ión
Ejemplo 2
No quiere decir que obligatoriamente los Casos de Uso secundarios se cumplen para la
tarea o Caso de Uso “Vértice”.
Generalización
P ag o c on
E fec tivo
C ancelar D oc.
C LIEN TE
P ag o c on
Tarj eta
Tomar Taxi
Esta es otra característica con respecto a la generalización de los casos de uso, donde
la determinación de medio de transporte público, tomar colectivo o tomar taxi.
Inclusión y Extensión
Crear software obligatoriamente implica los casos de uso de: “Recopilar necesidades”,
“Realizar el Análisis”, “Diseñar” y “Desarrollar”.
Ejemplo de Caso de Uso
El proceso se inicia cuando el cliente hace el proceso de ver cartelera, luego el mismo
actor conjuntamente con el vendedor interactúan en el proceso de atender pedido,
después los dos actores interactúan en la cancelación de la entrada al cual
ocasionalmente comprende el cálculo del descuento por promociones, a su vez, ellos
realizan el proceso de determinar la forma de pago que puede ser solo una de las
siguientes modalidades: pago con tarjeta o pago con efectivo.
SECRETARIA SECRETARIA
SECRETARIA
AUXILIAR
AUXILIAR
Atender Solicitud AUXILIAR
C
A B
P res e ncial
A
B
Pago de
Mensualidad
ALUMNO
Pago de Mora
A B C
P re p a rar
M es a
A lm o rz a r Ce n ar
E M P L E AD A
C
L l e n a r D o c u m e n ta c i ó n T o m a r E xa m e n O r a l
P R O FE S O R
E v a lu a r A lu m n o T o m a r E xa m e n E s c r i to
ALU M N O
C r e a r L i s ta d e
C r e a r C u a d r o d e M e r i to s
D e s a p ro b a d o s
Dibuje en esta área el diagrama.
Mis Notas:
Diagramas de Interacción
Diagrama de secuencia.
Diagrama de colaboración.
Simbología:
Pedro : Bebedor
Pedro
: Bebedor
Luego, se debe graficar la línea de vida para cada uno de los objetos:
Línea de
vida
Una vez que ya definimos la línea de vida, se debe listar los mensajes que interactúan,
para nuestro caso tenemos:
Coger
Vaciar líquido
Coger Vaso
Ingerir Líquido
Simple:
Síncrono:
Asíncrono:
Foco de Control:
Es la barra que se ubica sobre la línea de vida de los
objetos que intervienen en la secuencia, donde representa
Inicio de tiempo
al foco de control para indicar el desplazamiento en el
tiempo.
Fin de tiempo
Mensaje recursivo, cuando un mensaje recae sobre el
mismo objeto.
a : aa
Simbología de creación de un objeto y en la parte final se
elimina o destruye.
create
X
a : aa Bifurcación de mensajes, se desencadena de acuerdo a la
evaluación del criterio o condición.
[x>=0]
[x<=0]
:a :b
Lapso de
tiempo
Disposición de
los objetos
Los diagramas de secuencia, manejan 2 dimensiones: Verticalmente manejan el lapso
en que transcurren las actividades y Horizontalmente se expresan la disposición de los
objetos.
Solicitar Pasaje
Recoger pasaje
: Operador : telefono
: juez : implicado
Ingresa Login
Ingresa Clave
Consulta ()
El usuario tendrá que ingresar el login y clave, para después consultar a la tabla de
registro de usuarios, el resultado de la evaluación se desencadena, la acción de dar o
negar acceso según condición.
Diagrama de Colaboración
Definición: Los Diagramas de Colaboración van a mostrar la forma en que los objetos
colaboran para cumplir sus responsabilidades y tienen la misma función que los
diagramas de secuencia.
Entonces, se debe plantear algunas interrogantes: ¿Por qué el UML necesita de otro
diagrama para cumplir la misma función?, ¿no son lo mismo?; la respuesta, es que los
dos van a representar interacciones, con la diferencia que el diagrama de secuencia va
a mostrar las interacciones con la dimensión del tiempo, mientras que el diagrama de
colaboración va a mostrarlas de un contexto y organización general, de cómo los
objetos interactúan desde el punto de vista del espacio.
Simbología
Las instancias de las clases se deben unir con una línea de asociación.
: Radioescucha : Receptor
Para nuestro caso tenemos al radio escucha que se asocia con el receptor.
Luego, se debe ir trabajando graficando los mensajes, siempre numerados y con las
flechas que toman la misma notación o características de los diagramas de secuencia
y se grafica como sigue:
1: Encender
: radioescucha : receptor
2: Envio Señal
3: Apagar
1: Encender
: radioescucha : receptor
: Jefe
* [todo] 1. Asignar Funciones a Desempeñar
: Empleado
: trabajador : pl anil la
El ejemplo que presentamos es la lectura de un libro por parte de un lector que envía
el mensaje de “abrir”, para luego leer y extraer el conocimiento que llegará al lector,
luego interpretar párrafo y hacerlo tantas veces para pasar a sacar resumen y enviar
los resúmenes a la instancia “hoja de resumen”, para después enviar el mensaje de
cerrar.
Test de Verificación de Aprendizaje
a. Actividades.
b. Nombres de Clases.
c. Instancias.
d. Mensajes.
e. Flujos repetitivos.
a.
a : aa a : aa
b.
a : aa
a : aa
c.
a : aa
d.
a : aa b : bb
a. Los mensajes.
b. La distancia.
c. El volumen.
d. El tiempo.
e. La línea de vida.
a : aa b : bb
a. El objeto o instancia emisora, espera la respuesta para
poder continuar.
b. Representa a un mensaje sincróno.
c. Envía la mitad de un mensaje,
d. El objeto o instancia emisora no necesariamente tiene
que esperar la respuesta para continuar.
e. Representa el envío de un mensaje simple.
a : aa
create
: Semaforo : Persona
Una vez que nosotros clasificamos a los objetos, ya estamos creando una clase, que
tomara el nombre del grupo identificado.
El siguiente paso, será identificar sus atributos o características que tendrá el conjunto
de objetos, por ejemplo: código, nombre, apellidos entre otros, también debe tener
en cuenta a las operaciones que representan el comportamiento de la clase, para que
en la implementación sean considerados como procedimientos y/o funciones, tal
como: agregar, eliminar, actualizar. Para definir estas operaciones, en una primera
instancia, no las conocemos; por la sencilla razón que necesitamos del aprendizaje
del negocio y para ello nos ayudan los otros diagramas de la notación UML, así como
también el conocimiento de patrones que sirven para la asignación de
responsabilidades.
¿Como funcionan las clases con los datos de la tablas? Inicialmente se tiene de forma
independiente a la clase y la estructura relacional (tabla); formando de esta manera
las capas.
Los atributos de las clases, solo servirán como variables; para que estas puedan
interactuar con los procedimientos y funciones de las mismas.
Características de Atributos
PUBLICOS - PUBLIC (-)
Como vera el gráfico de la parte inferior, el atributo código es público, se puede usar
en la clase propiamente dicha como en la instancia; como entender desde este punto
de vista ¿Qué es una instancia?, para ello usaremos una analogía, si usted tiene un
documento original y le saca una fotocopia, la fotocopia vendrá hacer una instancia del
documento original; con la ventaja que en las clases, los cambios que se realizan en la
principal se repercuten en las instancias.
Rol
Es el papel que cumple cada uno de los elementos de las clases para la asociación.
Multiplicidad
Uno a uno
Multiplicidad de uno a uno. Esto quiere decir que un objeto de la clase persona solo se
asociará con un objeto de la clase partida de nacimiento.
Uno a muchos
El objeto Fernando no tiene asociado ningún objeto en la clase Hijo, mientras que
Rafael tiene asociado un objeto que es Rafaelito y Juan se asocia con los objetos
Juanita y Juanito, a todo esto se le denomina multiplicidad de uno a muchos.
Arquitectura de Clases
Generalización
Se denomina generalización o herencia, cuando una superclase (clase madre), define
atributos y operaciones que serán comunes para otras subclases que heredan las
características de la clase madre en la representación de objetos de un mundo real.
Agregación
Es la asociación de elementos que forman un todo, en función a un objeto base que
integra a objetos, pero cada uno de los objetos integrados pueden ser parte de otro
objeto base. En UML el símbolo utilizado para esta representación es un diamante
(rombo).
Para el ejemplo, el parlante es una clase, que tiene independencia y que se puede
acoplar a la Pc, como a un equipo se sonido.
Composición
Es un tipo representativo de una agregación, con la definición que cada componente
dentro de una composición puede pertenecer tan solo a un todo. La representación en
UML es un diamante relleno.
El objeto planta de zapato identificada con el número “PLA01”, solo se acoplara al
zapato “Z001” y no a otro mas.
Asociación Reflexiva
Se establece cuando la asociación recae sobre la misma clase.
Interfaz
Para explicar este concepto utilizaremos un ejemplo:
Recibo
Herramienta
Vale
CambioMoneda()
ConvertirNumeroALetra()
Factura
Recibo
Herramienta
Vale CambioMoneda()
ConvertirNumeroALetra()
Factura
La clase imparte, es una clase de asociación, porque enlaza a las tablas estándar:
grupo, curso y profesor.
Al leer el primer objeto de la clase imparte la podemos interpretar, que al grupo
“G01”, el profesor “P01” Castro, imparte el curso “C01”, que es “modelamiento de
base de datos”, el día lunes de “8-10”.
El segundo elemento lo interpretamos, que para el grupo “G01”, el profesor “P01”
Taboada, imparte el curso “C02” que es UML, el día lunes del “10-12”.
Teléfono
(“847-1418”,-“453-4444”,”435-3333”,”437-6374”)
Recibo
(“R001 FV: 3/3/2005”, “R002 FV: 3/3/2006”)
Llamada
(“Hora Inic. 10:30 Hora Ter. 10:35”,”Hora Inic. 10:30 Hora Ter. 11:15”)
Marca
(“Nokia”,”Motorola” )
Usuario
Natural(“Joel Rodríguez”,”Nilda Espíritu”,”Javier Pérez”,”Alberto Taboada”)
Jurídico(“Asesores Sull”,”Comercial Perú”,
“Emp PAZ SAC”)
b. Nombre de clasificaciones de Objetos
c. Clases y atributos
Definición
Los Diagramas de Objetos muestran la representación de las instancias que
pertenecen a cada una de las clases del dominio en estudio.
Notación
Objeto
Cada Objeto aparece como un rectángulo, que esta etiquetado con:
5. Defina brevemente
Multiplicidad.....................................................
Rol.................................................................
Asociación.......................................................
mis a doc e nt e
ma rc a p ro d u c t o
Mis Notas:
Diagramas de Estados y Actividades
Diagramas de Estado: ¿Qué es un Estado?, ¿Qué es un Diagrama de
Estados?
Simbología: Estado
Representación de Acciones: Entrada, Sub Estados, Sub Estados
Secuénciales, Sub Estados Concurrentes, Estados Históricos, Ejemplos
Diagrama de Actividades: Definición, Simbología, Transición de
Actividad a Otra, Decisiones, Envió de Señal
Test De Verificación De Aprendizaje
Diagrama de Estado
¿Qué es un Estado?
Ningún objeto que se interrelaciona en un mundo real se mantiene estático, un estado
representa la característica del objeto en el tiempo; ¿Quién hace cambiar de estado a
los objetos?, son los sucesos o eventos. Por ejemplo, usted como objeto se encuentra
leyendo la presente publicación en su oficina, tiene el estado de “leyendo”, pero llega
la hora de salida, esto implica que cambiará al estado “caminando” para salir, si tiene
que viajar a su casa y posee movilidad, se optara por el estado de “conduciendo” o
“viajando”.
Simbología
Estado
Se representa por un rectángulo de vértices redondeados.
El símbolo de una línea continúa y una punta de flecha con un círculo relleno se
interpreta como el inicio y una diana representa el punto final del diagrama. Por lo
general se muestra solo el nombre de estado, ocasionalmente se incluyen las acciones
y eventualmente se incluyen a las variables de estado, pero se usan de acuerdo a las
necesidades de modelo.
Representación de Acciones
Las acciones que se disparan cuando se toma un estado están comprendidas por:
Sub Estados Secuénciales.- Se dan uno después del otro y lo explicamos con un
ejemplo:
Como puede observar los sub estados concurrentes se realizan al mismo tiempo,
porque para nuestro caso el empleado cuando almuerza puede estar escuchando
música y al mismo tiempo puede estar pensando una selección.
Estados Históricos.- Permiten retomar un sub estado, cuando se haya salido por
alguna situación y se simbolizan con la “H” dentro de un circulo y muestra que un
estado recuerda su sub estado activo de donde salió para ponerlo retomar.
Quiere decir que el estado histórico de solicitante lo podrá retomar después de haber
obtenido el incidente que se origino en la empresa.
Ejemplos:
1. Caso de Libro de Biblioteca
El objeto libro inicialmente se ubica en el estado de estar; “En estante”, para después
desencadenar el suceso de solicitar préstamo y entra al estado de “En sala”, se
desencadena las acciones al entrar se retiene carnét de lector, mientras se tiene el
estado no admitir préstamo, al salir se entrega el carnet de lector.
2. Situaciones de estados de un trabajador
Simbología
Actividad
Bifurcación
Inicio y fin
Señal de envió de
mensaje hacia un
objeto representada
por un pentágono
convexo que
apunta al objeto
Después de
ejecutar una
actividad se
conlleva a
una siguiente
Decisiones
Envió de Señal
El presente diagrama de actividades explica los pasos a seguir para tomar una
fotografía; permitiendo enviar un mensaje al objeto cámara cuando se dispara el
botón y la cámara tiene que capturar la imagen.
Diagramas de actividades con marco de responsabilidades
Los marcos de responsabilidades implican que se consideran columnas que identifican
a los responsables de las actividades que se trasladan de un responsable a otro.
El presente diagrama tiene su inicio cuando el cliente realiza su pedido, para luego el
vendedor atender dicho pedido y este le enviará el pedido de almacenero, quien
verificar el stock para enviar datos al vendedor o comunicar al dpto de compras; de
existir productos, el vendedor prepara y emite la propuesta
Test de Verificación de Aprendizaje
Diagramas de estado
1. ¿Qué es un estado?
........................................................................................................................
..................................
2. ¿Cuáles son los elementos que se colocan dentro de las comparticiones del símbolo
del estado (escribir en cada compartimiento)
3. ¿Cuáles son los tipos de acciones que se consideran para un determinado estado?
........................................................................................................................
..............................................................................................................
5. Hallar los sub estados para el estado conducido del objeto auto.
6. Conteste V (verdadero) o F (falso) a las siguientes expresiones:
Actividades Secuénciales
Actividades Concurrentes
Actividades Distantes
Actividades Reciprocas
Actividades de Estado
¿Qué es un componente?
Es un elemento de software que se incorporará a la máquina y que no esta en la
filosofía de los desarrolladores, sino, que existe para su implementación.
clase 1 cl ase
ó
Componente
clase 1
clase 1
clase 2
clase 2
Una clase podría ser agregado a un componente o más de una se puede agregar a un
solo componente.
Una vez que se tiene el componente es usado por los desarrolladores como pieza de
un rompecabezas para armar el sistema, representando a la capa de la lógica del
negocio.
La sustitución y reutilización
Son dos conceptos muy importantes que usted tiene que tener en cuenta al momento
de estructurar componentes.
Interfaz de
comunicación de
componente
“abc”
Componente “abc”
Componente “def”
Interfaz de
comunicación de
componente
“def”
Si las actividades o elementos internos de los componentes cambiaran por situaciones
del negocio se podrían efectuar los cambios, sin tocar la interfaz de comunicación o
enlaces, este mecanismo permitiría la sustitución de un componente con una nueva
versión.
Interfaz
Los componentes siempre encapsulan funcionalidad, pero para utilizarlos necesitan
los medios de comunicación con los usuarios, nunca es dable que todas las
operaciones estén disponibles para el acceso directo de los usuarios, es por ello que
se crean interfaces que permitirán contener a las operaciones utilizables de forma
pública.
Suponga que está construyendo un sistema de evaluaciones para una escuela, donde
tiene a la siguiente clase:
Nota
curso
promedio
ModificarNota()
ConsultarNota()
Imprimir()
EliminarNota()
Nota.dll
Clases
Nota
Notas Web
Consultar Nota
Imprimir
Crear una clase interfaz para que el usuario tenga el acceso a la aplicación web, y en
esta interfaz representada por una circunferencia en la figura pueda usar solo a las
operaciones de: consultar nota e imprimir.
Tipos de Componentes
persona baseVentas
sistefacturacion ayuda.chm
vista Peru
controles :: distrito
controles
Usuario controles :: EstadoCivil
Controles :: CambioMoneda
Ejemplo
Factura Empleado
Guia
Base de Obrero
Pag ma - Datos
HTML
Proforma
Vendedor
Producto
Servicio
Consultar()
Descuentos() Consultar()
Insertar() Descuentos()
Eliminar() Insertar()
Boleta Eliminar()
Actualizar()
Ventas
Producto
<<aplication>> <<activeX>>
Item
Servicio
Boleta
Persona Documento
Factura
Guia
Comparación
Nodo
Es cualquier elemento físico que se integra al sistema y que representa a la unidad de
Hardware, en donde se instalaran y ejecutaran los componentes.
Simbología de Nodos
(Procesador)
Tipo de nodo que posee la capacidad de realizar un
proceso, la calculadora.
<<Procesador>>
(Device)
Tipo de nodo que es la interfaz de sistema, como un
cajero automático, un lector de tarjeta.
<<Dispositivo>>
Servidor Servidor
Componente
<<Processor <<Processor
>> >>
: Pers ona
<<aplicacion>>
: item
Pagma
: docum ento
Cliente
Servidor Base de
Datos
<<Processor
>>
<<Databas
<<Database>>
: apli cacion
e>>
:BDVentas
: BDVentas
<<Devic
e>>
Impresor
a
2. ¿Qué es un Componente?
a.
b.
c.
Patrón Experto
Patrón Creador
Patrón Bajo Acoplamiento
Patrón Alta Cohesión
Patrón Controlador
Patrón Polimorfismo
Patrón Fabricación Pura
Patrón Indirección
Patrón No Hables Con Extraños
Patrón Estado(Pandilla De Los Cuatro)
Patrón Singleton(Pandilla De Los Cuatro)
Patrón Fachada(Pandilla De Los Cuatro)
Patrón Agente Dispositivo(Pandilla De Los Cuatro)
Patrón Comando(Pandilla de los Cuatro)
Patrones UML
¿Qué es un patrón?
Cada Patrón describe un problema que ocurre una y otra vez en nuestro entorno y
describe la solución para ese problema, de forma que esta solución pueda utilizarse un
millón de veces, sin tener que hacer dos veces lo mismo.
Se puede decir, por lo tanto, que un patrón es como una regla que consta de tres
partes, donde se expresa la relación entre cierto contexto, un problema y una
solución.
Para que sean importantes los patrones, se debe ubicar en la etapa del diseño, donde
después de conocer los procesos del negocio, Usted se va ha encontrar con un
conglomerado de operaciones tal como: "GenerarBoleta", "ImprimirFactura",
"DescontarStock"; que los obtendrá de la secuencia de eventos de los Casos de Uso
y otros, también va ha tener el Diagrama de Clases. Entonces los patrones nos
ayudan a asignar las responsabilidades, a cada una de las clases formando los
procedimientos y/o funciones que tendrá cada una de ellas y por lo consiguiente
estaremos diseñando un producto orientado a objetos.
p ro du cto
codPr od
nom Pr o d
puPro d
sto ckPro d
Creadores de Patrones
Cuando se inicio la oleada del UML, participaron varios expertos, cada uno con
proyectos de metodología de desarrollo, liderando como son conocidos los “tres
amigos”, pero dentro de estos participantes estuvieron: Erich Gamma, Richard Helm,
Ralph Johnson y John Vlissides que aportaron las Reglas o Patrones para UML; a
estos señores se les conoce como la Pandilla de los Cuatro(Gang of Four - conocidos
por “GoF”), quienes publicaron su libro Design Patterns en el año de 1995
difundiendo 23 patrones.
¿Qué es un contrato?
Notas
Excepciones
Salida Datos de salida.
Precondiciones Condiciones antes de la
operación.
Poscondiciones Condiciones después de la
operación.
Patrones GRASP
General Responsability Asignment Software Patterns
(Patrones Generales de Software para Asignar Responsabilidades)
Patrón Experto
Solución
Asignar una responsabilidad al experto en información necesaria para cumplir la
responsabilidad.
Problema
¿Cuál es el principio fundamental en virtud, del cual se asigna las responsabilidades en
el diseño orientado a objetos?
Ejemplo
¿Calcular Gran Total de la Boleta?
1. Total("NumeroBoleta")
Boleta DetaBol
2. St = subtotal("NumeroBoleta")
Bol
Boleta
NumeroBol
Fecha
DetaBol
NumeroBol
CodProd
Cant
PuVenta
Importe
Subtotal()
Nombre : Total("NumeroBoleta")
Responsabilidades : Hallar el total de la Boleta, para
tal caso deberá sumar los
importes de la clase “Detabol”.
Tipo : Sistema
Referencias Cruzadas: Caso de Uso Comprar
Producto.
Notas :
Excepciones : Si el número de boleta, no
existe presentar un mensaje de
error.
Salida :
Precondiciones : La Boleta deberá contener al
menos un producto y deberá
estar activa.
Poscondiciones :
Patrón Creador
Solución
Asignarle a la clase B la responsabilidad de crear una instancia de clase A en uno de
los siguientes casos:
B agrega los objetos A
B Contiene los objetos A
Problema
¿Quién debería ser responsable de crear una nueva instancia a la clase?
El ejemplo explica quien tiene la responsabilidad de ingresar una instancia a la clase
DetaBol, aplicando este patrón la tendrá la clase Boleta.
Ejemplo de Patrón Creador
InsertarProductoDetabol(numeroBoleta,CodPro,Cantidad) Boleta
DetaBol
Boleta
NumeroBol
Fecha
Se hace uso del
Total()
InsertaProductoDetaBol
concepto de
Contrato
Nombre : "InsertaProductoDetaBol"
Responsabilidades : Crear una instancia para el
detalle de la Boleta, dicha
responsabilidad la tendrá que
hacer la Boleta, porque se
puede aplicar el concepto de
agregación.
Tipo : Sistema
Referencias Cruzadas: Caso de Uso Comprar
Producto.
Notas :
Excepciones : Si el código del producto no
existe no podrá ingresarse.
Salida :
Precondiciones : Para poder ingresar una
instancia deberá ser
Producto.stock mayor o igual a
la cantidad ingresada.
Poscondiciones : Después de ingresar el registro
en el detalle de Boleta deberá
descontar de Producto.stock la
cantidad del registro ingresado.
Patrón Bajo Acoplamiento
Solución
Asignar una responsabilidad para mantener Bajo Acoplamiento.
Problema
¿Cómo dar soporte a una dependencia escasa y a un aumento de la reutilización?
El Acoplamiento es una medida de fuerza con que una clase está conectada a otras
clases, con las que conoce y con las que recurre a ellas.
Boleta DetaBol
:Producto
Problema
Boleta DetaBol
Vendedor
Factura DetaFac
En la Alta Cohesión, una clase tiene responsabilidades moderadas en un área
funcional y colabora con otras para llevar a cabo las tareas.
Grady Booch señala que de una Alta Cohesión funcional se da cuando los elementos
de un componente(clase, por ejemplo), “colaboran para producir algún
comportamiento bien definido”.
Por ejemplo, si aplicaríamos Creador o Experto podríamos asignar "CreaFactura",
"CreaBoleta", "InsertaProductoDetaBol", "InsertaProductoDetaFac"; pero esta
definición tendría Baja Cohesión, para tal caso quedaría de la siguiente forma:
Boleta
CreaBoleta()
Vendedor
Factura
CreaFactura()
Patrón Controlador
Solución
Asignar la responsabilidad del manejo de un mensaje, de los eventos de un sistema a
una clase.
Problema
¿Quién debería encargarse de atender un evento del sistema?
Un evento del sistema es un evento de alto nivel generado por un actor externo, es un
evento de entrada externa.
Se asocia a operaciones del sistema, las que emite en respuesta a los eventos del
sistema, Por ejemplo; cuando un cajero que usa un sistema de terminal en el punto
de venta oprime el botón "TerminarVenta", está generando un evento sistémico que
indica que la "Venta ha terminado". De modo similar, cuando un escritor que usa un
procesador de palabras pulsa el botón "RevisarOrtografía", está produciendo un
evento que indica "Realizar una revisión ortográfica".
Un controlador es un objeto de interfaz no destinada al usuario que se encarga de
manejar un evento del sistema; define además el método de su operación.
Venta
TerminarVenta()
Contrato
Nombre : "TerminarVenta"
Responsabilidades : Registrar que se terminó de
capturar los artículos de la
venta y presentar visualmente
el total de la venta.
Tipo : Sistema
Referencias Cruzadas: Caso de Uso Comprar
Producto.
Notas :
Excepciones : Si está efectuándose una
venta, indicar que se cometió
un error.
Salida :
Precondiciones : El sistema conoce el proceso.
Poscondiciones : Se asigno a "VentaTerminada"
el Valor de Verdadero
(modificación de atributo).
Patrón Polimorfismo
Solución
Cuando por el tipo varían las alternativas o comportamiento afines, se asignarán
mediante operaciones polimórficas a los tipos en que el comportamiento presenta
variables.
Problema
¿Cómo manejar las alternativas basadas en el tipo?
¿De qué manera crear componentes de software conectables?
DocumentoDeventa
CrearDocumento()
Problema
¿A quién asignar la responsabilidad cuando uno está desesperado y no quiere violar
los patrones Alta Cohesión y Bajo Acoplamiento.
Para tal caso crearemos una clase de Fabricación Pura que contenga a la operación
"ConvertirNumeroaLetra".
Herramientas
ConvertitNumeroaLetra(numero)
Patrón Indirección
Solución
Se asigna la responsabilidad a un objeto intermedio para que nadie entre otros
componentes o servicios, y éstos no terminen directamente acoplados.
Problema
¿A quién se asignarán las responsabilidades a fin de evitar el acoplamiento directo?
¿De qué, manera se desacoplan los objetos de modo que se obtengan un bajo
acoplamiento y se conserve un alto potencial de reutilización?
Contrato ComponentesOLE
Ver Contrato
AbrirAplicacion()
MostrarContrato()
CerrarAplicacion()
Para poder mostrar los contratos de cada uno de los trabajadores creados en
MicroSoft Word, se utilizará la clase “componentesOle”, que permita abrir la
aplicación, abrir el documento y cerrar la aplicación.
Patrón No hables con extraños
Solución
Se asigna la responsabilidad a un objeto directo del cliente para que colabore con un
objeto indirecto, de modo que el cliente no necesite saber nada del objeto indirecto.
Conocido también como Ley de Demeter.
Problema
¿A quién asignar las responsabilidades para evitar conocer la estructura de los objetos
indirectos?
ClaseEjemplo
A
B
C
Calcular( parámetro U )
{
x=A+u
}
Factura FacturasAnuladas
Anular() InsertarFacturaAnulada()
Para el caso de la factura cuando toma el estado de anulada tiene otra tratamiento,
por lo consiguiente se crea otra clase que toma el nombre del estado entrante para
poderla manejar, como es el caso de “FacturaAnuladas”.
Problema
Se permite exactamente una instancia de una clase, se trata de un
“Singleton”(solitario). Los objetos necesitan un sólo punto de acceso.
Atributo de la clase de
“Singleton”
Factura
$situacionFactura
SituacionFactura(codigoSituacion)
Select case codigoSituacion
situacionFactura() Case 1
situacionFactura=’pagada’
Case 2
situacionFactura=’Pendiente’
.
.
endselect
Para explicar el Patrón “Singleton”, podemos determinar que para los diferentes
estados que puede tomar la factura, estos serán manipulados por un atributo, que
para nuestro caso se llamará “$situacionFactura”, y los identifica por números, tal
como: 1.Pagada, 2. Pendiente. Etc.
Patrón Fachada(Pandilla de los Cuatro)
Solución
Definir una sola clase que unifique las interfaces y asignarle la responsabilidad de
colaborar con el subsistema.
Problema
Se requiere una interfaz común unificada con un conjunto heterogéneo de interfaz,
como la de un subsistema ¿qué debe hacerse?
boleta
factura
Problema
Se requiere interactuar con un dispositivo electromecánico. ¿Qué hacer?
LectorDeTarjeta DispositivoLectordeTrajeta
LeerNumero
Problema
Un objeto o sistema puede recibir varias peticiones o comandos. Reducir la
responsabilidad del receptor en el manejo de los comandos, aumenta la facilidad con
que pueden agregarse otros comandos y ofrece las bases para registrar los comandos,
para formar colas de espera con ellos y para cancelarlos (deshacerlos).
Pueden
AbrirDocumento( ) considerarse
Hagamos un ejemplo de cómo funciona este patrón con respecto al uso de una
aplicación en windows, por ejemplo usted puede tener abierta la aplicación de word
varias veces, pero ¿Cuántos archivos ejecutables de la aplicación tiene? Sólo uno, para
este caso se instancia varias veces la aplicación con todas sus operaciones, para no
congestionar el sistema.
Test de verificación de aprendizaje
3 ¿Qué es un contrato?
Dibujar actores
Los actores de los casos de uso vienen estereotipados como “actor”, pero si desea
cambiarlo, puede hacerlo para el “actor de negocio” (business worker), que podrá
asignarse como en la grafica del lado derecho, no olvidar que debe hacer click al botón
“apply” para que se refresquen los cambios.
Para cambiar a casos de uso de negocio, cambie el estereotipo a “business use case”
Diagrama de Clases
Creando el modelo de clases
Definiendo atributos a las clases
Seleccione la clase haga doble click para entrar a especificaciones, presione botón
derecho del mouse para insertar un atributo e indique: tipo, estereotipos y ámbito del
atributo (público, privado o protegido)
Para aplicar la notación de agregación tiene que enlazan con una asociación normal y
después hacer doble click en dicha línea para entrar a la pestaña de cuadro de dialogo
“Role A Detail” y quitar el check “Navigable”, seleccione la casilla de “Aggregate” para
indicar agregación, si desea composición haga click a la opción “By Value”
Generalización en clases
Diagrama de Estados
Para crear un diagrama de estado seleccione una de las vistas del modelo y realice
los siguientes pasos.
2) Presionar el botón derecho del mouse, sobre el icono de Visual Basic y escoger New
Component.
3) Crear tres Proyecto ActiveX .dll para cada uno de los componentes planificados
4) Next
5) Finish
6) (si le pide el nombre del modelo, ingrese el nombre de modelo de referencia, el
sistema crea el modelo)
7) Después de mostrarle una serie de cuadros de dialogo se presenta lo siguiente.
8) Ok
9) Close
10) Observe que la barra de tareas se encuentra el proyecto ActiveX con las
clases seleccionadas para dicho componente.
Migración a Java
1) Se debe haber configurado un modelo de java al momento de ingresar al
programa de Rational Rose.
c. Indicar la Carpeta
NOTA. Aquí deberá indicar la ruta de la carpeta que creo anteriormente para que las
clases se creen dentro de la carpeta indicada, en nuestro caso tenemos a la carpeta
c:\migraJava
//Source file:
c:/migraJava/departamento.java
public departamento()
{
}
/**
@roseuid 39D5188A00E6
*/
public void altas()
{
}
/**
@roseuid 39D5188D0168
*/
public void bajas()
{
}
/**
@roseuid 39D518910028
*/
public void consultas()
{
}
}
//Source file:
c:/migraJava/provincia.java
public provincia()
{
{
}
/**
@roseuid 39D518E20032
/**
@roseuid 39D518E40352
*/
public void bajas()
{
}
/**
@roseuid 39D518E603AC
*/
public void consultas()
{
}
}
Al crear una base de datos, debe crear un esquema (schema), en este se crea las
tablas con todos sus elementos como son: atributos, llaves primarias, llaves foráneas,
trigger, así como también procedimientos almacenados, vistas entre otros.
Escriba el nombre del esquema y seleccione el nombre de la base de datos que creo
anteriormente.
Creación de tablas
Se toma solo como referencia al diagrama de clases, para nuestro ejemplo crearemos
la tabla producto, debe seleccionar el esquema y haga los siguientes pasos.
Seleccione la pestaña “Columns”, haga click derecho en el fondo del cuadro para
insertar columnas y doble click sobre una de las columnas para establecer sus
características.
Diagrama de Modelo de Datos
Haga doble click al diagrama insertado y arrastre las tablas al área del diagrama.
Para realizar este proceso tiene que ubicarse sobre el objeto de base de datos,
presionar botón derecho del mouse y llevar la siguiente secuencia.
Seleccione los elementos que desee generar.
Si desea enviar a SQL server el modelo, tiene que activar la casilla de execute e
indicar el nombre de usuario, generalmente es “sa”, poner password si lo tiene y luego
seleccione el nombre del servidor, sino lo conoce ponga “(local)” y por último debe
seleccionar el nombre de la base de datos que previamente la debe haber creado. Si
desea enviar a un archivo de texto como scripts seleccione el archivo destino con
browse o escriba la ruta y nombre de archivo.
Aquí seleccione el nombre del archivo que contiene el scripts de la base de datos y
siga la secuencia.
Archivo que contiene el scripts de la base de datos
Según la mitología griega, el héroe Jason, con sus colegas, construyó un barco y le
nombró “Argo”, los Argonautas, salieron en búsqueda de la lana dorada. Poseidón,
el Dios de los mares, los protegió y con toda seguridad guió su viaje.
Después de 4000 años, Jason Robbins inició un proyecto magnifico para la fuente de
modelado en UML, creando la herramienta a quien le nombró ArgoUML. Muchos otros
se unieron a él en esta empresa aventurera, incluyendo un grupo de software
conducidos por Bogente Marko, quien es investigador en la University de Hamburg.
Después de que Jason Robbins intercambió sus ideas para otras tareas, el grupo
desarrollador se convirtió en líder del proyecto. Bajo su guía y con sus avances,
ArgoUML se puso muy popular. Se dieron cuenta de la gran demanda de la
herramienta ArgoUML y Finalmente llevaron al riesgo de puesta en marcha una
compañía con el cometido de crear la herramienta más utilizable a una audiencia
ancha. Con relación a su origen de la fuente manifestada, la compañía es llamada
Gentleware y su herramienta es llamada Poseidón para UML.
Hoy, Poseidón para UML es una popular herramienta para el modelado en el mercado,
su foco especial, está en la usabilidad y en hacer el trabajo del modelador una
alegría.
(Origen…:Help de Poseidón compañía Gentleware)
Página de Contacto
Http://www.gentleware.com (exceptúan la versión comunal)
Características
• Las interfaces pueden ser entregadas en la notación de caja.
• Los puertos son ahora disponible en Object, Collaboration, y diagramas
Deployment
• La apariencia y la percepción de los diagramas han sido completamente
modernizadas. Entre estos cambios:
• Energizar un fin de la asociación para una zona franca del diagrama, crea una
clase nueva.
• Waypoints de chasquido de bordes para la “X” de sus vecinos y “Y” se
coordina.
• Los adornos del borde van de arriba abajo por los bordes más
inteligentemente.
• Buttons rápido, ahora incluyen: creación de asociaciones, de atributo, y
creación de operación.
• Los elementos nuevos, como las clases de la asociación y los actores como
clasificadores, y los ayudantes del diagrama que no aparecen en el código de la
fuente, como objetos del texto, se ha agregado.
• El almacenamiento del diagrama ha estado cambiado para el estándar Diagram
Interchange, una parte del UML 2.0 estándar. Así, a los diagramas les es
escrito en el XMI 1.2 formato, algo así como el modelo mismo.
• Los diagramas pueden ser exportados para formato del pdf.
• Los archivos de proyecto ahora están salvados con un ".zuml" extensión. Son
archivos de la cremallera conteniendo un archivo del .proj con información de
proyecto, y un archivo del .xmi con el modelo y la información de plan. Todo
este está de conformidad con el estándar Diagram Interchange.
• Deshaga y Redo es soportado a todo lo largo de Poseidón y para todas las
acciones.
• Un jefe de redacción nuevo de la documentación con capacidades llenas de
sobreprecio de HTML ha sido incluido.
• Los atributos derivativos y ordenados pueden estar definidos.
• Los estereotipos múltiples pueden ser aplicados para todos los elementos.
• Las lenguas deseadas de código de la fuente están seleccionadas de artículos
separados del menú de generación de código, y la etiqueta de la fuente puede
estar colocada para ostentar lenguajes diferentes
• Más lenguajes son incluidos en el Edition Profesional: Java, Perl, VB.Net,
Delphi, CorbaIDL, PHP, C #, y SQL, además de la generación del
UMLdoc.(documento UML)
Edition Comunal
(Edición Comunitaria)
Edition Estandar
(Edición Estándar)
Edition Profesional
(Edición Profesional)
Enterprise Edition
(Edición Empresarial)
Embedded Edition
Edición incrustada
¿Qué Es Poseidón?
Una Excelente Herramienta De Software Libre en su edición comunitaria para crear
todos Los Diagramas UML y realizar un correcto modelado usando el lenguaje UML.
Instalación
. . .
3. A continuación se muestra la siguiente pantalla.
4.
5. Luego se muestra
Empresarial)
9. Busque el Archivo de Java.exe, si dentro de la ventana no aparece, ninguna ruta del archivo de java,
búsquelo con el botón [choose another]
Diagrama De Clases
1. Seleccionar la clase
2. Asignar nombre para la clase
4. Asociar a un paquete
5. Forma de acceder a crear atributos a la clase
6. Forma de acceder a crear operaciones a la clase
7. Seleccionado la clase y presionando botón derecho del mouse obtendrá un
menú contextual que le permitirá tratar las características de las clases.
Defina las Características de las clases con respecto al tipo de dato, así como su
ámbito, tal como privado, protegido o público.
Agregue la operación, donde habrá que colocar el nombre, si tiene parámetros que
podrán ser de entrada o salida, ubíquese en la lista “parameters” y agregue el
parámetro, puede adicionar cuantos usted desee.
Características De Operaciones
Generación De Documentación
1. Seleccione Generation/SQL
2. Escriba o seleccione la carpeta, donde se grabarán los archivos del scritps de
las tablas.
Misión.- Servir con créditos a las personas que tengan proyectos y no puedan
ejecutarlo; de esta manera insertarlos al sistema financiero mundial.
Procesos
Administrador
Asesor Financiero
Nota: El banco para el caso del ejemplo maneja la parte de créditos en hojas
electrónicas de cálculo y esta área se desea sistematizar. Para tal caso se estudiaran
los procesos de las unidades orgánicas de créditos y cobranzas, así como también los
procesos que involucran a varias unidades orgánicas.
Proceso Descripción
CLIENTE AVAL
REFINANCIAMIENTO CUOTA
Buscar las asociaciones entre los objetos encontrados
asesFinanciero
propuesta
refinanciamiento
*
1 1
supervisa
obtiene
cliente
obtiene 1
1 1 *
* credito 1 tiene aval
natural juridica *
* 1 tiene
1
atiende
posee plandeCredito
empleado 1 pertenece
recibodePago cuota
1 * *
emite
*
solicitudCredito
detalla
Glosario de términos
Termino Descripción
Principal
Cooperativos
Asesor
Financiero
Informes
Financieros y de
Clientes
Situación
Transacciones Créditos y
Cuentas Cobranzas
Admisión
Datos de Cuentas
Describa las Necesidades
Aquí se irán describiendo las necesidades identificando las inquietudes de cada uno de
los actores del negocio que se investiga.
Para tal caso se entrevista a los empleados de créditos y cobranzas y nos
manifestaban que desearían un sistema que genere de forma automática las
estadísticas y los recibos de pago, así como también genere las cuotas de
refinanciamiento, ya que ellos lo tienen que hacer por el momento en hojas
electrónicas de calculo, también se desea crear propuestas de forma automática y
llevar un file electrónico de los créditos supervisados por el banco; otra de las
inquietudes es que los clientes mediante un sitio Web puedan consultar la situación de
sus créditos.
Busque la participación de los actores para colocar el nombre; por ejemplo en nuestro
caso cada uno plantea el siguiente nombre:
.............................................................................
Propuesta de Hardware
pc1
i1
i2 i3 i4
pc2 pc3 pc4
i5
pc5
Servidor
Como vera la grafica las PC1, PC2, PC3 son utilizadas para las transacciones
(depósitos y giros), las PC4 y PC5 son máquinas aisladas donde se controla a los
créditos de forma independiente.
Diagrama Distribución
i1,i2,i3
pc1
pc2
pc3
servidor router
local
integrar al sistema
pc4
i4
servidor la pc4 y pc5
web asignar al sistema
de creditos y
pc5 conectar al servidor
Se debera conectar
i5
al servidor la pc4,
pc5 y pc6, asi como
también se adquirira
los servicios de un
pc a adquirir
host para la pagina pc6 para
web de creditos
estadisticas
Leyenda i6
i1=impresora
i2=impresora
i3=impresora
i4= impresora
i5=impresora
i6=impresora
Estimación de Costos
1 Computadora. ####.##
2 Impresoras. ###.##
3 Servicio de Hosting y licencias
de software. ###.##
4 Honorarios por Servicios de
recabar datos. ###.##
5 Honorarios por servicio de
análisis. ###.##
6 Pago a Asesoría. ###.##
7 Pago Honorarios a
Programadores. ####.##
8 Pago Honorarios Desarrollador
Web. ###.##
9 Gastos de Implementación. ###.##
10 Imprevistos. ###.##
11 Ganancia. ###.##
_______
####.##
TOTAL DE PROYECTO
Nota: Se estila construir este cuadro, pero debe indicarle al cliente, solo el final o
totales de acumulados.
Mis Notas:
Caso Práctico
Análisis
Diagramas De Casos De Uso De Los Escenarios Inmersos Desde El
Punto De Vista Del Sistema A Desarrollar
Objetos De Entrada Y Salida De Los Escenarios O Procesos
Innovación De Los Procesos
Casos De Uso De Implementación Del Sistema
Construcción Del Dominio
Análisis Del Comportamiento De Las Clases
Diagramas de Casos de Uso de los Escenarios inmersos desde el
punto de vista del como se lleva el negocio.
A todo este conjunto de casos de uso, que determinan la situación de cómo el negocio
se lleva se le conoce como diagramas de caso de uso del “modelo del negocio”.
Diagrama de Casos de uso de “Atender solicitud de crédito”
Empleado crédito
Cliente
<<include>>
Empleado de Crédito
Cliente
1. Revisar estadísticas
2. Construir proyecciones de
créditos
Transacciones
Asesor Financiero
Admisión
4. Registro de Crédito
2. Verificar Datos de Cta.
<<include>>
Aval
Transacciones
Entrega de Crédito
Caso de Uso: Atender pedido Crédito.
Objetivo: Recepcionar solicitud de crédito y empezar
el flujo de actividades.
Actores: C(cliente), E(empleado).
Pasos:
1. C Llenar la solicitud de crédito al banco.
2. C Presenta File de Crédito donde incorpora:
- Solicitud al Banco.
- Cuadro de plan y cuotas de pago.
- Fotocopias de los documentos de identidad del titular
de la cuenta y avales.
- Voucher de transacciones comerciales realizadas los
últimos 6 meses, en caso de persona jurídica
presentar el balance general del ultimo año.
3. E Evalúa la documentación presentada.
Extensiones
Variaciones
Requisitos Especiales
<<extend>>
Transacciones
Empleado crédito
2. Refinanciamiento
Caso de Uso: Pago de cuota de Crédito.
Objetivo: Mostrar la secuencia a seguir para la
cancelación de una cuota de crédito.
Actores: C(cliente), T(Transacciones).
Pasos:
1. C Presenta su recibo de crédito.
2. T Recepciona y verifica datos.
3. T Calcula el pago.
4. T Registra el Pago de cuota de crédito.
Extensiones
2.1.T <<extend> Cálculo de mora.
Variaciones
Requisitos Especiales
Solicitud de
Presupuesto de
Crédito Atender
solicitud de Informe de
Plan de Crédito crédito Propuesta según plan
Administrar Crédito
Estadísticas de
Prestamos
• Estadísticas de Pagos
• Cuadro de Morosos
100
80
Creditos
N° de
60
40 M Nacional
20
M Extranjera
0
Asignar Crédito
Enero Marzo Mayo
MESES DEL ANO
Solicitud de Crédito
Cuadro de plan de
Asignar
Pagos Acta de Crédito
Crédito
Situación financiera
de Cliente
Situación financiera
de Aval
• Solicitud de Crédito
Presente:
Yo, x____________________________x
identificado con x____________________________x
x_____________x x__________________________x
x_____________x x__________________________x
x____________ x x__________________________x
x_____________x x____________x ____________x
x_____________x x__________________________x
Atentamente
--------------
Albert Hotool
Gerente:15015181
• Cuadro de Plan de Pagos
Cliente N° Crédito
Nombre: Albert Hotool Representante:___
O Razón Social
DNI : _____________
N° de Cuenta : 15015181
Cargo : _____________
N° Tarjeta: 12345618
Avales
Nro Aval : _______ Nro Aval : ______
Nombre : _______ Nombre : ______
Dirección: _______ Dirección: ______
Ruc/Dni : _______ Ruc/Dni : ______
Ingresos : _______ Ingresos : _____
Centro de Centro de
Trabajo : _______ Trabajo : ______
Teléfono de Teléfono de
C. Trabajo:_______ C. Trabajo: ____
________ _________
Firma Firma
DNI _______ DNI ________
Recibo de Pagos
Cobranzas y Recibo
Solicitud de Refinanciamiento Cancelado
Refinanciamiento
• Recibo de Pago
Por lo tanto :
-------------------
DNI __________
<<includ e>>
cnatural
cju ridico
4 registrar credito
entrega de credito
4: informe de propuesta
ingresar datos a
cosultar cliente y aval
recoger historial
financiero
buscar otro
aval
registrar historial
en credito
fin
5: registrar datos
7: actor de credito
: credito
Caso de Uso: Entrega de Crédito.
Objetivo: Explicar los procedimientos para la entrega
del crédito.
Actores: C(cliente), T(empleado transacciones / cajero), S(sistema).
Pasos:
1. T Recepciona la orden de pago de crédito.
2. C Presenta documento de identidad.
3. T Verifica firma, foto y datos en el sistema.
4. T Entrega cheque o efectivo de crédito.
5. S Emite voucher de retiro.
Extensiones
Variaciones
Requisitos Especiales
transacciones
cliente
empleado credito
2. refinanciamiento
1 3%
2 3.5%
3 4%
4 4.5%
5 5%
6 6%
. .
. .
. .
Diagrama de casos de uso “Administrar Créditos”
1. crear reportes
empleado credito
2. generar recibos
pagos
Para ello deberá identificar los objetos principales aquellos que necesitan almacenarse
y los derivados, los últimos son generados de los principales como reportes y otros.
Para cada uno de los objetos almacenables, debe descomponer en cuantas clase se
puede representar.
• Objeto Propuesta
Nombre de
cliente.
Nombre de c lie n te
empleado.
a d q u ie re
n o m b re r e p re s e n ta n te
Descripción de
plan. e m p lea d o g e n e ra
Número de
n o m b re
año.
s o lic it a
Monto que se p r o p u e s ta
debe al inicio. p la n
d es crip cio n
t ie n e n u m e ro
e s ta d o
Interés por
año.
Monto que se c u o ta
debe al final de
n ro
m o n t o in icio d e t a lla
año.
in t er es añ o
m o n t o fin alañ o
Pago principal.
p ago p rin cip al
p ago fin alañ o
Pago total al
final de año.
Representante.
Pla
Código n
Descripción de plan Codigo
Tipo de moneda Descripcion
Tasa de interés tipomoned
tasainteres
a
• Objeto Recibo
Número de
recibo. cliente pertenece cuenta
Nombre de nombrecliente numero
direccion nrotarjeta
cliente.
Dirección de
cliente. reside
Distrito de pertenece
cliente.
Número de
cuenta. distrito credito
Número de nombredistrito numerocredito
tarjeta.
Fecha de
emisión.
Fecha de pertenece
cancelación. tiene
Número de
crédito. recibo
Número de numero
fechaemision
cuota. cuota
fechacance
Monto a numero
pagar. detalla
monto
Tipo de tipomoneda
moneda.
Número de
cliente
solicitud. solicitudcredito
nombrecliente tiene
Nombre de dni
numerosolic
motivo
cliente. direccion
DNI
Dirección
Motivo pertenece
Número de
cuenta.
cuenta
nrocuenta
Acta de crédito
cuenta
cliente posee
nrocuenta
nrotarjeta
natural juridica
nombre razonsocial
dni representante
dnirepresentante
cargorepresentante
credito
plan se asigna nrocredito
descripcion fechatrans
fecha1racuota
pertenece
aval tiene
nroaval
nombre cuota
direccion nrocuota
tipodocaval montoinicio
numerodocaval interesaño
ingresosaval montofinalaño
centrotrabajo pagoprincipal
telefonoaval pagofinalaño
• Solicitud de refinanciamiento
Número de
solicitud. refinanciamient
cliente
Nombre de nrosolicitud
nombre
cliente / motivo
domicilio
representante nrocuotatra
dni
Domicilio. fecharef
DNI.
Motivo.
Número de
cuotas de
financiamiento
de crédito cuotatroccon
Fecha de nrocredito
solicitud fechapago
monto
Luego de haber encontrado las clases para cada objeto deberá hacer un resumen de
clases agrupando los atributos de la siguiente manera.
Diagrama de clases
Análisis del comportamiento de las clases
Estando las clases identificadas debe dibujar los estados para cada una de ellas,
estudiando su comportamiento.
inicio
habilitado
inscrito
deposita
entry/ registrarcuenta
do/ atenderespecificacion
exit/ validaroperacion
adquiere
problemas con infortuito
justicia
restringido fallecido
fin
inicio
emite
concredito
habilitado asigna credito
entry/ registrarcredito
entry/ registraoperacion do/ evaluar
exit/ condicionaestadodesalida
sin realizar
operaciones x 2
años y saldo < de no pago cuota
mantenimiento
cancelado
morosa
entry/ cobrarmantenimiento realiza pago
entry/ restringircredito
do/ tratarrefinanciamiento
exit/ registraroperacion
adeuda
mas de 3
realiza pagos cuotas
notificada
entry/ informaainfocor
do/ negarcreditos
exit/ registraroperacion
Diagrama de estados de la clase aval
inicio
cumplio tiempo de
vacaciones
trabajando servicio anual
entry/ asignartareasraeemplazante
exit/ leerinformeaccioneslaborales
tiempo de vacaciones
incidente
percanse de
salud cumplio descanso
despedido descansomedico
inicio
estado
financiero
admitido infocor ok aceptado
informe financiero
incumplimiento de camara de comercio
requisitos
informe negativos
de entidades
financieras
rechazado
Mis Notas:
Caso Práctico
Diseño
Clase cliente
Estados para atributos Operaciones
1.- Inscrito • Registrar estado
2.- Habilitado ("CodigoEstado",
3.- Restringido "OperacionAasignar",
motivo) operación que
Nombre de atributo: le permitirá ingresar el
"SituacionCliente" estado del cliente,
luego la operación
Atributo adicional: (quitar, poner), y por
“motivosituacion”, Guardara ultimo ingresara la
en motivo del estado del razón de la asignación.
cliente. • Asignar beneficios
(estado, documento)
Estados para clase servirá para registrar
Fallecido, se tendrá que la situación de la
manejar una clase asignación de los
independiente por la razón beneficios al cliente
que sus operaciones, no fallecido.
pueden estar enlazados a la
clase cliente, implica tener un
atributo “sw” que indique si
sus beneficios se cancelaron
y con que documento, para
ello se crearan los atributos:
"EstadoBeneficios"
"DocumentoBeneficios"
El presente cuadro que usted observa, al cual le recomiendo que lo lea mirando el
diagrama de estados de la clase cliente, le va a permitir tener una visión de como le
conviene implementar los estados en las clases y ponerlos en una balanza para
determinar si serán: valores de un atributo o se convertirán en clases derivadas, en
nuestro caso, los estados de inscrito, habilitado y restringido se implementaran como
valores del atributo situación de cliente, pero como no solo esta la representación del
estado sino se necesita saber el motivo de tal situación, es por ello que se ha
implementado el atributo motivo de estado para registrar dicho evento; por el otro
lado tenemos el estado fallecido que será implementado como clase derivada ya que
manejara operaciones distintas a la clase cliente.
Clase cuenta
Estados para Operaciones
atributo • "AsignarEstado"("CodigoEstado",
1.- Habilitada "OperacionAsignar") permitirá
2.- Con crédito asignar o quitar los valores para
3.- Morosa los atributos.
4.- Notificada • "CancelarCuenta" leer la ultima
5.- Cancelada transacción y calcular tiempo, si
es mayor a 1 año o más y si el
Nombre de atributo: saldo < = monto de
"EstadoCuenta" mantenimiento.
Atributo adicional:
"MotivoSituacion",
almacena el motivo
de cambio de estado.
Clase propuesta
Estados para atributo Operaciones
1.- Emitida Asignarestado
2.- Aceptada (codigoestado)
Nombre de atributo:
Estadopropuesta
Clase empleado
Estados para atributo Operaciones
1.- Trabajando • Calcular tiempo de
2.- Vacaciones servicio anual.
3.- Descanso médico • Calculo de tiempo
regreso de
Nombre de atributo: vacaciones.
"EstadoEmpleado" • Inicio de descanso
médico.
Atributo adicional:
"MotivoEstado", almacena el
motivo al entrar al estado.
"CalculoMontosCuotas"
("NumeroPlan", monto, moneda,
periodos, "TipoPeriodos" [mes l año]).
Hace que se generen las cuotas del
crédito solicitado donde tendrá los
parámetros de:
número de plan: [1 l 2 l 3]
monto: monto a financiar
moneda: [dólares l soles ]
periodos: cantidad de periodos
tipo de periodos: [mes l año]
"GuardaDatos”
Registra los valores de los atributos
en la estructura asociada a la clase.
"ImprimirSolicitud"
Envía a la impresora el documento de
solicitud de crédito.
"GenerarNumeroDeCredito"
"RegistrarCredito"
Almacena valores para un
determinado crédito.
Diagrama de casos de uso “Cobranzas y Refinanciamiento”
"ConsultaRecibo" (número)
Mostrara el estado del recibo y su
detalle.
"CancelaCuota" ("Ncredito",
cuota, periodo)
Registra a la cuota como
cancelada.
"ImprimirVoucher"
(numeropagovoucher)
Calculo mora "MontoMora" = "CalculoMora"
("NCredito",
"FechaVencimiento",
"FechaPago")
Función que permitirá el calculo de
la mora con solo ingresar la fecha
de vencimiento y la fecha de pago.
Refinanciamiento Refinanciamiento("NCredito",
"NroFinanciamiento")
Operación que refinancia un
determinado periodo.
Tasa=
"CalculoTasaRefinanciamiento"
("NroRefinanciamiento")
Función que obtiene la tasa de
interés por el fraccionamiento del
periodo a tratar.
Operaciones de mantenimiento para cada uno de los casos de uso
Para cada clase vamos a considerar las siguientes operaciones o métodos básicos.
Clase Cliente
Cliente
numero
direccion
situacion
motivosituacion
generanumero()
Consulta(CadenaBus, Item)
IngresaModifica(operacion)
Elimina(codigo)
registrarEstado(CodigoEstado, operacion, Asignar, motivo)
Clase Natural Clase Jurídico
natural juridico
razonSocial
nombre representante
dni dnire prese nta nte
cargorepresentante
Clase Fallecido
Fallecido
numero
direccion
dni
AsignarBeneficios(Estado, Documento)
generanumero()
Consulta(CodigoBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Clase Distrito
distrito
codigo
nombredistrito
Consulta(CodigoBus, Item)
IngresoMod(operacion)
Elimina(codigo)
Clase Propuesta
Propuesta
numero
estado
estadoPropuesta
generanumeroSolicitudCredito()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(Codigo)
AsignarEstado(codigoEstado)
ImprimirSolicitud(numeroSolicitud)
CalculoMontosCuotas(numeroplan, monto, moneda, Periodos, tipoPeriodos [mes | año])
Clase Plan
Plan
codigo
descripcion
tipomoneda
tasaInteres
generacodigo()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Obtenertasa(nplan, tipoMoneda)
Imprimir()
Clase Cuenta
Cuenta
nrocuenta
nrotarjeta
EstadoCuenta
motivoSituacion
generanumero()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
AsignarEstado(CodigoEstado, OperacionAsignar)
CancelarCuenta()
Clase Crédito
Credito
nrocredito
fechatrans
fecha1racuota
generanumerodecredito()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
imprimeActadecredito()
Clase SolicitudCredito
SolicitudCredito
nroSolCredito
motivo
generanumero()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Imprimir()
Clase Scaneados
Scaneados
Codigo
NroSolicitud
DireccionArchivo
IngresoModifica(operacion)
VisualizaDocumento(codigo)
Elimina(codigo)
Clase Aval
Aval
nroAval
nombre
direccion
tipodoc
numdoc
IngresoAval
Centrotrabajo
telefono
EstadoEvaluacion
motivoEstadoEvaluacion
VerificarSituacionAval(tipoEntidad, ValorDoc)
generanumero()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Imprimir()
Clase Recibo
recibo
numero
fechaEmision
fechaCancelacion
generanumero()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Imprimir()
ConsultaRecibo(numero)
Clase Refinanciamiento
Refinanciamiento
nroRefinanciamiento
motivo
nrocuotafrac
fechaRefin
generanumeroRefinanciamiento()
Cconsulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
ImprimeRefinanciamiento(codigo)
Refinanciar(NCredito, NroPeriodo, NroFraccionamiento)
Clase CuotaRefinanciada
CuotaRefinanciada
nroCredito
fechaPago
monto
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Imprimir()
Clase Cuota
Cuota
nroCuota
monto
tipomoneda
montoinicio
interesAño
montoFinAño
PagoPrincipal
PagofinAño
ConsultaPago(nroCredito)
CancelarCuota(Credito, CuotaPeriodo)
Clase Cuotapropuesta
Cuotapropuesta
nro
montoinicio
interesaño
montofinal
PagoPrincipal
PagofinAño
generanumero()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Imprimir()
Clase Empleado
Empleado
codigo
nombre
estado
motivoEstado
fechaUltimaVacaciones
generacodigo()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
CalculotiempodeServicioanual()
CalculotiempodeRegresodeVacaciones()
DarDescansoMedico()
Imprimir()
Clase Despedido
Despedido
codigo
nombre
motivoDespido
fechadespido
generacodigo()
Consulta(CadenaBus, Item)
IngresoModifica(operacion)
Elimina(codigo)
Imprimir()
Contratos de las Clases
Si usted diseña correctamente los contratos, creo que va ha establecer una relación
directa entre el análisis, diseño e implementación de los sistemas a construir. Los
contratos son documentos que están asociados a cada una de las operaciones de las
clases, para describir las responsabilidades que tendrán las clases dentro de los
contratos se tiene las referencias cruzadas, donde se hace se crea un vinculo de
acceso, para que los desarrolladores accedan a los artefactos o elementos construidos
en UML, para que de esta manera se puede cristalizar lo pensado por el analista.
Con respecto al sistema que construye, entre otros de los elementos se tiene: Notas,
excepciones, precondiciones y poscondiciones.
refinanciamiento
nroSolicitud
motivo
nroCuotaFrac
fechaRefinanciamiento
generaNumeroRefinanciamiento()
Consulta(CadenaBus, item)()
IngresoModifica(operacion)()
Elimina(codigo)()
refinanciar(NCredito, NroPeriodo, NroFraccionamiento)()
CalculotasaRefinanciamiento(nroFraccionamiento)()
Contrato "GeneraNumeroRefinanciamiento"
Contrato
Nombre : generaNumeroRefinanciamiento
Responsabilidad : Hallar el ultimo número de
elementos e incrementar en
uno.
Tipo : Sistema.
Referencias cruzadas: Se coloca el nombre de
artefactos que deba construir
el desarrollador.
Notas :
Excepciones :
Salida : Obtener el numero de cuenta
de la siguiente manera
0000 0000 0001.
Precondiciones : Concluya la autogeneración.
Poscondiciones : Deberá incrementar en la
tabla controladora de
registros.
Contrato Consulta
Contrato
Contrato
Nombre : IngresoModifica(operación)
Responsabilidad : Registrar o modificar los
elementos de la clase.
Tipo : Sistema.
Referencias cruzadas:
Notas :
Excepciones :
Salida : Datos insertados o actualizados
Precondiciones : El parámetro operación podrá
tener los siguientes valores:
1= ingreso, 2 = modificación.
Poscondiciones :
Contrato Elimina
Contrato
Contrato "ImprimeRefinanciamiento"
Contrato
Nombre : ImprimeRefinanciamiento
(código)
Responsabilidad : Imprimir el documento de
refinanciamiento.
Tipo : Sistema.
Referencias cruzadas:
Notas :
Excepciones :
Salida : Imprimir documento de
refinanciamiento.
Precondiciones : Tiene que ingresar código de
refinanciamiento y consultas.
Poscondiciones :
Contrato Refinanciar
Contrato
Nombre : Refinanciar("NroCredito",
"NroPeriodo",
"NroFraccionamiento")
Responsabilidad : Registrar el proceso de
refinanciar una cuota de crédito
Tipo : Sistema.
Referencias cruzadas:
Notas : Los parámetros son
"NroCredito" (número de
crédito), "Nroperiodo" (número
de periodo), y el
"NroFraccionamiento" (número
de cuotas a refinanciar).
Excepciones :
Salida :
Precondiciones : Los parámetros deberán tener
valores.
Poscondiciones :
El proceso de construir la Base de Datos Relacional es una extensión del UML, por
lo tanto se toma como referencia el Diagrama de Clases, una vez que usted haya
asignado las responsabilidades, es probable que haya aparecido algunas clases
adicionales que no las tenia en el camino inicial, por consiguiente aquí usted tiene que
aplicar todos los conocimientos de Base de Datos Relaciones con respecto a la
definición de llaves(primarios, foráneos, alternos), dominios, campos, procedimientos
almacenados y disparadores o trigger, vistas entre otros para completar el modelado
de los datos.
• Comprende lo que el usuario tiene que hacer, lea los Casos de Uso para
ordenar las opciones a estructurar.
• Establezca que el usuario se sienta que posee el control de la interacción,
siempre considere la posibilidad de que el usuario cancele una acción luego que
haya iniciado.
• Asigne al usuario diversas alternativas de hacer cada acción relacionado con la
interfaz, disculpe con elegancia los errores del usuario, poner mensajes
discretos.
• Dada nuestras influencias culturales, nuestros ojos se dirigen al esquema
superior izquierda de las pantallas coloque la información de mayor prioridad
allí.
• Use colores discretos y no demasiados, evite las fuentes cursivas y
ornamentales.
• Intente definir actores, etiquetas y cajas bajo términos simétricos.
• Alinee los componentes y campos a la izquierda.
Leyendo los casos de uso del modelo innovado hemos sacado las siguientes
operaciones o acciones que realizan en créditos y son:
Generar propuesta
Calculo de interés
Generar solicitud de crédito
Registrar crédito
Entregar crédito
Verificar aval
Cobranza / Refinanciamiento
Pago cuota
Calculo mora
Refinanciar
Crear reportes
Generar proyecciones de pago de crédito
Generar recibos
Generar cuadro morosos
Propuesta
Solicitud Crédito
Pago Cuota
Refinanciamiento
Interfaz “Generar Propuesta”
Diagrama de Secuencia para interfaz Propuesta
El usuario lo primero que va ha realizar es abrir la ventana, luego envía los datos de
búsqueda(puede ser código / criterio como nombre u otro), y esos criterios van al
formulario(form) del cliente este ultimo devolverá los datos de crédito.
Aquí se escogerá el plan para ser consultado a la tabla plan y obtener la tasa de
interés, luego se genera las cuotas a pagar, para después grabar los datos a la tabla
propuesta y por ultimo enviar la propuesta a la impresora.
De esta forma se irán diseñando las interfaces para ver la forma como se va ha
interactuar.
Mis Notas:
Prácticas UML
Prácticas para Casos de uso
Prácticas para diagramas de clase
Prácticas para diagrama de objetos
Prácticas para diagramas de secuencia y colaboraciones
Prácticas para diagramas de estado y actividades
Prácticas para diagramas de componentes y despliegue.
Caso practico a Desarrollar.
C
Prácticas Para Casos De Uso
Ejercicio 1
Ejercicio 2
Ejercicio 3
Requerimiento: Enlazar de la mejor manera los actores y casos de uso que se listan
a continuación.
Actor Descripción
Empleado Persona del banco que
atiende al cliente para
registrar su cuenta.
Cliente Persona que se acerca a
adquirir una cuenta en el
banco y podrá ser:
persona natural o
persona jurídica.
Caso de Uso
Recepción de Cliente
Descripción de Caso de uso
Caso de Uso..: Recepción a Cliente
Objetivo.......: Atención al cliente interesado en
registrarse como usuario del banco.
Actores........: E(empleado), C(cliente)
Pasos
1.E. Atiende al cliente
2.C. Pregunta sobre las ventajas que ofrece el banco
3.E. Explica las ventajas que brinda el banco en
líneas generales
4.E. Entrega la publicidad del banco.
Extensiones
3.1 E <<include>> informa tasas y beneficios.
Variaciones
Requisitos Especiales.
Caso de uso
Recolección de Documentos
Registro de Cuenta
Descripción de Caso de uso
Caso de Uso: Registro de Cuenta
Objetivo.......: Registrar la cuenta en la
documentación del banco.
Actores........: E(empleado), C(cliente)
Pasos
1.E. Registrar Cuenta
2.C. Firmar registro. y pone huella.
3.E. Registro de tarjeta.
4.E. Registro de Chequera
Extensiones
3.E. <<include>> Registro de tarjeta
4.E <<extend>> Registro de Chequera
Variaciones
Requisitos Especiales.
Caso de uso
Registro de tarjeta.
Descripción de Caso de uso
Caso de Uso..: Registro de tarjeta.
Objetivo.......: Registrar tarjeta.
Actores........: E(empleado), C(cliente)
Pasos
1.E. Firmar salida de tarjeta.
2. E. Registrar clave que identifica a la tarjeta, para
que se enlace con la cuenta.
3.C. Obtiene clave secreta en sobre cerrado.(cliente
después puede cambiar la clave.
Extensiones
Variaciones
Requisitos Especiales.
Caso de uso
Registro de Chequera.
Ejercicio 5
Ejercicio 6
Requerimiento: Crear el diagrama de clases teniendo como referencia las tareas de:
• Identificar los conjuntos de objetos y atributos.
• Defina las asociaciones.
• Dibujo del diagrama de clases.
Consideraciones:
• Dentro de la historia clínica se detallan las distintas enfermedades que puedan
tener los pacientes.
• Cada doctor estudio en una de las universidades definidas.
• En una operación participan más de un doctor.
• Cada paciente tiene su correspondiente historia clínica.
• Cada paciente tiene asociado un solo familiar, pero un familiar puede
asociarse a mas de un paciente.
Ejercicio 9
Requerimiento: Crear el diagrama de clases teniendo como referencia las tareas de:
• Identificar los conjuntos de objetos y atributos.
• Defina las asociaciones.
• Dibujo del diagrama de clases.
Consideraciones:
• Un documento de venta puede incluir de uno a varios bebidas o platos.
• Las bebidas se pueden vender en botella, jarra o vaso.
Ejercicio 10
Ejercicio 11
Ejercicio 12
LEID MARKETING PC 1 HP
LOGISTICA ADMINISTRADOR
Clasificación de objetos.
IMPRESORA HP
IMPRESORA EPSON
Impresora
Clase Objetos que agrupa
CONTABILIDAD
SISTEMAS
LOGISTICA
Unidad Orgánica
Clase Objetos que agrupa
ADMINISTRADOR
SUPERVISOR
ASISTENTE
SUPERVISOR
Cargo PROGRAMADOR
ANALISTA DE SISTEMAS
BOLETA DE PAGO
$1200
BOLETA DE PAGO
$5000
Boleta de Pago
ESCRITORIO / E001
ESCRITORIO / E002
Escritorio
Diagrama de Clases
Diagrama de Objetos
Ejercicio 14
Descripción De Caso
¿?
¿?
Cree el diagrama de clases básico en función a las clasificaciones obtenidas.
CAMPEONATO A CAMPEONATO B
Consideraciones:
• Cada campeonato tiene partidos.
• Cada partido se juega en un estadio.
• Para cada partido interviene 2 equipos y los mismos que tienen jugadores.
• En cada partido intervienen 4 árbitros.
• Graficar.
Requerimiento: Identificar las instancias u objetos enunciados, así como también los
mensajes que interactúan y luego dibujar el diagrama de secuencia.
Descripción: El diagrama de interacción a crear permitirá graficar los mensajes que
se envían para la emisión de una proforma.
EL proceso se inicia cuando el cliente entrega el pedido al vendedor, este último
consultará los datos al catalogo de Productos. A continuación el vendedor lee los
datos para luego crear la proforma, el mismo vendedor calcula los descuentos e
impuestos, por último el vendedor entrega la proforma.
Identificar las instancias del diagrama.
Ejercicio 17
Ejercicio 18
Descripción: El cliente Entrega Pedido al vendedor, este ultimo consulta Código del
producto y cantidad al encargado del almacén, este a su vez entrega Código del
producto con el precio del libro. El Vendedor registra código de producto, descripción,
precio unitario y Cantidad, el vendedor recepciona monto de Pedido, para luego
entregar al cliente.
Ejercicio 19
Ejercicio 20
Descripción: El operador envía criterio de búsqueda al buscador, este ultimo, una vez
que recepciona el criterio filtra las paginas que cumplen con el criterio, después las
direcciones son mostradas para que el operador pueda leer el contenido, después
extrae los datos de la pagina y los graba siempre cuando sean necesarios.
Prácticas Para Diagramas De Estado Y Actividades
Ejercicio 21
Clase: Alumno.
Ejercicio 22
Clase: Carro.
Ejercicio 23
Clase: Factura.
Ejercicio 24
Clase: Cliente.
Ejercicio 25
Ejercicio 26
Ejercicio 27
Ejercicio 28
Ejercicio 30
Descripción: La escuela tendrá que distribuir los componentes del sistema en las
siguientes áreas de su organización.
Mis Notas: