SlideShare una empresa de Scribd logo
3. El proceso de desarrollo de software 1
¿Que queremos decir con
proceso de desarrollo?
Deseos,
necesidades,
Especificaciones,
…
Software
3. El proceso de desarrollo de software 2
Introducción al proceso de
desarrollo.
• En general, cuando las personas
abordan el desarrollo de cualquier
proyecto evolucionan desde ideas
abstractas hacia concreciones
realizables.
3. El proceso de desarrollo de software 3
Es extraño que alguien diga:
– "Me puse a programar y me salió una
contabilidad"
– Algunas aplicaciones da la impresión de que...
– Recordar que la probabilidad de que un mono teclee en
una maquina de escribir y salga el quijote no es cero
3. El proceso de desarrollo de software 4
Normalmente el
planteamiento es:
• Vamos a desarrollar una contabilidad,
• Hacer la especificación.
• en Visual BASIC y Access,
• Realizar el diseño.
• y se codifica la aplicación.
3. El proceso de desarrollo de software 5
El grado de precisión con que se
lleve a cabo cada paso influirá en
el resultado
• ¿Me podrías indicar, por favor, hacia
dónde tengo que ir?
• Eso depende de adónde quieras llegar,
contesto el gato.
• A mí no me importa demasiado adónde...-
empezó a explicar Alicia.
• En ese caso, da igual cualquier dirección -
interrumpió el Gato.
• ...Siempre que llegue a alguna parte -
terminó Alicia a modo de explicación.
• Basta que empieces a andar - le aseguro el
Gato-, dando un paso tras otro.
– Alicia en el país de las maravillas
3. El proceso de desarrollo de software 6
Ingeniería e Ingeniería del
Software
• ¿Donde nos encontramos?
• ¿Que hace un Ingeniero?
• Definiciones de Ingeniería del
software
• Técnicas básicas utilizadas
históricamente
3. El proceso de desarrollo de software 7
¿Donde nos encontramos?
• Con Problemas, tendremos que disponer de:
– Técnicas de desarrollo que minimicen la
complejidad de un sistema software.
– Métodos y conceptos que permitan al productor
y al cliente explorar la naturaleza del sistema
software lo antes posible.
– Técnicas que minimicen los efectos
devastadores de las modificaciones durante el
desarrollo y la explotación.
3. El proceso de desarrollo de software 8
¿Que hace un Ingeniero?
• Construir artefactos dentro de unas
limitaciones de coste, utilizando el
conocimiento y las teorías de la ciencia
sobre la cual se basa el artefacto.
3. El proceso de desarrollo de software 9
Definición de la ingeniería
del software (NATO ‘68)
• La ingeniería del software es el
establecimiento y uso de principios de
ingeniería razonables con el objetivo
de obtener software económicamente,
que sea de confianza y trabaje
eficientemente en las maquinas
reales.
3. El proceso de desarrollo de software 10
Definición
(R.E. Fairley 1985)
• Hemos definido la Ingeniería del Software como la
disciplina tecnológica concerniente a la producción
y mantenimiento sistemáticos de productos
software que son desarrollados y modificados en el
tiempo y con los costes estimados...
• Además, la Ingeniería del software tiene que ver
con cuestiones de gestión que caen fuera del
dominio de la programación tradicional.
3. El proceso de desarrollo de software 11
Características de la ingeniería del
software (Van Vliet 1993)
• Construcción de programas grandes
• Controlar la complejidad
• Cooperación entre las personas
implicadas
• Evolución del software
• Eficiencia en el desarrollo
• Soporte real a los usuarios
3. El proceso de desarrollo de software 12
Modelo de la Ingeniería del
software (Thayer 1988)
Analisis
Diseño
Codificación
Pruebas
Desarrollo
de Software
Planificación
Organización
Reclutamiento
Dirección
Control
Gestión de
proyectos
Fiabilidad
Usabilidad
Flexibilidad
Mantenibilidad
Reusabilidad
Etc.
Metricas
del software
Corrección de Errores
Modificaciones
Mantenimiento
de software
Ingeniería
del software
3. El proceso de desarrollo de software 13
Técnicas básicas usadas en
las ingenierías
• Históricamente se han utilizado
técnicas como:
– El modelado
– División del Producto
– División del Proceso
• En principio se deberían utilizar estas
técnicas, también en informática .
3. El proceso de desarrollo de software 14
El modelado.
• Simplificación del objeto en el mundo
real, pero que es suficientemente
realista como para dar una idea de lo
que ocurrirá en la realidad y usarse
como base del desarrollo.
3. El proceso de desarrollo de software 15
División del Producto.
• Se fracciona el producto de modo que
cada fragmento lo puede realizar un
miembro del grupo de desarrollo.
3. El proceso de desarrollo de software 16
¿Que
?
División del Proceso.
• Implica dividir el desarrollo del artefacto
por fases. Normalmente se habla de
especificación, diseño y fabricación.
¿Como? Realización Pruebas
3. El proceso de desarrollo de software 17
En el desarrollo de software nos
encontramos con la siguiente situación
Ciclos de
Vida del
SOFTWARE
Metodologías de
Desarrollo del
SOFTWARE
3. El proceso de desarrollo de software 18
Ciclo de Vida del Software
• Consiste en determinar:
– las fases productivas de un proyecto,
– los objetivos de cada fase productiva, y
– los productos obtenidos en cada una de
estas fases así como sus características.
3. El proceso de desarrollo de software 19
Ciclos de Vida del Software
– Se han propuesto muchos ciclos de vida
para el desarrollo del software, pero estos
son los más representativos:
– Poner la cola al burro.
– Ciclo de vida clásico o en cascada.
– Construcción rápida de Prototipos Desechables
– Incremental
– Evolución de prototipos
– Reutilización de Software
– Síntesis automática de software
– En espiral.
3. El proceso de desarrollo de software 20
Poner la cola al burro
• Se coge a uno o varios
informáticos,
• Se les muestra más o
menos el problema,
• Se les deja solos en un
cuarto a oscuras,
• Transcurrido un tiempo
se abre la puerta.
3. El proceso de desarrollo de software 21
Ciclo de vida clásico o en
cascada.
• La Versión Ideal (Perfecta)
• El Modelo en V
• El Helado de Cucurucho
• El Modelo Real
• Propuesta de Yourdon
3. El proceso de desarrollo de software 22
Validación
Instalación, Explotación
Test y pruebas previas a la
OPERACIÓN
OPERACIÓN Y MANTENIMIENTO
Estudio de Viabilidad
Análisis
Especificación
Requerimientos
del Software
Diseño
Especificación de diseño
Diseño Preliminar y
Detallado
Codificación
Aplicación
Codificación y
Depuración
La Versión Ideal
A alguien se le ha ocurrido la Brillante idea de Informatizar
¿?
Investigación Inicial, Identificación de
Necesidades, Encuesta, etc.
Requerimientos
del Sistema
3. El proceso de desarrollo de software 23
El Modelo en V
Identificación
de Necesidades
Especificación
Esencial
Especificación
Física
Diseño
Codificación
Integración
Empaquetado
Validación
Explotación
3. El proceso de desarrollo de software 24
El Helado de Cucurucho
Identificación
de Necesidades
Especificación
Esencial
Especificación
Física
Diseño
Codificación
Integración
Empaquetado
Validación
Explotación
USUARIOS
CLIENTES
ANALISTA
DISEÑADORES Y
CODIFICADORES
3. El proceso de desarrollo de software 25
El Modelo Real
Identificación
de Necesidades
Especificación
Esencial
Especificación
Física
Diseño
Codificación
Integración
Empaquetado
Validación
Explotación
3. El proceso de desarrollo de software 26
Propuesta de Yourdon
Encuesta
Análisis
diseño
Preliminar
Estudio
del HW
Diseño
Detallado
Codificación
Prueba de
Unidad
Prueba de
subsistema
Prueba de
Sistema
Requerimientos del Usuario
Especificación
Funcional
Necesidades de
Rendimiento
Especificación
del Sistema
Configuración
Final
Especificación
de los
Programas
Módulos
Codificados
Módulos
Probados
Subsistemas
Probados
Sistema
Probado
3. El proceso de desarrollo de software 27
Construcción Rápida de
Prototipos Desechables
• Al igual que otras ingenierías se
utilizan los prototipos para que el
cliente observe, confirme y mejore el
producto
– Este enfoque es apropiado cuando:
• El cliente no tiene claro lo que quiere,
• Al cliente le gustaría ver algo similar para
poder hacerse una idea de lo que obtendrá
3. El proceso de desarrollo de software 28
El ciclo de vida de Prototipos
Desechables es el siguiente:
Aceptado
NO Aceptado
Evaluación
Cliente
Mejora de la
Especificación
Construcción
Prototipo
Obtención
Especificación
Ciclo de
Vida
Clásico
3. El proceso de desarrollo de software 29
Existen dos clases de
prototipos
• De INTERFACE.
– Usualmente un modelo de papel o sobre PC en el
que se muestran pantallas y listados.
• De COMPORTAMIENTO:
– En anchura. Ofrece todos los menús del sistema
y simula débilmente los procesos.
– En profundidad. Cubre funciones que presentan
ambigüedades al cliente o a los informáticos.
– Completo pero de baja calidad y rendimiento.
3. El proceso de desarrollo de software 30
Incremental
Requerimientos
Requeri
mientos
Diseño Impleme
ntación
Pruebas
Bloque 1
Requeri
mientos
Diseño Impleme
ntación
Pruebas
Bloque N
Requerimientos
Bloque 1
Diseño Impleme
ntación
Pruebas
Bloque N
Diseño Impleme
ntación
Pruebas
o
Permite el
desarrollo
concurrente
3. El proceso de desarrollo de software 31
Evolución de Prototipos
Observación
Requerimientos
Abstracción
Validación
Especificación
Verificación
Prototipo
Verificación
Experimentar
Validación
Empezamos por los
requerimientos más claros,
menos complejos y más
necesarios.
Prototipo rápido
3. El proceso de desarrollo de software 32
Reutilización de Software
• Tiene como objetivos:
– reducir el coste del software.
– Producir sistemas de mayor calidad.
• Se basa en reutilizar Diseños,
programas, módulos y datos.
• Es compatible con el prototipo
evolutivo.
3. El proceso de desarrollo de software 33
Síntesis automática de
software
Requerimientos
Informales Análisis de
Requerimientos
Especificación Formal
(Prototipo)
Validación
Mantenimiento Optimización
Mecánica
Desarrollo
Formal
Ajuste
(tuning)
Programa
Fuete
Racionalidad y
Decisiones
3. El proceso de desarrollo de software 34
En espiral.
Determinar objetivos,
alternativas, restricciones
Evaluar alternativas,
identificar y resolver
riesgos
Desarrollar, verificarPlanificar las próximas
fases
REVISIÓN
Acuerdo
3. El proceso de desarrollo de software 35
Metodologías de Desarrollo
del Software
• Métodos informales
• Métodos Semiformales
• Métodos Formales
3. El proceso de desarrollo de software 36
Métodos informales
• Joaquín Lucio-Villegas los clasifica
como:
– Quick & Dirty (USA)
– Match stick box (Europa)
– Balones p'alante y maricón el último
3. El proceso de desarrollo de software 37
Métodos Semiformales
• Métodos Estructurados
– SA/SD (structured analysis & structured
design)
– Métrica
• Métodos Orientados a Objetos
– OMT
– UML
3. El proceso de desarrollo de software 38
PROCESOS DATOS
Métodos Estructurados
• Métodos Orientados a la Estructura
de los Datos
• Métodos de flujo de datos
3. El proceso de desarrollo de software 39
Métodos Orientados a
Objetos
• Los métodos orientados a objeto describen
e implementan los sistemas de información
desde un punto de vista ontológico.
3. El proceso de desarrollo de software 40
Métodos Formales
• Los métodos formales permiten al ingeniero de
software especificar, desarrollar y verificar un
sistema informático mediante la aplicación de una
notación matemática rigurosa.
• Utilizando un lenguaje de especificación formal,
un método formal proporciona los medios de
especificar un sistema de forma que se aseguren,
de forma sistemática, la consistencia, la
completitud y la corrección.
• Se suelen basar en notaciones matemáticas
similares a las del álgebra de conjuntos y la lógica
3. El proceso de desarrollo de software 41
Madurez del proceso en la
organización de desarrollo
• La misma industria, diferentes niveles
de madurez.
3. El proceso de desarrollo de software 42
Madurez del proceso en la
organización de desarrollo
• Hay factores que no quedan
claramente reflejados en el ciclo de
vida ni en las técnicas de desarrollo.
• Los factores no estudiados son:
– El cumplimiento de los plazos de entrega.
– La calidad (número de errores en el
Software).
– El coste del proyecto.
3. El proceso de desarrollo de software 43
CMM (Capability Maturity
Model)
• Proporciona una Guía sobre como
– controlar los procesos:
• de desarrollo del software.
• de mantenimiento.
– Hacer evolucionar hacia una cultura de:
• Ingeniería del software.
• Gestión eficiente.
3. El proceso de desarrollo de software 44
Inicial
Repetible
Optimización
Gestionado
Definido
Control
Básico
Definición
del
Proceso
Medición
del
Proceso
Control
del
Proceso
Evolución de las
organizaciones según el CMM
3. El proceso de desarrollo de software 45
Correlación entre estimaciones y
niveles de madurez
3. El proceso de desarrollo de software 46
Nivel Inicial.
• Según las circunstancias utilizamos un
proceso distinto. (algunos caóticos)
• A medida,
• Poco formalizado,
• Uso de herramientas informales.
• Pocos procesos definidos.
• El éxito depende del esfuerzo individual.
3. El proceso de desarrollo de software 47
Nivel de Repetición.
• Se tiene procesos estables de desarrollo,
con control estadístico.
• Uso de datos historicos
• Establecimiento de procesos de gestión
de proyecto, para hacer seguimiento de:
– Coste.
– Planificación.
– Funcionalidad.
3. El proceso de desarrollo de software 48
Nivel de Definición.
• Proceso de desarrollo perfectamente
definido y estandarizado.
• Integrado en la organización.
• Bien documentado.
• Todos los proyectos utilizan una
versión documentada y aprobada de
proceso.
3. El proceso de desarrollo de software 49
Nivel de Gestión.
• Mejoras de calidad sustanciales.
• Control cuantitativo de productos y
proceso a través de
– Mediciones del proceso comprensibles.
– Mediciones de la calidad
3. El proceso de desarrollo de software 50
Nivel de Optimización.
• A través de mediciones del proceso
utilizando ideas y tecnologías
innovadoras obtenemos:
– Mejoras en calidad y cantidad.
3. El proceso de desarrollo de software 51
Resumen
• Hemos visto:
– Como trabajan los ingenieros,
– Definiciones de ingeniería del software,
– El ciclo de vida del software,
– Metodológicas de desarrollo
– Madurez del proceso de desarrollo.

Más contenido relacionado

La actualidad más candente

Administracion y Gestion de Proyectos
Administracion y Gestion de ProyectosAdministracion y Gestion de Proyectos
Administracion y Gestion de Proyectos
RodolfoRojasEscalante
 
Tema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareTema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareLuis Garcia
 
Paradigmas
ParadigmasParadigmas
Paradigmas
guest09eda8
 
Inenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologiasInenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologias
laudyt
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_softwareuniv of pamplona
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
CrisCobol
 
01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_softwarePaola Galindo
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
juankexmisiodj
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
firemas
 
procesos de desarrollo de sw
procesos de desarrollo de swprocesos de desarrollo de sw
procesos de desarrollo de sw
Luis Lucho
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosMelissa Burgos
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
Carlos Anibal Riascos Hurtado
 
Programación Extrema (XP)
Programación Extrema (XP)Programación Extrema (XP)
Programación Extrema (XP)
Lucas Passalacqua
 
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
marihencely
 

La actualidad más candente (15)

Administracion y Gestion de Proyectos
Administracion y Gestion de ProyectosAdministracion y Gestion de Proyectos
Administracion y Gestion de Proyectos
 
Tema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareTema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del software
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Inenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologiasInenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologias
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
procesos de desarrollo de sw
procesos de desarrollo de swprocesos de desarrollo de sw
procesos de desarrollo de sw
 
Monografia metodologia xp
Monografia   metodologia xpMonografia   metodologia xp
Monografia metodologia xp
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
 
Programación Extrema (XP)
Programación Extrema (XP)Programación Extrema (XP)
Programación Extrema (XP)
 
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
 

Similar a Software

Desarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxDesarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptx
Moises Martinez
 
Introducción al Desarrollo de Software
Introducción al Desarrollo de SoftwareIntroducción al Desarrollo de Software
Introducción al Desarrollo de Software
Barbara brice?
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16Ramon
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software142918
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaresamantha
 
El Proceso De Desarrollo De Software
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Software
ahias arosemena
 
Ciclosdevida procesos
Ciclosdevida procesosCiclosdevida procesos
Ciclosdevida procesos
ljds
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
mrojas_unitec
 
Gestion de Proyectos
Gestion de ProyectosGestion de Proyectos
Gestion de Proyectos
RodolfoRojasEscalante
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
bren1995
 
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptxPROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
AlexChavezAlaniz
 
Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
Juan Manuel Gonzalez Calleros
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de SoftwarePablo Niama
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Educagratis
 
Prototipado
PrototipadoPrototipado
Prototipado
Misael Cruz
 
Prototipos
PrototiposPrototipos
Prototipos
Tensor
 

Similar a Software (20)

Desarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxDesarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptx
 
Introducción al Desarrollo de Software
Introducción al Desarrollo de SoftwareIntroducción al Desarrollo de Software
Introducción al Desarrollo de Software
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
El Proceso De Desarrollo De Software
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Software
 
Ciclosdevida procesos
Ciclosdevida procesosCiclosdevida procesos
Ciclosdevida procesos
 
Clase 11
Clase 11Clase 11
Clase 11
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Gestion de Proyectos
Gestion de ProyectosGestion de Proyectos
Gestion de Proyectos
 
Cap1 gestion
Cap1 gestionCap1 gestion
Cap1 gestion
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptxPROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
 
Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
 
Prototipado
PrototipadoPrototipado
Prototipado
 
Prototipos
PrototiposPrototipos
Prototipos
 

Último

informecbdlp-240603151721-44655eeh2.docx
informecbdlp-240603151721-44655eeh2.docxinformecbdlp-240603151721-44655eeh2.docx
informecbdlp-240603151721-44655eeh2.docx
IsabellaCortes7
 
Patrimundi Recuperadora Bancaria en Cancun
Patrimundi Recuperadora Bancaria en CancunPatrimundi Recuperadora Bancaria en Cancun
Patrimundi Recuperadora Bancaria en Cancun
DianaArtemizaCP
 
Desarrollo de habilidades de pensamiento (1).pdf
Desarrollo de habilidades de pensamiento (1).pdfDesarrollo de habilidades de pensamiento (1).pdf
Desarrollo de habilidades de pensamiento (1).pdf
marianamadronero578
 
capitulo-18-sistema--706807-downloadable-2573126.pdf
capitulo-18-sistema--706807-downloadable-2573126.pdfcapitulo-18-sistema--706807-downloadable-2573126.pdf
capitulo-18-sistema--706807-downloadable-2573126.pdf
ProfesorCiencias2
 
Movimiento Moderno en Venezuela Arquitectura
Movimiento Moderno en Venezuela ArquitecturaMovimiento Moderno en Venezuela Arquitectura
Movimiento Moderno en Venezuela Arquitectura
LeonardoDantasRivas
 
DIAGRAMA DE FLUJO.pptx : Ventas en linea
DIAGRAMA DE FLUJO.pptx : Ventas en lineaDIAGRAMA DE FLUJO.pptx : Ventas en linea
DIAGRAMA DE FLUJO.pptx : Ventas en linea
EduarRamos7
 
VERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptx
VERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptxVERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptx
VERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptx
ingridavila20
 
etiqueta que se utiliza en un restaurante .pdf
etiqueta que se utiliza en  un restaurante  .pdfetiqueta que se utiliza en  un restaurante  .pdf
etiqueta que se utiliza en un restaurante .pdf
Vhope6
 
Teoría del Color para diseñadores y pintores
Teoría del Color para diseñadores y pintoresTeoría del Color para diseñadores y pintores
Teoría del Color para diseñadores y pintores
EduardoGM8
 
Estilos de cajas Flexibles CSS-Flexbox-y-Grid.pdf
Estilos de cajas Flexibles CSS-Flexbox-y-Grid.pdfEstilos de cajas Flexibles CSS-Flexbox-y-Grid.pdf
Estilos de cajas Flexibles CSS-Flexbox-y-Grid.pdf
JosueJuanez1
 
La Arquitectura del Eclecticismo, por Karina
La Arquitectura del Eclecticismo, por KarinaLa Arquitectura del Eclecticismo, por Karina
La Arquitectura del Eclecticismo, por Karina
KarinaRodriguezG2
 
Propuesta de diseño de marca para Fred, muebles de diseño
Propuesta de diseño de marca para Fred, muebles de diseñoPropuesta de diseño de marca para Fred, muebles de diseño
Propuesta de diseño de marca para Fred, muebles de diseño
Mariano Salgado
 
Figuras bidimensionales en el diseño.pptx
Figuras bidimensionales en el diseño.pptxFiguras bidimensionales en el diseño.pptx
Figuras bidimensionales en el diseño.pptx
LuisFernandoOcampoGa
 
Infografía profesional cronología horizontal bloques de colores fondo negro.pdf
Infografía profesional cronología horizontal bloques de colores fondo negro.pdfInfografía profesional cronología horizontal bloques de colores fondo negro.pdf
Infografía profesional cronología horizontal bloques de colores fondo negro.pdf
salazar1611ale
 
Arquitectura Ecléctica e Historicista en Latinoamérica
Arquitectura Ecléctica e Historicista en LatinoaméricaArquitectura Ecléctica e Historicista en Latinoamérica
Arquitectura Ecléctica e Historicista en Latinoamérica
imariagsg
 

Último (15)

informecbdlp-240603151721-44655eeh2.docx
informecbdlp-240603151721-44655eeh2.docxinformecbdlp-240603151721-44655eeh2.docx
informecbdlp-240603151721-44655eeh2.docx
 
Patrimundi Recuperadora Bancaria en Cancun
Patrimundi Recuperadora Bancaria en CancunPatrimundi Recuperadora Bancaria en Cancun
Patrimundi Recuperadora Bancaria en Cancun
 
Desarrollo de habilidades de pensamiento (1).pdf
Desarrollo de habilidades de pensamiento (1).pdfDesarrollo de habilidades de pensamiento (1).pdf
Desarrollo de habilidades de pensamiento (1).pdf
 
capitulo-18-sistema--706807-downloadable-2573126.pdf
capitulo-18-sistema--706807-downloadable-2573126.pdfcapitulo-18-sistema--706807-downloadable-2573126.pdf
capitulo-18-sistema--706807-downloadable-2573126.pdf
 
Movimiento Moderno en Venezuela Arquitectura
Movimiento Moderno en Venezuela ArquitecturaMovimiento Moderno en Venezuela Arquitectura
Movimiento Moderno en Venezuela Arquitectura
 
DIAGRAMA DE FLUJO.pptx : Ventas en linea
DIAGRAMA DE FLUJO.pptx : Ventas en lineaDIAGRAMA DE FLUJO.pptx : Ventas en linea
DIAGRAMA DE FLUJO.pptx : Ventas en linea
 
VERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptx
VERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptxVERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptx
VERTEDEROS CRESTA ANCHA- PRESENTACION FINAL CON PREGUNTAS.pptx
 
etiqueta que se utiliza en un restaurante .pdf
etiqueta que se utiliza en  un restaurante  .pdfetiqueta que se utiliza en  un restaurante  .pdf
etiqueta que se utiliza en un restaurante .pdf
 
Teoría del Color para diseñadores y pintores
Teoría del Color para diseñadores y pintoresTeoría del Color para diseñadores y pintores
Teoría del Color para diseñadores y pintores
 
Estilos de cajas Flexibles CSS-Flexbox-y-Grid.pdf
Estilos de cajas Flexibles CSS-Flexbox-y-Grid.pdfEstilos de cajas Flexibles CSS-Flexbox-y-Grid.pdf
Estilos de cajas Flexibles CSS-Flexbox-y-Grid.pdf
 
La Arquitectura del Eclecticismo, por Karina
La Arquitectura del Eclecticismo, por KarinaLa Arquitectura del Eclecticismo, por Karina
La Arquitectura del Eclecticismo, por Karina
 
Propuesta de diseño de marca para Fred, muebles de diseño
Propuesta de diseño de marca para Fred, muebles de diseñoPropuesta de diseño de marca para Fred, muebles de diseño
Propuesta de diseño de marca para Fred, muebles de diseño
 
Figuras bidimensionales en el diseño.pptx
Figuras bidimensionales en el diseño.pptxFiguras bidimensionales en el diseño.pptx
Figuras bidimensionales en el diseño.pptx
 
Infografía profesional cronología horizontal bloques de colores fondo negro.pdf
Infografía profesional cronología horizontal bloques de colores fondo negro.pdfInfografía profesional cronología horizontal bloques de colores fondo negro.pdf
Infografía profesional cronología horizontal bloques de colores fondo negro.pdf
 
Arquitectura Ecléctica e Historicista en Latinoamérica
Arquitectura Ecléctica e Historicista en LatinoaméricaArquitectura Ecléctica e Historicista en Latinoamérica
Arquitectura Ecléctica e Historicista en Latinoamérica
 

Software

  • 1. 3. El proceso de desarrollo de software 1 ¿Que queremos decir con proceso de desarrollo? Deseos, necesidades, Especificaciones, … Software
  • 2. 3. El proceso de desarrollo de software 2 Introducción al proceso de desarrollo. • En general, cuando las personas abordan el desarrollo de cualquier proyecto evolucionan desde ideas abstractas hacia concreciones realizables.
  • 3. 3. El proceso de desarrollo de software 3 Es extraño que alguien diga: – "Me puse a programar y me salió una contabilidad" – Algunas aplicaciones da la impresión de que... – Recordar que la probabilidad de que un mono teclee en una maquina de escribir y salga el quijote no es cero
  • 4. 3. El proceso de desarrollo de software 4 Normalmente el planteamiento es: • Vamos a desarrollar una contabilidad, • Hacer la especificación. • en Visual BASIC y Access, • Realizar el diseño. • y se codifica la aplicación.
  • 5. 3. El proceso de desarrollo de software 5 El grado de precisión con que se lleve a cabo cada paso influirá en el resultado • ¿Me podrías indicar, por favor, hacia dónde tengo que ir? • Eso depende de adónde quieras llegar, contesto el gato. • A mí no me importa demasiado adónde...- empezó a explicar Alicia. • En ese caso, da igual cualquier dirección - interrumpió el Gato. • ...Siempre que llegue a alguna parte - terminó Alicia a modo de explicación. • Basta que empieces a andar - le aseguro el Gato-, dando un paso tras otro. – Alicia en el país de las maravillas
  • 6. 3. El proceso de desarrollo de software 6 Ingeniería e Ingeniería del Software • ¿Donde nos encontramos? • ¿Que hace un Ingeniero? • Definiciones de Ingeniería del software • Técnicas básicas utilizadas históricamente
  • 7. 3. El proceso de desarrollo de software 7 ¿Donde nos encontramos? • Con Problemas, tendremos que disponer de: – Técnicas de desarrollo que minimicen la complejidad de un sistema software. – Métodos y conceptos que permitan al productor y al cliente explorar la naturaleza del sistema software lo antes posible. – Técnicas que minimicen los efectos devastadores de las modificaciones durante el desarrollo y la explotación.
  • 8. 3. El proceso de desarrollo de software 8 ¿Que hace un Ingeniero? • Construir artefactos dentro de unas limitaciones de coste, utilizando el conocimiento y las teorías de la ciencia sobre la cual se basa el artefacto.
  • 9. 3. El proceso de desarrollo de software 9 Definición de la ingeniería del software (NATO ‘68) • La ingeniería del software es el establecimiento y uso de principios de ingeniería razonables con el objetivo de obtener software económicamente, que sea de confianza y trabaje eficientemente en las maquinas reales.
  • 10. 3. El proceso de desarrollo de software 10 Definición (R.E. Fairley 1985) • Hemos definido la Ingeniería del Software como la disciplina tecnológica concerniente a la producción y mantenimiento sistemáticos de productos software que son desarrollados y modificados en el tiempo y con los costes estimados... • Además, la Ingeniería del software tiene que ver con cuestiones de gestión que caen fuera del dominio de la programación tradicional.
  • 11. 3. El proceso de desarrollo de software 11 Características de la ingeniería del software (Van Vliet 1993) • Construcción de programas grandes • Controlar la complejidad • Cooperación entre las personas implicadas • Evolución del software • Eficiencia en el desarrollo • Soporte real a los usuarios
  • 12. 3. El proceso de desarrollo de software 12 Modelo de la Ingeniería del software (Thayer 1988) Analisis Diseño Codificación Pruebas Desarrollo de Software Planificación Organización Reclutamiento Dirección Control Gestión de proyectos Fiabilidad Usabilidad Flexibilidad Mantenibilidad Reusabilidad Etc. Metricas del software Corrección de Errores Modificaciones Mantenimiento de software Ingeniería del software
  • 13. 3. El proceso de desarrollo de software 13 Técnicas básicas usadas en las ingenierías • Históricamente se han utilizado técnicas como: – El modelado – División del Producto – División del Proceso • En principio se deberían utilizar estas técnicas, también en informática .
  • 14. 3. El proceso de desarrollo de software 14 El modelado. • Simplificación del objeto en el mundo real, pero que es suficientemente realista como para dar una idea de lo que ocurrirá en la realidad y usarse como base del desarrollo.
  • 15. 3. El proceso de desarrollo de software 15 División del Producto. • Se fracciona el producto de modo que cada fragmento lo puede realizar un miembro del grupo de desarrollo.
  • 16. 3. El proceso de desarrollo de software 16 ¿Que ? División del Proceso. • Implica dividir el desarrollo del artefacto por fases. Normalmente se habla de especificación, diseño y fabricación. ¿Como? Realización Pruebas
  • 17. 3. El proceso de desarrollo de software 17 En el desarrollo de software nos encontramos con la siguiente situación Ciclos de Vida del SOFTWARE Metodologías de Desarrollo del SOFTWARE
  • 18. 3. El proceso de desarrollo de software 18 Ciclo de Vida del Software • Consiste en determinar: – las fases productivas de un proyecto, – los objetivos de cada fase productiva, y – los productos obtenidos en cada una de estas fases así como sus características.
  • 19. 3. El proceso de desarrollo de software 19 Ciclos de Vida del Software – Se han propuesto muchos ciclos de vida para el desarrollo del software, pero estos son los más representativos: – Poner la cola al burro. – Ciclo de vida clásico o en cascada. – Construcción rápida de Prototipos Desechables – Incremental – Evolución de prototipos – Reutilización de Software – Síntesis automática de software – En espiral.
  • 20. 3. El proceso de desarrollo de software 20 Poner la cola al burro • Se coge a uno o varios informáticos, • Se les muestra más o menos el problema, • Se les deja solos en un cuarto a oscuras, • Transcurrido un tiempo se abre la puerta.
  • 21. 3. El proceso de desarrollo de software 21 Ciclo de vida clásico o en cascada. • La Versión Ideal (Perfecta) • El Modelo en V • El Helado de Cucurucho • El Modelo Real • Propuesta de Yourdon
  • 22. 3. El proceso de desarrollo de software 22 Validación Instalación, Explotación Test y pruebas previas a la OPERACIÓN OPERACIÓN Y MANTENIMIENTO Estudio de Viabilidad Análisis Especificación Requerimientos del Software Diseño Especificación de diseño Diseño Preliminar y Detallado Codificación Aplicación Codificación y Depuración La Versión Ideal A alguien se le ha ocurrido la Brillante idea de Informatizar ¿? Investigación Inicial, Identificación de Necesidades, Encuesta, etc. Requerimientos del Sistema
  • 23. 3. El proceso de desarrollo de software 23 El Modelo en V Identificación de Necesidades Especificación Esencial Especificación Física Diseño Codificación Integración Empaquetado Validación Explotación
  • 24. 3. El proceso de desarrollo de software 24 El Helado de Cucurucho Identificación de Necesidades Especificación Esencial Especificación Física Diseño Codificación Integración Empaquetado Validación Explotación USUARIOS CLIENTES ANALISTA DISEÑADORES Y CODIFICADORES
  • 25. 3. El proceso de desarrollo de software 25 El Modelo Real Identificación de Necesidades Especificación Esencial Especificación Física Diseño Codificación Integración Empaquetado Validación Explotación
  • 26. 3. El proceso de desarrollo de software 26 Propuesta de Yourdon Encuesta Análisis diseño Preliminar Estudio del HW Diseño Detallado Codificación Prueba de Unidad Prueba de subsistema Prueba de Sistema Requerimientos del Usuario Especificación Funcional Necesidades de Rendimiento Especificación del Sistema Configuración Final Especificación de los Programas Módulos Codificados Módulos Probados Subsistemas Probados Sistema Probado
  • 27. 3. El proceso de desarrollo de software 27 Construcción Rápida de Prototipos Desechables • Al igual que otras ingenierías se utilizan los prototipos para que el cliente observe, confirme y mejore el producto – Este enfoque es apropiado cuando: • El cliente no tiene claro lo que quiere, • Al cliente le gustaría ver algo similar para poder hacerse una idea de lo que obtendrá
  • 28. 3. El proceso de desarrollo de software 28 El ciclo de vida de Prototipos Desechables es el siguiente: Aceptado NO Aceptado Evaluación Cliente Mejora de la Especificación Construcción Prototipo Obtención Especificación Ciclo de Vida Clásico
  • 29. 3. El proceso de desarrollo de software 29 Existen dos clases de prototipos • De INTERFACE. – Usualmente un modelo de papel o sobre PC en el que se muestran pantallas y listados. • De COMPORTAMIENTO: – En anchura. Ofrece todos los menús del sistema y simula débilmente los procesos. – En profundidad. Cubre funciones que presentan ambigüedades al cliente o a los informáticos. – Completo pero de baja calidad y rendimiento.
  • 30. 3. El proceso de desarrollo de software 30 Incremental Requerimientos Requeri mientos Diseño Impleme ntación Pruebas Bloque 1 Requeri mientos Diseño Impleme ntación Pruebas Bloque N Requerimientos Bloque 1 Diseño Impleme ntación Pruebas Bloque N Diseño Impleme ntación Pruebas o Permite el desarrollo concurrente
  • 31. 3. El proceso de desarrollo de software 31 Evolución de Prototipos Observación Requerimientos Abstracción Validación Especificación Verificación Prototipo Verificación Experimentar Validación Empezamos por los requerimientos más claros, menos complejos y más necesarios. Prototipo rápido
  • 32. 3. El proceso de desarrollo de software 32 Reutilización de Software • Tiene como objetivos: – reducir el coste del software. – Producir sistemas de mayor calidad. • Se basa en reutilizar Diseños, programas, módulos y datos. • Es compatible con el prototipo evolutivo.
  • 33. 3. El proceso de desarrollo de software 33 Síntesis automática de software Requerimientos Informales Análisis de Requerimientos Especificación Formal (Prototipo) Validación Mantenimiento Optimización Mecánica Desarrollo Formal Ajuste (tuning) Programa Fuete Racionalidad y Decisiones
  • 34. 3. El proceso de desarrollo de software 34 En espiral. Determinar objetivos, alternativas, restricciones Evaluar alternativas, identificar y resolver riesgos Desarrollar, verificarPlanificar las próximas fases REVISIÓN Acuerdo
  • 35. 3. El proceso de desarrollo de software 35 Metodologías de Desarrollo del Software • Métodos informales • Métodos Semiformales • Métodos Formales
  • 36. 3. El proceso de desarrollo de software 36 Métodos informales • Joaquín Lucio-Villegas los clasifica como: – Quick & Dirty (USA) – Match stick box (Europa) – Balones p'alante y maricón el último
  • 37. 3. El proceso de desarrollo de software 37 Métodos Semiformales • Métodos Estructurados – SA/SD (structured analysis & structured design) – Métrica • Métodos Orientados a Objetos – OMT – UML
  • 38. 3. El proceso de desarrollo de software 38 PROCESOS DATOS Métodos Estructurados • Métodos Orientados a la Estructura de los Datos • Métodos de flujo de datos
  • 39. 3. El proceso de desarrollo de software 39 Métodos Orientados a Objetos • Los métodos orientados a objeto describen e implementan los sistemas de información desde un punto de vista ontológico.
  • 40. 3. El proceso de desarrollo de software 40 Métodos Formales • Los métodos formales permiten al ingeniero de software especificar, desarrollar y verificar un sistema informático mediante la aplicación de una notación matemática rigurosa. • Utilizando un lenguaje de especificación formal, un método formal proporciona los medios de especificar un sistema de forma que se aseguren, de forma sistemática, la consistencia, la completitud y la corrección. • Se suelen basar en notaciones matemáticas similares a las del álgebra de conjuntos y la lógica
  • 41. 3. El proceso de desarrollo de software 41 Madurez del proceso en la organización de desarrollo • La misma industria, diferentes niveles de madurez.
  • 42. 3. El proceso de desarrollo de software 42 Madurez del proceso en la organización de desarrollo • Hay factores que no quedan claramente reflejados en el ciclo de vida ni en las técnicas de desarrollo. • Los factores no estudiados son: – El cumplimiento de los plazos de entrega. – La calidad (número de errores en el Software). – El coste del proyecto.
  • 43. 3. El proceso de desarrollo de software 43 CMM (Capability Maturity Model) • Proporciona una Guía sobre como – controlar los procesos: • de desarrollo del software. • de mantenimiento. – Hacer evolucionar hacia una cultura de: • Ingeniería del software. • Gestión eficiente.
  • 44. 3. El proceso de desarrollo de software 44 Inicial Repetible Optimización Gestionado Definido Control Básico Definición del Proceso Medición del Proceso Control del Proceso Evolución de las organizaciones según el CMM
  • 45. 3. El proceso de desarrollo de software 45 Correlación entre estimaciones y niveles de madurez
  • 46. 3. El proceso de desarrollo de software 46 Nivel Inicial. • Según las circunstancias utilizamos un proceso distinto. (algunos caóticos) • A medida, • Poco formalizado, • Uso de herramientas informales. • Pocos procesos definidos. • El éxito depende del esfuerzo individual.
  • 47. 3. El proceso de desarrollo de software 47 Nivel de Repetición. • Se tiene procesos estables de desarrollo, con control estadístico. • Uso de datos historicos • Establecimiento de procesos de gestión de proyecto, para hacer seguimiento de: – Coste. – Planificación. – Funcionalidad.
  • 48. 3. El proceso de desarrollo de software 48 Nivel de Definición. • Proceso de desarrollo perfectamente definido y estandarizado. • Integrado en la organización. • Bien documentado. • Todos los proyectos utilizan una versión documentada y aprobada de proceso.
  • 49. 3. El proceso de desarrollo de software 49 Nivel de Gestión. • Mejoras de calidad sustanciales. • Control cuantitativo de productos y proceso a través de – Mediciones del proceso comprensibles. – Mediciones de la calidad
  • 50. 3. El proceso de desarrollo de software 50 Nivel de Optimización. • A través de mediciones del proceso utilizando ideas y tecnologías innovadoras obtenemos: – Mejoras en calidad y cantidad.
  • 51. 3. El proceso de desarrollo de software 51 Resumen • Hemos visto: – Como trabajan los ingenieros, – Definiciones de ingeniería del software, – El ciclo de vida del software, – Metodológicas de desarrollo – Madurez del proceso de desarrollo.