martes, 1 de diciembre de 2015

Clasificación De las Metodologías de Desarrollo de Software

Definición (Metodología Estructurada): 


Tiene como objetivo emplear las metodologías de análisis y diseño estructurado para su uso con herramientas CASE, incrementando la productividad en el desarrollo e implantación de sistemas de información y entre ellas podemos encontrar a Kendall & Kendall entre otras.
Crea los modelos de forma descendente. Son las orientadas a procesos, a datos y las mixtas. Intentan aplicar formas ingenieriles para solucionar problemas técnicos al obtener un sistema de información, proponen la creación de modelos, flujos y estructuras mediante un top-down.
Es la primera aproximación al problema. Está orientada a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema. Se utilizan varias herramientas:
Diagramas de flujo de datos (DFD): Representan la forma en la que los datos se mueven y se transforman. Incluye:
Procesos
Flujos de datos
Almacenes de datos
Los procesos individuales se pueden a su vez descomponer en otros DFD de nivel superior. 
Especificaciones de procesos: Es lo que se escribe para uno de los procesos definidos en el DFD cuando no se puede descomponer más. Puede hacerse en pseudocódigo, con tablas de decisión o en un lenguaje de programación. 
Diccionario de datos: Son los nombres de todos los tipos de datos y almacenes de datos junto con sus definiciones.
Diagramas de transición de estados: Modelan procesos que dependen del tiempo
Diagramas entidad-relación: Los elementos del modelo E/R se corresponden con almacenes de datos en el DFD. En este diagrama se muestran las relaciones entre dichos elementos
Los lenguajes de programación también reflejan esta dicotomía que existe entre la metodologías, así existen lenguajes para la programación estructurada.
Los más famosos son: Cobol, Fortran, C, Pascal y Modula 2.


Metodologías Orientadas a Procesos (Metodologías De Marco, Metodología de Gane y Sarson y Metodologías  de Yourdon/Constantine)


  • La Metodología del Marco Lógico (MML): Es una herramienta que facilita el proceso de conceptualización y análisis de causalidades, así como el diseño, ejecución, monitoreo y evaluación de programas y proyectos desde una perspectiva de orientación por objetivos. Su adopción permitió uniformar la terminología, y establecer un formato general para presentar la Matriz de Indicadores por Resultados (MIR) de manera estructurada (SHCP, 2012).
    Sin embargo, esta metodología, de origen creada para proyectos de organizaciones no gubernamentales, ha sido objeto de un proceso de evolución y/o adaptación. Entre las adaptaciones producto del proceso evolutivo destacan dos desarrollos: la Planificación de Proyectos orientada a Objetivos (ZOPP, por sus siglas en Alemán), de la Agencia de Cooperación Técnica Alemana (GTZ), y la Gestión del Ciclo del Proyecto, empleada por la Comisión Europea. Como producto de las críticas a la metodología, también han surgido alternativas al MML, entre las que destacan el Mapeo de Alcances (MMA), promovida por el International Development Research Centre (IDRC) en Canadá, y el Mapeo Social (MS), impulsado por Rick Davies, consultor independiente experto en evaluación y desarrollo, entre otras varias alternativas.
    En el ambiente de proyectos se identifican dos tipos principales: Proyectos Duros y Proyectos Suaves. Entre los primeros se incluyen aquellos que buscan producir resultados tangibles, como la construcción de una presa, una carretera, un puente o una fábrica. Los Proyectos Suaves, para los cuales es especialmente útil el Marco Lógico, son los que buscan obtener intangibles, y su impacto suele verse hasta después de algún tiempo de terminados, por ejemplo:

    Planeación estratégica.
    Planeación de negocios.
    Desarrollo comunitario.
    Conservación de la biodiversidad.
    Capacitación y educación.
    Mercadotecnia.
    Cambios culturales.
    Concientización.
    Mejoramiento de la calidad de procesos y desempeño de las personas y organismos.
    Investigación y obtención de información.

    Este tipo de proyectos se denominan suaves porque sus resultados son abstractos, intangibles o subjetivos, es decir, no se pueden tocar.
    La estructura del marco lógico es una matriz de 4 columnas por 4 renglones.
  • La Metodología de Gane y Sarson: Esta obra de Chris Gane y Trish Sarson, autores de reconocido prestigio en los Estados Unidos, es una exposición valiosa, que puede calificarse de imprescindible, del proceso de resolución integrada, gradual y orgánica, de los actuales sistemas complejos de información computadorizada. Dicho desarrollo es también orgánico, pues su metodología se basa en el esquema top-down o descendente, por medio del cual los problemas se encaran y resuelven paso a paso, a partir de las definiciones de nivel superior, apoyándose en éstas al entrar en mayor detalle, todo mediante procedimientos especialmente apropiados y clasificadores. El desarrollo del tema es gradual porque la complementación del complejo equipo humano que participa en el proceso se efectúa de un modo armónico y natural, volcando todo su aporte a través de una oportuna interrelación. Los autores emplean las mejores herramientas y modelos -lógicos y físicos, cada uno de ellos a su tiempo-, así como el moderno esquema de diccionario de datos, y las más avanzadas técnicas de tratamiento de la información y de base de datos. Esta metodología en que igual que otras, no se saben si pertenecen a los campos de las tecnologías o las herramientas, y su mayor apogeo en la década de los 80. En particular gane-sarson al comenzar el desarrollo de un diagrama de flujo de datos, crea una lista de entidades que expliquen las entradas que llegan a cada una y las salidas que hacia ellas fluyen. Las diferencias mas notorias en comparación a la metodología de yourdon es política de refinamiento, modelamiento del sistema actual, y relación del DFD con el modelo de datos.
  • La Metodología de Yourdon/Constantine: Todo inicia identificado el problema, posteriormente se procede a modelar el aspecto dinámico o el aspecto estático del sistema. El aspecto dinámico está definido por el aspecto ambiental y el aspecto de comportamiento. El aspecto estático está definido por el aspecto de información. Aspecto ambiental.- Define las entradas y salidas del sistema con su entorno. Para representar este aspecto se utiliza un diagrama de contexto (DC) donde el sistema se representa por una burbuja y los agentes que proporcionan o reciben información por rectángulos. El flujo de información entre el sistema y el agente se dibuja con una línea curva. Aspecto de comportamiento.- Define el comportamiento interno del sistema para procesar las entradas en salidas. Para representar este aspecto se ocupa el diagrama de flujo de datos (DFD) y el diagrama de transición de estados (DTE). En el DFD Se ocupan los mismos símbolos que en el DC pero se hace uso de los almacenes que se representar por dos líneas paralelas, estos almacenes son los encargados de tener los datos que requieren las burbujas (procesos) que requieren para trabajar. Aspecto de Información.- Define la persistencia de los datos que se serán utilizados por los proceso. Para representar este aspecto se ocupa el diagrama de entidad-relación (DER).

    Realizar los DFD del sistema. Realizar el diagrama de estructuras a partir del DFD, mediante análisis de transformación, y análisis de transacción. Evaluación del diseño midiendo la calidad de la estructura mediante el acoplamiento y cohesión. Preparación del diseño para la implementación dividiéndola en Unidades. Físicas o cuadernos de carga.


Metodologías Orientadas a Datos Jerárquicos - Metodologías Orientadas a Datos no Jerárquicos 



  • Metodologías Orientadas 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).
  • Metodologías Orientadas 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 (Information Engineering - 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.


Metodologías Mixtas (Metodologías Merise, Metodología SSADM y Metodología Métrica)  



  • Metodologías  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 usuarios y ordenador en la explotación. (Esquema director).


    Nivel.- Conceptual, Organización, Operacional.
    Tratamientos.- Modelo Concepto, Modelo Organizacional, Modelo Operacional.
    Datos.- Modelos Conceptual, Modelo Lógico, Modelo Físico.
    Opción.- De Gestión, De Organización, Técnica.
  • Metodologías 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.
  • Metodologías Métrica: Es la metodología adoptada como estándar por la Administración Pública Española. Consiste en un conjunto de fases donde se utilizan multitud de técnicas conducentes a la obtención de aplicaciones de calidad, fáciles de mantener y muy bien documentadas.

    Proporcionar o definir Sistemas de Información que sirvan a la consecución de los fines de la Organización mediante la definición de un marco estratégico para el desarrollo de los mismos.
    Dotar a la Organización de Productos software que satisfagan las necesidades de los usuarios dando una mayor importancia al análisis de requisitos.
    Mejorar la productividad permitiendo una mayor capacidad de adaptación a los cambios y teniendo en cuenta la reutilización en la medida de lo posible.
    Facilitar la comunicación y entendimiento entre los distintos participantes en la producción de software a lo largo de todo el ciclo de vida.
  • Facilitar la operación, mantenimiento y uso de los Productos software obtenidos.

Metodologías Orientadas a Objetos:La metodología orientada a objetos ha derivado de las metodologías anteriores a éste. Así como los métodos de diseño estructurado realizados guían a los desarrolladores que tratan de construir sistemas complejos utilizando algoritmos como sus bloques fundamentales de construcción, similarmente los métodos de diseño orientado a objetos han evolucionado para ayudar a los desarrolladores a explotar el poder de los lenguajes de programación basados en objetos y orientados a objetos, utilizando las clases y objetos como bloques de construcción básicos. 
Actualmente el modelo de objetos ha sido influenciado por un número de factores no sólo de la Programación Orientada a Objetos, POO (Object Oriented Programming, OOP por sus siglas en inglés). Además, el modelo de objetos ha probado ser un concepto uniforme en las ciencias de la computación, aplicable no sólo a los lenguajes de programación sino también al diseño de interfaces de usuario, bases de datos y arquitectura de computadoras por completo. La razón de ello es, simplemente, que una orientación a objetos nos ayuda a hacer frente a la inherente complejidad de muchos tipos de sistemas. Se define a un objeto como "una entidad tangible que muestra alguna conducta bien definida". Un objeto "es cualquier cosa, real o abstracta, acerca de la cual almacenamos datos y los métodos que controlan dichos datos".


Metodologías  para Desarrollo de Sistemas en Tiempo Real:

El presente trabajo propone una metodología de desarrollo de sistemas de tiempo real que hace un énfasis especial en la consideración de los requisitos no funcionales característicos de este tipo de sistema como los requisitos temporales, la concurrencia, la asignación de prioridades o la interacción con dispositivos físicos. La metodología toma elementos de otras ya existentes, como SOMT y OCTOPUS y propone mecanismos propios para solventar parcialmente problemas como el paso del modelo de objetos al modelo de proceso y la asignación de prioridades. La metodología se divide en cuatro fases divididas en dos áreas distintas, la de los aspectos funcionales y los no funcionales. Durante toda la metodología se usa orientación objetivo y UML. Para aprovechar las ventajas de los métodos formales, como simulación, validación y generación de códigos se propone una semántica formal para parte de los aspectos dinámicos de UML, concretamente las acciones y las máquinas de estados. La semántica propuesta se basa en metamodelado y en el lenguaje MML. En ellas se distingue entre los la sintaxis abstracta y el dominio semántico. Los elementos válidos de ambos conjuntos se definen mediante diagramas de clases, de los que han de ser instancias válidas, y restricciones expresadas en el lenguaje funcional OCL. Los elementos de ambos conjuntos están relacionados entre si a través de la semántica, que implica una relación de uno (en la sintaxis abstracta, el extremo OF ) a muchos (en el dominio semántico, el extremo instantes ). Con este esquema, se ha definido una semántica para acciones y ejecuciones, con una jerarquía de clases para los diferentes tipos de acciones y ejecuciones, En el primer nivel de esa jerarquía se distinguen acciones primitivas y compuestas. Una acción se define como un procedimiento computacional que modifica el estado de un elemento del sistema.


RESUMEN: 

las metodologías de análisis y diseño estructurado para su uso con herramientas CASE, incrementando la productividad en el desarrollo e implantación de sistemas de información y entre ellas podemos encontrar a Kendall & Kendall entre otras.
Está orientada a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema. Se utilizan varias herramientas:
Diagramas de flujo de datos (DFD): Representan la forma en la que los datos se mueven y se transforman. Incluye:
Procesos
Flujos de datos
Almacenes de datos
Los procesos individuales se pueden a su vez descomponer en otros DFD de nivel superior. 
Especificaciones de procesos: Es lo que se escribe para uno de los procesos definidos en el DFD cuando no se puede descomponer más. Puede hacerse en pseudocódigo, con tablas de decisión o en un lenguaje de programación. 


SUMMARY:

analysis methodologies and structured design for use with CASE tools , increasing productivity in the development and implementation of information systems and among them we find Kendall & Kendall among others.
It is process-oriented , ie , focusing on specific and decompose the system functionality. Several tools are used :
Data flow diagrams (DFD ) represent the way in which data is moved and transformed . It includes:
processes
Data Flows
Datastores
Individual processes can in turn be decomposed into other higher-level DFD .
Process specifications : Is what is written to one of the processes defined in the DFD when you can not break more . It can be done in pseudocode , decision tables or in a programming language .


RECOMENDACIONES:


Una de las recomendaciones es que debemos tener encuenta de acuerdo al análisis que tengamos para realizar estos tipos de metodologías y poner en practica deacuerdo a un tema o investigación que realicemos estos criterios.


CONCLUSIONES: 

Metodología de desarrollo de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.

GLOSARIO DE TÉRMINOS:


  • Marco: En software, un marco o frame es utilizado en arte gráfico y procesadores de textos para ayudar a enfocar la atención del espectador.
  • Metamodelado: es lo que esta mas aya del modelo de como estructuramos nuestro lenguaje.
  • Semántica: desarrolla una serie de problemas lógicos de significación, estudia la relación entre el signo lingüístico y la realidad. Las condiciones necesarias para que un signo pueda aplicarse a un objeto, y las reglas que aseguran una significación exacta.

BIBLIOGRÁFICA O LINKOGRAFIA:


http://metodologiasestructuradas.blogspot.pe/2009/02/metodologias-estructuradas.htmlhttp://www.outcomemapping.ca/download/Tesis%20DDDS%2002122014.pdf
http://www.cedec.com.mx/index.php?option=com_content&view=article&id=56:marco-logico
http://85517amdsi.blogspot.pe/2010/08/metodologias-estructuradas.html
http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060030/lecciones/Capitulo%203/datos.htm
https://sites.google.com/site/adai6jfm/principales-metodologas-de-desarrollo-europeas
http://profesores.fi-b.unam.mx/carlos/aydoo/conceptos_oo.html.


Trabajo en diapositiva: http://es.slideshare.net/ElvisAR/clasificacin-de-las-metodologas-de-desarrollo-de-software-55718151









No hay comentarios.:

Publicar un comentario