modelos de procesos de software(completo)

22
Cascada :toma actividades fundamentales de proceso de desarrollo , validación y evolución luego las representa en procesos tales como requerimientos , implementacion,etc, MODELOS DE PROCESOS DE SOFTWARE

Upload: david-rosero

Post on 03-Jul-2015

660 views

Category:

Documents


2 download

DESCRIPTION

trabajo de grupo luis cando david rosero

TRANSCRIPT

Page 1: Modelos de procesos de software(completo)

Cascada :toma actividades fundamentales de proceso de desarrollo ,

validación y evolución luego las representa en procesos tales como

requerimientos , implementacion,etc,

MODELOS DE PROCESOS DE

SOFTWARE

Page 2: Modelos de procesos de software(completo)

Diseño del Sistema

Se 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 Diseño del Software), que contiene la descripción de la estructura relacional 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.

Diseño del Programa

Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario así como también los análisis necesarios para saber que herramientas usar en la etapa de Codificación.

Codificación

Es la fase de programación o implementación propiamente dicha. Aquí se implementa el código fuente, haciendo uso de prototipos así como pruebas y ensayos para corregir errores.

Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y componentes reutilizables dentro del mismo proyecto para hacer que la programación sea un proceso mucho más rápido.

Pruebas

Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que funciona correctamente y que cumple con los requisitos, antes de ser puesto

Implantación

El software obtenido se pone en producción. Se implantan los niveles software y hardware que componen el proyecto. La implantación es la fase con más duración y con más cambios en el ciclo de elaboración de un

proyecto. Es una de las fases finales del proyecto.Durante la explotación del sistema de software pueden surgir cambios, bien para corregir errores o bien para

introducir mejoras. Todo ello se recoge en los Documentos de Cambios.

FASES

Page 3: Modelos de procesos de software(completo)

Análisis y definición de requerimientos : los servicios, las restricciones y las

metas del sistema se establece mediante una consulta a los usuarios del

sistemas

PRUEBAS

Page 4: Modelos de procesos de software(completo)

Diseño del sistema y software : el proceso de diseño del sistema asigna los

requerimientos , para e sistema de hardware o de software establece una

arquitectura de sistema global es el resumen las extracciones fundamentales

del sistema

Page 5: Modelos de procesos de software(completo)

Implementación y pruebas de unidad: durante esta etapa , el diseño de

software se realiza como un conjunto de programas , es verificar su

complimiento

Page 6: Modelos de procesos de software(completo)

Integración y pruebas de sistemas : las unidades de programas o individuales

se integran como una prueba completa después de estas pruebas se liberan al

cliente el sistema.

Page 7: Modelos de procesos de software(completo)

Operaciones y mantenimiento :esta mas larga cuando se corrige errores y se

pone en practica un mantenimiento .

Page 8: Modelos de procesos de software(completo)

Una de las ventajas de la herencia y la composición es el soporte al desarrollo

incremental permitiendo introducir nuevo código sin causar fallos en el ya

existente. Si aparecen fallos, éstos son rectificados con nuevo código.

Heredando de (o componiendo con) clases y funciones existentes y añadiendo

miembros de datos y funciones miembros (y redefiniendo las funciones

existentes durante la herencia) puede dejar el código existente - por otro que

todavía se esta usando - que alguien todavía lo este utilizando. Si ocurre algún

error, ahora sabe donde esta el nuevo código, y entonces podrá leerlo mas

rápido y fácilmente que si lo hubiera modificado en el cuerpo del código

existente.

DESARROLLO INCREMENTAL

Page 9: Modelos de procesos de software(completo)

EJEMPLO

Page 10: Modelos de procesos de software(completo)

Son 3

1 se reduce el costo de adaptar los requerimientos cambiantes del cliente , es

mucho mas requerido el modelo cascada

2 es mas sencillo obtener retroalimentación del cliente sobre el trabajo que se

realizo

3 mas rápida la entrega y implementación del mismo

BENEFICIOS

Page 11: Modelos de procesos de software(completo)

En la mayoría de los proyectos de software hay ciertas reutilización de

software , esto sucede cuando las personas trabaja en proyectos de código

similares

1 análisis de componentes: da una especificación de requerimientos, se realiza

una búsqueda de componentes para implementar dicha aplicación

2 modificación de requerimientos :durante esta etapa se analizan

requerimientos de dicha reflejan los componentes todo mundo

3 diseño de sistema con reutilización : este se diseña marco de conceptual del

sistema es posible diseñar un nuevo software con esta base

4 desarrollo e integración : se diseña software que no puede procurase de

manera externa y crea un nuevo sistema ,desarrolla proceso ves de actividades

independientes

INGENIERÍA DE SOFTWARE

ORIENTADA A LA REUTILIZACIÓN

Page 12: Modelos de procesos de software(completo)

Servicios web estos se desarrollan atender servicios y se atiende des terminales

remotas

Colecciones de objetos son marcos de componentes Net o J2ee

Sistema de software independientes se configuran en un entorno particular

TIPOS DE SISTEMAS UTILIZADOS

EN LA REUTILIZACIÓN

Page 13: Modelos de procesos de software(completo)

Son secuenciales y entrelazadas de actividades técnicas y administrativas son herramientas manejar grandes volúmenes de información. , estas depende de

software personal para trabajar y programación extrema .

Especiación de software

La Especificación de Requisitos Software (ERS) es una descripción completa del comportamiento del sistema que se va a desarrollar. Incluye un conjunto

de casos de uso que describe todas las interacciones que tendrán los usuarios con el software. Los casos de uso también son conocidos como requisitos funcionales. Además de los casos de uso, la ERS también contiene requisitos no funcionales (o

complementarios). Los requisitos no funcionales son requisitos que imponen restricciones en el diseño o la implementación (Como por ejemplo restricciones en

el diseño o estándares de calidad).

ACTIVIDADES DEL PROCESO

Page 14: Modelos de procesos de software(completo)

Estudio de factibilidad

Obtención y análisis de requerimientos

Validación de requerimientos

Administración de requerimientos

El análisis y la especificación de requisitos pueden parecer una tarea relativamente sencilla, pero las apariencias engañan. El contenido de comunicación es muy

denso. Abundan las ocasiones para malas interpretaciones o falta de información. Es muy probable que haya ambigüedad. El dilema al que se enfrenta el ingeniero de software puede entenderse muy bien repitiendo la famosa frase de un cliente anónimo: “Sé que cree que entendió lo que piensa que dije, pero no estoy seguro

de que se dé cuenta de que lo que escuchó no es lo que yo quise decir”.

ACTIVIDADES DE PROCESOS DE

REQUERIMIENTOS

Page 15: Modelos de procesos de software(completo)

Llamado verificación y validación (V&V) para mostrar que un sistema cumple

tanto con las especificaciones como con las expectativas del cliente, puede

incluir procesos de comprobación.

Con excepción de programas pequeños los sistemas no deben ponerse en

pruebas como una unidad monolítica, de modo que los errores produce cuan

el sistema está en mantenimiento.

VALIDACIÓN DE SOFTWARE

Page 16: Modelos de procesos de software(completo)

Una de las razones principales por la que cada vez más software se incorpora

en los sistemas grandes y complejos.

Esta distinción entre desarrollo y mantenimiento es cada vez más irrelevante.

Es muy difícil que cual quiera sistema sea un sistema complejo nuevo.

EVOLUCIÓN DEL SOFTWARE

Page 17: Modelos de procesos de software(completo)

Es inevitable en todos los grandes proyectos de software. Los requerimientos

varían conforme el tamaño de la empresa, a medida que se pone a disposición

nuevas tecnologías, surgen nuevas posibilidades del diseño e implementación,

es decir que cambia cualquier que se haya desarrollado y volver a probar el

sistema.

Existen dos enfoques relacionados que se usan para reducir los costos de

rehacer.

1.- Evitar el cambie donde el proceso del software incluye actividades que

anticipa cambios posibles antes de requerirse la labor significativa de rehacer.

2.- Tolerancia al cambio, donde el proceso se diseña de modo que los cambios

se ejecuten con un costo relativamente bajo..

COMO ENFRENTAR EL CAMBIO

Page 18: Modelos de procesos de software(completo)

Es una versión inicial del sistema que se usa para demostrar conceptos, tratar

opciones de diseños y encontrar más sobre el problema y sus posibles

soluciones.

Un prototipo de desarrollo de software se usa en un proceso de desarrollo

software para contribuir a anticipar los cambios que se requieran:

1.- El proceso de ingeniería de requerimiento, un prototipo ayuda con la

selección y validación de requerimiento de sistema.

2.- En el proceso del diseño de sistema, un prototipo sirve para buscar

soluciones específicas de software y apoyar el diseño de interfaces del usuario.

CREACIÓN DE PROTOTIPO

Page 19: Modelos de procesos de software(completo)

Es u enfoque al desarrollo del software donde algunos de los incrementosdiseñados se entrega al cliente y se implementa para usarse en un entornooperacional, llamado proceso de entrega incremental.

Una vez identificado los incrementos del sistema, se define como detalle losrequerimientos de los servicios que se van a entregar en el primer incremento.

Y las entregas incrementales tienen una ventaja.

1.- Los clientes pueden utilizar los primeros incrementos como prototipo ypueden adquirir experiencias que informe sobre sus requerimientos.

2.- Los clientes deben esperar hasta la entrega completa del sistema, antes de ganarel valor del mismo.

3.-El proceso mantiene los beneficios del desarrollo incremental en cuanto a quedebe ser relativamente sencillo incorporar cambios al sistema.

4.- Puesto que primero se entrega los servicios de mayor prioridad y luego seintegra los incrementos, los servicios de sistemas más importantes reciben mayorespruebas.

ENTREGA INCREMENTAL

Page 20: Modelos de procesos de software(completo)

El proceso del software se representa como un espiral, y como una secuencia deactividades como cierto retroceso de una actividad a otra.

Cada ciclo en espiral representa una fase de los procesos del software y el ciclo másinterno puede relacionar con la factibilidad del sistema. etc.

Cada ciclo en espiral se divide en 4 ciclos:

1.- Establecimiento del objeto.- Se define como objetivo específico para dicha fasedel proyecto o restricciones en el proyecto o en el producto.

2.-Valoracion y reducción del riesgo.- Se realiza un análisis minuciosos es decir seda acciones para reducir el riesgo.

3.- Desarrollo y validación.- Se elige un módulo de desarrollo para el sistema.

Ejemplo

Creación de prototipo desechable sería el mejor enfoque de desarrollo.

4.- Planeación.- El proyecto se revisa y se toma una decisión sobre si hay quecontinuar con otro ciclo de espiral.

La diferencia Principal entre el modelo en espiral con otros modelos del procesosdel software es su reconocimiento explícito de riesgo.

MODELO ESPIRAL

Page 21: Modelos de procesos de software(completo)

“RUP” (Rational Unified Process) Es un ejemplo del modelo del proceso

moderno que se derivó de trabajo sobre el UML y procesos asociados de

desarrollo de software unificado, ilustra la buena práctica en especificación y

diseño, la cual apoya la creación de prototipo y entrega incremental.

RUP presenta una sola visión del proceso, por lo general se describe tres

perspectivas.

1.-Una perspectiva dinámicas que muestran las fases del modelo atreves del

tiempo.

2.-Una perspectiva estática que presentas las actividades del proceso que se

establecen

3.-Una perspectiva practica que sugiere buena práctica a usar durante el

proceso.

EL PROCESO UNIFICADO RACIONAL

Page 22: Modelos de procesos de software(completo)

RUP busca combinar la perspectiva estática y dinámica en un solo diagrama y haces que seadifícil de entender.

RUP tiene cuatro fases discretas en el proceso del software, a diferencia de modelo encascada, donde la fase se iguala con actividades del proceso.

RUP está vinculada estrechamente con la empresa que con la preocupación técnica.

Fases:

• Concepción.- establecer un caso empresarial para el sistema.

• Elaboración.- Desarrollar la comprensión del problema de dominio, y establece unmarco conceptual arquitectónico para el sistema.

• Construcción.- Incluye diseño, programación y pruebas del sistema.

• Transición.- Se interesa por el cambio del sistema desde la comunidad del desarrollohasta el usuario.

En RUP cada fase se puede presentar en una forma interactiva, con los resultadosdesarrollados incrementales.

Describe la buena práctica de ingeniería, lo que se recomienda son:

1.Desarrollo de software de manera interactiva.

2.Gestión de requerimiento

3.Usar arquitectura basada en componentes

4.Software modelado vidualmente

5.Verificar la calidad de software.

6.Controlar los cambios del software.