viernes, 21 de junio de 2013

CAPITULO 2


CAPITULO II


2.1  ANTECEDENTES DE LA ORGANIZACIÓN
2.2 PARADIGMA ORIENTADO A OBJETOS
2.3 METODOLOGIAS
2.3.1 METODOLOGIA  XP
2.3.2 METODOLOGIA  CICLO DE VIDA
2.4 METODOLOGIA RUP
2.2.4.1 DIMENSIONES DEL RUP
     2.2.4.2 FASES    
A.2.1 PLANEANDO LAS FASES     
A.2.2 ESFUERZO RESPECTO DE LOS FLUJOS DE TRABAJO   
A.2.3 ESFUERZO RESPECTO DE LAS FASES      
2.2.3.3 ITERACIONES       
A.3.1 PROCESO ITERATIVO E INCREMENTAL
2.2.3.4 DISCIPLINAS         
A.4.1 MODELADO DEL NEGOCIO
A.4.2 REQUERIMIENTOS 
A.4.3 ANÁLISIS Y DISEÑO
A.4.4 IMPLEMENTACIÓN
A.4.5 PRUEBAS       
A.4.6 DESPLIEGUE 
A.4.7 GESTIÓN Y CONFIGURACIÓN DE CAMBIOS       
A.4.8 GESTIÓN DEL PROYECTO  
A.4.9 ENTORNO     
2.2.3.5 ORGANIZACIÓN Y ELEMENTOS EN RUP        
A.5.1 ACTORES Ó ROLES  
A.5.2 (B) ARTEFACTOS    
B.1 CONJUNTO DE ARTEFACTOS
B.2 GRADO DE FINALIZACIÓN DE ARTEFACTOS
 2.3 PARADIGMA ORIENTADO A OBJETOS
2.4 UML
2.5 SISTEMAS GESTORES DE BASES DE DATOS
2.5.1 MYSQL
2.5.2 ORACLE
2.6 LENGUAJE DE PROGRAMACION
2.6.1 PHP
2.6.2 AJAX
2.6.3 JAVA2






2.1  ANTECEDENTES DE LA ORGANIZACIÓN

 

 
2.2 PARADIGMA ORIENTADO A OBJETOS
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.
INTRODUCCIÓN
Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:
  • El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
  • El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
  • La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento.

Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podría producir el hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que manejen a las primeras por el otro. De esta manera se estaría realizando una programación estructurada camuflada en un lenguaje de programación orientado a objetos.
La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida.
La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada solo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
Origen
Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosión combinatoria de cómo las diversas cualidades de diferentes naves podían afectar unas a las otras. La idea surgió al agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamientos. Fueron refinados más tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versión fue escrita sobre Basic) pero diseñado para ser un sistema completamente dinámico en el cual los objetos se podrían crear y modificar "sobre la marcha" (en tiempo de ejecución) en lugar de tener un sistema basado en programas estáticos.

La programación orientada a objetos se fue convirtiendo en el estilo de programación dominante a mediados de los años ochenta, en gran parte debido a la influencia de C++, una extensión del lenguaje de programación C. Su dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario, para las cuales la programación orientada a objetos está particularmente bien adaptada. En este caso, se habla también de programación dirigida por eventos.
Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp y Pascal, entre otros. La adición de estas características a los lenguajes que no fueron diseñados inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la capacidad de mantenimiento del código. Los lenguajes orientados a objetos "puros", por su parte, carecían de las características de las cuales muchos programadores habían venido a depender. Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo algunas características imperativas de maneras "seguras". El Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos, pero ahora ha sido esencialmente reemplazado por Java, en gran parte debido a la aparición de Internet y a la implementación de la máquina virtual de Java en la mayoría de navegadores. PHP en su versión 5 se ha modificado; soporta una orientación completa a objetos, cumpliendo todas las características propias de la orientación a objetos.

Características de la POO
Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las características siguientes son las más importantes:
Abstracción
Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

Encapsulamiento
Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

Modularidad
Se denomina modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la modularidad de diversas formas.

Principio de ocultación
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.

Polimorfismo
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

Herencia
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.

 2.3 METODOLOGIAS
2.3.1 METODOLOGIA  XP
Definición
La programación extrema es una metodología de desarrollo ágil basada en una serie de valores y de prácticas de buenas maneras que persigue el objetivo de aumentar la productividad a la hora de desarrollar programas. Este modelo de programación se basa en una serie de metodologías de desarrollo de software en la que se da prioridad a los trabajos que dan un resultado directo y que reducen la burocracia que hay al rededor de la programación.

FASES DE LA METODOLOGÍA XP
Existen diversas prácticas inherentes al desarrollo de software.
            a)    PLANIFICACIÓN
                  XP plantea la planificación como un permanente dialogo entre las parte
                 la empresarial (deseable) y la técnica (posible). Las personas del negocio
                 necesitan determinar:
Ámbito: ¿Qué es lo que el software debe de resolver para que este genere valor?
Prioridad: ¿Qué debe ser hecho en primer lugar?

              b)    DISEÑO
                  METÁFORA.- Una metáfora es una historia que todo el mundo puede contar a 
cerca de cómo funciona el sistema. Algunas veces podremos encontrar metáforas
sencillas “Programa de gestión de compras, ventas, con gestión de cartera y almacén”. Las metáforas ayudan a cualquier persona a entender el objeto del programa.

  DISEÑO SENCILLO
El diseño adecuado par el software es aquel que:

  1. Funciona con todas las pruebas.
  2.  No tiene lógica duplicada.
  3.  Manifiesta cada intención importante para los programadores
  4. Tiene el menor número de clases y métodos.
c)    DESARROLLO
·         RECODIFICACIÓN
Cuando implementamos nuevas características en nuestros programas nos planteamos la manera de hacerlo lo mas simple posible, después de implementar esta característica, nos preguntamos como hacer el programa mas simple sin perder funcionalidad, este proceso se le denomina re codificar o reautorizar (refactoring).

·         PROGRAMACIÓN POR PAREJAS 
Todo el código de producción lo escriben dos personas frente al ordenador, con un sólo ratón y un sólo teclado. Cada miembro de la pareja juega su papel: uno codifica en el ordenador y piensa la mejor manera de hacerlo, el otro piensa más estratégicamente, ¿Va a funcionar?
Cualquiera que crea que puede aportar valor al código en cualquier parcela puede hacerlo, ningún miembro del equipo es propietario del código. Si alguien quiere hacer cambios  en el código puede hacerlo. Si hacemos el código propietario, y necesitamos de su autor para que lo cambie entonces estaremos alejándonos cada vez mas de la comprensión del problema.
·         INTEGRACIÓN CONTINÚA
El código se debe integrar como mínimo una vez al día, y realizar las pruebas sobre la totalidad del sistema. Una pareja de programadores se encargara de integrar todo el código en una maquina y realizar todas las pruebas hasta que estas funcionen al 100%.
·         40 HORAS SEMANALES
Si queremos estar frescos y motivados cada mañana y cansado y satisfecho cada noche. El viernes quiero estar cansado y satisfecho para sentir que tengo dos días para pensar en algo distinto y volver el lunes lleno de pasión e ideas. Esto requiere que trabajemos 40 horas a la semana, mucha gente no puede estar más de 35 horas concentrada a la semana, otros pueden llegar hasta 45 pero ninguno puede llegar a 60 horas durante varias semanas y aun seguir fresco, creativo y confiado.

·               CLIENTE IN-SITU
Un cliente real debe sentarse con el equipo de programadores, estar disponible para responder a sus preguntas, resolver discusiones y fijar las prioridades. Lo difícil es que el cliente nos ceda una persona que conozca el negocio para que se integre en el equipo normalmente estos elementos son muy valiosos, pero debemos de hacerles ver que será mejor para su negocio tener un software pronto en funcionamiento, y esto no implica que el cliente no pueda realizar cualquier otro trabajo.
·         ESTÁNDARES DE CODIFICACIÓN
Si los programadores van a estar tocando partes distintas del sistema, intercambiando compañeros, haciendo refactoring, debemos de establecer un estándar de codificación aceptado e implantado por todo el equipo

         a)    PRUEBAS
No debe existir ninguna característica en el programa que no haya sido probada, los programadores escriben pruebas para chequear el correcto funcionamiento del programa, los clientes realizan pruebas funcionales. El resultado un programa mas seguro que conforme pasa el tiempo es capaz de aceptar nuevos cambios.

b)    VALORES

La programación extrema, lejos de ser un proceso incontrolado, es una metodología muy disciplinada y que se apoya en cuatro valores fundamentales:
Comunicación. Se hace énfasis en que la comunicación, para ser efectiva, debe involucrar a todos los participantes en el proyecto, y debe ser libre y sincera.

c)    PRACTICAS

Las prácticas son las actividades que el equipo de un proyecto lleva a cabo cada día. Las doce prácticas de la programación extrema tienen su origen en prácticas bien conocidas en la ingeniería del software y en el sentido común, y por tanto, no pueden resultar extrañas. Sin embargo, lo que caracteriza a este conjunto es la cohesión de todos los elementos, y que cada práctica ha sido llevada al extremo:

  • El juego de la planificación. Esta práctica busca dividir la funcionalidad de un proyecto en pequeños fragmentos auto contenido, cada uno de los cuales se denomina historia de usuario (user story). El cliente y el equipo del proyecto dialogan para decidir qué historias son más importantes (siempre se hacen las historias más importantes primero) y estimar cuánto puede tardar el equipo en completar cada historia;
  • Entregas frecuentes. Se trata de publicar un diseño a sofisticado que contemple hipotéticas necesidades futuras. La mejor forma de obtener una idea de los futuros requisitos de un sistema es proporcionar cuanto antes un prototipo al cliente y obtener realimentación; y la mejor forma de obtener un diseño simple que funcione es recurrir a los patrones de diseño;

a)    PRINCIPIOS

Los principios fundamentales se apoyan en los valores y también son cuatro. Se busca realimentación veloz, modificaciones incrementales, trabajo de calidad y asunción de simplicidad.

b)    CICLO DE VIDA

El ciclo de vida de Xp se enfatiza en el carácter interactivo e incremental del desarrollo, Según una iteración de desarrollo es un período de tiempo en el que se realiza un conjunto de funcionalidades determinadas que en el caso de Xp corresponden a un conjunto de historias de usuarios.

·         FASE DE LA EXPLORACIÓN

En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son de interés para la primera entrega del producto. Al mismo tiempo el equipo de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto.

·         FASE DEL PLANTEAMIENTO

Se priorizan las historias de usuario y se acuerda el alcance del reléase. Los programadores estiman cuánto esfuerzo requiere cada historia y a partir de allí se define el cronograma. La duración del cronograma del primer reléase no excede normalmente dos meses. La fase de planeamiento toma un par de días. Se deben incluir varias iteraciones para lograr un reléase.

·         FASE DE PRODUCCIÓN 

Requiere prueba y comprobación extra del funcionamiento del sistema antes de que éste se de si se incluyen o no en el reléase actual. Durante esta fase, las iteraciones pueden ser aceleradas de una a tres semanas.

·         FASE DE MANTENIMIENTO

Requiere de un mayor esfuerzo para satisfacer también las tareas del cliente. Así, la velocidad del desarrollo puede desacelerar después de que el sistema esté en la producción. La fase de mantenimiento puede requerir la incorporación de nueva gente y cambiar la estructura del equipo.

·         FASE DE MUERTE

Es cuando el cliente no tiene más historias para ser incluidas en el sistema. Esto requiere que se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad del sistema

2.4 METODOLOGIA RUP
Las  siglas  RUP  en  ingles  significa  Rational  Unified  Process  (Proceso Unificado de Rational) es un producto del proceso de ingeniería de software que proporciona  un  enfoque  disciplinado  para  asignar  tareas  y  responsabilidades dentro de una organización del desarrollo.   Su meta es asegurar la producción del  software  de  alta  calidad  que  resuelve  las  necesidades  de  los  usuarios dentro de un presupuesto y tiempo establecidos.

2.2.4.1 ESTRUCTURA DEL RUP

El RUP tiene dos dimensiones:

·         El eje horizontal representa tiempo y demuestra los aspectos del ciclo de vida del proceso;

·         El  eje  vertical  representa  las  disciplinas,  que agrupan  actividades  definidas lógicamente por la naturaleza;

La  primera  dimensión  representa  el  aspecto  dinámico del  proceso  y se expresa en términos de fases, de iteraciones, y la finalización de las fases. La segunda  dimensión  representa  el   aspecto  estático  del   proceso:   cómo  se describe      en términos de componentes de proceso, las disciplinas, las actividades, los flujos de trabajo, los artefactos, y los roles.
Figura 1. Disciplinas, fases, iteraciones del RUP
Se puede hacer mención de las tres características esenciales que definen al RUP:
·         Proceso Dirigido por los Casos de Uso: Con esto se refiere a la utilización de   los   Casos   de   Uso   para   el   desenvolvimiento   y   desarrollo   de   las disciplinas con los artefactos, roles y actividades necesarias.
Los Casos de Uso son la base para la implementación de las fases y disciplinas del RUP. Un Caso de Uso es una secuencia de pasos a seguir para la realización de un fin o propósito, y se relaciona directamente con los requerimientos,  ya que un Caso de Uso es la secuencia de pasos que conlleva la realización e implementación de un Requerimiento planteado por el Cliente;
·         Proceso  Iterativo  e  Incremental:  Es  el  modelo  utilizado  por  RUP  para el desarrollo de un proyecto de software. Este modelo plantea la implementación  del  proyecto  a  realizar  en  Iteraciones,  con  lo  cual  se pueden  definir  objetivos  por  cumplir  en  cada  iteración  y  así  poder  ir completando todo el proyecto iteración por iteración, con lo cual se tienen varias  ventajas,  entre  ellas  se  puede  mencionar  la  de  tener  pequeños avances del proyectos que son entregables al cliente el cual puede probar mientras  se  esta  desarrollando  otra  iteración  del  proyecto,  con  lo  cual  el proyecto va creciendo hasta completarlo en su totalidad.      
·         Proceso Centrado en la Arquitectura: Define la Arquitectura de un sistema, y  una  arquitectura  ejecutable  construida  como  un  prototipo  evolutivo. Arquitectura  de  un  sistema  es  la  organización  o  estructura  de  sus  partes más relevantes.  Una arquitectura ejecutable es una implementación parcial del  sistema,  construida  para  demostrar  algunas  funciones  y  propiedades.
 2.2.4.2  FASES
Figura 2. Fases del RUP
El  ciclo  de  vida  del  software  del  RUP  se  descompone  en  cuatro  fases secuenciales (figura 2).
 En cada extremo de una fase se realiza una evaluación (actividad: Revisión del ciclo de vida de la  finalización de fase) para determinar si los objetivos de la fase se han cumplido.  Una evaluación satisfactoria permite que el proyecto se mueva a la próxima fase.
 
A.2.1 DESCRIPCIÓN DE LAS FASES
El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto, cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones, estas fases son:
1.    Concepción, Inicio
       ·         Define el ámbito y objetivos del proyecto;
       ·         Se define la funcionalidad y capacidades del producto;
2.    Elaboración
      ·         Tanto  la  funcionalidad  como  el  dominio  del  problema  se  estudian  en profundidad;
                  ·         Se define una arquitectura básica;
                  ·         Se planifica el proyecto considerando recursos disponibles;
3.    Construcción
·         El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación;
·         Las fases de estudio y análisis sólo dieron una arquitectura básica que es  aquí  refinada  de  manera  incremental  conforme  se  construye  (se permiten cambios en la estructura);
·         Gran parte del trabajo es programación y pruebas;
4.    Transición
·         Se libera el producto y se entrega al usuario para un uso real;
·         Se  incluyen  tareas  de  marketing,  empaquetado  atractivo,  instalación, configuración, entrenamiento, soporte, mantenimiento, etc.

A.2.2 ESFUERZO RESPECTO DE LOS FLUJOS DE TRABAJO

En  la  figura  5  se  muestran  ciertos  porcentajes,  de  forma  vertical  se muestra el esfuerzo que se tiene que realizar por cada una de las disciplinas o flujos de trabajo, y los dos porcentajes que se muestran de forma horizontal son para todo el proyecto. Explicando mas puntualmente la figura 5 se puede observar que para la obtención de requerimientos o requisitos en la fase de concepción se empiezan a obtener, en la fase de elaboración tiene su auge y va declinando en la fase de construcción, realizar todo esto requiere aproximadamente un 15% de esfuerzo, y así sucesivamente con las demás disciplinas.

A.2.3 ESFUERZO RESPECTO DE LAS FASES

En la figura 6 se muestran dos filas de porcentajes, el primero que es el esfuerzo realizado por cada fase en forma general e incluyendo las iteraciones dentro de cada fase, y en la segunda fila, la duración que tiene aproximadamente en  porcentajes  del  tiempo  total  del  proyecto  para cada  una de las fases incluyendo todas las iteraciones que conlleven realizar cada fase.

2.2.3.3 ITERACIONES

El RUP maneja el proceso Iterativo Incremental para el desarrollo de las aplicaciones  o  proyectos,  por  tal  motivo  es  de  suma  importancia  explicar brevemente en que consiste este proceso.

A.3.1 PROCESO ITERATIVO E INCREMENTAL

El proceso se refiere a la realización de un ciclo de vida de un proyecto y  se  basa  en  la  evolución  de  prototipos  ejecutables  que  se  muestran  a  los usuarios y clientes. En este ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala, estableciendo los objetivos de una iteración  en  función  de  la  evaluación  de  las  iteraciones  precedentes  y  las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración.
Para  la  realización  de  cada  iteración  se  tiene  que  tomar  en  cuenta  la planificación de la iteración, estudiando los riesgos que conlleva su realización, también  incluye  el  análisis  de  los  casos  de  uso  y  escenarios,  el  diseño  de opciones  arquitectónicas,  la  codificación  y  pruebas,  la  integración  gradual durante  la  construcción  del  nuevo  código  con  el  existente  de  iteraciones anteriores,  la evaluación  de la entrega  ejecutable  (evaluación  del  prototipo  en función  de  las  pruebas  y  de  los  criterios  definidos)  y  la preparación  de  la entrega (documentación e instalación del prototipo). Algunos de estos elementos no se realizan en todas las fases.
 


 
 








No hay comentarios:

Publicar un comentario