SlideShare una empresa de Scribd logo
Ing.Wilfredo Montero Mogollón
 (1993) La aplicación mecanismos sistemáticos, disciplinados, y
cuantificables para el desarrollo, operación y mantención de
software; esto es la aplicación de la ingeniería al software.
 Establecimiento y uso de principios con caracteres de ingeniería
apropiados para obtener, eficientemente, software confiable, que
opere eficaz y eficientemente en máquinas reales
 La aplicación del arte del desarrollo software junto con las ciencias
matemáticas y computadores para diseñar, construir, y mantener
programas computacionales eficientes y económicos que logran
sus objetivos.
 Instrucciones (programas de computadora) que cuando se
ejecutan proporcionan la función y el rendimiento deseados.
 Estructuras de datos que permiten a los programas manipular
adecuadamente la información.
 Documentos que describen la construcción y uso de
programas
 El software se desarrolla, no se fabrica
 Los costes se centran en ingeniería, no en fabricación
 Los proyectos software no se pueden gestionar como procesos de
fabricación
 2. El software no se estropea: no es susceptible a males del
entorno.
 3. El software se deteriora. Durante su vida sufre cambios
(mantenimiento), por lo que es posible de introducir nuevos
defectos
 Los productos de software:
 No cumplen con los requisitos del usuario.
 Son susceptible frecuentemente a romperse.
 Es caro.
 Es difícil de modificar, depurar y mejorar.
 A menudo es entregado tarde.
 Tiene a utilizar recursos no óptimos.
 ¿Es una ciencia rigurosa con fuertes fundamentos
matemáticos?
 ¿Es una campo técnico bien desarrollado con mucho de
disciplina de ingeniería?
 O está realmente en un estado primitivo...
 A lo más una serie de “mejores prácticas”, desarrolladores de
software construyen software y si éstos funcionan entonces nosotros
estudiamos cómo ellos lo hicieron.
 Si éstos funcionan por un largo tiempo entonces estudiamos sus
procesos de software aun más cuidadosamente.
Puede hacerlo una sola persona
Requiere:
Modelado mínimo
Proceso simple
Herramientas simples
Construida eficientemente y en un tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
 La ingeniería de Software estudia todos los aspectos
involucrados en el desarrollo de software, entre los cuales se
encuentran:
 Etapas de un Proyecto de Software
 Paradigmas/enfoques para enfrentar el desarrollo de proyectos de
software (Cascada, incremental e interactivo)
 Tiempos y costos
 Aspectos tecnológicos
 Gestión de Proyectos
 Etapas/Hitos esenciales requeridos en un proyecto de
desarrollo de software:
 Oportunidad de Negocio
 Levantamiento inicial de Requerimientos (Domino del problema)
▪ Entendimiento inicial del problema a resolver
▪ Reuniones con clientes
▪ Especificación inicial de requerimientos
 Más ....
 Confección de la propuesta
▪ Estimación de esfuerzo y planificación del proyecto. Uso de técnicas y
estadísticas de proyectos similares, entrevistas a personas con experiencia en
proyectos similares.
▪ Definición del alcance del proyecto
▪ Costos
 Análisis OO (Dominio del problema)
▪ Casos de Uso : Análisis dinámico
▪ Modelos Conceptuales: Análisis estático
▪ Diseño preliminar de Interfaces Gráficas (WEB, etc)
 Arquitectura de la solución
▪ Especificación de la tecnología a utilizar (J2SE, J2EE)
▪ Especificación de Patrones de Diseño
 Diseño (Dominio de la solución)
▪ Diseño de interfaces gráficas (WEB, GUI, comandos, voz)
▪ Realización de diagramas de secuencia
▪ Realización de diagramas de clases
 Construcción / Codificación / Implementación
▪ Entendimiento real del diseño (solución) a programar
▪ Programación eficaz (y eficiente) del código fuente.
▪ Comentar en forma entendible y razonable el código fuente.
▪ Construcción de programas de pruebas “Tests”
▪ Prueba unitaria del desarrollador mediante un programa de “Test”
 Pruebas Unitarias: Realizar las pruebas unitarias
 Pruebas de Integración: Realizar las pruebas de integración
 Capacitar a Usuarios
▪ Confección de manuales de Usuario
▪ Reuniones con usuario final
 Puesta en Producción
▪ Confección de plan de puesta en producción
 Marcha Blanca
 Garantía: Resolución de Incidencias
 ¿Podré cumplir con los plazos?
 ¿Estaré dentro de lo presupuestado?
 ¿El “cliente” quedará satisfecho?
Las Metodologías pueden ser la ayuda que
necesitamos, si podemos usarlas correctamente !!
 Por su proximidad de los conceptos de modelado respecto de
las entidades del mundo real
 Mejora la captura y validación de requisitos
 Acerca el “espacio del problema” y el “espacio de la solución”
 Modelado integrado de propiedades estáticas y dinámicas del
ámbito del problema
 Facilita construcción, mantenimiento y reutilización
 Podríamos dar muchas razones pero hay problemas.
“... Los conceptos básicos de la OO se conocen desde hace
dos décadas, pero su aceptación todavía no está tan
extendida como los beneficios que esta tecnología puede
sugerir”
 Un objeto contiene datos y operaciones que manipulan los datos,
pero ...
 Podemos distinguir dos tipos de objetos degenerados:
 Un objeto sin datos (que sería lo mismo que una biblioteca de funciones).
Si los métodos son estáticos, “peor” aún.
 Un objeto sin “operaciones”, con sólo atributos lo que permitiría crear,
recuperar, actualizar y borrar su estado (que se correspondería con las
estructuras de datos tradicionales)
 Un sistema construido con objetos degenerados no es un sistema
verdaderamente orientado a objetos
Un objeto tiene estado, exhibe algún comportamiento bien definido, tiene
una identidad única
Una clase representa un conjunto de objetos que comparten una
estructura común y un comportamiento común
ANALISISY DISEÑO ORIENTADO A OBJETOS
ASOCIACIÓN
• Generalizado
• Debilidad Semántica
• Relación Bidimensional
• Multiplicidad: uno a uno,
Uno a Muchos, Muchos a
muchos
AGREGACIÓN
Una de las clases denota el
todo y a la vez es parte de
la instancia de otra clase
HERENCIA
Una clase comparte su
estructura y/o
comportamiento.
Se crean Clase, Subclase y
Metaclase
USO
Una de las clases usa los
servicios de otra clase. Se
define quien es el cliente y
quien es el servidor.
METACLASES
Es una clase cuyas instancias
son, ellas mismas, clases.
INSTANCIACIÓN
Clase genérica, sirve como
modelo para crear otras clases
Denota las características esenciales de
un objeto que lo distinguen de todos los
demás tipos de objetos, y proporciona así
fronteras conceptuales nítidamente
definidas respecto a la perspectiva del
observador.
Es el proceso de almacenar en un mismo
comportamiento, los elementos de una
abstracción y su implementación.
ABSTRACCIÓN ENCAPSULAMIENTO
Es la propiedad que tiene un sistema que
ha sido descompuesto en un conjunto de
módulos cohesivos y débilmente
acoplados.
Es una clasificación u ordenación de
abstracciones.
MODULARIDAD JERARQUIA
Es la propiedad que tiene un sistema que
ha sido descompuesto en un conjunto de
módulos cohesivos y débilmente
acoplados.
Es una clasificación u ordenación de
abstracciones.
MODULARIDAD JERARQUIA
POLIMORFISMO
 Conseguir que un objeto de la clase se comporte como un
objeto de cualquiera de sus subclases
Ingeniería de software y el paradigma orientado a objetos

Más contenido relacionado

La actualidad más candente

Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Francisco Gómez
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)
UTN
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
still01
 
Paralelismo a nivel de Instrucciones
Paralelismo a nivel de InstruccionesParalelismo a nivel de Instrucciones
Paralelismo a nivel de Instrucciones
Carlos Gavidia-Calderon
 
Transformación e innovación digital
Transformación e innovación digitalTransformación e innovación digital
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
Erick Ortega Herrera
 
Ejemplos de proyectos al modelo en cascada
Ejemplos de proyectos  al modelo en cascadaEjemplos de proyectos  al modelo en cascada
Ejemplos de proyectos al modelo en cascada
aics-1986-13-saraguro
 
DISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMADISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMA
Diana Marcela Hernandez Amaya
 
Campos de acción Ingenieria de Software
Campos de acción Ingenieria de SoftwareCampos de acción Ingenieria de Software
Campos de acción Ingenieria de Software
Arnold Torres
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
José Antonio Sandoval Acosta
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de Software
Lia IS
 
Estándares y modelos de calidad del software
Estándares y modelos de calidad del softwareEstándares y modelos de calidad del software
Estándares y modelos de calidad del software
rodigueezleidy
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
home
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOSMétodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
lalopg
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuos
John Goyeneche
 
El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)
El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)
El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)
Spain-AEA
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentes
Jefferson Guillen
 
Utilizando Metodologia Rup Parte1
Utilizando Metodologia Rup Parte1Utilizando Metodologia Rup Parte1
Utilizando Metodologia Rup Parte1
Universidad Nacional de Frontera
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
Germán Sánchez
 

La actualidad más candente (20)

Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Paralelismo a nivel de Instrucciones
Paralelismo a nivel de InstruccionesParalelismo a nivel de Instrucciones
Paralelismo a nivel de Instrucciones
 
Transformación e innovación digital
Transformación e innovación digitalTransformación e innovación digital
Transformación e innovación digital
 
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
 
Ejemplos de proyectos al modelo en cascada
Ejemplos de proyectos  al modelo en cascadaEjemplos de proyectos  al modelo en cascada
Ejemplos de proyectos al modelo en cascada
 
DISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMADISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMA
 
Campos de acción Ingenieria de Software
Campos de acción Ingenieria de SoftwareCampos de acción Ingenieria de Software
Campos de acción Ingenieria de Software
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de Software
 
Estándares y modelos de calidad del software
Estándares y modelos de calidad del softwareEstándares y modelos de calidad del software
Estándares y modelos de calidad del software
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOSMétodos predictivos y Descriptivos - MINERÍA DE DATOS
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuos
 
El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)
El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)
El papel de la Arquitectura Empresarial en la Gestión por Procesos (BPM)
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentes
 
Utilizando Metodologia Rup Parte1
Utilizando Metodologia Rup Parte1Utilizando Metodologia Rup Parte1
Utilizando Metodologia Rup Parte1
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
 

Similar a Ingeniería de software y el paradigma orientado a objetos

ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
Marko Zapata
 
8.conceptos de diseño
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
Ramiro Estigarribia Canese
 
Uml
UmlUml
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
Miguel Castro
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
Juan Camilo
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
Pedro Montecinos Gaete
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de Coste
CAMILO
 
Plan
PlanPlan
Plan
liss2014
 
Exposicion.ppt
Exposicion.pptExposicion.ppt
Exposicion.ppt
EmiAkd
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
Luis David Cataño Estrada
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
CAMILO
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
francisco alexander sanchez
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
CAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
CAMILO
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
CAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
CAMILO
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
CAMILO
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
ITSPR
 
Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010
Kiberley Santos
 
prueva
pruevaprueva
prueva
1081913395
 

Similar a Ingeniería de software y el paradigma orientado a objetos (20)

ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
 
8.conceptos de diseño
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
 
Uml
UmlUml
Uml
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de Coste
 
Plan
PlanPlan
Plan
 
Exposicion.ppt
Exposicion.pptExposicion.ppt
Exposicion.ppt
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010
 
prueva
pruevaprueva
prueva
 

Más de Wilfredo Mogollón

Modelo de requerimientos
Modelo de requerimientosModelo de requerimientos
Modelo de requerimientos
Wilfredo Mogollón
 
Modelado del negocio
Modelado del negocioModelado del negocio
Modelado del negocio
Wilfredo Mogollón
 
Técnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de informaciónTécnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de información
Wilfredo Mogollón
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
Wilfredo Mogollón
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
Wilfredo Mogollón
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
Wilfredo Mogollón
 
Los sistemas información
Los sistemas informaciónLos sistemas información
Los sistemas información
Wilfredo Mogollón
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a Objetos
Wilfredo Mogollón
 

Más de Wilfredo Mogollón (8)

Modelo de requerimientos
Modelo de requerimientosModelo de requerimientos
Modelo de requerimientos
 
Modelado del negocio
Modelado del negocioModelado del negocio
Modelado del negocio
 
Técnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de informaciónTécnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de información
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Los sistemas información
Los sistemas informaciónLos sistemas información
Los sistemas información
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a Objetos
 

Último

herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 

Último (8)

herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 

Ingeniería de software y el paradigma orientado a objetos

  • 2.  (1993) La aplicación mecanismos sistemáticos, disciplinados, y cuantificables para el desarrollo, operación y mantención de software; esto es la aplicación de la ingeniería al software.  Establecimiento y uso de principios con caracteres de ingeniería apropiados para obtener, eficientemente, software confiable, que opere eficaz y eficientemente en máquinas reales  La aplicación del arte del desarrollo software junto con las ciencias matemáticas y computadores para diseñar, construir, y mantener programas computacionales eficientes y económicos que logran sus objetivos.
  • 3.  Instrucciones (programas de computadora) que cuando se ejecutan proporcionan la función y el rendimiento deseados.  Estructuras de datos que permiten a los programas manipular adecuadamente la información.  Documentos que describen la construcción y uso de programas
  • 4.  El software se desarrolla, no se fabrica  Los costes se centran en ingeniería, no en fabricación  Los proyectos software no se pueden gestionar como procesos de fabricación  2. El software no se estropea: no es susceptible a males del entorno.  3. El software se deteriora. Durante su vida sufre cambios (mantenimiento), por lo que es posible de introducir nuevos defectos
  • 5.  Los productos de software:  No cumplen con los requisitos del usuario.  Son susceptible frecuentemente a romperse.  Es caro.  Es difícil de modificar, depurar y mejorar.  A menudo es entregado tarde.  Tiene a utilizar recursos no óptimos.
  • 6.  ¿Es una ciencia rigurosa con fuertes fundamentos matemáticos?  ¿Es una campo técnico bien desarrollado con mucho de disciplina de ingeniería?  O está realmente en un estado primitivo...  A lo más una serie de “mejores prácticas”, desarrolladores de software construyen software y si éstos funcionan entonces nosotros estudiamos cómo ellos lo hicieron.  Si éstos funcionan por un largo tiempo entonces estudiamos sus procesos de software aun más cuidadosamente.
  • 7. Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples
  • 8. Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas más sofisticadas
  • 9.
  • 10.  La ingeniería de Software estudia todos los aspectos involucrados en el desarrollo de software, entre los cuales se encuentran:  Etapas de un Proyecto de Software  Paradigmas/enfoques para enfrentar el desarrollo de proyectos de software (Cascada, incremental e interactivo)  Tiempos y costos  Aspectos tecnológicos  Gestión de Proyectos
  • 11.  Etapas/Hitos esenciales requeridos en un proyecto de desarrollo de software:  Oportunidad de Negocio  Levantamiento inicial de Requerimientos (Domino del problema) ▪ Entendimiento inicial del problema a resolver ▪ Reuniones con clientes ▪ Especificación inicial de requerimientos  Más ....
  • 12.  Confección de la propuesta ▪ Estimación de esfuerzo y planificación del proyecto. Uso de técnicas y estadísticas de proyectos similares, entrevistas a personas con experiencia en proyectos similares. ▪ Definición del alcance del proyecto ▪ Costos  Análisis OO (Dominio del problema) ▪ Casos de Uso : Análisis dinámico ▪ Modelos Conceptuales: Análisis estático ▪ Diseño preliminar de Interfaces Gráficas (WEB, etc)
  • 13.  Arquitectura de la solución ▪ Especificación de la tecnología a utilizar (J2SE, J2EE) ▪ Especificación de Patrones de Diseño  Diseño (Dominio de la solución) ▪ Diseño de interfaces gráficas (WEB, GUI, comandos, voz) ▪ Realización de diagramas de secuencia ▪ Realización de diagramas de clases
  • 14.  Construcción / Codificación / Implementación ▪ Entendimiento real del diseño (solución) a programar ▪ Programación eficaz (y eficiente) del código fuente. ▪ Comentar en forma entendible y razonable el código fuente. ▪ Construcción de programas de pruebas “Tests” ▪ Prueba unitaria del desarrollador mediante un programa de “Test”
  • 15.  Pruebas Unitarias: Realizar las pruebas unitarias  Pruebas de Integración: Realizar las pruebas de integración  Capacitar a Usuarios ▪ Confección de manuales de Usuario ▪ Reuniones con usuario final  Puesta en Producción ▪ Confección de plan de puesta en producción  Marcha Blanca  Garantía: Resolución de Incidencias
  • 16.  ¿Podré cumplir con los plazos?  ¿Estaré dentro de lo presupuestado?  ¿El “cliente” quedará satisfecho? Las Metodologías pueden ser la ayuda que necesitamos, si podemos usarlas correctamente !!
  • 17.  Por su proximidad de los conceptos de modelado respecto de las entidades del mundo real  Mejora la captura y validación de requisitos  Acerca el “espacio del problema” y el “espacio de la solución”  Modelado integrado de propiedades estáticas y dinámicas del ámbito del problema  Facilita construcción, mantenimiento y reutilización  Podríamos dar muchas razones pero hay problemas.
  • 18. “... Los conceptos básicos de la OO se conocen desde hace dos décadas, pero su aceptación todavía no está tan extendida como los beneficios que esta tecnología puede sugerir”
  • 19.  Un objeto contiene datos y operaciones que manipulan los datos, pero ...  Podemos distinguir dos tipos de objetos degenerados:  Un objeto sin datos (que sería lo mismo que una biblioteca de funciones). Si los métodos son estáticos, “peor” aún.  Un objeto sin “operaciones”, con sólo atributos lo que permitiría crear, recuperar, actualizar y borrar su estado (que se correspondería con las estructuras de datos tradicionales)  Un sistema construido con objetos degenerados no es un sistema verdaderamente orientado a objetos
  • 20. Un objeto tiene estado, exhibe algún comportamiento bien definido, tiene una identidad única
  • 21. Una clase representa un conjunto de objetos que comparten una estructura común y un comportamiento común
  • 22. ANALISISY DISEÑO ORIENTADO A OBJETOS ASOCIACIÓN • Generalizado • Debilidad Semántica • Relación Bidimensional • Multiplicidad: uno a uno, Uno a Muchos, Muchos a muchos AGREGACIÓN Una de las clases denota el todo y a la vez es parte de la instancia de otra clase HERENCIA Una clase comparte su estructura y/o comportamiento. Se crean Clase, Subclase y Metaclase USO Una de las clases usa los servicios de otra clase. Se define quien es el cliente y quien es el servidor. METACLASES Es una clase cuyas instancias son, ellas mismas, clases. INSTANCIACIÓN Clase genérica, sirve como modelo para crear otras clases
  • 23. Denota las características esenciales de un objeto que lo distinguen de todos los demás tipos de objetos, y proporciona así fronteras conceptuales nítidamente definidas respecto a la perspectiva del observador. Es el proceso de almacenar en un mismo comportamiento, los elementos de una abstracción y su implementación. ABSTRACCIÓN ENCAPSULAMIENTO
  • 24. Es la propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y débilmente acoplados. Es una clasificación u ordenación de abstracciones. MODULARIDAD JERARQUIA
  • 25. Es la propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y débilmente acoplados. Es una clasificación u ordenación de abstracciones. MODULARIDAD JERARQUIA
  • 26. POLIMORFISMO  Conseguir que un objeto de la clase se comporte como un objeto de cualquiera de sus subclases