Anda di halaman 1dari 23

Conceptos bsicos de Ingeniera de Software

Dr. Eduardo A. R ODRGUEZ T ELLO


C INVESTAV-Tamaulipas

5 de septiembre del 2012

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

1 / 23

Objetivos

Objetivos

Denir la Ingeniera de Software y explicar su importancia Discutir los conceptos de producto de software y proceso de software Introducir la nocin de responsabilidad profesional

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

2 / 23

Ingeniera de Software

Ingeniera de Software

La economa de todos los pases desarrollados es dependiente del software Actualmente cada vez mas sistemas son controlados por software La Ingeniera de Software concierne a teoras, mtodos y herramientas para el desarrollo profesional de software El gasto en la Ingeniera de Software, representa un alto porcentaje del PIB de los pases desarrollados

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

3 / 23

Conceptos bsicos

Conceptos bsicos

Qu es software? Qu es la Ingeniera de Software? Cul es la diferencia entre Ingeniera de Software y Ciencias Computacionales? Cul es la diferencia entre Ingeniera de Software e Ingeniera de Sistemas? Qu es un proceso de software? Qu es un modelo de proceso de software?

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

4 / 23

Conceptos bsicos

Conceptos bsicos...

Cules son los costos de la Ingeniera de Software? Qu son los mtodos de Ingeniera de Software? Qu es CASE? Cules son los atributos del software de calidad? Cules son los retos de la Ingeniera de Software?

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

5 / 23

Conceptos bsicos

Software

Qu es software?
Programas de cmputo y su documentacin asociada: requerimientos, modelos de diseo y manuales de usuario El software puede ser desarrollado para un cliente en particular o para un mercado general El software puede ser:
Genrico: desarrollado para venderse a mltiples clientes (Excel, Word, etc.) A la medida: desarrollado bajo demanda del cliente a un desarrollador especco

El software nuevo puede ser creado desarrollando nuevos programas, congurando sistemas de software genrico o reutilizando software existente
Dr. Eduardo R ODRGUEZ T. (C INVESTAV) Conceptos bsicos 5 de septiembre del 2012 6 / 23

Conceptos bsicos

Ing. de Software

Qu es la Ingeniera de Software?

Una disciplina de la Ingeniera que concierne a todos los aspectos de la produccin de software Los Ingenieros de Software deben:
Adoptar un enfoque sistemtico para llevar a cabo su trabajo Utilizar las herramientas y tcnicas apropiadas para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y a los recursos disponibles

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

7 / 23

Conceptos bsicos

Ing. de Software y Ciencias Computacionales

Cul es la diferencia entre Ingeniera de Software y Ciencias Computacionales?

Las Ciencias Computacionales conciernen a la teora y fundamentos de cualquier sistema de cmputo (hardware o software) La Ingeniera de software concierne los aspectos prcticos del desarrollo y puesta en marcha de productos tiles de software La Ingeniera de Software an est lejos de ser considerada una ciencia como los son la qumica o la fsica

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

8 / 23

Conceptos bsicos

Ing. de Software e Ing. de Sistemas

Cul es la diferencia entre Ingeniera de Software e Ingeniera de Sistemas?

La Ingeniera de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cmputo incluyendo hardware, software y la ingeniera de procesos. La Ingeniera 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 especicacin del sistema, del diseo de la arquitectura, la integracin y la puesta en marcha.

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

9 / 23

Conceptos bsicos

Proceso de software

Qu es un proceso de software?
Un conjunto estructurado de actividades cuya meta es el desarrollo o evolucin de un software Algunas actividades genricas en todos los procesos de software son:
Especicacin, qu debe hacer el software y cules son sus especicaciones de desarrollo Desarrollo, produccin del sistema de software Validacin, vericar que el software cumple con lo solicitado por el cliente Evolucin, cambiar/adaptar el software a las nuevas demandas

Estas actividades varan dependiendo de la organizacin y del tipo de sistema a desarrollarse

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

10 / 23

Conceptos bsicos

Modelo de proceso de software

Qu es un modelo de proceso de software?


Representacin formal y simplicada de un proceso de software, presentada desde una perspectiva especca Ejemplos de perspectivas del proceso de software:
Flujo de trabajo, secuencia de actividades Flujo de datos, ujo de la informacin Rol/accin, quin realiza qu

Modelos Genricos:
Cascada, separar en distintas fases de especicacin y desarrollo Desarrollo Iterativo, la especicacin, desarrollo y validacin estn interrelacionados Prototipado, un modelo sirve de prototipo para la construccin del sistema nal Basado en componentes, asume que partes del sistema ya existen y se enfoca a su integracin
Dr. Eduardo R ODRGUEZ T. (C INVESTAV) Conceptos bsicos 5 de septiembre del 2012 11 / 23

Conceptos bsicos

Modelo de proceso de software

Qu es un modelo de proceso de software?...


Modelo de Cascada

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

12 / 23

Conceptos bsicos

Modelo de proceso de software

Qu es un modelo de proceso de software?...


Modelo de Desarrollo Iterativo

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

13 / 23

Conceptos bsicos

Costos de la Ing. de Software

Cules son los costos de la Ingeniera 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 evolucin 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 desempeo y conabilidad La distribucin de los costos depende del modelo de desarrollo empleado

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

14 / 23

Conceptos bsicos

Costos de la Ing. de Software

Cules son los costos de la Ingeniera de Software?...


Distribucin de costos por actividad

Imagen tomada de [Sommerville, 2006] Dr. Eduardo R ODRGUEZ T. (C INVESTAV) Conceptos bsicos 5 de septiembre del 2012 15 / 23

Conceptos bsicos

Costos de la Ing. de Software

Cules son los costos de la Ingeniera de Software?...


Costos de desarrollo

Imagen tomada de [Sommerville, 2006]

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

16 / 23

Conceptos bsicos

Mtodos de Ing. de Software

Qu son los mtodos de Ingeniera de Software?

Enfoques estructurados para el desarrollo de software que incluye:


Descripciones del modelo, descripciones de modelos grcos que deben ser producidos Reglas, restricciones aplicadas a los modelos de sistemas Recomendaciones, para realizar un diseo efectivo Administracin del proceso, que actividades deben realizarse y en qu orden

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

17 / 23

Conceptos bsicos

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:
Anlisis de requerimientos, modelado del sistema, pruebas y depuracin (debugging)

Las herramientas CASE son comnmente usadas para dar soporte a los mtodos de software
Editores para la notacin del mtodo Mdulos de anlisis que verican que las reglas del mtodo se cumplan Generadores de reportes que facilitan la creacin de la documentacin del sistema Generadores de cdigo a partir del modelo del sistema

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

18 / 23

Conceptos bsicos

Atributos del software

Cules son los atributos del software de calidad?

El software debe proveer la funcionalidad y desempeo requeridos por el usuario y debe ser mantenible, conable y aceptable
Mantenible, el software debe poder evolucionar para continuar cumpliendo con las especicaciones Conable, el software no debe causar daos fsicos o econmicos en el caso de que falle Eciente, el software no debe desperdiciar los recursos del sistema Aceptable, el software debe ser aceptado por los usuarios para los que fue diseado. Debe ser entendible, utilizable y compatible con otros sistemas

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

19 / 23

Conceptos bsicos

Retos de la Ing. de Software

Cules son los retos de la Ingeniera de Software?

Heterogeneidad
Desarrollar tcnicas para construir software que pueda hacer frente a plataformas y ambientes de ejecucin heterogneos (diferentes tipos de Hw y Sw)

Tiempos de entrega
Desarrollar tcnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad

Conanza
Desarrollar tcnicas que permitan que los usuarios confen plenamente en el software

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

20 / 23

Responsabilidad tica y social

Responsabilidad tica y social

La Ingeniera de Software comprende responsabilidades que van ms all de la simple aplicacin de habilidades tcnicas Los ingenieros de Software deben actuar de manera honesta y tica si desean ser respetados como profesionales Una conducta tica es ms que slo respetar la ley

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

21 / 23

Responsabilidad tica y social

Responsabilidad profesional

Responsabilidad tica y social...


Responsabilidad profesional

Condencialidad Competencia Derechos de propiedad intelectual Mal uso de la computadora

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

22 / 23

Tarea

Para discusin en la prxima clase

Investigar y analizar el cdigo de tica profesional de los ingenieros de software desarrollado por ACM/IEEE (Software Engineering Code of Ethics and Professional Practice)

Dr. Eduardo R ODRGUEZ T. (C INVESTAV)

Conceptos bsicos

5 de septiembre del 2012

23 / 23

Anda mungkin juga menyukai