Este documento introduce brevemente varios temas clave de la ingeniería de software, incluyendo una definición de ingeniería de software, los costos asociados, los tipos de productos de software, la especificación de productos, y la ética en la ingeniería de software. También presenta preguntas frecuentes sobre la disciplina y resume los principios fundamentales que se aplican a todo tipo de desarrollo de sistemas de software.
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Introduccion a la Ingeniería de Software
1.
2.
3.
4.
5.
6.
7. Preguntas frecuentes sobre Ingeniería de Software (FAQ) Pregunta Respuesta ¿Qué es software? Programas computacionales y su documentación asociada. Los productos de Software pueden ser desarrollados para un cliente particular ó un mercado en general. ¿Cuáles son los atributos del buen software? El buen software debería ofrecer la funcionalidad y el rendimiento requeridos por el usuario y debería ser mantenible, confiable y usable. ¿Qué es Ingeniería de Software? Ingeniería de software es la disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y mantener software. ¿Cuales son las actividades fundamentales de la Ingeniería de Software? Especificación de Software, Desarrollo de software, validación de software y evolución del software. ¿Cuál es la diferencia principal entre la Ingeniería de Software y las Ciencias de la Computación? Las Ciencias de la computación se centra en la teoría y los fundamentos; La Ingeniería de software tiene que ver con los aspectos prácticos de desarrollo y distribución de software útil. ¿Cuál es la diferencia entre la Ingeniería de Software y la Ingeniería en Sistemas? Ingeniería de sistemas se refiere a todos los aspectos del equipo de desarrollo basado en sistemas, incluyendo la ingeniería de hardware, software y procesos.Ingeniería de software es parte de este proceso más general.
8. Preguntas frecuentes sobre Ingeniería de Software (FAQ) Pregunta Respuesta ¿Cuáles son los principales retos que enfrenta la Ingeniería de Software? Hacer frente a la creciente diversidad, las demandas de los tiempos de entrega reducidos y el desarrollo de software de confianza. ¿Cuáles son los costos de la Ingeniería de Software? Aproximadamente el 60% de los costos de software son los costos de desarrollo, el 40% son costes de las pruebas. Para el software a la medida, los costos de evolución a menudo exceden los costos de desarrollo. ¿Cuáles son las mejores técnicas de ingeniería de software y métodos? Mientras que todos los proyectos de software tienen que ser gestionadas y desarrolladas de forma profesional, las diferentes técnicas son adecuadas para diferentes tipos de sistemas. Por ejemplo, los juegos siempre deben ser desarrollado con una serie de prototipos, mientras que los sistemas de control de seguridad críticos requieren una especificación completa y analizable para desarrollarlos. Por tanto, no se puede decir que un método es mejor que otro. ¿Qué variaciones ha causado la web a la ingeniería de software? La web nos ha llevado a la disponibilidad de servicios de software y la posibilidad de desarrollar sistemas altamente distribuídos basados en servicios. El Desarrollo de sistemas basado en la Web ha dado lugar a importantes avances en los lenguajes de programación y la reutilización de software.
9. Atributos esenciales del buen software Característica de Producto Descripción Mantenibilidad El software debe ser escrito de tal manera que pueda evolucionar para satisfacer las necesidades cambiantes de los clientes. Este es un atributo esencial, porque el cambio de software es un requisito inevitable de un entorno empresarial cambiante. Fiabilidad y Seguridad El Software fiable y seguro no debe causar daños físicos o económicos en caso de fallo del sistema. Los usuarios malintencionados no deben ser capaces de tener acceso o dañar el sistema. Eficiencia El software no debe hacer un uso despilfarrador de los recursos del sistema como la memoria y ciclos del procesador. Eficiencia por lo tanto incluye la capacidad de respuesta, el tiempo de procesamiento, utilización de memoria, etc. Aceptabilidad El software debe ser aceptable para el tipo de usuarios para los que fue diseñado. Esto significa que debe ser comprensible, utilizable y compatible con otros sistemas que utilice.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30. El Código de Ética de la ACM/IEEE Código de Ética y Práctica Profesional de la Ingeniería de Software ACM/IEEE-CS Fuerza de Tarea Conjunta de Ética de Ingeniería del Software y Prácticas Profesionales PREÁMBULO La versión corta del código resume las aspiraciones a un alto nivel de la abstracción, las cláusulas que se incluyen en la versión completa dan ejemplos y detalles de cómo estas aspiraciones cambian la forma en que actuamos como profesionales de la ingeniería de software. Sin las aspiraciones, los detalles pueden ser legalistas y tediosos, sin los detalles, las aspiraciones pueden convertirse en altisonantes pero vacías; en conjunto, las aspiraciones y los detalles forman un código cohesivo. Los ingenieros de software deberán comprometerse a hacer el análisis, especificación, diseño, desarrollo, pruebas y mantenimiento de software una profesión benéfica y respetada. De acuerdo con su compromiso con la salud, la seguridad y el bienestar de la población, los ingenieros de software deberán adherirse a los siguientes ocho principios:
31. Principios Éticos 1. PÚBLICO - Los ingenieros de software actuarán en consonancia con el interés público.2. CLIENTE Y EMPLEADOR - Los ingenieros de software actuarán en el mejor interés de sus clientes y empresarios en consonancia con el interés público.3. PRODUCTO - Los ingenieros de software asegurarán que sus productos y modificaciones correspondientes cumplen los estándares profesionales más altos posibles.4. JUICIO - Los ingenieros de software mantendrán integridad e independencia en su juicio profesional.5. ADMINISTRACIÓN - Los gerentes y líderes de ingeniería de software se suscribirán y promoverán un enfoque ético en la gestión del desarrollo y mantenimiento de software.6. PROFESIÓN - Los Ingenieros de Software promoverán la integridad y reputación de la profesión congruentemente con el interés público.7. COLEGAS - Los ingenieros de software serán justos y apoyarán a sus colegas.8. AUTO - Los ingenieros de software participarán en el aprendizaje permanente en relación con el ejercicio de su profesión y promoverán un enfoque ético de la práctica de la profesión.