Análise e Design de Software
45 Questions
9 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é o foco principal da análise e especificação de requisitos?

  • Capturar e entender o que o software deve fazer (correct)
  • Desenvolver a interface do usuário
  • Definir a estrutura técnica do sistema
  • Escolher padrões arquiteturais
  • O que envolve a elicitação de requisitos?

  • Escolha de tecnologias para o desenvolvimento
  • Identificação de funcionalidades e necessidades do cliente (correct)
  • Análise de desempenho do sistema
  • Desenho gráfico de interfaces
  • Durante a validação e priorização, qual é o objetivo principal?

  • Documentar os requisitos em linguagem técnica
  • Certificar-se de que os requisitos são viáveis e atendem às necessidades do cliente (correct)
  • Garantir que os requisitos saem dentro do orçamento
  • Criar diagramas de contexto
  • Qual das seguintes atividades NÃO faz parte do design arquitetural?

    <p>Detalhar os módulos do sistema</p> Signup and view all the answers

    O que se deve fazer na atividade de modelação de requisitos?

    <p>Criar diagramas de casos de uso</p> Signup and view all the answers

    Qual é o foco do design de componentes?

    <p>Detalhar as responsabilidades de cada módulo do sistema</p> Signup and view all the answers

    Em que consiste o design de dados?

    <p>Modelar as bases de dados e as classes para o sistema</p> Signup and view all the answers

    Qual elemento é um requisito não funcional?

    <p>Desempenho do sistema</p> Signup and view all the answers

    Qual é o principal benefício do design de software mencionado?

    <p>Facilita a comunicação entre os stakeholders.</p> Signup and view all the answers

    Qual componente do design de software garante comunicação eficiente entre utilizadores e componentes?

    <p>Design de Interfaces</p> Signup and view all the answers

    Quais são as metodologias que o design de software evolui constantemente?

    <p>Desenho ágil e modelagem orientada a objetos.</p> Signup and view all the answers

    Qual é o nível de abstração do design na solução técnica?

    <p>Alta</p> Signup and view all the answers

    Quais são considerados stakeholders principais em um projeto de design de software?

    <p>Analistas, arquitetos e clientes.</p> Signup and view all the answers

    O que o design arquitetural estabelece no contexto de um sistema?

    <p>A organização geral do sistema.</p> Signup and view all the answers

    O que se busca ao traduzir um diagrama de requisitos em um diagrama UML?

    <p>Facilitar a comunicação entre as partes envolvidas.</p> Signup and view all the answers

    Qual é a prioridade ao realizar um design de software de alta qualidade?

    <p>Tradução de requisitos em soluções práticas.</p> Signup and view all the answers

    Qual a principal diferença entre a análise e especificação de requisitos e o desenho de software?

    <p>A análise foca em requisitos claros, enquanto o desenho é sobre a implementação técnica.</p> Signup and view all the answers

    Qual é o nível de abstração mais característico da análise e especificação de requisitos?

    <p>Alta abstração, focando nas necessidades do negócio.</p> Signup and view all the answers

    Quais são alguns riscos frequentes associados à análise e especificação de requisitos?

    <p>Mudanças frequentes nas necessidades do cliente.</p> Signup and view all the answers

    Quem normalmente não participa diretamente do processo de desenho de software?

    <p>Os clientes.</p> Signup and view all the answers

    Como é descrito o foco do desenho de software em relação à análise e especificação de requisitos?

    <p>Cria soluções técnicas detalhadas para implementar os requisitos.</p> Signup and view all the answers

    Qual problema é comumente encontrado na análise e especificação de requisitos?

    <p>Ambiguidade na descrição dos requisitos.</p> Signup and view all the answers

    Qual risco está relacionado a decisões arquiteturais no desenho de software?

    <p>Design que é excessivamente complexo ou incompatível.</p> Signup and view all the answers

    Qual das opções a seguir não é um risco comumente relacionado à análise de requisitos?

    <p>Necessidade de horas extras de trabalho.</p> Signup and view all the answers

    Qual o objetivo principal dos requisitos não funcionais em um sistema?

    <p>Satisfazer aspectos como desempenho e segurança.</p> Signup and view all the answers

    Qual é a função dos diagramas de componentes em uma arquitetura de software?

    <p>Representar os principais blocos e suas interações.</p> Signup and view all the answers

    As decisões arquiteturais são importantes porque:

    <p>Elas documentam escolhas de tecnologias e suas justificativas.</p> Signup and view all the answers

    O que os diagramas de implementação detalham?

    <p>Como os componentes serão distribuídos em servidores ou dispositivos.</p> Signup and view all the answers

    Qual é uma das principais funções dos diagramas sequenciais?

    <p>Ilustrar como os dados fluem entre os componentes.</p> Signup and view all the answers

    Qual dos seguintes aspectos não é considerado um requisito não funcional?

    <p>Escolha de linguagem de programação.</p> Signup and view all the answers

    Qual é a importância das diretrizes fornecidas pelos requisitos não funcionais?

    <p>Elas garantem que a implementação seja eficiente e segura.</p> Signup and view all the answers

    O que é um exemplo de estilo arquitetural?

    <p>Microserviços.</p> Signup and view all the answers

    Qual princípio do desenho de software enfatiza a necessidade de rastrear requisitos?

    <p>Desenvolvimento Iterativo</p> Signup and view all the answers

    Qual é a característica de sistemas que aplicam a independência funcional?

    <p>Baixo acoplamento entre módulos</p> Signup and view all the answers

    Como a abstração e a modularidade contribuem para o desenho de software?

    <p>Simplificando a complexidade do sistema</p> Signup and view all the answers

    O que deve ser priorizado ao desenvolver representações no desenho de software?

    <p>Acessibilidade e compreensão</p> Signup and view all the answers

    Qual das seguintes práticas é recomendada para manter a qualidade no desenho de software?

    <p>Uso de ferramentas como UML</p> Signup and view all the answers

    Qual é o principal objetivo do desenho de interfaces no desenvolvimento de software?

    <p>Garantir que o software seja intuitivo e funcional</p> Signup and view all the answers

    Qual ferramenta é utilizada para a modelação visual em arquitetura?

    <p>Lucidchart</p> Signup and view all the answers

    O que caracteriza uma aplicação baseada em microserviços?

    <p>Integração de vários serviços autônomos</p> Signup and view all the answers

    Qual é um exemplo de comunicação entre microserviços?

    <p>APIs RESTful</p> Signup and view all the answers

    Qual é um dos componentes principais do desenho de interfaces?

    <p>Layout e elementos visuais</p> Signup and view all the answers

    Qual das seguintes opções não é uma plataforma colaborativa mencionada?

    <p>Slack</p> Signup and view all the answers

    O que é um ADR no contexto de documentação?

    <p>Registro de Decisão de Arquitetura</p> Signup and view all the answers

    Na arquitetura baseada em microserviços, qual serviço é responsável pelo gerenciamento de usuários?

    <p>Serviço de Gestão de Utilizadores</p> Signup and view all the answers

    Study Notes

    Introdução ao Design de Software

    • O desenho de software envolve princípios e práticas para criar sistemas de alta qualidade, escaláveis, flexíveis e robustos.
    • É fundamental para traduzir requisitos em soluções práticas.
    • O desenho de software evolui constantemente com novas metodologias, como o desenho ágil e a modelagem orientada a objetos.
    • Um exemplo disso é traduzir um diagrama de requisitos em um diagrama UML, o que facilita a comunicação entre analistas, arquitetos e programadores.

    Análise vs. Desenho

    • Análise e Especificação de Requisitos:
      • Capturar e entender o que o software deve fazer.
      • Identificar requisitos funcionais e não funcionais (desempenho, segurança, etc.).
      • Foco principal nos problemas e necessidades do cliente/usuário.
    • Desenho de Software:
      • Determinar como o software irá funcionar.
      • Traduzir os requisitos em uma solução técnica detalhada.
      • Foco na arquitetura, componentes e interações entre os módulos do software.

    Atividades Realizadas na Análise

    • Elicitação:
      • Reuniões com stakeholders para identificar necessidades.
      • Ferramentas utilizadas: entrevistas, questionários, observações.
    • Modelagem de Requisitos:
      • Criação de diagramas (ex.: casos de uso, diagramas de contexto).
      • Documentação dos requisitos em linguagem clara e compreensível.
    • Validação e Priorização:
      • Garantir que os requisitos atendem às necessidades do cliente e são viáveis.
    • Gestão de Requisitos:
      • Rastrear as mudanças nos requisitos durante todo o projeto.

    Atividades Realizadas no Desenho

    • Design Arquitetural:
      • Definir a estrutura geral do sistema (ex.: camadas, microserviços).
      • Escolha de padrões arquiteturais (ex.: MVC, REST).
    • Design de Componentes:
      • Detalhar os módulos ou componentes do sistema e suas responsabilidades.
    • Design de Dados:
      • Modelar as bases de dados (ex.: diagramas ER).
      • Estruturar classes e atributos (em sistemas orientados a objetos).
    • Design de Interfaces:
      • Definir interfaces entre módulos e a interface com o usuário.
    • Especificação Técnica:
      • Criar diagramas detalhados (ex.: UML) de interações entre os elementos.

    Entregáveis - Análise e Especificação de Requisitos

    • Documento de Requisitos de Software (DRS):
      • Lista detalhada de requisitos funcionais e não funcionais.
    • Modelos de requisitos:
      • Diagramas de casos de uso, diagramas de contexto e histórias de usuário.
    • Matriz de rastreabilidade:
      • Relaciona os requisitos com as funcionalidades e módulos.

    Entregáveis - Desenho

    • Diagramas UML (diagramas de classes, sequência, componentes e estados).
    • Especificações técnicas detalhadas da arquitetura do sistema e descrição dos algoritmos.
    • Protótipos ou Mockups (opcional, esboço das interfaces do usuário).
    • Modelos de dados (diagramas entidade-relacionamento e especificações do banco de dados).

    Ferramentas Utilizadas

    • Análise e Especificação de Requisitos:
      • Jira, Confluence, Microsoft Word, Lucidchart.
    • Desenho de Software:
      • Visual Paradigm, Enterprise Architect, Draw.io, Figma, e ferramentas UML.

    Envolvimento de Stakeholders

    • Análise e Especificação de Requisitos:
      • Forte envolvimento de stakeholders externos (clientes, usuários finais) e analistas de negócios.
      • O foco é traduzir necessidades em requisitos claros.
    • Desenho de Software:
      • Envolvimento de stakeholders internos (arquitetos, desenvolvedores) para definir a implementação técnica.
      • O cliente geralmente não está diretamente envolvido no desenho do software.

    Nível de Abstração

    • Análise e Especificação de Requisitos: Alta abstração, sem se preocupar com a implementação técnica. Foco em necessidades do cliente e do usuário.
    • Desenho de Software: Média a baixa abstração. Foco em criar soluções técnicas detalhadas para implementar os requisitos.

    Riscos e Problemas Comuns - Análise e Especificação de Requisitos

    • Riscos: Requisitos incompletos ou mal definidos, mudanças frequentes nas necessidades do cliente.
    • Problemas: Falta de comunicação entre analistas e stakeholders, ambiguidade na descrição dos requisitos.

    Riscos e Problemas Comuns - Desenho

    • Riscos: Design excessivamente complexo ou incompatível com os requisitos. Decisões arquiteturais não escaláveis ou difíceis de manter.
    • Problemas: Falta de alinhamento entre desenvolvedores e arquitetos, ausência de documentação detalhada.

    Dependência e Continuidade

    • O desenho de software só pode começar após a conclusão de uma análise completa e clara dos requisitos.
    • Os requisitos são a base para todas as decisões no desenho.
    • A retroalimentação pode levar a ajustes na fase de análise, durante o desenho, caso problemas com os requisitos sejam encontrados.

    Resumo da Comparação

    • Análise/Especificação de Requisitos:
      • Pergunta principal: O que o software deve fazer?
      • Foco: Necessidades do cliente/usuário.
      • Entregáveis: Documento de Requisitos.
      • Stakeholders: Clientes, usuários finais e analistas de negócio.
      • Nível de abstração: Alta.
    • Desenho de Software:
      • Pergunta principal: Como o software será implementado?
      • Foco: Solução técnica detalhada.
      • Entregáveis: Diagramas técnicos e arquitetura.
      • Stakeholders: Arquitetos, desenvolvedores.
      • Nível de abstração: Média a baixa.

    Design de Interfaces

    • O desenho de interfaces é uma etapa fundamental no desenvolvimento de software.
    • Trata da conceção e estruturação da interação entre os utilizadores e o sistema.
    • O objetivo é garantir que o software seja intuitivo, funcional e eficiente, levando em conta os objetivos dos usuários e os requisitos técnicos do projeto.
    • Principais objetivos: Facilidade de uso, acessibilidade, consistência e estética funcional.
    • Etapas de desenho de interfaces: Pesquisa e planejamento, criação de protótipos, testes de usabilidade e iteração.
    • Ferramentas utilizadas: Figma, Adobe XD, Sketch, InVision, Marvel App, Maze, Usability Hub.

    Integração

    • A interface deve ser projetada levando em consideração as limitações e possibilidades tecnológicas.
    • A colaboração entre arquitetos e programadores é crucial para que o desenho seja implementado como planejado.

    Benefícios

    • Maior satisfação do usuário: interfaces bem projetadas reduzem frustração e melhoram a experiência.
    • Redução de erros: um desenho claro e intuitivo minimiza mal-entendidos e ações incorretas.
    • Melhor retenção: os usuários tendem a preferir sistemas com uma experiência agradável.

    Desenho de Componentes

    • O desenho de componentes detalha a lógica interna de cada módulo do sistema.
    • Foca-se em definir como cada componente será implementado internamente.
    • O desenho de componentes garante um código reutilizável e funcionalmente correto

    Contexto - UML

    • O UML (Unified Modeling Language) é usado para criar diagramas de classes, sequência e atividades, diagramas de fluxo de dados, etc.
    • Ferramentas como Lucidchart, Draw.io, e Visio são opções para criar diagramas.
    • O pseudocódigo auxilia na descrição detalhada do fluxo lógico de algoritmos.

    Diretrizes de Qualidade no Desenho

    • Um desenho de qualidade é modular, facilitando a manutenção e escalabilidade.
    • Emprega padrões arquiteturais reconhecidos, como MVC e microserviços.
    • Assegure interfaces simples e intuitivas.
    • Os requisitos devem ser representados e rastreáveis.
    • Exemplos ilustrativos incluem o uso do padrão MVC para separar a lógica de apresentação e processamento em aplicações web.

    Conceitos Fundamentais de Desenho

    • Abstração: Foco nos aspectos essenciais, ignorando os detalhes desnecessários.
    • Modularidade: Divisão do sistema em partes menores e independentes.
    • Ocultação de Informação: Restrição ao acesso a detalhes internos para reduzir dependências.
    • Independência Funcional: alto grau de coesão e baixo acoplamento entre módulos.

    Princípios de Modelagem de Desenho

    • O desenho deve ser rastreável aos requisitos.
    • Desenvolver iterativamente para ajustar e refinar.
    • Priorizar representações compreensíveis e acessíveis.
    • Adaptar o desenho a diferentes abordagens, como ágil ou cascata (exemplos de ajuste de diagramas UML durante o ciclo de desenvolvimento para incluir novos requisitos).

    Resumo e Conclusões

    • O desenho de software é uma etapa crucial para sistemas eficientes e mantíveis.
    • Diretrizes e princípios de desenho auxiliam na manutenção da qualidade e escalabilidade do software.
    • Técnicas como abstração, modularidade e ocultação de informação simplificam a complexidade.
    • O desenho iterativo permite ajustar e adaptar o design a alterações nos requisitos.
    • Ferramentas como UML, padrões de desenho e revisões de código são importantes para a qualidade do design.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Desenho de Software PDF

    Description

    Este quiz aborda tópicos fundamentais na análise e design de software, incluindo elicitação de requisitos, design arquitetural e modelação de requisitos. Teste seu conhecimento sobre os benefícios e metodologias envolvidas no design de software e o papel dos stakeholders. Prepare-se para uma abordagem prática e teórica sobre como estruturar um sistema eficaz.

    Use Quizgecko on...
    Browser
    Browser