Diseño de software SWDN
Estructurar y diseñar software para cumplir con los requisitos especificados, asegurando la adhesión a los estándares y principios establecidos.
Notas orientativas
Las actividades pueden incluir, entre otras, las siguientes:
- diseñar y estructurar aplicaciones de software, componentes, interfaces y características relacionadas (incluida la seguridad)
- diseñar para escalabilidad, rendimiento, resiliencia, seguridad y privacidad desde el principio, alineados con la computación en la nube, los sistemas distribuidos y la protección de datos
- aplicar conceptos de diseño, patrones, técnicas de modelado y estilos arquitectónicos como microservicios, diseño sin servidor y dirigido por dominio para desarrollar diseños y arquitecturas de software, que sirvan de base para la construcción y verificación de software
- evaluar soluciones alternativas y compromisos para facilitar las decisiones de diseño
- tener en cuenta los requisitos funcionales y no funcionales, como el entorno objetivo, el rendimiento, la seguridad, la escalabilidad y la integración con los sistemas existentes
- adoptar y adaptar modelos, herramientas y técnicas de diseño de software basados en el contexto del trabajo, incluidas prácticas contemporáneas como arquitecturas nativas de la nube, computación de borde, sistemas ciberfísicos y prácticas de diseño ágiles e iterativas
- desarrollar prototipos/simulaciones para permitir una toma de decisiones informadas.
A diferencia de la programación y el diseño a nivel de código, esta habilidad se centra en el diseño de nivel superior, abordando consideraciones de arquitectura y de todo el sistema.
Comprender los niveles de responsabilidad de esta habilidad
Donde los niveles inferiores no están definidos...
- Las tareas y responsabilidades específicas no se definen porque la habilidad requiere un mayor nivel de autonomía, influencia y complejidad en la toma de decisiones de lo que normalmente se espera en estos niveles. Puede utilizar las instrucciones de esencia para comprender las responsabilidades genéricas asociadas a estos niveles.
Donde los niveles superiores no están definidos...
- Las responsabilidades y la rendición de cuentas no están definidas porque estos niveles superiores implican un liderazgo estratégico y una influencia organizacional más amplia que va más allá del alcance de esta habilidad específica. Véanse las declaraciones de esencia.
Desarrollar habilidades y demostrar responsabilidades relacionadas con esta habilidad.
Los niveles definidos muestran la progresión incremental en habilidades y responsabilidades.
Donde los niveles inferiores no están definidos...
Puedes desarrollar tus conocimientos y apoyar a otras personas que sí tienen responsabilidad en esta área de la siguiente manera:
- Aprender conceptos y principios clave relacionados con esta habilidad y su impacto en su función
- Realización de habilidades relacionadas (consulte las habilidades relacionadas con SFIA)
- Apoyar a otros que realizan tareas y actividades de nivel superior
Donde los niveles superiores no están definidos...
- Puede progresar desarrollando habilidades relacionadas que se adaptan mejor a niveles más altos de liderazgo organizacional.
Haga clic para saber por qué las habilidades de SFIA no están definidas en los 7 niveles.
Mostrar/ocultar descripciones y niveles adicionales.
Niveles de responsabilidad para esta habilidad
2 | 3 | 4 | 5 | 6 |
Nivel 1
Diseño de software: Nivel 2
Crea y documenta diseños detallados para aplicaciones o componentes de software sencillos. Aplica técnicas, estándares, patrones y herramientas de modelado que se hayan acordado. Contribuye al diseño de componentes de sistemas de software más grandes, asegurando la alineación con los requisitos generales de diseño, incluida la seguridad. Revisa su propio trabajo.
Diseño de software: Nivel 3
Realiza el diseño completo de aplicaciones de software o componentes moderadamente complejos. Aplica los estándares, pautas, patrones y herramientas que se hayan acordado. Ayuda como parte de un equipo en el diseño de componentes de sistemas de software más grandes. Especifica las interfaces del usuario o sistema. Crea múltiples vistas de diseño para atender las necesidades de los diferentes interesados y para manejar los requerimientos funcionales y no funcionales. Ayuda en la evaluación de opciones y compromisos del diseño. Colabora en revisiones de trabajo con otros según corresponda.
Diseño de software: Nivel 4
Diseña y estructura aplicaciones, componentes y módulos complejos de software. Utiliza técnicas de modelado apropiadas en consonancia con estándares, pautas, patrones y metodologías convenidas en materia de diseño de software. Produce y comunica múltiples vistas de diseño para atender las preocupaciones de las partes interesadas y satisfacer los requisitos funcionales y no funcionales, incluida la seguridad. Identifica, evalúa y recomienda alternativas y soluciones de compromiso en materia de diseño. Modela, simula o crea prototipos de comportamientos propuestos en materia de software para obtener la aprobación de las partes interesadas y facilitar la construcción eficaz de software. Examina, verifica y mejora los diseños propios comparándolos con las especificaciones y dirige los exámenes de los diseños de otros.
Diseño de software: Nivel 5
Especifica y diseña aplicaciones, componentes y módulos de software grandes o complejos. Adopta y adapta métodos, herramientas y técnicas de diseño de software. Realiza análisis de impacto en las principales opciones de diseño, hace recomendaciones, evalúa y gestiona los riesgos asociados. Especifica prototipos/simulaciones para permitir una toma de decisiones informada. Evalúa los diseños de los sistemas para asegurar el cumplimiento de los estándares e identifica las medidas correctivas. Se asegura de que el diseño del software equilibre los requisitos funcionales, de calidad, de seguridad y de administración de sistemas. Contribuye al desarrollo de políticas y normas de diseño y arquitectura de software de la organización.
Diseño de software: Nivel 6
Lidera la selección y desarrollo de diseño de software y métodos, herramientas y técnicas arquitectónicas. Define y mantiene los principios, patrones y marcos arquitectónicos para guiar el diseño y desarrollo de software en toda la organización. Garantiza la adherencia a las estrategias técnicas y arquitecturas de sistemas (incluida la seguridad).