Conceptos Básicos De Ingeniería De Software.pdf

  • Uploaded by: steven valencia marin
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Conceptos Básicos De Ingeniería De Software.pdf as PDF for free.

More details

  • Words: 1,654
  • Pages: 22
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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

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 R ODRÍGUEZ T. (C INVESTAV)

Conceptos básicos

5 de septiembre del 2012

23 / 23

Related Documents


More Documents from "Laura"