UNIVERSIDAD YACAMBU

VICERRECTORADO DE ESTUDIOS VIRTUALES

MATERIA: ANÁLISIS Y DISEÑO DE SISTEMAS

TEMA DEL FORO: UML (Unified Modeling Language)

SUB- TEMA: PROCESO DE DESARROLLO

 


INVESTIGACIÓN EN INTERNET

 

PROCESO DE DESARROLLO

Aunque UML es bastante independiente del proceso de desarrollo que se siga, los mismos creadores de UML han propuesto su propia metodología de desarrollo, denominada el Proceso Unificado de Desarrollo.

El Proceso Unificado está basado en componentes, lo cual quiere decir que el sistema software en construcción está formado por componentes software interconectados a través de interfaces bien definidos. Además, el Proceso Unificado utiliza el UML para expresar gráficamente todos los esquemas de un sistema software. Pero, realmente, los aspectos que definen este Proceso Unificado son tres: es iterativo e incremental, dirigido por casos de uso y centrado en la arquitectura:

          Dirigido por casos de uso: Basándose en los casos de uso, los desarrolladores crean una serie de modelos de diseño e implementación que los llevan a cabo. Además, estos modelos se validan para que sean conformes a los casos de uso. Finalmente, los casos de uso también sirven para realizar las pruebas sobre los componentes desarrollados.

          Centrado en la arquitectura: En la arquitectura de la construcción, antes de construir un edificio éste se contempla desde varios puntos de vista: estructura, conducciones eléctricas, fontanería, etc. Cada uno de estos aspectos está representado por un gráfico con su notación correspondiente. Siguiendo este ejemplo, el concepto de arquitectura software incluye los aspectos estáticos y dinámicos más significativos del sistema.

          Iterativo e incremental: Todo sistema informático complejo supone un gran esfuerzo que puede durar desde varios meses hasta años. Por lo tanto, lo más práctico es dividir un proyecto en varias fases. Actualmente se suele hablar de ciclos de vida en los que se realizan varios recorridos por todas las fases. Cada recorrido por las fases se denomina iteración en el proyecto en la que se realizan varios tipos de trabajo (denominados flujos). Además, cada iteración parte de la anterior incrementado o revisando la funcionalidad implementada. Se suele denominar proceso. Ver figura 1.

 


 

                                                                             

Figura 1: Proceso Iterativo e Incremental

 

Resumiendo, el Proceso Unificado es un modelo complejo con mucha terminología propia, pensado principalmente para el desarrollo de grandes proyectos. Es un proceso que puede adaptarse y extenderse en función de las necesidades de cada empresa.

Dentro del Proceso de Desarrollo existe lo que llamamos el desarrollo rápido de una aplicación usando el UML, los pasos más elementales son los siguientes:

-        Reunión de los Requisitos.

-        Análisis.

-        Diseño.

-        Codificación.

-        Instalación o Despliegue.

 

Los pasos más importantes son: la Reunión de los Requisitos y el Análisis.

REUNIÓN DE LOS REQUISITOS:

Este segmento consta de varios pasos, es necesario indicar aquí que si realmente no se conoce a fondo lo que necesita el cliente jamás podremos construir  un sistema que le satisfaga.

Descubrir los procesos de negocio: Aquí los analistas deben entender perfectamente los procesos de negocio del cliente, entrevistando al cliente, o una persona bien informada designada por el cliente, y pidiendo a la persona entrevistada examinar los procesos relevantes gradualmente. Herramienta: Los diagramas de actividad.

Realizar un Análisis de Dominio: El analista se entrevista con el cliente con el objetivo de conocer las entidades principales en el dominio del cliente. Durante la conversación entre el cliente y el analista se deben tomar apuntes. Desde estos apuntes, se buscarán las clases para los objetos del modelo buscando los sustantivos (Ej.: proveedor, pedido, factura,...) y convirtiéndolos en clases. Después se verá que algunos de estos sustantivos pueden ser atributos de otros en vez de entidades por si mismas. También se buscarán los métodos para estas clases buscando los verbos (ej: Calcular, imprimir, Agregar,..). Herramienta: Diagrama de clases de alto nivel y un conjunto de notas adheridas.

Identificar Sistemas de Cooperación: Durante el proceso de desarrollo el equipo averiguará de que sistemas dependerá el nuevo sistema y que otros sistemas dependerán de él. Herramientas: Diagrama de Despliegue.

Descubrir los Requerimientos del Sistema: En esta acción el equipo se compone de personas con poder de decisión de la organización del cliente, usuarios potenciales  y miembros del equipo de desarrollo. Un Facilitador modera la sesión. El trabajo del Facilitador debe ser  el obtener de las personas que representan al cliente y de los usuarios que es lo que quieren que el sistema haga. Al menos dos miembros del equipo deberían de tomar apuntes y el modelador de objetos debería refinar el diagrama de clases que se obtuvo antes. Herramientas: Diagrama de paquetes

Presentar los resultados al cliente: Cuando el equipo termina con las acciones de Requisitos, el jefe de proyecto presenta los resultados al cliente.

Análisis

Ahora el equipo revisa los resultados del apartado Reunión de Requisitos y aumenta su conocimiento del problema. De hecho, algunas acciones comienzan ya en la reunión de Requisitos cuando el modelador de objetos comienza a definir el diagrama de clases.

Entender el Uso del Sistema: En la reunión con los usuarios potenciales, los desarrolladores se reunieron con los usuarios para descubrir a los actores que inician cada Caso de Uso y a los actores que se beneficiaran  de ellos (Un actor puede ser tanto un sistema como una persona). Herramienta: Diagrama de Casos de Uso

Desarrollo de los Casos de Uso: Se debería seguir trabajando con los usuarios. El objetivo es analizar la secuencia de pasos a ejecutar por cada Caso de Uso del diagrama. Herramienta: Texto descriptivo de los pasos que deben ejecutar cada Caso de Uso del diagrama.

Refinar los Diagramas de Clases: El modelador de objetos, observando todas las discusiones de las reuniones, refina los diagramas de clases. El o ella deberían rellenar los nombres de las asociaciones, localizar las clases abstractas, multiplicidad, generalizaciones y agregaciones. Herramientas: diagrama de Clases refinadas.

Analizar los cambios de Estado de los Objetos: También el modelador de objetos refina el modelo mostrando los cambios en el estado de un objeto. Herramienta: Diagrama de Estados

Definir las interacciones entre los objetos: En este momento el equipo de desarrollo cuenta con juego de casos de uso y un diagrama de clases refinado, es hora de definir como los objetos actúan entre sí. El modelador de objetos desarrolla un juego de diagramas que incluye los cambios de estado.  Herramienta: Diagramas de Secuencia y Diagramas de Colaboración

Analizar la Integración con los Sistemas Cooperantes: El ingeniero de sistema, que hasta ahora a estado de forma paralela en todos los pasos procedentes, descubre los detalles específicos para la integración con el resto de los sistemas con los que se debe cooperar. ¿Qué tipo de comunicación se debe emplear? ¿Cuál será la arquitectura de red?. ¿El sistema tendrá acceso a una base de datos? Y si lo tendrá ¿a que tipo de base de datos? Herramienta: Diagrama de Despliegue detallado y si fuera necesario un modelo de datos

INFOGRAFIA

http://www.clikear.com/manuales/uml/

Una pagina que explica todo lo relacionado con el desarrollo Orientado a Objeto con UML, diseñado como un manual o tutorial en línea explicando cada paso del desarrollo, y en especial la sección que corresponde al sub tema “Proceso de Desarrollo”, que se explica en la sección IV de este manual.

http://www.ati.es/gt/calidad-software/SIMO00/SIMO2000-UML.ppt#11

Esta es una presentación en PowerPoint, que explica de manera grafica el proceso de desarrollo usando UML usando Modelo CMM (Capability Maturity Model).

http://cfrela.en.eresmas.com/uml/umlanalisis.htm

Aquí se presenta una breve descripción e historia del UML, y su descripción paso a paso del proceso de desarrollo de un sistema informático.

http://www.dsic.upv.es/~letelier/pub/p16.ppt

Este una presentación del Departamento de Sistema Informáticos y Computación de la Universidad Politécnica de Valencia – España, en donde se detalla todo el proceso de desarrollo usando UML bajo la el concepto de RUP (Racional Unified Process).

http://bermudas.ls.fi.upm.es/~gonzalo/docs/uml/2%20-%20proceso.pdf

Este es una dirección que presenta el proceso de desarrollo para una página Web con UML, y lo presenta como una visión general del proceso. También enfoca la gestión del proyecto como tal.

http://dis.eafit.edu.co/cursos/st038/ModelosCV&TendenciasModelado.ppt#29

Esta presentación es sobre los Elementos de la Ingeniería de Software desarrollado por la Universidad EAFIT, donde explica los elementos del proceso de desarrollo, presentando los diferentes modelos de desarrollo, pero concentrándose en el UML.