SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Ingeniería de Software
Prof. Santiago Mena Zorrilla
¿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.
¿Qué ingeniería de software?
Según la IEEE, la ingeniería de software:
• La aplicación de un enfoque sistemático,
disciplinado y cuantificable al desarrollo,
operación y mantenimiento del software, es
decir, la aplicación de la ingeniería al
software.
• El estudio de enfoques.
• La Ingeniería del software es una tecnología
multicapa
Pasos de desarrollo de un sistema de software
Justificación
• Es realmente necesario?
• Se necesita desarrollar el software?
• Análisis
• ¿Cuáles son lo procesos que se necesitan?
• ¿Qué datos están disponibles y qué información se requiere?
• ¿Cómo debe ser la interacción entre usuarios y sistema para llevar a cabo
las tareas necesarias?
• Casos de uso
• Escenarios de interacción entre los usuarios y el sistema, indicándose el
flujo de datos y de información, para cada tarea necesaria.
• Prototipo
• Diseño de interfaces para la interacción de los usuarios con el sistema,
correspondiente a sus tareas.
• Estimación de tiempo y costos
• requiere una estimación lo más formal posible.
• Estudio costo vs beneficio.
Diseño
• Solución de problema.
Generalmente se diseña el sistema en una arquitectura MVC [Model View Controller]‐ ‐
• Model
Modelado de los datos en el programa.
Modelado de la base de datos.
• View
Modelado de las interfaces.
• Controller
Modelado de las funciones de almacenamiento de datos y recuperación de
información.
Programación
Automatización de la solución determinada en el diseño.
Pruebas
Determinar que el sistema funciona adecuadamente, cumpliendo con las necesidades.
Tipos de pruebas
• Prueba de desempeño: que haga lo que tiene que hacer y no otra cosa.
• Prueba de estrés: que soporte situaciones críticas [número de usuarios].
• Prueba de usabilidad: que los usuarios puedan llevar a cabo sus tareas de manera
eficiente.
Mantenimiento
• Actualización del software de acuerdo a los cambios de la
organización de los requerimientos.
• El mantenimiento solamente es posible si se tiene la
documentación completa y los programas están
codificados claramente y con comentarios.
Migración
• Proceso de cambiar el software elaborado en un lenguaje
de programación ya obsoleto a un lenguaje de
programación actual.
Crear una pagina web en Faceboock
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 .
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 9
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 10
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 11
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 12
Metodologías de Desarrollo del
Software
• Métodos informales
• Métodos Semiformales
• Métodos Formales
3. El proceso de desarrollo de software 13
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 14
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.

Weitere ähnliche Inhalte

Was ist angesagt?

ingeniería de software
ingeniería de software ingeniería de software
ingeniería de software Jesus Mercado
 
Modelo de desarrollo del software
Modelo de desarrollo del softwareModelo de desarrollo del software
Modelo de desarrollo del softwareRazielLira
 
Presentacion modelo casacada
Presentacion modelo casacadaPresentacion modelo casacada
Presentacion modelo casacadaIsaack Siza
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del SoftwareAnalisisDe
 
Desarrollo de software orientado a la web dario ramirez
Desarrollo de software orientado a la web dario ramirezDesarrollo de software orientado a la web dario ramirez
Desarrollo de software orientado a la web dario ramirezCristian Villalva
 
Ingenieria en software
Ingenieria en softwareIngenieria en software
Ingenieria en softwareEl Tory
 
Modelos de ciclo de vida
Modelos de ciclo de vidaModelos de ciclo de vida
Modelos de ciclo de vidaGabriel Méndez
 
Otros modelos de desarrollo de software
Otros modelos de desarrollo de softwareOtros modelos de desarrollo de software
Otros modelos de desarrollo de softwareelena valiente
 
aplicaciones informaticas
aplicaciones informaticasaplicaciones informaticas
aplicaciones informaticaskarykati
 
Prototipos
PrototiposPrototipos
PrototiposTensor
 

Was ist angesagt? (16)

Inf 162-grupo2
Inf 162-grupo2Inf 162-grupo2
Inf 162-grupo2
 
Ingeniería de software 2
Ingeniería de software 2Ingeniería de software 2
Ingeniería de software 2
 
ingeniería de software
ingeniería de software ingeniería de software
ingeniería de software
 
Modelo de desarrollo del software
Modelo de desarrollo del softwareModelo de desarrollo del software
Modelo de desarrollo del software
 
Prototipo 7° lia
Prototipo 7° liaPrototipo 7° lia
Prototipo 7° lia
 
Presentacion modelo casacada
Presentacion modelo casacadaPresentacion modelo casacada
Presentacion modelo casacada
 
Asi1 4x01
Asi1 4x01Asi1 4x01
Asi1 4x01
 
modelos para el desarrollo de sofware
modelos para el desarrollo de sofwaremodelos para el desarrollo de sofware
modelos para el desarrollo de sofware
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del Software
 
Desarrollo de software orientado a la web dario ramirez
Desarrollo de software orientado a la web dario ramirezDesarrollo de software orientado a la web dario ramirez
Desarrollo de software orientado a la web dario ramirez
 
Ingenieria en software
Ingenieria en softwareIngenieria en software
Ingenieria en software
 
Silabus
SilabusSilabus
Silabus
 
Modelos de ciclo de vida
Modelos de ciclo de vidaModelos de ciclo de vida
Modelos de ciclo de vida
 
Otros modelos de desarrollo de software
Otros modelos de desarrollo de softwareOtros modelos de desarrollo de software
Otros modelos de desarrollo de software
 
aplicaciones informaticas
aplicaciones informaticasaplicaciones informaticas
aplicaciones informaticas
 
Prototipos
PrototiposPrototipos
Prototipos
 

Andere mochten auch

Virus, gusanos y troyanos
Virus, gusanos y troyanosVirus, gusanos y troyanos
Virus, gusanos y troyanosGabriela
 
Web 1doc, de apoyo
Web 1doc, de apoyoWeb 1doc, de apoyo
Web 1doc, de apoyoGabriela
 
Virus, gusanos y troyanos
Virus, gusanos y troyanosVirus, gusanos y troyanos
Virus, gusanos y troyanosGabriela
 
Gusano informaticos 2!...
Gusano informaticos 2!...Gusano informaticos 2!...
Gusano informaticos 2!...Brandon1396
 
Literatura medieval universal
Literatura medieval universalLiteratura medieval universal
Literatura medieval universalnblancob
 
Literatura medieval universal .ppt
Literatura medieval universal .pptLiteratura medieval universal .ppt
Literatura medieval universal .pptmrmaldana
 

Andere mochten auch (9)

Virus, gusanos y troyanos
Virus, gusanos y troyanosVirus, gusanos y troyanos
Virus, gusanos y troyanos
 
Web 1doc, de apoyo
Web 1doc, de apoyoWeb 1doc, de apoyo
Web 1doc, de apoyo
 
Taxonomía de Malware
Taxonomía de MalwareTaxonomía de Malware
Taxonomía de Malware
 
Virus, gusanos y troyanos
Virus, gusanos y troyanosVirus, gusanos y troyanos
Virus, gusanos y troyanos
 
Gusano informaticos 2!...
Gusano informaticos 2!...Gusano informaticos 2!...
Gusano informaticos 2!...
 
Gusanos informaticos
Gusanos informaticosGusanos informaticos
Gusanos informaticos
 
Literatura medieval universal
Literatura medieval universalLiteratura medieval universal
Literatura medieval universal
 
Investigacion Gusanos Informaticos
Investigacion Gusanos InformaticosInvestigacion Gusanos Informaticos
Investigacion Gusanos Informaticos
 
Literatura medieval universal .ppt
Literatura medieval universal .pptLiteratura medieval universal .ppt
Literatura medieval universal .ppt
 

Ähnlich wie Clase 11

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 softwaresamantha
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software142918
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECmrojas_unitec
 
Desarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxDesarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxMoises Martinez
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOSYASMIN RUIZ
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.pptCristianFlasher1
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevidaclaudiappaez
 
Ciclosdevida procesos
Ciclosdevida procesosCiclosdevida procesos
Ciclosdevida procesosljds
 
Proceso de dasarrollo de software
Proceso de dasarrollo de softwareProceso de dasarrollo de software
Proceso de dasarrollo de softwarerodrigolapaca94
 

Ähnlich wie Clase 11 (20)

Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
 
Espoch
EspochEspoch
Espoch
 
Desarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxDesarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptx
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Software
SoftwareSoftware
Software
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOS
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.ppt
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
Ciclosdevida procesos
Ciclosdevida procesosCiclosdevida procesos
Ciclosdevida procesos
 
Ciclo de vida y diseño de sistemas de informacion
Ciclo de vida y diseño de sistemas de informacionCiclo de vida y diseño de sistemas de informacion
Ciclo de vida y diseño de sistemas de informacion
 
Proceso de dasarrollo de software
Proceso de dasarrollo de softwareProceso de dasarrollo de software
Proceso de dasarrollo de software
 

Mehr von Gabriela

Clase 10-bases de datos
Clase 10-bases de datosClase 10-bases de datos
Clase 10-bases de datosGabriela
 
Clase 9-comunidades virtuales
Clase 9-comunidades virtualesClase 9-comunidades virtuales
Clase 9-comunidades virtualesGabriela
 
Clase 6-almacenamiento
Clase 6-almacenamientoClase 6-almacenamiento
Clase 6-almacenamientoGabriela
 
Clase 6-almacenamiento
Clase 6-almacenamientoClase 6-almacenamiento
Clase 6-almacenamientoGabriela
 
Clase 5-software
Clase 5-softwareClase 5-software
Clase 5-softwareGabriela
 
Clase 1-introducción a la terminología de la sociedad e
Clase 1-introducción a la terminología de la sociedad eClase 1-introducción a la terminología de la sociedad e
Clase 1-introducción a la terminología de la sociedad eGabriela
 
Mapas mentales
Mapas mentalesMapas mentales
Mapas mentalesGabriela
 
Sistemas ..[1]
Sistemas ..[1]Sistemas ..[1]
Sistemas ..[1]Gabriela
 

Mehr von Gabriela (8)

Clase 10-bases de datos
Clase 10-bases de datosClase 10-bases de datos
Clase 10-bases de datos
 
Clase 9-comunidades virtuales
Clase 9-comunidades virtualesClase 9-comunidades virtuales
Clase 9-comunidades virtuales
 
Clase 6-almacenamiento
Clase 6-almacenamientoClase 6-almacenamiento
Clase 6-almacenamiento
 
Clase 6-almacenamiento
Clase 6-almacenamientoClase 6-almacenamiento
Clase 6-almacenamiento
 
Clase 5-software
Clase 5-softwareClase 5-software
Clase 5-software
 
Clase 1-introducción a la terminología de la sociedad e
Clase 1-introducción a la terminología de la sociedad eClase 1-introducción a la terminología de la sociedad e
Clase 1-introducción a la terminología de la sociedad e
 
Mapas mentales
Mapas mentalesMapas mentales
Mapas mentales
 
Sistemas ..[1]
Sistemas ..[1]Sistemas ..[1]
Sistemas ..[1]
 

Clase 11

  • 1. Ingeniería de Software Prof. Santiago Mena Zorrilla
  • 2. ¿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. ¿Qué ingeniería de software? Según la IEEE, la ingeniería de software: • La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software, es decir, la aplicación de la ingeniería al software. • El estudio de enfoques. • La Ingeniería del software es una tecnología multicapa
  • 4. Pasos de desarrollo de un sistema de software Justificación • Es realmente necesario? • Se necesita desarrollar el software? • Análisis • ¿Cuáles son lo procesos que se necesitan? • ¿Qué datos están disponibles y qué información se requiere? • ¿Cómo debe ser la interacción entre usuarios y sistema para llevar a cabo las tareas necesarias? • Casos de uso • Escenarios de interacción entre los usuarios y el sistema, indicándose el flujo de datos y de información, para cada tarea necesaria. • Prototipo • Diseño de interfaces para la interacción de los usuarios con el sistema, correspondiente a sus tareas. • Estimación de tiempo y costos • requiere una estimación lo más formal posible. • Estudio costo vs beneficio.
  • 5. Diseño • Solución de problema. Generalmente se diseña el sistema en una arquitectura MVC [Model View Controller]‐ ‐ • Model Modelado de los datos en el programa. Modelado de la base de datos. • View Modelado de las interfaces. • Controller Modelado de las funciones de almacenamiento de datos y recuperación de información. Programación Automatización de la solución determinada en el diseño. Pruebas Determinar que el sistema funciona adecuadamente, cumpliendo con las necesidades. Tipos de pruebas • Prueba de desempeño: que haga lo que tiene que hacer y no otra cosa. • Prueba de estrés: que soporte situaciones críticas [número de usuarios]. • Prueba de usabilidad: que los usuarios puedan llevar a cabo sus tareas de manera eficiente.
  • 6. Mantenimiento • Actualización del software de acuerdo a los cambios de la organización de los requerimientos. • El mantenimiento solamente es posible si se tiene la documentación completa y los programas están codificados claramente y con comentarios. Migración • Proceso de cambiar el software elaborado en un lenguaje de programación ya obsoleto a un lenguaje de programación actual. Crear una pagina web en Faceboock
  • 7. 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 .
  • 8. 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.
  • 9. 3. El proceso de desarrollo de software 9 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.
  • 10. 3. El proceso de desarrollo de software 10 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.
  • 11. 3. El proceso de desarrollo de software 11 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
  • 12. 3. El proceso de desarrollo de software 12 Metodologías de Desarrollo del Software • Métodos informales • Métodos Semiformales • Métodos Formales
  • 13. 3. El proceso de desarrollo de software 13 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.
  • 14. 3. El proceso de desarrollo de software 14 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.