martes, 11 de agosto de 2015

METODOLOGIAS

Necesidad de una metodología
El proceso de construcción del software requiere, identificar las tareas que se han de realizar sobre el software y aplicar esas tareas de una forma ordenada y efectiva.

El desarrollo del software se debe realizar por un conjunto coordinado de personas simultáneamente, y por lo tanto sus esfuerzos deben estar dirigidos por una misma metodología que permita estructurar las diferentes fases del desarrollo.


Metodología estructurada
Es la primera aproximación al problema. Está orientada a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema.
Herramientas utilizadas:
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ía orientada a objetos.
La orientación a objetos es la más reciente.
ventajas:
Está basada en componentes, lo que significa que es más fácil reutilizar código hecho por terceras personas.

Es fácil de mantener debido a que los cambios están más localizados.

Diseño estructurado : ¿Cómo se puede dividir el sistema en partes más pequeñas que puedan ser resueltas por algoritmos sencillos y qué información se intercambian?.

En el diseño orientado a objetos la idea es sin embargo: ¿Cuales son los tipos de datos que hay que utilizar, que características tienen y como se relacionan?.
La orientación a objetos supone un paradigma distinto del tradicional (no necesariamente mejor o peor) que supone focalizar la atención en las estructuras de datos.

El concepto de objetos tuvo sus orígenes en la inteligencia artificial como un modo de representación del conocimiento.


El primer lenguaje orientado a objetos fue Simula67, desarrollado por Kristen Nggaardy Ole-Johan Dahl en el centro de cálculo noruego, pero el que se considera el primer lenguaje orientado a objetos puro fue Smaltalk, donde todos los elementos del lenguaje son objetos.

El lenguaje C++ fue una ampliación de C para que soportara objetos, resultó muy eficiente y también muy complejo.

Java es otro lenguaje orientado a objetos derivado de C++ pero con la idea de ser más sencillo.


Objetos y clasesUn objeto consta de una estructura de datos y de una colección de métodos (antes llamados procedimientos o funciones) que manipulan esos datos.

Los datos definidos dentro de un objeto son sus atributos. Un objeto solo puede ser manipulado a través de su interfaz, esto es, una colección de funciones que implementa y que son visibles al exterior

Las clases y objetos tienen muchas características:

Herencia: Es una relación de generalización, cuando varias clases comparten características comunes, estas se ponen en una clase antecesora.

Polimorfismo: Es la capacidad de un objeto de presentar varios comportamientos diferentes en función de como se utilice, por ejemplo, se pueden definir varios métodos con el mismo nombre pero diferentes argumentos.

Durante la etapa de análisis se identifican los objetos del dominio del problema. En el diseño se definen cuales son las características de los objetos.

No hay comentarios:

Publicar un comentario