domingo, 6 de mayo de 2012

INTRODUCCIÓN A LOS CASOS DE USO


Es una colección de situaciones respecto al uso de un sistema. Teniendo en cuenta que cada escenario describe una secuencia de eventos, y cada secuencia se inicia por una persona, otro sistema, una parte del hardware o por el paso del tiempo.

El caso de uso es una excelente herramienta para estimular a que los usuarios potenciales hablen, de un sistema, desde sus propios puntos de vista. La idea es involucrar a los usuarios en las etapas iniciales del análisis y diseño del sistema sólo para que el sistema sea más útil.

Casos de uso adicionales

El objetivo es derivar una colección de casos de uso que mostrará a las personas que diseñen las máquinas y que las construyen. Los casos de usos reflejan lo que los clientes, recolectores y proveedores desean.

Inclusión de los casos de uso

Es lo mismo que decir usar un caso de uso, el objetivo es que se vuelva repetitivo.

Exclusión de los casos de uso

Es posible volver a utilizar un caso de uso de una forma distinta a una inclusión. En ocasiones se crea un caso de uso  agregándole algunos pasos a un caso de uso existente.

Inicio del análisis de un caso de uso

Empieza con entrevistas a los clientes que lo llevan a los diagramas iniciales, luego se entrevistan los usuarios, después se describe brevemente cada caso de uso,  y se pone de manifiesto la lista de todos los actores involucrados.





AGREGACIÓN, COMPOSICIÓN, INTERFACES Y REALIZACIÓN


Agregación

También conocida como acumulación, se da cuando una clase cuenta con otras clases. Una asociación por agregación se representa por una línea entre el componente y el todo con un rombo sin relleno que conforma el todo. Ejemplo:

Composición

Cada componente dentro de una composición puede pertenecer tan sólo a un todo. Un rombo relleno representa esta relación. Ejemplo:

Las composiciones figuran en gran medida en los diagramas de contexto, un mapa de contexto es como un gran mapa que contiene otros mapas con grandes dimensiones., éste muestra los componentes de una clase en un diagrama anidado en un rectángulo. Ejemplo:

Interfaces y realizaciones

Una interfaz es un conjunto de operaciones que especifica cierto aspecto de la funcionalidad de una clase, y es un conjunto de operaciones que una clase presenta a otras. Y la relación entre una clase y una interfaz se conoce como realización.
La realización se indica con una línea discontinua y con una flecha al final sin rellenar o también puede representarse con un pequeño circulo que conecte con una línea a una clase.

Ejemplos:

Visibilidad

La visibilidad se aplica a atributos u operaciones, y establece la proporción en que otras clases podrán utilizar los atributos y operaciones de una clase dada. Existen tres niveles de visibilidad: nivel público (la funcionalidad se extiende a otras clases), nivel protegido (la funcionalidad se da sólo a las clases que se heredan de la clase original) y el nivel privado (sólo la clase puede utilizar el atributo u operación). Ejemplo:

Ámbito

El ámbito es otro aspecto de los atributos y operaciones. Hay dos clases de ámbitos: el ámbito de instancia que consiste en cada objeto de una clase cuenta con su atributo u operación y el ámbito de archivador que dice que sólo hay un valor para un atributo o una operación en particular a través de un conjunto de objetos de una clase.





USO DE RELACIONES


Asociaciones:


Las clases se conectan entre sí de forma conceptual.

 Ejemplo:

La asociación puede ser inversa o incluso conectar a más de una clase. Ejemplo:

Ejemplo de asociaciones con otras clases:

Restricciones en las asociaciones

Es la normatividad que se debe seguir dentro de una asociación. Ejemplo:



Vínculos

Un vínculo es la instancia de una asociación, conecta a los objetos en lugar de las clases, debe ser subrayado para reconocerse. Ejemplo:

Multiplicidad

Señala la cantidad de objetos de una clase que pueden relacionarse con un objeto de la clase asociada. Ejemplo:


Asociaciones calificadas

Un calificador en una asociación resuelve el problema de la búsqueda. En el UML la información de identidad se conoce como calificador, su símbolo es un pequeño rectángulo adjunto a la clase que hará la búsqueda. Ejemplo:

Asociaciones reflexivas

Es la que se encarga de trazar la línea de la clase hacia sí misma. Ejemplo:



Herencia y generalización

La programación orientada a objetos tiene una estrecha relación con la vida cotidiana por eso es fácil trasladarla a varias categorías. Transfiriendo esto a otro término encontramos a la herencia, el UML lo llama o conoce también como generalización.
En la generalización, una clase secundaria es sustituible por una clase principal.

Ejemplo de jerarquía en la herencia:

Clases abstractas

Se denominan a aquellas que no proveen objetos. Ejemplos en clases como jugador y reloj.  Una clase abstracta se distingue por tener sus letras  cursivas. Ver la ilustración:

Dependencia

Se da cuando una clase utiliza a otra. Su representación es una flecha que está conectada a una línea discontinua. Ejemplo:









USO DE LA ORIENTACIÓN A OBJETOS


Clase

En UML es representada por un rectángulo, generalmente su nombre comienza en mayúscula y su posición se encuentra en la parte superior, en caso de que conste de dos palabras deben ir juntas. Ejemplo:


Se evitan los nombres acentuados o con la letra ñ.
Un paquete es la manera en el que UML organiza los diagramas de elementos por eso se representa como una carpeta tabular cuyo nombre es una cadena de texto. Los dos puntos se usan para separar el nombre del paquete que se encuentra a la izquierda  del nombre de la clase que está a la derecha. Ejemplo:


Al anterior ejemplo se le conoce como nombre de ruta.

Atributos

Es una propiedad o una característica de una clase y describe un rango de valores que la propiedad podrá contener en los objetos, es decir, instancias de clase. El UML da la opción de indicar información adicional de los atributos, entre los tipos de valores se encuentran: cadena (string,), número de punto flotante (float),entero(integer) y booleano(boolean). Ejemplos de atributos dentro de la clase:







Operaciones     
   
Es la ejecución dentro de una clase, van dentro de paréntesis y ahí se especifica el parámetro que funcionara con el dato. La lista de operaciones se inicia debajo de una línea que separa a las operaciones de los atributos. Ver la ilustración:






Atributos, operaciones y concepción

Es necesario a veces dejar los atributos y las operaciones en un campo vacío para no saturar el diagrama con tantos elementos, o en caso de querer mostrar algunos atributos u operaciones deberán indicarse con tres puntos, así se entenderá que no se encuentran en todo el conjunto. Ejemplos:




Si tiene una larga lista de atributos u operaciones se puede utilizar un estereotipo para organizarla de forma que se comprenda mejor, un estereotipo en UML es el modo que se puede extender un objeto, es decir, crear nuevos elementos que son específicos de un problema que se intenta resolver. En sí es una estructura flexible, un ejemplo puede ser el nombre de una clase que se usa para indicar una característica de la misma.



Responsabilidades y restricciones

La responsabilidad es una descripción de lo que hará una clase y la restricción es un texto libre bordeado por llaves.
La responsabilidad va en la parte inferior:


Ejemplo de restricción:


Notas adjuntas

Sirve para agregar información a una clase mediante una figura de notas adjuntas. Una nota puede contener tanto imagen como texto.

En síntesis las clases son el vocabulario o la terminología de un área del conocimiento, conforme a su análisis y diseño de sistemas se podrá entender y modelar los términos de clases en UML.
Ejemplo de diagrama:


















sábado, 28 de abril de 2012

ORIENTACIÓN A OBJETOS


La orientación a objetos es un paradigma que es importante para el diseño de software .El UML influye al permitirle  generar modelos fáciles de usar para que los desarrolladores puedan convertirlos.
Hay objetos virtuales y concretos, y por lo general los programas imitan los objetos existentes al alrededor de los seres humanos, Un objeto es una instancia de clase o categoría, también cuanta con unos atributos (propiedades) y acciones(son todas las actividades que los objetos pueden realizar). Los atributos y acciones en conjunto se conocen como  características o rasgos.
En la orientación a objetos una clase tiene una segunda función a parte de la categorización y es servir de plantilla para fabricar objetos. El propósito de este mecanismo es desarrollar software que refleje particularmente un esquema del mundo, entre más atributos y acciones tome de la realidad mayor eficacia tendrá la simulación del objeto. Ejemplo:


Conceptos claves en la orientación a objetos:

Abstracción: Su función es quitar las acciones y propiedades de un objeto para dejar solamente las necesarias.

Herencia: El objeto tiene todas las características de la clase a la que proviene. Ejemplo:

Los electrodomésticos heredan los atributos y las acciones de la clase Electrodoméstico vista en la parte superior, cada electrodoméstico es una subclase y Electrodoméstico es la superclase de cada subclase.

Polimorfismo: Una operación tiene el mismo nombre en diferentes clases.


Por ejemplo, la operación abrir se aplica en distintas circunstancias con cada objeto.

Encapsulamiento: Cuando un objeto trae su funcionalidad está misma se oculta. Permite reducir el potencial de errores que pueden ocurrir, una ilustración la puede dar el proceso interno de un televisor que nadie ve.

Envío de mensajes

Un objeto envía a otro objeto un mensaje para realizar la operación y el receptor la ejecuta.

Asociaciones

Relaciones de objetos entre sí. Ejemplo:



Una clase puede asociarse con una clase distinta (multiplicidad):


Agregación: Parte de un sistema que complementa. Refleja casos extremadamente comunes y ayuda a crear modelos. Ejemplo:



La  recompensa

Los objetos y sus asociaciones conforman la columna vertebral de la funcionalidad de los sistemas. Lo importante es utilizar la orientación a objetos para el área de comprensión del cliente.


conceptos básicos de uml

La tecnología es en primera instancia una visión para mejorar las cosas. El enlace importante para que se cumpla está entre quién tiene la idea y el desarrollador de la misma.
El UML(Lenguaje Unificado de Modelado) es una herramienta que ayuda a capturar la idea de un sistema para comunicarla a quién este implicado en el proceso de desarrollo esto se hace mediante un conjunto de símbolos y diagramas. Lo que permite este lenguaje es generar diseños  para la comprensión fácil para que otros trabajen en el sistema. Es necesario entender por sistema como la combinación de hardware y software para solucionar algún tipo de negocio.
¿Por qué es necesario el lenguaje UML?
Al principio de la computación no realizaban análisis profundos, no manejan un esquema predeterminado sólo se hacia énfasis en el código requerido. El éxito de un sistema actual debe ser complejo por eso es menester de entender la gráfica.
Un diseño sólido implica un progreso notable en el desarrollo de la propuesta, por ello el UML es ante todo una notación.
                                                             La concepción del UML


Los creadores son Grady Booch, James Rumbaugh e Ivar  Jacobson. Cada uno empezó creando su propia metodología para el diseño orientado a objetos.

Diagramas orientados a objetos
El UML tiene distintos elementos gráficos que se combinan, asimismo cuenta con reglas para trabajar sobre él, la finalidad del programa es mostrar las distintas perspectivas del modelo del sistema.

Diagramas de clases
Una clase es una categoría que tiene atributos y acciones similares.

 Ejemplo:





Los diagramas de clases hacen más fácil las representaciones con la que los desarrolladores trabajan, sirve para el análisis y la comprensión de los clientes de los problemas a solucionar.

Diagrama de objetos


Un objeto es una instancia de clase, tiene valores específicos de atributos y acciones. Ejemplo:





Diagrama de casos de uso


Descripción de las acciones de un sistema desde el punto de vista del usuario. Ejemplo:




Diagrama de estado
Un objeto se encuentra en un estado particular. Bien sea en tiempo, dirección o acción. Ejemplo:





Diagrama de secuencias


El diagrama de secuencias muestra la mecánica de interacción con base en tiempos. Ejemplo:



Diagrama de actividades

El comportamiento que ocurre dentro de un objeto. Ejemplo:






Diagramas de colaboraciones

Los distintos diagramas trabajan para satisfacer propósitos y un lenguaje modelado deberá con formas de representación. Observen el siguiente diagrama de colaboraciones:




Diagrama de componentes

Tienen estrecha relación con los sistemas informáticos. Miren un ejemplo del diagrama de componentes:


Diagrama de distribución

Muestra la arquitectura física de un sistema informático. Ejemplo:


Otras características

El UML proporciona características que permite organizar y extender los diagramas. Ejemplo:

Notas

En caso de confusión el UML muestra diagramas de explicación. Ejemplo: 


Estereotipos

El UML otorga elementos de utilidad, permiten tomar elementos propios y convertirlos en otros. En síntesis permite crear nuevos elementos a partir de otros existentes. Ejemplo: