SlideShare uma empresa Scribd logo
1 de 45
ESCUELA ESPECIALIZADA EN INGENIERIA  ITCA FEPADE Selección de técnicas de ingeniería de software Docente: Lic. Mario Ernesto Quintanilla Flores Alumno: Francisco Alexander Sánchez.  Sección: S-I-B
Definición de programa, software y aplicación. Programa:  conjunto de instrucciones que una vez ejecutado realiza una o varias tareas en una computadora. Software: equipamiento lógico o soporte lógico de una computadora, conjunto de los programas de computo, procedimientos, reglas, documentación y datos. Aplicación: tipo de programa diseñado como herramienta  para permitir al usuario realizar uno o varios tipos de trabajos.
¿Existe alguna diferencia entre programa, software y aplicación? Si existe ya que un programa  es un conjunto de instrucciones  que se convierte en software cuando estas instrucciones son interpretadas por la maquina una aplicación es diferente por que es solo una herramienta que seguirá las instrucciones del programa y una aplicación no es igual a un software sino una parte del software.
¿Qué es ingeniería? Conjunto de conocimientos y técnicas científicas aplicadas que se dedican a la resolución de problemas.
¿Qué es ingeniería de software? Es el área de informática que ofrece métodos y técnicas para desarrollar y mantener el software de calidad. Es la que trata el área de compiladores , sistemas operativos o desarrollo de internet.
¿Por qué se dice que “el software no se crea ni se construye, sino que se desarrolla”? El software se desarrolla por que va por etapas y una vez que se comienza pueden  haber cambios o modificaciones y mantenimiento
¿Qué es calidad? Conjunto de propiedades inherentes que permite satisfacer necesidades implícitas o explicitas
¿Qué es calidad de software? Es una preocupación que tienen todos los desarrolladores de software. Ya que todo proyecto tiene como objetivo producir software de la mejor calidad. calidad de software Es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario.
¿Por qué se dice “que no existe software terminado? No existe un software terminado por que aun después de estar implementando necesitara de modificaciones y mantenimiento para seguir la expectativa de una empresa en crecimiento
¿En que consiste el proyecto de desarrollo de software? Consiste en definir cual será el presupuesto , establecer cuanto tiempo se hará cada fase y definir los recursos necesarios .
¿Cuáles son las etapas del desarrollo de software?  Análisis y requisitos  Especificación  Arquitectura   Programación  Prueba Documentación  Mantenimiento
¿Cuál es la diferencia entre el termino ingeniería de software y el simple desarrollo o producción de software? Pues  algunos actores no encuentran ninguna diferencia .  Pero Quienes hacen la diferencia destacan que, en general, el desarrollo de software si bien es parte de los objetivos de la ingeniería del software, hace referencia solamente a la programación de software. No incluye todos los procesos inherentes a la ingeniería del software
¿Cuáles son los modelos de desarrollo de  software? MODELO DE CASCADA CONCEPTO Enfoque metodológico que ordena rigurosamente las etapas del  ciclo de vida de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.
Imagen
Fases del modelo Análisis de requerimientos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación
Ventajas              Desventajas Se tiene todo bien organizado y no se mezclan las fases.  Es perfecto para proyectos que son rígidos, y además donde se especifiquen muy bien los requerimientos y se conozca muy bien la herramienta a utilizar  El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Esto es la base para que funcione bien. En la vida real, un proyecto rara vez sigue una secuencia lineal, esto                                                                                       crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.
Ejemplo Un ejemplo de una metodología de desarrollo en cascada es: Análisis de requisitos  Diseño del Sistema  Diseño del Programa  Codificación  Pruebas  Implantación  Mantenimiento
MODELO EN ESPIRAL concepto modelo de proceso de software evolutivo, el cual enlaza la naturaleza iterativa de la construcción de prototipos, pero conservando aquellas propiedades del modelo en cascada. Cada ciclo en la espiral representa una fase del proceso del software. Así, el ciclo mas interno podría referirse a la viabilidad del sistema, el siguiente ciclo a la definición de requerimientos, el siguiente ciclo al diseño del sistema, y así sucesivamente.
Imagen
Ventajas                Desventaja  El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Reduce riesgos del proyecto  Incorpora objetivos de calidad  Integra el desarrollo con el mantenimiento, etc. Requiere mucha experiencia y habilidad para la evaluación de los riesgos, lo cual es requisito para el éxito del proyecto. Es difícil convencer a los grandes clientes que se podrá controlar este enfoque evolutivo.
Ejemplo El desarrollador de software evalúa, analiza, diseña y produce luego que tiene la información regresa reevalúa, vuelve a analizar, rediseña, produce y así sucesivamente
Desarrollo por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
Faces Especificación conceptual  Análisis de requerimientos  Diseño inicial  Diseño detallado, codificación, depuración y liberación
Ejemplo
Desarrollo interactivo y creciente creado en respuesta a las debilidades del modelo tradicional de cascada. El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación conocido como Extreme Programan y los demás frameworks de desarrollo rápido de software.
Etapas Etapa de inicialización  Etapa de iteración  Lista de control de proyecto
Características Provee de soporte para determinar la efectividad de los procesos y de la calidad del producto.  Permite estudiar y después mejorar y ajustar el proceso para el ambiente en particular.
Ejemplo
RAD Concepto: tipo de metodología de desarrollo de software que utiliza la planificación mínima a favor de la creación rápida de prototipos. La planificación "de software desarrollado usando RAD se intercala con la escritura del propio software. La falta de una amplia planificación previa por lo general permite que el software escrito para ser mucho más rápido, y hace que sea más fácil cambiar los requisitos. Algo bien importante es que este modelo solo lo hacen desarrolladores profesionales
Imagen
Ventajas               Desventajas Velocidad del desarrollo Calidad: según lo definido por el desarrollo rápido de aplicaciones Características reducidas. Escalabilidad reducida: debido a que el desarrollo rápido de aplicaciones se desarrolló como prototipo
Ejemplo Si se quiere un trabajo rápido se usa este modelo ya que este modelo tarda entre 60 o 90 días para su desarrollo
Desarrollo concurrente Concepto: elmodelo de desarrollo concurrente es aplicable a todo tipo de desarrollo de software y proporciona una imagen exacta del estado actual de un proyecto. Es un modelo de tipo de red donde todas las personas actúan simultáneamente o al mismo tiempo.
Ejemplo
RUP es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
Fases Inicio(También llamado Incepción o Concepción)  Elaboración  Desarrollo(También llamado Implementación, Construcción)  Cierre (También llamado Transición)
características El RUP es un producto de Racional (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso.
Ejemplo
Proceso unificado marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational Es un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos.
Características Iterativo e Incremental  Dirigido por los casos de uso  Centrado en la arquitectura  Enfocado en los riesgos
Ejemplo
                                                                                                    REVISAR EL VIDEO DE “¿QUE PASARIA SI LOS PROGRAMADORES HICIERAN LOS AVIONES?” ¿Por qué se da ese fenómeno? Porque si los programadores hicieran los aviones tendrian que terminarce de construir en marcha ¿Cuál es el mensaje que deja el video? que se debe de cambiar  ¿Se hará realmente lo Correcto? Pienso que en el area de ingenieria de software si porque los sistemas necesitan mejoras y mantenimiento ya que la tegnologia siempre esta en cambio
¿Qué estrategia proporciona la Ingeniería de software para resolver esta situación?  Metodologías para desarrollo y mantenimiento de sistemas de software. Practica del conocimiento científico en el diseño y construcción de programas  Establecimiento y uso de principios sólidos de la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en maquinas reales
REVISAR EL VIDEO “ARIANE FLIGHT 501” ¿Qué fue lo que sucedió? A los pocos segundos de despegar exploto ¿Qué efectos tienen las fallas del software sobre el cohete? Debastadores ya que se perdio un gran proyecto y se perdieron vidas ¿Cómo afectan nuestras vidas que el software no sea de calidad? Si el software no es de calidad entonces no podrá desempeñar su función y eso nos causaría problemas en nuestra vida ya que nos dificultaría la realización de nuestras labores.
[object Object]

Mais conteúdo relacionado

Mais procurados

Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
Deisy Sapaico
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
itsarellano
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del software
Abner Torres
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
Marco Guerrero
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
Johita Guerrero
 
Desarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, ScrumDesarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, Scrum
rgomezm
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)
daniel
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
Isaias Toledo
 

Mais procurados (20)

Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
Procesos del Software
Procesos del SoftwareProcesos del Software
Procesos del Software
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del software
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
 
Desarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, ScrumDesarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, Scrum
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Metodologías emergentes
Metodologías emergentesMetodologías emergentes
Metodologías emergentes
 
Metodologias de desarrollo del software
Metodologias de desarrollo del softwareMetodologias de desarrollo del software
Metodologias de desarrollo del software
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
 
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 

Semelhante a Trabajo de desarrollo desoftware

Kevin guia
Kevin guiaKevin guia
Kevin guia
keninmnk
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
Josue Zelaya
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
UVM
 
Software Engineering Definitions
Software Engineering DefinitionsSoftware Engineering Definitions
Software Engineering Definitions
Apoklypsia
 

Semelhante a Trabajo de desarrollo desoftware (20)

Paula guia
Paula guiaPaula guia
Paula guia
 
Diapositivas De GuíA
Diapositivas De GuíADiapositivas De GuíA
Diapositivas De GuíA
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Kevin guia
Kevin guiaKevin guia
Kevin guia
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofware
 
Ingenieria de Software
Ingenieria de Software Ingenieria de Software
Ingenieria de Software
 
prueva
pruevaprueva
prueva
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
 
Metodologia clasica en cascada
Metodologia clasica en cascadaMetodologia clasica en cascada
Metodologia clasica en cascada
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Software Engineering Definitions
Software Engineering DefinitionsSoftware Engineering Definitions
Software Engineering Definitions
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Último (20)

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 

Trabajo de desarrollo desoftware

  • 1. ESCUELA ESPECIALIZADA EN INGENIERIA ITCA FEPADE Selección de técnicas de ingeniería de software Docente: Lic. Mario Ernesto Quintanilla Flores Alumno: Francisco Alexander Sánchez. Sección: S-I-B
  • 2. Definición de programa, software y aplicación. Programa: conjunto de instrucciones que una vez ejecutado realiza una o varias tareas en una computadora. Software: equipamiento lógico o soporte lógico de una computadora, conjunto de los programas de computo, procedimientos, reglas, documentación y datos. Aplicación: tipo de programa diseñado como herramienta para permitir al usuario realizar uno o varios tipos de trabajos.
  • 3. ¿Existe alguna diferencia entre programa, software y aplicación? Si existe ya que un programa es un conjunto de instrucciones que se convierte en software cuando estas instrucciones son interpretadas por la maquina una aplicación es diferente por que es solo una herramienta que seguirá las instrucciones del programa y una aplicación no es igual a un software sino una parte del software.
  • 4. ¿Qué es ingeniería? Conjunto de conocimientos y técnicas científicas aplicadas que se dedican a la resolución de problemas.
  • 5. ¿Qué es ingeniería de software? Es el área de informática que ofrece métodos y técnicas para desarrollar y mantener el software de calidad. Es la que trata el área de compiladores , sistemas operativos o desarrollo de internet.
  • 6. ¿Por qué se dice que “el software no se crea ni se construye, sino que se desarrolla”? El software se desarrolla por que va por etapas y una vez que se comienza pueden haber cambios o modificaciones y mantenimiento
  • 7. ¿Qué es calidad? Conjunto de propiedades inherentes que permite satisfacer necesidades implícitas o explicitas
  • 8. ¿Qué es calidad de software? Es una preocupación que tienen todos los desarrolladores de software. Ya que todo proyecto tiene como objetivo producir software de la mejor calidad. calidad de software Es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario.
  • 9. ¿Por qué se dice “que no existe software terminado? No existe un software terminado por que aun después de estar implementando necesitara de modificaciones y mantenimiento para seguir la expectativa de una empresa en crecimiento
  • 10. ¿En que consiste el proyecto de desarrollo de software? Consiste en definir cual será el presupuesto , establecer cuanto tiempo se hará cada fase y definir los recursos necesarios .
  • 11. ¿Cuáles son las etapas del desarrollo de software? Análisis y requisitos Especificación Arquitectura Programación Prueba Documentación Mantenimiento
  • 12. ¿Cuál es la diferencia entre el termino ingeniería de software y el simple desarrollo o producción de software? Pues algunos actores no encuentran ninguna diferencia . Pero Quienes hacen la diferencia destacan que, en general, el desarrollo de software si bien es parte de los objetivos de la ingeniería del software, hace referencia solamente a la programación de software. No incluye todos los procesos inherentes a la ingeniería del software
  • 13. ¿Cuáles son los modelos de desarrollo de software? MODELO DE CASCADA CONCEPTO Enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.
  • 15. Fases del modelo Análisis de requerimientos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación
  • 16. Ventajas Desventajas Se tiene todo bien organizado y no se mezclan las fases. Es perfecto para proyectos que son rígidos, y además donde se especifiquen muy bien los requerimientos y se conozca muy bien la herramienta a utilizar El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Esto es la base para que funcione bien. En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.
  • 17. Ejemplo Un ejemplo de una metodología de desarrollo en cascada es: Análisis de requisitos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación Mantenimiento
  • 18. MODELO EN ESPIRAL concepto modelo de proceso de software evolutivo, el cual enlaza la naturaleza iterativa de la construcción de prototipos, pero conservando aquellas propiedades del modelo en cascada. Cada ciclo en la espiral representa una fase del proceso del software. Así, el ciclo mas interno podría referirse a la viabilidad del sistema, el siguiente ciclo a la definición de requerimientos, el siguiente ciclo al diseño del sistema, y así sucesivamente.
  • 20. Ventajas Desventaja El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Reduce riesgos del proyecto Incorpora objetivos de calidad Integra el desarrollo con el mantenimiento, etc. Requiere mucha experiencia y habilidad para la evaluación de los riesgos, lo cual es requisito para el éxito del proyecto. Es difícil convencer a los grandes clientes que se podrá controlar este enfoque evolutivo.
  • 21. Ejemplo El desarrollador de software evalúa, analiza, diseña y produce luego que tiene la información regresa reevalúa, vuelve a analizar, rediseña, produce y así sucesivamente
  • 22. Desarrollo por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
  • 23. Faces Especificación conceptual Análisis de requerimientos Diseño inicial Diseño detallado, codificación, depuración y liberación
  • 25. Desarrollo interactivo y creciente creado en respuesta a las debilidades del modelo tradicional de cascada. El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación conocido como Extreme Programan y los demás frameworks de desarrollo rápido de software.
  • 26. Etapas Etapa de inicialización Etapa de iteración Lista de control de proyecto
  • 27. Características Provee de soporte para determinar la efectividad de los procesos y de la calidad del producto. Permite estudiar y después mejorar y ajustar el proceso para el ambiente en particular.
  • 29. RAD Concepto: tipo de metodología de desarrollo de software que utiliza la planificación mínima a favor de la creación rápida de prototipos. La planificación "de software desarrollado usando RAD se intercala con la escritura del propio software. La falta de una amplia planificación previa por lo general permite que el software escrito para ser mucho más rápido, y hace que sea más fácil cambiar los requisitos. Algo bien importante es que este modelo solo lo hacen desarrolladores profesionales
  • 31. Ventajas Desventajas Velocidad del desarrollo Calidad: según lo definido por el desarrollo rápido de aplicaciones Características reducidas. Escalabilidad reducida: debido a que el desarrollo rápido de aplicaciones se desarrolló como prototipo
  • 32. Ejemplo Si se quiere un trabajo rápido se usa este modelo ya que este modelo tarda entre 60 o 90 días para su desarrollo
  • 33. Desarrollo concurrente Concepto: elmodelo de desarrollo concurrente es aplicable a todo tipo de desarrollo de software y proporciona una imagen exacta del estado actual de un proyecto. Es un modelo de tipo de red donde todas las personas actúan simultáneamente o al mismo tiempo.
  • 35. RUP es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
  • 36. Fases Inicio(También llamado Incepción o Concepción) Elaboración Desarrollo(También llamado Implementación, Construcción) Cierre (También llamado Transición)
  • 37. características El RUP es un producto de Racional (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso.
  • 39. Proceso unificado marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational Es un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos.
  • 40. Características Iterativo e Incremental Dirigido por los casos de uso Centrado en la arquitectura Enfocado en los riesgos
  • 42. REVISAR EL VIDEO DE “¿QUE PASARIA SI LOS PROGRAMADORES HICIERAN LOS AVIONES?” ¿Por qué se da ese fenómeno? Porque si los programadores hicieran los aviones tendrian que terminarce de construir en marcha ¿Cuál es el mensaje que deja el video? que se debe de cambiar ¿Se hará realmente lo Correcto? Pienso que en el area de ingenieria de software si porque los sistemas necesitan mejoras y mantenimiento ya que la tegnologia siempre esta en cambio
  • 43. ¿Qué estrategia proporciona la Ingeniería de software para resolver esta situación? Metodologías para desarrollo y mantenimiento de sistemas de software. Practica del conocimiento científico en el diseño y construcción de programas Establecimiento y uso de principios sólidos de la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en maquinas reales
  • 44. REVISAR EL VIDEO “ARIANE FLIGHT 501” ¿Qué fue lo que sucedió? A los pocos segundos de despegar exploto ¿Qué efectos tienen las fallas del software sobre el cohete? Debastadores ya que se perdio un gran proyecto y se perdieron vidas ¿Cómo afectan nuestras vidas que el software no sea de calidad? Si el software no es de calidad entonces no podrá desempeñar su función y eso nos causaría problemas en nuestra vida ya que nos dificultaría la realización de nuestras labores.
  • 45.
  • 46. Se puede garantizar haciendo todas las pruebas necesarias para que el software no tenga ningún problema y así poder garantizar que el software sean de calidad.