- 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.
- 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
- 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.
¿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.
¿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.
¿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.
¿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
¿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.
¿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
¿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.
¿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
¿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
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
Responsabilidad ética y social...
- Responsabilidad profesional
- Confidencialidad
- Competencia
- Derechos de propiedad intelectual
- Mal uso de la computadora
BIBLIOGRAFIA
bibliografia:http://www.tamps.cinvestav.mx/~ertello/swe/sesion01.pdf
No hay comentarios:
Publicar un comentario