Podcast
Questions and Answers
¿Qué es la arquitectura de software según el Instituto de Ingeniería de Software (SEI)?
¿Qué es la arquitectura de software según el Instituto de Ingeniería de Software (SEI)?
La arquitectura de software juega un papel importante en la capacidad de un sistema para satisfacer los atributos de calidad.
La arquitectura de software juega un papel importante en la capacidad de un sistema para satisfacer los atributos de calidad.
True
¿Qué actividades técnicas se llevan a cabo durante el ciclo de desarrollo de la arquitectura de software?
¿Qué actividades técnicas se llevan a cabo durante el ciclo de desarrollo de la arquitectura de software?
Requerimientos, Diseño, Construcción, Pruebas e Implantación
¿Qué representan los atributos de calidad y otros requerimientos del sistema?
¿Qué representan los atributos de calidad y otros requerimientos del sistema?
Signup and view all the answers
La arquitectura de software juega un rol crucial en el desarrollo del sistema.
La arquitectura de software juega un rol crucial en el desarrollo del sistema.
Signup and view all the answers
¿En qué consiste la etapa de Diseño en el ciclo de desarrollo de la arquitectura de software?
¿En qué consiste la etapa de Diseño en el ciclo de desarrollo de la arquitectura de software?
Signup and view all the answers
La ____________ permite satisfacer los atributos de calidad de un sistema.
La ____________ permite satisfacer los atributos de calidad de un sistema.
Signup and view all the answers
Relaciona los beneficios de la arquitectura de software con sus descripciones:
Relaciona los beneficios de la arquitectura de software con sus descripciones:
Signup and view all the answers
¿Cuál es el propósito de la identificación de drivers arquitectónicos en el ciclo de desarrollo de la arquitectura de software?
¿Cuál es el propósito de la identificación de drivers arquitectónicos en el ciclo de desarrollo de la arquitectura de software?
Signup and view all the answers
¿En la etapa de identificación de drivers arquitectónicos, quiénes podrían participar en la reunión según el texto?
¿En la etapa de identificación de drivers arquitectónicos, quiénes podrían participar en la reunión según el texto?
Signup and view all the answers
En el taller de drivers arquitectónicos, se realizan seis fases, la primera fase es la introducción y presentación de los participantes. La última fase es el _____ y acciones siguientes.
En el taller de drivers arquitectónicos, se realizan seis fases, la primera fase es la introducción y presentación de los participantes. La última fase es el _____ y acciones siguientes.
Signup and view all the answers
En el modelo FURPS+, las restricciones físicas del hardware son consideradas como drivers arquitectónicos.
En el modelo FURPS+, las restricciones físicas del hardware son consideradas como drivers arquitectónicos.
Signup and view all the answers
¿Qué podría ser especificado en función de las acciones mostradas en el caso de uso 'Comprar boleto (de autobús) en línea'?
¿Qué podría ser especificado en función de las acciones mostradas en el caso de uso 'Comprar boleto (de autobús) en línea'?
Signup and view all the answers
¿Qué alternativa arquitectónica sería válida para asignar las acciones de compra de boletos a diferentes componentes?
¿Qué alternativa arquitectónica sería válida para asignar las acciones de compra de boletos a diferentes componentes?
Signup and view all the answers
Según el taller de atributos de calidad, los escenarios de atributos de calidad son análogos a los casos de uso o historias de usuario funcionales respecto a que especifican requerimientos de _____ de calidad.
Según el taller de atributos de calidad, los escenarios de atributos de calidad son análogos a los casos de uso o historias de usuario funcionales respecto a que especifican requerimientos de _____ de calidad.
Signup and view all the answers
¿Cuál es un indicador acerca de si el sistema se encuentra en una condición operable cuando requiere ser utilizado?
¿Cuál es un indicador acerca de si el sistema se encuentra en una condición operable cuando requiere ser utilizado?
Signup and view all the answers
Las restricciones administrativas describen aspectos que limitan el proceso de desarrollo del sistema.
Las restricciones administrativas describen aspectos que limitan el proceso de desarrollo del sistema.
Signup and view all the answers
¿Qué indicador se refiere al costo de realizar cambios en el sistema?
¿Qué indicador se refiere al costo de realizar cambios en el sistema?
Signup and view all the answers
Las ______ especifican políticas, estándares o procedimientos organizacionales que rigen la forma en que se realizan las actividades de una organización. Por ejemplo, durante el desarrollo de un sistema, una regla de negocio que especifica el procedimiento que usa una compañía para calcular un descuento sobre el valor de un boleto de autobús tiene influencia en el establecimiento de los requerimientos funcionales relacionados con la compra de boletos en línea.
Las ______ especifican políticas, estándares o procedimientos organizacionales que rigen la forma en que se realizan las actividades de una organización. Por ejemplo, durante el desarrollo de un sistema, una regla de negocio que especifica el procedimiento que usa una compañía para calcular un descuento sobre el valor de un boleto de autobús tiene influencia en el establecimiento de los requerimientos funcionales relacionados con la compra de boletos en línea.
Signup and view all the answers
Relacionar los siguientes tipos de drivers con su descripción correspondiente:
Relacionar los siguientes tipos de drivers con su descripción correspondiente:
Signup and view all the answers
¿Qué son las tácticas en el desarrollo de sistemas de software?
¿Qué son las tácticas en el desarrollo de sistemas de software?
Signup and view all the answers
¿En qué libro se encuentra un catálogo de tácticas en el desarrollo de software?
¿En qué libro se encuentra un catálogo de tácticas en el desarrollo de software?
Signup and view all the answers
El desempeño está relacionado con la recepción de eventos y con la generación de una respuesta en un tiempo acotado por determinadas ____.
El desempeño está relacionado con la recepción de eventos y con la generación de una respuesta en un tiempo acotado por determinadas ____.
Signup and view all the answers
Hacer más eficiente un algoritmo puede contribuir a mejorar el desempeño de un sistema.
Hacer más eficiente un algoritmo puede contribuir a mejorar el desempeño de un sistema.
Signup and view all the answers
¿Por qué es importante la modularidad en el desarrollo de sistemas de software?
¿Por qué es importante la modularidad en el desarrollo de sistemas de software?
Signup and view all the answers
La cohesión alta es una característica deseable en el diseño de módulos.
La cohesión alta es una característica deseable en el diseño de módulos.
Signup and view all the answers
¿Qué concepto se refiere a qué tanto depende un módulo de otro en el diseño de software?
¿Qué concepto se refiere a qué tanto depende un módulo de otro en el diseño de software?
Signup and view all the answers
El principio KISS significa 'Mantenlo sencillo y directo' en inglés, donde KISS es un acrónimo de 'Keep it simple and ________.'
El principio KISS significa 'Mantenlo sencillo y directo' en inglés, donde KISS es un acrónimo de 'Keep it simple and ________.'
Signup and view all the answers
Relaciona los siguientes conceptos de diseño con su descripción:
Relaciona los siguientes conceptos de diseño con su descripción:
Signup and view all the answers
¿Qué implica que los requerimientos de usuario y los atributos de calidad sean conceptos ortogonales?
¿Qué implica que los requerimientos de usuario y los atributos de calidad sean conceptos ortogonales?
Signup and view all the answers
¿Qué implicaciones tiene priorizar con una escala alta los drivers de atributos de calidad, seguridad y desempeño en un sistema?
¿Qué implicaciones tiene priorizar con una escala alta los drivers de atributos de calidad, seguridad y desempeño en un sistema?
Signup and view all the answers
¿A qué atributo de calidad corresponde la especificación 'El sistema deberá tener una interfaz amigable con pantallas ligeras'?
¿A qué atributo de calidad corresponde la especificación 'El sistema deberá tener una interfaz amigable con pantallas ligeras'?
Signup and view all the answers
¿Cuál(es) podría(n) ser un objetivo(s) de negocio asociado(s) al sistema de análisis automático de comentarios de clientes en redes sociales de una cadena de restaurantes?
¿Cuál(es) podría(n) ser un objetivo(s) de negocio asociado(s) al sistema de análisis automático de comentarios de clientes en redes sociales de una cadena de restaurantes?
Signup and view all the answers
¿Por qué es importante la participación del arquitecto de software en la ingeniería de requerimientos?
¿Por qué es importante la participación del arquitecto de software en la ingeniería de requerimientos?
Signup and view all the answers
El diseño de arquitectura de software se realiza siguiendo un enfoque iterativo.
El diseño de arquitectura de software se realiza siguiendo un enfoque iterativo.
Signup and view all the answers
¿Qué implica el principio de modularidad en el diseño de arquitectura de software?
¿Qué implica el principio de modularidad en el diseño de arquitectura de software?
Signup and view all the answers
¿Qué problemas podrían ocurrir en el desarrollo de software si no se le da importancia a la arquitectura?
¿Qué problemas podrían ocurrir en el desarrollo de software si no se le da importancia a la arquitectura?
Signup and view all the answers
¿El diseño de la arquitectura cubre todo el diseño que se hace al desarrollar un sistema? En caso negativo, ¿qué otras actividades de diseño no arquitectónico se llevan a cabo en ese desarrollo?
¿El diseño de la arquitectura cubre todo el diseño que se hace al desarrollar un sistema? En caso negativo, ¿qué otras actividades de diseño no arquitectónico se llevan a cabo en ese desarrollo?
Signup and view all the answers
¿Qué pasa si las interfaces no son consideradas antes de la construcción del sistema?
¿Qué pasa si las interfaces no son consideradas antes de la construcción del sistema?
Signup and view all the answers
¿Por qué al diseñar la arquitectura conviene hacer uso de soluciones probadas?
¿Por qué al diseñar la arquitectura conviene hacer uso de soluciones probadas?
Signup and view all the answers
¿Puede una decisión de diseño impactar de forma positiva un atributo de calidad y, al mismo tiempo, afectar de manera negativa otro atributo de calidad distinto?
¿Puede una decisión de diseño impactar de forma positiva un atributo de calidad y, al mismo tiempo, afectar de manera negativa otro atributo de calidad distinto?
Signup and view all the answers
¿Por qué es importante documentar la arquitectura?
¿Por qué es importante documentar la arquitectura?
Signup and view all the answers
¿Por qué los atributos de calidad se llaman así?
¿Por qué los atributos de calidad se llaman así?
Signup and view all the answers
¿Tiene sentido que sea solo una persona, o unas pocas, que juegue el rol de arquitecto? ¿Por qué no realizar el diseño de la arquitectura con todo el equipo de desarrollo?
¿Tiene sentido que sea solo una persona, o unas pocas, que juegue el rol de arquitecto? ¿Por qué no realizar el diseño de la arquitectura con todo el equipo de desarrollo?
Signup and view all the answers
¿Ha tenido experiencia con algún sistema que no haya podido ser desarrollado adecuadamente debido a problemas relacionados con la arquitectura? ¿Cuáles fueron estos?
¿Ha tenido experiencia con algún sistema que no haya podido ser desarrollado adecuadamente debido a problemas relacionados con la arquitectura? ¿Cuáles fueron estos?
Signup and view all the answers
Study Notes
Introducción a la Arquitectura de Software
- La arquitectura de software está presente en gran cantidad de objetos que nos rodean, desde teléfonos y dispositivos hasta sistemas que controlan operaciones de organizaciones y sondas robóticas.
- El diseño de la arquitectura de software es clave para el éxito de los sistemas.
Visión General del Desarrollo de Sistemas de Software
- El desarrollo de un sistema de software se puede ver como una transformación hacia la solución técnica de una problema o oportunidad.
- El proceso de desarrollo implica actividades técnicas, como:
- Requerimientos: identificación de las necesidades de clientes y generación de especificaciones.
- Diseño: transformación de los requerimientos en un diseño o modelo.
- Construcción: creación del sistema mediante el desarrollo y prueba individual de las partes.
- Pruebas: realización de pruebas para verificar si se satisfacen los requerimientos.
- Implantación: transición del sistema desde el entorno de desarrollo hasta el entorno de producción.
Definición de Arquitectura de Software
- La arquitectura de software se refiere al conjunto de estructuras necesarias para razonar sobre el sistema.
- Incluye elementos de software, relaciones entre ellos y propiedades de ambos.
- Los elementos de software se refieren a partes del sistema que se deben desarrollar, como módulos.
Arquitectura, Atributos de Calidad y Objetivos de Negocio
- La arquitectura de software tiene un impacto directo en la capacidad del sistema para satisfacer los atributos de calidad, como desempeño, usabilidad y modificabilidad.
- Las decisiones de diseño que se toman para estructurar un sistema permiten o impiden que se satisfagan los atributos de calidad.
- Los objetivos de negocio son metas que busca alcanzar una compañía y que motivan el desarrollo de un sistema.
Ciclo de Desarrollo de la Arquitectura
- El ciclo de desarrollo de la arquitectura implica actividades particulares, como:
- Requerimientos: captura, documentación y priorización de requerimientos que influyen en la arquitectura.
- Diseño: definición de las estructuras de la arquitectura mediante la toma de decisiones de diseño.
- Documentación: comunicación del diseño a través de la creación de vistas que representan las estructuras.
- Evaluación: identificación de posibles riesgos o problemas en el diseño.
- Implementación: construcción del sistema según el diseño definido.
Beneficios de la Arquitectura
- La arquitectura de software aporta beneficios, como:
- Aumentar la calidad de los sistemas al satisfacer los atributos de calidad.
- Mejorar tiempos de entrega de proyectos al facilitar la planificación y el desarrollo en paralelo.
- Reducir costos de desarrollo al minimizar los defectos y la necesidad de rework.### Mejora del Desarrollo de Software
- La arquitectura de software ayuda a reducir el tiempo de desarrollo al reutilizar soluciones conceptuales o componentes existentes.
- La reducción de defectos resultante de un buen diseño da como resultado una necesidad menor de volver a realizar el trabajo, lo que contribuye a que los sistemas se entreguen en los plazos previstos.
Reducción de Costos del Desarrollo
- La arquitectura de software es fundamental en la reducción de costos, ya que la reutilización de componentes y soluciones ayuda a disminuir gastos.
- Un buen diseño también reduce la necesidad de volver a realizar el trabajo y facilita el mantenimiento, lo que conduce a bajar los gastos.
El Rol del Arquitecto de Software
- El arquitecto de software es responsable de las actividades del ciclo de desarrollo y debe tener un conocimiento ideal del dominio del problema.
- El arquitecto debe tomar decisiones de diseño pertinentes para satisfacer los drivers arquitectónicos y demás requerimientos del sistema.
- El arquitecto también debe comunicar sus decisiones y asegurar que se respeten durante la construcción del sistema.
Requerimientos del Sistema
- Un requerimiento es una especificación que describe alguna funcionalidad, atributo o factor de calidad de un sistema de software.
- Los requerimientos pueden describir también algún aspecto que restringe la forma en que se construye un sistema.
- La ingeniería de requerimientos es la disciplina que engloba las actividades relacionadas con la obtención, análisis, documentación y validación de los requerimientos.
Tipos de Requerimientos
- Requerimientos de usuario: especifican servicios que dan soporte a procesos de negocio que los usuarios podrán llevar a cabo mediante el sistema.
- Requerimientos funcionales: describen detalles finos de diseño y/o implementación relacionados a los requerimientos de usuario.
- Atributos de calidad: especifican características útiles para establecer criterios sobre la calidad del sistema.
- Restricciones: describen aspectos que limitan el proceso de desarrollo del sistema, como restricciones técnicas y administrativas.
- Reglas de negocio: especifican políticas, estándares, prácticas o procedimientos organizacionales y/o gubernamentales que rigen o restringen la forma en que se realizan las actividades o procesos de una organización.### Reglas de Negocio y Interfaces Externas
- Las interfaces externas especifícan los detalles sobre las interfaces necesarias para que el sistema pueda comunicarse con componentes externos de software o hardware.
- Un ejemplo es la comunicación con un elemento externo de negocios electrónicos para procesar pagos en un sistema de compra de boletos de autobús en línea.
Drivers Arquitectónicos
- Los drivers arquitectónicos se clasifican en tres clases:
- Drivers funcionales
- Drivers de atributos de calidad
- Drivers de restricciones
- Los drivers funcionales son un subconjunto de los requerimientos funcionales que describen la funcionalidad del sistema.
- Los drivers de atributos de calidad se refieren a los requerimientos no funcionales, como la seguridad, la escalabilidad, la performance, etc.
Influencia de los Drivers Arquitectónicos
- La información de los drivers influye en las decisiones de diseño tomadas por el arquitecto durante el diseño de la arquitectura.
- Los drivers funcionales pueden a menudo ser implementados fácilmente si se consideran en un contexto “aislado”.
- La implementación de los drivers puede no ser trivial cuando se consideran restricciones y expectativas sobre atributos de calidad relacionados.
Fuentes de Información
- El documento de visión y alcance contiene información referente a por qué desarrollar un sistema y al alcance de este.
- El documento de visión y alcance sirve de base y/o resulta complementario durante la identificación de drivers.
Métodos para la Identificación de Drivers Arquitectónicos
- Taller de atributos de calidad (QAW)
- Método de diseño centrado en la arquitectura (ACDM)
- Funcionalidad, usabilidad, confiabilidad, desempeño, soporte (FURPS+)
- El taller de atributos de calidad (QAW) es un método desarrollado por el SEI que define un proceso para llevar a cabo de forma sistemática la identificación de drivers de atributos de calidad.
Taller de Atributos de Calidad (QAW)
- El taller de atributos de calidad considera la participación activa de los diversos tipos de interesados, como dueños, usuarios directos, dueños, patrocinadores, desarrolladores o los que le darán mantenimiento.
- El método utiliza escenarios para la especificación de los drivers de atributos de calidad.
- El taller define un proceso secuencial de ocho etapas, incluyendo la introducción y presentación de los participantes, la presentación de la organización dueña del sistema, la presentación del boceto de la arquitectura, la identificación de los drivers arquitectónicos, la generación de escenarios, etc.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Quiz sobre la introducción a la arquitectura de software, visión general del desarrollo de software, definición de arquitectura de software y ciclo de desarrollo de la arquitectura.