Ver SFIA: Competencias centrales de ingeniería de software
Competencias centrales de ingeniería de software
Estas son las competencias que típicamente necesitan los profesionales de ingeniería de software. Tenga en cuenta que no todos los ingenieros de software requieren todas las competencias enumeradas. El conjunto de competencias requeridas depende de la naturaleza de la organización empleadora y / o las funciones y responsabilidades específicas de los ingenieros de software que emplean.
Gestión y definición de requisitos REQM
La obtención, análisis, especificación y validación de requisitos y limitaciones a un nivel que permite un desarrollo eficaz y las operaciones de software nuevo o modificado, sistemas, procesos, productos y servicios. La gestión de requisitos a lo largo de toda la entrega y el ciclo de vida operativo del software, sistema, procesos, productos o servicios. La negociación de concesiones que son ambas aceptables por los interesados claves y dentro de las limitaciones presupuestarias, técnicas, reglamentarias y otras. La adopción y adaptación de modelos de ciclo de vida de gestión de requisitos en función del contexto de la obra y seleccionando adecuadamente en enfoques plan-conducido/predictivo o enfoques más adaptativos (iterativos y ágiles).
Diseño de sistemas DESN
El diseño de sistemas para cumplir con los requisitos especificados, compatibles con las arquitecturas de sistemas acordados, que se adhieren a los estándares corporativos y están dentro de las restricciones de rendimiento y viabilidad. La identificación de conceptos y su traducción en un diseño que forma la base para la construcción y verificación de sistemas. El diseño o selección de componentes. El desarrollo de un conjunto completo de modelos detallados, propiedades y / o características descritas en una forma adecuada para su implementación. La adopción y adaptación de modelos de ciclo de vida de diseño de sistemas basados en el contexto del trabajo y seleccionando apropiadamente desde enfoques predictivos (basados en planes) o enfoques adaptativos (iterativos / ágiles).
Diseño de software SWDN
La especificación y diseño de software para cumplir con requisitos definidos siguiendo principios y normas de diseño acordados. La definición de software, componentes, interfaces y características relacionadas. La identificación de conceptos y patrones y la traducción en un diseño que proporciona una base para la verificación y construcción de software. La evaluación de soluciones alternativas y compromisos (trade-offs). La facilitación de las decisiones de diseño dentro de las limitaciones de diseños de sistemas, normas de diseño, calidad, factibilidad, extensibilidad y mantenimiento. El desarrollo y la iteración de prototipos / simulaciones para la toma de decisiones informada. La adopción y adaptación de modelos de diseño de software, herramientas y técnicas en función del contexto de trabajo a realizar y seleccionando adecuadamente de métodos predictivos (basado en plan) o adaptación enfoques (iterativo/agile).
Programación/Desarrollo de software PROG
La planificación, diseño, creación, modificación, verificación, pruebas y documentación de componentes de software nuevo y modificado para entregar valor acordado a los interesados. La identificación, creación y aplicación de procesos y estándares de seguridad y desarrollo de software acordados. Adoptar y adaptar modelos de ciclo de vida de desarrollo de software basados en el contexto del trabajo y seleccionar apropiadamente desde enfoques predictivos (basados en plan) o enfoques adaptativos (iterativos / ágiles).
Desarrollo de sistemas de tiempo real/embebidos RESD
La arquitectura, diseño y desarrollo de software confiable en tiempo real, sistemas operativos, herramientas y sistemas embebidos. Incrustar sistemas informáticos con una función específica dentro de un sistema mecánico o electrónico más grande, a menudo con restricciones de protección (safety), seguridad y confiabilidad en tiempo real. Típicamente incluye la interfaz con hardware, sensores mecánicos y actuadores para monitoreo y control en aplicaciones tales como maquinaria industrial, automotriz, aeroespacial y médica, robots y equipos que incluyen dispositivos IoT (Internet de las Cosas)
Métodos y herramientas METL
La definición, adaptación, implementación, evaluación, medición, automatización y mejora de métodos y herramientas para soportar la planificación, el desarrollo, la prueba, la operación, la gestión y el mantenimiento de sistemas. Asegurando que los métodos y herramientas se adopten y utilicen de manera efectiva en toda la organización.
Gestión de la configuración CFMG
La planificación, la gestión, el control y el gobierno de activos y artefactos organizacionales, de proyecto y de servicio. La identificación, clasificación y especificación de elementos de configuración (CI) y sus interrelaciones. La identificación de la configuración y versión de código fuente, software, sistemas, documentos y CI dependientes de servicios, a distintos puntos en el tiempo. El control sistemático de cambios a la configuración y el mantenimiento de la integridad y trazabilidad de la configuración a lo largo del ciclo de vida del proyecto, sistema y/o servicio. La identificación y documentación de las características funcionales y físicas de CI, el control de cambios a esas características, el registro y reporte del estado del procesamiento y de la implementación de cambios. La verificación y auditoría de CI para calidad de datos y cumplimiento de requerimientos internos y externos especificados.
Pruebas TEST
La planificación, el diseño, la administración, la ejecución y la presentación de informes de pruebas, utilizando herramientas y técnicas de prueba apropiadas y que se ajustan a los estándares de procesos acordados y las regulaciones específicas de la industria. El objetivo de las pruebas es asegurar que los sistemas, configuraciones, paquetes o servicios nuevos y modificados, junto con las interfaces, funcionen según lo especificado (incluidos los requisitos de seguridad) y que los riesgos asociados con la implementación se comprendan y documenten adecuadamente. Las pruebas incluyen el proceso de ingeniería, uso y mantenimiento de software de prueba (casos de prueba, scripts de prueba, informes de pruebas, planes de prueba, etc.) para medir y mejorar la calidad del software que se prueba.
Construcción e integración de sistemas SINT
La planificación, implementación y control de actividades de integración y construcción de componentes, subsistemas e interfaces para crear sistemas operativos, productos o servicios para la entrega a los clientes, o para fines internos o provisionales como prueba. El desarrollo de capacidades organizacionales para la integración de sistemas y construcción incluyendo automatización e integración continua.
Liberación y despliegue RELM
La gestión de procesos, sistemas y funciones para empaquetar, construir, probar y desplegar cambios y actualizaciones (que están vinculados como "liberaciones") en un entorno de producción, estableciendo o continuando el servicio especificado, para permitir la entrega controlada y efectiva a la gestión operativa y la comunidad de usuarios. La aplicación de automatización para mejorar la eficiencia y la calidad de las liberaciones.
Aseguramiento de la calidad QUAS
El proceso de asegurar, a través de la evaluación y revisión independiente, que las prácticas de trabajo, actividades de control de calidad, procesos organizativos y normas de calidad apropiadas se llevan a cabo y se adhiere y promueven las mejores prácticas a lo largo de la organización. Aseguramiento de la calidad proporciona confianza a la gestión interna y organismos externos, como clientes o reguladores, de que se cumplirán los requisitos de calidad. Aseguramiento de la calidad puede referirse a cualquier área donde se aplican normas de calidad, incluyendo productos, datos, servicios y procesos de negocio.
Medición MEAS
El desarrollo y operación de una capacidad de medición para apoyar las necesidades de información organizacional acordadas. La planificación, implementación y control de las actividades para medir atributos de procesos, productos y servicios con el fin de evaluar el rendimiento, progreso y proporcionar las indicaciones y perspectivas a problemas reales o potenciales, incidentes y riesgos. La identificación de requerimientos, la selección de medidas y escalas de medición, el establecimiento de métodos de recolección y análisis de datos, y la definición de valores y umbrales objetivo. Las mediciones pueden aplicarse a organizaciones, proyectos, procesos y productos de trabajo.
Ingeniería de seguridad SFEN
Corresponde a la aplicación de métodos adecuados para asegurar la seguridad durante todas las fases del ciclo de vida de desarrollos de sistemas relacionados con la seguridad, incluidos el mantenimiento y la reutilización. Estos incluyen riesgos de seguridad y análisis de riesgo, especificación de requisitos de seguridad, diseño arquitectónico de sistemas relacionados con la seguridad, diseño de métodos formales, verificación y validación de la seguridad, y preparación del estudio de seguridad.
Soporte de aplicaciones ASUP
La prestación de servicios de soporte técnico y mantenimiento, ya sea directamente a los usuarios de los sistemas o a las funciones de prestación de servicios. El soporte normalmente incluye la investigación y resolución de asuntos y también puede incluir el monitoreo del desempeño. Los asuntos se pueden resolver proporcionando consejos o capacitación a los usuarios, creando correcciones (permanentes o temporales) para las fallas, realizando modificaciones generales o específicas al sitio, actualizando documentación, manipulando datos o definiendo mejoras. A menudo el soporte involucra una estrecha colaboración con los desarrolladores del sistema y/o colegas especializados en distintas áreas, tales como la administración de bases de datos o lel soporte a redes.