lunes, 12 de diciembre de 2011

ciclo iterativo incremental



Ciclo iterativo incremental

Es aquel en que se va liberando
parte del producto constantemente, iterativamente, poco a poco, y cada entrega
es un incremento respecto a la anterior; cada fase
(requisitos, análisis, diseño, etc.) se realiza varias veces. Lo cual suspende el
desarrollo en cascada, donde las fases del ciclo de vida se realizan una única
vez, y el inicio de una fase no comienza hasta que
termina la fase que le precede.

Representación grafica del ciclo iterativo incremental



Ventajas
-Desde la primera iteración ya
puedes dar resultados al cliente.
-No necesitamos todos los
requisitos desde el principio.

Desventajas
-Se necesitan psicoanálisis de requerimiento.
-Alto costo.
-Tiempo de corrección por
defecto en el software es más rápido, sin embargo se maximizan como el número
de iteraciones en el ciclo.

sábado, 10 de diciembre de 2011

Ciclo en cascada


Descripción.
Este ciclo de vida es uno de los más sencillos, lo propuso el desarrollador Royce  y es el ciclo de vida básico que nos sirve de base para comprender los demás ciclos, dada la sencillez de este ciclo fue fácilmente aceptado por las organizaciones y por los desarrolladores de hoy en día, ya que se estima que más del 80% de los sistemas se han desarrollado con este método.
Este modelo es flexible ya que admite la posibilidad de hacer iteraciones, es decir, durante las modificaciones que se hacen en el mantenimiento se puede ver por ejemplo la necesidad de cambiar algo en el diseño, lo cual significa que se harán los cambios necesarios en la codificación y se tendrán que realizar de nuevo las pruebas, es decir, si se tiene que volver a una de las etapas anteriores al mantenimiento hay que recorrer de nuevo el resto de las etapas.
Después de cada etapa se realiza un testeo para comprobar si se puede pasar a la siguiente. Trabaja en base a documentos, es decir, la entrada y la salida de cada fase es un tipo de documento específico.
Ventajas
·         La planificación es muy sencilla.
·         El producto resultante tiene una calidad bastante alta.
·         Permite trabajar con personal poco calificado por que es muy sencillo.

Desventajas
·         Si se han cometido errores en alguna una fase es difícil volver atrás.
·         No se tiene el producto hasta el final por ser un sistema que avanza paso a paso
·         El cliente no verá resultados hasta el final, con lo que puede impacientarse.
·         No se tienen indicadores fiables del progreso del trabajo.
·         Es el ciclo más lento si lo comparamos con los demás.


Tipos de proyectos en los que se utiliza
·         Aquellos para los que se dispone de todas las especificaciones desde el principio, por ejemplo, los de reingeniería.
·         Se está desarrollando un tipo de producto que no es novedoso.
·          Cuando se reestructura un sistemas o se actualiza.
·         Proyectos complejos que se entienden bien desde el principio.

Imagen del ciclo de vida en cascada

El ciclo de vida


El ciclo de vida es el proceso por el que pasa un sistema o software, consta de 6 partes o fases por las que debería pasar el software, a continuación describiremos de que consisten cada uno de ellos.

·         Análisis
Esta fase es el inicio del ciclo, en ella se determinan los elementos que intervienen en el sistema a desarrollar, su estructura, relaciones, evolución temporal, funcionalidades, tendremos una descripción clara de qué producto vamos a construir, qué funcionalidades aporta­rá y qué comportamiento tendrá, es decir recopilar todos los datos relativos a la producción de nuestro software.

·         Diseño
Contando con el conocimiento adquirido en la fase anterior "el saber que hacer", el desarrollador debe determinar "cómo hacerlo".  Para esto definimos en detalle, entidades y relaciones de las bases de datos, seleccionamos el lenguaje que vamos a utilizar, el Sistema Gestor de Bases de Datos, etc.
                                         
·         Codificación
Empezamos a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores, en el correspondiente lenguaje de programación o para un determinado sistema gestor de bases de datos. En muchos proyectos se pasa directamente a esta etapa; son proyectos muy arriesgados que adoptan un modelo de ciclo de vida de code & fix (codificar y corregir) donde se eliminan las etapas de especificaciones, análisis y diseño con la consiguiente pérdida.

·         implementación
El objetivo de esta etapa es garantizar que nuestro programa no contiene errores de diseño o codificación. En esta etapa no deseamos saber si nuestro software realiza lo que solicito el usuario, en esta deseamos encontrar  la mayor cantidad de errores, encontrarlos es cuestión de tiempo. Lo ideal es encontrar la mayoría, si no todos en esta  etapa.

·         pruebas
Esta etapa tiene como objetivo la verificación de que el sistema desarrollado cumple con los requerimientos expresados inicialmente por el cliente y que han dado lugar al presente proyecto.

·         mantenimiento
También conocido como evolución, no solo es la agregación de nuevas funciones; sino la corrección de errores que surgen ya que es posible que  después de las demás estas se filtre un error.

El Ciclo de vida y el plan de trabajo constante con base en el proceso unificado.


Se entiende por ciclo de vida de un proyecto software a todas las etapas por las que pasa un proyecto, ósea  desde la concepción de la idea que hacer surgir la necesidad de diseñar un sistema software, pasando por el análisis, desarrollo, implantación y mantenimiento del mismo y hasta que finalmente muere por ser sustituido por otro sistema.

 Las fases del ciclo de vida del software son: concepción, elaboración, construcción y transición.

La concepción:
Es definir el alcance del proyecto y definir el caso de uso.

La elaboración:
Es proyectar un plan, definir las características y cimentar la arquitectura.

La construcción:
Es crear el producto y la transición es transferir el producto a sus usuarios.

domingo, 27 de noviembre de 2011

https://www.google.com/calendar/embed?src=93efi6os362ofj5jh4ilno73v8%40group.calendar.google.com&ctz=America/Mexico_City

miércoles, 23 de noviembre de 2011

Importancia del modelo visual

En UML, resaltando la importancia del modelado visual en el desarrollo de software, es importante, porque nos sirve como una forma de mejorar la problemática de elaboración de software de calidad en las empresas. El modelado visual es independiente del lenguaje de programación y ofrece diferentes vistas dependiendo del el aspecto del sistema que se quiera resaltar. El Modelado Visual es el modelado de una aplicación usando notaciones gráficas.

domingo, 20 de noviembre de 2011

¿Que es UML?


¿Qué es UML?
UML es ahora el esquema de representación gráfica más utilizado para modelar sistemas orientados a objetos. Evidentemente han unificado diversos esquemas de de notación populares. Aquellos quienes diseñan sistemas utilizan el lenguaje (en forma de diagramas) para modelar sus sistemas.

Una característica atractiva es su flexibilidad. UML es extensible (es decir, capaz de mejorarse con nuevas características) e independiente de cualquier proceso de análisis y diseño orientado a objetos especifico. Los modeladores de UML tienen la libertad de diseñar sistemas utilizando varios procesos, pero todos los desarrolladores pueden ahora expresar esos diseños con un conjunto de notaciones gráficas estándar.

sábado, 12 de noviembre de 2011

Antecedentes del UML

Alrededor de los años ochenta, un creciente número de empresas comenzó a utilizar la POO, es decir programación orientada a objetos para crear sus aplicaciones, entonces se generó la necesidad de un proceso estándar de análisis y diseño orientado a objetos. Varias metodologías (incluyendo a Booch, Rumbaugh y Jacobson) se produjeron y promocionaron, por su cuenta. Estos procesos separados para satisfacer esta necesidad. Cada uno de estos procesos tenía su propia notación, o “lenguaje” en forma de diagramas gráficos para transmitir los resultados del análisis y el diseño.

A principios de los noventa, diversas compañías  utilizaban sus propios procesos y notaciones únicos. Al mismo tiempo, estas compañías querían utilizar herramientas de software que tuvieran soporte para sus procesos particulares. Con tantos procesos, se les dificultó a los distribuidores de software proporcionar dichas herramientas. Evidentemente era necesario contar con una notación y un proceso estándar.

El Unified Modeling Language, Lenguaje Unificado de Construcción de modelos Este lenguaje es resultado de estudios de parte de Grady Booch, James Rumbaugh e Ivar Jacobson fueron grandes desarrolladores, cada uno trabajando en distintas empresas con métodos e ideas diferentes, sin embargo a mediados de los años noventa surge la necesidad de unificar el lenguaje, se juntan estos 3 desarrolladores y se le apoda los tres amigos, intercambian ideas, planes y de esta forma surgen lo que actualmentes es el UML. También fueron creadores de Rational Software Corporation. Después de tantas discusiones fue presentado el proyecto de UML al grupo de Administración de Objetos quienes adoptaron a UML como estándar en la industria del software y continua evolucionando hasta la fecha.