UD1 Entornos de Desarrollo
UD1 Entornos de Desarrollo
UD1 Entornos de Desarrollo
DESARROLLO
D
Deessaarrrroolllloo d
dee aapplliiccaacciioon
neess w
weebb
JJoosséé LLuuiiss CCoom
meessaaññaa
11
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Desarrollo de software.
Caso pr áctico
En BK Programación todos han vuelto ya de sus vacaciones.
Les espera un septiembre agitado, pues acaban de recibir una petición por parte de una cadena
hotelera para desarrollar un proyecto software.
Ada, la supervisora de proyectos de BK Programación, se reúne con Juan y María (trabajadores de la
empresa) para empezar a planificar el proyecto.
Ana, cuya especialidad es el diseño gráfico de páginas web, acaba de terminar el Ciclo de Grado
Medio en Sistemas Microinformáticos y Redes y realizó la FCT en BK Programación. Trabaja en la
empresa ayudando en los diseños, y aunque está contenta con su trabajo, le gustaría participar
activamente en todas las fases en el proyecto. El problema es que carece de los conocimientos
necesarios.
Antonio se ha enterado de la posibilidad de estudiar el nuevo Ciclo de Grado Superior de Diseño de
Aplicaciones Multiplataforma a distancia, y está dispuesta a hacerlo. (No tendría que dejar el trabajo).
Le comenta sus planes a su amigo Antonio (que tiene conocimientos básicos de informática), y éste
se une a ella.
Después de todo… ¿qué pueden perder?
Es de sobra conocido que el ordenador se compone de dos partes bien diferenciadas: hardware
y software.
‐2‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
En este tema, nuestro interés se centra en las aplicaciones informáticas: cómo se desarrollan y
cuáles son las fases por las que necesariamente han de pasar.
A lo largo de esta primera unidad vas a aprender los conceptos fundamentales de software y
las fases del llamado ciclo de vida de una aplicación informática.
También aprenderás a distinguir los diferentes lenguajes de programación y los procesos que
Reflexiona
Hay varios sistemas operativos en el mercado: Linux, Windows, Mac OS X etc. El más conocido es
Windows. A pesar de eso, ¿por qué utilizamos cada vez más Linux?
‐3‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Existe una relación indisoluble entre éste y el software, ya que necesitan estar instalados y
configurados correctamente para que el equipo funcione.
La primera arquitectura
hardware con programa
almacenado se estableció en
1946 por John Von
Neumann:
Esta relación software-hardware la podemos poner de manifiesto desde dos puntos de vista:
Ya hemos dicho que una aplicación no es otra cosa que un conjunto de programas, y
que éstos están escritos en algún lenguaje de programación que el hardware del equipo
debe interpretar y ejecutar.
‐4‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Esto nos hace plantearnos una cuestión: ¿Cómo será capaz el ordenador de "entender"
algo escrito en un lenguaje que no es el suyo?
Como veremos a lo largo de esta unidad, tendrá que pasar algo (un proceso de
traducción de código) para que el ordenador ejecute las instrucciones escritas en un
lenguaje de programación.
Autoevaluación
Para fabricar un programa informático que se ejecuta en una computadora:
Hay que escribir las instrucciones en código binario para que las entienda el hardware.
Sólo es necesario escribir el programa en algún lenguaje de programación y se ejecuta
directamente.
Hay que escribir el programa en algún Lenguaje de Programación y contar con
herramientas software que lo traduzcan a código binario.
Los programas informáticos no se pueden escribir: forman parte de los sistemas
operativos.
‐5‐
Instalación y uso de en ornos de desarrollo ENTORNO DE DESAR OLLO
Entendem s por Des rrollo de Software to o el proceso que ocur e desde que se concibe una
idea hasta que un pro rama está mplementado en el or enador y f ncionando.
El proceso de desarr llo, que e un principio puede parecer una tarea simple, consta de una
serie de asos de bligado c mplimiento, pues s lo así po remos ga antizar que los
programas creados son eficientes, fiables, seguros responde a las ne esidades de los
usuarios finales (aquellos que va a utilizar l program ).
Como ver mos con ás deteni iento a lo largo de la nidad, el esarrollo de software es un
proceso q e conlleva una serie d pasos. Ge éricament , estos pasos son los s iguientes:
Reflexion
Según esti aciones, el 26% de los randes proyectos de so tware fraca an, el 48% eben modificarse
drásticamente y sólo el 26% tienen rotundo éxito. La principal causa d l fracaso de un proyect es la
falta de una buena pl nificación e las etapas y mala gestión de lo pasos a s guir. ¿Por ué el
porcentaje de fracaso es tan grand ? ¿Por qué iensas que estas causas son tan de erminantes
‐6‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
1. Modelo en Cascada
Es uno de los modelos más utilizados. Proviene del modelo anterior, pero se introduce
una realimentación entre etapas, de forma que podamos volver atrás en cualquier
momento para corregir, modificar o depurar algún aspecto. No obstante, si se prevén
muchos cambios durante el desarrollo no es el modelo más idóneo.
3. Modelos Evolutivos
Son más modernos que los anteriores. Tienen en cuenta la naturaleza cambiante y
evolutiva del software.
2. Modelo en Espiral
Autoevaluación
Si queremos construir una aplicación pequeña, y se prevé que no sufrirá grandes cambios
durante su vida, ¿sería el modelo de ciclo de vida en espiral el más recomendable?
Sí.
No.
‐7‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Esto nos va a permitir centrarnos en los requerimientos del sistema y el análisis del mismo,
que son las causas principales de los fallos del software.
Las herramientas
software CASE son
con el objetivo de un conjunto
reducir de yaplicaciones
costes tiempo del que se utilizan
proceso, en el desarrollo
mejorando por tanto de
la
productividad del proceso.
La tecnología CASE trata de automatizar las fases del desarrollo de software para que mejore
la calidad del proceso y del resultado final.
CLASIFICACIÓN
Normalmente, las herramientas CASE se clasifican en función de las fases del ciclo de vida
del software en la que ofrecen ayuda:
Ejemplos de herramientas CASE libres son: ArgoUML, Use Case Maker, ObjectBuilder…
‐8‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
‐9‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Ya dijimos anteriormente que los programas informáticos están escritos usando algún
lenguaje de programación. Por tanto, podemos definir un Lenguaje de Programación como un
idioma creado de forma artificial, formado por un conjunto de símbolos y normas que se
aplican sobre un alfabeto para obtener un código, que el hardware de la computadora pueda
entender y ejecutar.
Los lenguajes de programación son los que nos permiten comunicarnos con el hardware
del ordenador.
En otras palabras, es muy importante tener muy clara la función de los lenguajes de
programación. Son los instrumentos que tenemos para que el ordenador realice las tareas que
necesitamos.
Hay multitud de lenguajes de programación, cada uno con unos símbolos y unas estructuras
diferentes. Además, cada lenguaje está enfocado a la programación de tareas o áreas
determinadas. Por ello, la elección del lenguaje a utilizar en un proyecto es una cuestión de
extrema importancia.
Los lenguajes de programación han sufrido su propia evolución, como se puede apreciar en la
figura siguiente:
• Lenguaje máquina:
o Sus instrucciones son combinaciones de unos y ceros.
o Es el único lenguaje que entiende directamente el ordenador. (No necesita
traducción).
o Fue el primer lenguaje utilizado.
o Es único para cada procesador (no es portable de un equipo a otro).
o Hoy día nadie programa en este lenguaje.
• Lenguaje ensamblador:
o Sustituyó al lenguaje máquina para facilitar la labor de programación.
o En lugar de unos y ceros se programa usando mnemotécnicos (instrucciones
complejas).
o Necesita traducción al lenguaje máquina para poder ejecutarse.
o Sus instrucciones son sentencias que hacen referencia ala ubicación física de
los archivos en el equipo.
o Es difícil de utilizar.
‐ 10 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
CONCEPTO
CARACTERÍSTICAS
‐ 11 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
• Sentencias secuenciales.
• Sentencias selectivas (condicionales).
• Sentencias repetitivas (iteraciones o bucles).
‐ 12 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
La programación estructurada fue de gran éxito por su sencillez a la hora de construir y leer
programas. Fue sustituida por la programación modular, que permitía dividir los programas
grandes en trozos más pequeños (siguiendo la conocida técnica "divide y vencerás"). A su
vez, luego triunfaron los lenguajes orientados a objetos y de ahí a la programación visual
(siempre es más sencillo programar gráficamente que en código, ¿no crees? ).
INCONVENIENTES
• Todo el programa se concentra en un único bloque (si se hace demasiado grande es
difícil manejarlo).
• No permite reutilización eficaz de código, ya que todo va "en uno". Es por esto que a
la programación estructurada le sustituyó la programación modular, donde los
programas se codifican por módulos y bloques, permitiendo mayor funcionalidad.
A pesar de eso, alrededor del 55% del software que producen las empresas se hace usando
esta técnica.
Razones:
• El código es reutilizable.
• Si hay algún error, es más fácil de localizar y depurar en un objeto que en un programa
entero.
‐ 13 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Características:
• Los objetos del programa tendrán una serie de atributos que los diferencian unos de
otros.
• Se define clase como una colección de objetos con características similares.
• Mediante los llamados métodos, los objetos se comunican con otros produciéndose un
cambio de estado de los mismos.
• Los objetos son, pues, como unidades individuales e indivisibles que forman la base
de este tipo de programación.
Principales lenguajes orientados a objetos: Ada, C++, VB.NET, Delphi, Java, PowerBuilder,
etc.
‐ 14 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Independientemente del modelo elegido, siempre hay una serie de etapas que debemos seguir
para construir software fiable y de calidad.
1. ANÁLISIS DE REQUISITOS.
2. DISEÑO.
3. CODIFICACIÓN.
4. PRUEBAS.
5. DOCUMENTACIÓN.
6. EXPLOTACIÓN.
7. MANTENIMIENTO.
Autoevaluación
‐ 15 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
¿Crees que debemos esperar a tener completamente cerrada una etapa para pasar a la
siguiente?
Sí.
No.
5.1.- Análisis.
Esta es la primera fase del proyecto. Una vez finalizada,
Requisitos:
•
Funcionales : Qué funciones tendrá que realizar la aplicación. Qué respuesta dará la
aplicación ante todas las entradas. Cómo se comportará la aplicación en situaciones
inesperadas.
• No funcionales: Tiempos de respuesta del programa, legislación aplicable,
tratamiento ante la simultaneidad de peticiones, etc.
‐ 16 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Como ejemplo de requisitos funcionales, en la aplicación para nuestros clientes de las tiendas
de cosmética, habría que considerar:
5.2.- Diseño.
Caso pr áctico
Juan está agobiado por el proyecto. Ya han mantenido comunicaciones con el cliente y saben
perfectamente qué debe hacer la aplicación. También tiene una lista de las características hardware
de los equipos de su cliente y todos los requisitos. Tiene tanta información que no sabe por dónde
empezar.
Decide hablar con Ada. Su supervisora, amable como siempre, le sugiere que empiece a dividir el
problema en las partes implicadas.
—Vale, Ada, pero, ¿cómo lo divido?
Se debe dividir
relaciones el sistema
habrá entre ellas. en partes y establecer qué
‐ 17 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Caso pr áctico
En BK, ya tienen el proyecto dividido en partes.
Ahora llega una parte clave: codificar los pasos y acciones a seguir para que el ordenador los ejecute.
En otras palabras, programar la aplicación. Saben que no será fácil, pero afortunadamente cuentan
con herramientas CASE que les van a ser de gran ayuda. A Ana el gustaría participar, pero cuando
se habla de "código fuente", "ejecutable", etc. sabe que no tiene ni idea y que no tendrá más remedio
que estudiarlo si quiere colaborar en esta fase del proyecto.
El código objeto no es directamente inteligible por el ser humano, pero tampoco por la
computadora. Es un código intermedio entre el código fuente y el ejecutable y sólo
existe si el programa se compila, ya que si se interpreta (traducción línea a línea del
código) se traduce y se ejecuta en un solo paso.
‐ 18 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Caso pr áctico
Juan y María ya han decidido el Lenguajes de Programación que van a utilizar.
Saben que el programa que realicen pasará por varias fases antes de ser implementado en los
equipos del cliente. Todas esas fases van a producir transformaciones en el código. ¿Qué
características irá adoptando el código a medida que avanza por el proceso de codificación?
5.4.1.- Fuente.
El código fuente es el conjunto de instrucciones que la computadora deberá realizar, escritas
por los programadores en algún lenguaje de alto nivel.
Este conjunto de instrucciones no es directamente ejecutable por la máquina, sino que deberá
ser traducido al lenguaje máquina, que la computadora será capaz de entender y ejecutar.
Puesto que, como hemos dicho antes, este código no es inteligible por la máquina, habrá que
TRADUCIRLO, obteniendo así un código equivalente pero ya traducido a código binario que
se llama código objeto. Que no será directamente ejecutable por la computadora si éste ha
sido compilado.
Un aspecto importante a tener en cuenta es su licencia. Así, en base a ella, podemos distinguir
dos tipos de código fuente:
• Código fuente abierto. Es aquel que está disponible para que cualquier usuario pueda
estudiarlo, modificarlo o reutilizarlo.
• Código fuente cerrado. Es aquel que no tenemos permiso para editarlo.
Autoevaluación
Para obtener código fuente a partir de toda la información necesaria del problema:
Se elige el Lenguaje de Programación más adecuado y se codifica directamente.
Se codifica y después se elige el Lenguaje de Programación más adecuado.
‐ 19 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
5.4.2.- Objeto.
El código objeto es un código intermedio.
Es el resultado de traducir código fuente a un código equivalente formado por unos y ceros
que aún no puede ser ejecutado directamente por la computadora.
Sólo se genera código objeto una vez que el código fuente está libre de errores sintácticos y
semánticos.
El proceso de traducción de código fuente a código objeto puede realizarse de dos formas:
llama compilador (Software que traduce, de una sola vez, un programa escrito en un
lenguaje de programación de alto nivel en su equivalente en lenguaje máquina .).
b. Interpretación: El proceso de traducción del código fuente se realiza línea a línea y se
ejecuta simultáneamente. No existe código objeto intermedio. El software responsable
se llama intérprete (Software que traduce, instrucción a instrucción, un programa
escrito en un lenguaje de alto nivel en su equivalente en lenguaje máquina ). El
proceso de traducción es más lento que en el caso de la compilación, pero es
recomendable cuando el programador es inexperto, ya que da la detección de errores
es más detallada.
El código objeto es código binario, pero no puede ser ejecutado por la computadora
‐ 20 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
5.4.3.- Ejecutable.
El código ejecutable, resultado de enlazar los archivos de código objeto, consta de un único
archivo que puede ser directamente ejecutado por la computadora. No necesita ninguna
aplicación externa. Este archivo es ejecutado y controlado por el sistema operativo.
Para obtener un sólo archivo ejecutable, habrá que enlazar todos los archivos de código
objeto, a través de un software llamado linker (Enlazador. Pequeño software encargado de
unir archivos para generar un programa ejecutable. ) y obtener así un único archivo que ya sí
es ejecutable directamente por la computadora.
Autoevaluación
Relaciona los tipos de código con su característica más relevante, escribiendo el número
asociado a la característica en el hueco correspondiente.
Ejercicio de relacionar
Tipo de código. Relación. Características.
Código Fuente 2 1. Escrito en Lenguaje Máquina pero no ejecutable.
1
2. Escrito en algún Lenguaje de Programación de alto nivel,
Código Objeto
pero no ejecutable.
Código 3 3. Escrito en Lenguaje Máquina y directamente ejecutable.
Ejecutable
El código fuente escrito en algún lenguaje de programación de alto nivel, el objeto escrito en lenguaje máquina sin ser
ejecutable y el código ejecutable, escrito también en lenguaje máquina y ya sí ejecutable por el ordenador, son las distintas
fases por donde pasan nuestros programas.
‐ 21 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Con el uso de máquinas virtuales podremos desarrollar y ejecutar una aplicación sobre
cualquier equipo, independientemente de las características con cretas de los componentes
físicos instalados. Esto garantiza la portabilidad (Capacidad de un programa para ser ejecutado
en cualquier arquitectura física de un equipo.) de las aplicaciones.
•
Conseguir que las aplicaciones sean portables.
• Reservar memoria para los objetos que se crean y liberar la memoria no utilizada.
• Comunicarse con el sistema donde se instala la aplicación (huésped), para el control
de los dispositivos hardware implicados en los p rocesos.
• Cumplimiento de las normas de seguridad de las aplicaciones.
Cuando el código fuente se compila se obtiene código objeto (bytecode, código intermedio).
Para ello, la máquina virtual aísla la aplicación de los detalles físicos del equipo en cuestión.
Funciona
la como
aplicación una
y los capa de software
dispositivos físicos de
delbajo nivel y actúa como puente entre el bytecode de
sistema.
5.5.1.- Frameworks.
Un framework (Plataforma, entorno, marco de trabajo del desarrollo rápido de aplicaciones)
es una estructura de ayuda al programador, en base a la cual podemos desarrollar proyectos
sin partir desde cero.
Se trata de una plataforma software donde están definidos programas soporte, bibliotecas,
lenguaje interpretado, etc., que ayuda a desarrollar y unir los diferentes módulos o partes de
un proyecto.
‐ 22 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Con el uso de framework podemos pasar más tiempo analizando los requerimientos del
sistema y las especificaciones técnicas de nuestra aplicación, ya que la tarea laboriosa de los
detalles de programación queda resuelta.
Ejemplos de Frameworks:
"VisualesStudio
.NET un framework para
.net" que nos desarrollar para
da facilidades aplicaciones sobre Windows.
construir aplicaciones Ofre ce
y su motor el
es el
".Net framework" que permite ejecutar dichas aplicaciones. Es un componente que se
instala sobre el sistema operativo.
• Spring de Java. Son conjuntos de bibliotecas (API's) para el desarrollo y ejecución de
aplicaciones.
Debes conocer
El proceso de instalación y configuración del framework Spring de Java, así como varios
ejemplos de uso. En el siguiente enlace encontrarás una guía muy útil detallando los pasos a
seguir:
http://pablolg.wikispaces.com/file/view/spring_tutorial_v0.271.pdf
‐ 23 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
El Entorno de Ejecución está formado por la máquina virtual y los API's (bibliotecas de clases
estándar, necesarias para que la aplicación, es crita en algún Lenguaje de Programación pueda
ser ejecutada). Estos dos componentes se suelen distribuir conjuntamente, porque necesitan
ser compatibles entre sí.
Autoevaluación
Señala la afirmación falsa respecto de los entornos de ejecución:
Su principal utilidad es la de permitir el desarrollo rápido de aplicaciones.
Actúa como mediador entre el sistema operativo y el código fuente.
Es el conjunto de la máquina virtual y bibliotecas necesarias para la ejecución.
Concepto.
Componentes.
‐ 24 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
• Una Máquina virtual Java (JMV o JVM si consideramos las siglas en inglés), que es el
programa que interpreta el código de la aplicación escrito en Java.
• Bibliotecas de clase estándar que implementan el API de Java.
• Las dos: JMV y API de Java son consistentes entre sí, por ello son distribuidas
conjuntamente.
Una vez descargado, co mienza el proceso de instalación, siguiendo los pasos del asistente.
Debes conocer
El proceso de descarga, instalación y configuración del entorno de ejecución de programas.
En el siguiente enlace, se explican los pasos para hacerlo bajo el sistema operativo Linux.
http://www.java.com/es/download/help/linux_install.xml
Una vez obtenido el software, la siguiente fase del ciclo de vida es la realización de pruebas.
Entre todas las pruebas que se efectúan sobre el software podemos distinguir básicamente:
PRUEBAS UNITARIAS
Consisten en probar, una a una, las diferentes partes de software y comprobar su
funcionamiento (por separado, de manera independiente). JUnit es el entorno de pruebas pa ra
Java.
PRUEBAS DE INTEGRACIÓN
‐ 25 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Se realizan una vez que se han realizado con éxito las pruebas unitarias y consistirán en
comprobar el funcionamiento del sistema completo: con todas sus partes interrelacionadas.
La prueba final se denomina comúnmente Beta Test, ésta se realiza sobre el entorno de
producción donde el software va a ser u tilizado por el cliente (a ser posible, en los equipos del
cliente y bajo un funcionamiento normal de su empresa).
Autoevaluación
Si las pruebas unitarias se realizan con éxito, ¿es obligatorio realizar las de integración?
Sí, si la aplicación está formada por más de cinco módulos diferentes.
Sí, en cualquier caso.
Para saber más
Puedes visitar la siguiente página web, donde se detallan los tipos de pruebas que suelen
hacer al software y la función de cada una.
http://www.sistedes.es/TJISBD/Vol‐1/No‐4/articles/pris‐07‐raja‐ctps.pdf
5.7.- Documentación.
Caso pr áctico
Ada ha quedado dentro de dos días con su cliente. Pregunta a María por todos los dossiers de
documentación. La pálida expresión de la joven hace que Ada arda en desesperación: "—
¿No
habéis
documentado las etapas? ¿Cómo voy a explicarle al cliente y sus empleados el funcionamiento del
software? ¿Cómo vamos a realizar su mantenimiento?".
¿Por qué hay que documentar todas las fases del proyecto?
Para dar toda la información a los usuarios de nuestro software y poder acometer futuras
revisiones del proyecto.
Tenemos que ir documentando el proyecto en todas las fases del mismo, para pasar de una a
otra de forma clara y definida. Una correcta documentación permitirá la reutilización de parte
de los programas en otras aplicaciones, siempre y cuando se desarrollen con diseño modular.
‐ 26 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
5.8.- Explotación.
Caso pr áctico
Llega el día de la cita con la cadena hotelera. Ada y Juan se dirigen al hotel sonde se va a instalar y
configurar la aplicación. Si todo va bien, se irá implementando en los demás hoteles de la cadena.
Ada no quiere que se le pase ni un detalle: lleva consigo la guía de uso y la guía de instalación.
Después de todas las fases anteriores, una vez que las pruebas nos demuestran que el software
es fiable, carece de errores y hemos documentado todas las fases, el siguiente paso es la
explotación.
En el proceso de instalación, los programas son transferidos al computador del usuario cliente
y posteriormente configurados y verificados.
‐ 27 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Es recomendable que los futuros clientes estén presentes en este momento e irles comentando
cómo se va planteando la instalación.
En este momento, se suelen llevan a cabo las Beta Test, que son las últimas pruebas que se
realizan en los propios equipos del cliente y bajo cargas normales de trabajo.
Reflexiona
Realizas un proyecto software por vez primera y no te das cuenta de documentarlo. Consigues
venderlo a buen precio a una empresa. Al cabo de un par de meses te piden que actualices algunas
de las funciones, para tener mayor funcionalidad. Estás contento o contenta porque eso significa un
ingreso extra. Te paras un momento...¿Dónde están los códigos? ¿Qué hacía exactamente la
aplicación? ¿Cómo se diseñó? No lo recuerdas... Probablemente hayas perdido un ingreso extra y
unos buenos clientes.
5.9.- Mantenimiento.
Caso pr áctico
Ada reúne por última vez durante estas semanas a su equipo. Todos celebran que el proyecto se ha
implementado con éxito y que sus clientes han quedado satisfechos.
—Esto aún no ha terminado —comenta Ada—, nos quedan muchas cosas por hacer. Esta tarde me
reúno con los clientes. ¿Cómo vamos a gestionar el mantenimiento de la aplicación?
Sería lógico pensar que con la entrega de nuestra aplicación (la instalación y configuración de nuestro
proyecto en los equipos del cliente) hemos terminado nuestro trabajo.
En cualquier otro sector laboral esto es así, pero el caso de la construcción de software es muy
diferente.
‐ 28 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Además, siempre surgen errores que habrá que ir corrigiendo y nuevas versiones del producto
mejores que las anteriores.
Por todo ello, se pacta con el cliente un servicio de mantenimiento de la aplicación (que
también tendrá un coste temporal y económico).
Su duración es la mayor en todo el ciclo de vida del software, ya que también comprende las
actualizaciones y evoluciones futuras del mismo.
Los tipos de cambios que hacen necesario el mantenimiento del software son los siguientes:
Autoevaluación
¿Cuál es, en tu opinión, la etapa más importante del desarrollo de software?
El análisis de requisitos.
La codificación.
Las pruebas y documentación.
La explotación y el mantenimiento.
‐ 29 ‐
Instalación y uso de entornos de desarrollo ENTORNOS DE DESARROLLO
Ejemplo en lenguaje C:
then→ Todas las acciones que se encuentren tras esta palabra reservada se ejecutarán si la
condición del if es cierta (en C, se omite esta palabra).
else→ Todas las acciones que se encuentren tras esta otra palabra reservada se ejecutarán si
la condición de ifes falsa.
Ejemplo en lenguaje C:
i f ( a >= b)
c= a- b;
el se
c=a+b;
do→ a partir de esta palabra reservada, se encontrarán todas las acciones a ejecutar mientras
se ejecute el bucle (en C, se omite esta palabra).
done→ marca el fin de las acciones que se van a repetir mientras estemos dentro del bucle (en
C, se omite esta palabra).
‐ 30 ‐
ENTORNOS DE DESARROLLO Instalación y uso de entornos de desarrollo
Ejemplo en lenguaje C:
i nt num;
num = 0;
whi l e ( num<=10) {
pr i nt f ( " Repet i ci ón numer o %d\ n" , num) ;
num = num + 1;
};
‐ 31 ‐