lunes, 25 de julio de 2011

Resumen Capitulo 3: Modelización de un sistema

Modelos del sistema

Para representar un sistema se debe elaborar modelos desde varias perspectivas, En el diseño de sistemas se pueden elaborar diversos modelos como: Los funcionales, de Procesos, Objetos y por ultimo los modelos de datos.

 

El objetivo de realizar un modelo de procesos es mostrar las tareas que son realizadas en una actividad y el flujo de información, además trata de  representar las tareas o acciones del sistema. Cuando se elaborar un modelo de procesos se pretende hacerlo desde el punto de vista del proceso, son secuenciales e indican el inicio y final del proceso diagramado.

Los modelos de datos mas comunes son OOA (Object Oriented Análisis) y modelos de entidad-relación ER.

 

Los modelos orientados a objetos pretenden identificad a los objetos y sus características, los de relación son una herramienta muy útil para representar el modelo en el nivel de datos.

Al construir los modelos del sistema actual y analizar las modificaciones necesarias se generan las especificaciones y requerimientos del sistema de la siguiente forma:

    • Requerimiento es una característica que debe ser incluida
    • Especificación es una descripción del sistema que permite definir el desempeño del mismo.

Análisis de Datos recopilados y determinación de requerimientos

con las siguientes interrogantes:

  • ¿Que se hace?
  • ¿Como se hace?, es decir que pasos se efectúan para realizarla.
  • ¿Con que frecuencia se hace?
  • ¿Que volúmenes se manejan?
  • ¿Con que eficiencia?
  • ¿Con que eficiencia se hace?
  • ¿Que problemas se presentan?
  • ¿Que grado de importancia tiene el problema?
  • ¿Cuales son las causas del problema?
  • ¿Quienes lo realizan?
  • ¿Que tiempo se tardan en hacerlo?
  • ¿Quienes emplean la información resultante?

Para determinar requerimientos se debe llegar a un consenso y establecer claramente los requerimientos del sistema.

Los diagramas de modelo conceptual, entidad relación deben ser validados entre si y verificar que coincidan con los datos recabados.

ESPECIFICACION DE LOS REQUERIMIENTOS DEL SISTEMA

El análisis estructurado además de documentar el sistema, proporciona información que ayuda en el trabajo de analizarlo.

Las técnicas de estructurado, no elaboran el análisis de requerimientos, lo que se necesita es analizar toda la información reunida y presentar sugerencias de cambios, para examinar los hechos encontrados y establecer los requerimientos del usuario trabajaremos las siguientes áreas:

  • Capacidad
    • Se busca signos evidentes de falta de capacidad en el sistema que provocan retrasos o inconvenientes.
  • Control
    • Se busca identificar mecanismos que aseguren un alto grado de logro en los objetivos del sistema.
  • Disponibilidad de Información
    • Se busca identificar si la información existe, es correcta y esta disponible.
  • Simplicidad
    • Se busca identificar si el sistema es simple y fácil de operar.

El análisis de datos y hechos recabados debe generar una identificación de requerimientos del nuevo sistema.

USO DE LAS REUNIONES DE TRABAJO

Para la construcción de modelos es necesario realizar reuniones de trabajo y se debe seleccionar cuidadosamente a los miembros del equipo que participaran en las mismas. Cada cierto tiempo es recomendable reunir al grupo y mostrar una síntesis del modelo elaborado, se debe motivar a los participantes a que expresen sus opiniones, además se debe tener en cuenta que los conflictos son naturales en los grupos heterogéneos y pueden ser enriquecedores si son manejados adecuadamente. No se debe permitir que un conflicto cause roces que eviten el buen desempeño del equipo.

METODOLOGIAS PARA EL DISEÑO DE SISTEMAS

son el conjunto de técnicas convenciones herramientas que ayudan.

PROCESO UNIFICADO DE DESARROLLO

Describe un conjunto de actividades  que deben realizarse en un determinado orden que identifican que hacer, como hacerlo, cuando hacerlo y el motivo, además debe poseer las siguientes características: Reproducible, definido, susceptible de ser medido.

Debe especificar:

  • Secuencia de actividades a realizar por el equipo de desarrollo
  • Productos que deben crearse e indicar el que y cuando
  • Asignación de tareas a cada miembro del equipo y al equipo como un todo
  • Criterios para controlarlo.

¿Que es el proceso unificado de desarrollo?

Proceso de desarrollo de sistemas usado como marco, ya que no existe un proceso universal que pueda resolver los problemas de toda organización. Se adapta a través de los proyectos y esta basado en la experiencia de la compañía Rational .

Guía a los equipos de proyectos en como administrar el desarrollo iterativo de un modo controlado mientras se equilibran los requerimientos del negocio, el tiempo del mercado y los riesgos del proyecto.

El ciclo de vida en  el desarrollo de software en el proceso unificado

Se ha identificado el ciclo de vida del software  como: concepción,elaboración, construcción y transición.

De acuerdo a Microsoft el diseño de software se realiza a 3 niveles:

  • Conceptual
    • Se considera como un análisis de las actividades, se expresa con los casos de uso
  • Lógico
    • Traduce los escenarios de uso creados en el diseño conceptual en un conjunto de objetos de negocio y sus servicios. Es independiente de la tecnología.
  • Físico
    • Traduce el diseño lógico en una solución implementable y costo-efectiva o económica.

Características del PUD

El PUD posee las siguientes características:

Dirigido por casos de uso

Los casos de uso especifican un comportamiento deseado del sistema. (requisito funcional), describe que hace el sistema, no como lo hace. por lo que se puede decir que es un documento narrativo que describe una secuencia de eventos para completar un proceso  entre un actor y un sistema.

En los casos de uso participan actores que son entidades externas del sistema que de alguna forma participan en el caso de uso, generalmente proveen algo u reciben algo del sistema.

En los casos de uso se especifica una secuencia de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable útil para un particular actor.

Centrado en la arquitectura

La arquitectura es prioritaria desde el principio hasta el final, es una vista del diseño completo con las características importantes resaltadas dejando de lado los detalles.

Iterativo e incremental

Es característica se fundamente en que no se sabe realmente que se desea del sistema, se facilita el proceso al repetir una serie de fases varias veces hasta completar el proyecto, su ventaja es que se logra una retroalimentación rápida y por ende una reacción oportuna en las modificaciones.

Iteración

Es el esfuerzo de trabajo de proyecto que recorre una o mas etapas de desarrollo al final del cual se ha aumentado el material disponible sobre el sistema.

Incremento

Es un avance significativo en el grado de especificación, diseño, implementación o prueba que tenga lugar durante una iteración.

Los objetivos de una iteración se estableen en función de la evaluación de las iteraciones precedentes.

Podemos imaginar las iteraciones como una evolución de prototipos ejecutables.

en cada iteración comprende:

  • Planificación de la iteración
  • Análisis de casos de uso y escenarios
  • diseño de opciones arquitectónicas
  • Codificación y pruebas, la integración de nuevo código
  • Evaluación de la entrega ejecutable.
  • Preparación de la entrega

VIDA DE UN SISTEMA

Consiste en una serie de ciclos que incluyen el nacimiento, ciclos iterativos y si muerte. En cada ciclo se presentan varias fases las cuales son un intervalo de tiempo entre hitos importantes del proceso.

ETAPASY FASES DEL CICLO DE VIDA

INICIO

Etapa en la que se define el ámbito y objetivos del proyecto. En esta etapa se deben identificar y especificar clases y colaboraciones para objetos del dominio.

ELABORACION

Se define la funcionalidad y una arquitectura básica, en esta fase se definen los criterios de evaluación que habrá que cumplir al final.

Es en esta etapa que que se definen la visión y arquitectura del producto, se expresan con claridad los requisitos del sistema, se priorizan y son usados para definir una solidad base arquitectónica, por ultimo en esta fase se planifican las actividades  y los recursos necesarios.

CONSTRUCION

En esta etapa se desarrolla el producto usando iteraciones, cada cual tiene su propia fase de análisis, diseño e implementación. en esta fase se efectúa la mayor parte del trabajo, se debe documentar tanto el sistema construido como su manejo

TRANSICION

Es la etapa en que se libera el producto y se entrega para su uso real. se incluyen tareas de instalación, configuración, entrenamiento, soporte mantenimiento, etc..

RELACION ENTRE PUD Y UML

UML es un lenguaje de modelado seleccionado como estándar de la OMG,  en el que se plasma diferentes vistas del sistema. Sirve para representar la información recabada y utilizada durante el proceso unificado de desarrollo PUD.

INTRODUCCION A OBJETOS

La teoría de objetos es necesaria para comprender UML y PUD.

La programación orientada objetos

Filosofía de la cual surge una cultura nueva que incorpora nuevas técnicas y metodologías.Es importante anotar que OOP como metodología es distinto a OOP como paradigma.

FUNDAMENTOS

OBJETO

es aquello que tiene estado, comportamiento e identidad. la estructura y comportamiento están definidos en una clase común, los términos instancia y objeto son intercambiables.

CLASE

Conjunto de objetos que comparten una estructura y comportamiento común.

Principios del modelo

  • Abstracción
    • Descripción simplificada o especificación de un sistema.}
  • Encapsulación
    • proceso de ocultar todos los detalles que no contribuyen a sus características importantes.
  • Modularidad
    • Descomposición de un sistema en módulos coherentes e independientes.
  • Jerarquía
    • Orden de las abstracciones organizado por niveles
  • Tipificación
    • Definición precisa de un objeto de tal forma que objetos de diferentes tipos no puedan ser intercambiados
  • Concurrencia
    • Propiedad que distingue un objeto inactivo de uno activo
  • Persistencia.
    • Trascendencia de un objeto en el tiempo

Las relaciones entre objetos definen el comportamiento del sistema, los objetos pueden ser:

  • Actores
    • si únicamente opera sobre otros objetos
  • Servidor
    • Si únicamente es manejado por otros objetos
  • Agente
    • Si posee ambas propiedades.

Actualmente las metodologías más importantes de análisis y diseño de sistemas han confluido en UML bajo el respaldo dela OMG.

Lenguaje Unificado de Modelado (UML)

¿Que es un modelo?

Es una descripción simplificada de un sistema o parte de el, en un lenguaje bien definido.

¿Porque se modela?

Para mejorar la comprensión de lo que se modela, reducir la complejidad o visualizar como es o como se desea que sea el sistema.

Un modelo facilita la comunicación entre el equipo al existir un lenguaje común y se dispone de documentación que trasciende al proyecto.

Un buen modelo debe presentar las siguientes características

  1. Exacto
  2. Consistente
  3. Fácil de comunicar
  4. Fácil de cambiar
  5. Entendible

¿Que es UML?

Es un lenguaje desde la perspectiva OO,es llamado un lenguaje de modelado  no un método, los cuales consisten de un lenguaje de modelado y de un proceso.

debe considerarse acerca de UML lo siguiente:

  • UML s una anotación, no un proceso
  • Se han definido procesos para UML
  • Es utilizable en procesos que no sean UML.

emergió en los 90 luego de la búsqueda de un lenguaje de modelado que unificara a la industria, por lo cual es una unión de  otros lenguajes de modelos e incluye características adicionales.

 

Una de las principales metas de UML es avanzar en el estado de la industria proporcionar herramientas de interoperabilidad para el modelado visual de objetos.

 

UML no es:

  • Un lenguaje de programación visual
  • Una herramienta de especificación
  • Un proceso que habilita procesos

Su utilidad incluye:

  • Propósito generar para adquirir, compartir y utilizar conocimientos.
  • Amplia aplicación de modelado que incluye sistemas de software y no-software, dominios y métodos o procesos.
  • Es un método de modelado que es soportado por múltiples herramientas
  • Método de modelado Industrialmente estandarizado.

Objetivos

  • Modelar sistemas
  • Cubrir aspectos relacionados con el tamaño propio de sistemas complejos.
  • Lenguaje utilizable por maquinas y personas
  • Encontrar equilibrio entre expresividad y simplicidad

No se debe confundir UML como un lenguaje de modelado únicamente asociado a objetos, ya que es relativo a sistemas en general.

UML incluye nueve tipos de diagramas que son:

  1. Clases
  2. Objetos
  3. Casos de Uso
  4. Secuencia
  5. Colaboración
  6. Transición de estados
  7. Actividad
  8. Componentes
  9. Distribución

No hay comentarios:

Publicar un comentario