clasificación de las metodologías de desarrollo de software

31
INSTITUTO SUPERIOR TECNOLOGICO PRIVADO “JUAN MEJIA BACA” Curso: Ingeniería de Software I Tema: Clasificación de las Metodologías de Desarrollo de Software Profesor: Marco Aurelio Porro Chulli Nombre: Eliset Rosa Apellidos: Gonzales Uceda Carrera : Computación Informática Ciclo: 5° Ciclo

Upload: eliset-gonzales-uceda

Post on 20-Jan-2017

161 views

Category:

Business


1 download

TRANSCRIPT

Page 1: Clasificación de las metodologías de desarrollo de software

INSTITUTO SUPERIOR TECNOLOGICO PRIVADO“JUAN MEJIA BACA”

Curso: Ingeniería de Software I

Tema: Clasificación de las Metodologías de Desarrollo de Software

Profesor: Marco Aurelio Porro Chulli

Nombre: Eliset Rosa

Apellidos: Gonzales Uceda

Carrera : Computación Informática

Ciclo: 5° Ciclo

2015

METODOLOGIAS ESTRUCTURADAS

Page 2: Clasificación de las metodologías de desarrollo de software

En la literatura sobre este tema existen muchas definiciones sobre lo que es una metodología. Más o menos todas ellas coinciden en que debería tener al menos las siguientes características:Define como se divide un proyecto en fases y las tareas a realizar en cada una.Para cada una de las fases está especificado cuales son las entradas que reciben y las salidas que producen.Tienen alguna forma de gestionar el proyecto.Teniendo esto en cuenta establecemos la siguiente definición: Metodología es un modo sistemático de producir software.

Taxonomía de las metodologíasExisten dos grupos de metodologías en función de la mentalidad con la que se aborda el problema: metodología estructurada o metodología orientada a objetos. A la que nos vamos a abocar en este tema es a la metodología Estructurada.

Metodología estructuradaTiene 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:ProcesosFlujos de datosAlmacenes de datosLos 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 tiempoDiagramas 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 elementosLos 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.

METODOLOGIAS ORIENTADAS A PROCESOS:

Page 3: Clasificación de las metodologías de desarrollo de software

La orientación a procesos no es un fin en sí mismo, sino un medio para que la organización se gestione de forma más eficiente y alcance sus objetivos.

En los años 90 las compañías occidentales se convencen de que para tener ventaja sostenible no basta simplemente con reformular la estrategia; es esencial disponer de los procesos que permitan implementar la estrategia de forma efectiva.

• La presión competitiva no es la principal razón. El principal ímpetu de la gestión orientada a procesos proviene de los clientes, de sus crecientes exigencias de calidad, rapidez y mejor información.

• Ello requiere además de disponer de productos diferenciales, de aplicar procesos efectivos y eficientes en términos de abastecimiento, producción, marketing, venta y de soporte. La innovación en procesos pasa a ser tan importante como la propia innovación en producto

La orientación a procesos proporciona un sistema de gestión con indicadores y facilita la toma de decisiones basada en datos fiables. Permite la asignación equilibrada de recursos a las actividades

En términos simples, un proceso es un conjunto estructurado de actividades para producir un resultado concreto para un cliente o mercado. Implica un fuerte énfasis en cómo se realiza el trabajo en una organización frente a un enfoque por producto, cuyo énfasis está en el qué se produce.

• La gestión orientada a procesos incluye aspectos de estructura, enfoque, medición y responsabilidad sobre procesos y clientes.

• El objetivo de la gestión orientada a procesos es mejorar el resultado económico, bien sea por los mayores ingresos derivados de unos clientes más fieles y satisfechos, o por un mejor ajuste en la necesidad de recursos.

• Adoptar un programa de gestión orientada a procesos implica un compromiso con su mejora, y para ello es necesaria su medición sistemática.

Metodologías de marco:

La Metodología de Marco Lógico es una herramienta para facilitar el proceso de conceptualización, diseño, ejecución y evaluación de proyectos. Su énfasis está centrado en la orientación por objetivos, la orientación hacia grupos beneficiarios y el facilitar la participación y la comunicación entre las partes interesadas. Puede utilizarse en todas las etapas del proyecto: En la identificación y valoración de actividades que encajen en el marco de los programas país, en la preparación del diseño de los proyectos de manera sistemática y lógica, en la valoración del diseño de los proyectos, en la implementación de los proyectos aprobados y en el Monitoreo, revisión y evaluación del progreso y desempeño de los proyectos.

El método fue elaborado originalmente como respuesta a tres problemas comunes a proyectos:

Page 4: Clasificación de las metodologías de desarrollo de software

• Planificación de proyectos carentes de precisión, con objetivos múltiples que no estaban claramente relacionados con las actividades del proyecto.

• Proyectos que no se ejecutaban exitosamente, y el alcance de la responsabilidad del gerente del proyecto no estaba claramente definida.

• Y no existía una imagen clara de cómo luciría el proyecto si tuviese éxito, y los evaluadores no tenían una base objetiva para comparar lo que se planeaba con lo que sucedía en la realidad. El método del marco lógico encara estos problemas, y provee además una cantidad de ventajas sobre enfoques menos estructurados:

Aporta una terminología uniforme que facilita la comunicación y que sirve para reducir ambigüedades

• Aporta un formato para llegar a acuerdos precisos acerca de los objetivos, metas y riesgos del proyecto que comparten los diferentes actores relacionados con el proyecto; • Suministra un temario analítico común que pueden utilizar los involucrados, los consultores y el equipo de proyecto para elaborar tanto el proyecto como el informe de proyecto, como también para la interpretación de éste.

• Enfoca el trabajo técnico en los aspectos críticos y puede acortar documentos de proyecto en forma considerable.

Suministra información para organizar y preparar en forma lógica el plan de ejecución del proyecto.

• Suministra información necesaria para la ejecución, monitoreo y evaluación del proyecto; y

• Proporciona una estructura para expresar, en un solo cuadro, la información más importante sobre un proyecto. Es importante hacer una distinción entre lo que es conocido como Metodología de Marco Lógico y la Matriz de Marco Lógico. La Metodología contempla análisis del problema, análisis de los involucrados, jerarquía de objetivos y selección de una estrategia de implementación óptima. El producto de esta metodología analítica es la Matriz (el marco lógico), la cual resume lo que el proyecto pretende hacer y cómo, cuáles son los supuestos claves y cómo los insumos y productos del proyecto serán monitoreados y evaluados.2 Cabe resaltar que la Metodología Marco Lógico es una “ayuda para pensar” y no un sustituto para el análisis creativo, es un instrumento que ayuda a dicho análisis y permite presentar sucintamente diferentes aspectos del proyecto y acompaña como guía, toda la evaluación de una intervención; sea ésta, proyecto o programa. La Metodología contempla dos etapas,3 que se desarrollan paso a paso en las fases de identificación y de diseño del ciclo de vida del proyecto:

• Identificación del problema y alternativas de solución, en la que se analiza la situación existente para crear una visión de la situación deseada y seleccionar las estrategias que se aplicarán para conseguirla. La idea central consiste en que los proyectos son diseñados para resolver los problemas a los que se enfrentan los grupos meta o beneficiarios, incluyendo a mujeres y hombres, y responder a sus necesidades e intereses. Existen cuatro tipos de análisis para realizar: el análisis de involucrados, el análisis de problemas (imagen de la realidad), el

Page 5: Clasificación de las metodologías de desarrollo de software

análisis de objetivos (imagen del futuro y de una situación mejor) y el análisis de estrategias (comparación de diferentes alternativas en respuesta a una situación precisa)

• La etapa de planificación, en la que la idea del proyecto se convierte en un plan operativo práctico para la ejecución. En esta etapa se elabora la matriz de marco lógico. Las actividades y los recursos son definidos y visualizados en cierto tiempo. A continuación se describen los diferentes elementos que componen cada una de estas etapas

Metodología de gane y Sarson:

Es el resultado de varios años de práctica en consultoría de análisis y diseño estructurado.

• Creado por la empresa MCAUTO/IST bajo el nombre de STRADIS SDM.

• Es parecido al de DEMARCO, la principal diferencia es que hay una etapa en la que se define los contenidos de los almacenes de datos que aparecen en DFD en 3FN.

Metodología de Yourdon / Constantine

• 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.

METADOLOGIA ORIENTADA A DATOS JERARQUICOS Y METADOLOGIA ORIENTADA A DATOS NO JERARQUICOS:

Se pueden clasificar en:

Page 6: Clasificación de las metodologías de desarrollo de software

Orientados a Datos Jerárquicos Orientados a Datos No Jerárquicos

METADOLOGIA ORIENTADA A DATOS JERARQUICOS:

 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)

METADOLOGIA ORIENTADA A DATOS NO JERARQUICOS:

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

METADOLOGIAS MIXTAS:La investigación de métodos mixtos (investigación mixta es un sinónimo) es el complemento natural  de la investigación tradicional cualitativa y cuantitativa. Los métodos de investigación mixta ofrecen una gran promesa para la práctica de

Page 7: Clasificación de las metodologías de desarrollo de software

la investigación. La investigación de métodos mixtos es formalmente definida aquí como la búsqueda donde el investigador mezcla o combina métodos cuantitativos y cualitativos, filosóficamente es la "tercera ola”. Una característica clave de la investigación de métodos mixtos es su pluralismo metodológico o eclecticismo, que a menudo resulta en la investigación superior.

Filosóficamente, la investigación mixta hace uso del método pragmático y el sistema de la filosofía, es un método incluyente y plural. La meta de la investigación mixta no es remplazar a la investigación cuantitativa ni a la investigación cualitativa, sino utilizar las fortalezas de ambos tipos de indagación combinándolas y tratando de minimizar sus debilidades potenciales.

Esta metodología reconoce el valor del conocimiento como algo que se ha construido a través de medios cualitativos tales como la percepción y la experiencia basada en los aspectos fácticos del mundo en el que vive la gente. Otra característica clave del enfoque del método mixto es que rechaza el dualismo que se establece entre lo cualitativo o hechos de apoyo y lo cuantitativo o metodologías subjetivas cuyo valor se basa sólo en la exclusividad de uno y otro.

Los métodos de investigación mixta son la integración sistemática de los métodos cuantitativo y cualitativo en un solo estudio con el fin de obtener una “fotografía” más completa del fenómeno. Éstos pueden ser conjuntados de tal manera que las aproximaciones cuantitativa y cualitativa conserven sus estructuras y procedimientos originales (“forma pura”) o pueden ser adaptados, alterados o sintetizados (“forma modificada”).

Con el fin de mezclar la investigación de una manera eficaz, los investigadores  primero deben tener en cuenta todas las características pertinentes de la investigación cuantitativa  y la investigación cualitativa.

Los puristas señalan que los paradigmas de investigación cualitativa y los paradigmas de investigación cuantitativa, incluidas sus métodos asociados, no pueden y no deben mezclarse. Sin embargo; el objetivo de la investigación de métodos mixtos no es  para reemplazar cualquiera de estos métodos, sino más bien a extraer de ambos métodos sus fortalezas y minimizar sus debilidades.   Los métodos de investigación mixta son también un intento de legitimar el uso de múltiples enfoques para responder a las preguntas de investigación, en lugar de restringir o limitar las opciones de los investigadores (es decir, rechazar el dogmatismo).

Por ejemplo, las principales características de  investigación cuantitativa tradicional son un foco en la deducción/confirmación,  teoría / comprobación de hipótesis, la explicación, la predicción, recopilación de datos estandarizado, y el análisis estadístico.

Page 8: Clasificación de las metodologías de desarrollo de software

 Las características principales de   la investigación cualitativa son de inducción, descubrimiento, exploración, teoría /la generación de hipótesis, el investigador como el principal "instrumento" de recopilación de datos y análisis.

El proceso del modelo de métodos de investigación mixta consta de ocho pasos:

 (1) Determinar la pregunta de investigación

(2) Determinar el diseño mixto que es apropiado

(3) Seleccionar el método  mixto o modelo mixto de diseño de la investigación

(4) Recoger la información o datos de entrada

(5) Análisis de los datos

(6) Interpretar los datos

(7) Legitimar los datos o información de entrada

 (8) Sacar conclusiones (si se justifica) y la redacción del informe final.

Hay cinco propósitos principales de razones para llevar a cabo métodos de investigación mixtos:

(a) La triangulación (es decir, la búsqueda de la convergencia y la corroboración de los resultados de los diferentes métodos y modelos que estudian el mismo fenómeno)

(b) La complementariedad (es decir, la búsqueda de colaboración, mejora, ilustración y aclaración de los resultados de un método con los resultados del otro método)

(c) Iniciación (es decir, el descubrimiento de las paradojas y contradicciones que conducen a la re-elaboración de la pregunta de investigación)

(d) Desarrollo (es decir, como los resultados de un método se utilizan para ayudar a explicar el otro método)

(e) De expansión (es decir, buscando la amplitud y el alcance de la investigación mediante el uso de métodos diferentes para diferentes componentes de consulta).

La investigación mixta en realidad tiene una larga historia en la práctica de la investigación.

 La mayoría de los investigadores ignoran que un enfoque mixto mejor les ayudará a responder mejor a sus preguntas de investigación.

Page 9: Clasificación de las metodologías de desarrollo de software

Para construir un diseño de método mixto, el investigador  debe tomar dos decisiones fundamentales: (a) si se quiere operar en gran medida dentro de un paradigma dominante o no, y (b) si se quiere llevar a cabo las fases simultáneamente, o  secuencialmente.

 Los hallazgos deben  ser mezclados o integrados en algún punto. Actualmente, los resultados deben, como mínimo, ser integrados durante la interpretación de los resultados.

En general se recomienda la teoría de contingencia para la selección del enfoque de la investigación, que acepta que los diferentes tipos  de investigación (cuantitativa,  investigación cualitativa y mixta) son superiores en diferentes circunstancias y es tarea del investigador para examinar el específico contingencias y tomar la decisión sobre la que la investigación apta para el enfoque, o la combinación de enfoques, se debe utilizar en  un estudio específico.

Al reducir la brecha entre los investigadores cuantitativos y cualitativos, la investigación de métodos mixtos tiene un gran potencial para promover la responsabilidad compartida en la búsqueda de  lograr la rendición de cuentas por la calidad educativa.

Fortalezas y Debilidades de la Investigación Mixta

Fortalezas

Las palabras, las imágenes y la narrativa se puede utilizar para entender a los números.

Page 10: Clasificación de las metodologías de desarrollo de software

Los números se pueden utilizar para agregar precisión para entender a las imágenes y la narrativa.

Se puede responder a una gama más amplia de preguntas.

Un investigador puede utilizar las fortalezas de un método para superar las debilidades del otro método.

La convergencia de conclusiones puede ayudar a corroborar los resultados.

La conjunción de técnicas cualitativas y cuantitativas en conjunto producen un conocimiento más completo.

Debilidades

Puede ser  difícil para el investigador mezclar adecuadamente ambos métodos.

Requiere mayor tiempo de realización.

Para algunos investigadores resulta complicado como mezclar y analizar los datos cuantitativos y cualitativos interpretando resultados que resultan aparentemente contradictorios.

METODOLOGIA MERISE:

Merise cuenta con ejes y 3 ciclos complementariosCICLOS COMPLEMENTARIOS DE MERISENIVELES DEL CICLO DE ABSTRACCIÓNANDRES BARRETO20101020011

Conducción de sistemas que evolucionan según cambio tecnológico y entorno el cual enfrentan. Involucra aspectos relacionados con: Capacitación del personal, análisis, diseño y validación de procesos, evaluación de equipos informáticos, gestión de tiempos, etc. 

En cada etapa del ciclo de vida, se utilizan cada vez los formalismos de abstracción y se toman decisiones.

Al principio de forma general. Conforme se desarrolle el trabajo se irán detallando cada vez más las decisiones. 

Conceptual.- En este nivel del ciclo pasamos de los abstracto a lo concreto definiendo que es lo que queremos.

Organizativo.- En este nivel definimos objetivos relacionados con el orden y secuencias a seguir.

Page 11: Clasificación de las metodologías de desarrollo de software

Físico.- Aquí llegamos a saber quién realiza cada tarea o proceso, definimos recursos como documentación y hardware.Niveles del ciclo de abstracción.Ciclo de VidaEste contempla 3 grandes periodos:

* Concepción* Realización* Mantenimiento

Estos periodos, involucran un total de 6 etapas que conforman el ciclo de vida del desarrollo de un sistema de información.Ciclo de VidaExiste una jerarquía de decisiones para actuar:

-Descomposición del S.I en dominios

-Orientaciones en materia de gestión y organización

-Planificación de Desarrollo

-Elección entre procedimiento manuales y automáticos 

-Elección entre procedimiento en tiempo real y automatizados.

-Determinación de puestos de trabajo y tareas.

-Diseño de estados, pantallas, etc.

Las bases de MERISE comenzaron en 1.972 por un equipo universitario de ingenieros de Aix-en-Pro vence. La primera versión salió a finales de 1.976. 

El proyecto partió del Centre Technique Informatique del Ministerio de Industria Francés en Septiembre de 1.977, para cubrir las necesidades tanto de la administración como de las empresas.

Finalizó en mayo de 1.978 dando lugar a MERISE como metodología de Análisis y Diseño de Sistemas de Información. 

División en etapas: estudio preliminar, estudio detallado, realización y puesta en marcha.

Page 12: Clasificación de las metodologías de desarrollo de software

Estudio de los tratamientos por un lado y el de los datos por otro.

Metodología ssadm:

Es un enfoque de sistemas para el análisis y diseño de sistemas de información. SSADM fue producida para la Agencia Central de Informática y Telecomunicaciones (ahora Oficina de Comercio Gubernamental), un gobierno del Reino Unido la oficina de que se trate con el uso de la tecnología en el gobierno, a partir de 1980.

SSADM es un método de cascada para el análisis y diseño de sistemas de información. Se considera que SSADM representa el pináculo del enfoque riguroso en la documentación hacia el diseño del sistema que contrasta con métodos ágiles como DSDM o Scrum.

SSADM es una aplicación en particular y se basa en el trabajo de las diferentes escuelas de análisis estructurados métodos y desarrollo, como la de Peter Checkland Metodología blanda de sistemas, de Larry Constantino diseño estructurado, de Edward Yourdon Método estructurado de Yourdon , de Michael A. Jackson Programación Estructurada de Jackson, y Tom DeMarco análisis estructurado.

Los nombres "Sistemas estructurados método de análisis y diseño" y "SSADM" son marcas registradas de la Oficina Gubernamental de Comercio (OGC), que es una oficina de Hacienda del Reino Unido.1

Metodología Métrica:

Es una metodología de planificación, desarrollo y mantenimiento de sistemas de información, promovida por el Ministerio de Hacienda y Administraciones Públicas (antiguo Ministerio de Administraciones Públicas ) del Gobierno de España para la sistematización de actividades del ciclo de vida de los proyectos software en el ámbito de las administraciones públicas. Esta metodología propia está basada en el modelo de procesos del ciclo de vida de desarrolloISO/IEC 12207 (Information Technology - Software Life Cycle Processes) así como en la norma ISO/IEC 15504 SPICE (Software Process Improvement And Assurance Standards Capability Determination)

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

Page 13: Clasificación de las metodologías de desarrollo de software

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".

Los objetos tienen una cierta "integridad" la cual no deberá ser violada. En particular, un objeto puede solamente cambiar estado, conducta, ser manipulado o estar en relación con otros objetos de manera apropiada a este objeto.

Actualmente, el Análisis Orientado a Objetos (AOO) va progresando como método de análisis de requisitos por derecho propio y como complemento de otros métodos de análisis. En lugar de examinar un problema mediante el modelo clásico de entrada-proceso-salida (flujo de información) o mediante un modelo derivado exclusivamente de estructuras jerárquicas de información, el AOO introduce varios conceptos nuevos. Estos conceptos nuevos le parecen inusuales a mucha gente, pero son bastante naturales.

Una clase es una plantilla para objetos múltiples con características similares. Las clases comprenden todas esas características de un conjunto particular de objetos. Cuando se escribe un programa en lenguaje orientado a objetos, no se definen objetos verdaderos sino se definen clases de objetos.

Una instancia de una clase es otro término para un objeto real. Si la clase es la representación general de un objeto, una instancia es su representación concreta. A menudo se utiliza indistintamente la palabra objeto o instancia para referirse, precisamente, a un objeto.

En los lenguajes orientados a objetos, cada clase está compuesta de dos cualidades: atributos (estado) y métodos (comportamiento o conducta). Los atributos son las características individuales que diferencian a un objeto de otro (ambos de la misma clase) y determinan la apariencia, estado u otras cualidades de ese objeto. Los atributos de un objeto incluyen información sobre su estado.

Los métodos de una clase determinan el comportamiento o conducta que requiere esa clase para que sus instancias puedan cambiar su estado interno o cuando

Page 14: Clasificación de las metodologías de desarrollo de software

dichas instancias son llamadas para realizar algo por otra clase o instancia. El comportamiento es la única manera en que las instancias pueden hacerse algo a sí mismas o tener que hacerles algo. Los atributos se encuentran en la parte interna mientras que los métodos se encuentran en la parte externa del objeto .

Para definir el comportamiento de un objeto, se crean métodos, los cuales tienen una apariencia y un comportamiento igual al de las funciones en otros lenguajes de programación, los lenguajes estructurados, pero se definen dentro de una clase. Los métodos no siempre afectan a un solo objeto; los objetos también se comunican entre sí mediante el uso de métodos. Una clase u objeto puede llamar métodos en otra clase u objeto para avisar sobre los cambios en el ambiente o para solicitarle a ese objeto que cambie su estado.

Cualquier cosa que un objeto no sabe, o no puede hacer, es excluida del objeto. Además, como se puede observar de los diagramas, las variables del objeto se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.

Esta imagen conceptual de un objeto —un núcleo de variables empaquetadas en una membrana protectora de métodos— es una representación ideal de un objeto y es el ideal por el que los diseñadores de sistemas orientados a objetos luchan. Sin embargo, no lo es todo: a menudo, por razones de eficiencia o la puesta en práctica, un objeto puede querer exponer algunas de sus variables o esconder algunos de sus métodos.

El encapsulamiento de variables y métodos en un componente de software ordenado es, todavía, una simple idea poderosa que provee dos principales beneficios a los desarrolladores de software:

Page 15: Clasificación de las metodologías de desarrollo de software

Modularidad, esto es, el código fuente de un objeto puede ser escrito, así como darle mantenimiento, independientemente del código fuente de otros objetos. Así mismo, un objeto puede ser transferido alrededor del sistema sin alterar su estado y conducta.

Ocultamiento de la información, es decir, un objeto tiene una "interfaz publica" que otros objetos pueden utilizar para comunicarse con él. Pero el objeto puede mantener información y métodos privados que pueden ser cambiados en cualquier tiempo sin afectar a los otros objetos que dependan de ello.

Los objetos proveen el beneficio de la modularidad y el ocultamiento de la información. Las clases proveen el beneficio de la reutilización. Los programadores de software utilizan la misma clase, y por lo tanto el mismo código, una y otra vez para crear muchos objetos.

En las implantaciones orientadas a objetos se percibe un objeto como un paquete de datos y procedimientos que se pueden llevar a cabo con estos datos. Esto encapsula los datos y los procedimientos. La realidad es diferente: los atributos se relacionan al objeto o instancia y los métodos a la clase. ¿Por qué se hace así? Los atributos son variables comunes en cada objeto de una clase y cada uno de ellos puede tener un valor asociado, para cada variable, diferente al que tienen para esa misma variable los demás objetos. Los métodos, por su parte, pertenecen a la clase y no se almacenan en cada objeto, puesto que sería un desperdicio almacenar el mismo procedimiento varias veces y ello va contra el principio de reutilización de código.

Otro concepto muy importante en la metodología orientada a objetos es el de herencia. La herencia es un mecanismo poderoso con el cual se puede definir una clase en términos de otra clase; lo que significa que cuando se escribe una clase, sólo se tiene que especificar la diferencia de esa clase con otra, con lo cual, la herencia dará acceso automático a la información contenida en esa otra clase.

Con la herencia, todas las clases están arregladas dentro de una jerarquía estricta. Cada clase tiene una superclase (la clase superior en la jerarquía) y puede tener una o más subclases (las clases que se encuentran debajo de esa clase en la jerarquía). Se dice que las clases inferiores en la jerarquía, las clases hijas, heredan de las clases más altas, las clases padres.

Las subclases heredan todos los métodos y variables de las superclases. Es decir, en alguna clase, si la superclase define un comportamiento que la clase hija necesita, no se tendrá que redefinir o copiar ese código de la clase padre 

Page 16: Clasificación de las metodologías de desarrollo de software

La herencia presenta los siguientes beneficios:

Las subclases proveen conductas especializadas sobre la base de elementos comunes provistos por la superclase. A través del uso de herencia, los programadores pueden reutilizar el código de la superclase muchas veces.

Los programadores pueden implementar superclases llamadas clases abstractas que definen conductas "genéricas". Las superclases abstractas definen, y pueden implementar parcialmente, la conducta pero gran parte de la clase no está definida ni implementada. Otros programadores concluirán esos detalles con subclases especializadas.

Ventajas de la metodología orientada a objetos

En síntesis, algunas ventajas que presenta son:

Reutilización. Las clases están diseñadas para que se reutilicen en muchos sistemas. Para maximizar la reutilización, las clases se construyen de manera que se puedan adaptar a los otros sistemas. Un objetivo fundamental de las técnicas orientadas a objetos es lograr la reutilización masiva al construir el software.

Estabilidad. Las clases diseñadas para una reutilización repetida se vuelven estables, de la misma manera que los microprocesadores y otros chips se hacen estables.

El diseñador piensa en términos del comportamiento de objetos y no en detalles de bajo nivel. El encapsulamiento oculta los detalles y hace que las clases complejas sean fáciles de utilizar.

Se construyen clases cada vez más complejas. Se construyen clases a partir de otras clases, las cuales a su vez se integran mediante clases. Esto permite

Page 17: Clasificación de las metodologías de desarrollo de software

construir componentes de software complejos, que a su vez se convierten en bloques de construcción de software más complejo.

Calidad. Los diseños suelen tener mayor calidad, puesto que se integran a partir de componentes probados, que han sido verificados y pulidos varias veces.

Un diseño más rápido. Las aplicaciones se crean a partir de componentes ya existentes. Muchos de los componentes están construidos de modo que se pueden adaptar para un diseño particular.

Integridad. Las estructuras de datos (los objetos) sólo se pueden utilizar con métodos específicos. Esto tiene particular importancia en los sistemas cliente-servidor y los sistemas distribuidos, en los que usuarios desconocidos podrían intentar el acceso al sistema.

Mantenimiento más sencillo. El programador encargado del mantenimiento cambia un método de clase a la vez. Cada clase efectúa sus funciones independientemente de las demás.

Una interfaz de pantalla sugestiva para el usuario. Hay que utilizar una interfaz de usuario gráfica de modo que el usuario apunte a iconos o elementos de un menú desplegado, relacionados con los objetos. En determinadas ocasiones, el usuario puede ver un objeto en la pantalla. Ver y apuntar es más fácil que recordar y escribir.

Independencia del diseño. Las clases están diseñadas para ser independientes del ambiente de plataformas, hardware y software. Utilizan solicitudes y respuestas con formato estándar. Esto les permite ser utilizadas en múltiples sistemas operativos, controladores de bases de datos, controladores de red, interfaces de usuario gráficas, etc. El creador del software no tiene que preocuparse por el ambiente o esperar a que éste se especifique.

Interacción. El software de varios proveedores puede funcionar como conjunto. Un proveedor utiliza clases de otros. Existe una forma estándar de localizar clases e interactuar con ellas. El software desarrollado de manera independiente en lugares ajenos debe poder funcionar en forma conjunta y aparecer como una sola unidad ante el usuario.

Computación Cliente-Servidor. En los sistemas cliente-servidor, las clases en el software cliente deben enviar solicitudes a las clases en el software servidor y recibir respuestas. Una clase servidor puede ser utilizada por clientes diferentes. Estos clientes sólo pueden tener acceso a los datos del servidor a través de los métodos de la clase. Por lo tanto los datos están protegidos contra su corrupción.

Computación de distribución masiva. Las redes a nivel mundial utilizarán directorios de software de objetos accesibles. El diseño orientado a objetos

Page 18: Clasificación de las metodologías de desarrollo de software

es la clave para la computación de distribución masiva. Las clases de una máquina interactúan con las de algún otro lugar sin saber donde residen tales clases. Ellas reciben y envían mensajes orientados a objetos en formato estándar.

Mayor nivel de automatización de las bases de datos. Las estructuras de datos (los objetos) en las bases de datos orientadas a objetos están ligadas a métodos que llevan a cabo acciones automáticas. Una base de datos OO tiene integrada una inteligencia, en forma de métodos, en tanto que una base de datos relacional básica carece de ello.

Migración. Las aplicaciones ya existentes, sean orientadas a objetos o no, pueden preservarse si se ajustan a un contenedor orientado a objetos, de modo que la comunicación con ella sea a través de mensajes estándar orientados a objetos.

Metodologías para desarrollo de sistemas de tiempo real:

Los sistemas en tiempo real son aplicaciones aplicadas, es decir , se realiza un desarrollo específico para cada aplicación. Este desarrollo debe satisfacer un aserie de objetos:

Cumplir las necesidades del cliente que vienen dadas en formas de especificaciones

Respetar los plazos y los costos

Alcanzar determinados niveles de calidad.

Pero ala largo del proceso surge un aserie de dificultades que es preciso superar .

En las primeras fases es necesario adquirir una serie de conocimientos y dominar determinadas técnicas relacionadas fundamentalmente con la electrónica y la informática .Además el diseñador necesita conocer exactamente el problema y especificar al máximo su funcionamiento su alcance y las restricciones que pueden existir. Por otro lado el proyecto será realizado por un conjunto de personas, lo que origina problemas de comunicación, administración de recursos, etc. El resultado final depende de la conjunción de estos factores. La gestión y el desarrollo se hacen basándose en la experiencia del director de proyecto y de los compontes del mismo aplicando alguna metodología

Page 19: Clasificación de las metodologías de desarrollo de software

Resumen

En la literatura sobre este tema existen muchas definiciones sobre lo que es una metodología. Más o menos todas ellas coinciden en que debería tener al menos las siguientes características:Define como se divide un proyecto en fases y las tareas a realizar en cada una.Para cada una de las fases está especificado cuales son las entradas que reciben y las salidas que producen.Tienen alguna forma de gestionar el proyecto.Teniendo esto en cuenta establecemos la siguiente definición: Metodología es un modo sistemático de producir software.

Taxonomía de las metodologíasExisten dos grupos de metodologías en función de la mentalidad con la que se aborda el problema: metodología estructurada o metodología orientada a objetos. A la que nos vamos a abocar en este tema es a la metodología Estructurada.

METODOLOGIAS ORIENTADAS A PROCESOS:

La orientación a procesos no es un fin en sí mismo, sino un medio para que la organización se gestione de forma más eficiente y alcance sus objetivos.

En los años 90 las compañías occidentales se convencen de que para tener ventaja sostenible no basta simplemente con reformular la estrategia; es esencial disponer de los procesos que permitan implementar la estrategia de forma efectiva.

• La presión competitiva no es la principal razón. El principal ímpetu de la gestión orientada a procesos proviene de los clientes, de sus crecientes exigencias de calidad, rapidez y mejor información.

• La gestión orientada a procesos incluye aspectos de estructura, enfoque, medición y responsabilidad sobre procesos y clientes.

• El objetivo de la gestión orientada a procesos es mejorar el resultado económico, bien sea por los mayores ingresos derivados de unos clientes más fieles y satisfechos, o por un mejor ajuste en la necesidad de recursos.

• Adoptar un programa de gestión orientada a procesos implica un compromiso con su mejora, y para ello es necesaria su medición sistemática.

Page 20: Clasificación de las metodologías de desarrollo de software

RecomendacionesLa herramienta tiene como unidad de observación cada recomendación o medida de reparación, tal como la redactó el propio órgano emisor. Dichas recomendaciones o medidas de reparación se encuentran en las secciones de los informes y sentencias explícitamente dedicadas a las mismas por los mecanismos de derechos humanos de la ONU y la Corte Interamericana de Derechos Humanos (Corte IDH). El criterio básico para identificar una recomendación es el del párrafo o (en su caso) el inciso dentro de los informes correspondientes. En el caso de las sentencias, el criterio básico de identificación fue el párrafo.

La base de datos permite hacer búsquedas por palabra clave o determinados criterios de clasificación, de acuerdo a los siguientes rubros (Ver Matriz de Clasificación completa):Órgano o mecanismo emisor.

Listado de los órganos y mecanismos que han emitido informes o sentencias a México.

Título del informe

Datos del informe

Fecha de publicación del informe o sentencia, sigla de identificación, párrafo y/o inciso donde aparece la recomendación.

Derechos.

Partiendo de los instrumentos internacionales de derechos humanos, y tomando en cuenta el listado del Índice Universal de Derechos Humanos de Documentos de Naciones Unidas (Índice Universal de los Derechos Humanos sobre los documentos de las Naciones Unidas), (Nota 1) y el listado de HURIDOCS (Nota 2),

Tema/subtema.

Se definió un listado de temas que pueden ser de interés para las y los usuarios de la base de datos y que no necesariamente serán identificados con facilidad mediante una búsqueda con base en el rubro de “derechos”. (Nota: Una misma recomendación puede estar relacionada con más de un tema o subtema, aunque no todas ellas son, necesariamente, susceptibles de ser catalogadas de acuerdo a un tema y un subtema).

Tipo de acciones.

Los tipos de acciones que están implicadas en las recomendaciones de los órganos o mecanismos, según el listado que se menciona en la Matriz de clasificación.

Orden de gobierno.

Hace referencia al orden o, en su caso, los órdenes de gobierno (federal, estatal y municipal) que tienen competencia para tomar acciones con respecto a la recomendación o medida de reparación.

Entidad de la República.

Hace referencia a las recomendaciones y medidas de reparación que están dirigidas o competen a cada una de las entidades de la República.

Poder.

Hace referencia al poder (o en su caso los poderes) del Estado (incluyendo los órganos constitucionales autónomos) que tiene competencia para tomar acciones con respecto a la recomendación o medida de reparación: Ejecutivo, Legislativo y Judicial.

Además de los rubros de clasificación anteriores, cada recomendación ofrece una “ficha” con la siguiente información, la cual hace posible su localización dentro de un informe específico:

Page 21: Clasificación de las metodologías de desarrollo de software

Título.

Siglas de identificación.

Fecha de publicación.

Párrafo y/o inciso.

Entidad

Se indica si la recomendación/sentencia está dirigida a una entidad federativa en particular o tiene un alcance general.

Acciones reportadas por el Estado Mexicano

La información contenida en esta sección es responsabilidad única y exclusiva de la Secretaría de Relaciones Exteriores, por lo que en su elaboración, compilación, revisión y validación no participaron las otras instancias promotoras del proyecto.

En el caso de los mecanismos internacionales de derechos humanos que carecen de sistemas de seguimiento a sus recomendaciones, en una tercera fase la sistematización será complementada con información y sobre la base de una metodología expresamente desarrollada para dicho propósito.

El proceso de clasificación de cada recomendación y medida de reparación requirió un ejercicio de interpretación. Es decir, las recomendaciones y medidas de reparación no siempre son explícitas en cuanto a, por ejemplo, el derecho o tema con el que pueden estar relacionadas, o el orden o poder que puede tener competencia para tomar acciones con vistas a su implementación. En este sentido, y con el fin de minimizar errores o sesgos de interpretación, el proceso de clasificación sigue los siguientes criterios:

1) Se ha hecho con base en y a la luz de los instrumentos internacionales y la jurisprudencia de los órganos correspondientes.

2) Fue realizado por un equipo de las tres instituciones con conocimiento en derecho internacional de los derechos humanos.

3) Las recomendaciones y medidas de reparación se clasificaron tomando en consideración la totalidad del contenido del informe o sentencia en cuestión.

Agradecemos que nos hagan llegar cualquier comentario, corrección o aclaración utilizando la herramienta de “contacto” de este sitio.

El sitio contiene sugerencias, opiniones y declaraciones procedentes de diversas fuentes de información, de las cuales las instancias promotoras no son responsables. Tampoco serán responsables de las fallas de funcionamiento, los virus informáticos o las interrupciones de la comunicación, independientemente de su causa, ni por cualesquiera daños que de ellos se deriven.

Las instancias promotoras procurarán el continuo mejoramiento de esta herramienta, por lo cual se agradecerá que cualquier inexactitud, error, omisión, interrupción, supresión, defecto o alteración de cualquier tipo que fuera detectado en este sitio se informe a través de la herramienta de “contacto” de este sitio.

Page 22: Clasificación de las metodologías de desarrollo de software

ConclusionesPara concluir con el presente trabajo, se pude hacer referencia a la importancia que tiene la investigación como proceso de aprendizaje; ya que la misma posee una gama de características fundamentales y que se estrechan de manera muy compacta para poder captar la información o para lograr los objetivos propuestos, es preciso recordar que la investigación científica es un método riguroso en el cual se obtiene una serie de objetivos antes propuestos y de manera muy técnica, y la investigación es la que tiene por fin ampliar el conocimiento científico, sin perseguir, en principio, ninguna aplicación práctica e investigar es una acción de aclarar.Es muy conveniente tener un conocimiento detallado de los posibles tipos de investigación que se pueden seguir. Este conocimiento hace posible evitar equivocaciones en el elección del método adecuado para un procedimiento específico. Por eso se podría acotar que el tema se debería de implantar desde la educación básica ya que a pesar de que la investigación siempre esta presente, siempre es bueno conocer el lado técnico y científico de las cosas por más comunes y cotidianas que suelan resultar.Una de las fallas más comunes en la investigación consiste en la ausencia de delimitación del tema, es decir, por ausencia de ambición del tema, por eso es básico tener muy claro los objetivos y el camino que se va a recorrer con la investigación para que esta pueda terminar su camino donde debe.La hipótesis de una investigación, puede ser desarrollada desde distinto puntos de vista, puede estar basada en una conjetura, en el resultado de otros estudios, en la posibilidad de una relación semejante entre dos o más variables representadas en un estudio, o puede estar basada en una teoría mediante la cual una suposición de proceso deductivo nos lleva a la pretensión de que si se dan ciertas condiciones se pueden obtener ciertos resultados.El objetivo de la investigación es el enunciado claro y preciso de las metas que se persiguen. El objetivo de la persona que investiga es llegar a tomar decisiones y a una teoría que le permita generalizar y resolver en la misma forma problemas semejantes en el futuro.

LINKOGRAFIA

Page 23: Clasificación de las metodologías de desarrollo de software

http://metodologiasestructuradas.blogspot.pe/2009/02/metodologias-estructuradas.html

http://www.aec.es/c/document_library/get_file?uuid=7a531320-6dd9-4fad-bc7c-7abea56b9240&groupId=10128

http://repositorio.cepal.org/bitstream/handle/11362/5607/S057518_es.pdf;jsessionid=8051B08207A69DFF209CDA8BD0B31931?sequence=1

http://85517amdsi.blogspot.pe/2010/08/metodologias-estructuradas.html

http://85517amdsi.blogspot.pe/2010/08/metodologias-estructuradas.html

http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060030/lecciones/Capitulo%204/dfd.htm

http://practicadocentemexico.blogspot.pe/2013/03/metodos-de-investigacion-mixto-un.html