1. ¿Qué es un software?
1.1. Es intangible y es ejecutable al seguir una secuencia de instrucciones en un formato que sea entendible por un computador.
1.1.1. El software puede ser:
1.1.1.1. Software enlatado: De uso extendido a una industria o actividad particular. Son de código cerrado.
1.1.1.2. Software hecho a medida: Responde a la demanda del cliente, suelen ser nuevos o modificados.
1.1.1.3. Software de código abierto: Se tiene acceso al código fuente para modificarlo.
1.1.1.4. Software de código cerrado: Modalidad comercial más usada, cuyo código fuente es del dominio del desarrollador.
1.1.2. Área donde puede desarrollarse
1.1.2.1. Software de sistemas, de aplicación, científico, de ingeniería, empotrado, de lineas de productos, aplicaciones web e inteligencia artificial.
2. Aspectos generales de la Ing. de Software
2.1. La ingeniería de software mide, analiza y cuantifica los procesos relacionados con la vida del software.
2.1.1. El desarrollo: Proceso que lleva la producción del software.
2.1.2. La operación: Ejecuta el software en su entorno.
2.1.2.1. ¿A qué se enfrentan?
2.1.2.1.1. Los ingenieros deben tener en cuenta los riesgos del proyecto, el valor del negocio, la duración, complejidad, tecnología utilizada, número de departamentos afectados y el coste.
2.1.2.1.2. Las tecnologías van cambiando, por lo cual el desarrollo de software debe ser rápido e ir innovando.
2.1.2.2. Diferencia de otras ingenierías
2.1.2.2.1. Se trabaja con un producto INTANGIBLE que no tiene materia prima física.
2.1.2.2.2. No se manufactura, ya que se replica con facilidad y bajo costo.
2.1.2.2.3. El software no se desgasta, a diferencias de otras herramientas industriales. Su mantenimiento es diferente.
2.1.2.2.4. Queda obsoleto rapidamente.
2.1.3. El mantenimiento: Corrección de errores y adaptarlo a nuevas necesidades.
2.2. Stakeholders
2.2.1. Usuarios: Quienes adquieren el software para operarlo y prestar un servicio.
2.2.2. Clientes: Objetivo del mercado del software.
2.2.3. Analistas de mercado: Depende al mercado que estén enfocado.
2.2.4. Reguladores: Aplicaciones del día a día.
2.2.5. Ingenieros de Software: Usan componentes de otros software para crear algo nuevo.
2.3. ¿En qué se puede desempeñar?
2.3.1. Gestión de Proyectos: Se encarga de medir el alcance del proyecto, tiempo y coste.
2.3.2. Identificación y gestión de los requisitos: Requisitos del producto a desarrollar.
2.3.3. Modelización: Comprensión de los requisitos y diseño del sistema.
2.3.4. Construcción y pruebas: Escritura del código fuente y pruebas al software.
2.3.5. Calidad: Metricas para ver si se cumple o no con el producto.
2.3.6. Mantenimiento y reingeniería: Corregir errores y añadir nuevas funcionalidades.
2.3.7. Actividades referentes al ciclo de vida del proyecto, que abarcan varias tareas.