martes, 1 de diciembre de 2015

·       Orientados a Datos Jerárquicos
Orientados a Datos No Jerárquicos
1. Orientados a Datos Jerárquicos: La estructura de control del programa debe ser jerárquica y debe derivarse de la estructura de datos. El proceso de diseño consiste en definir primero las estructuras de entrada y salida, para posteriormente combinarlas con el fin de obtener la estructura del programa. Finalmente se ordena la lógica procedimental para que se ajuste a esta estructura. El diseño lógico debe preceder y estar separado del diseño físico Métodos:
·         JSP (Jackson Structured Programming) y JSD (Jackson Structured Design) de Jackson (1975)
·         LCP (Logical Construction Program) de Warnier (1974)
·         LCS (Logical Construction Systems) de Warnier y Orr (1981)
2. Orientados a Datos No Jerárquicos: Los datos son la parte esencial del sistema porque son más estables que los procesos que actúan sobre ellos. Son una representación de un modelo de datos de la organización formado por un conjunto de entidades de datos básicas y las relaciones entre ellas. Los procesos derivan de una definición inicial de los datos.Métodos:
·         Metodología Ingeniería de la Información (InformationEngineering - IE) de J. Martin y C. Finkelstein [Martin,1986.
– Planificación: Se construye una arquitectura de la información y una estrategia que soporte los objetivos de la organización – Análisis: Se comprenden las áreas de negocio y se determinan los requisitos del sistema – Diseño: Se establece el comportamiento del sistema deseado por el usuario y que sea alcanzable por la tecnología
– Construcción: Se construye el sistema que cumpla los tres niveles anteriores


·         Orientados a Datos Jerárquicos
·         Orientados a Datos No Jerárquicos
1. Orientados a Datos Jerárquicos: La estructura de control del programa debe ser jerárquica y debe derivarse de la estructura de datos. El proceso de diseño consiste en definir primero las estructuras de entrada y salida, para posteriormente combinarlas con el fin de obtener la estructura del programa. Finalmente se ordena la lógica procedimental para que se ajuste a esta estructura. El diseño lógico debe preceder y estar separado del diseño físico Métodos:
·         JSP (Jackson Structured Programming) y JSD (Jackson Structured Design) de Jackson (1975)
·         LCP (Logical Construction Program) de Warnier (1974)
·         LCS (Logical Construction Systems) de Warnier y Orr (1981)
2. Orientados a Datos No Jerárquicos: Los datos son la parte esencial del sistema porque son más estables que los procesos que actúan sobre ellos. Son una representación de un modelo de datos de la organización formado por un conjunto de entidades de datos básicas y las relaciones entre ellas. Los procesos derivan de una definición inicial de los datos.Métodos:
·         Metodología Ingeniería de la Información (InformationEngineering - IE) de J. Martin y C. Finkelstein [Martin,1986.
– Planificación: Se construye una arquitectura de la información y una estrategia que soporte los objetivos de la organización – Análisis: Se comprenden las áreas de negocio y se determinan los requisitos del sistema – Diseño: Se establece el comportamiento del sistema deseado por el usuario y que sea alcanzable por la tecnología
– Construcción: Se construye el sistema que cumpla los tres niveles anteriores

PRINCIPALES  METODOLOGÍAS  DE  DESARROLLO.

4.1.-  Metodología MERISE.

Esta metodología surge en Francia en 1977 a propuesta del Ministerio de Industria, como un intento de unificar criterios en torno a la metodología de desarrollo para los sistemas informáticos de la Administración Pública Francesa.

Sus principios generales son:
  • Desglose en etapas: estudio preliminar, estudio detallado, realización y puesta en marcha.
  • División en el estudio de los tratamientos por un lado y el estudio de los datos por otro.
  • Uso del modelo Entidad/Relación y sus formalismos para representar los datos.
  • Uso de los Diagramas de Encadenamiento de Procedimientos para representar los tratamientos.
  • Completo reparto de tareas y responsabilidades entre los desarrolladores durante la fase inicial, y entre los ususarios y ordenador en la explotación. (Esquema director)


NIVEL TRATAMIENTOS DATOS OPCIÓN 
CONCEPTUAL Modelo Conceptual Modelo ConceptualDe gestión 
ORGANIZACIONAL Modelo Organizacional    Modelo Lógico De organización 
OPERACIONALModelo Operacional Modelo FísicoTécnica 




4.2.-  Metodología SSADM.  (Método Estructurado de Análisis y Diseño de Sistemas).

Aparece en Gran Bretaña por los mismos motivos que MERISE y se establece como obligatoria para la Administración Pública a partir de 1983.

Los aspectos claves de esta metodología son:
  • Énfasis en los usuarios: sus requisitos y participación.
  • Definición del proceso de producción.
  • Tres puntos de vista: datos, eventos y procesos.
  • Máxima flexibilidad en herramientas y técnicas de implementación.
SSADM proporciona un conjunto de procedimientos para llevar a cabo el análisis y diseño, pero no cubre aspectos como la planificación estratégica ni entra en la construcción del código.


METODOLOGIA METRICA



METODOLOGÍA ORIENTADA  A OBJETOS
Una metodología de ingeniería del software es un proceso para producir software de una manera organizada, usando convenciones y técnicas de notación predefinidas. Desde que la comunidad de programación orientada a objetos tuvo la noción de incorporar el pensamiento de que los objetos son entidades coherentes con identidad estado y conducta, estos objetos pueden ser organizados por sus similitudes y sus diferencias, puestas en uso en herencia y polimorfismo, las metodologías orientadas a objetos incorporan estos conceptos para definir sus reglas, normas, procedimientos, guías y notaciones para alcanzar un producto de calidad que satisfaga las necesidades del cliente

Que consta de los siguientes elementos:

Un ciclo de vida que permita adaptarse a las reglas de negocio y factibilidades tecnológicas

Conjunto completo de modelos y conceptos internamente consistentes

Colección de reglas y guías de desarrollo

Notación

Técnicas para pruebas

Métricas apropiadas

Estándares y estrategias de pruebas

Identificación de reglas organizacionales, de reglas de negocios y programación

Guía de manejo de proyectos y control de calidad.

Metodología OMT

Object Modeling Technique (OMT):
Es importante el modelo y  uso del mismo para lograr una abstracción, en el cual el análisis está enfocado en el mundo real para un nivel de diseño, también pone detalles particulares para modelado de recursos de la computadora. Esta metodología puede ser aplicada en varios aspectos de implementación incluyendo archivos, base de datos relacionales, base de datos orientados a objetos. OMT está construido alrededor de descripciones de estructura de datos, constantes, sistemas para procesos de transacciones.OMT pone énfasis en especificaciones declarativas de la información, para capturar los requerimientos, especificaciones imperativas para poder descender prematuramente en el diseño, declaraciones que permiten optimizar los estados, además provee un soporte declarativo para una directa implementación de DBMS
Data Base Manager System

Los puntos más importantes para esta metodología son los siguientes:
Poner énfasis en el análisis y no en el desarrollo.
Poner énfasis en los datos más que en las funciones, lo que proporciona estabilidad al proceso de desarrollo.
Utilizar una notación común en todas las fases a través de tres modelos que capturan los aspectos estáticos, dinámicos y funcionales que combinados proveen una descripción completa del software. La Metodología OMT divide el proceso de desarrollo en tres partes aisladas: análisis, diseño e implantación.

 Análisis: 
Su objetivo es desarrollar un modelo de lo que va a hacer el sistema. El modelo se expresa en términos de objetos y de relaciones entre ellos, flujo dinámico de control y las transformaciones funcionales.

Diseño: 
Es la estrategia de alto nivel para resolver el problema y cómo construir una solución. Se define la arquitectura del sistema y se toman las decisiones estratégicas.

Implementación:
En esta fase se convierte finalmente el diseño de objetos en código. A su vez, cada una de estas fases se divide en su tareas, como son: modelos de objetos, dinámico y funcional; análisis y del sistema, y objetos del sistema.

Modelo de Objetos:
En esta primera parte del análisis se forma una primera imagen del modelo de clases del sistema con sus atributos y las relaciones entre ellas, usando para ello un diagrama entidad relación modificada en el que además de las clases y sus relaciones se pueden representar también los métodos.

Modelo Dinámico:
El modelo dinámico usa un grafo para representar el comportamiento dinámico de cada clase, es decir, el comportamiento de estas ante cada evento que se produce en el sistema. Un evento desencadenará en un cambio de estado en la clase que se traducirá en una modificación de los atributos o relaciones de ésta.

Modelo Funcional: 
Muestra que es lo que el sistema ha de hacer mediante un diagrama de flujo de datos, sin entrar en la secuencia temporal en la que los procesos se ejecutan. El modelo funcional puede revelar nuevos objetos y métodos que se pueden incorporar en los dos modelos anteriores. Por eso se dice que el método OMT es iterativo.

Diseño del Sistema: 
Se centra en la parte física del sistema como la descomposición de éste en subsistemas, el tipo de entorno en el que se va a ejecutar, el manejo de recursos y el almacenamiento de datos.

Diseño de los objetos: 
Determina que operaciones van a realizar los métodos y profundiza incluso los algoritmos que va a usar. Se escogen los distintos tipos de representación de datos y se subdivide en módulos que pasarán a formar parte de la implementación.



Metodología BOOCH
Object Oriented  Design - Grady Booch



La metodología Booch (OOD), es una metodología de propósito general en la que se parte de que cada etapa no es un proceso aislado si no que ha de
Interactuar con sus siguientes y precedentes en una especie de bucle del que se sale cuando se esté satisfecho con el modelo conseguido. En un principio se tienen una serie de objetos y clases que forman el sistema, a continuación se construye el modelo de interfaz y se examinan las relaciones entre las clases lo que, a su vez, genera la adición de nuevos interfaces que generarán nuevas relaciones iterándose hasta llegar al estado de refinamiento deseado. El método Booch proporciona un conjunto de herramientas gráficas y notaciones que ayudan representar visualmente los modelos definidos en las fases de análisis y diseño.
 Algunas de ellas son:

Diagramas de clase: 
Es una variación de los diagramas de entidad relación en los que se añaden nuevos tipos de relaciones como la herencia, instanciación y uso. Además permite agrupar las clases y relaciones en categorías para diagramas demasiado complejos.
Diagramas de objetos: 
En este tipo de gráfico de muestran los objetos y sus relaciones de forma dinámica mostrando la forma en la que los objetos se pasan mensajes entre ellos. Así mismo, en esto diagramas es posible representarla visibilidad de los objetos siendo ésta la que determina que objetos se pueden comunicar con otros.
Diagramas temporales: 
Muestran la secuencia temporal de creación y destrucción de objetos. Suelen ir acompañados de pseudocódigo en el que se explica el flujo de mensajes de control entre los objetos del sistema.
Diagramas de transición de estados: 
Permiten definir como las instancias de las clases pasan de un estado a otro a causa de ciertos eventos y que acciones se desencadenan de esos cambios de estado.
Diagramas de módulo y proceso:
En Booch, en la fase de implementación, es posible representar mediante estos gráficos la parte física del sistema, es decir, podemos mostrar cómo se van a almacenar internamente las clases y objetos, relaciones entre módulos en tiempo de compilación, procesos, dispositivos y las comunicaciones entre ellos.

Metodología RUP
Rational Unified Process (RUP)





Proceso Unificado de Desarrollo es el resultado de tres décadas de desarrollo y uso práctico. Es un conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema de software. Más que un simple proceso de trabajo, es un marco de trabajo genérico que puede especializarse para una gran variedad de dominios. Rational Unified  Process (RUP), es la metodología estándar de la industria para la construcción completa del ciclo de ingeniería de software, tanto para sistemas tradicionales como para sistemas web. Esta metodología permite mayor productividad en equipo y la realización de mejores prácticas de software a través de plantillas y herramientas que guían en todas las actividades de desarrollo crítico del software. RUP unifica las disciplinas en lo que a desarrollo de software se refiere, incluyendo modelado de negocio,
El manejo de requerimientos, componentes de desarrollo, ingeniería de datos, manejo y configuración de cambios, y pruebas, cubriendo todo el ciclo de vida de los proyectos basado en la construcción de componentes y maximizando el uso del UML (Unified Modeling Language). El software en construcción está formado por componentes interconectados a través de interfaces. Los puntos principales en los que se basa RUP son los siguientes:
Casos de Uso:
Los casos de uso representan los requisitos funcionales de la aplicación a ser desarrollada; en otras palabras, qué es lo que debe hacer el sistema.
Arquitectura del producto:
El concepto de arquitectura de software incluye los aspectos estáticos y dinámicos más significativos del sistema. Hay que tomar en cuenta que tanto la arquitectura como los casos de uso deben ser generados en paralelo, pues los casos de uso deben encajar en la arquitectura, así como la arquitectura debe permitir que los casos de uso se lleven a cabo.
Ciclo de vida Iterativo Incremental:
El ciclo de vida Iterativo Incremental, consiste en dividir el trabajo en partes más pequeñas o mini proyectos. Cada mini proyecto es una iteración que resulta en un incremento. Las iteraciones hacen referencias a pasos en el flujo de trabajo, y los incrementos, al crecimiento del producto. Para una efectividad máxima,
Las iteraciones deben estar controladas; esto es, deben seleccionarse y ejecutarse desuna forma planificada. El RUP se sostiene en los tres puntos básicos anteriores. Para hacer que funcionen, se necesitan un proceso polifacético, que tenga en cuenta ciclos, fases, flujos de trabajo, gestión del riesgo, control de calidad, gestión del proyecto y control de la configuración. El RUP ha establecido un Framework que integra todas esas diferentes facetas.
PROCESO UNIFICADO

 Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational o simplemente RUP.
El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos. De la misma forma, el Proceso Unificado de Rational, también es un marco de trabajo extensible, por lo que muchas veces resulta imposible decir si un refinamiento particular del proceso ha sido derivado del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres suelen utilizarse para referirse a un mismo concepto.
El nombre Proceso Unificado se usa para describir el proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes.
OOram

OOram (Object-Oriented Role Analysis and Modeling) Es un método de
Análisis y diseño basado en la metáfora de la orientación a objetos pero que introduce
El concepto de modelo de roles como principal mecanismo de abstracción que
Utilizará el modelador. El modelado con roles fue ideado para modelar grandes
Sistemas y con el propósito de favorecer una implementación en lenguajes de
Programación orientada a objetos. Para ello el sistema se descompone en un conjunto
De subsistemas o áreas de interés que representan actividades desempeñadas por una
Estructura de objetos que colaboran entre sí. Cada una de estas estructuras es descrita
Mediante un modelo de roles.
Un modelo de roles describe los objetos que participan en una actividad y las
Interacciones entre ellos; contiene un conjunto de roles, de modo que todos los
Objetos que ocupan una misma posición en la estructura son representados por un rol.
Un rol describe el comportamiento de un objeto en el contexto de una actividad.
La figura 1 muestra el modelo de roles Compras Proyecto que describe la actividad
Asociada a una solicitud de compra por un miembro de un proyecto desarrollado en
Una organización. El modelo se representa mediante una vista colaboración y una
Vista escenario, que son las más utilizadas del conjunto de vistas que ofrece OOram.
Modelo de roles
De la vista escenario se deduce fácilmente la secuencia de acciones que incluye la
Actividad. Si dos roles están conectados mediante una línea, significa que existe una
Interacción entre ellos. Si en el extremo de una línea aparece un puerto, significa que
Un objeto que juegue el rol asociado enviará mensajes a un objeto que juegue el rol
Del otro extremo de la línea. El envío de un mensaje provoca la ejecución de una
Operación o método sobre el objeto del rol que lo recibe. Un puerto representado con
Un doble círculo denota que la interacción puede ser con un conjunto de objetos.
OOram también incluye la vista diagrama de estados, que describe los estados de
Un rol y las transiciones entre ellos; la vista proceso (basada en el estándar IDEF0
Muestra explícitamente las acciones que realizan los roles y los flujos de
Información que intercambian, y la vista semántica, isomorfa a la vista colaboración
Del mismo modelo, pero que en vez de puertos y caminos de interacción entre roles,
Muestra relaciones de asociación.
El concepto de rol unifica los conceptos clase y objeto: los roles tienen tanto una
Naturaleza estática como dinámica, pues permiten describir las propiedades de los
Objetos que representan, y también pueden usarse para mostrar cómo los objetos
Colaboran entre sí.
Al igual que un objeto, un rol tiene identidad: puede enviar y recibir mensajes.
La extensión de un rol es el conjunto de objetos que pueden representar ese papel;
De forma paralela, la extensión de un modelo de roles es el conjunto de estructuras
De objetos obtenido una vez que hacemos jugar sus roles a los objetos del sistema;
Durante una instanciación, un rol puede ser jugado por un objeto como máximo.
Una clase describe un objeto independientemente del contexto en que dicho objeto
Interacciona con otros; un rol describe un objeto en el contexto de una actividad.
Los roles son independientes de las clases, permiten un modelado que pospone la
Elección de las clases que implementan los objetos y de las relaciones entre ellas.
Un rol puede ser implementado por una o más clases y una clase puede
Implementar uno o más roles.

Método de Fusión


Fusion proporciona un método de desarrollo de software orientado al objeto, que abarca desde la definición de requisitos a la implementación en un lenguaje de programación.


Es considerada como una metodología de segunda generación, porque proviene de:

OMT: modelo de objetos,
CRC: interacción de objetos,
BOOCH: visibilidad,
Los métodos Formales: pre- y post- condiciones.
Proporciona un proceso de desarrollo, que se divide en:
Análisis, Diseño e Implementación.1
Ofrece notaciones para los modelos, que describen varios aspectos del software.
Actualmente ha abandonado su notación.
Proporciona herramientas de gestión.

Análisis
El análisis se basa más en describir lo que hace un sistema en lugar de cómo lo hace. Para esto, hay que ver el sistema desde la perspectiva del usuario en lugar de desde la de la máquina. El análisis casa con el dominio del problema y se preocupa por el comportamiento visible externamente.
La meta de la fase de análisis es capturar tantos requisitos del sistema como sea posible. Se producen los siguientes modelos del sistema:
Modelo de objetos
Modelo de la interfaz
Modelo del funcionamiento,
Modelo del ciclo de vida.

Estos modelos describen:
Clases de objetos que existen en el sistema.
Relaciones entre esas clases.
Operaciones que pueden realizarse en el sistema.
Secuencias permitidas de estas operaciones.
La entrada para la fase de análisis es un documento de definición de requisitos en lenguaje natural.

Modelo de objetos
La finalidad del modelo de objetos en Fusion es: capturar los conceptos que existen en el dominio del problema y las relaciones entre ellos, mostrar clases y sus relaciones, (no mostrar objetos)
El modelo de objetos representa: la estructura estática de la información en el sistema, las clases y relaciones entre ellas

Especifica el orden en el que deben hacerse las cosas dentro de cada fase. También proporciona criterios de cuándo pasar a la siguiente fase.

En la fase del análisis de Fusion, sólo los atributos de una clase son considerados. Los métodos son considerados en la fase de diseño. Por consiguiente, en la fase del análisis, los objetos son similares a las entidades en el tradicional modelo entidad relación.
Atributos de clases,
Agregación,
Especialización/generalización.






No hay comentarios.:

Publicar un comentario