lunes, 23 de septiembre de 2013

CICLO DE VIDA DE UNA APLICACIÓN INFORMÁTICA




CICLO DE VIDA DEL SOFTWARE
Es la forma mediante la cual se describen los diferentes pasos que se deben seguir para el desarrollo de un software, partiendo desde una necesidad hasta llegar a la puesta en marcha de una solución y su apropiado mantenimiento. El ciclo de vida para un software comienza cuando se tiene la necesidad de resolver un problema, y termina cuando el programa que se desarrolló para cumplir con los requerimientos, deja de ser utilizado.
Existen varias versiones del ciclo de vida del software entre las cuales se destacan: el ciclo de vida clásico o en cascada, el modelo en espiral, el desarrollo de prototipos, el modelo por incrementos y el modelo extremo.


ETAPAS DEL CICLO DE VIDA DEL SOFTWARE
El ciclo de vida clásico del software siendo uno de los más utilizados tal como lo plantean diferentes autores, está conformado en su versión ampliada por siete etapas que se pueden representar mediante un modelo en cascada así:
 


- INGENIERÍA DE SISTEMAS: En esta etapa el analista luego de un minucioso y detallado estudio de los sistemas de una organización, detecta un problema o una necesidad que para su solución y/o satisfacción es necesario realizar un desarrollo de software.

- ANÁLISIS: En esta etapa se debe entender y comprender de forma detallada cual es la problemática a resolver, verificando el entorno en el cual se encuentra dicho problema, de tal manera que se obtenga la información necesaria y suficiente para afrontar su respectiva solución. Esta etapa es conocida como la del QUÉ se va a solucionar.

- DISEÑO: Una vez que se tiene la suficiente información del problema a solucionar, es importante determinar la estrategia que se va a utilizar para resolver el problema. Esta etapa es conocida bajo el CÓMO se va a solucionar.

- IMPLEMENTACIÓN: partiendo del análisis y diseño de la solución, en esta etapa se procede a desarrollar el correspondiente programa que solucione el problema mediante el uso de una herramienta computacional determinada.

- PRUEBAS: Los errores humanos dentro de la programación de los computadores son muchos y aumentan considerablemente con la complejidad del problema. Cuando se termina de escribir un programa de computador, es necesario realizar las debidas pruebas que garanticen el correcto funcionamiento de dicho programa bajo el mayor número de situaciones posibles a las que se pueda enfrentar.

- DOCUMENTACIÓN: Es la guía o comunicación escrita en sus diferentes formas, ya sea en enunciados, procedimientos, dibujos o diagramas que se hace sobre el desarrollo de un programa. La importancia de la documentación radica en que a menudo un programa escrito por una persona, es modificado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
La documentación se compone de tres partes:
    a. Documentación Interna: Son los comentarios o mensajes que se añaden al código fuente para hacer más claro el entendimiento de los procesos que lo conforman, incluyendo las precondiciones y las pos condiciones de cada función.
    b. Documentación Externa: Se define en un documento escrito con los siguientes puntos:
        Descripción del Problema
        Datos del Autor
        Algoritmo (diagrama de flujo o Pseudocódigo)
        Diccionario de Datos
        Código Fuente (programa)
    c. Manual de Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario lo pueda manejar para que obtenga el resultado deseado.

- MANTENIMIENTO: una vez instalado un programa y puesto en marcha para realizar la solución del problema previamente planteado o satisfacer una determinada necesidad, es importante mantener una estructura de actualización, verificación y validación que permitan a dicho programa ser útil y mantenerse actualizado según las necesidades o requerimientos planteados durante su vida útil. Para realizar un adecuado mantenimiento, es necesario contar con una buena documentación del mismo.
Para terminar de entender la problemática en la cual se desarrolla este libro es importante tener unos conceptos claros y precisos de lo que es el Análisis y el Diseño de Algoritmos.


Errores.
TIPOS DE ERRORES.
Los errores de programación pertenecen a tres categorías: errores de compilación, errores en tiempo de ejecución y errores lógicos. Las técnicas para depurar cada uno de ellos se tratarán en las tres lecciones siguientes.
ERRORES DE COMPILACIÓN
Los errores de compilación, también conocidos como errores del compilador, son errores que impiden que su programa se ejecute. Cuando presiona F5 para ejecutar un programa, Visual Basic compila el código en un lenguaje binario que el equipo entiende. Si el compilador de Visual Basic se encuentra con código que no entiende, emite un error de compilador.
La mayoría de los errores del compilador se deben a errores cometidos al escribir el código. Por ejemplo, puede escribir mal una palabra clave, omitir alguna puntuación necesaria o intentar utilizar una instrucción End If sin antes utilizar una instrucción If.

Afortunadamente, el editor de código de Visual Basic se diseñó para identificar estos errores antes de que se intente ejecutar el programa. Aprenderá a encontrar y corregir los errores de compilación en la lección siguiente, Encontrar y eliminar errores del compilador.

ERRORES EN TIEMPO DE EJECUCIÓN
Los errores en tiempo de ejecución son errores que aparecen mientras se ejecuta su programa. Estos errores aparecen normalmente cuando su programa intenta una operación que es imposible que se lleve a cabo.
Un ejemplo de esto es la división por cero. Suponga que tiene la instrucción siguiente:
Speed = Miles / Hours
Si la variable Hours tiene un valor de 0, se produce un error en tiempo de ejecución en la operación de división. El programa se debe ejecutar para que se pueda detectar este error y si Hours contiene un valor válido, no se producirá el error.
Cuando aparece un error en tiempo de ejecución, puede usar las herramientas de depuración de Visual Basic para determinar la causa. Aprenderá a encontrar y corregir los errores en tiempo de ejecución en la lección ¡No funciona! Encontrar y eliminar errores en tiempo de ejecución.

ERRORES LÓGICOS
Los errores lógicos son errores que impiden que su programa haga lo que estaba previsto. Su código puede compilarse y ejecutarse sin errores, pero el resultado de una operación puede generar un resultado no esperado.
Por ejemplo, puede tener una variable llamada FirstName y establecida inicialmente en una cadena vacía. Después en el programa, puede concatenar FirstName con otra variable denominada LastName para mostrar un nombre completo. Si olvida asignar un valor a FirstName, sólo se mostrará el apellido, no el nombre completo como pretendía.
Los errores lógicos son los más difíciles de detectar y corregir, pero Visual Basic también dispone de herramientas de depuración que facilitan el trabajo. Aprenderá a encontrar y corregir los errores lógicos en ¿Qué? Esto no debiera haber ocurrido. Encontrar errores lógicos.



¿QUE ES  PROGRAMACIÓN?
   TIPOS DE PROGRAMACIÓN
Existen varias clases de programación, dependiendo de los métodos utilizados y las técnicas empleadas.
Los tipos o técnicas de programación son bastante variados, aunque puede que muchos de los lectores sólo conozcan una metodología para realizar programas. En la mayoría de los casos, las técnicas se centran en programación modular y programación estructurada, pero existen otros tipos de programación. Los explicaremos a lo largo del artículo.


PROGRAMACIÓN ESTRUCTURADA (PE)

 La programación estructurada está compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.
Esta técnica incorpora:
    Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.
    Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
    Estructuras básicas: existen tres tipos de estructuras básicas:
        Estructuras secuenciales: cada acción sigue a otra acción secuencial mente. La salida de una acción es la entrada de otra.
        Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
        Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.
Las principales ventajas de la programación estructurada son:
ü  Los programas son más fáciles de entender
ü  Se reduce la complejidad de las pruebas
ü  Aumenta la productividad del programador
ü  Los programas queden mejor documentados internamente.
Un programa está estructurado si posee un único punto de entrada y sólo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
PROGRAMACIÓN MODULAR
En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.
En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.
A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.
PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.
El elemento principal de la programación orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
 Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.
El polimorfismo y la herencia son unas de sus principales características y por ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos términos.
En DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la programación orientada a objetos.
 PROGRAMACIÓN CONCURRENTE.
Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultánea.
Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.


Los pioneros en este campo fueron Edsger Dijkstra, Per Brinch Hansen, y C. A. R. Hoare.
PROGRAMACIÓN FUNCIONAL
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.
PROGRAMACIÓN LÓGICA
Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).
LENGUAJES DE PROGRAMACIÓN

TIPOS DE DOCUMENTACIÓN.
es la documentación que se entrega al cliente (futuro dueño de la aplicación informática) se divide en dos categorias.
interna y externa.
INTERNA. 
es aquella que se crea en el mismo código y puede ser en forma de comentarios o de archivos de información dentro de la aplicación.
EXTERNA. es aquella que  se escribe en cuadernos o libros totalmente a la aplicación en si dentro de esta categoria tambien se encuentra la ayuda electronica.
GUIA TÉCNICA.
en la guía técnica o manual técnico  se refleja el diseño del proyecto, la codificación de la aplicación y las pruebas realizadas para su correcto funcionamiento.
generalmente este documento esta diseñado para personas con conocimientos de informática. 
El principal objetivo es de facilitar el desarrollo, corrección y futuro mantenimiento de la aplicación de una forma rápida y facil.
Esta guia esta compuesta por tres apartados claramente diferenciados:   
  1. cuaderno de carga: es donde se refleja la solución o diseño de la aplicación. Esta parte de la guía es unicamente destinada a los programadores. Debe estar realizada de tal manera que permita la división del trabajo.
  2. Programa Fuente: Es donde se incluye la codificación realizad por los programadores. Este documento puede tener, a su vez, otra documentación para su mejor comprensión y puede ser de gran ayuda para el mantenimiento o desarrollo mejorado de la aplicación.    Este documento debe tener una gran claridad en su escritura para su facil comprensión.
  3. Pruebas: Es el documento donde se especifica el tipo de pruebas realizadas a lo largo de todo el proyecto y los resultados obtenidos. 
GUIA DE USO.
Es lo que normalmente llamamos Manual De Usuario. Contiene la información necesaria para que los usuarios utilicen correctamente la aplicación.
Este documento se hace desde la guía técnica pero se suprime los tecnicismos y se presenta de forma que sea entendible para el usuario  que no sea experto en informática.
Un punto a tener en cuenta en su creación es que no debe hacer referencia a ningún apartado de la guía técnica y en el caso de que se haga uso de algún tecnicismo debe ir acompañado de un glosario de términos al final de la misma.  
GUÍA DE INSTALACIÓN.
Es la guía que contiene la información necesaria para implementar dicha aplicación.
Dentro de este documento se encuentran las instrucciones para la puesta en marcha del sistema y las normas de utilización del mismo.
Dentro de las normas de utilización se incluye las normas de seguridad tanto las físicas como las referentes al acceso de la información.
 OBJETOS DE UN PROGRAMA.
 Identificadores:

Representan los objetos de un programa (constantes, variables, tipos de datos, procedimientos, funciones, unidades, programas y campos de registros). Un identificador es una secuencia de caracteres de cualquier longitud, pero el límite significativo es de 63 caracteres.




Existen tres reglas básicas para nombrar los identificadores:
Debe comenzar con una letra (A a Z, mayúsculas o minúsculas). No puede contener blancos.
Los caracteres permitidos después del primer carácter son letras, dígitos y el carácter de subrayado ( _ ).
No se puede utilizar una palabra reservada como identificador. Las palabras reservadas son aquellos términos que tienen un significado especial para Pascal y no se pueden utilizar para otros propósitos.
     Constantes: Tienen un valor fijo que se le da cuando se define la constante y que ya no puede ser modificado durante la ejecución.

     Variables: El valor puede cambiar durante la ejecución del algoritmo, pero nunca varía su nombre y su tipo.
 Antes de usar una variable hay que definirla o declararla, al hacerlo hay que dar su nombre y su tipo. El nombre que le damos tiene que ser un nombre significativo, va a ser un conjunto de caracteres que dependiendo del lenguaje hay restricciones. Tiene que empezar por una letra, y el tamaño depende del lenguaje.
 Identificador: Palabra que no es propia del lenguaje.
 El valor de la variable si al declararla no se la inicializa, en algunos lenguajes toma una por defecto. En cualquier caso el valor de la variable podemos darle uno inicial o podemos ir variándolo a lo largo de la ejecución.
 Las constantes pueden llevar asociados un nombre o no, si no lo llevan, se llaman literales. Su valor hay que darlo al definir la constante y ya no puede cambiar a lo largo de la ejecución, y en cuanto al tipo, dependiendo de los lenguajes en algunos hay que ponerlo, y en otros no. En este caso toma el tipo del dato que se le asigna. Const PI=3,1416.
  DIFERENCIAS ENTRE CONSTANTES Y VARIABLES.
 Después de haber visto cada una por separado, pasemos a explicar las diferencias que existen entre constantes y variables. A primera vista pudieran parecer conceptos similares, pero realmente son cosas muy distintas. Y esta distinción viene dada por la posibilidad que tienen las variables para cambiar de valor.

Principales diferencias:
     Las constantes ya reciben un valor inicial en su declaración
    Las variables primero se declaran, luego se inician, y luego se usan
  Las constantes, una vez declaradas mantienen su valor durante toda la ejecución del programa
    En cambio, las variables pueden cambiar su valor tantas veces como deseen
    Además de cambiar su valor, las variables también pueden cambiar de tamaño en tiempo de ejecución (punteros)
  


 Expresiones

Una expresión es un conjunto de datos o funciones unidos por operadores aritméticos.
Pascal soporta los siguientes operadores:
Reglas para la evaluación de expresiones
Todas las subexpresiones entre paréntesis se evalúan primero. Cuando existan subexpresiones con paréntesis anidados se evalúan de dentro hacia fuera. El paréntesis más interno se evalúa primero.

Prioridad de operaciones. Dentro de una misma expresión o subexpresión, los operadores se evalúan en el siguiente orden:
        *,/, div, mod
        +, -    
Regla asociativa izquierda. Los operadores en una misma expresión o subexpresión con igual nivel de prioridad ( *, / ) se evalúan de izquierda a derecha.
Ejemplos:
a.      4 + 2 * 5               (primero la multiplicación, luego la suma)
4 +   10 
  14
b. 23 * 2 div 5           (de izquierda a derecha, primero * y luego div)
                   46 div 5
                         9
Práctica Individual Sobre 8 puntos Para él 08/10/2103 .
Evalúe las siguientes expresiones y Coloque Las Respuestas:
8 * 5 * (7+2 - (4 + 4))                                   R/       
(1 + 6) * 5 div 7  mod 4 + 1                          R/      
3 + 4 - 14 /2                                                  R/      
2 * (2 + 6 * 4)                                               R/    
a - (b + c div d) + e * f                                 R/
7+(2*8)-15+3/1.5                                         R/
14 DIV 2 +21-8*25                                       R/
8+(4-2)+5/1*(66-10)                                     R/

Especifique el orden de desarrollo de la siguiente operación:
a - (b + c div d) + e * f



  MAS INFORMACIÓN
 

1 comentario: