Ed1 PDF
Ed1 PDF
Ed1 PDF
DESARROLLO
Desarrollo de Aplicaciones
Unidad 1:
Desarrollo de Software
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Desarrollodesoftware.
Caso prctico
En BK Programacin todos han vuelto ya de sus vacaciones.
Les espera un septiembre agitado, pues acaban de recibir una peticin por parte de una cadena
hotelera para desarrollar un proyecto software.
Ada, la supervisora de proyectos de BK Programacin, se rene con Juan y Mara (trabajadores de la
empresa) para empezar a planificar el proyecto.
Ana, cuya especialidad es el diseo grfico de pginas web, acaba de terminar el Ciclo de Grado
Medio en Sistemas Microinformticos y Redes y realiz la FCT en BK Programacin. Trabaja en la
empresa ayudando en los diseos, y aunque est contenta con su trabajo, le gustara 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 Diseo de
Aplicaciones Multiplataforma a distancia, y est dispuesta a hacerlo. (No tendra que dejar el trabajo).
Le comenta sus planes a su amigo Antonio (que tiene conocimientos bsicos de informtica), y ste
se une a ella.
Despus de todo qu pueden perder?
Es de sobra conocido que el ordenador se compone de dos partes bien diferenciadas: hardware
y software.
El software es el conjunto de programas informticos que actan sobre el hardware para
ejecutar lo que el usuario desee.
Segn su funcin se distinguen tres tipos de
software: sistema operativo, software de
programacin y aplicaciones.
El sistema operativo es el software base que ha de estar instalado y configurado en nuestro
ordenador para que las aplicaciones puedan ejecutarse y funcionar. Son ejemplos de sistemas
operativos: Windows, Linux, Mac OS X ...
El software de programacin es el conjunto de herramientas que nos permiten desarrollar
programas informticos, y las aplicaciones informticas son un conjunto de programas que
tienen una finalidad ms o menos concreta. Son ejemplos de aplicaciones: un procesador de
textos, una hoja de clculo, el software para reproducir msica, un videojuego, etc.
A su vez, un programa es un conjunto de instrucciones escritas en un lenguaje de
programacin.
En definitiva, distinguimos los siguientes tipos de software:
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
En este tema, nuestro inters se centra en las aplicaciones informticas: cmo se desarrollan y
cules 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 aplicacin informtica.
Tambin aprenders a distinguir los diferentes lenguajes de programacin y los procesos que
ocurren hasta que el programa funciona y realiza la accin deseada.
Parasaberms
En el siguiente enlace encontrars ms informacin de los tipos de software existente, as
comoejemplosdecadaunoqueteayudarnaprofundizarsobreeltema.
http://www.tiposdesoftware.com/
Reflexiona
Hay varios sistemas operativos en el mercado: Linux, Windows, Mac OS X etc. El ms conocido es
Windows.Apesardeeso,porquutilizamoscadavezmsLinux?
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Esto nos hace plantearnos una cuestin: Cmo 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
traduccin de cdigo) para que el ordenador ejecute las instrucciones escritas en un
lenguaje de programacin.
Autoevaluacin
Para fabricar un programa informtico que se ejecuta en una computadora:
Hay que escribir las instrucciones en cdigo binario para que las entienda el hardware.
Slo es necesario escribir el programa en algn lenguaje de programacin y se ejecuta
directamente.
Hay que escribir el programa en algn Lenguaje de Programacin y contar con
herramientas software que lo traduzcan a cdigo binario.
Los programas informticos no se pueden escribir: forman parte de los sistemas
operativos.
Instalacinyusodeenttornosdedesarrollo
ENTORNOSSDEDESARR
ROLLO
3.- Deesarroollo de
d softtware..
Caso prcttico
En BK prog
gramacin ya
a estn mano
os a la obra. Ada rene a toda su plantilla para de
esarrollar el nuevo
n
proyecto.
Ella sabe mejor
m
que na
adie que no ser
s
sencillo
o y que habr
que pasar por una serrie de etapas
s. Ana
no quiere perderse
p
la reunin,
r
quie
ere descubriir por qu ha
ay que toma
ar tantas ano
otaciones y tantas
t
molestias antes incluso de empezarr.
Entendemoos por Desaarrollo de Sooftware toddo el proceso que ocurrre desde que se concib
be una
idea hasta que un proggrama est implementa
i
ado en el ord
denador y funcionando
fu
o.
El procesoo de desarroollo, que enn un princippio puede paarecer una tarea simplle, consta de una
serie de pasos
p
de obligado
o
cuumplimientoo, pues s
lo as poddremos garrantizar que los
programas creados soon eficientes, fiables, seguros y respondenn a las neccesidades de
d los
usuarios finnales (aquellos que vann a utilizar el
e programaa).
Como vereemos con ms
m detenim
miento a lo largo
l
de la unidad,
u
el desarrollo
d
dde software es un
proceso quue conlleva una
u serie dee pasos. Gennricamentee, estos pasoos son los ssiguientes:
Etapas en el desarrolllo de softwaare:
Como vam
mos a ver enn el siguiente punto, seggn el orden
n y la formaa en que se lleven a cab
bo las
etapas habllaremos de diferentes ciclos
c
de vidda del softw
ware.
La constru
uccin de software
s
ess un proceso que pueede llegar a ser muy complejo y que
exige gran
n coordinaccin y discip
plina del grrupo de tra
abajo que lo
l desarrollle.
Reflexionaa
Segnestim
maciones,el26%delosggrandesproyyectosdesofftwarefracassan,el48%d
debenmodifficarse
drsticamen
nteysloel 26%tienen rotundoxito.Laprincipalcausadeelfracasode unproyecto
oesla
falta de una buena plaanificacin de
d las etapas y mala ge
estin de loss pasos a seeguir. Por qu
q el
porcentajedefracasoestangrandee?Porqup
piensasqueestascausasssontandetterminantes??
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
CLASIFICACIN
Normalmente, las herramientas CASE se clasifican en funcin 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
Parasaberms
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Ya dijimos anteriormente que los programas informticos estn escritos usando algn
lenguaje de programacin. Por tanto, podemos definir un Lenguaje de Programacin como un
idioma creado de forma artificial, formado por un conjunto de smbolos y normas que se
aplican sobre un alfabeto para obtener un cdigo, que el hardware de la computadora pueda
entender y ejecutar.
Los lenguajes de programacin son los que nos permiten comunicarnos con el hardware
del ordenador.
En otras palabras, es muy importante tener muy clara la funcin de los lenguajes de
programacin. Son los instrumentos que tenemos para que el ordenador realice las tareas que
necesitamos.
Hay multitud de lenguajes de programacin, cada uno con unos smbolos y unas estructuras
diferentes. Adems, cada lenguaje est enfocado a la programacin de tareas o reas
determinadas. Por ello, la eleccin del lenguaje a utilizar en un proyecto es una cuestin de
extrema importancia.
Los lenguajes de programacin han sufrido su propia evolucin, como se puede apreciar en la
figura siguiente:
10
Lenguaje mquina:
o Sus instrucciones son combinaciones de unos y ceros.
o Es el nico lenguaje que entiende directamente el ordenador. (No necesita
traduccin).
o Fue el primer lenguaje utilizado.
o Es nico para cada procesador (no es portable de un equipo a otro).
o Hoy da nadie programa en este lenguaje.
Lenguaje ensamblador:
o Sustituy al lenguaje mquina para facilitar la labor de programacin.
o En lugar de unos y ceros se programa usando mnemotcnicos (instrucciones
complejas).
o Necesita traduccin al lenguaje mquina para poder ejecutarse.
o Sus instrucciones son sentencias que hacen referencia ala ubicacin fsica de
los archivos en el equipo.
o Es difcil de utilizar.
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Parasaberms
En el siguiente enlace, vers la evolucin entre los distintos tipos de Lenguajes de
Programacinenlahistoria.
http://www.monografias.com/trabajos38/tiposlenguajesprogramacion/tiposlenguajes
programacion.shtml
CONCEPTO
Un lenguaje de programacin es el conjunto de:
CARACTERSTICAS
Podemos clasificar los distintos tipos de Lenguajes de Programacin en base a distintas
caractersticas:
11
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Sentencias secuenciales.
Sentencias selectivas (condicionales).
Sentencias repetitivas (iteraciones o bucles).
12
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
La programacin estructurada fue de gran xito por su sencillez a la hora de construir y leer
programas. Fue sustituida por la programacin modular, que permita dividir los programas
grandes en trozos ms pequeos (siguiendo la conocida tcnica "divide y vencers"). A su
vez, luego triunfaron los lenguajes orientados a objetos y de ah a la programacin visual
(siempre es ms sencillo programar grficamente que en cdigo, no crees? ).
INCONVENIENTES
El cdigo es reutilizable.
Si hay algn error, es ms fcil de localizar y depurar en un objeto que en un programa
entero.
13
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Caractersticas:
Los objetos del programa tendrn una serie de atributos que los diferencian unos de
otros.
Se define clase como una coleccin de objetos con caractersticas similares.
Mediante los llamados mtodos, los objetos se comunican con otros producindose un
cambio de estado de los mismos.
Los objetos son, pues, como unidades individuales e indivisibles que forman la base
de este tipo de programacin.
Principales lenguajes orientados a objetos: Ada, C++, VB.NET, Delphi, Java, PowerBuilder,
etc.
Parasaberms
Enelsiguienteenlacehayundocumentomuyinteresantedeintroduccinalaprogramacin
orientadaaobjetos,enconcreto,dellenguajeC++.
http://mat21.etsii.upm.es/ayudainf/aprendainf/Cpp/manualcpp.pdf
14
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Ya hemos visto en puntos anteriores que debemos elegir un modelo de ciclo de vida para el
desarrollo de nuestro software.
Independientemente del modelo elegido, siempre hay una serie de etapas que debemos seguir
para construir software fiable y de calidad.
Estas etapas son:
1. ANLISIS DE REQUISITOS.
Se especifican los requisitos funcionales y no funcionales del sistema.
2. DISEO.
Se divide el sistema en partes y se determina la funcin de cada una.
3. CODIFICACIN.
Se elige un Lenguajes de Programacin y se codifican los programas.
4. PRUEBAS.
Se prueban los programas para detectar errores y se depuran.
5. DOCUMENTACIN.
De todas las etapas, se documenta y guarda toda la informacin.
6. EXPLOTACIN.
Instalamos, configuramos y probamos la aplicacin en los equipos del cliente.
7. MANTENIMIENTO.
Se mantiene el contacto con el cliente para actualizar y modificar la aplicacin el
futuro.
Autoevaluacin
15
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Crees que debemos esperar a tener completamente cerrada una etapa para pasar a la
siguiente?
S.
No.
5.1.- Anlisis.
Esta es la primera fase del proyecto. Una vez finalizada,
pasamos a la siguiente (diseo).
Es la fase de mayor importancia en el desarrollo del
proyecto y todo lo dems depender de lo bien detallada
que est. Tambin es la ms complicada, ya que no est
automatizada y depende en gran medida del analista que la realice.
Es la primera etapa del proyecto, la ms complicada y la que ms depende de la
capacidad del analista.
Qu se hace en esta fase?
Se especifican y analizan los requisitos funcionales y no funcionales del sistema.
Requisitos:
16
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Como ejemplo de requisitos funcionales, en la aplicacin para nuestros clientes de las tiendas
de cosmtica, habra que considerar:
5.2.- Diseo.
Caso prctico
Juan est agobiado por el proyecto. Ya han mantenido comunicaciones con el cliente y saben
perfectamente qu debe hacer la aplicacin. Tambin tiene una lista de las caractersticas hardware
de los equipos de su cliente y todos los requisitos. Tiene tanta informacin que no sabe por dnde
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, cmo lo divido?
17
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Caso prctico
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 aplicacin. Saben que no ser fcil, pero afortunadamente cuentan
con herramientas CASE que les van a ser de gran ayuda. A Ana el gustara participar, pero cuando
se habla de "cdigo fuente", "ejecutable", etc. sabe que no tiene ni idea y que no tendr ms remedio
que estudiarlo si quiere colaborar en esta fase del proyecto.
18
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Caso prctico
Juan y Mara ya han decidido el Lenguajes de Programacin 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 cdigo. Qu
caractersticas ir adoptando el cdigo a medida que avanza por el proceso de codificacin?
5.4.1.- Fuente.
El cdigo fuente es el conjunto de instrucciones que la computadora deber realizar, escritas
por los programadores en algn lenguaje de alto nivel.
Este conjunto de instrucciones no es directamente ejecutable por la mquina, sino que deber
ser traducido al lenguaje mquina, que la computadora ser capaz de entender y ejecutar.
Un aspecto muy importante en esta fase es la elaboracin previa de un algoritmo, que lo
definimos como un conjunto de pasos a seguir para obtener la solucin del problema. El
algoritmo lo diseamos en pseudocdigo y con l, la codificacin posterior a algn Lenguaje
de Programacin determinado ser ms rpida y directa.
Para obtener el cdigo fuente de una aplicacin informtica:
1. Se debe partir de las etapas anteriores de anlisis y diseo.
2. Se disear un algoritmo que simbolice los pasos a seguir para la resolucin del
problema.
3. Se elegir una Lenguajes de Programacin de alto nivel apropiado para las
caractersticas del software que se quiere codificar.
4. Se proceder a la codificacin del algoritmo antes diseado.
La culminacin de la obtencin de cdigo fuente es un documento con la codificacin de
todos los mdulos (Cada parte, con una funcionalidad concreta, en que se divide una
aplicacin), funciones (Parte de cdigo muy pequea con una finalidad muy concreta.),
bibliotecas y procedimientos (Igual que las funcin, pero al ejecutarse no devuelven ningn
valor.) necesarios para codificar la aplicacin.
Puesto que, como hemos dicho antes, este cdigo no es inteligible por la mquina, habr que
TRADUCIRLO, obteniendo as un cdigo equivalente pero ya traducido a cdigo binario que
se llama cdigo 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 cdigo fuente:
Cdigo fuente abierto. Es aquel que est disponible para que cualquier usuario pueda
estudiarlo, modificarlo o reutilizarlo.
Cdigo fuente cerrado. Es aquel que no tenemos permiso para editarlo.
Autoevaluacin
Para obtener cdigo fuente a partir de toda la informacin necesaria del problema:
Se elige el Lenguaje de Programacin ms adecuado y se codifica directamente.
Se codifica y despus se elige el Lenguaje de Programacin ms adecuado.
19
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
5.4.2.- Objeto.
El cdigo objeto es un cdigo intermedio.
Es el resultado de traducir cdigo fuente a un cdigo equivalente formado por unos y ceros
que an no puede ser ejecutado directamente por la computadora.
Es decir, es el cdigo resultante de la compilacin del cdigo fuente.
Consiste en un bytecode (Cdigo binario resultante de la traduccin de cdigo de alto nivel
que an no puede ser ejecutado.) que est distribuido en varios archivos, cada uno de los
cuales corresponde a cada programa fuente compilado.
Slo se genera cdigo objeto una vez que el cdigo fuente est libre de errores sintcticos y
semnticos.
El proceso de traduccin de cdigo fuente a cdigo objeto puede realizarse de dos formas:
a. Compilacin: El proceso de traduccin se realiza sobre todo el cdigo fuente, en un
solo paso. Se crea cdigo objeto que habr que enlazar. El software responsable se
llama compilador (Software que traduce, de una sola vez, un programa escrito en un
lenguaje de programacin de alto nivel en su equivalente en lenguaje mquina.).
b. Interpretacin: El proceso de traduccin del cdigo fuente se realiza lnea a lnea y se
ejecuta simultneamente. No existe cdigo objeto intermedio. El software responsable
se llama intrprete (Software que traduce, instruccin a instruccin, un programa
escrito en un lenguaje de alto nivel en su equivalente en lenguaje mquina). El
proceso de traduccin es ms lento que en el caso de la compilacin, pero es
recomendable cuando el programador es inexperto, ya que da la deteccin de errores
es ms detallada.
El cdigo objeto es cdigo binario, pero no puede ser ejecutado por la computadora
Parasaberms
Enelsiguienteenlacepodrsvisitarunapginaweb,quetepermitiraprendermsacerca
delageneracindecdigosobjeto:
http://www.monografias.com/trabajos11/compil/compil2.shtml#co
20
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
5.4.3.- Ejecutable.
El cdigo ejecutable, resultado de enlazar los archivos de cdigo objeto, consta de un nico
archivo que puede ser directamente ejecutado por la computadora. No necesita ninguna
aplicacin externa. Este archivo es ejecutado y controlado por el sistema operativo.
Para obtener un slo archivo ejecutable, habr que enlazar todos los archivos de cdigo
objeto, a travs de un software llamado linker (Enlazador. Pequeo 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.
Parasaberms
Enelsiguienteenlacepodrsvisitarunapginaweb,quetepermitiraprendermsacerca
delageneracindeejecutables:
http://www.palomatica.info/juckar/sistemas/software/generacion_de_ejecutable.html
Cdigo Objeto
Cdigo
Ejecutable
El cdigo fuente escrito en algn lenguaje de programacin de alto nivel, el objeto escrito en lenguaje mquina sin ser
ejecutableyelcdigoejecutable,escritotambinenlenguajemquinayyasejecutableporelordenador,sonlasdistintas
fasespordondepasannuestrosprogramas.
21
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
5.5.1.- Frameworks.
Un framework (Plataforma, entorno, marco de trabajo del desarrollo rpido 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 estn definidos programas soporte, bibliotecas,
lenguaje interpretado, etc., que ayuda a desarrollar y unir los diferentes mdulos o partes de
un proyecto.
22
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Con el uso de framework podemos pasar ms tiempo analizando los requerimientos del
sistema y las especificaciones tcnicas de nuestra aplicacin, ya que la tarea laboriosa de los
detalles de programacin queda resuelta.
Parasaberms
El uso creciente de frameworks hace que tengamos que estar reciclndonos
constantemente. En el siguiente enlace, hay un documento muy interesante de sus
principalescaractersticas,ventajasyformasdeuso:
http://www.maestrosdelweb.com/editorial/losframeworksdephpagilizantutrabajo/
Ejemplos de Frameworks:
Debesconocer
El proceso de instalacin y configuracin del framework Spring de Java, as como varios
ejemplosdeuso.Enelsiguienteenlaceencontrarsunaguamuytildetallandolospasosa
seguir:
http://pablolg.wikispaces.com/file/view/spring_tutorial_v0.271.pdf
23
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
24
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Una Mquina virtual Java (JMV o JVM si consideramos las siglas en ingls), que es el
programa que interpreta el cdigo de la aplicacin escrito en Java.
Bibliotecas de clase estndar que implementan el API de Java.
Las dos: JMV y API de Java son consistentes entre s, por ello son distribuidas
conjuntamente.
5.6.- Pruebas.
Caso prctico
Mara rene todos los cdigos diseados y los prepara para implementarlos en el equipo del cliente.
Juan se percata de ello, y le recuerda a su amiga que an no los han sometido a pruebas. Juan se
acuerda bien de la vez que le pas aquello: hace dos aos, cuando fue a presentar una aplicacin a
sus clientes, no paraba de dar errores de todo tipo los clientes, por supuesto, no la aceptaron y
Juan perdi un mes de duro trabajo y estuvo a punto de perder su empleo
No tan deprisa Mara, tenemos que PROBAR la aplicacin.
Una vez obtenido el software, la siguiente fase del ciclo de vida es la realizacin de pruebas.
Normalmente, stas se realizan sobre un conjunto de datos de prueba, que consisten en un
conjunto seleccionado y predefinido de datos lmite a los que la aplicacin es sometida.
La realizacin de pruebas es imprescindible para asegurar la validacin y verificacin
del software construido.
Entre todas las pruebas que se efectan sobre el software podemos distinguir bsicamente:
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 para
Java.
PRUEBAS DE INTEGRACIN
25
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Se realizan una vez que se han realizado con xito las pruebas unitarias y consistirn en
comprobar el funcionamiento del sistema completo: con todas sus partes interrelacionadas.
La prueba final se denomina comnmente Beta Test, sta se realiza sobre el entorno de
produccin donde el software va a ser utilizado por el cliente (a ser posible, en los equipos del
cliente y bajo un funcionamiento normal de su empresa).
El perodo de prueba ser normalmente el pactado con el cliente.
Autoevaluacin
Si las pruebas unitarias se realizan con xito, es obligatorio realizar las de integracin?
S, si la aplicacin est formada por ms de cinco mdulos diferentes.
S, en cualquier caso.
Parasaberms
Puedes visitar la siguiente pgina web, donde se detallan los tipos de pruebas que suelen
haceralsoftwareylafuncindecadauna.
http://www.sistedes.es/TJISBD/Vol1/No4/articles/pris07rajactps.pdf
5.7.- Documentacin.
Caso prctico
Ada ha quedado dentro de dos das con su cliente. Pregunta a Mara por todos los dossiers de
documentacin. La plida expresin de la joven hace que Ada arda en desesperacin: "No habis
documentado las etapas? Cmo voy a explicarle al cliente y sus empleados el funcionamiento del
software? Cmo vamos a realizar su mantenimiento?".
26
ENTORNOSDEDESARROLLO
Descripcin
de
la
funciona-lidad
de
la
aplicacin.
Forma de comenzar a
ejecu-tar la aplicacin.
Quedan
El diseo de
la aplicacin.
La codificacin de los
programas.
Las pruebas
realizadas.
Instalacinyusodeentornosdedesarrollo
Toda
la
informacin
necesaria para:
Puesta en marcha.
Explotacin.
Seguridad del sistema.
5.8.- Explotacin.
Caso prctico
Llega el da de la cita con la cadena hotelera. Ada y Juan se dirigen al hotel sonde se va a instalar y
configurar la aplicacin. Si todo va bien, se ir implementando en los dems hoteles de la cadena.
Ada no quiere que se le pase ni un detalle: lleva consigo la gua de uso y la gua de instalacin.
Despus 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
explotacin.
Aunque diversos autores consideran la explotacin y el mantenimiento como la misma etapa,
nosotros vamos a diferenciarlas en base al momento en que se realizan.
La explotacin es la fase en que los usuarios finales conocen la aplicacin y comienzan a
utilizarla.
La explotacin es la instalacin, puesta a punto y funcionamiento de la aplicacin en el
equipo final del cliente.
En el proceso de instalacin, los programas son transferidos al computador del usuario cliente
y posteriormente configurados y verificados.
27
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Es recomendable que los futuros clientes estn presentes en este momento e irles comentando
cmo se va planteando la instalacin.
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.
Una vez instalada, pasamos a la fase de configuracin.
En ella, asignamos los parmetros de funcionamiento normal de la empresa y probamos que la
aplicacin es operativa. Tambin puede ocurrir que la configuracin la realicen los propios
usuarios finales, siempre y cuando les hayamos dado previamente la gua de instalacin. Y
tambin, si la aplicacin es ms sencilla, podemos programar la configuracin de manera que
se realice automticamente tras instalarla. (Si el software es "a medida", lo ms aconsejable es
que la hagan aquellos que la han fabricado).
Una vez se ha configurado, el siguiente y ltimo paso es la fase de produccin normal. La
aplicacin pasa a manos de los usuarios finales y se da comienzo a la explotacin del
software.
Es muy importante tenerlo todo preparado antes de presentarle el producto al cliente:
ser el momento crtico del proyecto.
Reflexiona
Realizas un proyecto software por vez primera y no te das cuenta de documentarlo. Consigues
venderloabuenprecioaunaempresa.Alcabodeunpardemesestepidenqueactualicesalgunas
delasfunciones,paratenermayorfuncionalidad.Estscontentoocontentaporqueesosignificaun
ingreso extra. Te paras un momento...Dnde estn los cdigos? Qu haca exactamente la
aplicacin? Cmo se dise? No lo recuerdas... Probablemente hayas perdido un ingreso extra y
unosbuenosclientes.
5.9.- Mantenimiento.
Caso prctico
Ada rene 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 an no ha terminado comenta Ada, nos quedan muchas cosas por hacer. Esta tarde me
reno con los clientes. Cmo vamos a gestionar el mantenimiento de la aplicacin?
Seralgicopensarqueconlaentregadenuestraaplicacin(lainstalacinyconfiguracindenuestro
proyectoenlosequiposdelcliente)hemosterminadonuestrotrabajo.
Encualquierotrosectorlaboralestoesas,peroelcasodelaconstruccindesoftwareesmuy
diferente.
28
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Adems, 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 aplicacin (que
tambin tendr un coste temporal y econmico).
El mantenimiento se define como el proceso de control, mejora y optimizacin del software.
Su duracin es la mayor en todo el ciclo de vida del software, ya que tambin comprende las
actualizaciones y evoluciones futuras del mismo.
Los tipos de cambios que hacen necesario el mantenimiento del software son los siguientes:
Autoevaluacin
Cul es, en tu opinin, la etapa ms importante del desarrollo de software?
El anlisis de requisitos.
La codificacin.
Las pruebas y documentacin.
La explotacin y el mantenimiento.
29
Instalacinyusodeentornosdedesarrollo
ENTORNOSDEDESARROLLO
Ejemplo en lenguaje C:
if (a >= b)
c= a-b;
else
c=a+b;
30
ENTORNOSDEDESARROLLO
Instalacinyusodeentornosdedesarrollo
Ejemplo en lenguaje C:
intnum;
num = 0;
while (num<=10) {
printf("Repeticin numero %d\n", num);
num = num + 1;
};
31