[{"data":1,"prerenderedAt":557},["ShallowReactive",2],{"navigation_docs":3,"-engenharia-software-cap-04":252,"-engenharia-software-cap-04-surround":552},[4,96,189],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"⚙️ Engenharia de Software","i-lucide-book-open","\u002Fengenharia-software","1.engenharia-software",[10,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92],{"title":5,"path":7,"stem":11},"1.engenharia-software\u002Findex",{"title":13,"path":14,"stem":15},"📋 Plano de Ensino e Aplicações","\u002Fengenharia-software\u002Fengenharia-software-aplicacoes","1.engenharia-software\u002F01.engenharia-software-aplicacoes",{"title":17,"path":18,"stem":19},"Cap 01: Introdução e Natureza do Software","\u002Fengenharia-software\u002Fcap-01","1.engenharia-software\u002F02.cap-01",{"title":21,"path":22,"stem":23},"Cap 02: Modelos de Processo de Software","\u002Fengenharia-software\u002Fcap-02","1.engenharia-software\u002F03.cap-02",{"title":25,"path":26,"stem":27},"Cap 03: As Atividades do Processo","\u002Fengenharia-software\u002Fcap-03","1.engenharia-software\u002F04.cap-03",{"title":29,"path":30,"stem":31},"Cap 04: Metodologias Ágeis","\u002Fengenharia-software\u002Fcap-04","1.engenharia-software\u002F05.cap-04",{"title":33,"path":34,"stem":35},"Cap 05: Fundamentos de Requisitos","\u002Fengenharia-software\u002Fcap-05","1.engenharia-software\u002F06.cap-05",{"title":37,"path":38,"stem":39},"Cap 06: Elicitação e Levantamento","\u002Fengenharia-software\u002Fcap-06","1.engenharia-software\u002F07.cap-06",{"title":41,"path":42,"stem":43},"Cap 07: Especificação de Requisitos (ERS)","\u002Fengenharia-software\u002Fcap-07","1.engenharia-software\u002F08.cap-07",{"title":45,"path":46,"stem":47},"Cap 08: Validação e Gestão","\u002Fengenharia-software\u002Fcap-08","1.engenharia-software\u002F09.cap-08",{"title":49,"path":50,"stem":51},"Cap 09: Fundamentos da Modelagem","\u002Fengenharia-software\u002Fcap-09","1.engenharia-software\u002F10.cap-09",{"title":53,"path":54,"stem":55},"Cap 10: Diagrama de Casos de Uso (Conceitos)","\u002Fengenharia-software\u002Fcap-10","1.engenharia-software\u002F11.cap-10",{"title":57,"path":58,"stem":59},"Cap 11: Casos de Uso (Prática e Relações)","\u002Fengenharia-software\u002Fcap-11","1.engenharia-software\u002F12.cap-11",{"title":61,"path":62,"stem":63},"Cap 12: Diagrama de Classes (Conceitos)","\u002Fengenharia-software\u002Fcap-12","1.engenharia-software\u002F13.cap-12",{"title":65,"path":66,"stem":67},"Cap 13: Herança e Polimorfismo","\u002Fengenharia-software\u002Fcap-13","1.engenharia-software\u002F14.cap-13",{"title":69,"path":70,"stem":71},"Cap 14: Diagrama de Sequência","\u002Fengenharia-software\u002Fcap-14","1.engenharia-software\u002F15.cap-14",{"title":73,"path":74,"stem":75},"Cap 15: Diagramas Dinâmicos (Estados e Atividades)","\u002Fengenharia-software\u002Fcap-15","1.engenharia-software\u002F16.cap-15",{"title":77,"path":78,"stem":79},"Cap 16: Qualidade de Software (SQA)","\u002Fengenharia-software\u002Fcap-16","1.engenharia-software\u002F17.cap-16",{"title":81,"path":82,"stem":83},"Cap 17: Estratégias de Teste","\u002Fengenharia-software\u002Fcap-17","1.engenharia-software\u002F18.cap-17",{"title":85,"path":86,"stem":87},"Cap 18: Manutenção e Evolução","\u002Fengenharia-software\u002Fcap-18","1.engenharia-software\u002F19.cap-18",{"title":89,"path":90,"stem":91},"Cap 19: Gerência de Configuração (SCM)","\u002Fengenharia-software\u002Fcap-19","1.engenharia-software\u002F20.cap-19",{"title":93,"path":94,"stem":95},"Cap 20: Conclusão e Próximos Passos","\u002Fengenharia-software\u002Fcap-20","1.engenharia-software\u002F21.cap-20",{"title":97,"icon":98,"path":99,"stem":100,"children":101},"🛠️ Atividades","i-lucide-wrench","\u002Fatividades","2.atividades",[102,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185],{"title":103,"path":99,"stem":104},"📋 Orientações Gerais","2.atividades\u002Findex",{"title":106,"path":107,"stem":108},"📅 Cronograma","\u002Fatividades\u002Fcronograma","2.atividades\u002F01.cronograma",{"title":110,"path":111,"stem":112},"✏️ Atividade 01: Escopo e Personas","\u002Fatividades\u002Fatv-01-escopo","2.atividades\u002F02.atv-01-escopo",{"title":114,"path":115,"stem":116},"⚙️ Atividade 02: Processos de Software","\u002Fatividades\u002Fatv-02-processos","2.atividades\u002F03.atv-02-processos",{"title":118,"path":119,"stem":120},"📋 Atividade 03: Engenharia de Requisitos","\u002Fatividades\u002Fatv-03-requisitos","2.atividades\u002F04.atv-03-requisitos",{"title":122,"path":123,"stem":124},"📝 Atividade 04: User Stories e Backlog","\u002Fatividades\u002Fatv-04-backlog","2.atividades\u002F05.atv-04-backlog",{"title":126,"path":127,"stem":128},"🎭 Atividade 05: Casos de Uso (UML)","\u002Fatividades\u002Fatv-05-casos-uso","2.atividades\u002F06.atv-05-casos-uso",{"title":130,"path":131,"stem":132},"🖼️ Atividade 06: Prototipagem e Wireframes","\u002Fatividades\u002Fatv-06-prototipagem","2.atividades\u002F07.atv-06-prototipagem",{"title":134,"path":135,"stem":136},"🏛️ Atividade 07: Diagrama de Classes (UML)","\u002Fatividades\u002Fatv-07-classes","2.atividades\u002F08.atv-07-classes",{"title":138,"path":139,"stem":140},"🔀 Atividade 08: Diagrama de Sequência (UML)","\u002Fatividades\u002Fatv-08-sequencia","2.atividades\u002F09.atv-08-sequencia",{"title":142,"path":143,"stem":144},"🧪 Atividade 09: Qualidade e Testes","\u002Fatividades\u002Fatv-09-testes","2.atividades\u002F10.atv-09-testes",{"title":146,"path":147,"stem":148},"🏁 Atividade 10: Projeto Integrador Final","\u002Fatividades\u002Fatv-10-projeto-final","2.atividades\u002F11.atv-10-projeto-final",{"title":150,"path":151,"stem":152},"📊 Atividade 11: Diagrama de Atividades (UML)","\u002Fatividades\u002Fatv-11-atividades","2.atividades\u002F12.atv-11-atividades",{"title":154,"path":155,"stem":156},"🔄 Atividade 12: Diagrama de Transição de Estados (UML)","\u002Fatividades\u002Fatv-12-estados","2.atividades\u002F13.atv-12-estados",{"title":158,"path":159,"stem":160},"🏗️ Atividade 13: Arquitetura de Software e Padrões","\u002Fatividades\u002Fatv-13-arquitetura","2.atividades\u002F14.atv-13-arquitetura",{"title":162,"path":163,"stem":164},"🌐 Atividade 14: Modelagem de APIs REST e Swagger","\u002Fatividades\u002Fatv-14-apis-swagger","2.atividades\u002F15.atv-14-apis-swagger",{"title":166,"path":167,"stem":168},"🌿 Atividade 15: GitFlow e Trabalho Colaborativo","\u002Fatividades\u002Fatv-15-gitflow-colaboracao","2.atividades\u002F16.atv-15-gitflow-colaboracao",{"title":170,"path":171,"stem":172},"🚀 Atividade 16: Pipelines de CI\u002FCD com GitHub Actions","\u002Fatividades\u002Fatv-16-pipelines-cicd","2.atividades\u002F17.atv-16-pipelines-cicd",{"title":174,"path":175,"stem":176},"🐳 Atividade 17: Containerização de Ambientes com Docker","\u002Fatividades\u002Fatv-17-conteineres-docker","2.atividades\u002F18.atv-17-conteineres-docker",{"title":178,"path":179,"stem":180},"🔒 Atividade 18: Segurança no Desenvolvimento e OWASP","\u002Fatividades\u002Fatv-18-seguranca-devsecops","2.atividades\u002F19.atv-18-seguranca-devsecops",{"title":182,"path":183,"stem":184},"📈 Atividade 19: Métricas de Software, Estimativas e DORA","\u002Fatividades\u002Fatv-19-metricas-estimativas","2.atividades\u002F20.atv-19-metricas-estimativas",{"title":186,"path":187,"stem":188},"🏆 Atividade 20: Projeto Final Avançado (Fase 2)","\u002Fatividades\u002Fatv-20-projeto-final-avancado","2.atividades\u002F21.atv-20-projeto-final-avancado",{"title":190,"icon":191,"path":192,"stem":193,"children":194},"🖼️ Galeria de Projetos Integradores","i-lucide-image","\u002Fprojetos-integradores","3.projetos-integradores",[195,197,207,216,225,234,243],{"title":190,"path":192,"stem":196},"3.projetos-integradores\u002Findex",{"title":198,"path":199,"stem":200,"children":201},"🅿️ Projeto 01: Gestão de Estacionamentos","\u002Fprojetos-integradores\u002Fpi-01-gestao-estacionamentos","3.projetos-integradores\u002F01.pi-01-gestao-estacionamentos\u002Findex",[202,203],{"title":198,"path":199,"stem":200},{"title":204,"path":205,"stem":206},"README","\u002Fprojetos-integradores\u002Fpi-01-gestao-estacionamentos\u002Freadme","3.projetos-integradores\u002F01.pi-01-gestao-estacionamentos\u002F2.readme",{"title":208,"path":209,"stem":210,"children":211},"🔐 Projeto 02: Gerador de Senhas","\u002Fprojetos-integradores\u002Fpi-02-gerador-senhas","3.projetos-integradores\u002F02.pi-02-gerador-senhas\u002Findex",[212,213],{"title":208,"path":209,"stem":210},{"title":204,"path":214,"stem":215},"\u002Fprojetos-integradores\u002Fpi-02-gerador-senhas\u002Freadme","3.projetos-integradores\u002F02.pi-02-gerador-senhas\u002F2.readme",{"title":217,"path":218,"stem":219,"children":220},"🍣 Projeto 03: Pedidos Restaurante","\u002Fprojetos-integradores\u002Fpi-03-pedidos-restaurante","3.projetos-integradores\u002F03.pi-03-pedidos-restaurante\u002Findex",[221,222],{"title":217,"path":218,"stem":219},{"title":204,"path":223,"stem":224},"\u002Fprojetos-integradores\u002Fpi-03-pedidos-restaurante\u002Freadme","3.projetos-integradores\u002F03.pi-03-pedidos-restaurante\u002F2.readme",{"title":226,"path":227,"stem":228,"children":229},"📱 Projeto 04: Empréstimos Dispositivos","\u002Fprojetos-integradores\u002Fpi-04-emprestimos-dispositivos","3.projetos-integradores\u002F04.pi-04-emprestimos-dispositivos\u002Findex",[230,231],{"title":226,"path":227,"stem":228},{"title":204,"path":232,"stem":233},"\u002Fprojetos-integradores\u002Fpi-04-emprestimos-dispositivos\u002Freadme","3.projetos-integradores\u002F04.pi-04-emprestimos-dispositivos\u002F2.readme",{"title":235,"path":236,"stem":237,"children":238},"📦 Projeto 05: Gestão de Estoque","\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque","3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002Findex",[239,240],{"title":235,"path":236,"stem":237},{"title":204,"path":241,"stem":242},"\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque\u002Freadme","3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002F2.readme",{"title":244,"path":245,"stem":246,"children":247},"🛵 Projeto 06: Aplicativo de Delivery","\u002Fprojetos-integradores\u002Fpi-06-delivery","3.projetos-integradores\u002F06.pi-06-delivery\u002Findex",[248,249],{"title":244,"path":245,"stem":246},{"title":204,"path":250,"stem":251},"\u002Fprojetos-integradores\u002Fpi-06-delivery\u002Freadme","3.projetos-integradores\u002F06.pi-06-delivery\u002F2.readme",{"id":253,"title":29,"body":254,"description":545,"extension":546,"links":547,"meta":548,"navigation":549,"path":30,"seo":550,"stem":31,"__hash__":551},"docs\u002F1.engenharia-software\u002F05.cap-04.md",{"type":255,"value":256,"toc":529},"minimark",[257,260,265,278,280,284,295,305,307,311,321,326,329,333,350,352,356,363,367,370,374,437,439,443,446,508,510,514],[258,259],"hr",{},[261,262,264],"h2",{"id":263},"objetivo-do-capítulo","🎯 Objetivo do Capítulo",[266,267,268,269,273,274,277],"p",{},"Compreender os valores e as práticas dos principais frameworks ágeis (",[270,271,272],"strong",{},"Scrum"," e ",[270,275,276],{},"XP","), capacitando o desenvolvedor a atuar em equipes de alta performance focadas em entrega contínua de valor.",[258,279],{},[261,281,283],{"id":282},"o-cenário-corporativo-tecproexpress","🏢 O Cenário Corporativo (TecProExpress)",[266,285,286,287,290,291,294],{},"Na ",[270,288,289],{},"TecProExpress",", a diretoria quer lançar o novo portal de ",[270,292,293],{},"Autoatendimento do Cliente"," em apenas 2 meses. O modelo em Cascata foi descartado imediatamente.",[296,297,298],"blockquote",{},[266,299,300,301,304],{},"\"Sua equipe foi organizada em um ",[270,302,303],{},"Squad Ágil",". Vocês usarão Scrum para gerenciar as tarefas e práticas de XP (como TDD) para garantir que o código Java seja impecável. Prepare-se para sua primeira Sprint Planning!\"",[258,306],{},[261,308,310],{"id":309},"extreme-programming-xp","🚀 Extreme Programming (XP)",[266,312,313,314,316,317,320],{},"A ",[270,315,276],{}," é voltada para a excelência técnica. Se o Scrum foca na gestão, a XP foca no ",[270,318,319],{},"como"," o desenvolvedor trabalha.",[322,323,325],"h3",{"id":324},"os-valores-do-xp","Os Valores do XP",[266,327,328],{},"O sucesso da XP baseia-se na sinergia entre seus valores fundamentais:",[330,331],"mermaid",{"code":332},"graph LR\n    V1[\"Comunicação\"] --> S((\"Valores do XP\"))\n    V2[\"Simplicidade\"] --> S\n    V3[\"Feedback\"] --> S\n    V4[\"Coragem\"] --> S\n    V5[\"Respeito\"] --> S\n    \n    style S fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px\n",[334,335,338,341,342,345,346,349],"callout",{"color":336,"icon":337},"success","i-lucide-lightbulb",[270,339,340],{},"Dica:"," ",[270,343,344],{},"Prática Sênior (XP):","\nO \"documento\" de um sistema XP são os seus testes automatizados (",[270,347,348],{},"JUnit 5","). Se os testes passam e descrevem perfeitamente o comportamento, a documentação está viva no código, não mofando em um PDF. 🧪",[258,351],{},[261,353,355],{"id":354},"o-framework-scrum","🔄 O Framework Scrum",[266,357,358,359,362],{},"O Scrum organiza o trabalho em ciclos curtos chamados ",[270,360,361],{},"Sprints"," (geralmente de 2 semanas). É focado em transparência, inspeção e adaptação.",[322,364,366],{"id":365},"estrutura-do-scrum-papéis-e-artefatos","Estrutura do Scrum (Papéis e Artefatos)",[330,368],{"code":369},"flowchart LR\n    subgraph \"Papéis\"\n        direction TB\n        P1[\"Product Owner (Negócio)\"]\n        P2[\"Scrum Master (Processo)\"]\n        P3[\"Time de Dev (Técnico)\"]\n    end\n\n    subgraph \"Artefatos\"\n        direction TB\n        A1[\"Product Backlog (Fila)\"]\n        A2[\"Sprint Backlog (Meta)\"]\n        A3[\"Incremento (Produto)\"]\n    end\n",[322,371,373],{"id":372},"comparação-tradicional-vs-ágil","🔍 Comparação: Tradicional vs Ágil",[375,376,377,394],"table",{},[378,379,380],"thead",{},[381,382,383,388,391],"tr",{},[384,385,387],"th",{"align":386},"left","Aspecto Corporativo",[384,389,390],{"align":386},"Metodologia Tradicional (Cascata)",[384,392,393],{"align":386},"Metodologia Ágil (Scrum)",[395,396,397,411,424],"tbody",{},[381,398,399,405,408],{},[400,401,402],"td",{"align":386},[270,403,404],{},"Projeto Arquitetural",[400,406,407],{"align":386},"Estável e inflexível (Engessado).",[400,409,410],{"align":386},"Adaptável a mudanças (Evolutivo).",[381,412,413,418,421],{},[400,414,415],{"align":386},[270,416,417],{},"Cliente",[400,419,420],{"align":386},"Participa apenas no início e no fim.",[400,422,423],{"align":386},"Parte do time, dá feedback constante.",[381,425,426,431,434],{},[400,427,428],{"align":386},[270,429,430],{},"Planejamento",[400,432,433],{"align":386},"Longo prazo e detalhado inicialmente.",[400,435,436],{"align":386},"Curto prazo e iterativo semanalmente.",[258,438],{},[261,440,442],{"id":441},"exemplo-de-product-backlog-tecproexpress","📋 Exemplo de Product Backlog (TecProExpress)",[266,444,445],{},"Abaixo, como as entregas são priorizadas em uma ferramenta como o Jira:",[375,447,448,464],{},[378,449,450],{},[381,451,452,455,458,461],{},[384,453,454],{"align":386},"ID",[384,456,457],{"align":386},"Prioridade",[384,459,460],{"align":386},"Item \u002F História de Usuário",[384,462,463],{"align":386},"Status",[395,465,466,480,494],{},[381,467,468,471,474,477],{},[400,469,470],{"align":386},"101",[400,472,473],{"align":386},"🔥 Alta",[400,475,476],{"align":386},"Configurar Autenticação Oauth2 (Segurança)",[400,478,479],{"align":386},"Concluído",[381,481,482,485,488,491],{},[400,483,484],{"align":386},"102",[400,486,487],{"align":386},"⚡ Média",[400,489,490],{"align":386},"Criar Endpoints REST de Cadastro",[400,492,493],{"align":386},"Em Aberto",[381,495,496,499,502,505],{},[400,497,498],{"align":386},"103",[400,500,501],{"align":386},"🧊 Baixa",[400,503,504],{"align":386},"Gerar Relatório em PDF (Opcional)",[400,506,507],{"align":386},"Pendente",[258,509],{},[261,511,513],{"id":512},"checkpoint-de-lógica","💡 Checkpoint de Lógica",[334,515,518,341,521,524,525,528],{"color":516,"icon":517},"primary","i-lucide-megaphone",[270,519,520],{},"Importante:",[270,522,523],{},"Reflexão Profissional:","\nMuitos desenvolvedores juniores acham que as reuniões diárias (",[270,526,527],{},"Dailies",") são perda de tempo. No entanto, um desenvolvedor sênior usa a Daily para expor bloqueios técnicos pesados e exigir que o Scrum Master remova os impedimentos que travam a entrega. Você está usando o Scrum para se proteger ou apenas para reportar status? 🧠🛡️",{"title":530,"searchDepth":531,"depth":532,"links":533},"",2,3,[534,535,536,539,543,544],{"id":263,"depth":531,"text":264},{"id":282,"depth":531,"text":283},{"id":309,"depth":531,"text":310,"children":537},[538],{"id":324,"depth":532,"text":325},{"id":354,"depth":531,"text":355,"children":540},[541,542],{"id":365,"depth":532,"text":366},{"id":372,"depth":532,"text":373},{"id":441,"depth":531,"text":442},{"id":512,"depth":531,"text":513},"As metodologias ágeis surgiram como uma alternativa às abordagens tradicionais, focando em flexibilidade, redução de burocracia e adaptação contínua. Em um mercado onde um microsserviço precisa ir ao ar em semanas, a agilidade é a alma do negócio. 🛡️🧩","md",null,{},true,{"title":29,"description":545},"IF9YcKaleIo_oIH6y2gmi-w18qyqW2-rP4kH1pznWYY",[553,555],{"title":25,"path":26,"stem":27,"description":554,"children":-1},"Para que um software seja produzido e mantido em escala corporativa, são necessárias diversas etapas coordenadas chamadas de Processo de Software. Independente do modelo escolhido (Ágil ou Tradicional), as engrenagens fundamentais permanecem as mesmas. 🛡️🧩",{"title":33,"path":34,"stem":35,"description":556,"children":-1},"A engenharia de requisitos é a fundação de qualquer projeto de software. Sistemas lentos e APIs que quebram diariamente raramente são culpa de \"programadores ruins\", mas sim de requisitos negligenciados. 🛡️🧩",1788375141271]