Beruflich Dokumente
Kultur Dokumente
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
trabajo Utilizar las herramientas y tcnicas apropiadas para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y a los recursos disponibles
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
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
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:
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
Specification
Design
Development
It erative development 0 25 50 75 1 00
Specification
Sy stem testing
1 00
Specification
Development
ems 30 400
Sy stem development
Sy stem evolution
25
50
75
100
Specification
Development
Sy stem testing
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:
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
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
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
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 profesional
Confidencialidad
Competencia Derechos