martes, 15 de marzo de 2011

Actividad 18 Casos de usos


ACTIVIDAD

1.   Ampliar la información sobre casos de usos por medio de la comprensión del documento adjunto. En esta actividad deberán contestar las siguientes preguntas:

¿QUE ES UN ACTOR?  "especifica un rol jugado por un usuario o cualquier otro sistema que interactúa con el sujeto."
Un actor modela un tipo de rol jugado por una entidad que interactúa con el sujeto (esto es, intercambiando signos y datos), pero que es externo a dicho sujeto.
Los actores pueden representar roles jugados por usuarios humanos, hardware externo, u otros sujetos. Un actor no necesariamente representa una entidad física específica, sino simplemente una faceta particular (es decir, un "rol") de alguna actividad que es relevante a la especificación de sus casos de uso asociados. Así, una única instancia física puede jugar el rol de muchos actores diferentes y, asimismo, un actor dado puede ser interpretado por múltiples instancias diferentes.


¿QUE ES UN ROL? Es el papel que desempeña un actor. Es importante tener en cuenta que una persona desempeña diversos roles en su vida, de acuerdo al contexto. Una mujer puede ser vendedora en una tienda, madre de su hijo, esposa de su marido, escritora aficionada y fanática de juanes.


¿CUANTOS ROLES PUEDE TENER UN USUARIO? Un usuario puede tener varios roles a la vez. Ejemplo: Juan es estudiante. Juan es operario.

¿PARA QUIEN ESTAN DIRIGIDOS LOS DIAGRAMAS DE CASOS DE USOS?  Va dirigido al cliente y al usuario final. Adaptado a organizaciones o proyectos específicos.


¿CUANTOS NIVELES DE DIAGRAMAS DE CASOS DE USO EXISTEN Y MENCIONELOS?   Un diagrama de casos de uso es un diagrama que muestra un conjunto de casos de uso, actores y sus relaciones.
Los diagramas de casos de uso comúnmente contienen:
Casos de uso
Actores
Dependencias, generalización, y relaciones de asociación.
Igual que todos los diagramas, los casos de uso pueden contener notas y restricciones.


¿QUE HACER CUANDO EL DIAGRAMA DE CASO DE USO ES MUY GRANDE Y NO CABE EN UNA SOLA HOJA?  Lo que se hace es tomar esos elementos en otro diagrama.


¿CUANDO SE TIENE UN DIAGRAMA DE CASOS DE USO MUY COMPLEJO QUE RECOMENDARIAS?
Nombrar  un comportamiento simple, identificable y razonablemente del sistema o parte del sistema.
Factorizar el comportamiento común al extraer tal comportamiento de otros casos de uso que lo incluyen.
Factorizar variantes al empujar tales comportamientos en otros casos de uso que lo extienden.
Describir el flujo de eventos lo suficientemente claro para que alguien ajeno lo comprenda fácilmente.

2- REALIZAR LA INVESTIGACIÒN DE LOS SIGUIENTES TÈRMINOS APLICADOS A LA POO Y REALIZAR UN EJEMPLO POR CADA UNO DE ELLOS:
¿Qué es una clase? En la programación orientada a objetos, una clase es una construcción que se utiliza como un modelo (o plantilla) para crear objetos de ese tipo. El modelo describe el estado y el comportamiento que todos los objetos de la clase comparten. Un objeto de una determinada clase se denomina una instancia de la clase. La clase que contiene (y se utilizó para crear) esa instancia se puede considerar como del tipo de ese objeto, por ejemplo, una instancia del objeto de la clase "Personas" sería del tipo "Personas".
Una clase por lo general representa un sustantivo, como una persona, lugar o (posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un programa de computadora. Fundamentalmente, encapsula el estado y el comportamiento del concepto que representa. Encapsula el estado a través de marcadores de datos llamados atributos (o variable miembro o variables de instancia), encapsula el comportamiento a través de secciones de código reutilizables llamados métodos.

¿Qué es un Objeto? un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa. También a un nivel más básico se define como la instancia de una clase.

¿Qué es una Instancia? En programación, una instancia se produce con la creación de un objeto perteneciente a una clase (se dice que se instancia la clase). El objeto que se crea tiene los atributos, propiedades y métodos de la clase a la que pertenece. Los objetos y sus características se usan en la construcción de programas, ya sea como contenedores de datos o como partes funcionales del programa.
¿Qué es UML? Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables. Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.


¿Cómo es la estructura de un objeto y cómo se representa en UML? Un objeto puede considerarse como una especie de cápsula dividida en tres partes:
1 - RELACIONES
2 - PROPIEDADES
3 - METODOS

Cada uno de estos componentes desempeña un papel totalmente independiente:
Las relaciones permiten que el objeto se inserte en la organización y están formadas esencialmente por punteros a otros objetos.
Las propiedades distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización.

Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia.

¿Qué es encapsulación? Encapsulación es la habilidad de una parte de un programa para ocultar sus datos al resto del código, impidiendo así accesos incorrectos o conflictos con los nombres de otras variables. Se dice que es el empaquetado de métodos y atributos dentro de un objeto, mediante una interfaz gráfica. La clave está precisamente en el envoltorio del objeto. Como se puede observar de los diagramas, las variables del objeto se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.

¿Qué es Abstracción? consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (Característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso. Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos (pertenecientes a los datos) y abstracción de control (perteneciente a las estructuras de control).
A grandes rasgos, la abstracción, permite que dispongamos de las características de un objeto que necesitemos. Si necesitamos el objeto Persona, podríamos poner nombre, edad, dirección, estado civil, etc. Si lo necesitamos en un sistema administrativo, pero, si lo requerimos para el área de biología, dentro de sus atributos quizá tengamos, ADN, RND, Gen x1, Gen x2, etc. Y los atributos antes mencionados no sean requeridos. En general, podemos decir que Persona cuenta con todos los atributos mencionados aquí, pero, por el proceso de abstracción excluimos todos aquellos, que no tiene cabida en nuestro sistema.


¿Qué es una relación? En bases de datos, una relación o vínculo entre dos o más entidades describe alguna interacción entre las mismas. Por ejemplo, una relación entre una entidad "Empleado" y una entidad "Sector" podría ser "trabaja_en", porque el empleado trabaja en un sector determinado.
Las relaciones se describen en la estructura de la base de datos empleando un modelo de datos. Las relaciones son muy empleadas en los modelos de bases de datos relacionales y afines. En SQL las relaciones son llamadas tablas.

¿Qué es Herencia? En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.

¿Qué es Modularidad? En programación modular, y más específicamente en programación orientada a objetos, se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
Estos módulos que se puedan compilar por separado, pero que tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la Modularidad de diversas formas.

¿Qué es Polimorfismo? se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.

Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la superclase Animal. La clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).
Como se mencionó anteriormente, el concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.

¿Qué es Agregación? Agregación: Descripción: http://www.dcc.uchile.cl/%7Epsalinas/uml/img/modelo/agregacion1.jpg
Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
  • Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición (el Objeto base se contruye a partir del objeto incluido, es decir, es "parte/todo").
  • Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
Un Ejemplo es el siguiente:
Descripción: http://www.dcc.uchile.cl/%7Epsalinas/uml/img/modelo/agregacion2.jpg
En donde se destaca que:
  • Un Almacén posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias).
  • Cuando se destruye el Objeto Almacén también son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados.
  • La composición (por Valor) se destaca por un rombo relleno.
  • La agregación (por Referencia) se destaca por un rombo transparente.
La flecha en este tipo de relación indica la navegabilidad del objeto referenciado. Cuando no existe este tipo de particularidad la flecha se elimina.

¿Qué es Extensión?
 Los ficheros se representan asignándoles un nombre y una extensión, separados entre sí por un punto: “Nombre. Extensión”. Dicha extensión es la que indica el formato o tipo de fichero. Por ejemplo, los documentos de Word tienen extensión.doc. Los de Excel .xls, etc.

¿Qué es sobrecarga? En programación orientada a objetos la sobrecarga se refiere a la posibilidad de tener dos o más funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o más funciones con el mismo nombre realizan acciones diferentes. El compilador usará una u otra dependiendo de los parámetros usados. A esto se llama también sobrecarga de funciones. También existe la sobrecarga de operadores que al igual que con la sobrecarga de funciones se le da más de una implementación a un operador.
Sobrecarga es la capacidad de un lenguaje de programación, que permite nombrar con el mismo identificador diferentes variables u operaciones. El mismo método dentro de una clase permite hacer cosas distintas en función de los parámetros




No hay comentarios:

Publicar un comentario