Modelo cascada, espiral,incremental

trabajo muy completoDescripción completa

Views 125 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INSTITUTO TECNOLOGICO SUPERIOR DE CENTLA ING. SISTEMAS COMPUTACIONALES FUNDAMENTOS DE DESARROLLO DE SISTEMAS MAESTRO: ALUMNA:

WILVER POTENCIANO MORALES

CHRISTIAN JOVANA TZEC HERNANDEZ 1

INDICE • • • •

• • • • • • • • • • • •

INTRODUCCION=======================• MODELO EN CASCADA================= • DESCRIPCION======================== • ESTRUCTURA=========================• CARACTERISTICA===================== • VENTAJAS============================ • DESVENTAJAS======================== • MODELO ESPIRAL===================== • DESCRIPCION======================== • ESTRUCTURA======================== • CARACTERISTICAS==================== • VENTAJAS============================ • DESVENTAJAS======================== • MODELO INCREMENTAL=============== • DESCRIPCION ======================= • ESTRUCTURA======================== •

4 5 6 7 10 11 12 13 14 15 19 20 21 22 23 24 2

• •

• • • • • • • • • • • •

VENTAJAS============================ • PROCESO DEL DESARROLLO UNIFICADO==== • DESCRIPCION======================== • ESTRUCTURA=========================• CARACTERISTICAS==================== • PROCESO DEL SOFTWARE PERSONAL=== • DESCRIPCION======================== • PRINCIPIOS========================== • OBJETIVOS ========================== • DESVENTAJAS======================== • VENTAJAS============================ • NIVELES============================= • CONCLUSION========================= • BIBLIOGRAFIA======================== •

25 26 27 28 32 33 34 36 37 38 39 40 42 43

3

INTRODUCCION Al igual que en otros sistemas de ingeniería, los sistemas de software requieren un tiempo y esfuerzo considerable para su desarrollo y deben permanecer en uso por un periodo mucho mayor. Durante este tiempo de desarrollo y uso, desde que se detecta la necesidad de construir un sistema de software hasta que este es retirado, se identifican varias etapas que en conjunto se denominan el ciclo de vida del software y en cada caso, en función de cuales sean las características del proyecto, se configurará el ciclo de vida de forma diferente. Un aspecto esencial dentro de las tareas del desarrollo del software es la documentación de todos los elementos y especificaciones en cada fase. Dado que esta tarea siempre estará influida por la fase del desarrollo en curso, se explicará de forma distribuida a lo largo de las diferentes fases como un apartado especial para recalcar su importancia en el conjunto del desarrollo del software.

4

5

DESCRIPCION

Este modelo admite la posibilidad de hacer iteraciones, es decir, durante las modificaciones que se hacen en el mantenimiento se puede ver por ejemplo la necesidad de cambiar algo en el diseño, lo cual significa que se harán los cambios necesarios en la codificación y se tendrán que realizar de nuevo las pruebas, es decir, si se tiene que volver a una de las etapas anteriores al mantenimiento hay que recorrer de nuevo el resto de las etapas.

Después de cada etapa se realiza una revisión para comprobar si se puede pasar a la siguiente.

6

Estructura Modelo en Cascada(Bennington 1956) El más conocido, esta basado en el ciclo convencional de una ingeniería, el paradigma del ciclo de vida abarca las siguientes actividades:

Ingeniería y Análisis del Sistema

Análisis de los Requisitos

Diseño

Codificación

Prueba

Mantenimiento

7



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: el proceso de recopilación de los requisitos se centra e

intensifica especialmente en el software. El ingeniero de software 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.

8



Codificación: el diseño debe traducirse en una forma legible para la maquina. El paso de codificación realiza esta tarea.



Prueba: 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.



Mantenimiento: el software sufrirá cambios después de que se entrega al cliente. Los cambios ocurrirán debido a que hayan encontrado errores, a 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.

9

CARACTERISTICAS •

Es el más utilizado.



Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios.



Para que el proyecto tenga éxito deben desarrollarse todas las fases.



Las fases continúan hasta que los objetivos se han cumplido.



Si se cambia el orden de las fases, el producto final será de inferior calidad. 10

VENTAJAS •

La planificación es sencilla.



La calidad del producto resultante es alta.



Permite trabajar con personal poco cualificado.

11

DESVENTAJAS •

No refleja realmente el proceso de desarrollo del software



Se tarda mucho tiempo en pasar por todo el ciclo



Perpetua el fracaso de la industria del software en su comunicación con el usuario final



El mantenimiento se realiza en el código fuente



Las revisiones de proyectos de gran complejidad son muy difíciles



Impone una estructura de gestión de proyectos

12

13

DESCRIPCION Propuesto inicialmente por Boehm en 1988.



Desarrollo cíclico (iterativo) donde en cada ciclo se llevan a cabo 4 tareas:

– Determinación de objetivos, alternativas y restricciones – Evaluación de alternativas, análisis y control de riesgos. – Desarrollo y verificación del producto.

– Planificación del siguiente ciclo (fase).



Cada ciclo corresponde a una fase del proyecto.

. 14

Un representación típica de esta estructura:

15

16

En cada iteración Boehm recomienda recopilar la siguiente lista de informaciones:



Objetivos: Se hacen entrevistas a los clientes, se les hace rellenar cuestionarios, etc.



Alternativas: Son las diferentes formas posibles de conseguir los objetivos. Se consideran desde dos

puntos de vista – Características del producto. – Formas de gestionar el proyecto.



Restricciones: – Desde el punto de vista del producto: Interfaces de tal o cual manera, rendimiento, etc. – Desde el punto de vista organizativo: Coste, tiempo, personal, etc.

17



Riesgos: Lista de riesgos identificados.



Resolución de riesgos: La técnica más usada es la construcción de prototipos.



Resultados: Son lo que realmente ha ocurrido después de la resolución de riesgos.



Planes: Lo que se va a hacer en la siguiente fase.



Compromiso: Decisiones de gestión sobre como continuar.

Al terminar una iteración se comprueba que lo que se ha hecho efectivamente cumple con los requisitos establecidos, también se verifica que funciona correctamente. El propio cliente evalúa el producto. No existe una diferencia muy clara entre cuando termina el proyecto y cuando empieza la fase de mantenimiento. Cuando hay que hacer un cambio, este puede consistir en un nuevo ciclo.

18

CARACTERISTICAS •

En cada giro se construye un nuevo modelo del sistema completo.



Este modelo puede combinarse con otros modelos de proceso de desarrollo (cascada, evolutivo)



Mejor modelo para el desarrollo de grandes sistemas.



El análisis de riesgo requiere la participación de personal con alta cualificación.

19

VENTAJAS •

No necesita una definición completa de los requisitos para empezar a funcionar.



Al entregar productos desde el final de la primera iteración es más fácil validar los requisitos.



El riesgo en general es menor, porque si todo se hace mal, solo se ha perdido el tiempo y recursos

invertidos en una iteración (las anteriores iteraciones están bien). •

El riesgo de sufrir retrasos es menor, ya que al identificar los problemas en etapas tempranas hay tiempo de subsanarlos.

20

DESVENTAJAS •

Es difícil evaluar los riesgos.



Necesita de la participación continua por parte del cliente.



Cuando se subcontrata hay que producir previamente una especificación completa de lo que se necesita, y

esto lleva tiempo.

21

22

DESCRIPCION •

Combina elementos del modelo lineal con la filosofía de creación de prototipos.



El primer incremento a menudo es un producto esencial (núcleo).



A partir de la evaluación se planea el siguiente incremento y así sucesivamente.



Es interactivo por naturaleza



Es útil cuando el personal no es suficiente



para la implementación completa

23

Representación grafica:

24

VENTAJAS •

Se puede financiar el proyecto por partes



Apropiado para proyectos grandes de larga duración



No se necesita tanto personal al principio como para una implementación completa

25

26

DESCRIPCION El proceso unificado conocido como RUP, es un modelo de software que permite el desarrollo de software a gran escala, mediante un proceso continuo de pruebas y retroalimentación, garantizando el cumplimiento de ciertos estándares de calidad.

El proceso de desarrollo constituye un marco metodológico que define en términos de metas

estratégicas, objetivos, actividades y artefactos (documentación) requerido en cada fase de desarrollo. Esto permite enfocar esfuerzo de los recursos humanos en términos de habilidades, competencias y capacidades a asumir roles específicos con responsabilidades bien definidas.

27

Estructura del ciclo de vida del proceso de desarrollo unificado: Fases Cada ciclo constas de cuatro fases: inicio, elaboración, construcción, y transición.

28

Cada fase se subdivide en iteraciones. En cada iteración se desarrolla en secuencia un conjunto de disciplinas o flujos de trabajos.

29

Disciplinas

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.

30

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.

31

CARACTERISTICAS  Es iterativo e incremental  Dirigido por los casos de uso  Centrado en la arquitectura

 Enfocado en los riesgos

32

33

DESCRIPCION •

En el año de 1995 el PSP fue propuesto por Watts Humphrey, este inicialmente estaba dirigido para estudiantes.



Para 1997 con el lanzamiento del libro "An Introduction to the Personal Software Process" el PSP ya

estaba destinado a los ingenieros. •

PSP se concentra en las prácticas de trabajo de los ingenieros en una forma individual.



El PSP se caracteriza porque es de uso personal y se aplica a programas pequeños de menos de 10.000

líneas de código.

34



El PSP sirve para producir software de calidad, donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad.



El PSP se centra en la administración del tiempo y en la administración de la calidad a través de la eliminación temprana de defectos.



El PSP busca proporcionar un marco de trabajo para el personal involucrado en el proceso de desarrollo

de software. •

PSP demuestra cómo manejar la calidad desde el principio del trabajo.

35

PRINCIPIOS DEL PSP •

Cada ingeniero es esencialmente diferente (Cada uno se encarga de su trabajo).



Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente procesos bien definidos y medidos.



Los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos, esto mejorará la calidad.



Cuanto antes se detecten y corrijan los defectos menos esfuerzo será necesario.



Es mas efectivo evitar los defectos que detectarlos y corregirlos.



Trabajar bien es siempre la forma más rápida y económica de trabajar.

36

OBJETIVOS DE PSP •

Lograr una disciplina de mejora continua en el proceso de desarrollo.



Medir, estimar, planificar, seguir y controlar el proceso de desarrollo.



Mejorar la calidad del proceso de desarrollo.



En general, PSP provee calidad y productividad. – El tiempo ahorrado en el testeo en base a una mejor calidad ahorra entre un 20 a 40 % del desarrollo…

37

DESVENTAJAS DE APLICAR PSP •

El tiempo requerido para conocerlo



El costo emocional por mantener una disciplina



El ego del cambio en las costumbres

38

VENTAJAS DE APLICAR PSP •

La idea de que ganamos en talento y habilidad



La estimulación por nuevas ideas



Una estructura de trabajo de mejoramiento personal



Tomar control del propio trabajo



La sensación de logro



Una base mejorada para el trabajo en grupo (TSP)



La convicción de que es lo mejor que se puede hacer

39

NIVELES PSP •

El PSP define cinco actividades del marco de trabajo:

– PLANEACIÓN.

– DISEÑO DE ALTO NIVEL – REVISIÓN DEL DISEÑO DE ALTO NIVEL – DESARROLLO – ANÁLISIS DE RESULTADOS

40

NIVELES PSP PSP 3 PSP 2.1 PSP 2 -Revisión del diseño -Revisión del código

Plantillas de diseño (Marco de trabajo y listas) Verificación de tareas de diseño

PSP 1.1

PSP 1 -Aptitud para estimar tamaño.

-Planeación de tareas -Planeación de tiempos

-Informe de pruebas

PSP 0.1 PSP 0 -Practicas actuales desarrollo. -Mantener registros de tiempo trabajado en un proyecto. -Registrar defectos encontrados -Registrar tipos de defectos.

-Establecer estándares de código (Definir “Líneas de código”) -Proponer maneras de mejorar proceso desarrollo -Realizar mediciones

41

CONCLUSION Después de explicar algunos de los modelos de ciclo de vida mas utilizados, ha de surgir una pregunta a la cual daré una respuesta precisa y concreta. ¿Qué modelo de ciclo de vida elegir? y mi conclusión o mi respuesta seria que debemos de elegir el modelo que mejor se adapte al proyecto que desarrollaremos. Podemos analizar para guiarnos al momento de elegir , la complejidad del problema, el tiempo que disponemos para hacer la entrega final, o si el usuario o cliente desea entrega parciales, la comunicación que existe entre el equipo de desarrollo y el usuario y por ultimo que certeza tenemos que los requerimientos dado por el usuario son correctos o complejos.

42

BIBLIOGRAFIA www.slideshare.net www.lsi.ugr.es/~mvega/docis/respsp.pdf www.utvm.edu.mx/OrganoInformativo/orgJul07/RUP www.ia.uned.es/ia/asignaturas/adms/GuiaDidADMS/node10 www.es.kioskea.net/contents/genie-logiciel/cycle-de-vie.php3 www.biblioteca.co.cr/pdf/unidad12-4.pdf www.alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema03.pdf www.scribd.com/doc/11468082/CICLO-DE-VIDA-Y-MODELO-EN-CASCADA -

43