6.1
FUNCIÓNES
Una función es un tipo de subprograma que calcula como resultado un valor simple y único a partir de otros valores dados como argumentos.
En líneas generales, una función se
asemeja bastante a la idea matemática de función con argumentos.
Definición de funciones:
o
El primer paso en el manejo de una
función es declarar su interfaz. Esta declaración incluye su nombre, los
argumentos que necesita con el correspondiente tipo para cada uno de ellos, y
el tipo de resultado que proporciona.
o
Cabecera de función: PROCEDURE Nombre(
Argumentos: Tipo; ...) : Tipo Resultado
Es frecuente que los lenguajes de
programación utilicen la palabra PROCEDURE para designar procedimientos, y la
palabra FUNCTION para designar funciones. MODULA-2 es un caso especial, y
utiliza la palabra PROCEDURE para designar cualquiera de las dos clases de
subprogramas.
Estas cabeceras representan la interfaz
entre la definición de la función y su utilización posterior.
Los nombres de los argumentos son
formales, esto quiere decir, que no son variables del programa, sino solo
nombres simbólicos que sirven para formalizar la definición posterior de la
función, permitiendo hacer referencia a los argumentos en la definición de los
cálculos.
Estas cabeceras representan la interfaz
entre la definición de la función y su utilización posterior. Los nombres de
los argumentos son formales, esto quiere decir que no son variables del
programa, sino solo nombres simbólicos que sirven para formalizar la definición
posterior de la función, permitiendo hacer referencia a los argumentos en la
definición de los cálculos.
La definición completa de una función
se compone de la cabecera, seguida de un cuerpo que tiene la misma estructura
que un bloque de programa completo. Este bloque comienza con una parte
declarativa y continua con una parte ejecutiva introducida con la palabra clave
BEGIN. En la parte declarativa se declaran las constantes y variable para el
uso local de la función.
La parte ejecutiva estará constituida
por una secuencia de sentencias. La función finalizara con la
palabra clave END y a continuación nuevamente el nombre de la función seguida
de un punto y coma ( ; )
En las sentencias que constituyen la
función se puede y se debe hacer uso de los argumentos formales declarados en
su interfaz. Esto permite parametrizar los cálculos de la función para valores
particulares de los argumentos.
Ejemplo:
PROCEDURE Potencia(x: REAL; n: CARDINAL): REAL;
VAR k : CARDINAL;
p : REAL;
BEGIN
PROCEDURE Potencia(x: REAL; n: CARDINAL): REAL;
VAR k : CARDINAL;
p : REAL;
BEGIN
P: = 1.0;
FOR k: = 1 TO n DO
P: = p * x
END;
RETURN p
END Potencia
RETURN p
END Potencia
Uso de funciones
Para usar una función en los cálculos de un programa se invoca dicha función escribiendo su nombre y a continuación, entre paréntesis, los valores concretos de los argumentos, separados por comas.
Esta invocación de la función
representa un valor del tipo de la función, que podrá ser usado como operando
en una expresión aritmética o en cualquier parte del programa en que sea válido
escribir una expresión de ese tipo.
Al invocar una función es obligatorio
que los valores suministrados para los argumentos correspondan en número y tipo
con los argumentos en la definición.
La correspondencia de tipo significa
que el tipo del argumento en la invocación sea compatible en asignación con el
tipo de argumento formal.
El efecto de la invocación de una
función puede describirse en forma simplificada de la siguiente manera
Se evalúan las expresiones de los
valores de los argumentos
o
Se asignan dichos valores a los
correspondientes argumentos formales
o
Se ejecuta el código de la definición
de la función, hasta alcanzar una sentencia de retorno
o
El valor retornado se usa en el punto
donde se invocó la función.
Funciones
predefinidas
o
ABS (X): Valor Absoluto de un numero
o
CAP (C): Carácter convertido a
mayúscula
o
CHR (X): Carácter de la tabla de
caracteres en la posición X
o
FLOAT (X): X convertido a valor Real
o
MAX (T): Valor máximo del tipo T
o
MIN (T): Valor mínimo del tipo T
o
ODD (X): Devuelve TRUE cuando el valor
de X es impar
o
ORD (X): Posición que ocupa X en la
lista de valores de su tipo
o
TRUNC (R): Valor de R (REAL) truncado a
entero
o
VAL (T;X): X convertido al tipo T
En los argumentos simbólicos, X
representa un valor numérico, C un carácter, y T un tipo.
FUNCIONES ESTÁNDAR
Las funciones
definidas en módulos estándar se denominan funciones estándar y pueden ser
utilizadas sin necesidad de escribir su definición, pero hay que indicar
expresamente que se van a utilizar dichas funciones mediante una declaración
IMPORT del módulo que las contenga.
o
En lo referente a funciones
matemáticas, se dispone de un módulo estándar llamado MathLib0.
o
Las funciones matemáticas disponibles
en este módulo son las siguientes
o
Exp (x): Exponencial
o
Ln (x): Logaritmo neperiano de X
o
Sin (x): Seno de X
o
Cos (x): Coseno de X
o
Arctan (x): Arcotangente de X
o
sqrt (x): Raiz cuadrada de X
o
Entier (x): Mayor entero de x
Todas estas funciones tienen un
argumento REAL y devuelven un valor REAL, excepto entier, que devuelve un valor
INTEGER.
Procedimientos:
Un procedimiento es un subprograma que realiza una determinada acción. A diferencia de las funciones, un procedimiento no tiene como objetivo devolver un valor obtenido por cálculo.
Un procedimiento es un subprograma que realiza una determinada acción. A diferencia de las funciones, un procedimiento no tiene como objetivo devolver un valor obtenido por cálculo.
Un procedimiento es una forma de
subprograma que agrupa una sentencia o grupo de sentencias que realizan una
acción, y permiten darles un nombre por el que se puedan identificar
posteriormente.
Estas sentencias se pueden parametrizar mediante una serie de argumentos
6.3 Entrada y salida de datos.
entrada/salida,
también abreviado E/S o I/O (del original en
inglés input/output), es la colección de interfaces que usan las distintas unidades
funcionales (subsistemas) de un sistema
de procesamiento de información para
comunicarse unas con otras, o las señales (información)
enviadas a través de esas interfaces. Las entradas son las señales recibidas
por la unidad, mientras que las salidas son las señales enviadas por ésta.
El
término puede ser usado para describir una acción; "realizar una
entrada/salida" se refiere a ejecutar una operación de entrada o de
salida. Los dispositivos de E/S los usa una persona u otro sistema para
comunicarse con una computadora. De hecho, a los teclados y ratones se los considera
dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como
dispositivos de salida de una computadora. Los dispositivos típicos para la
comunicación entre computadoras realizan las dos operaciones, tanto entrada
como salida, y entre otros se encuentran los módems y tarjetas
de red.
Es
importante notar que la designación de un dispositivo, sea de entrada o de
salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y
ratones toman como entrada el movimiento físico que el usuario produce como
salida y lo convierten a una señal eléctrica que la computadora pueda entender.
La salida de estos dispositivos son una entrada para la computadora. De manera
análoga, los monitores e impresoras toman como entrada las señales que la
computadora produce como salida. Luego, convierten esas señales en
representaciones inteligibles que puedan ser interpretadas por el usuario. La
interpretación será, por ejemplo, por medio de la vista, que funciona como
entrada.
En
arquitectura de computadoras, a la combinación de una unidad central de
procesamiento (CPU) y memoria
principal (aquélla
que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la
considera el corazón de la computadora y cualquier movimiento de información
desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su
circuitería complementaria proveen métodos de entrada/salida que se usan en programación de bajo nivel para la
implementación de controladores de dispositivos.
Los sistemas
operativos y lenguajes de programación de más alto nivel brindan
conceptos y primitivas de entrada/salida distintos y más abstractos. Por
ejemplo, un sistema operativo brinda
aplicativos que manejan el concepto de archivos. El lenguaje de programación C define funciones que les
permiten a sus programas realizar E/S a través de streams, es decir, les permiten
leer datos desde y escribir datos hacia sus programas.
Una
alternativa para las funciones primitivas especiales es la mónada de E/S, que permite que
los programas describan su E/S y que las acciones se lleven a cabo fuera del
programa. Esto resulta interesante, pues las funciones de E/S introducirían un efecto
colateral para
cualquier lenguaje de programación, pero ahora una programación puramente funcional resultaría práctica.
Existen varias formas de introducir información en el programa, así como de
obtener resultados en forma impresa o mediante escritura en un fichero. Se va
a presentar una nueva forma interactiva
de comunicarse con el usuario, como son las cajas de diálogo MsgBox e InputBox.
Particular interés tiene la lectura y escritura de datos en el disco, lo cual
es necesario tanto cuando el volumen de información es muy importante (la
memoria RAM está siempre más limitada que el espacio en disco), como cuando se
desea que los datos no desaparezcan al terminar la ejecución del programa. Los
ficheros en disco resuelven ambos problemas.
También se verá en este capítulo cómo obtener resultados alfanuméricos y
gráficos por la impresora.
6.4 Funciones definidas por el usuario.
Al
igual que las funciones en los lenguajes de
programación, las funciones definidas por el usuario de MicrosoftSQL Server son
rutinas que aceptan parámetros, realizan una acción, como un cálculo complejo,
y devuelven el resultado de esa acción como un valor. El valor devuelto puede
ser un valor escalar único o un conjunto de resultados.
Las
ventajas de utilizar las funciones definidas por el usuario en SQL Server son:
·
Permiten
una programación modular.
Puede
crear la función una vez, almacenarla en la base de datos y llamarla desde el
programa tantas vecescomo desee. Las funciones definidas por el
usuario se pueden modificar, independientemente del código de origen del
programa.
·
Permiten
una ejecución más rápida.
Al
igual que los procedimientos almacenados, las funciones definidas por el
usuario Transact-SQL reducen el costo de compilación del código Transact-SQL
almacenando los planes en la caché y reutilizándolos para ejecuciones
repetidas. Esto significa que no es necesario volver a analizar y optimizar la
función definida por el usuario con cada uso, lo que permite obtener tiempos de
ejecución mucho más rápidos.
Las
funciones CLR ofrecen una ventaja de rendimiento importante sobre las funciones
Transact-SQL para tareas de cálculo, manipulación de cadenas y lógica
empresarial. Las funciones Transact-SQL se adecuan mejor a la lógica intensiva
del acceso a datos.
·
Pueden
reducir el tráfico de red.
Una
operación que filtra datos basándose en restricciones complejas que no se puede
expresar en una sola expresión escalar se puede expresar como una función. La
función se puede invocar en la cláusula WHERE para reducir el número de filas
que se envían al cliente.
Las
funciones definidas por el usuario se pueden escribir en Transact-SQL, o en
cualquier lenguaje de programación .NET. Para obtener más información acerca del uso de lenguajes .NET en
funciones, vea Funciones CLR definidas por el usuario.
Todas las funciones definidas por el
usuario tienen la misma estructura de dos partes: un encabezado y un cuerpo. La
función toma cero o más parámetros de entrada y devuelve un valor escalar o una
tabla.
El encabezado define:
·
Nombre
de función con nombre de propietario o esquema opcional
·
Nombre
del parámetro de entrada y tipo de datos
·
Opciones
aplicables al parámetro de entrada
·
Tipo
de datos de parámetro devueltos y nombre opcional
·
Opciones
aplicables al parámetro devuelto
El
cuerpo define la acción o la lógica que la función va a realizar. Contiene:
·
Una
o más instrucciones Transact-SQL que ejecutan la lógica de la función
·
Una
referencia a un ensamblado .NET
En
el siguiente ejemplo se muestra una función Transact-SQL simple definida por el usuario y se identifican
los principales componentes de la función. La función evalúa una fecha
proporcionada y devuelve un valor que designa la posición de esa fecha en una
semana.
En Visual Basic 6.0, para mostrar
una fecha en formato corto o largo, utiliza el especificador de formato
"ddddd" o "dddddd". Los especificadores DayOfWeek
("w") y WeekOfYear ("ww") muestran el primer día de la
semana y la primera semana del año, respectivamente. El carácter en minúscula
"m" muestra el mes con un número sin cero a la izquierda. El
especificador Quarter ("q") muestra el trimestre del año con un
número del 1 al 4.
Para mostrar los minutos como un
número con o sin ceros iniciales, utiliza el especificador de formato
"Nn" o "N". Los caracteres "Hh" muestran la hora
como un número con ceros iniciales, y "ttttt" muestra la hora
completa. Para mostrar las letras "A" o "P" en mayúscula o minúscula
con una hora anterior o posterior al mediodía, utiliza "AM/PM",
"am/pm", "A/P", "a/p" o "AMPM."
El especificador de fecha y hora
abreviado ("c") muestra una fecha y hora en el formato "ddddd
ttttt".
En Visual Basic 6.0, la función
Format convierte las cadenas en números, si es necesario, antes de asignarles
un formato. Format muestra un separador decimal final si no hay parte
fraccionaria.
Visual Basic 6.0 admite cuatro
secciones en la cadena de formato. Estas secciones están separadas mediante
puntos y coma (;) y especifican el formato de los valores positivos, negativos,
cero y nulos, respectivamente. Los números negativos con una sección negativa
vacía en la cadena de formato muestran una cadena vacía.
El formato de notación científica
permite que se incluyan los marcadores de posición de dígitos "0" y
"#" después del exponente.
En Visual Basic 6.0, puede crear
expresiones para las cadenas de formato definidas por el usuario con los
especificadores @, &, <, > y !.
6.5 Pase por valor.
El paso
de parámetros por valor consiste en copiar el contenido de la variable que
queremos pasar en otra dentro del ámbito local de la subrutina, consiste pues
en copiar el contenido de la memoria del argumento que se
quiere pasar a otra dirección de memoria,
correspondiente al argumento dentro del ámbito de dicha subrutina. Se tendrán
dos valores duplicados e independientes, con lo que la modificación de uno no
afecta al otro.
Paso por valor resultado
Es un
tipo poco usado en los lenguajes de programación actuales. Se basa en que
dentro de la función se trabaja como si los argumentos hubieran sido pasados
por valor pero al acabar la función los valores que tengan los argumentos serán
copiados a las variables que pertenecían.
El argumento buttons tiene estos valores:
Para ver el gráfico seleccione la opción ¨Descargar trabajo¨ del menú
superior
El primer grupo de valores (0 a 5) describe el número y el tipo de los
botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64)
describe el estilo del icono, el tercer grupo (0, 256, 512) determina el botón
predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de
mensajes. Cuando se suman números para obtener el valor final del argumento
buttons, se utiliza solamente un número de cada grupo.
Nota Estas constantes las
especifica Visual Basic for Applications. Por tanto, el nombre de las mismas
puede utilizarse en cualquier lugar del código en vez de sus valores reales.
Valores devueltos
Para ver el gráfico seleccione la opción ¨Descargar trabajo¨ del menú
superior
Comentarios
Cuando se proporcionan tanto helpfile como context, el usuario puede
presionar F1 para ver el tema de Ayuda correspondiente al context.
Algunasaplicaciones host, por ejemplo Microsoft Excel, también agregan
automáticamente un botón Ayuda al cuadro de diálogo.
Si el cuadro de diálogo cuenta con un botón Cancelar, presionar la tecla
ESC tendrá el mismo efecto que hacer clic en este botón. Si el cuadro de
diálogo contiene un botón Ayuda, se suministra ayuda interactiva para ese
cuadro de diálogo. Sin embargo, no se devuelve valor alguno hasta que se hace
clic en uno de estos botones.
Nota Si desea especificar más que
el primer argumento con nombre, debe utilizar MsgBox en una expresión. Si desea
omitir algún argumento de posición, debe incluir el delimitador de coma
correspondiente.
InputBox (Función)
Muestra un mensaje en un cuadro de diálogo, espera que el usuario escriba
un texto o haga clic en un botón y devuelve un tipo String con el contenido del
cuadro de texto.
Sintaxis
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
La sintaxis de la función InputBox consta de estos argumentos con nombre:
Para ver el gráfico seleccione la opción ¨Descargar trabajo¨ del menú
superior
Si no especifica un tipo de datos o un tipo de objeto y no existe ninguna
instrucción Deftipo en el módulo, la variable predeterminada será Variant.
Cuando se inicializan variables, una variable numérica se inicializa con 0,
una cadena de longitud variable se inicializa con una cadena de longitud 0
("") y una cadena de longitud fija se llena con ceros. Las variables
Variant se inicializan con Empty. Cada elemento de una variable de un tipo
definido por el usuario se inicializa como si fuera una variable distinta.
Nota Cuando utiliza la instrucción
Dim en un procedimiento, generalmente pone la instrucción Dim al principio del
mismo.
Public (Instrucción)
Se usa en el nivel de módulo para declarar variables públicas y asignarles
espacio para almacenamiento.
Las variables declaradas mediante la instrucción Public están disponibles
para todos los procedimientos en todos los módulos de todas las aplicaciones, a
menos que Option Private Module esté en efecto; en este caso, las variables
sólo son públicas dentro del proyecto en el que residen.
Precaución La instrucción Public no
se puede usar en un módulo de clase para declarar una variable de cadena de
longitud fija.
Utilice también la instrucción Public para declarar el tipo de objeto de
una variable. La instrucción siguiente declara una variable para una nueva
instancia de una hoja de cálculo.
Si no utiliza la palabra clave New al declarar una variable de objeto, la
variable que se refiere a un objeto debe asignarse a un objeto existente
mediante la instrucción Set antes de que se pueda usar. Hasta que se le asigne
un objeto, la variable de objeto declarada tiene el valor especial Nothing, el
cual indica que no se refiere a ninguna instancia en particular de un objeto.
También puede utilizar una instrucción Public con paréntesis vacíos para
declarar matrices dinámicas. Después de declarar una matriz dinámica, use la
instrucción ReDim dentro de un procedimiento para definir el número de
dimensiones y elementos de la matriz. Si intenta volver a declarar un dimensión
para una matriz cuyo tamaño se ha especificado explícitamente en una
instrucción Private, Public o Dim, ocurrirá un error.
Cuando se inicializan las variables, una variable numérica se inicializa a
0, una cadena de longitud variable se inicializa a una cadena de longitud cero
("") y una cadena de longitud fija se rellena con ceros. Las
variables Variant se inicializan a Empty. Cada elemento de una variable de un
tipo definido por el usuario se inicializa como si fuera una variable distinta.
6.6 Pase por referencia.
El paso
de parámetros por referencia consiste en proporcionar a la subrutina a la que
se le quiere pasar el argumento la dirección de memoria del dato. En este caso se
tiene un único valor referenciado (o apuntado) desde dos puntos diferentes, el
programa principal y la subrutina a la que se le pasa el argumento, por lo que
cualquier acción sobre el parámetro se realiza sobre la misma posición de
memoria.
En Visual Basic, puede transferir un argumento a un procedimiento por valor
o por referencia. Esto se conoce comomecanismo para pasar argumentos, y
determina si el procedimiento puede modificar el elemento de programación
subyacente al argumento en el código de llamada. La declaración del
procedimiento determina el mecanismo para pasar argumentos de cada parámetro
mediante la palabra clave ByVal o ByRef.
Distinciones
Al pasar un argumento a un procedimiento, tenga en cuenta las distintas
condiciones que interactúan entre sí:
• Si el elemento de
programación subyacente es modificable o no modificable
• Si el propio argumento es
modificable o no modificable
• Si el argumento se
transfiere por valor o por referencia
• Si el tipo de datos del
argumento es un tipo de valor o un tipo de referencia
Para obtener más información, vea Diferencias entre argumentos modificables
y no modificables y Diferencias entre pasar un argumento por valor y por
referencia.
Selección del mecanismo para pasar argumentos
Debe seleccionar minuciosamente el mecanismo para pasar argumentos de cada
argumento.
• Protección. A la hora de
elegir uno de los dos mecanismos que existen para pasar argumentos, el criterio
más importante que hay que tener en cuenta es la exposición al cambio de las
variables de llamada. La ventaja de pasar un argumento con ByRef es que el
procedimiento puede devolver un valor al código de llamada por medio del
argumento. La ventaja de pasarlo con ByVal es que protege a la variable de los
cambios que sobre ella pueda efectuar el procedimiento.
• Rendimiento. Aunque el
mecanismo que se utilice para pasar argumentos también puede afectar al
rendimiento del código, la diferencia suele ser insignificante. Existe una
excepción: cuando se pasa un tipo de valor conByVal. En esta caso, Visual Basic
copia todo el contenido de los datos del argumento. Por lo tanto, para un tipo
de valor grande, como una estructura, lo más eficiente es transferirlo ByRef.
En los tipos de referencia, sólo se copia el puntero de los datos (cuatro
bytes en plataformas de 32 bits y ocho bytes en plataformas de 64 bits). Por lo
tanto, se pueden pasar argumentos de tipo String u Object por valor sin que
esto afecte negativamente al rendimiento.
Determinación del mecanismo para pasar argumentos
La declaración del procedimiento especifica el mecanismo para pasar
argumentos de cada parámetro. El código de llamada no puede reemplazar a un
mecanismo ByVal, pero si un argumento se declara con ByRef, el código de
llamada puede forzar al mecanismo para que pase el argumento ByVal; para ello
hay que encerrar el nombre del argumento entre paréntesis en la llamada.
En Visual Basic, los argumentos se pasan por valor de forma predeterminada.
Puede hacer que al código sea más fácil de leer utilizando la palabra clave
ByVal. Es un hábito de programación recomendado incluir la palabra clave ByVal
oByRef con cada parámetro declarado.
Cuándo pasar un argumento por valor
• Si el elemento del código
de llamada subyacente al argumento es un elemento no modificable, declare el
parámetro correspondiente ByVal. Ningún código puede cambiar el valor de un
elemento no modificable.
• Si el elemento subyacente
es modificable, pero no desea que el procedimiento pueda modificar su valor,
declare el parámetro ByVal. Sólo el código de llamada puede cambiar el valor de
un elemento modificable transferido por valor.
Cuándo pasar un argumento por referencia
• Si el procedimiento
necesita realmente modificar el valor subyacente en el código de llamada,
declare el parámetro correspondiente ByRef.
• Si
la ejecución correcta del código depende del procedimiento que cambia el
elemento subyacente en el código de llamada, declare el parámetro ByRef. Si lo
transfiere por valor o si el código de llamada en lugar de utilizar el
mecanismo para pasar argumentos ByRef incluye el argumento entre paréntesis, la
llamada al procedimiento podría producir resultados inesperados
6.7
ELABORACIÓN DE PROGRAMAS
El desarrollo de un programa o de un conjunto de
aplicaciones se basa en un concepto llamado ciclo de vida. Son una serie de
etapas o fases que hay que seguir secuencialmente.
Las fases o etapas son:
Las fases o etapas son:
• Análisis.
• Diseño.
• Codificación o construcción.
• Implantación o explotación.
• Mantenimiento.
• Diseño.
• Codificación o construcción.
• Implantación o explotación.
• Mantenimiento.
Paso a explicar las fases:
ANÁLISIS
En esta fase se establece el producto a desarrollar, siendo necesario especificar los procesos y estructuras de datos que se van a emplear. Debe existir una gran comunicación entre el usuario y el analista para poder conocer todas las necesidades que precisa la aplicación.
En el caso de falta de información por
parte del usuario se puede recurrir al desarrollo de prototipos para saber con
más precisión sus requerimientos.
En el análisis estructurado se pueden emplear varias técnicas como:
En el análisis estructurado se pueden emplear varias técnicas como:
I.
Diagramas de flujo de datos: Sirven para conocer el comportamiento
del sistema mediante representaciones gráficas.
II.
Modelos de datos: Sirven para conocer las estructuras
de datos y sus características. (Entidad relación y formas normales)
III.
Diccionario de datos: Sirven para describir todos los
objetos utilizados en los gráficos, así como las estructuras de datos.
IV.
Definición de los interfaces de usuario: Sirven para
determinar la información de entrada y salida de datos.
DISEÑO
En esta fase se alcanza con mayor precisión una solución optima de la aplicación, teniendo en cuenta los recursos físicos del sistema (tipo de ordenador, periféricos, comunicaciones, etc…) y los recursos lógicos. (Sistema operativo., programas de utilidad, bases de datos)
En el diseño estructurado se pueden definir estas etapas:
En esta fase se alcanza con mayor precisión una solución optima de la aplicación, teniendo en cuenta los recursos físicos del sistema (tipo de ordenador, periféricos, comunicaciones, etc…) y los recursos lógicos. (Sistema operativo., programas de utilidad, bases de datos)
En el diseño estructurado se pueden definir estas etapas:
I.
Diseño externo: Se especifican los formatos de
información de entrada y salida. (Pantalla y listados)
II.
Diseño de datos: Establece las estructuras de datos de
acuerdo con su soporte físico y lógico. (Estructuras en memoria, ficheros y
hojas de datos)
III.
Diseño modular: Es una técnica de representación en
la que se refleja de forma descendente la división de la aplicación en módulos.
Está basado en diagramas de flujo de datos obtenidos en el análisis.
IV.
Diseño procedimental: Establece las especificaciones para
cada modulo, escribiendo el algoritmo necesario que permita posteriormente una
rápida codificación.
CODIFICACIÓN
Consiste en traducir los resultados obtenidos a un determinado lenguaje de programación, teniendo en cuenta las especificaciones obtenidas en el cuaderno de carga. Se deben de realizar las pruebas necesarias para comprobar la calidad y estabilidad del programa.
Las pruebas se pueden clasificar en:
Consiste en traducir los resultados obtenidos a un determinado lenguaje de programación, teniendo en cuenta las especificaciones obtenidas en el cuaderno de carga. Se deben de realizar las pruebas necesarias para comprobar la calidad y estabilidad del programa.
Las pruebas se pueden clasificar en:
I.
Pruebas unitarias: Sirven para comprobar que cada módulo
realice bien su tarea.
II.
Pruebas de interconexión: Sirven para comprobar en el programa
el buen funcionamiento en conjunto de todos sus módulos.
III.
Pruebas de integración: Sirven para comprobar el funcionamiento
correcto del conjunto de programas que forman la aplicación. (el funcionamiento
de todo el sistema)
EXPLOTACIÓN
En esta fase se realiza la implantación de la aplicación en el sistema o sistemas físicos donde van a funcionar habitualmente y su puesta en marcha para comprobar el buen funcionamiento.
Actividades a tener en cuenta o realizar:
En esta fase se realiza la implantación de la aplicación en el sistema o sistemas físicos donde van a funcionar habitualmente y su puesta en marcha para comprobar el buen funcionamiento.
Actividades a tener en cuenta o realizar:
1.
Instalación del/los programa/s.
• Pruebas de aceptación al nuevo sistema.
• Conversión de la información del antiguo sistema al nuevo (si hay una aplicación antigua)
• Eliminación del sistema anterior.
• Pruebas de aceptación al nuevo sistema.
• Conversión de la información del antiguo sistema al nuevo (si hay una aplicación antigua)
• Eliminación del sistema anterior.
Al final de esta fase se debe de
completar la información al usuario respecto al nuevo sistema y su uso. Así
como facilitarle toda la documentación necesaria para una correcta explotación
del sistema (manual de ayuda, manual de uso, guía de la aplicación, etc.)
MANTENIMIENTO
Esta es la fase que completa el ciclo de vida y en ella nos encargaremos de solventar los posibles errores o deficiencias de la aplicación. Existe la posibilidad de que ciertas aplicaciones necesiten reiniciar el ciclo de vida.
Tipos de mantenimiento:
I.
Mantenimiento correctivo: Consiste en corregir errores no
detectados en pruebas anteriores y que aparezcan con el uso normal de la
aplicación. Este mantenimiento puede estar incluido en la garantía o
mantenimiento de la aplicación.
II.
Mantenimiento adaptativo: Consiste en modificar el programa a
causa de cambio de entorno gráfico y lógico en el que estén implantados.
(nuevas generaciones de ordenadores, nuevas versiones del sistema operativo,
etc.)
III.
Mantenimiento perfectivo: Consiste en una mejora sustancial de
la aplicación al recibir por parte de los usuarios propuestas sobre nuevas
posibilidades y modificaciones de las existentes.
Los tipos de mantenimiento adaptativo y perfectivo reinician el ciclo de
vida, debiendo proceder de nuevo al desarrollo de cada una de sus fases para
obtener un nuevo producto.
No hay comentarios:
Publicar un comentario