martes, 9 de septiembre de 2014

1.1 CONCEPTOS BÁSICOS.

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.
  •        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
¿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.


¿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