Вы находитесь на странице: 1из 20

INGENIERA DE SOFTWARE I

Conceptos bsicos de Ingeniera de Software

Objetivos

Definir la Ingeniera de Software y explicar su importancia Discutir los conceptos de producto de software y proceso de software

Introduccin

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 PBI de los pases desarrollados

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?

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?

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 especfico

El software nuevo puede ser creado desarrollando nuevos programas, configurando sistemas de software genrico o reutilizando software existente

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

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

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 especificacin del sistema, del diseo de la arquitectura, la integracin y la puesta en marcha.

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:

Especificacin, qu debe hacer el software y cules son sus especificaciones de desarrollo Desarrollo, produccin del sistema de software Validacin, verificar 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

Qu es un modelo de proceso de software?

Representacin formal y simplificada de un proceso de software, presentada desde una perspectiva especfica Ejemplos de perspectivas del proceso de software:

Flujo de trabajo, secuencia de actividades Flujo de datos, flujo de la informacin Rol/accin, quin realiza qu Cascada, separar en distintas fases de especificacin y desarrollo Desarrollo Iterativo, la especificacin, desarrollo y validacin estn interrelacionados Prototipado, un modelo sirve de prototipo para la construccin del sistema final Basado en componentes, asume que partes del sistema ya existen y se enfoca a su integracin

Modelos Genricos:

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 confiabilidad La distribucin de los costos depende del modelo de desarrollo empleado

Cules son los costos de la Ingeniera de Software?


Distribucin de costos por actividad
Waterfall model 0 25 50 75 100

Specification

Design

Development

Integ ration and testing

It erative development 0 25 50 75 1 00

Specification

Iterative development ineering 50 75

Sy stem testing

Component-based software eng 0 25

1 00

Specification

Development

Integ ration and testing

Development and evolution costs for long-lifetime sy st 0 10 200

ems 30 400

Sy stem development

Sy stem evolution

Cules son los costos de la Ingeniera de Software?


Costos del Desarrollo del Producto

25

50

75

100

Specification

Development

Sy stem testing

Qu son los mtodos de Ingeniera de Software?

Enfoques estructurados para el desarrollo de software que incluye:


Descripciones

del modelo, descripciones de modelos grficos 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

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 verifican 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

Cules son los atributos del software de calidad?

El software debe proveer la funcionalidad y desempeo 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 daos fsicos o econmicos 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 diseado. Debe ser entendible, utilizable y compatible con otros sistemas

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) tcnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad tcnicas que permitan que los usuarios confen plenamente en el software

Tiempos de entrega
Desarrollar

Confianza
Desarrollar

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

Responsabilidad tica y social

Responsabilidad profesional
Confidencialidad
Competencia Derechos

de propiedad intelectual Mal uso de la computadora

Вам также может понравиться