Professional Documents
Culture Documents
Ingeniera de Software
Unidad 2
Metodologas de Desarrollo
Integrantes
Jesus Gudalupe Centeno Centeno
Roberto Misael Rubio Vazque
Manuel Espinosa Cetina
David Orlando Moguel Balam
NDICE
INTRODUCCIN............................................................................................................... 3
2.1 METODOLOGAS CLSICAS........................................................................................ 3
2.1.1 CASCADA................................................................................................................ 4
2.1.2 INCREMENTAL......................................................................................................... 7
2.1.3 DESARROLLO EVOLUTIVO..................................................................................... 10
2.1.4 DESARROLLO EN ESPIRAL..................................................................................... 14
2.1.5 DESARROLLO DE PROTOTIPOS............................................................................18
2.1.6 DESARROLLO BASADO EN COMPONENTES...........................................................21
2.2 OTRAS METODOLOGAS........................................................................................... 25
2.2.1GANAR-GANAR (WIN & WIN).................................................................................... 26
2.2.2 PROCESO UNIFICADO (UP).................................................................................... 28
2.2.3 INGENIERA WEB................................................................................................... 42
2.2.4 METODOLOGAS GILES........................................................................................ 53
2.2.5 METODOLOGAS EMERGENTES............................................................................. 58
2.2.6 REINGENIERIA..................................................................................................... 71
Conclusin...................................................................................................................... 75
Bibliografa...................................................................................................................... 76
Glosario.......................................................................................................................... 77
INTRODUCCIN
2.1.1 CASCADA
El "modelo cascada" sin modificar. El progreso fluye de arriba hacia abajo, como una
cascada.
Anlisis de requisitos
En esta fase se analizan las necesidades de los usuarios finales del software para
determinar qu objetivos debe cubrir. De esta fase surge una memoria llamada SRD
(documento de especificacin de requisitos), que contiene la especificacin completa de lo
que debe hacer el sistema sin entrar en detalles internos.
Es importante sealar que en esta etapa se debe consensuar todo lo que se requiere del
sistema y ser aquello lo que seguir en las siguientes etapas, no pudindose requerir
nuevos resultados a mitad del proceso de elaboracin del software.
Diseo del Sistema
Descompone y organiza el sistema en elementos que puedan elaborarse por separado,
aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD
(Documento de Diseo del Software), que contiene la descripcin de la estructura
relacional global del sistema y la especificacin de lo que debe hacer cada una de sus
partes, as como la manera en que se combinan unas con otras.
Variantes
Existen variantes de este modelo; especialmente destacamos la que hace uso de
prototipos y en la que se establece un ciclo antes de llegar a la fase de mantenimiento,
verificando que el sistema final est libre de fallos.
Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala
implementacin del modelo, lo cual hace que lo lleve al fracaso.
El proceso de creacin del software tarda mucho tiempo ya que debe pasar por el proceso
de prueba y hasta que el software no est completo no se opera. Esto es la base para que
funcione bien.
Cualquier error de diseo detectado en la etapa de prueba conduce necesariamente al
rediseo y nueva programacin del cdigo afectado, aumentando los costos del
desarrollo.
2.1.2 INCREMENTAL
El modelo incremental fue propuesto por Harlan Mills en el ao 1980.
Surgi el enfoque incremental de desarrollo como una forma de reducir la repeticin del
trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en
los requisitos hasta adquirir experiencia con el sistema. Este modelo se conoce tambin
bajo las siguientes denominaciones:
Mtodo de las comparaciones limitadas sucesivas.
Mtodo de atacar el problema por ramas.
El Modelo Incremental combina elementos del Modelo Lineal Secuencial con la filosofa
interactiva de Construccin de Prototipos. El modelo incremental aplica secuencias
lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada
secuencia lineal produce un incremento del software. El primer incremento generalmente
es un producto esencial denominado ncleo.
En una visin genrica, el proceso se divide en 4 partes:
Anlisis
Diseo
Cdigo
Prueba
Sin
embargo, para la produccin del Software, se usa el principio de trabajo en cadena o
Pipeline. Con esto se mantiene al cliente en constante contacto con los resultados
obtenidos en cada incremento. Es el mismo cliente el que incluye o desecha elementos al
final de cada incremento a fin de que el software se adapte mejor a sus necesidades
reales. El proceso se repite hasta que se elabora el producto completo. De esta forma el
tiempo de entrega se reduce considerablemente.
El Modelo Incremental es de naturaleza interactiva brindando al final de cada incremento
la entrega de un producto completamente operacional. Este modelo es particularmente til
cuando no se cuenta con una dotacin de personal suficiente. Los primeros pasos los
pueden realizar un grupo reducido de personas y en cada incremento se aadir personal,
de ser necesario. Por otro lado los incrementos se pueden planear para gestionar riesgos
tcnicos.
Durante el proceso se trata de llevar a cabo al proyecto en diferentes partes que al final
terminar siendo la solucin completa requerida por el cliente, pero stas partes no se
pueden realizar en cualquier orden, sino que dependen de lo que el cliente este
necesitando con ms urgencia, de los puntos ms importantes del proyecto, los
requerimientos ms bsicos, difciles y con mayor grado de riesgo, ya que estos se deben
hacer al comienzo, de manera que se disminuya la dificultad y el riesgo en cada versin.
De este modo podemos terminar una aplicacin ejecutable (primera versin) que podr
ser entregada al cliente para que ste pueda trabajar en ella y el programador pueda
considerar las recomendaciones que el cliente efecte para hacer mejoras en el producto.
Estas nuevas mejoras debern esperar a ser integradas en la siguiente versin junto con
los dems requerimientos que no fueron tomados en cuenta en la versin anterior.
El modelo incremental consiste en un desarrollo inicial de la arquitectura completa del
sistema, seguido de sucesivos incrementos funcionales. Cada incremento tiene su propio
ciclo de vida y se basa en el anterior, sin cambiar su funcionalidad ni sus interfaces. Una
vez entregado un incremento, no se realizan cambios sobre el mismo, sino nicamente
correccin de errores. Dado que la arquitectura completa se desarrolla en la etapa inicial,
es necesario conocer los requerimientos completos al comienzo del desarrollo.
Al iniciar del desarrollo, los clientes o los usuarios, identifican a grandes rasgos, las
funcionalidades que proporcionar el sistema. Se confecciona un bosquejo de requisitos
funcionales y ser el cliente quien se encarga de priorizar que funcionalidades son mas
importantes. Con las funcionalidades priorizadas, se puede confeccionar un plan de
incrementos, donde en cada incremento se indica un subconjunto de funcionalidades que
el sistema entregar. La asignacin de funcionalidades a los incrementos depende de la
prioridad dada a los requisitos. Finalizado el plan de incrementos, se puede comenzar con
el primer incremento.
Caractersticas
Se evitan proyectos largos y se entrega "algo de valor" a los usuarios con cierta
frecuencia.
El usuario se involucra ms.
Difcil de evaluar el costo total.
Difcil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar
como un todo.
Requiere gestores experimentados.
Los errores en los requisitos se detectan tarde.
El resultado puede ser positivo.
Ventajas
Desventajas:
riesgos.
Requiere de mucha planeacin, tanto administrativa como tcnica.
Requiere de metas claras para conocer el estado del proyecto.
este cumple con los requisitos que este proporciono y est en todo la tarea de aprobar o
rechazar el software.
Caractersticas
Es evolutivo
Posee un enfoque evolutivo para la creacin de software
Comienza con la identificacin de las clases ms importantes
Examina los datos que se van a manejar
Permite la reutilizacin del software
El ensamblaje de los componentes reduce el 70 del 100% del tiempo del ciclo del
desarrollo del software y un 84 del 100% del costo del proyecto.
Ventajas
Desventajas
Ventajas
Desventajas
Ejemplo:
Conclusin:
Este modelo se encarga de poder modificar o cambiar algn software que est en
funcionamiento ponindole o diseando mejoras para este con el fin de brindar un
satisfaccin en tiempo evolutivo para el cliente y que sea de su agrado
2.1.4 DESARROLLO EN ESPIRAL
El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera
vez porBarry Boehm en 1986, utilizado generalmente en la ingeniera de software. Las
actividades de este modelo se conforman en una espiral, en la que cada bucle
o iteracin representa un conjunto de actividades. Las actividades no estn fijadas a
ninguna prioridad, sino que las siguientes se eligen en funcin del anlisis de riesgo,
comenzando por el bucle interior.
Boehm, autor de diversos artculos de ingeniera del software; modelos de estimacin de
esfuerzo y tiempo que se consume en hacer productos software; y Modelos de Ciclo de
Vida; ide y promulg un modelo desde un enfoque distinto al tradicional en Cascada: El
Modelo Evolutivo Espiral. Su Modelo de Ciclo de Vida en Espiral tiene en cuenta
fuertemente el riesgo que aparece a la hora de desarrollar software. Para ello, se
comienza mirando las posibles alternativas de desarrollo, se opta por la de riesgo ms
asumible y se hace un ciclo de la espiral. Si el cliente quiere seguir haciendo mejoras en el
software, se vuelve a evaluar las distintas nuevas alternativas y riesgos y se realiza otra
vuelta de la espiral, as hasta que llegue un momento en el que el producto software
desarrollado sea aceptado y no necesite seguir mejorndose con otro nuevo ciclo.
Ciclos o Iteraciones:
En cada vuelta o iteracin hay que tener en cuenta:
Los Objetivos: qu necesidad debe cubrir el producto.
Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa, desde
diferentes puntos de vista como pueden ser:
1.
2.
3.
espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la
angular:
1.
2.
Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteracin se
Determinar Objetivos.
2.
3.
Planificacin.
4.
Desarrollar y probar.
Hay una cosa que solo se hace una vez: planificacin inicial.
Planificar
Revisamos todo lo hecho, evalundolo, y con ello decidimos si continuamos con las
fases siguientes y planificamos la prxima actividad.
Desarrollar, verificar y validar (probar)
Tareas de la actividad propia y de prueba.
desarrollo, el que puede ser cualquiera de los otros existentes, como formal, evolutivo,
cascada, etc. As si por ejemplo si los riesgos en la interfaz de usuario son dominantes, un
modelo de desarrollo apropiado podra ser la construccin de prototipos evolutivos. Si lo
riesgos de proteccin son la principal consideracin, un desarrollo basado en
transformaciones formales podra ser el ms apropiado.
Mecanismos de control
Ventajas
El anlisis del riesgo se hace de forma explcita y clara. Une los mejores elementos de los
restantes modelos.
Adems es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la
metodologa, ya que este ciclo de vida no es rgido ni esttico.
Desventajas
Inconvenientes
Plan rpido
Modelado, diseo rpido
Construccin del Prototipo
Desarrollo, entrega y retroalimentacin
Comunicacin
Este modelo es til cuando el cliente conoce los objetivos generales para
Ventajas
Inconvenientes
El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema
final. A causa de la intencin de crear un prototipo de forma rpida, se suelen desatender
aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que
obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido
su funcin. Es frecuente que el usuario se muestre reacio a ello y pida que sobre ese
prototipo se construya el sistema final, lo que lo convertira en un prototipo evolutivo, pero
partiendo de un estado poco recomendado.
En reas de desarrollar rpidamente el prototipo, el desarrollador suele tomar algunas
decisiones de implementacin poco convenientes (por ejemplo, elegir un lenguaje de
programacin incorrecto porque proporcione un desarrollo ms rpido). Con el paso del
tiempo, el desarrollador puede olvidarse de la razn que le llev a tomar tales decisiones,
con lo que se corre el riesgo de que dichas elecciones pasen a formar parte del sistema
final...
Ejemplo:
diagrama de aplicaciones. Esta accin crea una aplicacin ASP.NET que tiene un extremo
del proveedor de servicios Web predeterminada. En los tipos de aplicaciones que admiten
la implementacin, Visual Studio genera los proyectos apropiados cuando los implementa
para que pueda continuar con la definicin de estas aplicaciones en cdigo. Tambin
puede crear prototipos personalizados a partir de aplicaciones y extremos ya configurados
en el diagrama de aplicaciones as como expandir el conjunto de tipos y prototipos de
aplicaciones que puede utilizar mediante la instalacin de paquetes suministrados por
Microsoft o por terceros o crendolos mediante el kit de desarrollo de software (SDK) del
modelo de definicin del sistema (SDM).
Conclusiones
En este modelo a pesar de que surjan problemas, es muy importante en la construccin
de prototipos ya que puede ser un enfoque muy efectivo para la ingeniera del software.
La clave es definir las diferentes reglas que rigen para este modelado y enfocarlos desde
el principio; es decir, el cliente y el desarrollador se deben poner de acuerdo en:
requisitos.
Fases de Ingeniera y Construccin y Accin de ste modelo por una sola fase de
Construccin y adaptacin de la Ingeniera:
*Evaluacin del cliente- las tareas requeridas para obtener la reaccin del cliente
segn la evaluacin de las representaciones del software creadas durante la etapa
de ingeniera e implementada durante la etapa de instalacin.
Evoluciona con el tiempo, se crean versiones cada vez ms completas del producto.
enlaces
de
red,
menudo
son
empleados
tcnicas
tales
completamente documentado
probado a fondo
robusto - con una comprensiva comprobacin para la validez de la entrada
capaz de devolver mensajes de error apropiados o cdigos de retorno
diseado con conciencia de que ser puesto en usos imprevistos
funcionen
se
conoce
como
Desarrollo
de
Software
Basado
en
sistema y subsistema
Evaluar las alternativas con respecto a los objetivos y restricciones.
Identificar y resolver las fuentes principales de riesgo en el proceso y el producto.
Elaborar la definicin del producto y proceso.
particin del sistema en subsistemas para ser consideradas en ciclos paralelos. Esto
puede incluir un plan para terminar el proyecto si es muy riesgoso o no es factible.
Asegurar el compromiso de la administracin para continuar segn lo planeado.
Ganar-ganar: Una vez revisadas las actividades, los ciclos definen lneas especficas a
seguir:
aplicacin.
Ciclo 2. Arquitectura del ciclo de vida de la aplicacin. Se
establece una arquitectura del ciclo de vida detallado, se verifica la
viabilidad y determina que no existen riesgos mayores en
por
todos
equipo
de
proyecto
en
cuanto
a:
Cmo se relacionan los casos de uso con la arquitectura? Cada producto tiene funcin y
forma. Uno slo de los dos no es suficiente. Estas dos fuerzas deben estar balanceadas
para obtener un producto exitoso. En este caso funcin corresponde a los casos de uso y
forma a la arquitectura. Existe la necesidad de intercalar entre casos de uso y
arquitectura. Es un problema del huevo y la gallina. Por una parte, los casos de uso
deben, cuando son realizados, acomodarse en la arquitectura. Por otra parte, la
arquitectura debe proveer espacio para la realizacin de todos los casos de uso, hoy y en
el futuro. En la realidad, ambos arquitectura y casos de uso deben evolucionar en
paralelo.
El Proceso Unificado es Iterativo e Incremental
Desarrollar un producto de software comercial es una tarea enorme que puede continuar
por varios meses o aos. Es prctico dividir el trabajo en pequeos pedazos o miniproyectos. Cada mini-proyecto es una iteracin que finaliza en un incremento. Las
iteraciones se refieren a pasos en el flujo de trabajo, los incrementos se refieren a
crecimiento en el producto. Para ser ms efectivo, las iteraciones deben estar controladas,
esto es, deben ser seleccionadas y llevadas a cabo de una manera planeada.
Los desarrolladores basan su seleccin de qu van a implementar en una iteracin en dos
factores. Primero, la iteracin trata con un grupo de casos de uso que en conjunto
extienden la usabilidad del producto. Segundo, la iteracin trata con los riesgos ms
importantes. Las iteraciones sucesivas construyen los artefactos del desarrollo a partir del
estado en el que fueron dejados en la iteracin anterior.
En cada iteracin, los desarrolladores identifican y especifican los casos de uso
relevantes, crean el diseo usando la arquitectura como gua, implementan el diseo en
componentes y verifican que los componentes satisfacen los casos de uso. Si una
iteracin cumple sus metas y usualmente lo hace el desarrollo contina con la
siguiente iteracin. Cuando la iteracin no cumple con sus metas, los desarrolladores
deben revisar sus decisiones previas y probar un nuevo enfoque.
Principales ventajas
Ejemplo Real:
INTRODUCCIN
Los sistemas de transporte de energa elctrica en Colombia, han sido impactados por los
cambios metodolgicos, para determinar la calidad de prestacin del servicio.
Desde el 2008, se present la metodologa para reemplazar en los Sistemas de
Distribucin Local SDL , los ndices de duracin y frecuencia de eventos (DES y FES),
por un indicador trimestral (ITAD), el cual mide la calidad de prestacin del servicio de
distribucin.
Dentro de la metodologa se estableci que el XM en su calidad de Liquidador y
Administrador de Cuentas LAC-, debe determinar el ITAD de forma paralela al clculo
que debe realizar cada Operador de Red, quien es responsable de la operacin y de la
calidad del servicio en sus redes.
La implementacin del sistema informtico para calcular el ITAD, XM realiz un ejercicio
prctico, aplicando la metodologa de desarrollo de software RUP (Rational Unified
Process).
La metodologa RUP, comprende la adaptacin del proceso, el equilibrio de las
prioridades, ventajas de dividir el problema en iteraciones, gestin de riesgos,
colaboracin entre equipos, elevar el nivel de abstraccin y enfocarse en el control de la
calidad del producto.
Los elementos anteriores, fueron tenidos en cuenta para el desarrollo informtico, para el
clculo de la calidad, en los Sistemas de Distribucin Local SDL-, cuyo anlisis se
presenta en la siguiente seccin.
ESTUDIO DE CASO
Bajo la metodologa RUP, se efectu el desarrollo informtico de un sistema, para calcular
los ndices de calidad de los SDL.
El proyecto se dividi en dos partes: especificacin y desarrollo del sistema.
ESPECIFICACIN (ANLISIS)
La Resolucin CREG 097 de 2008, establece la metodologa para el clculo del ITAD,
ndice Trimestral Agrupado de Discontinuidad, el cual mide la calidad del servicio en los
SDL. En cuanto mayor sea su valor, el servicio tiene peor calidad.
Dicha resolucin, plantea las ecuaciones y reglas para calcular el ITAD. Bajo esta ptica,
se realiz la
especificacin de
las
necesidades, reglas
de negocio, requisitos
necesidades, los requisitos, y la posterior definicin de los casos de uso del sistema.
Reglas de negocio: son aquellos enunciados que definen o restringen algunos aspectos
del negocio. Describen las operaciones, las definiciones, y las restricciones que aplican a
la organizacin. Dichas reglas pueden aplicar a la gente, a los procesos, al
comportamiento corporativo e incluso, a los sistemas de cmputo de la empresa, y se
ponen en marcha para ayudar a la organizacin a alcanzar sus metas. En un proceso de
requisitos, las reglas de negocio permiten restringir el grado de libertad en el
funcionamiento del sistema de informacin en cuestin, reflejando las directrices del
proceso.
Para el caso del sistema, las reglas de negocio establecieron por ejemplo que la
informacin que se maneja de energa, estaba expresada en kWh. Tambin en
la
Validacin:
una
vez
se
determina
manejo de volumen de informacin, se incluyeron las normas que debe cumplir el sistema
para su correcto funcionamiento.
Como ejemplo, se validaba que la informacin cargada estuviera completa, que las fechas
de carga fueran correctas, que los clculos de variables especficas no fueran negativos
entre otros. Es importante mencionar que para cada validacin, se defini el
correspondiente mensaje de alerta, de confirmacin o error segn el caso, esto permite
tener un mejor control sobre el sistema.
Para este caso, por ejemplo los requisitos consistan en las ecuaciones para el clculo del
ITAD, partiendo de las expresiones intermedias, hasta llegar a la determinacin de ste
ndice.
un
clculo, un
proceso u operacin.
Para el caso del aplicativo para el clculo del ITAD, se inici la construccin por cada una
de las iteraciones conformadas en el numeral 3.
A cada una de las iteraciones se les asoci los casos de uso correspondientes.
Una vez terminada el diseo, anlisis, codificacin, pruebas, el caso de uso queda listo
para su montaje en ambiente de produccin.
Las pruebas fueron realizadas por una firma independiente a la casa de software,
encargada de la construccin del sistema, esto permite una mayor verificacin de la
calidad del producto, toda vez que es un tercero quien tiene que aprender sobre el sistema
y efectuar validaciones estrictas.
En
este
punto
es
su voluntad,
administrar
la
de
reportes: en este
paquete,
requieren del sistema. Algunas pueden ser las fechas de carga, los valores de energa, las
interrupciones entre otras.
Bajo los cuatro mdulos anteriores, se hizo la jerarqua de iteraciones, en las cuales cada
entregable, estaba asociado con los casos de uso de cada mdulo, cada uno previamente
verificado y aprobado, por los lderes usuario encargados de la especificacin, y por los
lderes tcnicos, encargados de la verificacin del funcionamiento tecnolgico.
Al segmentar las entregas, se realiz un control ms detallado y es posible minimizar
errores que pueden desencadenar efectos ms grandes, a medida que se va construyendo
el sistema.
As mismo al dividir en iteraciones, se llev un mejor seguimiento del cronograma de
actividades y de los costos del proyecto.
CONCLUSIONES Y RECOMENDACIONES
Definitivamente un factor de xito en la construccin de software, consiste en tener en
primera medida un claro entendimiento sobre el problema a resolver.
Al mismo nivel, disponer de la especificacin en las distintas herramientas disponibles en el
mercado, conformando artefactos auto contenido y claro, para que cualquier casa de
software est en capacidad de construirlos.
Construir software sin una metodologa clara, puede llevar a mayores reprocesos y
costos, sin que la solucin definitiva quede documentada y sin tener la trazabilidad sobre
los mdulos del sistema.
Adicionalmente una vez se tiene el sistema debidamente documentado, su mantenimiento
se facilita. As mismo en caso de cambios regulatorios, es ms fcil identificar el
impacto, segn los casos de uso que se ven afectados por la nueva regla de negocio.
RECOMENDACIONES
Al dividir el problema por iteraciones, se facilita su control y seguimiento.
La especificacin debe quedar detallada, clara y se debe validar que todo quede bien
documentado.
Modelar el proceso, antes de establecer los requisitos, ya que se adquiere una visin
integral sobre el problema a resolver, y las soluciones encontradas, pueden ser ms
efectivas.
2.2.3 INGENIERA WEB
La ingeniera web es una nueva rea de la ingeniera del software que abarca procesos,
tcnicas y modelos orientados a los entornos Web. Consiste en la aplicacin de
metodologas sistemticas, disciplinadas y cuantificables al desarrollo eficiente, operacin
y evolucin de aplicaciones web de alta calidad. Los principales mbitos de la ingeniera
web incluyen, entre otros, los siguientes aspectos:
Diseo de procesos de negocio para aplicaciones web.
Herramientas CASE para aplicaciones web.
Generacin de cdigo para aplicaciones web.
Desarrollo web colaborativo.
Modelado conceptual de aplicaciones web.
Diseo de Modelos de datos para sistemas de informacin web.
Entornos de desarrollo de aplicaciones web integrados.
Herramientas de autor para contenido multimedia.
Pruebas de rendimiento de aplicaciones basadas en web.
Personalizacin y adaptacin de aplicaciones web.
Modelado de procesos para aplicaciones web.
Herramientas y mtodos de prototipado.
Control de calidad y pruebas de sistemas.
Ingeniera de requisitos para aplicaciones web.
Aplicaciones para la Web Semntica.
Factoras de software para la web.
Mtodos, herramientas y automatizacin de pruebas para aplicaciones web.
Aplicaciones web mviles y ubcuas.
Usabilidad de aplicaciones web.
Accesibilidad para la web.
Modelo-a-Modelo,
Transformaciones
Modelo-a-Cdigo.
Las
(para lo que el comprador debe haberse identificado) y la segunda ser reducir el stock de
los lbumes comprados; cuando se haya confirmado una compra, ya no se podr
modificar el contenido de la cesta. Los administradores se encargan de gestionar y
mantener el catlogo de productos del sistema, as como mantener la lista de autores que
Despus del Modelo de Objetos, se construye el Modelo Dinmico donde se describen las
vidas vlidas de los objetos representando el comportamiento de cada clase del sistema.
A continuacin se muestra la parte del Modelo Dinmico para la clase Cesta.
Es el eje en cual gira la metodologa gil, el retrasar las decisiones tan como sea posible
de manera responsable ser ventajoso tanto para el cliente como para la empresa, lo cual
permite siempre mantener una satisfaccin en el cliente y por ende el xito del producto,
las principales ventajas de retrasar las decisiones son:
Refactorizacin: del cdigo, es decir, reescribir ciertas partes del cdigo para aumentar
su legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de
garantizar que en la refactorizacin no se ha introducido ningn fallo.
Propiedad del cdigo compartida: en vez de dividir la responsabilidad en el desarrollo de
cada mdulo en grupos de trabajo distintos, este mtodo promueve el que todo el
personal pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas
de regresin garantizan que los posibles errores sern detectados.
Simplicidad en el cdigo: es la mejor manera de que las cosas funcionen. Cuando todo
funcione se podr aadir funcionalidad si es necesario. La programacin extrema apuesta
que en ms sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si
se requiere, que realizar algo complicado y quizs nunca utilizarlo.
La simplicidad y la comunicacin son extraordinariamente complementarias. Con ms
comunicacin resulta ms fcil identificar qu se debe y qu no se debe hacer. Mientras
ms simple es el sistema, menos tendr que comunicar sobre este, lo que lleva a una
comunicacin ms completa, especialmente si se puede reducir el equipo de
programadores.
Ventajas
Desventajas
Para mitigar esta desventaja se plantea definir un alcance a alto nivel basado en la
experiencia.
Ejemplo:
Las metodologas giles se han convertido en los ltimos aos en los principales mtodos
a seguir por la gran mayora de empresas de desarrollo de software. En 2001, diecisiete
prestigiosos ingenieros, convocados por Kent Beck, crearon un manifiesto que dictaba
doce principios bsicos sobre las metodologas giles.
Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua
de software con valor.
Aceptamos que los requisitos cambien, incluso en etapas tardas del desarrollo. Los
las
tareas
de
anlisis
diseo
que
XP
no
contempla.
de
Uso
tres
es
caractersticas
un
proceso
iterativo
fundamentales
de
incremental.
ICONIX
son:
por
los
modelos
dinmicos.
producidos
Dinmica del UML: la metodologa ofrece un uso dinmico del UML como los
diagramas del caso de uso, diagramas de secuencia y de colaboracin.
Las tareas que se realizan en la metodologa ICONIX son:
Anlisis de requisitos
Anlisis y diseo preliminar
Diseo
Implementacin
Fases de ICONIX
Revisin de los requisitos/ Anlisis de Requisitos: Identificar en el mundo real, los
objetos y todas las relaciones de agregacin y generalizacin entre ellos. Se
deben analizar todos los requisitos formaran parte del sistema y con estos
construir el diagrama de clases, que representa las agrupaciones funcionales que
estructuraran el sistema en desarrollo.
Para esta fase se utilizan 3 herramientas
Modelo de Dominio: esto se refiere a identificar objetos y cosas del mundo real
que intervienen con nuestro sistema. (Esttico)
Modelo de Casos de Uso: describe las acciones o el comportamiento que un
usuario realiza dentro del sistema. Comprende de actores, casos de uso y el
sistema.
Prototipo de Interfaz de Usuario: implica la creacin de un modelo o modelos
operativos del trabajo de un sistema, en el que analistas y clientes deben estar de
acuerdo. (Dinmico/ los usuarios se hacen participantes activos en el desarrollo)
Revisin del diseo preliminar /Anlisis y Diseo Preliminar
En esta fase a partir de cada caso de uso se obtendrn una ficha de caso de uso,
(la cual no pertenece a UML) , est formada por un nombre, una descripcin, una
precondicin que debe cumplir antes de iniciarse, una postcondicion que debe
cumplir al terminar si termina correctamente.
del producto, para asegurarse que el sistema tenga el mayor valor de negocio
posible con cada iteracin.
El ciclo de vida ideal de XP consiste de seis fases: Exploracin, Planificacin de la
Entrega (Release), Iteraciones, Produccin, Mantenimiento y Muerte del Proyecto.
Fase I: Exploracin
En esta fase, los clientes plantean a grandes rasgos las historias de usuario que
son de inters para la primera entrega del producto. Al mismo tiempo el equipo de
desarrollo se familiariza con las herramientas, tecnologas y prcticas que se
utilizarn en el proyecto. Se prueba la tecnologa y se exploran las posibilidades
de la arquitectura del sistema construyendo un prototipo. La fase de exploracin
toma de pocas semanas a pocos meses, dependiendo del tamao y familiaridad
que tengan los programadores con la tecnologa.
Fase II: Planificacin de la Entrega
En esta fase el cliente establece la prioridad de cada historia de usuario, y
correspondientemente, los programadores realizan una estimacin del esfuerzo
necesario de cada una de ellas. Se toman acuerdos sobre el contenido de la
primera entrega y se determina un cronograma en conjunto con el cliente. Una
entrega debera obtenerse en no ms de tres meses. Esta fase dura unos pocos
das.
Las estimaciones de esfuerzo asociado a la implementacin de las historias la
establecen los programadores utilizando como medida el punto. Un punto,
equivale a una semana ideal de programacin. Las historias generalmente valen
de 1 a 3 puntos. Por otra parte, el equipo de desarrollo mantiene un registro de la
"velocidad" de desarrollo, establecida en puntos por iteracin, basndose
principalmente en la suma de puntos correspondientes a las historias de usuario
que fueron terminadas en la ltima iteracin.
La planificacin se puede realizar basndose en el tiempo o el alcance. La
velocidad del proyecto es utilizada para establecer cuntas historias se pueden
tcnico
realiza
una
estimacin
del
esfuerzo
requerido
para
la
estableciendo
llamadas
telefnicas
frecuentes
conferencias,
2.2.6 REINGENIERIA
Reingeniera de Software es una forma de modernizacin para mejorar las
capacidades y/o mantenibilidad de los sistemas de informacin heredados
mediante la aplicacin de tecnologas y prcticas modernas. La Reingeniera de
Software ofrece una disciplina de preparacin para migrar un sistema de
adicionales
elevados.
Aunque
la
reingeniera
puede
mejorar
la
Conclusin
Teniendo claro las caractersticas y similitudes que existen entre los mtodos de
desarrollo de software, podrs analizar casos que sean resueltos por el mtodo
que mejor se adapte, por eso debemos
solucione
el caso
de estudio
mediante
anlisis
de
estos
modelos.
Bibliografa
Pressman
http://www.ptolomeo.unam.mx:8080/xmlui/
http://ithjlmvu2.blogspot.mx/
http://dianao9.blogspot.mx/
http://fgaith2.blogspot.mx/
Sicilia, M. (2015). OpenStax CNX. [online] Cnx.org. Available at:
http://cnx.org/contents/8d78fc4c-0db4-4c8f-96d4-13e9a2c03a5c@3/Qu-es-
desarrollo.
[online]
14 Sep. 2015].
Bergey, John & Smith Dennis "Guidelines for Using OAR
Concepts in a DoD Product Line Acquisition Context"
(CMU/SEI-2000-TN-004). Pittsburgh, Pa.: Software
Engineering Institute, Carnegie Mellon University, 2000
Bass, L & Kazman, R. Architecture-Based Development
24.
Diario La Nacin 2/5/99
Economist Newspaper Group, Reengineering Reviewed, The Economist,
Addison-Wesley, 2004.
(Humphrey, 2004a) Humphrey, W.S. Introduction to the personal software
Glosario
Uml: es un lenguaje grfico para visualizar, especificar, construir y documentar un
sistema.
Rup: es un proceso de desarrollo de software y junto con el lenguaje unificado de
modelado uml, constituye la metodologa estndar ms utilizada para el anlisis,
implementacin y documentacin de sistemas orientados a objetos.
Sistema informtico: un sistema informtico como todo sistema, es el conjunto
de partes interrelacionadas, hardware, software y de recurso humano
Reingeniera: la reconcepcin fundamental y el rediseo radical de los procesos
de negocios para lograr mejoras dramticas en medidas de desempeo tales
como en costos, calidad, servicio y rapidez
Previsibilidad:
que puede ser previsto o conocido con antelacin por medio de ciertas seales o i
ndicios:
Bucle: en el mbito de la programacin, un bucle o loop es una estructura que
posibilita la repeticin de sentencias en muchas oportunidades.
Mdulo administrativo: en el cual el usuario, puede a su voluntad, administrar
la informacin bsica necesaria para que el sistema funcione. Ejemplo: la
configuracin de horarios de carga de informacin, la asignacin de Operadores
de Red que hacen parte del esquema.
Mdulo de cargas: para calcular el ITAD, se necesita de la informacin diaria
de
los eventos en los SDL. Para tal fin se cre un sistema que permite recibir la
insumos,
previamente