La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Metodología de la programación

Presentaciones similares


Presentación del tema: "Metodología de la programación"— Transcripción de la presentación:

1 Metodología de la programación
L.I. Gustavo Soriano Jiménez

2 Tarea Investigue: Cuáles son las etapas de la metodología de solución de problemas por medio de computadoras. ¿Qué es la ingeniería de software? ¿Cuáles son las etapas del ciclo de vida del software? ¿En qué consiste cada etapa? ¿En qué consiste el modelo de cascada (o secuencial)? ¿Cuáles son sus etapas?

3 Sesión 6 Objetivos: 1.5 Identificar las etapas de la metodología de solución de problemas por medio de computadoras. Ejercicios complementarios.

4 Etapas de la metodología de solución de problemas

5 Metodología Concepción del problema. Técnicas de representación.
Clarificación del objetivo. Algoritmo. Prueba de escritorio. Técnicas de representación. Diagramas de flujo. Pseudocódigo. Transcripción o codificación.

6 1) Concepción del problema
Es muy importante que cuando tengamos un enunciado podamos tener de él una concepción acertada de manera que podamos alcanzar un objetivo y que ése objetivo sea el que realmente necesita ser solucionado. La concepción del problema es el camino para tener la certeza de que lo hemos entendido correctamente y que lo que buscamos solucionar coincide con lo que se busca solucionar en el problema.

7 3 etapas internas Clarificación del objetivo.
Es muy importante que a través de un razonamiento teórico y textual nos sentemos a reflexionar en cuanto a los alcances de nuestro objetivo (enunciado como un problema) ya que con eso tendremos muy claro no solo hacia donde debemos ir sino hasta donde debemos llegar.

8 3 etapas internas Algoritmo.
el conjunto de pasos que nos permiten llegar (ojalá de la mejor de las formas) a alcanzar el objetivo propuesto. Debe ser organizado y, ante todo, ordenado para que sea absolutamente entendible.

9 3 etapas internas Prueba de escritorio.
Es la prueba reina de un algoritmo. Nos permite saber si realmente está bien o no. ¿Cuándo un algoritmo está bien? Solamente cuando realmente alcanza el objetivo propuesto. Si un algoritmo no alcanza el objetivo que inicialmente se propuso estará mal así haga maravillas en su desarrollo.

10 2) Técnicas de representación
Es importante conocer y dominar las técnicas de representación porque con ello, podrá evaluar ventajas y desventajas reales (y para usted) y podrá determinar cuál es la técnica más apropiada para la representación de sus algoritmos. No está de mas decir que cuando se quiere representar un algoritmo solamente se utiliza una de las técnicas.

11 Diagramas de flujo Serie de pasos ordenados, representados por signos (elementos gráficos), en donde el hilo conductor de la lógica se representa por flechas que van a significar la dirección del flujo de la idea.

12 Pseudocódigo Texto basado en unas normas técnicas que lo hace muy entendible y sobre todo muy fácil de codificar y que representa, obviamente, la solución que hayamos planteado a través de un algoritmo.

13 3) Transcripción o codificación
Es la representación de un algoritmo a través de un Lenguaje de Programación. Es importante que usted sepa que cuando vaya a desarrollar realmente programas aplicativos solo va a tener que codificar en un solo lenguaje de programación.

14 Ingeniería de Software

15 Ingeniería de software
Es la disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y mantener software. La creación del software es un proceso intrínsecamente creativo y la Ingeniería del Software trata de sistematizar este proceso con el fin de acotar el riesgo del fracaso en la consecución del objetivo creativo por medio de diversas técnicas que se han demostrado adecuadas en base a la experiencia previa.

16 Ingeniería de software
Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistema de información y aplicables a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.

17 Algunas definiciones de IS
Es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978). Es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de Software o Producción de Software (Bohem, 1976).

18 Algunas definiciones de IS
Trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer, 1972). Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; es decir, la aplicación de la ingeniería al software (IEEE, 1993).

19 Ciclo de vida del software

20 Introducción I Necesariamente la producción del Software lleva un proceso de desarrollo y en dicho proceso deben incluirse diversas fases y en cada fase, actividades que garanticen la producción del software, a ese proceso se le conoce comúnmente como Ciclo de Vida del Software. Todos los ciclos de vida tienen como meta la producción de software, existen en este sentido diversos enfoques de ciclos, que tienen ventajas y desventajas según el tipo de proyecto que se pretende desarrollar y la tecnología que se usara para producirlo.

21 Introducción II Los ciclos de vida atiende al viejo adagio de “Divide y vencerás”, de esta manera el desarrollo del proyecto de software se divide en fases de tal manera que permitan mejorar el control del tiempo, el control del trabajo y el control de la calidad del proyecto. Actualmente existen metodologías de desarrollo de software que no usan un ciclo particular para el desarrollo, sino que los combinan para obtener mejores resultados y aprovechar las ventajas que ofrece cada uno de ellos.

22 Introducción III Existen metodologías independientes del ciclo de vida, esto es debido a que los ciclos de vida no definen aspectos importantes y necesarios para grupos de trabajo, como lo son los equipos de desarrollo de software y no determina explícitamente como llevar a cabo cada una de las fases que indica y las actividades que establece. Las metodologías, además de adoptar un ciclo de vida o una combinación de estos, tiene generalmente una guía metodológica que explica paso a paso la manera en como se debe llevar a cabo cada actividad, además contiene templates, scripts, roles y herramientas que la soportan.

23 Definición de ciclo de vida
“Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software”. (IEEE 1074). “Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso” (ISO ).

24 Elementos del ciclo de vida
Un ciclo de vida para un proyecto se compone de fases sucesivas compuestas por tareas planificables. Según el modelo de ciclo de vida, la sucesión de fases puede ampliarse con bucles (ciclos) de realimentación, de manera que lo que conceptualmente se considera una misma fase se pueda ejecutar más de una vez a lo largo de un proyecto, recibiendo en cada pasada de ejecución aportaciones de los resultados intermedios que se van produciendo (realimentación).

25 Fases Cada fase viene definida por un conjunto de elementos observables externamente, como son las actividades con las que se relaciona, los datos de entrada (resultados de la fase anterior, documentos o productos requeridos para la fase, experiencias de proyectos anteriores), los datos de salida (resultados a utilizar por la fase posterior, experiencia acumulada, pruebas o resultados efectuados) y la estructura interna de la fase.

26 Esquema general de operación de una fase

27 Entregables (deliverables)
Son los productos intermedios que generan las fases. Pueden ser materiales (componentes, equipos) o inmateriales (documentos, software). Los entregables permiten evaluar la marcha del proyecto mediante comprobaciones de su adecuación o no a los requisitos funcionales y de condiciones de realización previamente establecidos. Cada una de estas evaluaciones puede servir, además, para la toma de decisiones a lo largo del desarrollo del proyecto.

28 Etapas del ciclo de vida
La primera etapa es un reconocimiento del problema por resolver. En un entorno corporativo, esta determinación podría provenir de investigación de mercados. La segunda etapa, que puede omitirse del proceso formal, es un estudio de si el proyecto es factible. Por ejemplo, ¿existen las herramientas de desarrollo para producir el software? En la tercera etapa, se produce un documento que típicamente especifica con precisión lo que el software debe hacer. Este documento de requisitos, debería tener suficientes detalles para ser utilizado como un estándar cuando el software completo es probado.

29 Etapas del ciclo de vida
En la cuarta etapa, un análisis en profundidad se realiza antes de cualquier esfuerzo, así no se gastan los recursos en el diseño y la implementación del proyecto. Esto podría incluir un estudio de software comparable y un análisis de costo-beneficio del valor de los gastos sobre los recursos previstos. Una vez que ha tomado la decisión de proceder, en la quinta etapa el equipo de diseño de software trabaja desde el documento de requerimientos para diseñar el software. Esto incluye la especificación de todos los componentes de software y sus interrelaciones. También podrá exigir la especificación de algoritmos especializados que puedan desarrollarse en el software.

30 Etapas del ciclo de vida
En la sexta etapa, la implementación consiste en que los programadores codifiquen el diseño para producir el software. En la séptima etapa, el equipo de pruebas garantiza que los resultados del software satisfacen el documento de requerimientos. El fracaso en este punto puede requerir un rediseño o incluso algunos ajustes de los requisitos. Estas eventualidades están representadas por los dos ciclos de retroalimentación mostrados en la figura. Las pruebas ocurren en varios niveles. Los módulos individuales y sus métodos tienen que ser probados por separado, y luego su éxito en el trabajo conjunto debe ser verificado. Por último, el producto en su conjunto se prueba contra el documento de requerimientos.

31 Etapas del ciclo de vida
Un último aspecto del desarrollo de software que no se muestra en la figura es el proceso de mantenimiento. Después de que el software ha sido entregado, sus desarrolladores siguen estando obligados a mantenerlo con versiones corregidas, paquetes de servicios, e incluso revisiones mayores. Cualquier revisión importante en sí seguiría los mismos pasos del ciclo de vida.

32 Modelo de cascada o secuencial

33 Introducción I Se le conoce como el primer ciclo de vida del software, es el más básico de todos los modelos y se le atribuye su definición a Winston Royce a fines de los 70s. Desde entonces muchos equipos de desarrollo han seguido este modelo. Sin embargo, ya desde 10 a 15 años atrás, el modelo cascada ha sido sujeto a numerosas críticas, debido a que es restrictivo y rígido, lo cual dificulta el desarrollo de proyectos de software moderno..

34 Introducción II Debido a la cascada de una fase a otra, este modelo se conoce como “Modelo de Cascada (o Secuencial)“ o como ciclo de vida del software. Incluye las siguientes actividades de desarrollo.

35 Actividades o Fases Análisis y Definición de Requerimientos: Los servicios, restricciones y metas del sistema se definen a partir de las consultas con los usuarios. Entonces se definen en detalle y sirven como una especificación del sistema. Diseño del Sistema y del Software: Establece una arquitectura completa del sistema, el diseño de software identifica y describe las abstracciones fundamentales del sistema de software sus relaciones.

36 Actividades o Fases Implementación y Pruebas de Unidades: En esta etapa, el diseño de software se lleva a cabo como un conjunto de unidades de programas. Las pruebas de unidad implican que cada una cumpla su especificación. Integración y Pruebas del Sistema: Los programas o las unidades individuales del programa se integran y se prueban como un sistema completo para asegurar que se cumplan los requerimientos de software. Después de las pruebas el sistema de Software se entrega al usuario.

37 Actividades o Fases Operación y Mantenimiento: El sistema se instala y pone en uso práctico. El mantenimiento implica corregir errores no descubiertos en las etapas anteriores del ciclo de vida. Cada fase tiene como resultado documentos que deben ser aprobados por el usuario. Una fase comienza hasta que termine la fase anterior.

38 Características No incluye análisis de riesgos.
Se debe utilizar cuando los requerimientos se comprenden del todo. Alto riesgo en sistemas nuevos debido a problemas con las especificaciones y en el diseño. Bajo riesgo para desarrollos bien conocidos y utilizando tecnología conocida. Se administra fácilmente. La separación de las fases de diseño e implementación conduce a sistemas robustos susceptibles al cambio.

39 Nota Cabe señalar que algunos consideran al modelo de cascada como obsoleto y fuera de todo contexto en sistemas reales debido a la naturaleza cambiante de los requisitos; sin embargo, se ha demostrado que la aplicación del modelo de cascada en iteraciones pequeñas es necesario y otorga muchos beneficios, es una aplicación que le dan muchas de las metodologías actuales de desarrollo.


Descargar ppt "Metodología de la programación"

Presentaciones similares


Anuncios Google