Clase 3 Unidad 2 Parte 2
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,491
On Slideshare
2,491
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
47
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Unidad 2. Programación Estructurada Sintaxis de los Algoritmos Estructurados Estructuras de secuencia: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Estructura de decisión: La instrucción If...Then nos permite ejecutar distintos bloques de código dependiendo de cuál sea la evaluación de un determinado enunciado. Si la condición es verdadera, se ejecuta el código que se encuentra a continuación de la instrucción If...Then. Si la condición es falsa, se ejecuta el código siguiente a la instrucción Else (si existiera). if { expresion booleana } then if {expresion booleana} then begin begin {bloque de código} if { expresion booleana } {bloque de código} End then ... else {una línea de código} ... begin end; {bloque de código} end; Estructura de Repetición o Bucle: Existen varias estructuras de repetición, entre ellas se tienen: Sentencia WHILE: Indica al ordenador que se ejecuten una o más sentencias mientras se cumpla una determinada condición. La condición viene determinada por una variable o expresión booleana. Esta sentencia comprueba inicialmente si la condición es verdadera. Si la condición es verdadera se ejecutan las sentencias mientras la condición de su enunciado sea verdadera y finaliza cuando la condición es falsa. Dado que la condición puede ser falsa inicialmente, es decir antes de comenzar el bucle, habrá casos en que el bucle no se ejecute. El bucle WHILE dentro del bucle debe existir, por lo menos, una sentencia que modifique el valor de la variable o expresión, de lo contrario se puede producir una situación de bucle infinito. Sintaxis: Pascal Lenguaje C PHP While condición DO while (condición): Begin bloque de instrucciones while (condición) (sentencia1); endwhile; { ... bloque de instrucciones (sentenciaN); While (condición){ }; End; Bloque de sentencias }; Sentencia FOR: Repite la ejecución de una o varias sentencias un número fijo de veces. Previamente establecido. Necesita una variable de control del bucle que es necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la variable de control toma una serie consecutiva de valores de tipo ordinal, comprendidos entre dos valores extremos (inferior y superior). Sintaxis: Pascal Lenguaje C PHP For For ($variable=ValorInicial; variable_control:=valor_inicial For (variable control=valor inicial; Condicion; Incremento++) To valor_final Do condición; variablecontrol++) { Begin { Intrucción_1; {Bloque de código} bloque de instrucciones : End; }; Intrucción_n; } Ing. Darmara J. Silva Mendoza Página 1
  • 2. Unidad 2. Programación Estructurada Sentencia Do…While y Repeat: Los bucles do..while son muy simjilares a los bucles while, excepto que las condiciones se comprueban al final de cada iteración en lugar del principio. La principal diferencia frente a los bucles regulares while es que se garantiza la ejecución de la primera iteración de un bucle do..while (la condición se comprueba sólo al final de la iteración), mientras que puede no ser necesariamente ejecutada con un bucle while regular (la condición se comprueba al principio de cada iteración, si esta se evalúa como FALSE desde el principio la ejecución del bucle finalizará inmediatamente). Pascal Lenguaje C PHP Repeat do { do { Bloque de Instrucciones bloque de instrucciones bloque de instrucciones UntilL Condición; } while (Condición); } while (Condición); End. Ejemplos y Ejercicios de Algoritmo Estructurado: 1.- Una compañía de envío de Telegramas ubicada en una ciudad requiere enviar 10 telegramas, dicha compañía puede enviar telegramas dentro de la misma ciudad donde se encuentra ubicada o a otras ciudades. Realice un programa que calcula el precio de un telegrama, teniendo como datos de entrada: 2 dígitos para el código de la ciudad, además se sabe si es urgente o no el telegrama y la cantidad de palabras escritas que se tiene el telegrama. Calcular el costo a pagar, sabiendo que aplica una tarifa mínima de 3 Bs. de envío del telegrama a otra ciudad; 2 Bs. si el envío es dentro de la misma ciudad estas dos tarifas son aplicables si no se sobrepasan las 10 primeras palabras. Por cada palabra que exceda a las 10 primeras debe pagar 20 (0.2) céntimos si el telegrama es enviado a otra ciudad; si es enviado dentro de la ciudad de ubicación de la compañía debe paga 15 (0.15) céntimos por cada palabra que sobrepase a las 10 primeras. Si es urgente tiene un recargo de 50% sobre el precio final sin importar la ciudad destino. Muestre por pantalla la cantidad los Telegramas, ciudades de destino y costo de los mismos… 2.- La compañía telefónica de Barquisimeto requiere que usted cree un programa para su facturación, tomando en cuenta lo siguiente aspectos para calcular el total a pagar por el cliente: Cada minuto Local cuesta 13 céntimos. Cada minuto Nacional cuesta 25 céntimos. La renta básica cuesta 10 bolívares. El cliente puede tener o no acumulados n cantidad de minutos nacionales y n cantidad de minutos locales acumulados por sus llamadas. Nota: n es la cantidad de minutos del cliente Herramientas Estructuradas CASE (Computer Aided Software Engineering. Ingeniería de Software Asistida por Ordenador): De acuerdo con Kendall y Kendall, la ingeniería de sistemas asistida por ordenador es la aplicación de tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseñadas, en el caso de CASE para automatizar o apoyar una o más fases del ciclo de vida del desarrollo de sistemas. La tecnología CASE supone la informatización de la informática es decir la automatización del desarrollo del software, contribuyendo así a elevar la productividad y la calidad en el desarrollo de los sistemas de información. Objetivos: Mejorar la productividad en el desarrollo y mantenimiento del software. Aumentar la calidad del software. Reducir el tiempo y coste de desarrollo y mantenimiento de los sistemas informáticos. Mejorar la planificación de un proyecto Ing. Darmara J. Silva Mendoza Página 2
  • 3. Unidad 2. Programación Estructurada Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos. Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto. Ayuda a la reutilización del software, portabilidad y estandarización de la documentación Gestión global en todas las fases de desarrollo de software con una misma herramienta. Facilitar el uso de las distintas metodologías propias de la ingeniería del software. Clasificación: No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a: 1. Las plataformas que soportan. 2. Las fases del ciclo de vida del desarrollo de sistemas que cubren. 3. La arquitectura de las aplicaciones que producen. 4. Su funcionalidad. Clasificación en función de las fases del ciclo de vida que abarcan: Herramientas de alto nivel: U-CASE (Upper CASE - CASE superior o front-end) orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño. Herramientas de bajo nivel: L-CASE (Lower CASE - CASE inferior o back-end) dirigidas a las últimas fases del desarrollo: desarrollo e implantación. Juegos de herramientas o toolkits: son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento. Clasificación según su funcionalidad: Herramientas de planificación de sistemas de gestión: sirven para modelizar los requisitos de información estratégica de una organización. Proporcionan un "metmodelo" del cual se pueden obtener sistemas de información específicos. Su objetivo principal es ayudar a comprender mejor cómo se mueve la información entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se diseñan nuevas estrategias para los sistemas de información y cuando los métodos y sistemas actuales no satisfacen las necesidades de la organización. Herramientas de Análisis y Diseño: Permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Entre ellas podemos encontrar: Herramientas de análisis y diseño (Modelado). Herramientas de creación de prototipos y de simulación. Herramientas para el diseño y desarrollo de interfaces. Herramientas de programación: Se engloban aquí los compiladores, los editores y los depuradores de los lenguajes de programación convencionales. Ejemplos de estas herramientas son: Herramientas de codificación convencionales. Herramientas de codificación de cuarta generación (asociadas a SGBD) Herramientas de programación orientadas a objetos. Herramientas de integración y prueba: Sirven de ayuda a la adquisición, medición, simulación y prueba de los equipos lógicos desarrollados. Entre las más utilizadas están: Herramientas de análisis estático. Herramientas de generación de casos de prueba. Herramientas de gestión de prototipos: los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluación de especificaciones de un sistema de información, o para un mejor entendimiento de cómo los requisitos de un sistema de información se ajustan a los objetivos perseguidos. Herramientas de mantenimiento: la categoría de herramientas de mantenimiento se puede subdividir en: Ing. Darmara J. Silva Mendoza Página 3
  • 4. Unidad 2. Programación Estructurada Herramientas de Ingeniería Inversa. Herramientas de reestructuración y análisis de código. Herramientas de reingeniería. Herramientas de gestión de proyectos: La mayoría de las herramientas CASE de gestión de proyectos, se centran en un elemento específico de la gestión del proyecto, en lugar de proporcionar un soporte global para la actividad de gestión. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duración, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen también herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de condiciones técnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes: Herramientas de planificación de proyectos. Herramientas de seguimiento de requisitos. Herramientas de gestión y medida. Herramientas de soporte: Se engloban en esta categoría las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuación: Herramientas de documentación. Herramientas para software de sistemas. Herramientas de control de calidad. Herramientas de bases de datos Componentes de una herramienta case: De una forma esquemática podemos decir que una herramienta CASE se compone de los siguientes elementos: Repositorio (diccionario): Donde se almacenan los elementos definidos o creados por la herramienta, y cuya gestión se realiza mediante el apoyo de un Sistema de Gestión de Base de Datos (SGBD) o de un sistema de gestión de ficheros. Meta modelo: (no siempre visible), constituye el marco para la definición de las técnicas y metodologías soportadas por la herramienta. Carga o descarga de datos: Permiten cargar el repertorio de la herramienta CASE con datos provenientes de otros sistemas, o bien generar a partir de la propia herramienta esquemas de base de datos, programas, etc. que pueden, a su vez, alimentar otros sistemas. Este elemento proporciona así un medio de comunicación con otras herramientas. Comprobación de errores: Permiten llevar a cabo un análisis de la exactitud, integridad y consistencia de los esquemas generados por la herramienta. Interfaz de usuario: Constará de editores de texto y herramientas de diseño gráfico que permitan, mediante la utilización de un sistema de ventanas, iconos y menús, con la ayuda del ratón, definir los diagramas, matrices, etc. que incluyen las distintas metodologías. Ejemplos de Herramientas CASE: Algunos ejemplos de estas herramientas son: Database Designer for MySQL Dreamweaver CS3 Eclipse Oracle Designer Rational Rose Visual Paradigm for UML Modelo de Datos: Conjunto de herramientas conceptuales para especificar datos, la relación entre ellos, su semántica asociada y la restricción de integridad. Un modelo de datos es un lenguaje orientado a describir una Base de Datos. Típicamente un Modelo de Datos permite describir: Las estructuras de data de la base de datos: El tipo de los datos que hay en la base de datos y la forma en que se relacionan. Ing. Darmara J. Silva Mendoza Página 4
  • 5. Unidad 2. Programación Estructurada Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada. Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base de datos. Los modelos de datos aportan la base conceptual para diseñar aplicaciones que hacen un uso intensivo de datos, así como la base formal para las herramientas y técnicas empleadas en el desarrollo y uso de sistemas de información. Además de capturar las necesidades dadas en el momento de la etapa de diseño, la representación debe ser capaz de dar cabida a eventuales futuros requerimientos. Workflow: El Flujo de trabajo (workflow) es el estudio de los aspectos operacionales de una actividad de trabajo: cómo se estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómo fluye la información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las tareas. Objetivo; Reflejar, mecanizar y automatizar los métodos y organización en el sistema de información Establecer los mecanismos de control y seguimiento de los procedimientos organizativos Independizar el método y flujo de trabajo de las personas que lo ejecutan Facilitar la movilidad del personal Soportar procesos de reingeniería de negocio Agilizar el proceso de intercambio de información y agilizar la toma de decisiones de una organización, empresa o institución Ing. Darmara J. Silva Mendoza Página 5