Você está na página 1de 18

03/10/2011

CFGS Desarrollo de Aplicaciones Web


Mdulo Entornos de desarrollo
Ttulo: RD 686/2010 de 20 mayo (BOE 12 de junio de 2010) Currculo: D 230/2011 de 28 /08/2011 (DOCM 9 de agosto de 2011

Unidades por evaluaciones y duracin aproximada:


Ev. Unidades 1. Desarrollo de Sw 1 2. Instalacin y uso de entornos de desarrollo 3. Diseo y realizacin de pruebas 4. Optimizacin y documentacin 5. Diseo OO. Diagramas estructurales 6. Diseo OO. Diagramas comportamiento Semanas 4 6 6 5 6 5

U1: Desarrollo de Sw

1. Sw y programa informtico. Tipos de Sw


SISTEMA DE INFORMACIN:

1.

Sw y programa informtico. Tipos de Sw Relacin Hw-Sw

2. 3. 4. 5.

Desarrollo Sw
Lenguajes de programacin Fases en el desarrollo y ejecucin de Sw

Un conjunto formal de procesos que, operando sobre una coleccin de datos estructurada segn las necesidades de la empresa, recopilan, elaboran, y distribuyen la informacin (o parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de direccin y control correspondientes (decisiones) para desempear su actividad de acuerdo a su estrategia de negocio
OBJETIVO:

Ayudar al desempeo de las actividades en todos los niveles de la organizacin mediante el suministro de la informacin adecuada, con la calidad suficiente, a la persona apropiada, en el momento y lugar oportunos, y con el formato ms til para el receptor

03/10/2011

1. Sw y programa informtico. Tipos de Sw


SISTEMA DE INFORMACIN:

1. Sw y programa informtico. Tipos de Sw


HW: Parte fsica CPU Memoria Perifricos Soportes almacenamiento Otros
S

E/S

Proceso

SW:

Parte lgica Programas Datos Documentacin Mtodos de desarrollo de sw

Almacenamiento

PROGRAMA:
SISTEMA INFORMTICO:

Sistema de informacin cuyos procesos se llevan a cabo con ordenadores S.I. = Sw + Hw + Usuarios
5

Conjunto de rdenes (instrucciones) que son ejecutadas por la mquina para resolver un problema determinado
APLICACIN INFORMTICA:

Conjunto de programas para realizar un trabajo determinado


6

1. Sw y programa informtico. Tipos de Sw


Segn su funcin, el Sw se clasifica en:
Sw de sistema (S.O. + drivers):

1. Sw y programa informtico. Tipos de Sw

software base que ha de estar instalado y configurado en nuestro ordenador para que las aplicaciones puedan ejecutarse y funcionar. Ej:Windows, Linux, MAC Sw de aplicacin: conjunto de programas que realizan tareas especficas Ej: Procesador de textos, una hoja de clculo, un videojuego, etc.
Sw de desarrollo o programacin:

conjunto de herramientas que nos permiten desarrollar programas informticos Ej: Lenguajes de programacin, compiladores,
7

Ms informacin sobre los tipos de Sw: http://www.tiposdesoftware.com/


8

03/10/2011

2. Relacin Hw-Sw
El software se ejecuta sobre el Hw Los elementos Hw necesitan estar instalados y configurados correctamente para que el equipo funcione Relacin Hw-Sw desde dos puntos de vista: del Sistema Operativo de las aplicaciones.

2. Relacin Hw-Sw
Desde el punto de vista del sistema operativo : El sistema operativo es el encargado de coordinar al hardware durante el funcionamiento del ordenador, actuando como intermediario entre ste y las aplicaciones que estn corriendo en un momento dado. Todas las aplicaciones necesitan recursos hardware durante su ejecucin (tiempo de CPU, espacio en la RAM, gestin de los dispositivos de Entrada/Salida, .etc.). Ser siempre el sistema operativo el encargado de controlar todos estos aspectos de manera "oculta" para las aplicaciones (y para el usuario).
9 10

2. Relacin Hw-Sw
Desde el punto de vista de las aplicaciones : Los programas estn escritos en algn lenguaje de programacin que el hardware del equipo debe interpretar y ejecutar. Las sentencias de los lenguajes de programacin son fciles de aprender y usar por el ser humano. El hardware de un ordenador slo es capaz de interpretar seales elctricas (ausencias o presencias de tensin) que, en informtica, se traducen en secuencias de 0 y 1 (cdigo binario). Para que el ordenador ejecute las instrucciones escritas en un lenguaje de programacin tendr que pasar por un proceso de traduccin de cdigo.
11

3. Desarrollo de Sw
Todo el proceso que ocurre desde que se concibe una idea hasta que un programa est implementado en el ordenador y funcionando. La construccin de software es un proceso que puede llegar a ser muy complejo y que exige gran coordinacin y disciplina del grupo de trabajo que lo desarrolle. En todo proceso de desarrollo se ha de pasar una serie de etapas
Definicin del problema

Desarrollo de la solucin

Mantenimiento de la solucin
12

03/10/2011

3. Desarrollo de Sw
Definicin del problema = el QU Se identifican los requisitos clave del sistema y del Sw : Qu informacin se va utilizar y cules son sus caractersticas, Qu restricciones, funcionalidad y rendimiento se desea, Se definen el sistema y el Sw a emplear, los recursos, tiempos y costes. = Proyecto del Sistema. Tareas principales: Planificacin Anlisis de requisitos
13

3. Desarrollo de Sw
Desarrollo de la solucin propuesta: = el CMO El diseo de las estructuras de datos e interfaces Especificacin detallada del diseo que permitir obtener el cdigo fuente. Cmo se va a traducir el diseo en un lenguaje de programacin, Se disea un plan y se realizan pruebas.

Al trmino de esta fase se entregar el sistema. Tareas principales: Diseo del Sw. Codificacin Prueba del Sw Documentacin
14

3. Desarrollo de Sw
Mantenimiento de la solucin: Se centra en el CAMBIO: Tipos de cambios: Correccin Adaptacin Mejora o evolutivos Prevencin

3. Desarrollo de Sw

Segn estimaciones: el 26% de los grandes proyectos de software fracasan, el 48% deben modificarse drsticamente slo el 26% tienen rotundo xito.

Tareas: Explotacin Mantenimiento La principal causa del fracaso de un proyecto es la falta de una buena planificacin de las etapas y mala gestin de los pasos a seguir.

Unidad 2: Introduccin al desarrollo de aplicaciones informticas

15

16

03/10/2011

3.1 Ciclo de vida del Sw


Ciclo de vida:
Conjunto de fases por las que pasa un sistema de informacin desde su concepcin hasta que ya no se utiliza una aproximacin lgica a la adquisicin, el suministro, el desarrollo, la explotacin y el mantenimiento del Sw
(IEEE 1064, 1991: estndar IEEE para el desarrollo de procesos de ciclo de vida Sw)

3.1 Ciclo de vida del Sw


Los procesos generales (o fases) que se deben realizar en el ciclo de vida de un S.I. se pueden desarrollar de distintas formas (distintas estrategias), dando lugar a distintos modelos de desarrollo o paradigmas del Sw. La eleccin de un paradigma u otro para llevar a cabo un proyecto Sw depende de la naturaleza del mismo y de la aplicacin de los mtodos y herramientas a usar as como de los controles y entregas requeridos.

un marco de referencia que contiene los procesos, las actividades, y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto Sw, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso
(ISO 12207-1, 1994: procesos de ciclo de vida de Sw)
17

18

3.1 Ciclo de vida del Sw


Existen varios paradigmas, los ms conocidos son: Modelo en cascada (ciclo de vida clsico) Prototipado Evolutivos: Incremental y Espiral Desarrollo rpido de aplicaciones Tcnicas de 4G Mtodos formales Modelo OO

3.2 Herramientas de apoyo al desarrollo del Sw


Herramientas CASE: Conjunto de aplicaciones que se utilizan en el desarrollo de software con el objetivo de reducir costes y tiempo del proceso, mejorando por tanto la productividad del proceso Permiten: Mejorar la planificacin del proyecto. Darle agilidad al proceso. Poder reutilizar partes del software en proyectos futuros. Hacer que las aplicaciones respondan a estndares. Mejorar la tarea del mantenimiento de los programas. Mejorar el proceso de desarrollo, al permitir visualizar las fases de forma grfica.
19 20

03/10/2011

3.2 Herramientas de apoyo al desarrollo del Sw


CLASIFICACIN en funcin de las fases del ciclo de vida del software en la que ofrecen ayuda: U-CASE: en la planificacin y anlisis de requisitos. M-CASE: en anlisis y diseo. L-CASE: en la programacin del software, deteccin de errores del cdigo, depuracin de programas y pruebas y en la generacin de la documentacin del proyecto. Ejemplos de herramientas CASE libres son: ArgoUML, Use Case Maker, ObjectBuilder
21

3.2 Herramientas de apoyo al desarrollo del Sw


CLASIFICACIN segn Fuggetta (1993): Herramientas: ayudan a un proceso concretos (compilacin, comparacin de la prueba,) Bancos de trabajo (WorkBench): conjunto de herramientas que ayudan a fases o actividades del proceso de desarrollo (anlisis, anlisis y diseo,) Entornos: Conjunto de bancos de trabajo integrados de alguna forma que ayudan a todo el proceso (o a una parte substancial delmismo).

22

4. Lenguajes de programacin
Lenguaje de Programacin: 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. Es un conjunto de: Alfabeto: conjunto de smbolos permitidos Sintaxis: Normas de construccin permitidas de los smbolos del lenguaje Semntica: significado de las construcciones para hacer acciones vlidas
23

4. Lenguajes de programacin
Clasificacin: Segn lo cerca que est del lenguaje humano) L. mquina L. ensamblador L. de alto nivel

Segn la tcnica de programacin utilizada: L. Estructurados L.OO L.Visuales

24

03/10/2011

4. Lenguajes de programacin
Clasificacin: Segn lo cerca que est del lenguaje humano) L. mquina L. ensamblador L. de alto nivel

4. Lenguajes de programacin
Lenguaje mquina: Sus instrucciones son combinaciones de unos y ceros. Es el nico lenguaje que entiende directamente el ordenador. (No necesita traduccin). Fue el primer lenguaje utilizado. Es nico para cada procesador (no es portable de un equipo a otro). Hoy da nadie programa en este lenguaje.

Segn la tcnica de programacin utilizada: L. Estructurados L.OO L.Visuales

25

26

4. Lenguajes de programacin
Lenguaje ensamblador: Sustituy al lenguaje mquina para facilitar la labor de programacin. En lugar de unos y ceros se programa usando mnemotcnicos (instrucciones complejas). Necesita traduccin al lenguaje mquina para poder ejecutarse. Sus instrucciones son sentencias que hacen referencia a la ubicacin fsica de los archivos en el equipo. Es difcil de utilizar.
27

4. Lenguajes de programacin
Lenguaje de alto nivel: Sustituyeron al lenguaje ensamblador para facilitar ms la labor de programacin. En lugar de mnemotcnicos, se utilizan sentencias y rdenes derivadas del idioma ingls. (Necesita traduccin al lenguaje mquina). Son ms cercanos al razonamiento humano. Son utilizados hoy da, aunque la tendencia es que cada vez menos.
28

03/10/2011

4. Lenguajes de programacin
Lenguajes de programacin estructurada: Los programas se tratan como un conjunto ordenado de sentencias. Sentencias bsicas: Secuencia Alternativa Repetitiva VENTAJAS: Los programas son fciles de leer, sencillos y rpidos. El mantenimiento de los programas es sencillo. La estructura del programa es sencilla y clara.
29

4. Lenguajes de programacin
Lenguajes de programacin estructurada: INCONVENIENTES : Todo el programa se concentra en un nico bloque (si se hace demasiado grande es difcil manejarlo). No permite reutilizacin eficaz de cdigo, ya que todo va "en uno". No es til para programas muy largos Por esto a la programacin estructurada le sustituy la programacin modular, donde los programas se codifican por mdulos y bloques, permitiendo mayor funcionalidad. Ejemplos de lenguajes estructurados: Pascal, C, Fortran.
30

4. Lenguajes de programacin
Lenguajes de programacin OO: Los programas se componen de objetos independientes que colaboran entre ellos para realizar acciones Los objetos son reutilizables para proyectos futuros. 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. 31

4. Lenguajes de programacin
Lenguajes de programacin OO: VENTAJAS: El cdigo es reutilizable. Si hay algn error, es ms fcil de localizar y depurar en un objeto que en un programa entero. INCONVENIENTES: Programacin menos intuitiva que la estructurada Ejemplos de lenguajes orientados a objetos: Java, Ada, C++, VB.NET, Delphi, PowerBuilder,
32

03/10/2011

4. Lenguajes de programacin
Lenguajes visuales: Estn sustituyendo a los lenguajes de alto nivel basados en cdigo. En lugar de sentencias escritas, se programa grficamente usando el ratn y diseando directamente la apariencia del software. Su correspondiente cdigo se genera automticamente. Necesitan traduccin al lenguaje mquina. Son completamente portables de un equipo a otro.
33

4. Lenguajes de programacin

Para saber ms:

http://www.monografias.com/trabajos38/tipo s-lenguajes-programacion/tiposlenguajes-programacion.shtml

34

4. Lenguajes de programacin

5. Fases en el desarrollo y ejecucin de Sw


Independientemente del modelo elegido, (ciclo de vida) siempre hay una serie de etapas que debemos seguir para construir software fiable y de calidad. Estas etapas son:

Para saber ms:

http://www.monografias.com/trabajos38/tipo s-lenguajes-programacion/tiposlenguajes-programacion.shtml

ANLISIS DE REQUISITOS. DISEO. CODIFICACIN. PRUEBAS. DOCUMENTACIN. EXPLOTACIN. MANTENIMIENTO.

35

36

03/10/2011

5. Fases en el desarrollo y ejecucin de Sw


Definicin del problema: ANLISIS DE REQUISITOS. Se especifican los requisitos funcionales y no funcionales del sistema. Requisitos Funcionales: Qu funciones tendr que realizar la aplicacin. Qu respuesta dar la aplicacin ante todas las entradas. Cmo se comportar la aplicacin en situaciones inesperadas. Requisitos No Funcionales: Tiempos de respuesta del programa, legislacin aplicable, tratamiento ante la simultaneidad de peticiones, etc.
37

5. Fases en el desarrollo y ejecucin de Sw


Desarrollo de la solucin: DISEO. Se divide el sistema en partes y se determina la funcin de cada una. CODIFICACIN. Se elige un Lenguajes de Programacin y se codifican los programas. PRUEBAS. Se prueban los programas para detectar errores y se depuran. DOCUMENTACIN. De todas las etapas, se documenta y guarda toda la informacin. EXPLOTACIN. Instalamos, configuramos y probamos la aplicacin en los equipos del cliente.

38

5. Fases en el desarrollo y ejecucin de Sw


Mantenimiento de la solucin: MANTENIMIENTO. Se mantiene el contacto con el cliente para actualizar y modificar la aplicacin el futuro.

5. 1 Anlisis
la primera etapa del proyecto, la ms complicada y la que ms depende de la capacidad del analista.

Es fundamental una buena comunicacin entre el analista y el cliente para que la aplicacin que se va a desarrollar cumpla con sus expectativas. La culminacin de esta fase es el documento ERS (Especificacin de Requisitos Software).

39

40

10

03/10/2011

5. 1 Anlisis
ERS (Especificacin de Requisitos Software) : En este documento quedan especificados: La planificacin de las reuniones que van a tener lugar. Relacin de los objetivos del usuario cliente y del sistema. Relacin de los requisitos funcionales y no funcionales del sistema. Relacin de objetivos prioritarios y temporizacin. Reconocimiento de requisitos mal planteados o que conllevan contradicciones, etc.

5. 2 Diseo
Ya sabemos lo que hay que hacer, el siguiente paso es Cmo hacerlo? Se debe dividir el sistema en partes y establecer qu relaciones habr entre ellas. Decidir qu har exactamente cada parte. En definitiva, debemos crear un modelo funcional-estructural de los requerimientos del sistema global, para poder dividirlo y afrontar las partes por separado. En este punto, se deben tomar decisiones importantes, tales como: Entidades y relaciones de las bases de datos. Seleccin del lenguaje de programacin que se va a utilizar. Seleccin del Sistema Gestor de Base de Datos. 42 Etc.

41

5. 3 Codificacin
Tiene que cumplir exhaustivamente con todos los datos impuestos en el anlisis y en el diseo de la aplicacin. El programador se encarga de codificar toda la informacin anterior en un lenguaje de programacin. Las caractersticas deseables de todo cdigo son: Modularidad: que est dividido en trozos ms pequeos. Correccin: que haga lo que se le pide realmente. Fcil de leer: para facilitar su desarrollo y mantenimiento futuro. Eficiencia: que haga un buen uso de los recursos. Portabilidad: que se pueda implementar en cualquier equipo.
43

5.3 Codificacin
Segn el lenguaje en el que est escrito un programa, se le llama: Cdigo Fuente: escrito en algn lenguaje de programacin de alto nivel. Cdigo Objeto: cdigo binario resultado de compilar el cdigo fuente. El cdigo objeto no es directamente inteligible por el ser humano ni por la computadora. Cdigo Ejecutable (mquina): cdigo binario resultante de enlazar los archivos de cdigo objeto con ciertas rutinas y bibliotecas necesarias . Es directamente inteligible por la computadora.

44

11

03/10/2011

5.3 Codificacin
TRADUCTORES Programas que traducen programas al lenguaje mquina para que un ordenador pueda ejecutarlos
L. Mquina
001 1111000.... Programa objeto

5. 3 Codificacin
CODIGO FUENTE Conjunto de instrucciones que el ordenador deber realizar, escritas en un lenguaje de alto nivel. Para obtener el cdigo fuente de una aplicacin informtica:
Intrpretes

Ensambladores

Compiladores

Bajo Nivel
Programa fuente

Alto Nivel

Se debe partir de las etapas anteriores de anlisis y diseo Se disear un algoritmo que simbolice los pasos a seguir para la resolucin del problema Se elegir un Lenguajes de Programacin de alto nivel apropiado para las caractersticas del software que se quiere codificar. Se proceder a la codificacin del algoritmo antes diseado.
46

45

5. 3 Codificacin
CODIGO FUENTE La culminacin de la obtencin de cdigo fuente es un documento con la codificacin de todos los mdulos, funciones, bibliotecas y procedimientos necesarios para codificar la aplicacin. Tipos de cdigo fuente segn licencias: Cdigo fuente abierto. Es aqul que est disponible para que cualquier usuario pueda estudiarlo, modificarlo o reutilizarlo. Cdigo fuente cerrado. Es aqul que no tenemos permiso para editarlo.

5. 3 Codificacin
CODIGO OBJETO Es el resultado de la compilacin del cdigo fuente. Es un programa en un cdigo equivalente formado por unos y ceros (bytecode) que an no puede ser ejecutado directamente por la computadora Slo se genera cdigo objeto una vez que el cdigo fuente est libre de errores sintcticos y semnticos.

47

48

12

03/10/2011

5. 3 Codificacin
CODIGO EJECUTABLE Resultado de enlazar (linkar) 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.

5. 4 Mquinas virtuales
Una mquina virtual es un tipo especial de software cuya misin es separar el funcionamiento del ordenador de los componentes hardware instalados. Acta de puente entre la aplicacin y el hardware concreto del equipo donde se instale. Con el uso de mquinas virtuales podremos desarrollar y ejecutar una aplicacin sobre cualquier equipo, independientemente de las caractersticas concretas de los componentes fsicos instalados. Esto garantiza la portabilidad de las aplicaciones. .

49

50

5. 4 Mquinas virtuales

5. 4 Mquinas virtuales
Funciones principales de una mquina virtual: 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 aplicacin (husped), para el control de los dispositivos hardware implicados en los procesos. Cumplimiento de las normas de seguridad de las aplicaciones .

51

52

13

03/10/2011

5. 4 Mquinas virtuales
Caractersticas de la mquina virtual: Cuando el cdigo fuente se compila se obtiene cdigo objeto (bytecode, cdigo intermedio). Para ejecutarlo en cualquier mquina se requiere tener independencia respecto al hardware concreto que se vaya a utilizar. Para ello, la mquina virtual asla la aplicacin de los detalles fsicos del equipo en cuestin. Funciona como una capa de software de bajo nivel y acta como puente entre el bytecode de la aplicacin y los dispositivos fsicos del sistema. La Mquina Virtual verifica todo el bytecode antes de ejecutarlo. La Mquina Virtual protege direcciones de memoria.
53

5. 4.1 FRAMEWORKS
Plataforma Sw de ayuda al programador para desarrollar proyectos sin partir de cero Se tiene definidos programas de soporte, bibliotecas, etc, que ayudan a desarrollar y unir los diferentes mdulos o partes de un proyecto Ejemplos de Frameworks: .NET: para aplicaciones sobre windows Visual Studio .net nos da facilidades para construir aplicaciones Su motor es el ".Net framework" que permite ejecutar dichas aplicaciones. Es un componente que se instala sobre el sistema operativo. Sprint de Java
54

5. 4.1 FRAMEWORKS
VENTAJAS de utilizar un framework: Desarrollo rpido de software. Reutilizacin de partes de cdigo para otras aplicaciones. Diseo uniforme del software. Portabilidad de aplicaciones de un computador a otro, ya que los bytecodes que se generan a partir del lenguaje fuente podrn ser ejecutados sobre cualquier mquina virtual. INCONVENIENTES: Gran dependencia del cdigo respecto al framework utilizado (si cambiamos de framework, habr que reescribir gran parte de la aplicacin). La instalacin e implementacin del framework en nuestro equipo consume bastantes recursos del sistema.

5. 4. 2 ENTORNO DE EJECUCION
Conjunto de utilidades que permiten la ejecucin de programas. Es un servicio de mquina virtual que sirve como base software para la ejecucin de programas. Est formado por: mquina virtual, y API's (bibliotecas de clases estndar necesarias para que pueda ser ejecutada) Puede: pertenecer al propio sistema operativo, o instalarse como software independiente Runtime: tiempo que tarda un programa en ejecutarse en la computadora.

55

56

14

03/10/2011

5. 4. 2 ENTORNO DE EJECUCION
Durante la ejecucin, los entornos se encargarn de: Configurar la memoria principal disponible en el sistema. Enlazar los archivos del programa con las bibliotecas existentes y con los subprogramas creados. Considerando que las bibliotecas son el conjunto de subprogramas que sirven para desarrollar o comunicar componentes software pero que ya existen previamente y los subprogramas sern aquellos que hemos creado a propsito para el programa. Depurar los programas: comprobar la existencia (o no existencia) de errores semnticos del lenguaje (los sintcticos ya se detectaron en la compilacin).
57

5. 4. 3 JAVA RUNTIME ENVIRONMENT


Funcionamiento, instalacin, configuracin y primeros pasos del Runtime Environment del lenguaje Java (extensible a los dems lenguajes de programacin). Concepto. JRE = Java Runtime Environment (entorno en tiempo de ejecucin Java). El JRE se compone de un conjunto de utilidades que permitir la ejecucin de programas java sobre cualquier tipo de plataforma.

58

5. 4. 3 JAVA RUNTIME ENVIRONMENT


Componentes: JRE est formado por: 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. Instalacin: Java es software libre, Descargar el programa JRE. (Java2 Runtime Environment JRE 1.6.0.21). Instalar siguiendo los pasos del asistente.
59

5. 5 PRUEBAS
Son imprescindibles para asegurar la validacin y verificacin del software construido Algunas de las pruebas del sw son: PRUEBAS UNITARIAS : Se prueban, una a una, las diferentes partes del software y se comprueba su funcionamiento (por separado, de manera independiente). JUnit es el entorno de pruebas para Java. PRUEBAS DE INTEGRACIN: Consistirn en comprobar el funcionamiento del sistema completo: con todas sus partes interrelacionadas.

60

15

03/10/2011

5. 5 PRUEBAS
Beta Test: Prueba final que se realiza sobre el entorno de produccin donde el sw 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.

5. 6 DOCUMENTACION
Todas las etapas en el desarrollo de software deben quedar perfectamente documentadas. Por qu? Para dar toda la informacin 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 documentacin permitir la reutilizacin de parte de los programas en otras aplicaciones, siempre y cuando se desarrollen con diseo modular.

61

62

5. 6 DOCUMENTACION
Los documentos a elaborar en el proceso de desarrollo de software se pueden agrupar en: Gua tcnica Gua de uso Gua de instalacin

5. 6 DOCUMENTACION
GUA TCNICA: Documentos: El diseo de la aplicacin La codificacin de los programas Las pruebas realizadas

Objetivo: Facilitar un correcto desarrollo, realizar correcciones en los programas y permitir un mantenimiento futuro Dirigido a: Personal tcnico en informtica (analistas y programadores)

63

64

16

03/10/2011

5. 6 DOCUMENTACION
GUA de USO: Documentos: Descripcin de la funcionalidad de la aplicacin. Forma de comenzar su ejecucin Ejemplos de uso del programa. Requerimientos software de la aplicacin. Solucin de los posibles problemas que se pueden presentar. Objetivo: Dar a los usuarios finales toda la informacin necesaria para utilizar la aplicacin Dirigido a: Los usuarios que van a usar la aplicacin (clientes).
65

5. 6 DOCUMENTACION
GUA de USO: Documentos: Toda la informacin necesaria para: Puesta en marcha. Explotacin. Seguridad del sistema. Objetivo: Dar toda la informacin necesaria para garantizar que la implantacin de la aplicacin se realice de forma segura, confiable y precisa. Dirigido a: Personal informtico responsable de la instalacin, en colaboracin con los usuarios que van a usar la aplicacin (clientes).
66

5. 7 EXPLOTACIN
La explotacin es la instalacin, puesta a punto y funcionamiento de la aplicacin en el equipo final del cliente 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, fase en la que los usuarios finales conocen la aplicacin y comienzan a utilizarla. 1 Instalacin: Proceso en el que los programas son transferidos al computador del usuario cliente y posteriormente configurados y verificados. Es recomendable que los futuros clientes estn presentes en este momento e irles comentando cmo se va planteando la instalacin.

5. 7 EXPLOTACIN
2 Configuracin: Se asignan los parmetros de funcionamiento normal de la empresa y se prueba 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).

67

68

17

03/10/2011

5. 7 EXPLOTACIN
3 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.!

5. 8 MANTENIMIENTO
En cualquier sector laboral, con la entrega del producto, ha terminado su trabajo PERO en el caso de la construccin de software sto NO es as con la entrega de nuestra aplicacin (la instalacin y configuracin de nuestro proyecto en los equipos del cliente). ADEMS, la etapa de mantenimiento es la ms larga de todo el ciclo de vida del sw el sw deber actualizarse y evolucionar con el tiempo, deber ir adaptndose a las mejoras del hw y afrontar situaciones nuevas que no existan cuando el software se construy. Siempre surgen errores que habr que ir corrigiendo y nuevas versiones del producto mejores que las anteriores Pactar con el cliente un servicio de mantenimiento de la aplicacin (que tambin tendr un coste temporal y econmico). 70

69

5. 8 MANTENIMIENTO
Tipos de cambios: Correctivos: La aplicacin tendr errores en el futuro (sera utpico pensar lo contrario). Adaptativos: Modificaciones, actualizaciones... para adaptarse a las nuevas tendencias del mercado, a nuevos componentes hardware, etc. Mejora o Evolutivos: El cliente tendr en el futuro nuevas necesidades. Por tanto, sern necesarias modificaciones, expansiones o eliminaciones de cdigo. Preventivos: cambios para facilitar las futuras operaciones de mantenimiento

71

18