lenguajes de programación parte i.3
DESCRIPTION
UpMor - Parte III - Metodologías de Programación - Metodología para desarrollo para el curso UpMorTRANSCRIPT
Proceso de desarrollo de SoftWareCiclo de Vida y Metodologías
Producto: Resultadode Cada étapa
Procedimiento:Definición de la formade ejecutar la tarea.
Tarea: Actividadeselementales en que
se dividen losprocesos.
Metodologías deDesarrollo de
SoftWare
Herramienta:Softwarede aplicación que a través
de una técnica o unlenguaje se obtiene
código fuente.
Proceso:Se denominaproceso al conjunto de
acciones oactividades
sistematizadas que serealizan o tienen lugar
con un fin
Metodología: Conjuntode procedimientos,
Técnicas, Herramientas yun soporte documental
que ayuda a losdesarrolladores a realizar
un nuevo software
Definiciones
Programa:Conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora la secuencia de pasos para resolver un problema.
Ciclo de Vida
Ciclo de vida
Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del
proyecto pero no cómo hacerlo.La metodología indica cómo hay que
obtener los distintos productos parciales yFinales.
Metodología Vs Ciclo de Vida
Elementos deun buen
desarrollo
Metodologíaen el ciclo de
vida delproducto
ProcesoAdministrativo
Comunicación yGestión de proyecto
ApoyoTecnológico -Herramientas
Soportey
mantenimiento
Documentación deproceso
Elementos a considerar en el ciclo de vida
Ingeniería deSoftware
Herramientas Case,Herramientas de
Diseño,Herramientas Tipo
Visual
Reingeniería deSoftware
Metodologías deDesarrollo de
SoftWare
Tiempo Real
Modelo Estructurado
Modelo Orientado aObjetos
Modelo Convencional
Técnicas deDiseño
Técnicas deNormalizaciónTécnicas deAnálisis yDiseño
METODOLOGÍAS ESTRATEGIAS DE DESARROLLO
Metodologías y Modelos
Proceso de Desarrollo del Ciclo de Vida de Software
ConvencionalLos resultados no son exactos,
impredicibles, sujeto a cambios,falta de coordinación y
comunicación.Mala organización, planeación y
control (ProcesoAdministrativo).
EstructuradoProgramación estructurada,diseño estructurado, Análisisestructurado, Especificaciones
funcionales, técnicas ysimbología.
Redeundancia mínima.Orientado a Procesos.
Especificación estruturada(diagrama de flujo, diccionario
de datos y especifcación deprocesos).
Orientad a Objetosidentificación de clases,
Herencias y eventosReutilización de componentes.Incorporación de bibliotecas de
clases.Sudivisión del sistema en varios
subsistemas independientes.
Tiempo RealManejo de Interrupciones
Comunicación y sincronizaciónentre tareas.
Gestión de procesosconcurrentes
Respuesta oportuna entreeventos externos.
Datos continuos o discretos
Tipo de Metodologías
Programación Estructurada
Programación Estructurada
Construcciones
Trabajo en Equipo
Problemas que se enfrenta la PE
Ejemplo: Nueva sede del Senado, Antulio, Colonos, PeopleSoft, manuales, .net, administración de proyectos, paradigmas, certificación, actitud personal,bomberazos, parches, “esto urge”, el cliente es 1ero….Proceso Administrativo
Problemas a los que se enfrenta laPE
Fase tradicional de desarrollo
Metodología James Martin
Metodología Yourdan
Metodología Jackson
Metodología Merise
Metodología SSADM
Metodología SSADM
Desarrollo Case
Metodologías
Metodología Propuesta(Resumen Programación Estructurada)
Técnicas Top-Down CodificaciónAlgoritmos
Diagrama de FlujosPseudocódigo
Elementos de Calidad
Documentar todas las étapas
Metodología Modelo Estudio de Viabilidad Estudio Preliminar
Planteamiento del ProblemaAntecedentesObjetivosAlcances
Análisis Lógico oAnálisis Funcional
Diseño Físico yRealización
Documento de RequerimientosDocumento de FuncionalidadDiagrama de flujo
AlgoritmosDiagrama de flujo
Continuación…Diseño Físico yRealización
Diseño Top-Dow• Manual de Usuario.• Manual Técnico.• Informe de Pruebas.
Puesta en Marcha oImplantación
Explotación y Mtto
Diseño Top-Down Técnicas
Técnicas más conocidasTopDown (diseño descendente).BottonUpWarnierOff
Con el objeto de facilitar el diseño de algoritmos y la organización de los divesos elementos de los que se comopne se ututilizan algunas tecnicas que muestran una metodoslo a se seguir para resolver prolemas. Estas tecnicas hacen que los programas sean mas fáciles de escribir, verificar, leer y mantener.
TopDownTopDown Es una técnica para diseñar que consiste en tomar el problema en forma
inicial como una cuestiuon global y descomponerlo sucesivamente en problemas más pequeños y por lo tanto entender la solución de una forma más sencilla.
La descomposición del problema original (y de las etapas subsecuentes), puede detenerse cuandos los probnlemas resultantes alcanzan un nivel de detalle que el programado o analista puede implmentar fácilmente.
El problema se descompone en etapas o estructuras jerárquicas de modo que se puede considerar cada estructura como dos putnso de vista, lo que hace y como se hace.
Diseño Top-Down
Diseño Top-Down
Diseño Top-Down
Diseño Top-Down
Ciclo de vida
Elementos de Calidad en el Desarrollo Software
CodificaciónCodificación Es la obtención de un programa fuente definitivo que será comprensible para la máquina.
Una vez codificado el programa deberá seguir la etapa de compilación (o bien con interprete). El diseño se transcribe a código.
Diseño
Codifcación
Compilación
Link
.exe
Concepto de Codificación
Codificación
Codificación
Técnica de algoritmos
Un algoritmo es un conjunto de reglas que determinan la secuencia de las operaciones a seguir para resolver un problema específico y que cumple con las siguientes cinco características:
1) Finitud: Un algoritmo debe terminar después de ejecutar un número finito de pasos.2) Definición: Cada paso en un algoritmo debe estar definido con precisión, esto es, la acción a seguir no debe ser ambigua, sino rigurosamente especificada. UN algoritmo descrito en un lenguaje como inglés o español, en el cual una misma palabra puede significar varias cosas, puede no cumplir con este punto. Es por eso que se han definido los lenguajes de programación o lenguajes de computación para especificar algoritmos, ya que en ellos el significado de cada palabra es uno y sólo uno.3) Entrada: Se considera como entrada el conjunto de datos o información requerida para resolver un problema dado. No cualquier grupo de datos se puede considerar como entrada en el procedimiento señalado.4) Salida: La salida es un conjunto de resultados que se obtienen al aplicar el algoritmo al conjunto de datos de entrada.5) Efectividad: Un algoritmo debe llevar a la solución del problema planteado, en otras palabras, se puede decir que todas las operaciones que efectúa el algoritmo, deben ser lo suficientemente simples para que en principio, se puedan ejecutar con papel y lápiz y al final obtener el resultado deseado.
Lenguaje de Algoritmo; AlgoritmoLenguaje de Algoritmo; Algoritmo
¿Papá que usaban en la escuela?
AlgoritmosAlgoritmosEn la práctica, un algoritmo es un método para resolver problemas mediante los pasos o etapas siguientes:
1. Diseño del algoritmo que describe la secuencia ordenada de pasos —sin ambigüedades— conduncentes a la solución de un problema dado (Análisis del problema y desarrollo del algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. (Fase de codificación).
3. Ejecución y validación del programa por la computadora.
Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo indicando cómo hace el algoritmo la tarea solicitada, y eso se traduce en la construcción de un algoritmo. El resultado final del diseño es una solución que debe ser fácil de traducir a estructuras de datos y estructuras de control de un lenguaje de programación específico.
Las dos herramientas más comúnmente utilizadas para diseñar algoritmos son: diagramas de flujo y pseudocódigos.
• Diagrama de flujo (flowchart). Representación gráfica de un algoritmo.• Pseudocódigo. Lenguaje de especificación de algoritmos, mediante palabras similares al inglés o español
44
Algoritmos cotidianosAlgoritmos cotidianos
Aquellos algoritmos que nos ayudan a resolver problemas diarios y seguimos una metodología para realizarlos.◦ Cambiar una llanta en el coche
◦ Inicio
◦ Traer Gato
◦ Levantar el coche con el gato
◦ Aflojar tornillos de las llantas
◦ Sacar los tornillos de las llantas
◦ Quitar la llanta
◦ Poner la llanta de respuesto
◦ Poner los tornillos
◦ Aoretar los tornillos Bajar gato
◦ Fin
Ejercicio: Un cliente realiza un pedido a una fabrica. La fabrica examina en su banco de datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido, en caso contrario rechaza el pedido.
Ejercicio2: Determinar el mayor de 3 números enteros. Ejercicio 3: De un directorio telefónico determinar que empleados inician con la letra A.
Pasos del Algoritmo Ejemplo 1 Inicio
Examinar ficha del cliente Si el cliente es solvente se acepta pedido caso contrario se
rechaza.
Ejemplo 2 Inicio
Comparar el 1 y el 2do número para determinar cuál es mayor.
Comparar el mayor anterior con el 3ero y deducir cuál es el mayor.
Ejemplo3 Examinar primer registro y letra inicial de nombre. Si el nombre del registro n inicio con “A”; presentar
nombre. Salto de registro y repetir proceso hasta el último registro.
AnexoAnexo
Metodología básica para el desarrollo de una aplicación: Definición del problema. Requerimientos. Análisis de los datos. Diseño de la solución. Codificación. Prueba y depuración. Documentación. Mantenimiento.
COMUNICACIÓN
Metodologías para el desarrolloMetodologías para el desarrollo Definición del problema:
Es el planteamiento en base a la necesidad de lo que se requiere y se desea, desde un punto de vista operativo, claro y definido.
Requerimientos: Se especifican todas las necesidades del problema, desde los alcances, limitaciones,
crecimiento y operación. Análisis de los datos
Una vez que se cuenta con un documento de requerimientos se especifican las entradas/salidas deseadas a detalle. Los aspectos a analizar son:
Resultados esperados, Datos de entradas disponibles. Herramientas necesarias para el desarrollo (lenguajes de alto nvel, hardware,
software, administración, etc). Esta etapa debe analizar los tipos de datos de captura, resultados, interfaz, etc.
Diseño de la solución: Esta etapa incluye la descripción del algoritmo del programa, los diagramas de
flujo y pseudocódigo. En esta etapa se ve la solución del problema en forma conceptual.
Pruebas, depuración y documentaciónPruebas, depuración y documentación Pruebas y depuración.
Una vez que se obtiene el programa ejecutable, se instala y se realizan las pruebas en base a los requerimientos y análisis del programa.
Se deben introducir datos validos, no validos, incongruentes, saturar el sistema y ver su comportamiento.
El proceso de depuración consiste en encontrar inconsistencia, localizar errores y corregirlos en caso de que existan. Si no existen errores, puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeño del programa.
Documentación Se documenta todo el proceso de desarrollo, instrucciones de uso del programa y su
mantenimiento. La documentación debe estar dirigida al usuario final, al administrador y a los analistas
del programa. Mantenimiento
Se refiere a las actualizaciones que deben aplicarse al programa cuando las circunstancias asi lo requieran. Le programa puede ser modificable a nuevas condiciones de operación.