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.
MAS INFORMACIÓ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.
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:
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:
- 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.
- 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.
- Pruebas: Es el documento donde se especifica el tipo de pruebas realizadas a lo largo de todo el proyecto y los resultados obtenidos.
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:
1º *,/, div, mod
2º +, -
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
Gran tranajo
ResponderEliminar