SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Conceptos básicos de Ingeniería de Software
Dr. Eduardo A. RODRÍGUEZ TELLO
CINVESTAV-Tamaulipas
5 de septiembre del 2012
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 1 / 23
Objetivos
Objetivos
Definir la Ingeniería de Software y explicar su importancia
Discutir los conceptos de producto de software y proceso de
software
Introducir la noción de responsabilidad profesional
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 2 / 23
Ingeniería de Software
Ingeniería de Software
La economía de todos los países desarrollados es dependiente
del software
Actualmente cada vez mas sistemas son controlados por software
La Ingeniería de Software concierne a teorías, métodos y
herramientas para el desarrollo profesional de software
El gasto en la Ingeniería de Software, representa un alto
porcentaje del PIB de los países desarrollados
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 3 / 23
Conceptos básicos
Conceptos básicos
¿Qué es software?
¿Qué es la Ingeniería de Software?
¿Cuál es la diferencia entre Ingeniería de Software y Ciencias
Computacionales?
¿Cuál es la diferencia entre Ingeniería de Software e Ingeniería
de Sistemas?
¿Qué es un proceso de software?
¿Qué es un modelo de proceso de software?
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 4 / 23
Conceptos básicos
Conceptos básicos...
¿Cuáles son los costos de la Ingeniería de Software?
¿Qué son los métodos de Ingeniería de Software?
¿Qué es CASE?
¿Cuáles son los atributos del software de calidad?
¿Cuáles son los retos de la Ingeniería de Software?
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 5 / 23
Conceptos básicos Software
¿Qué es software?
Programas de cómputo y su documentación asociada:
requerimientos, modelos de diseño y manuales de usuario
El software puede ser desarrollado para un cliente en particular o
para un mercado general
El software puede ser:
Genérico: desarrollado para venderse a múltiples clientes (Excel,
Word, etc.)
A la medida: desarrollado bajo demanda del cliente a un
desarrollador específico
El software nuevo puede ser creado desarrollando nuevos
programas, configurando sistemas de software genérico o
reutilizando software existente
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 6 / 23
Conceptos básicos Ing. de Software
¿Qué es la Ingeniería de Software?
Una disciplina de la Ingeniería que concierne a todos los aspectos
de la producción de software
Los Ingenieros de Software deben:
Adoptar un enfoque sistemático para llevar a cabo su trabajo
Utilizar las herramientas y técnicas apropiadas para resolver el
problema planteado, de acuerdo a las restricciones de desarrollo y
a los recursos disponibles
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 7 / 23
Conceptos básicos Ing. de Software y Ciencias Computacionales
¿Cuál es la diferencia entre Ingeniería de Software y
Ciencias Computacionales?
Las Ciencias Computacionales conciernen a la teoría y
fundamentos de cualquier sistema de cómputo (hardware o
software)
La Ingeniería de software concierne los aspectos prácticos del
desarrollo y puesta en marcha de productos útiles de software
La Ingeniería de Software aún está lejos de ser considerada una
ciencia como los son la química o la física
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 8 / 23
Conceptos básicos Ing. de Software e Ing. de Sistemas
¿Cuál es la diferencia entre Ingeniería de Software e
Ingeniería de Sistemas?
La Ingeniería de Sistemas concierne a todos los aspectos del
desarrollo de sistemas basados en cómputo incluyendo hardware,
software y la ingeniería de procesos.
La Ingeniería de Software es una parte de este proceso que
comprende el desarrollo de software, control, aplicaciones y
bases de datos del sistema
Los ingenieros de software son los encargados de la
especificación del sistema, del diseño de la arquitectura, la
integración y la puesta en marcha.
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 9 / 23
Conceptos básicos Proceso de software
¿Qué es un proceso de software?
Un conjunto estructurado de actividades cuya meta es el
desarrollo o evolución de un software
Algunas actividades genéricas en todos los procesos de software
son:
Especificación, qué debe hacer el software y cuáles son sus
especificaciones de desarrollo
Desarrollo, producción del sistema de software
Validación, verificar que el software cumple con lo solicitado por el
cliente
Evolución, cambiar/adaptar el software a las nuevas demandas
Estas actividades varían dependiendo de la organización y del
tipo de sistema a desarrollarse
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 10 / 23
Conceptos básicos Modelo de proceso de software
¿Qué es un modelo de proceso de software?
Representación formal y simplificada de un proceso de software,
presentada desde una perspectiva específica
Ejemplos de perspectivas del proceso de software:
Flujo de trabajo, secuencia de actividades
Flujo de datos, flujo de la información
Rol/acción, quién realiza qué
Modelos Genéricos:
Cascada, separar en distintas fases de especificación y desarrollo
Desarrollo Iterativo, la especificación, desarrollo y validación están
interrelacionados
Prototipado, un modelo sirve de prototipo para la construcción del
sistema final
Basado en componentes, asume que partes del sistema ya existen
y se enfoca a su integración
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 11 / 23
Conceptos básicos Modelo de proceso de software
¿Qué es un modelo de proceso de software?...
Modelo de Cascada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 12 / 23
Conceptos básicos Modelo de proceso de software
¿Qué es un modelo de proceso de software?...
Modelo de Desarrollo Iterativo
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 13 / 23
Conceptos básicos Costos de la Ing. de Software
¿Cuáles son los costos de la Ingeniería de Software?
El costo total de un software esta dividido aproximadamente de la
siguiente forma:
60 % costos de desarrollo
40 % costos de pruebas
En el software a la medida los costos de evolución a menudo
exceden los costos de desarrollo
Los costos dependen del tipo de sistema que se desarrolla y de
los requerimientos del mismo tales como desempeño y
confiabilidad
La distribución de los costos depende del modelo de desarrollo
empleado
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 14 / 23
Conceptos básicos Costos de la Ing. de Software
¿Cuáles son los costos de la Ingeniería de
Software?...
Distribución de costos por actividad
Imagen tomada de [Sommerville, 2006]
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 15 / 23
Conceptos básicos Costos de la Ing. de Software
¿Cuáles son los costos de la Ingeniería de
Software?...
Costos de desarrollo
Imagen tomada de [Sommerville, 2006]
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 16 / 23
Conceptos básicos Métodos de Ing. de Software
¿Qué son los métodos de Ingeniería de Software?
Enfoques estructurados para el desarrollo de software que
incluye:
Descripciones del modelo, descripciones de modelos gráficos que
deben ser producidos
Reglas, restricciones aplicadas a los modelos de sistemas
Recomendaciones, para realizar un diseño efectivo
Administración del proceso, que actividades deben realizarse y en
qué orden
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 17 / 23
Conceptos básicos CASE
¿Qué es CASE?
CASE es Computer-Aided Software Engineering
Programas que son usados para dar soporte automatizado a las
actividades del proceso de software:
Análisis de requerimientos, modelado del sistema, pruebas y
depuración (debugging)
Las herramientas CASE son comúnmente usadas para dar
soporte a los métodos de software
Editores para la notación del método
Módulos de análisis que verifican que las reglas del método se
cumplan
Generadores de reportes que facilitan la creación de la
documentación del sistema
Generadores de código a partir del modelo del sistema
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 18 / 23
Conceptos básicos Atributos del software
¿Cuáles son los atributos del software de calidad?
El software debe proveer la funcionalidad y desempeño
requeridos por el usuario y debe ser mantenible, confiable y
aceptable
Mantenible, el software debe poder evolucionar para continuar
cumpliendo con las especificaciones
Confiable, el software no debe causar daños físicos o económicos
en el caso de que falle
Eficiente, el software no debe desperdiciar los recursos del sistema
Aceptable, el software debe ser aceptado por los usuarios para los
que fue diseñado. Debe ser entendible, utilizable y compatible con
otros sistemas
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 19 / 23
Conceptos básicos Retos de la Ing. de Software
¿Cuáles son los retos de la Ingeniería de Software?
Heterogeneidad
Desarrollar técnicas para construir software que pueda hacer frente
a plataformas y ambientes de ejecución heterogéneos (diferentes
tipos de Hw y Sw)
Tiempos de entrega
Desarrollar técnicas que permitan reducir los tiempos de entrega
del software sin comprometer la calidad
Confianza
Desarrollar técnicas que permitan que los usuarios confíen
plenamente en el software
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 20 / 23
Responsabilidad ética y social
Responsabilidad ética y social
La Ingeniería de Software comprende responsabilidades que van
más allá de la simple aplicación de habilidades técnicas
Los ingenieros de Software deben actuar de manera honesta y
ética si desean ser respetados como profesionales
Una conducta ética es más que sólo respetar la ley
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 21 / 23
Responsabilidad ética y social Responsabilidad profesional
Responsabilidad ética y social...
Responsabilidad profesional
Confidencialidad
Competencia
Derechos de propiedad intelectual
Mal uso de la computadora
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 22 / 23
Tarea
Para discusión en la próxima clase
Investigar y analizar el código de ética profesional de los
ingenieros de software desarrollado por ACM/IEEE (Software
Engineering Code of Ethics and Professional Practice)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 23 / 23

Más contenido relacionado

La actualidad más candente

U1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del SoftwareU1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del SoftwareLuis Eduardo Pelaez Valencia
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Softwareguest9ad165
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software Luis Valeriano
 
Futuro del Software: Impacto en las organizaciones y en los profesionales
Futuro del Software:  Impacto en las organizaciones  y en los profesionalesFuturo del Software:  Impacto en las organizaciones  y en los profesionales
Futuro del Software: Impacto en las organizaciones y en los profesionalesAISTI
 
Presentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwarePresentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwareSamuelSanchez136
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwarejuankexmisiodj
 
Ciclo de vida clásico de desarrollo de sistemas
Ciclo de vida clásico de desarrollo de sistemasCiclo de vida clásico de desarrollo de sistemas
Ciclo de vida clásico de desarrollo de sistemasAndrezMendozaMelendr
 
Ciclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_deCiclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_deGABRIELCASTROMARIACA
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueJosue Zelaya
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Ingeniería del-software
Ingeniería del-softwareIngeniería del-software
Ingeniería del-softwareAndrea Marge
 
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
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobarEdwin Alexander
 

La actualidad más candente (20)

U1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del SoftwareU1T1 - Conceptos Básicos de Ingeniería del Software
U1T1 - Conceptos Básicos de Ingeniería del Software
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Software
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 
Futuro del Software: Impacto en las organizaciones y en los profesionales
Futuro del Software:  Impacto en las organizaciones  y en los profesionalesFuturo del Software:  Impacto en las organizaciones  y en los profesionales
Futuro del Software: Impacto en las organizaciones y en los profesionales
 
Presentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwarePresentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del software
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
Ciclo de vida clásico de desarrollo de sistemas
Ciclo de vida clásico de desarrollo de sistemasCiclo de vida clásico de desarrollo de sistemas
Ciclo de vida clásico de desarrollo de sistemas
 
Ciclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_deCiclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_de
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
Requerimientos
RequerimientosRequerimientos
Requerimientos
 
Requerimientos
RequerimientosRequerimientos
Requerimientos
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Ingeniería del-software
Ingeniería del-softwareIngeniería del-software
Ingeniería del-software
 
Conceptos
ConceptosConceptos
Conceptos
 
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
 
conceptos de ingenieria de software
conceptos de ingenieria de softwareconceptos de ingenieria de software
conceptos de ingenieria de software
 
Modelos de desarrollo
Modelos de desarrolloModelos de desarrollo
Modelos de desarrollo
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 

Similar a Fundamntos ing 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)denny osael lopez medina
 
Ingenieria de software final.
Ingenieria de software final.Ingenieria de software final.
Ingenieria de software final.Andrés Sorto
 
Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.usserp584
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. Cristhian Martinez
 
Estado del arte de la ingeniería de software
Estado del arte de la ingeniería de softwareEstado del arte de la ingeniería de software
Estado del arte de la ingeniería de softwareDaniel Urgiles
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxMaikoUrizar1
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
Introducción a la ingeniería del software - cuestionario
Introducción a la ingeniería del software -  cuestionarioIntroducción a la ingeniería del software -  cuestionario
Introducción a la ingeniería del software - cuestionarioSamuelSanchez136
 
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 SoftwareLia IS
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareIngryd Cobain
 
Fundamentos_de_ingenieria_de_software.pptx
Fundamentos_de_ingenieria_de_software.pptxFundamentos_de_ingenieria_de_software.pptx
Fundamentos_de_ingenieria_de_software.pptxmateoaramedi
 

Similar a Fundamntos ing software (20)

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)
 
Ingenieria de software final.
Ingenieria de software final.Ingenieria de software final.
Ingenieria de software final.
 
Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Tarea intro ing_sw_quina
Tarea intro ing_sw_quinaTarea intro ing_sw_quina
Tarea intro ing_sw_quina
 
Plan
PlanPlan
Plan
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
Introducción a la ingeniería del software
Introducción a la ingeniería del softwareIntroducción a la ingeniería del software
Introducción a la ingeniería del software
 
Paula guia
Paula guiaPaula guia
Paula guia
 
ingenieriadesoftware1
ingenieriadesoftware1ingenieriadesoftware1
ingenieriadesoftware1
 
Estado del arte de la ingeniería de software
Estado del arte de la ingeniería de softwareEstado del arte de la ingeniería de software
Estado del arte de la ingeniería de software
 
Niebla sortillon jesus francisco actividad1.1 si5 1
Niebla sortillon jesus francisco actividad1.1 si5 1Niebla sortillon jesus francisco actividad1.1 si5 1
Niebla sortillon jesus francisco actividad1.1 si5 1
 
Is clase1
Is clase1Is clase1
Is clase1
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Introducción a la ingeniería del software - cuestionario
Introducción a la ingeniería del software -  cuestionarioIntroducción a la ingeniería del software -  cuestionario
Introducción a la ingeniería del software - cuestionario
 
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
 
Is clase1
Is clase1Is clase1
Is clase1
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Fundamentos_de_ingenieria_de_software.pptx
Fundamentos_de_ingenieria_de_software.pptxFundamentos_de_ingenieria_de_software.pptx
Fundamentos_de_ingenieria_de_software.pptx
 

Último

COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 

Último (8)

COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 

Fundamntos ing software

  • 1. Conceptos básicos de Ingeniería de Software Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 5 de septiembre del 2012 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 1 / 23
  • 2. Objetivos Objetivos Definir la Ingeniería de Software y explicar su importancia Discutir los conceptos de producto de software y proceso de software Introducir la noción de responsabilidad profesional Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 2 / 23
  • 3. Ingeniería de Software Ingeniería de Software La economía de todos los países desarrollados es dependiente del software Actualmente cada vez mas sistemas son controlados por software La Ingeniería de Software concierne a teorías, métodos y herramientas para el desarrollo profesional de software El gasto en la Ingeniería de Software, representa un alto porcentaje del PIB de los países desarrollados Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 3 / 23
  • 4. Conceptos básicos Conceptos básicos ¿Qué es software? ¿Qué es la Ingeniería de Software? ¿Cuál es la diferencia entre Ingeniería de Software y Ciencias Computacionales? ¿Cuál es la diferencia entre Ingeniería de Software e Ingeniería de Sistemas? ¿Qué es un proceso de software? ¿Qué es un modelo de proceso de software? Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 4 / 23
  • 5. Conceptos básicos Conceptos básicos... ¿Cuáles son los costos de la Ingeniería de Software? ¿Qué son los métodos de Ingeniería de Software? ¿Qué es CASE? ¿Cuáles son los atributos del software de calidad? ¿Cuáles son los retos de la Ingeniería de Software? Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 5 / 23
  • 6. Conceptos básicos Software ¿Qué es software? Programas de cómputo y su documentación asociada: requerimientos, modelos de diseño y manuales de usuario El software puede ser desarrollado para un cliente en particular o para un mercado general El software puede ser: Genérico: desarrollado para venderse a múltiples clientes (Excel, Word, etc.) A la medida: desarrollado bajo demanda del cliente a un desarrollador específico El software nuevo puede ser creado desarrollando nuevos programas, configurando sistemas de software genérico o reutilizando software existente Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 6 / 23
  • 7. Conceptos básicos Ing. de Software ¿Qué es la Ingeniería de Software? Una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software Los Ingenieros de Software deben: Adoptar un enfoque sistemático para llevar a cabo su trabajo Utilizar las herramientas y técnicas apropiadas para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y a los recursos disponibles Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 7 / 23
  • 8. Conceptos básicos Ing. de Software y Ciencias Computacionales ¿Cuál es la diferencia entre Ingeniería de Software y Ciencias Computacionales? Las Ciencias Computacionales conciernen a la teoría y fundamentos de cualquier sistema de cómputo (hardware o software) La Ingeniería de software concierne los aspectos prácticos del desarrollo y puesta en marcha de productos útiles de software La Ingeniería de Software aún está lejos de ser considerada una ciencia como los son la química o la física Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 8 / 23
  • 9. Conceptos básicos Ing. de Software e Ing. de Sistemas ¿Cuál es la diferencia entre Ingeniería de Software e Ingeniería de Sistemas? La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo incluyendo hardware, software y la ingeniería de procesos. La Ingeniería de Software es una parte de este proceso que comprende el desarrollo de software, control, aplicaciones y bases de datos del sistema Los ingenieros de software son los encargados de la especificación del sistema, del diseño de la arquitectura, la integración y la puesta en marcha. Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 9 / 23
  • 10. Conceptos básicos Proceso de software ¿Qué es un proceso de software? Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software Algunas actividades genéricas en todos los procesos de software son: Especificación, qué debe hacer el software y cuáles son sus especificaciones de desarrollo Desarrollo, producción del sistema de software Validación, verificar que el software cumple con lo solicitado por el cliente Evolución, cambiar/adaptar el software a las nuevas demandas Estas actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 10 / 23
  • 11. Conceptos básicos Modelo de proceso de software ¿Qué es un modelo de proceso de software? Representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica Ejemplos de perspectivas del proceso de software: Flujo de trabajo, secuencia de actividades Flujo de datos, flujo de la información Rol/acción, quién realiza qué Modelos Genéricos: Cascada, separar en distintas fases de especificación y desarrollo Desarrollo Iterativo, la especificación, desarrollo y validación están interrelacionados Prototipado, un modelo sirve de prototipo para la construcción del sistema final Basado en componentes, asume que partes del sistema ya existen y se enfoca a su integración Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 11 / 23
  • 12. Conceptos básicos Modelo de proceso de software ¿Qué es un modelo de proceso de software?... Modelo de Cascada Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 12 / 23
  • 13. Conceptos básicos Modelo de proceso de software ¿Qué es un modelo de proceso de software?... Modelo de Desarrollo Iterativo Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 13 / 23
  • 14. Conceptos básicos Costos de la Ing. de Software ¿Cuáles son los costos de la Ingeniería de Software? El costo total de un software esta dividido aproximadamente de la siguiente forma: 60 % costos de desarrollo 40 % costos de pruebas En el software a la medida los costos de evolución a menudo exceden los costos de desarrollo Los costos dependen del tipo de sistema que se desarrolla y de los requerimientos del mismo tales como desempeño y confiabilidad La distribución de los costos depende del modelo de desarrollo empleado Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 14 / 23
  • 15. Conceptos básicos Costos de la Ing. de Software ¿Cuáles son los costos de la Ingeniería de Software?... Distribución de costos por actividad Imagen tomada de [Sommerville, 2006] Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 15 / 23
  • 16. Conceptos básicos Costos de la Ing. de Software ¿Cuáles son los costos de la Ingeniería de Software?... Costos de desarrollo Imagen tomada de [Sommerville, 2006] Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 16 / 23
  • 17. Conceptos básicos Métodos de Ing. de Software ¿Qué son los métodos de Ingeniería de Software? Enfoques estructurados para el desarrollo de software que incluye: Descripciones del modelo, descripciones de modelos gráficos que deben ser producidos Reglas, restricciones aplicadas a los modelos de sistemas Recomendaciones, para realizar un diseño efectivo Administración del proceso, que actividades deben realizarse y en qué orden Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 17 / 23
  • 18. Conceptos básicos CASE ¿Qué es CASE? CASE es Computer-Aided Software Engineering Programas que son usados para dar soporte automatizado a las actividades del proceso de software: Análisis de requerimientos, modelado del sistema, pruebas y depuración (debugging) Las herramientas CASE son comúnmente usadas para dar soporte a los métodos de software Editores para la notación del método Módulos de análisis que verifican que las reglas del método se cumplan Generadores de reportes que facilitan la creación de la documentación del sistema Generadores de código a partir del modelo del sistema Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 18 / 23
  • 19. Conceptos básicos Atributos del software ¿Cuáles son los atributos del software de calidad? El software debe proveer la funcionalidad y desempeño requeridos por el usuario y debe ser mantenible, confiable y aceptable Mantenible, el software debe poder evolucionar para continuar cumpliendo con las especificaciones Confiable, el software no debe causar daños físicos o económicos en el caso de que falle Eficiente, el software no debe desperdiciar los recursos del sistema Aceptable, el software debe ser aceptado por los usuarios para los que fue diseñado. Debe ser entendible, utilizable y compatible con otros sistemas Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 19 / 23
  • 20. Conceptos básicos Retos de la Ing. de Software ¿Cuáles son los retos de la Ingeniería de Software? Heterogeneidad Desarrollar técnicas para construir software que pueda hacer frente a plataformas y ambientes de ejecución heterogéneos (diferentes tipos de Hw y Sw) Tiempos de entrega Desarrollar técnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad Confianza Desarrollar técnicas que permitan que los usuarios confíen plenamente en el software Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 20 / 23
  • 21. Responsabilidad ética y social Responsabilidad ética y social La Ingeniería de Software comprende responsabilidades que van más allá de la simple aplicación de habilidades técnicas Los ingenieros de Software deben actuar de manera honesta y ética si desean ser respetados como profesionales Una conducta ética es más que sólo respetar la ley Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 21 / 23
  • 22. Responsabilidad ética y social Responsabilidad profesional Responsabilidad ética y social... Responsabilidad profesional Confidencialidad Competencia Derechos de propiedad intelectual Mal uso de la computadora Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 22 / 23
  • 23. Tarea Para discusión en la próxima clase Investigar y analizar el código de ética profesional de los ingenieros de software desarrollado por ACM/IEEE (Software Engineering Code of Ethics and Professional Practice) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 23 / 23