Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML




Enviado por ageraldo23



Partes: 1, 2, 3

    1. Descripción
    2. Objetivos
    3. Alcance
    4. Justificación
    5. Metodología
    6. Historia del
      UML
    7. Qué es
      UML?
    8. Elementos
      Estructurales
    9. Elementos de
      comportamiento
    10. Elementos de
      agrupación
    11. Elementos de
      anotación
    12. Arquitectura
    13. Ciclo de Vida
    14. Caso
      Práctico
    15. Diagramas y Descripción
      de Casos de Uso
    16. Flujo
      Básico y Flujo alterno de los Sub Casos de
      Uso

    INTRODUCCION

    Desde los inicios de la informática se han estado
    utilizando distintas formas de representar los diseños de
    una manera más bien personal o con
    algún modelo
    gráfico, La falta de estandarización en la
    representación gráfica de un modelo impedía
    que los diseños gráficos realizados se pudieran compartir
    fácilmente entre distintos diseñadores, con este
    objetivo se
    creo el Lenguaje
    Unificado de Modelado (UML: Unified
    Modeling Language).

    UML es el lenguaje de modelado de sistemas de
    software
    más conocido en la actualidad; es el estándar
    internacional aprobado por la OMG (Object Managment Group),
    consorcio creado en 1989 responsable de la creación,
    desarrollo y
    revisión de especificaciones para la industrial del
    software.

    UML son un grupo de
    especificaciones de notación orientadas a Objeto, las
    cuales están compuesta por distintos diagramas, que
    representan las diferentes etapas del desarrollo de un proyecto
    de software. Este trabajo se
    centra en un Sistema de
    Control de Citas
    Médicas. Se han usados varios de los diagramas de UML, de
    modo que se muestre el uso de los mismos, enfocado desde una
    perspectiva práctica.

    DESCRIPCION

    El lenguaje UML comenzó a gestarse en octubre de
    1994, cuando Rumbaugh se unió a la compañía
    Rational fundada por Booch (dos reputados investigadores en el
    área de metodología del software). El objetivo de
    amb os era unificar dos métodos
    que habían desarrollado: el método
    Booch y el OMT (Object Modelling Tool). El primer borrador
    apareció en octubre de 1995. En esa misma época
    otro reputado investigador, Jacobson, se unió a Rational y
    se incluyeron ideas suyas. Estas tres personas son conocidas como
    los "tres amigos". Además, este lenguaje se abrió a
    la colaboración de otras empresas para que
    aportaran sus ideas. Todas estas colaboraciones condujeron a la
    definición de la primera versión de UML.

    1. Modelado: es el diseño
    de un software antes de su codificación, es la visualización de
    lo que se quiere construir.

    Esta primera versión se ofreció a un grupo
    de trabajo para convertirlo en 1997 en un estándar del
    OMG. Este grupo gestiona estándares relacionados con la
    tecnología
    orientada a objetos (metodologías, bases de datos
    objetuales, CORBA, etc.), propuso una serie de modificaciones y
    una nueva versión de UML (la 1.1), que fue adoptada por el
    OMG como estándar en noviembre de 1997. Desde aquella
    versión han habido varias revisiones que gestiona la OMG
    Revision Task Force. La última versión aprobada es
    la UML 2.0 superstructure. En estos momentos se está
    desarrollando actualizaciones a esta versión en la que se
    incluirán cambios importantes (principalmente
    añadir nuevos diagramas).

    OBJETIVOS
    GENERALES

    • Desarrollar el diseño y modelación de
      un Sistema de Control de Citas Médicas utilizando el
      lenguaje UML.
    • Impulsar el acercamiento hacia una nueva manera de
      entender el diseño de software basado en
      UML.

    OBJETIVOS ESPECIFICOS

    • Estudiar el lenguaje de Modelado UML.
    • Desarrollar por completo el diseño de un
      proyecto de software con el fin de comprender todo el proceso.
    • Identificar en el diseño del proyecto los
      distintos tipos de diagramas que existen como son
      los:
    • Diagramas de clases
    • Casos de usos
    • Paquetes
    • Diagramas de interacción y secuencia, y los
      diagramas de transición de estados
    • Aplicar patrones de diseño modernos para la
      construcción de una aplicación de
      software utilizando para ello la herramienta Rational
      Rose.
    • Mostrar como UML crea un protocolo de
      comunicación estándar entre los
      desarrolladores.

    ALCANCE

    El trabajo presentado a continuación es un
    estudio sobre el Lenguaje de Modelado que abarca desde la
    definición de sus conceptos hasta su aplicación en
    un ejemplo práctico, en el mismo veremos como UML nos
    permite experimentar y visualizar un sistema que aun no ha sido
    codificado.

    Este trabajo contiene la siguiente documentación:

    • Diseño de Sistema utilizando UML
      • Historia del UML
      • Que es UML
      • Bloques de Construcción UML
        • Elementos Estructurales
        • Elementos de comportamiento
        • Elementos de agrupación
        • Elementos de anotación
        • Relaciones
        • Diagramas
    • Caso Practico de un Diseño de Software
      utilizando UML (Sistema de Control de Citas
      Medicas)
      • Definición de los requerimientos del
        sistema.
      • Los diagramas de casos y subcasos de
        uso.
      • La descripción de los casos de
        uso.
      • Diagrama de Estructura Estática (de Clases).
      • Diagrama de Interacción.

    Este trabajo solamente incluye la codificación
    del modulo de paciente, con el fin de mostrar como se lleva a un
    lenguaje particular el diseño que se ha realizado en
    UML.

    JUSTIFICACION

    Standish Group, CHAOS Report nos muestra en su
    estudio del 2002 que el 26% de los proyectos de
    software son exitosos, lo que quiere decir que el 74% fallan. La
    razón básica por la que fallan los proyectos se
    determina en la etapa de análisis y diseño del
    sistema.

    Entendiendo lo anterior, podemos decir que es necesario
    y obligatorio el mejorar la calidad del
    desarrollo de software y para esto debemos adoptar procedimientos,
    metodologías y herramientas
    que permitan una estandarización en la ingeniería de
    software, esto es precisamente lo que ofrecen los lenguajes
    de modelado de software, un lenguaje común que permite el
    crear una disciplina con
    estándares como existe en la ingeniería
    civil, ingeniería eléctrica,
    etc.

    Siendo UML el estándar internacional para el
    modelado hemos decidido el desarrollar este tema para este
    proyecto, veamos algunos de los beneficios que ofrece
    UML:

    • Contaremos con un mejor entendimiento del riesgo del
      proyecto antes de construir el sistema
    • Mejores tiempos totales de desarrollo (de 50% o
      mas)
    • Podremos especificar la estructura y el comportamiento del sistema y comunicarlo a todos
      los integrantes del proyecto
    • Se documentarán las decisiones de la arquitectura
      del proyecto
    • Se obtendrá el "plano" del sistema
    • Mejor soporte a la planeación y al control del
      proyecto
    • Un aumento en la calidad del desarrollo
    • Reducción en los costos
      económicos

    Estas son algunas de las razones por la cual es
    necesario adoptar UML como lenguaje de modelado, otra
    razón importante es el hecho de que muchas
    compañías a la hora de contratar servicios de
    desarrollo exigen que el lenguaje de modelado utilizado sea
    UML.

    METODOLOGÍA

    Tarea 1. Documentación: En esta etapa se
    realizarán consultas bibliográficas relacionadas
    con el análisis y diseño de sistemas de
    información con UML, a los fines de elaborar un
    manual de UML
    con sus diagramas, definición y ejemplos.

    Tarea 2. Análisis de requerimientos: En
    esta etapa se busca la necesidad del usuario y la forma en que
    se va a presentar la solución.

    Actividades:

    • Identificar Casos de Uso del sistema
    • Dar detalle a los casos de uso
      descritos
    • Definir una interfaz inicial del
      sistema
    • Desarrollar el Diagramas necesarios
    • Desarrollar Diccionario de Datos

    Tarea 3. Diseño del sistema: en esta
    etapa se define una subdivisión del sistema por funciones y la
    forma de comunicación para su
    interacción.

    Actividades:

    • Identificar la arquitectura del sistema
      1. Definir los componentes del sistema
      2. Refinar los casos de uso (textualmente y en
        diagrama)

      Tarea 4. Diseño detallado: en esta
      etapa se adecuará el análisis a las
      características específicas del
      software.

      Actividades:

    • Agregar detalles de implementación al modelo
      del mundo
    • Desarrollar el modelo de interfaz
    • Desarrollar los modelos de
      control, persistencia y comunicación

    Medios y Materiales a
    utilizar:

    • Hardware
    • Software
      • Rational Rose(Software para el
        modelado)

    Historia del
    UML

    La notación UML se deriva y unifica las tres
    metodologías de análisis y diseño Orientada
    a Objeto más extendidas:

    • Metodología de Grady Booch para la
      descripción de conjuntos de
      objetos y sus relaciones.
    • Técnica de modelado orientada a objetos de
      James Rumbaugh (OMT: Object-Modeling
      Technique).
    • Aproximación de Ivar Jacobson (OOSE:
      Object- Oriented Software Engineering) mediante la
      metodología de casos de uso (use
      case
      ).

    El desarrollo de UML comenzó a finales de 1994
    cuando Grady Booch y Jim Rumbaugh de
    Rational Software Corporation empezaron a unificar sus
    métodos. A finales de 1995, Ivar Jacobson y su
    compañía Objectory se incorporaron a
    Rational en su unificación, aportando el
    método OOSE.

    De las tres metodologías de partida, las de
    Booch y Rumbaugh pueden ser descritas como
    centradas en objetos, ya que sus aproximaciones se enfocan hacia
    el modelado de los objetos que componen el sistema, su
    relación y colaboración. Por otro lado, la
    metodología de Jacobson es más centrada a
    usuario, ya que todo en su método se deriva de los
    escenarios de uso. UML se ha ido fomentando y aceptando como
    estándar desde el OMG que es también el origen de
    CORBA, el estándar líder
    en la industria para
    la programación de objetos distribuidos. En
    1997 UML 1.1 fue aprobada por la OMG convirtiéndose en la
    notación estándar de facto para el análisis
    y el diseño orientado a objetos.

    Qué es
    UML?

    UML es el primer método en publicar un
    meta-modelo en su propia notación, incluyendo la
    notación para la mayoría de la información de requisitos, análisis
    y diseño. Se trata pues de un meta-modelo auto-referencial
    (cualquier lenguaje de modelado de propósito general
    debería ser capaz de modelarse a sí
    mismo).

    UML es un lenguaje estándar que sirve para
    escribir los planos del software, puede utilizarse para
    visualizar, especificar, construir y documentar todos los
    artefactos que componen un sistema con gran cantidad de software.
    UML puede usarse para modelar desde sistemas de
    información hasta aplicaciones distribuidas basadas en
    Web, pasando
    por sistemas empotrados de tiempo
    real.

    UML es solamente un lenguaje por lo que es sólo
    una parte de un método de desarrollo software, es
    independiente del proceso aunque para que sea optimo debe usarse
    en un proceso dirigido por casos de uso, centrado en la
    arquitectura, iterativo e incremental.

    UML es un lenguaje por que proporciona un vocabulario y
    las reglas para utilizarlo, además es un lenguaje de
    modelado lo que significa que el vocabulario y las reglas se
    utilizan para la representación conceptual y física del
    sistema.

    UML es un lenguaje que nos ayuda a interpretar grandes
    sistemas mediante gráficos o mediante texto
    obteniendo modelos explícitos que ayudan a la
    comunicación durante el desarrollo ya que al ser
    estándar, los modelos podrán ser interpretados por
    personas que no participaron en su diseño (e incluso por
    herramientas) sin ninguna ambigüedad. En este contexto, UML
    sirve para especificar, modelos concretos, no ambiguos y
    completos.

    Debido a su estandarización y su
    definición completa no ambigua, y aunque no sea un
    lenguaje de
    programación, UML se puede conectar de manera directa
    a lenguajes de
    programación como Java, C++ o
    Visual Basic,
    esta correspondencia permite lo que se denomina como
    ingeniería directa (obtener el código
    fuente partiendo de los modelos) pero además es posible
    reconstruir un modelo en UML partiendo de la
    implementación, o sea, la ingeniería
    inversa.

    UML proporciona la capacidad de modelar actividades de
    planificación de proyectos y de sus
    versiones, expresar requisitos y las pruebas sobre
    el sistema, representar todos sus detalles así como la
    propia arquitectura. Mediante estas capacidades se obtiene una
    documentación que es valida durante todo el ciclo de vida
    de un proyecto.

    El lenguaje UML se compone de tres elementos
    básicos, los bloques de construcción, las reglas y
    algunos mecanismos comunes. Estos elementos interaccionan entre
    sí para dar a UML el carácter de completitud y
    no-ambigüedad que antes comentábamos.

    Los bloques de construcción se dividen en
    tres partes:

    • Elementos, que son las abstracciones de primer
      nivel.
    • Relaciones, que unen a los elementos entre
      sí.
    • Diagramas, que son agrupaciones de
      elementos.

    Existen cuatro tipos de elementos en UML, dependiendo
    del uso que se haga de ellos:

    • Elementos estructurales.
    • Elementos de comportamiento.
    • Elementos de agrupación
    • Elementos de anotación.

    Las relaciones, a su vez se dividen para abarcar las
    posibles interacciones entre elementos que se nos pueden
    presentar a la hora de modelar usando UML, estas son:
    relaciones de dependencia, relaciones de asociación,
    relaciones de generalización y relaciones de
    realización.

    Se utilizan diferentes diagramas dependiendo de
    qué, nos interese representar en cada momento, para dar
    diferentes perspectivas de un mismo problema, para ajustar el
    nivel de detalle…, por esta razón UML soporta un gran
    numero de diagramas diferentes aunque, en la practica,
    sólo se utilicen un pequeño número de
    combinaciones.

    UML proporciona un conjunto de reglas que dictan las
    pautas a la hora de realizar asociaciones entre objetos para
    poder obtener
    modelos bien formados, estas son reglas semánticas que
    afectan a los nombres, al alcance de dichos
    nombres, a la visibilidad de estos nombres por otros, a la
    integridad de unos elementos con otros y a la
    ejecución, o sea la vista dinámica del sistema.

    UML proporciona una serie de mecanismos comunes que
    sirven para que cada persona o entidad
    adapte el lenguaje a sus necesidades, pero dentro de un marco
    ordenado y siguiendo unas ciertas reglas para que en el trasfondo
    de la adaptación no se pierda la semántica propia de UML. Dentro de estos
    mecanismos están las especificaciones, que
    proporcionan la explicación textual de la sintaxis y
    semántica de los bloques de
    construcción.

    Otro mecanismo es el de los adornos que sirven
    para conferir a los modelos de más semántica, los
    adornos son elementos secundarios ya que proporcionan más
    nivel de detalle, que quizá en un primer momento no sea
    conveniente descubrir. Las divisiones comunes permiten que
    los modelos se dividan al menos en un par de formas diferentes
    para facilitar la comprensión desde distintos puntos de
    vista, en primer lugar tenemos la división entre clase y objeto
    (clase es una abstracción y objeto es una
    manifestación de esa abstracción), en segundo lugar
    tenemos la división interfaz / implementación donde
    la interfaz presenta un contrato (algo
    que se va a cumplir de una determinada manera) mientras que la
    implementación es la manera en que se cumple dicho
    contrato.

    Por ultimo, los mecanismos de extensibilidad que
    UML proporciona sirven para evitar posibles problemas que
    puedan surgir debido a la necesidad de poder representar ciertos
    matices, por esta razón UML incluye los
    estereotipos, para poder extender el vocabulario con
    nuevos bloques de construcción, los valores
    etiquetados
    , para extender las propiedades un bloque, y las
    restricciones, para extender la semántica. De esta
    manera UML es un lenguaje estándar
    "abierto-cerrado" siendo posible extender el lenguaje de
    manera controlada.

    Elementos
    Estructurales

    Los elementos estructurales en UML, es su
    mayoría, son las partes estáticas del modelo y
    representan cosas que son conceptuales o materiales.

    Clases

    Una clase es una descripción de un conjunto de
    objetos que comparten los mismos atributos, operaciones,
    relaciones y semántica. Una clase implementa una o
    más interfaces. Gráficamente se representa como un
    rectángulo que incluye su nombre, sus atributos y sus
    operaciones.

    Clase

    Describe un conjunto de objetos que comparten los
    mismos atributos, métodos, relaciones y
    semántica. Las clases implementan una o más
    interfaces.

    Interfaz

    Una interfaz es una colección de operaciones que
    especifican un servicio de
    una determinada clase o componente. Una interfaz describe el
    comportamiento visible externamente de ese elemento, puede
    mostrar el comportamiento completo o sólo una parte del
    mismo. Una interfaz describe un conjunto de especificaciones de
    operaciones (o sea su signatura) pero nunca su
    implementación. Se representa con un circulo, , y rara vez
    se encuentra aislada sino que más bien conectada a la
    clase o componente que realiza.

    Interfaz

     

    Agrupación de métodos u operaciones
    que especifican un servicio de una clase o componente,
    describiendo su comportamiento, completo o parcial,
    externamente visible. UML permite emplear un círculo
    para representar las interfaces, aunque lo más
    normal es emplear la clase con el nombre en
    cursiva.

    Colaboración

    Define una interacción y es una sociedad de
    roles y otros elementos que colaboran para proporcionar un
    comportamiento cooperativo mayor que la suma de los
    comportamientos de sus elementos. Las colaboraciones tienen una
    dimensión tanto estructural como de comportamiento. Una
    misma clase puede participar en diferentes colaboraciones. Las
    colaboraciones representan la implementación de patrones
    que forman un sistema. Se representa mediante una elipse con
    borde discontinuo.

    Colaboración

    Define una interacción entre elementos que
    cooperan para proporcionar un comportamiento mayor que la
    suma de los comportamientos de sus elementos.

    Casos de Uso

    Un caso de uso es la descripción de un conjunto
    de acciones que
    un sistema ejecuta y que produce un determinado resultado que es
    de interés
    para un actor particular. Un caso de uso se utiliza para
    organizar los aspectos del comportamiento en un modelo. Un caso
    de uso es realizado por una colaboración. Se representa
    como en la figura 6, una elipse con borde continuo.

    Caso de uso

    Describe un conjunto de secuencias de acciones que
    un sistema ejecuta, para producir un resultado observable
    de interés. Se emplea para estructurar los aspectos
    de comportamiento de un modelo.

    Clase Activa

    Es una clase cuyos objetos tienen uno o más
    procesos o
    hilos de ejecución por lo y tanto pueden dar lugar a
    actividades de control. Una clase activa es igual que una clase,
    excepto que sus objetos representan elementos cuyo comportamiento
    es concurrente con otros elementos. Se representa igual que una
    clase, pero con líneas más gruesas

    Clase activa

    Se trata de una clase, en la que existe procesos o
    hilos de ejecución concurrentes con otros elementos.
    Las líneas del contorno son más gruesas que
    en la clase "normal"

    Componentes

    Un componente es una parte física y reemplazable
    de un sistema que conforma con un conjunto de interfaces y
    proporciona la implementación de dicho conjunto. Un
    componente representa típicamente el empaquetamiento
    físico de diferentes elementos lógicos, como
    clases, interfaces y colaboraciones.

    Componente

    Parte física y por tanto reemplazable de un
    modelo, que agrupa un conjunto de interfaces, archivos de
    código fuente, clases, colaboraciones y proporciona
    la implementación de dichos elementos.

    Nodos

    Un nodo es un elemento físico que existe en
    tiempo de ejecución y representa un recurso

    computacional que, por lo general, dispone de algo de
    memoria y, con
    frecuencia, de capacidad de procesamiento. Un conjunto de
    componentes puede residir en un nodo.

    Nodo

    Elemento físico que existe en tiempo de
    ejecución y representa un recurso computacional con
    capacidad de procesar.

    Estos siete elementos vistos son los elementos
    estructurales básico que se pueden incluir en un modelo
    UML. Existen variaciones sobre estos elementos básicos,
    tales como actores, señales, utilidades (tipos de clases),
    procesos e hilos (tipos de clases activas) y aplicaciones,
    documentos,
    archivos, bibliotecas,
    páginas y tablas (tipos de componentes).

    Elementos
    de comportamiento

    Los elementos de comportamiento son las partes
    dinámicas de un modelo. Se podría decir que son los
    verbos de un modelo y representan el comportamiento en el tiempo
    y en el espacio. Los principales elementos son los dos que
    siguen.

    Interacción

    Es un comportamiento que comprende un conjunto de
    mensajes intercambiados entre un conjunto de objetos, dentro de
    un contexto particular para conseguir un propósito
    específico. Una interacción involucra otros muchos
    elementos, incluyendo mensajes, secuencias de acción
    (comportamiento invocado por un objeto) y enlaces (conexiones
    entre objetos). La representación de un mensaje es una
    flecha dirigida que normalmente con el nombre de la
    operación.

    Maquinas de estados

    Es un comportamiento que especifica las secuencias de
    estados por las que van pasando los objetos o las interacciones
    durante su vida en respuesta a eventos, junto
    con las respuestas a esos eventos. Una maquina de estados
    involucra otros elementos como son estados, transiciones (flujo
    de un estado a otro), eventos (que disparan una
    transición) y actividades (respuesta de una
    transición)

    Elementos

    de

    comportamiento

    Interacción

    Comprende un conjunto de mensajes que se
    intercambian entre un conjunto de objetos, para cumplir un
    objetivo especifico.

    Máquinas

    de

    estados

    Especifica la secuencia de estados por los que
    pasa un objeto o una interacción, en respuesta a
    eventos.

    Elementos de
    agrupación

    Forman la parte organizativa de los modelos UML. El
    principal elemento de agrupación es el paquete, que
    es un mecanismo de propósito general para organizar
    elementos en grupos. Los
    elementos estructurales, los elementos de comportamiento, incluso
    los propios elementos de agrupación se pueden incluir en
    un paquete.

    Un paquete es puramente conceptual (sólo existe
    en tiempo de desarrollo). Gráficamente se representa como
    una carpeta conteniendo normalmente su nombre y, a veces, su
    contenido.

    Elementos

    de

    agrupación

    Paquete

    Se emplea para organizar otros elementos en
    grupos.

    Elementos de
    anotación

    Los elementos de anotación son las partes
    explicativas de los modelos UML. Son comentarios que se pueden
    aplicar para describir, clasificar y hacer observaciones sobre
    cualquier elemento de un modelo.

    El tipo principal de anotación es la nota
    que simplemente es un símbolo para mostrar restricciones y
    comentarios junto a un elemento o un conjunto de
    elementos.

    Elementos

    de

    notación

    Nota

    Partes explicativa de UML, que puede describir
    textualmente cualquier aspecto del modelo

    Relaciones

    Existen cuatro tipos de relaciones entre los elementos
    de un modelo UML. Dependencia, asociación,
    generalización y realización, estas
    se describen a continuación:

    Dependencia

    Es una relación semántica entre dos
    elementos en la cual un cambio a un
    elemento (el elemento

    independiente) puede afectar a la semántica del
    otro elemento (elemento dependiente). Se representa como una
    línea discontinua, posiblemente dirigida, que a veces
    incluye una etiqueta.

    Dependencia

    Es una relación entre dos elementos, tal
    que un cambio en uno puede afectar al otro.

    Asociación

    Es una relación estructural que describe un
    conjunto de enlaces, los cuales son conexiones entre objetos. La
    agregación es un tipo especial de asociación y
    representa una relación estructural entre un todo y sus
    partes. La asociación se representa con una línea
    continua, posiblemente dirigida, que a veces incluye una
    etiqueta. A menudo se incluyen otros adornos para indicar la
    multiplicidad y roles de los objetos involucrados.

    Asociación

    Es una relación estructural que resume un
    conjunto de enlaces que son conexiones entre
    objetos.

    Generalización

    Es una relación de especialización /
    generalización en la cual los objetos del elemento
    especializado (el hijo) pueden sustituir a los objetos del
    elemento general (el padre). De esta forma, el hijo comparte la
    estructura y el comportamiento del padre. Gráficamente, la
    generalización se representa con una línea con
    punta de flecha vacía.

    Generalización

    Es una relación en la que el elemento
    generalizado puede ser substituido por cualquiera de los
    elementos hijos, ya que comparten su estructura y
    comportamiento.

    Realización

    Es una relación semántica entre
    clasificadores, donde un clasificador especifica un contrato que
    otro clasificador garantiza que cumplirá. Se pueden
    encontrar relaciones de realización en dos sitios: entre
    interfaces y las clases y componentes que las realizan, y entre
    los casos de uso y las colaboraciones que los realizan. La
    realización se representa como una mezcla entre la
    generalización y la dependencia, esto es, una línea
    discontinua con una punta de flecha vacía .

    Realización

    Es una relación que implica que la parte
    realizante cumple con una serie de especificaciones
    propuestas por la clase realizada (interfaces).

    Diagramas

    Los diagramas se utilizan para representar diferentes
    perspectivas de un sistema de forma que un diagrama es una
    proyección del mismo. UML proporciona un amplio conjunto
    de diagramas que normalmente se usan en pequeños
    subconjuntos para poder representar las cinco vistas principales
    de la arquitectura de un sistema.

    Diagramas de Clases

    Muestran un conjunto de clases, interfaces y
    colaboraciones, así como sus relaciones. Estos diagramas
    son los más comunes en el modelado de sistemas orientados
    a objetos y cubren la vista de diseño estática o la
    vista de procesos estática (sí incluyen clases
    activas).

    Diagrama de Clases

    Ejemplo de Diagrama de Clases

    Diagramas de Objetos

    Muestran un conjunto de objetos y sus relaciones, son
    como fotos
    instantáneas de los diagramas de clases y cubren la vista
    de diseño estática o la vista de procesos
    estática desde la perspectiva de casos reales o
    prototípicos.

    Objetos

    Análogo al diagrama de clases, muestra un
    conjunto de objetos y sus relaciones, pero a modo de vista
    instantánea de instancias de una clase en el
    tiempo.

    Diagramas de Casos de Usos

    Muestran un conjunto de casos de uso y actores (tipo
    especial de clases) y sus relaciones. Cubren la vista
    estática de los casos de uso y son especialmente
    importantes para el modelado y organización del comportamiento.

    Casos de Uso

    Muestra un conjunto de casos de uso, los actores
    implicados y sus relaciones. Son diagramas fundamentales en
    el modelado y organización del sistema.

    Diagramas de Secuencia y de
    Colaboración

    Tanto los diagramas de secuencia como los diagramas de
    colaboración son un tipo de diagramas de
    interacción. Constan de un conjunto de objetos y sus
    relaciones, incluyendo los mensajes que se pueden enviar unos
    objetos a otros. Cubren la vista dinámica del sistema. Los
    diagramas de secuencia enfatizan el ordenamiento temporal de los
    mensajes mientras que los diagramas de colaboración
    muestran la
    organización estructural de los objetos que
    envían y reciben mensajes. Los diagramas de secuencia se
    pueden convertir en diagramas de colaboración sin perdida
    de información, lo mismo ocurren en sentido
    opuesto.

    Secuencia

    Son diagramas de interacción, muestran un
    conjunto de objetos y sus relaciones, así como los
    mensajes que se intercambian entre ellos. Cubren la vista
    dinámica del sistema. El diagrama de secuencia
    resalta la ordenación temporal de los mensajes,
    mientras que el de colaboración resalta la
    organización estructural de los objetos, ambos
    siendo equivalentes o isomorfos. En el diagrama de
    colaboración de la figura de la izquierda, se puede
    ver que los elementos gráficos no son cajas
    rectangulares, como cabría esperar, y en su lugar
    encontramos sus versiones adornadas. Estas versiones tienen
    como finalidad evidenciar un rol específico del
    objeto siendo modelado. En la figura encontramos de
    izquierda a derecha y de arriba abajo un Actor, una
    Interfaz, un Control (modela un comportamiento) y una
    Instancia (modela un objeto de dato).

    Colaboración

    Diagramas de Estados

    Muestran una maquina de estados compuesta por estados,
    transiciones, eventos y actividades. Estos diagramas cubren la
    vista dinámica de un sistema y son muy importantes a la
    hora de modelar el comportamiento de una interfaz, clase o
    colaboración.

    Estados

    Muestra una máquina de estados, con sus
    estados, transiciones, eventos y actividades. Cubren la
    vista dinámica de un sistema. Modelan
    comportamientos reactivos en base a eventos.

    Diagramas de Actividades

    Son un tipo especial de diagramas de estados que se
    centra en mostrar el flujo de actividades dentro de un sistema.
    Los diagramas de actividades cubren la parte dinámica de
    un sistema y se utilizan para modelar el funcionamiento de un
    sistema resaltando el flujo de control entre objetos.

    Actividades

    Tipo especial de diagrama de estados que muestra
    el flujo de actividades dentro de un sistema.

    Diagramas de Componentes

    Muestra la organización y las dependencias entre
    un conjunto de componentes. Cubren la vista de la
    implementación estática y se relacionan con los
    diagramas de clases ya que en un componente suele tener una o
    más clases, interfaces o colaboraciones

    Diagramas de Despliegue

    Representan la configuración de los nodos de
    procesamiento en tiempo de ejecución y los componentes que
    residen en ellos. Muestran la vista de despliegue estática
    de una arquitectura y se relacionan con los componentes ya que,
    por lo común, los nodos contienen uno o más
    componentes.

    Diagrama de Despliegue

    Arquitectura

    El desarrollo de un sistema con gran cantidad de
    software requiere que este sea visto desde diferentes
    perspectivas. Diferentes usuarios (usuario final, analistas,
    desarrolladores, integradores, jefes de proyecto…) siguen
    diferentes actividades en diferentes momentos del ciclo de vida
    del proyecto, lo que da lugar a las diferentes vistas del
    proyecto, dependiendo de qué interese más en cada
    instante de tiempo.

    La arquitectura es el conjunto de decisiones
    significativas sobre:

    • La organización del sistema
    • Selección de elementos estructurales y sus
      interfaces a través de los cuales se constituye el
      sistema.
    • El Comportamiento, como se especifica las
      colaboraciones entre esos componentes.
    • Composición de los elementos estructurales y
      de comportamiento en subsistemas

    progresivamente más grandes.

    • El estilo arquitectónico que guía esta
      organización: elementos estáticos y
      dinámicos y sus interfaces, sus colaboraciones y su
      composición.

    La una arquitectura que no debe centrarse
    únicamente en la estructura y en el comportamiento, sino
    que abarque temas como el uso, funcionalidad, rendimiento,
    capacidad de adaptación, reutilización, capacidad
    para ser comprendida, restricciones, compromisos entre
    alternativas, así como aspectos estéticos. Para
    ello se sugiere una arquitectura que permita describir mejor los
    sistemas desde diferentes vistas, donde cada una de ellas es una
    proyección de la organización y la estructura
    centrada en un aspecto particular del sistema.

    La vista de casos de uso comprende la
    descripción del comportamiento del sistema tal y como es
    percibido por los usuarios finales, analistas y encargados de las
    pruebas y se utilizan los diagramas de casos de uso para capturar
    los aspectos estáticos mientras que los dinámicos
    son representados por diagramas de interacción, estados y
    actividades.

    La vista de diseño comprende las clases,
    interfaces y colaboraciones que forman el vocabulario del
    problema y de la solución. Esta vista soporta
    principalmente los requisitos funcionales del sistema, o sea, los
    servicios que el sistema debe proporcionar. Los aspectos
    estáticos se representan mediante diagramas de clases y
    objetos y los aspectos dinámicos con diagramas de
    interacción, estados y actividades.

    La vista de procesos comprende los hilos y
    procesos que forman mecanismos de sincronización y
    concurrencia del sistema cubriendo el funcionamiento, capacidad
    de crecimiento y el rendimiento del sistema. Con UML, los
    aspectos estáticos y dinámicos se representan igual
    que en la vista de diseño, pero con el énfasis que
    aportan las clases activas, las cuales representan los procesos y
    los hilos.

    La Vista de implementación comprende los
    componentes y los archivos que un sistema utiliza para ensamblar
    y hacer disponible el sistema físico. Se ocupa
    principalmente de la gestión
    de configuraciones de las distintas versiones del sistema. Los
    aspectos estáticos se capturan con los diagramas de
    componentes y los aspectos dinámicos con los diagramas de
    interacción, estados y actividades.

    La vista de despliegue de un sistema contiene los
    nodos que forman la topología hardware sobre la que se
    ejecuta el sistema. Se preocupa principalmente de la distribución, entrega e instalación
    de las partes que constituyen el sistema. Los aspectos
    estáticos de esta vista se representan mediante los
    diagramas de despliegue y los aspectos dinámicos con
    diagramas de interacción, estados y actividades

    Ciclo de
    Vida

    Se entiende por ciclo de vida de un proyecto
    software
    a todas las etapas por las que pasa un proyecto,
    desde la concepción de la idea que hace surgir la
    necesidad de diseñar un sistema software, pasando por el
    análisis, desarrollo, implantación y mantenimiento
    del mismo y hasta que finalmente muere por ser sustituido por
    otro sistema.

    Aunque UML es bastante independiente del proceso, para
    obtener el máximo rendimiento de UML se debería
    considerar un proceso que fuese:

    Dirigido por los casos de uso, o sea, que los
    casos de uso sean un artefacto básico para

    establecer el comportamiento del deseado del sistema,
    para validar la arquitectura, para las

    pruebas y para la comunicación entre las personas
    involucradas en el proyecto.

    Centrado en la arquitectura de modo que sea el
    artefacto básico para conceptuar, construir, gestionar y
    hacer evolucionar el sistema.

    Un proceso iterativo, que es aquel que involucra
    la gestión del flujo de ejecutables del

    sistema, e incremental, que es aquel donde cada
    nueva versión corrige defectos de la anterior e incorpora
    nueva funcionalidad. Un proceso iterativo e incremental se
    denomina dirigido por el riesgo, lo que significa que cada
    nueva versión se ataca y reducen los riesgos
    más significativos para el éxito
    del proyecto.

    Este proceso, dirigido a los casos de uso, centrado en
    la arquitectura, iterativo e incremental pude descomponerse en
    fases, donde cada fase es el intervalo de tiempo entre dos hitos
    importantes del proceso, cuando se cumplen los objetivos bien
    definidos, se completan los artefactos y se toman decisiones
    sobre si pasar o no a la siguiente fase.

    En el ciclo de vida de un proyecto software existen
    cuatro fases. La iniciación, que es cuando la idea
    inicial está lo suficientemente fundada para poder
    garantizar la entrada en la fase de elaboración,
    esta fase es cuando se produce la definición de la
    arquitectura y la visión del producto. En
    esta fase se deben determinar los requisitos del sistema y las
    pruebas sobre el mismo.

    Posteriormente se pasa a la fase de
    construcción, que es cuando se pasa de la base
    arquitectónica ejecutable hasta su disponibilidad para los
    usuarios, en esta fase se reexaminan los requisitos y las pruebas
    que ha de soportar. La transición, cuarta fase del
    proceso, que es cuando el software se pone en mano de los
    usuarios. Raramente el proceso del software termina en la etapa
    de transición, incluso durante esta fase el proyecto es
    continuamente reexaminado y mejorado erradicando errores y
    añadiendo nuevas funcionalidades no
    contempladas.

    Un elemento que distingue a este proceso y afecta a las
    cuatro fases es una iteración, que es un
    conjunto bien definido de actividades, con un plan y unos
    criterios de evaluación, que acaban en una
    versión del producto, bien interna o externa.

    Caso
    Práctico

    Requerimientos

    No

    Descripción

    Consultas / Informes

    R01

    Informe Record de pacientes

    R02

    Informe Citas por fecha

    R03

    Informe Citas por paciente por fecha

    No

    Descripción

    Almacenamiento

    R04

    Datos de Pacientes:C_PNOMBRE, C_SNOMBRE,
    C_PAPELIDO, C_SAPELLIDO, C_SEXO, D_FNAC, C_CEDULA,
    C_TELEFONO, C_COMPANIA, C_TELCOMPANIA,
    D_FREGISTRO

    R05

    Datos de Citas: C_MOTIVO, N_IDCITA, D_FREGISTRO,
    D_FCITA, C_HCITA, M_NOTA, C_ESTATUS, C_CEDULA.

    R06

    Datos Encabezado del Records: N_IDRECORD,
    C_CEDULA y D_FREGISTRO

    R07

    Datos Detalles del Record: N_IDRECORD,
    N_IDDETALLERECORD, C_TRATAMIENTOMEDICO,
    N_IDENFERMEDADESPACIENTE, N_IDMEDICAMENTOSPACIENTE,
    N_IDALERGIASPACIENTE y M_NOTA

    R08

    Datos por enfermedades de paciente:
    N_IDENFERMEDADESPACIENTE, N_IDENFERMEDAD y
    M_NOTA

    R09

    Datos por Medicamentos que toma el paciente:
    N_IDMEDICAMENTOSPACIENTE, N_IDMEDICAMENTO y
    M_NOTA

    R10

    Datos por Alergias que padece el paciente:
    N_IDALERGIASPACIENTE, N_IDALERGIA y M_NOTA

    R11

    Datos de Enfermedades: N_IDENFERMEDAD y
    C_ENFERMEDAD

    R12

    Datos de Medicamentos: N_IDMEDICAMENTO y
    C_MEDICAMENTO

    R13

    Datos de Alergias: N_IDALERGIA y
    C_ALERGIA

    No

    Descripción

    No

    Descripción

    Procesamiento

     

     

    R14

    Calculo de Edad del Paciente:
    ( (Fecha del Sistema – D_FNAC) / 365))

    Diagramas de
    Casos de Uso

    Descripción de Casos de
    Uso

    Nombre:

    Manejo de Pacientes

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento del catalogo de
    pacientes.

    Descripción:

    El Usuario del Sistema puede registrar pacientes
    nuevos, ingresando sus datos.
    El sistema debe validar:

    1. Que se ingrese una cédula.
    2. Que se ingrese el primer nombre y el primer
    apellido.
    3. Se asigne un Sexo.
    4. Se ingrese la fecha de nacimiento del paciente.
    5. Se ingrese un teléfono de contacto.
    6. Se ingrese la fecha de registro, esta será tomada de la
    fecha del sistema.

    También es posible modificar o Eliminar un
    paciente.

    Referencias:

     

    Nombre:

    Manejo de Citas

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento del catalogo de
    citas.

    Descripción:

    El Usuario del Sistema puede registrar nuevas
    citas, ingresando sus datos. El sistema debe validar:

    1. Que se ingrese un motivo de la cita.
    2. Que se ingrese un código para la cita, es
    generado por el sistema.
    3. Se ingrese una fecha de registro, esta será
    tomada del sistema…
    4. Se ingrese la fecha en que se realizará la
    cita.
    5. Se ingrese la hora de la cita.
    6. Se ingrese la cédula del paciente.
    7. Se ingrese el estatus de la cita, por defecto
    "abierta"

    También es posible modificar el registro de un
    paciente o eliminarlo.

    Referencias:

     

    Nombre:

    Manejo de Records

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento del catalogo de
    Records Médicos.

    Descripción:

    El Usuario del Sistema puede registrar el
    records médicos, ingresando sus datos. El sistema
    debe validar:

    1. Se genere un número de record
    automático.
    2. Se ingrese un numero de cédula de paciente.
    3. Se ingrese una fecha de registro, esta fecha es
    generada por el sistema.

    4. Se indica si el paciente esta en tratamiento
    medico.

    5. Se ingrese un comentario.

    También es posible modificar o Eliminar un Record
    Medico.

    Referencias:

     

    Nombre:

    Manejo de Enfermedades

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento del catalogo de
    enfermedades.

    Descripción:

    El Usuario del Sistema puede registrar
    enfermedades en el catalogo de enfermedades. El sistema
    debe validar:

    1. Se genere un número de enfermedad
    automático.
    2. Se ingrese un nombre de enfermedad.

    También es posible modificar o eliminar una
    enfermedad.

    Referencias:

     

    Nombre:

    Manejo de Medicamentos

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento del catalogo de
    Medicamentos.

    Descripción:

    El Usuario del Sistema puede registrar
    medicamentos en el catalogo de medicamentos. El sistema
    debe validar:

    1. Se genere un número de medicamento
    automático.
    2. Se ingrese un nombre del medicamento.

    También es posible modificar o eliminar un
    medicamento.

    Referencias:

     

    Nombre:

    Manejo de Alergias

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento del catalogo de
    alergias.

    Descripción:

    El Usuario del Sistema puede registrar nuevas
    alergias en el catalogo. El sistema debe validar:

    1. Se genere un número de alergia
    automático.
    2. Se ingrese un nombre de alergia.

    También es posible modificar o eliminar una
    alergia.

    Referencias:

     

    Nombre:

    Manejo de Enfermedades por Record

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento de enfermedades por
    Record

    Descripción:

    El usuario del Sistema puede crear y asociar
    enfermedades con el record medico de un paciente. Puede
    modificar y eliminar sus datos.

    Referencias:

     

    Nombre:

    Manejo de Medicamentos Por Record

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento de medicamentos por
    Record

    Descripción:

    El usuario del sistema puede crear y asociar el
    uso de medicamento con el record medico de un paciente.
    Puede modificar y eliminar sus datos.

    Referencias:

     

    Nombre:

    Manejo de Alergias Por Record

    Alias:

     

    Actores:

    Usuario del Sistema, Cliente

    Función:

    Permitir el mantenimiento de alergias por
    Record

    Descripción:

    El usuario del sistema puede crear y asociar
    alergias con el record medico de un paciente. Puede
    modificar y eliminar sus datos.

    Referencias:

     

    Partes: 1, 2, 3

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter