Professional Documents
Culture Documents
METODOLOGAS DE DESARROLLO DE
SOFTWARE SEGN LOS PARADIGMAS
30 de agosto de 2013
Pg. 1
Para reflexionar
Qu es lo ms difcil en la construccin de un software?
Lo ms difcil en la construccin de un sistema software es decidir precisamente qu construir... F. P. Brooks, 1987
Frederick P. Brooks J. fue jefe del proyecto OS/360 sistema operativo de IBM. Es autor del libro The mythical Man-Month, un clsico de la Ingeniera del Software escrito en 1975 y reeditado 20 aos despus y que an sigue vigente. Habla de los problemas relacionados con el desarrollo de proyectos software, y su analoga con otros proyectos de ingeniera.
30 de agosto de 2013
Pg. 2
AGENDA
FUNDAMENTOS DE LA INGENIERIA DE SOFTWARE Conceptos de Ingeniera de SW Gestin del Proyecto de Software Anlisis y Diseo Estructurado del Software: Ingeniera de Software Orientada a Objetos METODOLOGAS DE DESARROLLO DE SOFWARE: Mtrica II Mtrica III RUP Metodologas giles Metodologas Hbridas
30 de agosto de 2013
Pg. 3
Conceptos generales
Qu es el software? Qu es la ingeniera? Qu es la ingeniera del software? Establecimiento y uso de principios de ingeniera para obtener software econmico que trabaje de forma eficiente en mquinas reales (Fritz Bauer, 1968-conferencia OTAN). Ingeniera del Software es la aplicacin practica del conocimiento cientfico en el diseo y construccin de programas de computadora y la documentacin necesaria requerida para desarrollar, operar (funcionar) y mantenerlos (Bohem, 1976). Disciplina para producir software de calidad desarrollado sobre las agendas y costes previstos y satisfaciendo los requisitos (S. Schach 1990, Software Engineering). Ingeniera al software es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin (funcionamiento) y mantenimiento del software (IEEE, 1993)
30 de agosto de 2013 ING. BERTHA MAZON Pg. 4
30 de agosto de 2013
Pg. 5
Proyecto no terminado, nunca se llega a utilizar Desbordamiento de agendas o costes. Las funcionalidades no cubren las expectativas. Problemas funcionales Proyecto realizado en el tiempo previsto, con los costes previstos, con la funcionalidad esperada y ofreciendo un funcionamiento correcto. Fuente: Standish Group Survey,
30 de agosto de 2013 ING. BERTHA MAZON Pg. 6
De las mejores prcticas, extraer modelos de cmo ejecutar esos procesos para evitar
los problemas de la crisis del software CMM / CMMI ISO/IEC TR 15504
30 de agosto de 2013
Pg. 8
Conceptos bsicos
Mtodo
Proceso a seguir para resolver una situacin o problema con un orden y objetivos establecidos. Proceso {actividades} {tareas}
Tcnica
estrategia para desarrollar una actividad de un mtodo mtodo + tcnica + soporte documental
Metodologa
Herramienta
Producto
30 de agosto de 2013
Pg. 9
Mtodo genrico
O PARADIGM AS
Modelo incremental
Pg. 10
PROTOTIPOS
30 de agosto de 2013
Pg. 11
Codificacin
Pruebas e integracin
comprobacin de partes que son ensambladas en conjuntos progresivamente ms grandes Ciclos de Vida
30 de agosto de 2013
Pg. 12
de errores
Adaptacin
Modificacin
30 de agosto de 2013
Pg. 13
Diseo
Pruebas
Integracin
Operacin y mantenimiento
Operacin y mantenimiento
Ciclos de Vida
Pg. 14
30 de agosto de 2013
Modelo incremental
Diseo REQUISITOS Codificacin Pruebas Integracin Operacin Mantenim. Sub-sistema
Diseo Codificacin
Pruebas Integracin
Operacin Mantenim.
Sub-sistema
Diseo Codificacin
Pruebas
entrega de una parte, evaluacin, ajuste y ampliacin Implementacin incremental Desarrollo incremental Prototipo evolutivo
ING. BERTHA MAZON
Ciclos de Vida
Pg. 15
30 de agosto de 2013
SISTEMA
Modelo en espiral
guiado por la identificacin y eliminacin de riesgos potenciales metamodelo: incremental, prototipado
Ciclos de Vida
30 de agosto de 2013 ING. BERTHA MAZON Pg. 16
30 de agosto de 2013
Gestin de proyectos
Ingeniera de sistemas
Definicin del problema Anlisis de la solucin Planificacin de procesos Control de procesos Evaluacin del producto
Diseo del software Codificacin Pruebas unitarias Integracin del subsistema de software
Fuente: http://www.navegapolis.net
30 de agosto de 2013
Pg. 18
El tpico proyecto
En el que se da la siguiente situacin:
- Cmo va el proyecto?
- Bien, bien.
Tres semanas despus - El lunes hay que entregar el proyecto.- No se por qu pero los proyectos se entregan los lunes.
- El lunes !!?. Todava falta mucho!!
- Cmo? Me dijiste que el proyecto iba bien!! Arrglatelas como quieras, pero el proyecto tiene que estar terminado para el lunes.
Si no sabes el tamao del proyecto y no sabes cuanto llevas hecho, nunca sabrs cuando vas a terminar
30 de agosto de 2013 ING. BERTHA MAZON Pg. 19
Diseo Estructurado
El proceso de aplicar tcnicas y principios con el propsito de definir un producto con los suficientes detalles para permitir su realizacin fsica
Diseo + codificacin: consume el 75% del coste de ingeniera sin contar el mantenimiento. Actividades del diseo: Diseo de datos Diseo arquitectnico Diseo de interfaces Diseo procedimental
Diseo
Modelado de Clases, objetos y mecanismos de colaboracin Diagramas de interaccin: secuencia y colaboracin Diagramas de clases Diagramas de objetos Modelo de comportamiento de clases y objetos: Diagramas de actividades y estados Construccin del modelo fsico: diagramas de componentes y de despliegue
Implementacin
A partir de los diagramas de componentes y de despliegue se toman las decisiones iniciales Se implementan las clases de un componente a partir de los diagramas de clases y diagramas de objetos A partir de los diagramas de actividades y de estado se implementa el comportamiento de los mtodos de cada clase
Pruebas
Prueba unitaria de cada clase Prueba de mdulos Pruebas de integracin se realiza siguiendo los escenarios, diagramas de interaccin, actividades y estados
Mantenimiento
Informe de errores Nueva especificacin de requisitos -- > nueva versin Pg. 21
30 de agosto de 2013
METRICA II
Desarrollada por El CREI (Centro Regional para la Enseanza de la Informtica) del Ministerio para las Administraciones Pblicas (MAP) de Espaa. (en 1989 V. 1, 1993 la V. 2, 1995 la V. 2.1) Utiliza el enfoque estructurado del SW Objetivo:
Crear un entorno que permita al equipo de trabajo construir Sistemas, que: den solucin a los objetivos considerados prioritarios en los departamentos vinculados, que estos se desarrollen cuando el usuario los necesite y de acuerdo con los presupuestos y duracin estimados, que sea de calidad para que se mantengan fcilmente y a su vez soportar los cambios futuros de la organizacin. Todo ello utilizando un vocabulario comn y un conjunto completo de tareas y productos finales que ayuden a construir con xito Sistemas de Informacin
30 de agosto de 2013
Pg. 23
Estructura de Mtrica II
Consta de 3 guas: de Referencia, Tcnica y de Usuario Se compone de FASES, MODULOS, ACTIVIDADES Y TAREAS Planificacin del proyecto de software que sirva de gua al equipo de trabajo e involucre a los usuarios en su desarrollo y en sus puntos decisivos. Un conjunto de productos finales a desarrollar. Un conjunto de tcnicas para obtener los productos finales. Las diferentes responsabilidades y funciones de los miembros del equipo de proyecto y de los usuarios.
30 de agosto de 2013
Pg. 24
30 de agosto de 2013
Pg. 27
Planificacin del Sistema de Informacin (SI) Estudio de viabilidad del SI Anlisis del SI de informacin estructurado y OO Diseo del SI estructurado y OO Construccin del sistema de informacin Implantacin y Adaptacin del sistema
Planificacin del Sistema de Informacin Anlisis de requisitos del sistema Especificacin funcional del sistema Diseo tcnico del sistema
30 de agosto de 2013
Pg. 28
30 de agosto de 2013
Pg. 29
RUP
RUP es un proceso de desarrollo de software: Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quin hace qu, cundo y cmo). Objetivos: Asegurar la produccin de software de calidad dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado en la arquitectura, iterativo (mini-proyectos) e incremental (versiones). Es tambin un producto: Desarrollado y mantenido por Rational (de propiedad comercial). Actualizado constantemente para tener en cuenta las mejores prcticas de acuerdo con la experiencia.
30 de agosto de 2013
Pg. 30
RUP
RUP es una gua de cmo usar UML de la forma ms efectiva Aumenta la productividad de los desarrolladores mediante acceso a: Base de conocimiento, plantillas y herramientas. Se centra en la produccin y mantenimiento de modelos del sistema ms que en producir documentos. Existen herramientas de apoyo a todo el proceso: Modelamiento visual, programacin, pruebas, etc.
30 de agosto de 2013 ING. BERTHA MAZON Pg. 31
RUP. Estructura
30 de agosto de 2013
Pg. 32
Mtodos giles
Origen de los mtodos giles En el 2001, 17 crticos de estos modelos, convocados por Kent Beck, que acababa de definir una nueva metodologa denominada Extreme Programming, se reunieron en Salt Lake City para discutir sobre los modelos de desarrollo de software. En la reunin se acu el trmino Mtodos giles Alternativa a las metodologas formales, (CMM-SW, SPICE), consideradas excesivamente pesadas y rgidas por su carcter normativo y fuerte dependencia de planificaciones detalladas, previas al desarrollo. Se define el Manifiesto gil Surgen metodologas hbridas que renen mejores caractersticas de los mtodos formales y giles.
30 de agosto de 2013
Pg. 33
Mtodos giles
Manifiesto gil (2001)
Estamos poniendo al descubierto mejores mtodos para desarrollar software, hacindolo y ayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar:
por encima
por encima por encima por encima
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas 30 de agosto de 2013 ING. BERTHA MAZON http://agilemanifesto.org/ Pg. 34
30 de agosto de 2013
Pg. 37
30 de agosto de 2013
Pg. 38
30 de agosto de 2013
Pg. 39
Comparativa de metodologas
Actividades
Captura de Requisitos Planificacin del proyecto Anlisis y diseo estructurado del SW Anlisis y diseo Orientado a Objetos Codificacin Pruebas Mantenimiento X X X
Mtrica II
X X X
Mtrica III
X X X X X X X
RUP
X X
MA
X X
(rpido)
MH
X X
X X X X
Algunos mtodos
X X X
X X X
X (muy rgido)
X (muy rgido)
30 de agosto de 2013
Pg. 40
CONCLUSIONES
Las personas, aunque sean buenas, no pueden realizar bien su trabajo si el procedimiento no les gua. Es vital que las organizaciones adquieran un procedimiento (metodologa) si quieren realizar SW de calidad. Estandarizar el desarrollo de software a travs de procesos definidos que permitan realizar proyectos de un modo repetitivo. Si se quiere mejorar es necesario un cambio de mentalidad en toda la organizacin, un proceso de formacin continua, paciencia, tiempo y disciplina La disciplina debe ser asumida y no impuesta.... Las personas odiamos que nos impongan las cosas y tenemos miedo al cambio.
30 de agosto de 2013
Pg. 41
BIBLIOGRAFA
"SWEBOK, Software Engineering Body of Knowledge". 2004. www.swebok.org Sommerville, I., "Software Engineering. 6th edition". Addison Wesley. 2000 Pressman R.S. "Ingeniera del software. Un enfoque prctico". McGrawHill/Interamericana, 5 edicin, 2001. Traducido del ingles "Software Engineering: A Practitioners Approach", McGrawHill, European adaption. Rational. http://www.rational.com IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications: IEEE, 1998. Jacobson, I., Booch, G. y Rumbaugh, J., "El proceso unificado de modelado", Addison Wesley, 2000. Rolland C. Praskash, N. From conceptual modeling to requirement engineering, Annals of software engineering 10 (2000) 151-176 Navegapolis.net. http://www.navegapolis.net Vico.org. http://www.vico.org S. L. Pfleeger, "Software Engineering: Theory and Practice," Second ed:. Prentice-Hall, 2001.
30 de agosto de 2013
Pg. 42
30 de agosto de 2013
Pg. 43