Pular para conteúdo

Exercícios: Aula 01 - Introdução à Análise e Projeto de Sistemas 📝

Resolver estes exercícios ajudará na fixação dos conceitos fundamentais de APS e Ciclo de Vida de Software.


1. O Papel do Analista (Básico 1)

Contexto: No desenvolvimento de software, o analista atua como o tradutor entre o mundo dos negócios e o mundo técnico.

Pergunta: Defina o conceito de Análise e Projeto de Sistemas e cite duas vantagens de se investir tempo nesta fase antes de iniciar a codificação.

2. Cascatas vs. Sprints (Básico 2)

Contexto: Existem diferentes formas de organizar o trabalho (Modelos de Processo).

Pergunta: Diferencie brevemente o modelo Cascata (Waterfall) do modelo Ágil. Qual deles você escolheria para um projeto de uma Startup? Justifique.

3. A Importância da Abstração (Intermediário 1)

Contexto: Modelar não é desenhar, é abstrair a realidade para representá-la em um sistema.

Pergunta: Como a falta de uma fase de análise pode impactar o custo de manutenção de um sistema após 1 ano de uso?

4. Fluxo de Trabalho (Intermediário 2)

Contexto: O processo de software envolve várias etapas ligadas entre si.

Pergunta: Crie um esboço em texto (ou Mermaid) que represente o fluxo de informação desde o Levantamento de Requisitos até a Entrega do Produto.

5. Desafio: O Abismo de Comunicação (Desafio)

Contexto: Um cliente pede um "sistema de busca de produtos", mas o que ele realmente precisa é de um "recomendador de ofertas".

Pergunta: Como o uso de ferramentas de modelagem (UML, Protótipos) pode ajudar o analista a evitar que o desenvolvedor construa algo que o cliente não quer? Proponha uma estratégia prática.

---

📚 Gabarito e Soluções Comentadas

Gabarito Explicado Nesta página, você encontra as respostas sugeridas e as explicações detalhadas para os exercícios da **Aula 01**. --- ### ✅ 1. O que é Análise e Projeto de Sistemas? (Básico) **Resposta Sugerida:** A Análise e Projeto de Sistemas (APS) é a disciplina que estuda os métodos para entender o que um software deve fazer (Análise) e como ele deve ser construído (Projeto). É o "projeto de arquitetura" que precede a "alvenaria" (código). **Vantagens:** 1. **Redução de Custos:** Identificar erros no papel é muito mais barato que corrigi-los em código pronto. 2. **Previsibilidade:** Permite estimar prazos e recursos com maior precisão. --- ### ✅ 2. Modelos de Ciclo de Vida (Básico) **Resposta Sugerida:** * **Cascata (Waterfall):** Rígido e sequencial. Ideal para projetos onde o requisito nunca muda. * **Ágil (Agile):** Iterativo e incremental. Ideal para o mercado moderno onde a mudança é constante. --- ### ✅ 3. O "Pulo do Gato" da Modelagem (Intermediário) **Explicação:** A modelagem atua como o contrato entre o cliente (quem tem o problema) e o desenvolvedor (quem tem a solução). Sem ela, o desenvolvedor pode construir algo tecnicamente perfeito, mas que não resolve o problema do negócio. --- ### ✅ 4. Fluxo de Análise (Intermediário) **Diagrama Sugerido:**
graph LR
    Req[Requisitos] --> An[Análise de Domínio]
    An --> Proj[Projeto Arquitetural]
    Proj --> Dev[Desenvolvimento]
    Dev --> Test[Testes]

    style Req fill:#e1f5fe
    style Dev fill:#e8f5e8
--- ### ✅ 5. Estudo de Caso: E-commerce (Desafio) **Resolução Sugerida:** Para mitigar o "abismo" entre o desejo do cliente e o código: 1. **Entrevistas:** Descobrir que "estoque baixo" significa menos de 5 unidades. 2. **Casos de Uso:** Modelar o ator "Sistema de Estoque" notificando o "Gerente". 3. **Diagrama de Sequência:** Mostrar que a reserva de estoque deve ocorrer *antes* da confirmação do pagamento para evitar over-selling. ---