Diseño de software SWDN
Especificar y diseñar software para cumplir con requisitos definidos siguiendo principios y normas de diseño acordados.
Notas orientativas
Las actividades pueden incluir, entre otras, las siguientes:
- diseñar aplicaciones de software, componentes, interfaces y características relacionadas (incluida la seguridad)
- utilizar conceptos y patrones de diseño para desarrollar diseños de software y proporcionar las bases para la construcción y verificación del 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 y los sistemas existentes
- desarrollar prototipos/simulaciones para permitir una toma de decisiones informada
- adoptar y adaptar modelos, herramientas y técnicas de diseño de software en función del contexto del trabajo
Dependiendo de los requisitos y las características asignadas al proyecto o al trabajo, las técnicas de diseño de software pueden ser enfoques predictivos (basadas en planes) o adaptativos (iterativos/ágiles).
Niveles de responsabilidad para esta habilidad
2 | 3 | 4 | 5 | 6 |
Diseño de software: Nivel 1
Por lo general, esta habilidad no se observa ni se practica en este nivel de responsabilidad y rendición de cuentas.
Diseño de software: Nivel 2
Crea y documenta diseños detallados para aplicaciones o componentes de software sencillos.
Aplica las técnicas, normas, patrones y herramientas de modelado que se hayan acordado.
Contribuye al diseño de componentes de sistemas de software más grandes.
Revisa su propio trabajo.
Diseño de software: Nivel 3
Realiza el diseño completo de aplicaciones de software o componentes moderadamente complejos.
Aplica las normas, 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 aplicaciones, componentes y módulos de software complejos.
Utiliza técnicas apropiadas de modelado siguiendo los estándares, directrices, patrones y metodología de diseño de software acordados. Crea y comunica múltiples vistas de diseño para equilibrar las inquietudes de las partes interesadas y atender los requisitos funcionales y no funcionales.
Identifica, evalúa y recomienda opciones de diseño alternativo y compromisos de diseño.
Modela, simula o crea prototipos del comportamiento del software propuesto para permitir la aprobación de los interesados y la construcción efectiva del software. Verifica el diseño del software mediante la construcción y aplicación de métodos apropiados.
Revisa, verifica y mejora diseños propios según las especificaciones.
Dirige revisiones 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 las normas 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
Dirige la selección y el desarrollo de métodos, herramientas y técnicas de diseño de software.
Desarrolla políticas organizacionales, estándares y directrices para el diseño y arquitecturas de software.
Asegura el cumplimiento de las estrategias técnicas y arquitecturas de sistemas (incluida la seguridad).
Diseño de software: Nivel 7
Por lo general, esta habilidad no se observa ni se practica en este nivel de responsabilidad y rendición de cuentas.