Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN AL A/DOO 23
Q U ES ANLISIS Y DISEO? 24
Q U SON EL ANLISIS Y EL DISEO ORIENTADOS A OBJETOS? 24
EJEMPLO 24
DEFINICIN DE LOS CASOS DE USO 24
DEFINICIN DE UN MODELO DEL DOMINIO 25
DEFINICIN DE LOS DIAGRAMAS DE INTERACCIN 26
DEFINICIN DE LOS DIAGRAMAS DE CLASES DE DISEO 27
UML 28
INTRODUCCIN 28
LA IDEA MS IMPORTANTE DEL UP: DESARROLLO ITERATIVO 29
BENEFICIOS DEL DESARROLLO ITERATIVO 29
LONGITUD DE UNA ITERACIN Y FIJACIN DE LA DURACIN 29
CONCEPTOS DEL UP 30
LAS FASES DEL UP 30
LAS DISCIPLINAS DEL UP 31
INICIO 31
INTRODUCCION AL ANALISIS Y DISEO ORIENTADO A
OBJETOS Y AL PROCESO UNIFICADO
TIPOS DE REQUISITOS 32
INTRODUCCIN 33
OBJETIVOS 33
CASOS DE USO 34
CASOS DE USO Y REQUISITOS FUNCIONALES 34
TIPOS DE FORMALIDAD 35
EJEMPLO DE ESTE ESTILO DE PLANTILLA: 36
LA VARIACIN DE DOS COLUMNAS 37
EXPLICACIN DE LAS SECCIONES 37
PERSONAL INVOLUCRADO Y LISTA DE INTERESES 37
PRECONDICIONES Y GARANTAS DE XITO (POSTCONDICIONES) 38
ESCENARIO PRINCIPAL DE XITO Y PASOS (O FLUJO BSICO) 38
ESCENARIO PRINCIPAL DE XITO (O FLUJO BSICO): 38
EXTENSIONES (O FLUJOS ALTERNATIVOS) 39
BIBLIOGRAFA 39
Adems usted se preguntar que tiene que ver todo lo anterior con UML, pues
bien UML (Unified Modeling Lenguaje, es un lenguaje unificado modelado de
propsito general orientado a objetos, pero es importante que entienda que UML
no es una metodologa de desarrollo de softwareen si mismo).
Los cineastas antes de empezar a filmar o rodar una pelcula realizan lo que se
llama storyboarding (representacin de la pelcula en pequeos cuadros o
diapositivas dibujados a mano).
Con lo cual con lo dicho hasta este momento la primera pregunta que se me
ocurre y que nos va a servir para entender por que aplicamos una metodologa
de modelado es la siguiente:
Qu es un modelo?
Con todo lo que ya dijimos hasta este momento creo que dicha pregunta se auto
contesta simplemente diciendo que un modelo es una simplificacin de la
realidad.
Por qu modelamos?
Por medio del modelado logramos visualizar o imaginar como queremos que
sea nuestro sistema en cuestin.
Adems los modelos nos permiten especificar como deseamos que sea la
estructura y el comportamiento de nuestro sistema.
Esta claro a esta altura que diseamos y construimos modelos para sistemas
complejos pues nos es imposible, como humanos que somos, entender el
sistema en su totalidad.
Lo que quiero decir con esto es que si el problema es encarado por alguien que
trabaja con la metodologa de Anlisis Estructurado, seguramente el modelo
que se cree esta orientado hacia el flujo de los datos de un proceso hacia otro
haciendo hincapi fuertemente en los algoritmos que sustentan dichos procesos
(de echo la metodologa de Yourdon es una metodologa de modelado orientada
a procesos y flujos de datos).
Por ejemplo con los ejemplos que dimos anteriormente tomemos el ejemplo de
desarrollo de un nuevo modelo de autos. En este caso a la gerencia de
Marketing por ah le alcanza con ver el croquis del auto para saber si el mismo
tendr una buena penetracin en el mercado segn los requerimientos actuales
sobre gusto o estilo de autos que poseen los clientes. A su vez a los ingenieros
aplicados a la aerodinmica del auto lo nico que necesitan es el Concept para
realizar las pruebas en el tnel de viento y por su parte los ingenieros
responsables del diseo del modelo en cuestin querrn todos los planos del
modelo y de cada una de las piezas que lo componen para ver si es viable y
factible la construccin del mismo.
Otra cuestin a tener en cuenta es que los mejores modelos son lo que estn
ligados fuertemente a la realidad. Como contraejemplo nadie comprara un auto
que tuviera las ruedas en el techo y apoyara su chasis directamente al piso ya
que eso no seria un auto y no satisface las funcionalidades que provee un auto.
Con todos los ejemplos dados hasta el momento queda absolutamente claro que
una buena metodologa de modelado esta compuesta por ms de un modelo,
mas bien podramos decir que esta formada por un conjunto de pequeos
modelos independientes entre si.
Que es un Objeto?
Un objeto es una unidad atmica que encapsula un estado y un comportamiento.
Con lo cual un objeto representa una entidad fsica (por ejemplo un auto) o
Identidad
Cada objeto posee un OID (identificador de objeto) el cual establece la identidad
del objeto. Adems el OID satisface ciertas caractersticas fundamentales:
Dicho OID es nico para cada objeto del sistema y el mismo posee un
alcance global dentro del sistema en cuestin. No pueden existir dos
objetos con el mismo OID. Si usted elimina un objeto y lo vuelve a crear el
OID del nuevo objeto ser diferente al OID del objeto eliminado ms all
que a simple vista dichos objetos sean idnticos.
Como acabamos de explicar queda absolutamente claro que el OID de un
objeto es generado en el momento de su creacin
El OID es independiente de la ubicacin fsica del objeto en cuestin
El OID es independiente de las propiedades del objeto, con lo cual esto
garantiza la independencia con respecto a la estructura y los valores de la
misma.
El OID persiste durante toda la vida del objeto y si el objeto se elimina el
OID del mismo no se vuelve a utilizar.
Los OID no se pueden controlar ni manipular y la administracin de los
mismos es transparente.
Estado
El estado de un objeto queda determinado por los valores que toman los
atributos de dicho objeto en un instante dado.
Cada atributo toma un valor de un dominio concreto (se llama dominio por si no
lo sabe al conjunto de valores posibles y vlidos que puede tomar un atributo.
Suponga que tenemos un objeto EMPLEADO y que posee un atributo
antigedad, el dominio de dicho atributo estar dado por los nmeros enteros
positivos comprendidos entre 0 y 65, debido que un empleado ingresado este
ao no posee antigedad, asumimos que la antigedad se toma en aos, y no
puede tener un valor mayor a 65 pues una persona a los 65 aos debe jubilarse,
con lo cual este nmero le da un margen para las personas que trabajan un par
de aos ms ya que por las leyes del menor una persona menor a 12 aos no
debera trabajar con lo cual el dominio podra ser de 0 a 53 si es que uno es
estricto con las leyes vigentes).
Comportamiento
El comportamiento modela la interaccin entre los objetos.
La interaccin entre los objetos se modela por medio de los mensajes de los
objetos.
Que es un mensaje?
A la unidad de interaccin entre los objetos se la denomina mensaje. El mensaje
es el soporte de una comunicacin que vincula dinmicamente los objetos que
fueron separados previamente en el proceso de descomposicin del sistema.
Persistencia
Existe una caracterstica ms que se puede derivar de las tres caractersticas
anteriores y que es la de persistencia de los objetos.
Clasificacin / Instanciacin
Composicin / Descomposicin
Agrupacin / Individualizacin
Especializacin / Generalizacin
Dentro de estos mtodos la clasificacin es uno de los mtodos ms utilizados.
Pues ahora bien existen diferentes maneras de interpretar que es una clase.
Las clases poseen una caracterstica fundamental que heredan los objetos y es
la caracterstica o propiedad de encapsulacin.
Encapsulacin
El encapsulamiento provee al modelo orientado a objetos de ciertas
caractersticas muy deseables como las que pasamos a describir:
Pblicos: Los atributos y/o mtodos que se definan como pblicos estarn
accesibles desde cualquier otra clase del sistema. Ahora vale en este momento
hacer una aclaracin muy importante. Si define los atributos de una clase como
pblicos esta rompiendo y transgrediendo el principio bsico de
encapsulamiento que poseen las clases. Tenga esto siempre bien presente.
Veamos como se representa una clase en UML con sus atributos y mtodos o
operaciones.
ASOCIACIN
La primera parte muestra la relacin entre el objeto UBA que es una universidad
con el objeto Ezequiel que es un Alumno. Se generaliza esta relacin entre
ambos objetos y se genera la asociacin entre las clases Universidad y
Estudiante.
AGREGACIN
GENERALIZACIN
POLIMORFISMO
Por ejemplo supongamos que tenemos una superclase cuenta bancaria la cual
posee dos subclases cuenta corriente y caja de ahorro. Podramos tener un
mtodo el cual le pedimos cual es el dinero disponible para gastar. Ahora
cuando dicho mtodo se instancia sobre cada una de las subclases en el caso
de la caja de ahorro nos dir que el monto disponible es nuestro saldo menos el
tope mnimo que posee la caja de ahorro para no ser cerrada, pero si
Dirigido por casos de uso es por que los casos de uso son un artefacto bsico
para establecer el comportamiento deseado del sistema, para verificar la
arquitectura y la comunicacin entre las personas involucradas en el proyecto.
Centrado en la arquitectura es por que la misma se utiliza como un artefacto
bsico para conceptualizar, gestionar, construir y evolucionar el sistema en
desarrollo.
Para ello existe un diagrama que visualiza las diferentes vistas arquitectnicas
4+1 (Kruchten 1995)
Introduccin al A/DOO
UML es una notacin visual estndar. UML no es A/DOO o un mtodo, es
simplemente una notacin.
El A/DOO esta fuertemente relacionado con la actividad que es un requisito
previo del anlisis de requisitos, que incluye escribir casos de uso.
El anlisis de requisitos y el A/DOO requieren que se presenten en el
contexto de algn proceso de desarrollo, para ello utilizaremos el proceso de
desarrollo iterativo conocido como Proceso Unificado.
Qu es anlisis y diseo?
El Anlisis pone nfasis en una investigacin del problema y los requisitos, en
vez de ponerlo en una solucin. (Estudio de los objetos del dominio)
El Diseo pone nfasis en una solucin conceptual que satisface los requisitos,
en vez de ponerlo en la implementacin. (Ej.: Descripcin del esquema de una
base de datos y objetos software). Finalmente, los diseos pueden ser
implementados (diseo de objetos o diseo de base de datos.)
Ejemplo
Un juego de dados en el que un jugador lanza dos dados. Si el total es siete,
gana; en otro caso, pierde.
Definicin de
Definicin del Definicin de
Definicin de diagramas de
modelo del diagramas de
casos de uso clases de
dominio interaccin
diseo
Definicin de
Definicin del Definicin de
Definicin de diagramas de
modelo del diagramas de
casos de uso clases de
dominio interaccin
diseo
Definicin de
Definicin del Definicin de
Definicin de diagramas de
modelo del diagramas de
casos de uso clases de
dominio interaccin
diseo
Diagrama de interaccin que muestra los mensajes entre los objetos software
jugar()
lanzar()
vc1 := obtenerValorCara()
lanzar()
vc2 := obtenerValorCara()
Definicin de
Definicin del Definicin de
Definicin de diagramas de
modelo del diagramas de
casos de uso clases de
dominio interaccin
diseo
JuegoDados Dado
obtenerValorCara() : int
lanzar ()
jugar()
UML
El Lenguaje Unificado de Modelado (UML) es un lenguaje para especificar,
visualizar, construir y documentar los artefactos de los sistemas software, as
como para el modelado del negocio y otros sistemas no software.
UML se ha convertido en la notacin visual estndar para el modelado orientado
a objetos; se aplica principalmente durante el A/DOO, precedido, normalmente,
por el anlisis de requisitos.
Introduccin
El desarrollo iterativo es un enfoque para el desarrollo de software. El Proceso
Unificado es un ejemplo de proceso iterativo para proyectos que utilizan el
A/DOO.
Un proceso de desarrollo de software describe un enfoque para la
construccin, desarrollo y, posiblemente, mantenimiento de software.
El Proceso Unificado de Rational o RUP es un refinamiento detallado del
Proceso Unificado.
Conceptos del UP
La idea fundamental para apreciar y utilizar el UP es el desarrollo iterativo,
fijando iteraciones cortas, y adaptable. Otra idea del UP implcita, es el uso de
las tecnologas de objetos, entre las que se encuentra el A/DOO y la
programacin orientada a objetos.
Inicio
La fase de inicio consiste en vislumbrar el alcance del producto, visin y anlisis
del negocio.
El propsito de la fase de inicio es establecer una visin comn inicial de los
objetivos del proyecto, determinar si es viable y decidir si merece la pena llevar a
cabo algunas investigaciones serias en la fase de elaboracin.
Tipos de requisitos
Funcional (Functional): caractersticas, capacidades y seguridad.
Facilidad de uso (Usability): factores humanos, ayuda, documentacin.
Fiabilidad (Reliability): frecuencia de fallos, capacidad de recuperacin de
un fallo y grado de previsin.
Rendimiento (Performance): tiempos de respuesta, productividad, precisin,
disponibilidad, uso de los recursos.
Requisitos adicionales:
Implementacin: limitacin de recursos, lenguajes y herramientas, hardware.
Interfaz: restricciones impuestas para la interaccin con sistemas externos.
Operaciones: gestin en su puesta en marcha.
Empaquetamiento
Legales: licencias, etc.
Introduccin
Los casos de uso son un mecanismo utilizado para descubrir y registrar los
requisitos (especialmente los funcionales).
El UP define el Modelo de Casos de Uso en la disciplina Requisitos.
Bsicamente, es el conjunto de todos los casos de uso; es un modelo de la
funcionalidad y entorno del sistema.
Objetivos
Los clientes y los usuarios finales tienen objetivos (tambin conocidos como
necesidades) y quieren sistemas informticos que les ayuden a conseguirlos.
Hay varias formas de capturar estos objetivos y requisitos del sistema; las
mejores son simples y familiares, porque esto hace que sea ms fcil -
especialmente para clientes y usuarios finales contribuir a su definicin o
evaluacin. Eso reduce el riesgo de perder el hilo.
Los casos de uso son un mecanismo para ayudar a mantenerlo simple y
entendible para todo el personal involucrado. De manera informal, son historias
del uso de un sistema para alcanzar los objetivos.
Casos de uso
En primer lugar, algunas definiciones informales: un actor es algo con
comportamiento, como una persona (identificada por un rol), sistema
informatizado u organizacin; por ejemplo, un cajero.
Un escenario es una secuencia especfica de acciones e interacciones entre los
actores y el sistema objeto de estudio; tambin se denomina instancia de caso
de uso. Es una historia particular del uso de un sistema; por ejemplo, el
escenario de xito de compra de artculos con pago en efectivo, o el escenario
de fallo al comprar debido al rechazo de la transaccin de pago con la tarjeta de
crdito. Informalmente entonces, un caso de uso es una coleccin de
escenarios con xito y fallo relacionados, que describe a los actores utilizando
un sistema para satisfacer un objetivo.
Una actitud clave en el trabajo con casos de uso es centrarse en la pregunta:
Cmo puedo, utilizando el sistema, proporcionar un valor observable al
usuario, o cumplir sus objetivos?
Tipos de formalidad
Los casos de uso se escriben como formatos diferentes, dependiendo de la
necesidad:
Breve: resumen conciso de un prrafo, normalmente del escenario
principal con xito.
Informal: formato de prrafo en un estilo informal. Mltiples prrafos que
comprenden varios escenarios.
Completo: el ms elaborado. Se escriben con detalle todos los pasos y
variaciones, y hay secciones de apoyo como precondiciones y garantas de
xito. (Ver www.usecases.org)
Caso de uso..:
Actor principal:
Escenario principal de xito:
Accin del actor (o intencin) Responsabilidad del Sistema
1. .
2. .
3. .
4.
5.
6.
7.
8. ..
9. ..
Bibliografa
UML y Patrones Una introduccin al anlisis y diseo orientado a objetos y al proceso
unificado , Craig Larman