SlideShare una empresa de Scribd logo
1 de 26
Universidad Interactiva y a Distancia del Estado de
Guanajuato
Unideg Comonfort
Ing. En sistemas
Alumno: José Guadalupe Martínez Rincón
Maestra: Angelina Pérez Arvizu
Materia: Análisis y diseño de sistemas
Actividad 4 Ensayo modelos para el desarrollo de
Software
El proceso es el conocimiento incorporado, y puesto que el conocimiento esta
inicialmente disperso, el desarrollo de software implícito, latente e incompleto en
gran medida es un proceso social de aprendizaje. El proceso es un dialogo en el
que se reúne el conocimiento y se incluye en el software para convertirse en
software. El proceso proporciona una iteración entre los usuarios y los
diseñadores, entre los usuarios y las herramientas de desarrollo, y entre los
diseñadores y las herramientas de desarrollo (tecnología). Es un proceso
interactivo donde la herramienta de desarrollo se usa como medio de
comunicación, con cada iteración del dialogo se obtiene mayor conocimiento.
Howard Baetjer
Desde un punto de vista técnico se puede decir que el proceso de software es un
marco de trabajo de las tareas que se requieren para construir software de alta
calidad.
Aún más importante es que la Ingeniería del Software la realizan personas
creativas, con conocimiento, que deberían trabajar dentro de un proceso del
software definido y avanzado que es apropiado para los productos que construyen
y para las demandas de su mercado.
4.1 Modelo de cascada
Modelo de Cascada (Bennington 1956, Modificado por Royce en 1970, Pressman
lo presenta como ciclo de vida clásico). Se denomina modelo en cascada porque
su característica principal es que no se comienza con un paso hasta que no se ha
terminado el anterior. El modelo en Cascada establece que el software debe ser
construido, rigurosamente, a través de una transformación sucesiva de
documentos, siguiendo una estrategia lineal de desarrollo. Primero saber qué se
quiere y después, cuando se conozca todo lo que se quiere, empezar a
construirlo.
El modelo de cascada también conocido como modelo lineal secuencial sugiere
un enfoque sistemático, secuencial para el desarrollo del software que comienza
en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y
mantenimiento.
A grandes rasgos el primer paso es conseguir un documento con la especificación
completa, exacta, no ambigua de los requisitos del sistema software que debe ser
desarrollado. Este documento inicial es transformado en un documento de
análisis, supuestamente alejado de la máquina. Después, a partir del análisis, se
obtiene otro documento, el diseño. Y por último, del diseño se obtiene el
documento final: el código. Para asegurar que no se introducen equivocaciones al
transformar un documento (modelo) en otro, se hacen pruebas, al terminar cada
uno. Las pruebas son planificadas desde el principio y se documentan como se
vayan realizando. Antes de la entrega del sistema software, se valida que
satisface los requisitos definidos en el documento inicial.
Está basado en el ciclo convencional de una ingeniería, tiene las siguientes
actividades que se muestran en la figura 4.1 del modelo de cascada:
Ingeniería y Análisis
del Sistema
Análisis de los
Requisitos
Diseño
Codificación
Prueba
Mantenimiento
Figura 4.1 Modelo de Cascada
Carolina Zibert, “Ciclos de v ida de Ingeniería de Sof tware” [En línea], Caracas Venezuela [Consulta: Abril
de 2006],<carolina.terna.net/ingsw2/Datos/Cascada-ModeloV.doc>
Actividades
Ingeniería y Análisis del Sistema
Debido a que el software es siempre parte de un sistema mayor, el trabajo
comienza estableciendo los requisitos de todos los elementos del sistema y luego
asignando algún subconjunto de estos requisitos al software.
Análisis de los requisitos del software
Análisis: 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 Especificación de Requisitos), que contiene la especificación
completa de lo que debe hacer el sistema sin entrar en detalles internos (debe
comprender el ámbito de la información del software, así como la función, el
rendimiento y las interfaces requeridas).
Diseño
El diseño del software se enfoca en cuatro atributos distintos del programa: la
estructura de los datos, la arquitectura del software, el detalle procedimental y la
caracterización de la interfaz. El proceso de diseño traduce los requisitos en una
representación del software con la calidad requerida antes de que comience la
codificación. Como resultado surge el SDD (Documento de Diseño del Software),
que contiene la descripción de la estructura global del sistema y la especificación
de lo que debe hacer cada una de sus partes, así como la manera en que se
combinan unas con otras.
Codificación
Es la fase de programación. Aquí se desarrolla el código fuente, el diseño debe
traducirse en una forma legible para la maquina, haciendo uso de prototipos así
como pruebas y ensayos para corregir errores. El paso de codificación realiza esta
tarea. Si el diseño se realiza de una manera detallada la codificación puede
realizarse mecánicamente.
Prueba
Una vez que se ha generado el código comienza la prueba del programa. La
prueba se centra en la lógica interna del software, y en las funciones externas,
realizando pruebas que aseguren que la entrada definida produce los resultados
que realmente se requieren. Se comprueba que funciona correctamente antes de
ser puesto en explotación.
Mantenimiento
El software sufrirá cambios después de que se entrega al cliente. Los cambios
ocurrirán cuando se hayan encontrado errores, esto en lugar de que el software
deba adaptarse a cambios del entorno externo (sistema operativo o dispositivos
periféricos), o debido a que el cliente requiera ampliaciones funcionales o del
rendimiento.
Desventajas
 Los proyectos reales raramente siguen el flujo secuencial que propone el
modelo, siempre hay iteraciones y se crean problemas en la aplicación del
paradigma.
 Normalmente, es difícil para el cliente establecer explícitamente al principio
todos los requisitos. El ciclo de vida clásico lo requiere y tiene dificultades
en acomodar posibles incertidumbres que pueden existir al comienzo de
muchos productos.
 El cliente debe tener paciencia. Hasta llegar a las etapas finales del
proyecto, no estará disponible una versión operativa del programa. Un error
importante no detectado hasta que el programa esté funcionando puede ser
desastroso.
Se tiene un Alto riesgo en sistemas nuevos debido a problemas en las
especificaciones y en el diseño. Bajo riesgo para desarrollos bien comprendidos
utilizando tecnología conocida
Este modelo, que se lleva a cabo de forma descendente, exige que para pasar a la
siguiente fase hay que concluir correctamente la anterior, de manera que los
posibles errores sean fácilmente detectables. Así, la salida de una fase es la
entrada de la siguiente.
La Ventaja de este método radica en su sencillez ya que sigue los pasos intuitivos
necesarios a la hora de desarrollar el software.
Modelo de espiral
El modelo espiral propuesto originalmente por Boehm en 1988, es un modelo de
proceso de software evolutivo ha sido desarrollado para cubrir las mejores
características tanto del ciclo de vida clásico, como de la creación de prototipos,
añadiendo al mismo tiempo un nuevo elemento: el análisis de riesgo. Proporciona
el potencial para el desarrollo rápido de versiones incrementales del software. En
este modelo el software se desarrolla en una serie de versiones incrementales.
Durante las primeras iteraciones, la versión incremental podría ser un modelo en
papel o un prototipo. En las últimas iteraciones, se producen versiones cada vez
más completas del sistema diseñado.
El modelo representado mediante la espiral de la figura 4.2 define cuatro
actividades principales, también llamadas regiones de tareas o sectores:
1. Planificación. Durante la primera vuelta alrededor de la espiral se
definen los objetivos, las alternativas y las restricciones, se analizan e
identifican los riesgos. Si el análisis de riesgo indica que hay una
incertidumbre en los requisitos, se puede usar la creación de prototipos
en el cuadrante de ingeniería para dar asistencia tanto al encargado de
desarrollo como al cliente.[1]
2. Análisis de riesgo. El proyecto se revisa y se toma la decisión de si se
debe continuar con un ciclo posterior de la espiral. Si se decide continuar,
se desarrollan los planes para la siguiente fase del proyecto.
3. Ingeniería. En este sector se desarrolla y se valida. Después de la
evaluación de riesgos, se elige un modelo para el desarrollo del sistema.
4. Evaluación del cliente. El cliente evalúa el trabajo de ingeniería
(cuadrante de evaluación de cliente) y sugiere modificaciones. Sobre la
base de los comentarios del cliente se produce la siguiente fase de
planificación y de análisis de riesgo. En cada bucle alrededor de la
espiral, la culminación del análisis de riesgo resulta en una decisión de
"seguir o no seguir".
Con cada iteración alrededor de la espiral (comenzando en el centro y siguiendo
hacia el exterior), se construyen sucesivas versiones del software, cada vez más
completas y, al final, el propio sistema operacional.
De acuerdo con Somerville Un ciclo en espiral inicia con la elaboración de
objetivos, como el rendimiento y la funcionalidad. Después se enumeran formas
alternativas de alcanzar estos objetivos y las restricciones impuestas en cada una
de ellas. Cada alternativa se evalúa contra cada objetivo y se identifican las
fuentes de riesgo del proyecto. Lo siguiente es resolver los riesgos mediante
actividades de recopilación de información como la de detallar más el análisis, la
construcción de prototipos y la simulación. Ya que se evaluaron los riesgos, se
lleva a cabo cierto desarrollo, seguido de una actividad de planificación para la
siguiente fase.
El paradigma del modelo en espiral para la Ingeniería de Software es actualmente
el enfoque más realista para el desarrollo de software y de sistemas a gran escala.
Utiliza un enfoque evolutivo, permitiendo al desarrollador y al cliente entender y
reaccionar a los riesgos en cada nivel. Utiliza la creación de prototipos como un
mecanismo de reducción de riesgo, pero, lo que es más importante permite a
quien lo desarrolla aplicar el enfoque de creación de prototipos en cualquier etapa
de la evolución de prototipos.
Prototipo 1
Prototipo 2
Prototipo 3
Prototipo
OperativoAnálisis de
riesgo
Análisis de
riesgo
Análisis de
riesgo
AR
Evaluación del
Cliente
Planificación
Ingeniería
Análisis de
Riesgos
Plan de
requisitos,
Plan de
ciclo de v ida
Plan de
desarrollo
Plan de
prueba e
Integración
Concepto de
operación
Simulaciones, Modelos, Estándares
Validación
de
requisitos
Requisitos
de Sof tware
Verif icación
y v alidación
de diseño
Diseño del
producto de
sof tware
Implementación
Prueba de aceptación
Prueba de Integración
Prueba de Unidad
Codif icación
Revisión
Figura 4.2 Modelo de Espiral de Boehm
Sommerville, Ian (2005), Ingeniería de software, Ed. Addison Wesley 7ª ed
Diseño detallado
Modelo incremental
El modelo incremental aplica secuencias lineales de forma escalonada mientras
avanza el tiempo. Corrige la necesidad de una secuencia no lineal de pasos de
desarrollo. Cada secuencia lineal produce un incremento del software. Por
ejemplo, el software de tratamiento de textos desarrollado con el paradigma
incremental podría extraer funciones de gestión de archivos básicos y de
producción de documentos en el primer incremento; funciones de edición mas
sofisticadas y de producción de documentos en el segundo incremento; corrección
ortográfica y gramatical en el tercero; y una función avanzada de esquema de
pagina en el cuarto. Se debería tener en cuenta que el flujo del proceso de
cualquier incremento pude incorporar el paradigma de construcción de prototipos.
El modelo incremental entrega el software en partes pequeñas, pero utilizables,
llamadas “incrementos”. En general, cada incremento se construye sobre aquel
que ya ha sido entregado.
Cuando se utiliza un modelo incremental, el primer incremento a menudo es un
producto esencial. Es decir, se afrontan requisitos básicos, pero muchas funciones
suplementarias (algunas conocidas, otras no) quedan sin extraer. El cliente utiliza
el producto central (o sufre la revisión detalla). Como un resultado de utilización
y/o de evaluación, se desarrolla un plan para el incremento siguiente. El plan
afronta la modificación del producto central a fin de cumplir mejor las necesidades
del cliente y la entrega de funciones, y características adicionales. Este proceso se
repite siguiendo la entrega de cada incremento. Hasta que se elabore el producto
completo.
El modelo de proceso incremental, como la construcción de prototipos y otros
enfoques evolutivos, es iterativo por naturaleza. Pero a diferencia de la
construcción de prototipos, el modelo incremental se centra en la entrega de un
producto operacional con cada incremento. Los primero incrementos son
versiones “incompletas” del producto final, pero proporcionan al usuario la
funcionalidad que precisa y también una plataforma para la evaluación.
El desarrollo incremental es particularmente útil cuando el personal no está
disponible para una implementación completa en la fecha límite que se haya
establecido para el proyecto. Los primeros incrementos se pueden implementar
con menos personas.
Este modelo constituyo un avance sobre el modelo en cascada pero también
presenta problemas. Aunque permite el cambio continuo de requisitos, aún existe
el problema de determinar si los requisitos propuestos son válidos. Los errores en
los requisitos se presentan tarde y su corrección resulta tan costosa como en el
modelo en cascada.
Proceso de desarrollo unificado
Es un modelo complejo con mucha terminología propia, pensado principalmente
para el desarrollo de grandes proyectos. Es un proceso que puede adaptarse y
extenderse en función de las necesidades de cada empresa. Es el resultado de
esfuerzo de las tres últimas décadas en desarrollo de software y de la experiencia
de sus creadores Ivar Jacobson, Grady Booch y James Rumbaugh.
Orígenes
El antecedente más importante lo ubicamos en 1967 con la Metodología Ericsson
(Ericsson Approach), ésta es una aproximación de desarrollo basada en
componentes, que introdujo el concepto de caso de uso; entre los años de 1987 a
1995 Jacobson funda la compañía “Objectory AB” y lanza el proceso de desarrollo
Objectory (abreviación de Object Factory), posteriormente en 1995 “Rational
Software Corporation” adquiere “Objectory AB” y es entre 1995 y 1997 que se
desarrolla “Rational Objectory Process (ROP)” fruto del encuentro y evolución de
Objectory 3.8 y la Metodología Rational (Rational Approach) que adopta por
primera vez UML como lenguaje de modelamiento.
A principios de los noventas, la guerra de los métodos hizo evidente la necesidad
de unificar criterios, es así como Grady Booch autor del método Booch y James
Rumbaugh (desarrollador para General Electric) se unieron en Rational en 1994,
después en 1995 se une Jacobson y gracias al esfuerzo de varias compañías y
metodologistas evolucionó UML hasta ser un estándar en 1997, el cual es
adoptado en todos los modelos del ROP. Desde ese entonces y a la cabeza de
Booch, Jacobson y Rumbaugh, Rational ha desarrollado e incorporado diversos
elementos para expandir el ROP, destacándose especialmente el flujo de trabajo
conocido como modelamiento del negocio, es así como en junio del 1998 se lanza
Rational Unified Process 5.0. La evolución y orígenes de este proceso de
desarrollo se pueden visualizar mejor en la figura 2.1
Características del Proceso Unificado de Desarrollo
El Proceso Unificado guía a los equipos de proyecto en cómo administrar el
desarrollo iterativo de un modo controlado mientras se balancean los
requerimientos del negocio, el tiempo al mercado y los riesgos del proyecto. El
proceso describe los diversos pasos involucrados en la captura de los
requerimientos y en el establecimiento de una guía arquitectónica, para diseñar y
probar el sistema hecho de acuerdo a los requerimientos y a la arquitectura. El
proceso describe qué producto se debe producir, cómo desarrollar lo que vamos a
entregar y también provee patrones. El proceso unificado es soportado por
herramientas que automatizan entre otras cosas, el modelado visual, la
administración de cambios y las pruebas.
El Proceso Unificado está basado en componentes, lo cual quiere decir que el
sistema software en construcción está formado por componentes de software
interconectados a través de interfaces bien definidas. Además, el Proceso
Unificado utiliza el UML para expresar gráficamente todos los esquemas de un
sistema de software. Pero, realmente, las características que definen este Proceso
Unificado son tres: Iterativo e Incremental, Dirigido por casos de uso y Centrado
en la Arquitectura.
Dirigido por casos de uso
Un caso de uso es un fragmento de funcionalidad del sistema que proporciona un
resultado de valor a un usuario. Los casos de uso modelan los requerimientos
funcionales del sistema.
Basándose en los casos de uso, los desarrolladores crean una serie de modelos
de diseño e implementación que llevan a cabo. Además, estos modelos se validan
para que sean conforme a los casos de uso. Finalmente, los casos de uso se usan
para realizar los casos de pruebas sobre los componentes desarrollados. Los
casos de uso no solo inician el proceso, sino que también proporcionan un hilo
conductor en todo el ciclo de vida del desarrollo de software.
En conclusión los casos de uso son utilizados para:
 Establecer el comportamiento deseado del sistema
 Verificar y validar la arquitectura del sistema
 Hacer Pruebas
 Tener una comunicación entre los participantes del proyecto
Centrado en la arquitectura
La arquitectura de un sistema software se describe mediante diferentes vistas del
sistema en construcción.
Arquitectura: Conjunto de decisiones significativas acerca de la organización de
un sistema software, la selección de los elementos estructurales a partir de los
cuales se compone el sistema, las interfaces entre ellos, su comportamiento, sus
colaboraciones, y su composición.
El concepto de arquitectura software incluye los aspectos estáticos y dinámicos
más significativos del sistema.
La arquitectura es una vista del diseño completo con las características más
importantes resaltadas, dejando los detalles de lado.
Los casos de uso y la arquitectura están profundamente relacionados. Los casos
de uso deben encajar en la arquitectura, y a su vez la arquitectura debe permitir el
desarrollo de todos los casos de uso requeridos, actualmente y a futuro. El
arquitecto desarrolla la forma o arquitectura a partir de la comprensión de un
conjunto reducido de casos de uso fundamentales o críticos (usualmente no más
del 10 % del total). El arquitecto:
 Crea un esquema en borrador de la arquitectura comenzando por la parte
no específica de los casos de uso (por ejemplo la plataforma) pero con una
comprensión general de los casos de uso fundamentales.
 Enseguida, trabaja con un conjunto de casos de uso clave o fundamental.
Cada caso de uso es especificado en detalle y realizado en términos de
subsistemas, clases, y componentes.
 A medida que los casos de uso se especifican y maduran, se descubre más
de la arquitectura, y esto a su vez lleva a la maduración de más casos de
uso.
Este proceso continúa hasta que se considere que la arquitectura es estable.
Iterativo e incremental
Todo sistema complejo supone un gran esfuerzo que puede durar desde varios
meses hasta años. Por lo tanto, lo más práctico es dividir un proyecto en varias
fases o mini proyectos.
Una iteración es un bucle de desarrollo completo, es una secuencia de
actividades con un plan establecido y criterios de evaluación. Acaba en la edición
de un producto ejecutable, subconjunto del producto final bajo desarrollo.
Se suele hablar de ciclos de vida en los que se realizan varios recorridos por todas
las fases. Cada recorrido por las fases se denomina Iteración en el proyecto en la
que se realizan varios tipos de trabajo (denominados flujos). Cada iteración parte
de la anterior incrementado (crece el producto) o revisando la funcionalidad
implementada. Los desarrolladores basan la selección de lo que implementarán en
cada iteración en dos cosas: el conjunto de casos de uso que amplían la
funcionalidad, y en los riesgos más importantes que deben mitigarse. Las
iteraciones deben estar controladas. Esto significa que deben seleccionarse y
ejecutarse de una forma planificada.
Los beneficios de este enfoque iterativo son:
 La iteración controlada reduce el riesgo a los costos de un solo incremento.
 Reduce el riesgo de retrasos en el calendario atacando los riesgos más
importantes primero.
 Acelera el desarrollo. Los trabajadores trabajan de manera más eficiente al
obtener resultados a corto plazo.
 Tiene un enfoque más realista al reconocer que los requisitos no pueden
definirse completamente al principio.
Basado en componentes
La creación de sistemas intensivos en software requiere dividir el sistema en
componentes con interfaces bien definidas, que posteriormente serán
ensamblados para generar el sistema. Esta característica en un proceso de
desarrollo, permite que el sistema se vaya creando a medida que se obtienen o
que desarrolles y maduran sus componentes.
Un componente, es una parte del sistema, física y reemplazable, que está sujeto
á, y proporciona la implementación de un conjunto de interfaces.
El desarrollo basado en componentes consiste en la creación e implantación de
sistemas de software complejos, ensamblados a partir de componentes, y que
ponen a la vez nuevos componentes a disposición de otros sistemas. Puede
automatizarse mediante herramientas y procesos, que permiten aumentar la
productividad, calidad y tiempo de desarrollo.
Ciclo de vida
El Proceso Unificado se repite a lo largo de una serie de ciclos que constituyen la
vida de un sistema. Cada ciclo constituye una versión del sistema.
Fases
Cada ciclo consta de cuatro fases: inicio, elaboración, construcción, y transición:
 Inicio: Definición del proyecto.
 Elaboración: Planificación del proyecto, especificación de características y
elaborar arquitectura base.
 Construcción: Construcción del sistema.
 Transición: Transición a usuarios
Iteraciones dentro del ciclo de vida. Cada fase se subdivide en iteraciones. En
cada iteración se desarrolla en secuencia un conjunto de disciplinas o flujos de
trabajos.
4.4.3.2 Disciplinas
Inicio Elaboración Construcción Transición
Tiempo
Visión Arquitectura Capacidad
inicial
Edición
del
producto
Figura 4.3 Fases del Ciclo de Vida
Iv ar Jacobson, “Apply ing UML in The Unif ied Process” [En linea], [Consulta:Enero de 2006],
Inicio Elaboración Construcción Transición
Tiempo
Visión Arquitectura Capacidad
inicial
Edición
del
producto
Iteración
Preliminar
Iteración
Arquitectura
Iteración
Desarrollo
Iteración
Desarrollo
Iteración
Transición
… … … …
Figura 4.4 Iteraciones y fases
Iv ar Jacobson, “Apply ing UML in The Unif ied Process” [En linea], [Consulta:Enero de 2006],
Cada disciplina es un conjunto de actividades relacionadas (flujos de trabajo)
vinculadas a un área específica dentro del proyecto total. Las más importantes
son: Requerimientos, Análisis, Diseño, Codificación, y Prueba.
El agrupamiento de actividades en disciplinas es principalmente una ayuda para
comprender el proyecto desde la visión tradicional en cascada.
Cada disciplina está asociada con un conjunto de modelos que se desarrollan.
Estos modelos están compuestos por artefactos. Los artefactos más importantes
son los modelos que cada disciplina realiza: modelo de casos de uso, modelo de
diseño, modelo de implementación, y modelo de prueba.
El Proceso Unificado consiste en una serie de disciplinas o flujos de trabajo que
van desde los requisitos hasta las pruebas. Los flujos de trabajo desarrollan
modelos desde el modelo de casos de uso hasta el modelo de pruebas.
Hitos
Cada fase finaliza con un hito. Cada hito se determina por la disponibilidad de un
conjunto de artefactos (RUP llama artefactos a un subproducto), es decir un
conjunto de modelos o documentos que han sido desarrollados hasta alcanzar un
estado predefinido.
Los hitos tienen muchos objetivos. El más crítico es que los encargados del
proyecto deben tomar ciertas decisiones antes de que el trabajo continúe con la
siguiente fase. Los hitos también permiten controlar la dirección y progreso del
trabajo. Al final se obtiene un conjunto de datos a partir del seguimiento del tiempo
y esfuerzo consumidos en cada fase. Estos datos son útiles para la estimación en
futuros proyectos.
Artefactos
Dentro del Proceso de Desarrollo Unificado se denomina artefacto a todo producto
o subproducto resultante del proceso. Dentro de esto se encuentra desde el propio
código fuente hasta la documentación aportada por el cliente y la entregada al
completarse cada hito dentro del proyecto. Para su mejor comprensión hemos
agrupado todos los artefactos posibles del proceso en tres grandes grupos:
Artefactos entregados por el cliente, Artefactos internos del proceso y Artefactos
entregables al cliente.
No siempre en todo proyecto se crean los mismos artefactos, esto dependerá de
las características del proyecto y los requisitos del cliente, siendo tarea de la
gestión de la configuración el definir qué artefactos específicos y con qué nivel de
formalidad se crearán para el proyecto en cuestión.
Artefactos entregados por el cliente
 Glosario de Términos: Sólo existe uno para todo el sistema, que contiene
un conjunto de definiciones concisas para favorecer la comunicación y
evitar malos entendidos entre todos los involucrados. Los miembros del
proyecto utilizarán el glosario inicialmente para comprender sus términos
específicos.
 Especificaciones de los casos de uso: Es una colección de documentos
que recogen la especificación completa de cada caso de uso. Cada uno
contiene los campos: nombre, descripción, actores, precondiciones, pos
condiciones, flujo básico, flujos alternativos, puntos de extensión, entre
otros que describen en detalle un caso de uso.
 Modelo de casos de uso: Es un modelo de las funciones concebidas del
sistema y su entorno. Es una entrada importante a actividades de análisis,
diseño y prueba. Incluye todos los actores y casos de uso del sistema con
sus descripciones. Puede ser entregado directamente en el formato que
utilice la herramienta de modelación o gestión empleada, o mediante un
informe de este modelo que contenga toda esta información que se
complementará con las Especificaciones de los casos de uso.
 Especificaciones suplementarias: Este artefacto captura los
requerimientos del sistema que no fueron recogidos en el Modelo de casos
de uso. Generalmente contiene los requerimientos no funcionales del
sistema.
 Especificación de requisitos del software: En los casos en que la
empresa cliente no desee utilizar el enfoque de casos de uso para la
gestión de requisitos, podrá entregar en lugar de los 3 artefactos descritos
anteriormente un solo documento que recoja las características, requisitos
funcionales y no funcionales del sistema, así como otra información útil
como por ejemplo: restricciones en el diseño e implementación,
componentes comprados a terceros, interfaces de hardware o software, etc.
 Documento de arquitectura del software: Este documento brinda un
resumen de la arquitectura utilizando varias vistas diferentes que muestran
distintos aspectos del sistema. Es un medio de comunicación entre el
arquitecto de software y otros miembros del equipo del proyecto, acerca de
las decisiones significativas que han sido tomadas para la arquitectura.
 Modelo de diseño: Es una abstracción de la implementación del sistema
que normalmente se utiliza para concebir y documentar su diseño. Es un
artefacto compuesto que contiene todas las clases, subsistemas, paquetes,
colaboraciones y las relaciones entre ellas. También contiene las
realizaciones de los casos de uso.
 Modelo de datos: Describe la representación física y lógica de los datos
persistentes utilizados por la aplicación. Se utilizará siempre que se
necesiten manejar datos persistentes. Usualmente describirá los diferentes
elementos componentes de la estructura de una base de datos relacional.
 Mapa de navegación: Expresa la estructura de los elementos de la interfaz
de usuario del sistema, junto a los caminos de navegación principales.
Existirá solamente uno de estos artefactos en el sistema y por lo general
será empleado para aplicaciones Web.
 Prototipo de la interfaz de usuario: Es un ejemplo de la interfaz de
usuario que se construye para validar y/o explorar su diseño. El grado de
formalidad y herramientas utilizadas para generarlo puede variar mucho de
proyecto en proyecto, pudiendo ir desde solo unas cuantas imágenes de
pantallas hasta un esqueleto de interfaz de usuario ejecutable producido en
un ambiente de Desarrollo rápido de aplicaciones (RAD : Rapid Application
Development) o un conjunto de páginas HTML interactivas. En aplicaciones
Web pueden ser las imágenes de las diferentes pantallas creadas por el
diseñador gráfico.
Artefactos Internos del Proceso
 Plan de gestión de requisitos: Describe los artefactos de la disciplina,
tipos de requisitos y sus respectivos atributos. Especifica la información que
deberá ser obtenida y los mecanismos de control que deberán ser utilizados
para reportar, medir, y controlar los cambios a los requisitos del producto.
 Plan de pruebas: Contiene la definición de los objetivos de las pruebas, los
elementos que deberán ser probados, los métodos que deberán utilizarse,
los recursos necesarios y documentos a entregar. Usualmente se tiene uno
de estos documentos con alcance global para todo el proyecto y uno por
cada iteración del ciclo de vida del producto.
 Guion de pruebas: Son las instrucciones paso a paso que indican como
llevar a cabo una prueba. Pueden ser documentos con información textual
que describa cómo realizar la prueba manualmente o archivos de
instrucciones legibles por las máquinas que posibiliten la ejecución
automatizada de la prueba.
 Informe resumen de las pruebas: Organiza y muestra un análisis
resumido de los resultados de las pruebas que será entregado a los
miembros del equipo de calidad para su revisión y evaluación.
Adicionalmente puede contener un enunciado general de la calidad relativa
y ofrecer recomendaciones para futuros esfuerzos de prueba.
 Plan de gestión de configuración: Describe todas las actividades de
Gestión de configuración y cambios que serán realizadas durante todo el
ciclo de vida del proyecto. Brinda planificaciones detalladas de las
actividades, responsabilidades asignadas, recursos necesarios que
incluyen personal, herramientas y equipamiento.
 Solicitud de cambio: Los cambios a los artefactos del proyecto se
proponen mediante Solicitudes de cambio (Change Requests CR). Estos se
utilizan para documentar y controlar defectos, solicitudes de mejoras o
cualquier otra solicitud de cambios al proyecto. El beneficio de utilizarlos es
que proporcionan un registro de las decisiones y, debido a su proceso
evaluativo, se asegura que los impactos de los cambios sean entendidos
por todos los miembros del equipo del proyecto.
 Plan de desarrollo de software: Es un artefacto compuesto que recoge
toda la información necesaria para llevar a cabo la dirección del proyecto.
Contiene otros planes no menos importantes que, al igual que éste son
desarrollados desde la fase de inicio y mantenidos durante todo el ciclo de
vida (Aseguramiento de la calidad, Gestión de riesgos, Métricas, Aceptación
del producto y Resolución de problemas).
 Plan de la iteración: Es un plan más refinado que contiene un conjunto
secuencial de actividades, tareas y recursos asignados a una iteración, por
lo que existirá un artefacto de este tipo por cada iteración del ciclo de vida
del producto. Incluye los objetivos de la iteración, que son utilizados como
criterio de evaluación y miden diferentes aspectos deseables a su final,
como grado de terminación de la funcionalidad planificada, niveles de
calidad, rendimiento, etc.
 Evaluación de la iteración: Se realiza al final de la iteración y captura el
grado en que se cumplió el criterio de evaluación, las lecciones aprendidas
y los cambios a realizar en la planificación de las subsiguientes iteraciones
en función del nuevo conocimiento adquirido. Es un artefacto esencial del
enfoque iterativo de desarrollo de software.
 Proceso de desarrollo: También conocido como Proceso específico del
proyecto, es una configuración del Proceso Unificado de Rational (RUP)
para ajustarse a las necesidades del proyecto. Es un artefacto compuesto
que contiene: el Caso de desarrollo, plantillas y normativas para el
proyecto.
Artefactos entregables al cliente
 Modelo de implementación: Representa la composición física de la
implementación, está constituido por subsistemas y elementos de
implementación (directorios y ficheros, incluyendo los de código fuente,
datos y ejecutables).
 Informe de entrega al cliente: Contendrá una descripción detallada de la
estructura de directorios del paquete entregado, instrucciones para la
instalación, errores conocidos y cambios realizados en la versión actual del
sistema, subsistema o componente implementado. Adicionalmente incluirá
cualquier otra información que sea considerada relevante referida al modelo
de implementación o los artefactos contenidos en la entrega al cliente.
 Documentación de soporte: En función de las características del
proyecto, se entregará también la documentación técnica del sistema,
subsistema o componente de software implementado, que podrá ser usada
posteriormente para su mantenimiento o modificación por parte de otro
equipo de desarrollo. Adicionalmente serán entregados los manuales
necesarios para el soporte al usuario final.
Conclusión
El desarrollo del software y la programación es uno de los pilares fundamentales
de la informática y al cual se dedican muchas horas de esfuerzos en empresas, y
universidades.
Conforme a la tecnología va avanzando, van apareciendo nuevas soluciones,
nuevas formas de programación, nuevos lenguajes y un sin fin de herramientas
que intentan realizar el trabajo del desarrollador un poco más fácil.
La programación orientadas a objetos o los compiladores basados en máquinas
virtuales (en muchos casos, multiplataforma), también a sus puestos unas
renovación en la manera de programar.
Microsoft como empresa desarrolladora de software, es consciente de lo
importante que es hacer buenos desarrollos y lo complicado que es; por eso,
intenta aportar las mejores soluciones al mercado. En la actualidad la sociedad se
encuentra en una época de transición, que se encamina hacia un nuevo estilo de
programación basada en estándares y para ello Microsoft propone la plataforma
.NET.
REFERENCIAS WEB
Nelson Medinilla Martínez, Facultad de Informática, Universidad Politécnica de Madrid, “Análisis y selección de
estrategias de desarrollo de softw are” [En línea], Madrid España [Consulta: Mayo de 2006],
<http://is.ls.fi.upm.es/udis/docencia/proyecto/docs/
estrategias.pdf>
Carolina Zibert, “Ciclos de vida de Ingeniería de Softw are” [En línea], Caracas Venezuela [Consulta: Abril de
2006],<carolina.terna.net/ingsw 2/Datos/Cascada-ModeloV.doc>
Tesis doctorales en Zarza, “Ingeniería de Softw are” [En línea], España [Consulta: Mayo de 2006],
<http://w w w .tdx.cesca.es/TESIS_UPC/AVAILABLE/TDX-0716102-102210//05Capitulo05.pdf>
Mundo Geek, “Ciclos de vida del softw are” [En línea], [Consulta: Mayo de 2006],
<http://mundogeek.net/archivos/2004/05/20>
Wikipedia Foundation Inc, EUA Desarrollo en Cascada [En línea], St. Petersburg [Consulta: Mayo de 2006],
<http://es.w ikipedia.org/w iki/Modelo_en_cascada>
Instituto Tecnológico de la paz, “Análisis y diseño de sistemas Modelo de Espiral” [En línea], México [Consulta: Mayo
de 2006], <http://w w w .itlp.edu.mx/publica/tutoriales/
analisis/index.htm>

Más contenido relacionado

La actualidad más candente

Desarrollo de software diapositiva
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositivaNorma Rodriguez
 
Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Softwareolea_saavedra
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSUDEC
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Metodología Espiral
Metodología EspiralMetodología Espiral
Metodología Espiralyandry2010
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremarianela0393
 
Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREPablo Daniel Bazan Carmona
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de SoftwareUacm Lis Slt
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win winkhinkhe
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa... grachika
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de SistemasT.I.C
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 
Sistemas De Informacion IV
Sistemas De Informacion IVSistemas De Informacion IV
Sistemas De Informacion IVnattalia_3
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwarePrimoLaura
 

La actualidad más candente (20)

Desarrollo de software diapositiva
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositiva
 
Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOS
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Metodología Espiral
Metodología EspiralMetodología Espiral
Metodología Espiral
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWARE
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win win
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa...
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Sistemas De Informacion IV
Sistemas De Informacion IVSistemas De Informacion IV
Sistemas De Informacion IV
 
Procesos del Software
Procesos del SoftwareProcesos del Software
Procesos del Software
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-software
 

Destacado

Abrir excel, agregar bordes
Abrir excel, agregar bordesAbrir excel, agregar bordes
Abrir excel, agregar bordesrochofo
 
Portafolio diagnostico gleon
Portafolio diagnostico gleonPortafolio diagnostico gleon
Portafolio diagnostico gleonGladys León
 
Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...
Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...
Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...Martín García Valle
 
Insertar sonidos
Insertar sonidosInsertar sonidos
Insertar sonidos0SC4R1000
 
Diseño para niños
Diseño para niñosDiseño para niños
Diseño para niñosRomatopa
 
Exposición
ExposiciónExposición
ExposiciónPablo
 

Destacado (10)

Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadora
 
Abrir excel, agregar bordes
Abrir excel, agregar bordesAbrir excel, agregar bordes
Abrir excel, agregar bordes
 
Portafolio diagnostico gleon
Portafolio diagnostico gleonPortafolio diagnostico gleon
Portafolio diagnostico gleon
 
Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...
Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...
Proyecto aplicaciones web realidad aumentada 25 años salesianos ciudad de los...
 
Insertar sonidos
Insertar sonidosInsertar sonidos
Insertar sonidos
 
Origen y evolución del computador
Origen y evolución del computadorOrigen y evolución del computador
Origen y evolución del computador
 
Diseño para niños
Diseño para niñosDiseño para niños
Diseño para niños
 
Producto 15.
Producto 15.Producto 15.
Producto 15.
 
Exposición
ExposiciónExposición
Exposición
 
Historia de la auditoria v2
Historia de la auditoria v2Historia de la auditoria v2
Historia de la auditoria v2
 

Similar a Jose gpe act4

Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
Desarrollo en cascada
Desarrollo en cascadaDesarrollo en cascada
Desarrollo en cascadaIsaias Castro
 
Desarrollo en cascada
Desarrollo en cascadaDesarrollo en cascada
Desarrollo en cascadaIsaias Castro
 
García _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptxGarcía _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptxVictorEduardoHerrera3
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicionEvelin Oña
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarepaoaboytes
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxNicolas Ormeño
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwareRadel Fuentes
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativaDiego Sinche
 
Unidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del SoftwareUnidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del Softwarerezzaca
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de softwareAbner Garcia
 

Similar a Jose gpe act4 (20)

Sdf p4
Sdf p4Sdf p4
Sdf p4
 
Inf 162
Inf 162Inf 162
Inf 162
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Desarrollo en cascada
Desarrollo en cascadaDesarrollo en cascada
Desarrollo en cascada
 
Desarrollo en cascada
Desarrollo en cascadaDesarrollo en cascada
Desarrollo en cascada
 
García _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptxGarcía _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptx
 
(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software
 
AMSI
AMSIAMSI
AMSI
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del software
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
 
Act18
Act18Act18
Act18
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Modelo cascada
Modelo cascadaModelo cascada
Modelo cascada
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Tarea nayeli
Tarea nayeliTarea nayeli
Tarea nayeli
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
 
Unidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del SoftwareUnidad 4 Modelos de Procesos del Software
Unidad 4 Modelos de Procesos del Software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 

Último

27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstDavidRojas870673
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
SESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdf
SESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdfSESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdf
SESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdfJorgeFuertes8
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
semana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptsemana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptKelinnRiveraa
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxfranklingerardoloma
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfoctaviosalazar18
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfwduranteg
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónmaz12629
 
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdfCI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdfsarm0803
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdfDavidTicona31
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxcarlosEspaaGarcia
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfalfredoivan1
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdfsmendozap1
 

Último (20)

27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gst
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
SESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdf
SESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdfSESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdf
SESION 02-DENSIDAD DE POBLACION Y DEMANDA DE AGUA (19-03-2024).pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
semana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptsemana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.ppt
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdfCI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 

Jose gpe act4

  • 1. Universidad Interactiva y a Distancia del Estado de Guanajuato Unideg Comonfort Ing. En sistemas Alumno: José Guadalupe Martínez Rincón Maestra: Angelina Pérez Arvizu Materia: Análisis y diseño de sistemas Actividad 4 Ensayo modelos para el desarrollo de Software
  • 2. El proceso es el conocimiento incorporado, y puesto que el conocimiento esta inicialmente disperso, el desarrollo de software implícito, latente e incompleto en gran medida es un proceso social de aprendizaje. El proceso es un dialogo en el que se reúne el conocimiento y se incluye en el software para convertirse en software. El proceso proporciona una iteración entre los usuarios y los diseñadores, entre los usuarios y las herramientas de desarrollo, y entre los diseñadores y las herramientas de desarrollo (tecnología). Es un proceso interactivo donde la herramienta de desarrollo se usa como medio de comunicación, con cada iteración del dialogo se obtiene mayor conocimiento. Howard Baetjer Desde un punto de vista técnico se puede decir que el proceso de software es un marco de trabajo de las tareas que se requieren para construir software de alta calidad. Aún más importante es que la Ingeniería del Software la realizan personas creativas, con conocimiento, que deberían trabajar dentro de un proceso del software definido y avanzado que es apropiado para los productos que construyen y para las demandas de su mercado. 4.1 Modelo de cascada Modelo de Cascada (Bennington 1956, Modificado por Royce en 1970, Pressman lo presenta como ciclo de vida clásico). Se denomina modelo en cascada porque su característica principal es que no se comienza con un paso hasta que no se ha terminado el anterior. El modelo en Cascada establece que el software debe ser construido, rigurosamente, a través de una transformación sucesiva de documentos, siguiendo una estrategia lineal de desarrollo. Primero saber qué se
  • 3. quiere y después, cuando se conozca todo lo que se quiere, empezar a construirlo. El modelo de cascada también conocido como modelo lineal secuencial sugiere un enfoque sistemático, secuencial para el desarrollo del software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. A grandes rasgos el primer paso es conseguir un documento con la especificación completa, exacta, no ambigua de los requisitos del sistema software que debe ser desarrollado. Este documento inicial es transformado en un documento de análisis, supuestamente alejado de la máquina. Después, a partir del análisis, se obtiene otro documento, el diseño. Y por último, del diseño se obtiene el documento final: el código. Para asegurar que no se introducen equivocaciones al transformar un documento (modelo) en otro, se hacen pruebas, al terminar cada uno. Las pruebas son planificadas desde el principio y se documentan como se vayan realizando. Antes de la entrega del sistema software, se valida que satisface los requisitos definidos en el documento inicial. Está basado en el ciclo convencional de una ingeniería, tiene las siguientes actividades que se muestran en la figura 4.1 del modelo de cascada:
  • 4. Ingeniería y Análisis del Sistema Análisis de los Requisitos Diseño Codificación Prueba Mantenimiento Figura 4.1 Modelo de Cascada Carolina Zibert, “Ciclos de v ida de Ingeniería de Sof tware” [En línea], Caracas Venezuela [Consulta: Abril de 2006],<carolina.terna.net/ingsw2/Datos/Cascada-ModeloV.doc>
  • 5. Actividades Ingeniería y Análisis del Sistema Debido a que el software es siempre parte de un sistema mayor, el trabajo comienza estableciendo los requisitos de todos los elementos del sistema y luego asignando algún subconjunto de estos requisitos al software. Análisis de los requisitos del software Análisis: 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 Especificación de Requisitos), que contiene la especificación completa de lo que debe hacer el sistema sin entrar en detalles internos (debe comprender el ámbito de la información del software, así como la función, el rendimiento y las interfaces requeridas). Diseño El diseño del software se enfoca en cuatro atributos distintos del programa: la estructura de los datos, la arquitectura del software, el detalle procedimental y la caracterización de la interfaz. El proceso de diseño traduce los requisitos en una representación del software con la calidad requerida antes de que comience la codificación. Como resultado surge el SDD (Documento de Diseño del Software), que contiene la descripción de la estructura global del sistema y la especificación de lo que debe hacer cada una de sus partes, así como la manera en que se combinan unas con otras.
  • 6. Codificación Es la fase de programación. Aquí se desarrolla el código fuente, el diseño debe traducirse en una forma legible para la maquina, haciendo uso de prototipos así como pruebas y ensayos para corregir errores. El paso de codificación realiza esta tarea. Si el diseño se realiza de una manera detallada la codificación puede realizarse mecánicamente. Prueba Una vez que se ha generado el código comienza la prueba del programa. La prueba se centra en la lógica interna del software, y en las funciones externas, realizando pruebas que aseguren que la entrada definida produce los resultados que realmente se requieren. Se comprueba que funciona correctamente antes de ser puesto en explotación. Mantenimiento El software sufrirá cambios después de que se entrega al cliente. Los cambios ocurrirán cuando se hayan encontrado errores, esto en lugar de que el software deba adaptarse a cambios del entorno externo (sistema operativo o dispositivos periféricos), o debido a que el cliente requiera ampliaciones funcionales o del rendimiento.
  • 7. Desventajas  Los proyectos reales raramente siguen el flujo secuencial que propone el modelo, siempre hay iteraciones y se crean problemas en la aplicación del paradigma.  Normalmente, es difícil para el cliente establecer explícitamente al principio todos los requisitos. El ciclo de vida clásico lo requiere y tiene dificultades en acomodar posibles incertidumbres que pueden existir al comienzo de muchos productos.  El cliente debe tener paciencia. Hasta llegar a las etapas finales del proyecto, no estará disponible una versión operativa del programa. Un error importante no detectado hasta que el programa esté funcionando puede ser desastroso. Se tiene un Alto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseño. Bajo riesgo para desarrollos bien comprendidos utilizando tecnología conocida Este modelo, que se lleva a cabo de forma descendente, exige que para pasar a la siguiente fase hay que concluir correctamente la anterior, de manera que los posibles errores sean fácilmente detectables. Así, la salida de una fase es la entrada de la siguiente. La Ventaja de este método radica en su sencillez ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el software. Modelo de espiral
  • 8. El modelo espiral propuesto originalmente por Boehm en 1988, es un modelo de proceso de software evolutivo ha sido desarrollado para cubrir las mejores características tanto del ciclo de vida clásico, como de la creación de prototipos, añadiendo al mismo tiempo un nuevo elemento: el análisis de riesgo. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. En este modelo el software se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o un prototipo. En las últimas iteraciones, se producen versiones cada vez más completas del sistema diseñado. El modelo representado mediante la espiral de la figura 4.2 define cuatro actividades principales, también llamadas regiones de tareas o sectores: 1. Planificación. Durante la primera vuelta alrededor de la espiral se definen los objetivos, las alternativas y las restricciones, se analizan e identifican los riesgos. Si el análisis de riesgo indica que hay una incertidumbre en los requisitos, se puede usar la creación de prototipos en el cuadrante de ingeniería para dar asistencia tanto al encargado de desarrollo como al cliente.[1] 2. Análisis de riesgo. El proyecto se revisa y se toma la decisión de si se debe continuar con un ciclo posterior de la espiral. Si se decide continuar, se desarrollan los planes para la siguiente fase del proyecto. 3. Ingeniería. En este sector se desarrolla y se valida. Después de la evaluación de riesgos, se elige un modelo para el desarrollo del sistema. 4. Evaluación del cliente. El cliente evalúa el trabajo de ingeniería (cuadrante de evaluación de cliente) y sugiere modificaciones. Sobre la base de los comentarios del cliente se produce la siguiente fase de planificación y de análisis de riesgo. En cada bucle alrededor de la espiral, la culminación del análisis de riesgo resulta en una decisión de "seguir o no seguir".
  • 9. Con cada iteración alrededor de la espiral (comenzando en el centro y siguiendo hacia el exterior), se construyen sucesivas versiones del software, cada vez más completas y, al final, el propio sistema operacional. De acuerdo con Somerville Un ciclo en espiral inicia con la elaboración de objetivos, como el rendimiento y la funcionalidad. Después se enumeran formas alternativas de alcanzar estos objetivos y las restricciones impuestas en cada una de ellas. Cada alternativa se evalúa contra cada objetivo y se identifican las fuentes de riesgo del proyecto. Lo siguiente es resolver los riesgos mediante actividades de recopilación de información como la de detallar más el análisis, la construcción de prototipos y la simulación. Ya que se evaluaron los riesgos, se lleva a cabo cierto desarrollo, seguido de una actividad de planificación para la siguiente fase. El paradigma del modelo en espiral para la Ingeniería de Software es actualmente el enfoque más realista para el desarrollo de software y de sistemas a gran escala. Utiliza un enfoque evolutivo, permitiendo al desarrollador y al cliente entender y reaccionar a los riesgos en cada nivel. Utiliza la creación de prototipos como un mecanismo de reducción de riesgo, pero, lo que es más importante permite a quien lo desarrolla aplicar el enfoque de creación de prototipos en cualquier etapa de la evolución de prototipos.
  • 10. Prototipo 1 Prototipo 2 Prototipo 3 Prototipo OperativoAnálisis de riesgo Análisis de riesgo Análisis de riesgo AR Evaluación del Cliente Planificación Ingeniería Análisis de Riesgos Plan de requisitos, Plan de ciclo de v ida Plan de desarrollo Plan de prueba e Integración Concepto de operación Simulaciones, Modelos, Estándares Validación de requisitos Requisitos de Sof tware Verif icación y v alidación de diseño Diseño del producto de sof tware Implementación Prueba de aceptación Prueba de Integración Prueba de Unidad Codif icación Revisión Figura 4.2 Modelo de Espiral de Boehm Sommerville, Ian (2005), Ingeniería de software, Ed. Addison Wesley 7ª ed Diseño detallado
  • 11. Modelo incremental El modelo incremental aplica secuencias lineales de forma escalonada mientras avanza el tiempo. Corrige la necesidad de una secuencia no lineal de pasos de desarrollo. Cada secuencia lineal produce un incremento del software. Por ejemplo, el software de tratamiento de textos desarrollado con el paradigma incremental podría extraer funciones de gestión de archivos básicos y de producción de documentos en el primer incremento; funciones de edición mas sofisticadas y de producción de documentos en el segundo incremento; corrección ortográfica y gramatical en el tercero; y una función avanzada de esquema de pagina en el cuarto. Se debería tener en cuenta que el flujo del proceso de cualquier incremento pude incorporar el paradigma de construcción de prototipos. El modelo incremental entrega el software en partes pequeñas, pero utilizables, llamadas “incrementos”. En general, cada incremento se construye sobre aquel que ya ha sido entregado. Cuando se utiliza un modelo incremental, el primer incremento a menudo es un producto esencial. Es decir, se afrontan requisitos básicos, pero muchas funciones suplementarias (algunas conocidas, otras no) quedan sin extraer. El cliente utiliza el producto central (o sufre la revisión detalla). Como un resultado de utilización y/o de evaluación, se desarrolla un plan para el incremento siguiente. El plan afronta la modificación del producto central a fin de cumplir mejor las necesidades del cliente y la entrega de funciones, y características adicionales. Este proceso se repite siguiendo la entrega de cada incremento. Hasta que se elabore el producto completo.
  • 12. El modelo de proceso incremental, como la construcción de prototipos y otros enfoques evolutivos, es iterativo por naturaleza. Pero a diferencia de la construcción de prototipos, el modelo incremental se centra en la entrega de un producto operacional con cada incremento. Los primero incrementos son versiones “incompletas” del producto final, pero proporcionan al usuario la funcionalidad que precisa y también una plataforma para la evaluación. El desarrollo incremental es particularmente útil cuando el personal no está disponible para una implementación completa en la fecha límite que se haya establecido para el proyecto. Los primeros incrementos se pueden implementar con menos personas. Este modelo constituyo un avance sobre el modelo en cascada pero también presenta problemas. Aunque permite el cambio continuo de requisitos, aún existe el problema de determinar si los requisitos propuestos son válidos. Los errores en los requisitos se presentan tarde y su corrección resulta tan costosa como en el modelo en cascada. Proceso de desarrollo unificado Es un modelo complejo con mucha terminología propia, pensado principalmente para el desarrollo de grandes proyectos. Es un proceso que puede adaptarse y extenderse en función de las necesidades de cada empresa. Es el resultado de esfuerzo de las tres últimas décadas en desarrollo de software y de la experiencia de sus creadores Ivar Jacobson, Grady Booch y James Rumbaugh. Orígenes
  • 13. El antecedente más importante lo ubicamos en 1967 con la Metodología Ericsson (Ericsson Approach), ésta es una aproximación de desarrollo basada en componentes, que introdujo el concepto de caso de uso; entre los años de 1987 a 1995 Jacobson funda la compañía “Objectory AB” y lanza el proceso de desarrollo Objectory (abreviación de Object Factory), posteriormente en 1995 “Rational Software Corporation” adquiere “Objectory AB” y es entre 1995 y 1997 que se desarrolla “Rational Objectory Process (ROP)” fruto del encuentro y evolución de Objectory 3.8 y la Metodología Rational (Rational Approach) que adopta por primera vez UML como lenguaje de modelamiento. A principios de los noventas, la guerra de los métodos hizo evidente la necesidad de unificar criterios, es así como Grady Booch autor del método Booch y James Rumbaugh (desarrollador para General Electric) se unieron en Rational en 1994, después en 1995 se une Jacobson y gracias al esfuerzo de varias compañías y metodologistas evolucionó UML hasta ser un estándar en 1997, el cual es adoptado en todos los modelos del ROP. Desde ese entonces y a la cabeza de Booch, Jacobson y Rumbaugh, Rational ha desarrollado e incorporado diversos elementos para expandir el ROP, destacándose especialmente el flujo de trabajo conocido como modelamiento del negocio, es así como en junio del 1998 se lanza Rational Unified Process 5.0. La evolución y orígenes de este proceso de desarrollo se pueden visualizar mejor en la figura 2.1 Características del Proceso Unificado de Desarrollo El Proceso Unificado guía a los equipos de proyecto en cómo administrar el desarrollo iterativo de un modo controlado mientras se balancean los requerimientos del negocio, el tiempo al mercado y los riesgos del proyecto. El
  • 14. proceso describe los diversos pasos involucrados en la captura de los requerimientos y en el establecimiento de una guía arquitectónica, para diseñar y probar el sistema hecho de acuerdo a los requerimientos y a la arquitectura. El proceso describe qué producto se debe producir, cómo desarrollar lo que vamos a entregar y también provee patrones. El proceso unificado es soportado por herramientas que automatizan entre otras cosas, el modelado visual, la administración de cambios y las pruebas. El Proceso Unificado está basado en componentes, lo cual quiere decir que el sistema software en construcción está formado por componentes de software interconectados a través de interfaces bien definidas. Además, el Proceso Unificado utiliza el UML para expresar gráficamente todos los esquemas de un sistema de software. Pero, realmente, las características que definen este Proceso Unificado son tres: Iterativo e Incremental, Dirigido por casos de uso y Centrado en la Arquitectura. Dirigido por casos de uso Un caso de uso es un fragmento de funcionalidad del sistema que proporciona un resultado de valor a un usuario. Los casos de uso modelan los requerimientos funcionales del sistema. Basándose en los casos de uso, los desarrolladores crean una serie de modelos de diseño e implementación que llevan a cabo. Además, estos modelos se validan para que sean conforme a los casos de uso. Finalmente, los casos de uso se usan para realizar los casos de pruebas sobre los componentes desarrollados. Los casos de uso no solo inician el proceso, sino que también proporcionan un hilo conductor en todo el ciclo de vida del desarrollo de software.
  • 15. En conclusión los casos de uso son utilizados para:  Establecer el comportamiento deseado del sistema  Verificar y validar la arquitectura del sistema  Hacer Pruebas  Tener una comunicación entre los participantes del proyecto Centrado en la arquitectura La arquitectura de un sistema software se describe mediante diferentes vistas del sistema en construcción. Arquitectura: Conjunto de decisiones significativas acerca de la organización de un sistema software, la selección de los elementos estructurales a partir de los cuales se compone el sistema, las interfaces entre ellos, su comportamiento, sus colaboraciones, y su composición. El concepto de arquitectura software incluye los aspectos estáticos y dinámicos más significativos del sistema. La arquitectura es una vista del diseño completo con las características más importantes resaltadas, dejando los detalles de lado. Los casos de uso y la arquitectura están profundamente relacionados. Los casos de uso deben encajar en la arquitectura, y a su vez la arquitectura debe permitir el desarrollo de todos los casos de uso requeridos, actualmente y a futuro. El
  • 16. arquitecto desarrolla la forma o arquitectura a partir de la comprensión de un conjunto reducido de casos de uso fundamentales o críticos (usualmente no más del 10 % del total). El arquitecto:  Crea un esquema en borrador de la arquitectura comenzando por la parte no específica de los casos de uso (por ejemplo la plataforma) pero con una comprensión general de los casos de uso fundamentales.  Enseguida, trabaja con un conjunto de casos de uso clave o fundamental. Cada caso de uso es especificado en detalle y realizado en términos de subsistemas, clases, y componentes.  A medida que los casos de uso se especifican y maduran, se descubre más de la arquitectura, y esto a su vez lleva a la maduración de más casos de uso. Este proceso continúa hasta que se considere que la arquitectura es estable.
  • 17. Iterativo e incremental Todo sistema complejo supone un gran esfuerzo que puede durar desde varios meses hasta años. Por lo tanto, lo más práctico es dividir un proyecto en varias fases o mini proyectos. Una iteración es un bucle de desarrollo completo, es una secuencia de actividades con un plan establecido y criterios de evaluación. Acaba en la edición de un producto ejecutable, subconjunto del producto final bajo desarrollo. Se suele hablar de ciclos de vida en los que se realizan varios recorridos por todas las fases. Cada recorrido por las fases se denomina Iteración en el proyecto en la que se realizan varios tipos de trabajo (denominados flujos). Cada iteración parte de la anterior incrementado (crece el producto) o revisando la funcionalidad implementada. Los desarrolladores basan la selección de lo que implementarán en cada iteración en dos cosas: el conjunto de casos de uso que amplían la funcionalidad, y en los riesgos más importantes que deben mitigarse. Las iteraciones deben estar controladas. Esto significa que deben seleccionarse y ejecutarse de una forma planificada. Los beneficios de este enfoque iterativo son:  La iteración controlada reduce el riesgo a los costos de un solo incremento.  Reduce el riesgo de retrasos en el calendario atacando los riesgos más importantes primero.  Acelera el desarrollo. Los trabajadores trabajan de manera más eficiente al obtener resultados a corto plazo.  Tiene un enfoque más realista al reconocer que los requisitos no pueden definirse completamente al principio.
  • 18. Basado en componentes La creación de sistemas intensivos en software requiere dividir el sistema en componentes con interfaces bien definidas, que posteriormente serán ensamblados para generar el sistema. Esta característica en un proceso de desarrollo, permite que el sistema se vaya creando a medida que se obtienen o que desarrolles y maduran sus componentes. Un componente, es una parte del sistema, física y reemplazable, que está sujeto á, y proporciona la implementación de un conjunto de interfaces. El desarrollo basado en componentes consiste en la creación e implantación de sistemas de software complejos, ensamblados a partir de componentes, y que ponen a la vez nuevos componentes a disposición de otros sistemas. Puede automatizarse mediante herramientas y procesos, que permiten aumentar la productividad, calidad y tiempo de desarrollo. Ciclo de vida El Proceso Unificado se repite a lo largo de una serie de ciclos que constituyen la vida de un sistema. Cada ciclo constituye una versión del sistema. Fases
  • 19. Cada ciclo consta de cuatro fases: inicio, elaboración, construcción, y transición:  Inicio: Definición del proyecto.  Elaboración: Planificación del proyecto, especificación de características y elaborar arquitectura base.  Construcción: Construcción del sistema.  Transición: Transición a usuarios Iteraciones dentro del ciclo de vida. Cada fase se subdivide en iteraciones. En cada iteración se desarrolla en secuencia un conjunto de disciplinas o flujos de trabajos. 4.4.3.2 Disciplinas Inicio Elaboración Construcción Transición Tiempo Visión Arquitectura Capacidad inicial Edición del producto Figura 4.3 Fases del Ciclo de Vida Iv ar Jacobson, “Apply ing UML in The Unif ied Process” [En linea], [Consulta:Enero de 2006], Inicio Elaboración Construcción Transición Tiempo Visión Arquitectura Capacidad inicial Edición del producto Iteración Preliminar Iteración Arquitectura Iteración Desarrollo Iteración Desarrollo Iteración Transición … … … … Figura 4.4 Iteraciones y fases Iv ar Jacobson, “Apply ing UML in The Unif ied Process” [En linea], [Consulta:Enero de 2006],
  • 20. Cada disciplina es un conjunto de actividades relacionadas (flujos de trabajo) vinculadas a un área específica dentro del proyecto total. Las más importantes son: Requerimientos, Análisis, Diseño, Codificación, y Prueba. El agrupamiento de actividades en disciplinas es principalmente una ayuda para comprender el proyecto desde la visión tradicional en cascada. Cada disciplina está asociada con un conjunto de modelos que se desarrollan. Estos modelos están compuestos por artefactos. Los artefactos más importantes son los modelos que cada disciplina realiza: modelo de casos de uso, modelo de diseño, modelo de implementación, y modelo de prueba. El Proceso Unificado consiste en una serie de disciplinas o flujos de trabajo que van desde los requisitos hasta las pruebas. Los flujos de trabajo desarrollan modelos desde el modelo de casos de uso hasta el modelo de pruebas. Hitos Cada fase finaliza con un hito. Cada hito se determina por la disponibilidad de un conjunto de artefactos (RUP llama artefactos a un subproducto), es decir un conjunto de modelos o documentos que han sido desarrollados hasta alcanzar un estado predefinido. Los hitos tienen muchos objetivos. El más crítico es que los encargados del proyecto deben tomar ciertas decisiones antes de que el trabajo continúe con la siguiente fase. Los hitos también permiten controlar la dirección y progreso del trabajo. Al final se obtiene un conjunto de datos a partir del seguimiento del tiempo
  • 21. y esfuerzo consumidos en cada fase. Estos datos son útiles para la estimación en futuros proyectos. Artefactos Dentro del Proceso de Desarrollo Unificado se denomina artefacto a todo producto o subproducto resultante del proceso. Dentro de esto se encuentra desde el propio código fuente hasta la documentación aportada por el cliente y la entregada al completarse cada hito dentro del proyecto. Para su mejor comprensión hemos agrupado todos los artefactos posibles del proceso en tres grandes grupos: Artefactos entregados por el cliente, Artefactos internos del proceso y Artefactos entregables al cliente. No siempre en todo proyecto se crean los mismos artefactos, esto dependerá de las características del proyecto y los requisitos del cliente, siendo tarea de la gestión de la configuración el definir qué artefactos específicos y con qué nivel de formalidad se crearán para el proyecto en cuestión. Artefactos entregados por el cliente  Glosario de Términos: Sólo existe uno para todo el sistema, que contiene un conjunto de definiciones concisas para favorecer la comunicación y evitar malos entendidos entre todos los involucrados. Los miembros del proyecto utilizarán el glosario inicialmente para comprender sus términos específicos.
  • 22.  Especificaciones de los casos de uso: Es una colección de documentos que recogen la especificación completa de cada caso de uso. Cada uno contiene los campos: nombre, descripción, actores, precondiciones, pos condiciones, flujo básico, flujos alternativos, puntos de extensión, entre otros que describen en detalle un caso de uso.  Modelo de casos de uso: Es un modelo de las funciones concebidas del sistema y su entorno. Es una entrada importante a actividades de análisis, diseño y prueba. Incluye todos los actores y casos de uso del sistema con sus descripciones. Puede ser entregado directamente en el formato que utilice la herramienta de modelación o gestión empleada, o mediante un informe de este modelo que contenga toda esta información que se complementará con las Especificaciones de los casos de uso.  Especificaciones suplementarias: Este artefacto captura los requerimientos del sistema que no fueron recogidos en el Modelo de casos de uso. Generalmente contiene los requerimientos no funcionales del sistema.  Especificación de requisitos del software: En los casos en que la empresa cliente no desee utilizar el enfoque de casos de uso para la gestión de requisitos, podrá entregar en lugar de los 3 artefactos descritos anteriormente un solo documento que recoja las características, requisitos funcionales y no funcionales del sistema, así como otra información útil como por ejemplo: restricciones en el diseño e implementación, componentes comprados a terceros, interfaces de hardware o software, etc.  Documento de arquitectura del software: Este documento brinda un resumen de la arquitectura utilizando varias vistas diferentes que muestran distintos aspectos del sistema. Es un medio de comunicación entre el arquitecto de software y otros miembros del equipo del proyecto, acerca de las decisiones significativas que han sido tomadas para la arquitectura.  Modelo de diseño: Es una abstracción de la implementación del sistema que normalmente se utiliza para concebir y documentar su diseño. Es un artefacto compuesto que contiene todas las clases, subsistemas, paquetes,
  • 23. colaboraciones y las relaciones entre ellas. También contiene las realizaciones de los casos de uso.  Modelo de datos: Describe la representación física y lógica de los datos persistentes utilizados por la aplicación. Se utilizará siempre que se necesiten manejar datos persistentes. Usualmente describirá los diferentes elementos componentes de la estructura de una base de datos relacional.  Mapa de navegación: Expresa la estructura de los elementos de la interfaz de usuario del sistema, junto a los caminos de navegación principales. Existirá solamente uno de estos artefactos en el sistema y por lo general será empleado para aplicaciones Web.  Prototipo de la interfaz de usuario: Es un ejemplo de la interfaz de usuario que se construye para validar y/o explorar su diseño. El grado de formalidad y herramientas utilizadas para generarlo puede variar mucho de proyecto en proyecto, pudiendo ir desde solo unas cuantas imágenes de pantallas hasta un esqueleto de interfaz de usuario ejecutable producido en un ambiente de Desarrollo rápido de aplicaciones (RAD : Rapid Application Development) o un conjunto de páginas HTML interactivas. En aplicaciones Web pueden ser las imágenes de las diferentes pantallas creadas por el diseñador gráfico. Artefactos Internos del Proceso  Plan de gestión de requisitos: Describe los artefactos de la disciplina, tipos de requisitos y sus respectivos atributos. Especifica la información que deberá ser obtenida y los mecanismos de control que deberán ser utilizados para reportar, medir, y controlar los cambios a los requisitos del producto.  Plan de pruebas: Contiene la definición de los objetivos de las pruebas, los elementos que deberán ser probados, los métodos que deberán utilizarse, los recursos necesarios y documentos a entregar. Usualmente se tiene uno
  • 24. de estos documentos con alcance global para todo el proyecto y uno por cada iteración del ciclo de vida del producto.  Guion de pruebas: Son las instrucciones paso a paso que indican como llevar a cabo una prueba. Pueden ser documentos con información textual que describa cómo realizar la prueba manualmente o archivos de instrucciones legibles por las máquinas que posibiliten la ejecución automatizada de la prueba.  Informe resumen de las pruebas: Organiza y muestra un análisis resumido de los resultados de las pruebas que será entregado a los miembros del equipo de calidad para su revisión y evaluación. Adicionalmente puede contener un enunciado general de la calidad relativa y ofrecer recomendaciones para futuros esfuerzos de prueba.  Plan de gestión de configuración: Describe todas las actividades de Gestión de configuración y cambios que serán realizadas durante todo el ciclo de vida del proyecto. Brinda planificaciones detalladas de las actividades, responsabilidades asignadas, recursos necesarios que incluyen personal, herramientas y equipamiento.  Solicitud de cambio: Los cambios a los artefactos del proyecto se proponen mediante Solicitudes de cambio (Change Requests CR). Estos se utilizan para documentar y controlar defectos, solicitudes de mejoras o cualquier otra solicitud de cambios al proyecto. El beneficio de utilizarlos es que proporcionan un registro de las decisiones y, debido a su proceso evaluativo, se asegura que los impactos de los cambios sean entendidos por todos los miembros del equipo del proyecto.  Plan de desarrollo de software: Es un artefacto compuesto que recoge toda la información necesaria para llevar a cabo la dirección del proyecto. Contiene otros planes no menos importantes que, al igual que éste son desarrollados desde la fase de inicio y mantenidos durante todo el ciclo de vida (Aseguramiento de la calidad, Gestión de riesgos, Métricas, Aceptación del producto y Resolución de problemas).
  • 25.  Plan de la iteración: Es un plan más refinado que contiene un conjunto secuencial de actividades, tareas y recursos asignados a una iteración, por lo que existirá un artefacto de este tipo por cada iteración del ciclo de vida del producto. Incluye los objetivos de la iteración, que son utilizados como criterio de evaluación y miden diferentes aspectos deseables a su final, como grado de terminación de la funcionalidad planificada, niveles de calidad, rendimiento, etc.  Evaluación de la iteración: Se realiza al final de la iteración y captura el grado en que se cumplió el criterio de evaluación, las lecciones aprendidas y los cambios a realizar en la planificación de las subsiguientes iteraciones en función del nuevo conocimiento adquirido. Es un artefacto esencial del enfoque iterativo de desarrollo de software.  Proceso de desarrollo: También conocido como Proceso específico del proyecto, es una configuración del Proceso Unificado de Rational (RUP) para ajustarse a las necesidades del proyecto. Es un artefacto compuesto que contiene: el Caso de desarrollo, plantillas y normativas para el proyecto. Artefactos entregables al cliente  Modelo de implementación: Representa la composición física de la implementación, está constituido por subsistemas y elementos de implementación (directorios y ficheros, incluyendo los de código fuente, datos y ejecutables).  Informe de entrega al cliente: Contendrá una descripción detallada de la estructura de directorios del paquete entregado, instrucciones para la instalación, errores conocidos y cambios realizados en la versión actual del sistema, subsistema o componente implementado. Adicionalmente incluirá cualquier otra información que sea considerada relevante referida al modelo de implementación o los artefactos contenidos en la entrega al cliente.
  • 26.  Documentación de soporte: En función de las características del proyecto, se entregará también la documentación técnica del sistema, subsistema o componente de software implementado, que podrá ser usada posteriormente para su mantenimiento o modificación por parte de otro equipo de desarrollo. Adicionalmente serán entregados los manuales necesarios para el soporte al usuario final. Conclusión El desarrollo del software y la programación es uno de los pilares fundamentales de la informática y al cual se dedican muchas horas de esfuerzos en empresas, y universidades. Conforme a la tecnología va avanzando, van apareciendo nuevas soluciones, nuevas formas de programación, nuevos lenguajes y un sin fin de herramientas que intentan realizar el trabajo del desarrollador un poco más fácil. La programación orientadas a objetos o los compiladores basados en máquinas virtuales (en muchos casos, multiplataforma), también a sus puestos unas renovación en la manera de programar. Microsoft como empresa desarrolladora de software, es consciente de lo importante que es hacer buenos desarrollos y lo complicado que es; por eso, intenta aportar las mejores soluciones al mercado. En la actualidad la sociedad se encuentra en una época de transición, que se encamina hacia un nuevo estilo de programación basada en estándares y para ello Microsoft propone la plataforma .NET. REFERENCIAS WEB Nelson Medinilla Martínez, Facultad de Informática, Universidad Politécnica de Madrid, “Análisis y selección de estrategias de desarrollo de softw are” [En línea], Madrid España [Consulta: Mayo de 2006], <http://is.ls.fi.upm.es/udis/docencia/proyecto/docs/ estrategias.pdf> Carolina Zibert, “Ciclos de vida de Ingeniería de Softw are” [En línea], Caracas Venezuela [Consulta: Abril de 2006],<carolina.terna.net/ingsw 2/Datos/Cascada-ModeloV.doc> Tesis doctorales en Zarza, “Ingeniería de Softw are” [En línea], España [Consulta: Mayo de 2006], <http://w w w .tdx.cesca.es/TESIS_UPC/AVAILABLE/TDX-0716102-102210//05Capitulo05.pdf> Mundo Geek, “Ciclos de vida del softw are” [En línea], [Consulta: Mayo de 2006], <http://mundogeek.net/archivos/2004/05/20> Wikipedia Foundation Inc, EUA Desarrollo en Cascada [En línea], St. Petersburg [Consulta: Mayo de 2006], <http://es.w ikipedia.org/w iki/Modelo_en_cascada> Instituto Tecnológico de la paz, “Análisis y diseño de sistemas Modelo de Espiral” [En línea], México [Consulta: Mayo de 2006], <http://w w w .itlp.edu.mx/publica/tutoriales/ analisis/index.htm>