[{"data":1,"prerenderedAt":604},["ShallowReactive",2],{"navigation_docs":3,"-engenharia-software-cap-01":252,"-engenharia-software-cap-01-surround":600},[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":17,"body":254,"description":593,"extension":594,"links":595,"meta":596,"navigation":597,"path":18,"seo":598,"stem":19,"__hash__":599},"docs\u002F1.engenharia-software\u002F02.cap-01.md",{"type":255,"value":256,"toc":575},"minimark",[257,260,265,269,271,275,287,293,295,299,302,306,308,312,315,408,410,414,417,461,466,469,471,475,483,496,498,502,508,535,539,542,545,547,551,562,564,568,571],[258,259],"hr",{},[261,262,264],"h2",{"id":263},"objetivo-do-módulo","🎯 Objetivo do Módulo",[266,267,268],"p",{},"Ao final desta jornada, você não será apenas um programador, mas um arquiteto capaz de planejar, modelar e garantir a qualidade de sistemas complexos que sustentam grandes corporações.",[258,270],{},[261,272,274],{"id":273},"o-cenário-corporativo-tecproexpress","🏢 O Cenário Corporativo (TecProExpress)",[266,276,277,278,282,283,286],{},"Imagine que você acaba de ser contratado como ",[279,280,281],"strong",{},"Engenheiro de Software Pleno"," na ",[279,284,285],{},"TecProExpress",". A empresa possui um sistema legado de 15 anos que está \"morrendo\" (lento e difícil de manter) e precisa ser migrado para uma arquitetura de Microsserviços na nuvem.",[288,289,290],"blockquote",{},[266,291,292],{},"\"Seu desafio não é apenas escrever código novo, mas entender o ciclo de vida desse software, extrair os requisitos do negócio e garantir que a nova versão seja sustentável pelos próximos 20 anos.\"",[258,294],{},[261,296,298],{"id":297},"mapa-de-conhecimento-do-módulo","📊 Mapa de Conhecimento do Módulo",[266,300,301],{},"Explore os quatro grandes pilares que regem a engenharia moderna de sistemas na TecProExpress.",[303,304],"mermaid",{"code":305},"flowchart TD\n    subgraph \"CICLO DE VIDA DO SOFTWARE\"\n    direction TB\n    F[\"🌳 FUNDAMENTOS\"] --> R[\"📋 REQUISITOS\"]\n    R --> M[\"📐 MODELAGEM UML & SPRING\"]\n    M --> G[\"🛡️ GERENCIAMENTO & QUALIDADE\"]\n    end\n    \n    subgraph \"PILARES TÉCNICOS\"\n    direction LR\n    T1[\"⚡ AGILIDADE\"] --- T2[\"📊 DIAGRAMAS\"]\n    T2 --- T3[\"🧪 TESTES (JUNIT 5)\"]\n    end\n",[258,307],{},[261,309,311],{"id":310},"cronograma-de-excelência","📗 Cronograma de Excelência",[266,313,314],{},"Este curso foi desenhado em uma sequência lógica, integrada à realidade do mercado de desenvolvimento corporativo.",[316,317,318,335],"table",{},[319,320,321],"thead",{},[322,323,324,329,332],"tr",{},[325,326,328],"th",{"align":327},"left","Unidade",[325,330,331],{"align":327},"Temática Principal",[325,333,334],{"align":327},"Foco Prático (Stack Principal)",[336,337,338,352,365,378,391],"tbody",{},[322,339,340,346,349],{},[341,342,343],"td",{"align":327},[279,344,345],{},"I. Fundamentos",[341,347,348],{"align":327},"Modelos de Processos e Ágil",[341,350,351],{"align":327},"Ciclo de Entrega Corporativo",[322,353,354,359,362],{},[341,355,356],{"align":327},[279,357,358],{},"II. Requisitos",[341,360,361],{"align":327},"Elicitação e Histórias de Usuário",[341,363,364],{"align":327},"Validações com Jakarta Bean Validation",[322,366,367,372,375],{},[341,368,369],{"align":327},[279,370,371],{},"III. Modelagem",[341,373,374],{"align":327},"Objetos e Casos de Uso (UML)",[341,376,377],{"align":327},"Injeção de dependências (Spring DI)",[322,379,380,385,388],{},[341,381,382],{"align":327},[279,383,384],{},"IV. Diagramas",[341,386,387],{"align":327},"Sequência e Atividades",[341,389,390],{"align":327},"Fluxo REST e Mapeamento de Classes",[322,392,393,398,401],{},[341,394,395],{"align":327},[279,396,397],{},"V. Qualidade",[341,399,400],{"align":327},"SCM e Testes (TDD\u002FBDD)",[341,402,403,404,407],{"align":327},"Automação com ",[279,405,406],{},"JUnit 5"," e Mockito",[258,409],{},[261,411,413],{"id":412},"fundamentos-o-que-é-software","🧠 Fundamentos: O que é Software?",[266,415,416],{},"Software de computador é o produto que profissionais desenvolvem e ao qual dão suporte no longo prazo. Diferente de produtos físicos, o software possui características únicas:",[316,418,419,429],{},[319,420,421],{},[322,422,423,426],{},[325,424,425],{"align":327},"Característica",[325,427,428],{"align":327},"Impacto na Engenharia",[336,430,431,441,451],{},[322,432,433,438],{},[341,434,435],{"align":327},[279,436,437],{},"Engenharia, não Manufatura",[341,439,440],{"align":327},"O custo está no design e na arquitetura, não na \"produção\" de cópias.",[322,442,443,448],{},[341,444,445],{"align":327},[279,446,447],{},"Não se Desgasta",[341,449,450],{"align":327},"O software não quebra fisicamente; ele degrada por falta de manutenção ou bugs lógicos.",[322,452,453,458],{},[341,454,455],{"align":327},[279,456,457],{},"Complexidade Crescente",[341,459,460],{"align":327},"Toda regra de negócio nova aumenta a chance de \"Código Espaguete\" se não houver padrão.",[462,463,465],"h3",{"id":464},"evolução-histórica-do-cascata-ao-cloud-native","📊 Evolução Histórica (Do Cascata ao Cloud-Native)",[303,467],{"code":468},"timeline\n    title Marcos da Engenharia de Software\n    1968 : \"Conferência da OTAN (Nascimento do Termo)\"\n    1970 : \"Crise do Software (Falta de métodos)\"\n    1990 : \"Orientação a Objetos : Ascensão do Java\"\n    2000 : \"Manifesto Ágil : Scrum e Kanban\"\n    2010 : \"Cloud & Microservices : Spring Boot e DevOps\"\n",[258,470],{},[261,472,474],{"id":473},"detalhamento-técnico-por-que-a-engenharia-é-vital","🔍 Detalhamento Técnico: Por que a Engenharia é Vital?",[266,476,477,478,482],{},"Sommerville (2011) destaca que a sociedade moderna depende de softwares para infraestruturas vitais. A falha de uma API de pagamentos por falta de tratamento de exceções (ex: ",[479,480,481],"code",{},"@ExceptionHandler",") pode causar colapso financeiro.",[484,485,488,491,492,495],"callout",{"color":486,"icon":487},"warning","i-lucide-triangle-alert",[279,489,490],{},"Atenção:"," ",[279,493,494],{},"Dica de Performance Corporativa:","\n\"Software não se fabrica, se projeta.\" O sucesso de um projeto corporativo reside na clareza da arquitetura original. Sem isso, refatorar um monólito engessado é um pesadelo técnico e financeiro. 🧠🛡️",[258,497],{},[261,499,501],{"id":500},"o-desafio-dos-sistemas-legados-legacy","🏺 O Desafio dos Sistemas Legados (Legacy)",[266,503,504,505,507],{},"Na ",[279,506,285],{},", você encontrará sistemas antigos (Java EE, Cobol) que sustentam o faturamento. Eles são chamados de \"sistemas de herança\".",[509,510,511,518,524],"ul",{},[512,513,514,517],"li",{},[279,515,516],{},"🛠️ Arquiteturas Rígidas:"," Difíceis de integrar com APIs REST.",[512,519,520,523],{},[279,521,522],{},"🍝 Código Espaguete:"," Funções acopladas que violam o SOLID.",[512,525,526,529,530,534],{},[279,527,528],{},"❌ Falta de Testes:"," Ausência de cobertura de ",[531,532,533],"em",{},"JUnit",".",[462,536,538],{"id":537},"a-natureza-mutante","🔄 A Natureza Mutante",[266,540,541],{},"A engenharia moderna na TecProExpress é tracionada por:",[303,543],{"code":544},"graph TD\n    A[\"Categorias em Evolução\"] --> B[\"WebApps \u002F APIs REST\"]\n    A --> C[\"Mobile Apps\"]\n    A --> D[\"Cloud Computing\"]\n    A --> E[\"Linhas de Produto B2B\"]\n    \n    style B fill:#e3f2fd,stroke:#1e88e5 \n    style C fill:#e3f2fd,stroke:#1e88e5 \n    style D fill:#e3f2fd,stroke:#1e88e5 \n    style E fill:#e3f2fd,stroke:#1e88e5 \n",[258,546],{},[261,548,550],{"id":549},"checkpoint-de-lógica","💡 Checkpoint de Lógica",[484,552,555,491,558,561],{"color":553,"icon":554},"primary","i-lucide-megaphone",[279,556,557],{},"Importante:",[279,559,560],{},"Reflexão Profissional:","\nQuando você estuda Spring Boot, você está se preparando para atuar nos eixos de APIs Cloud que alimentarão tanto WebApps (React\u002FAngular) quanto Mobile (Flutter\u002FKotlin). Você está pronto para ser o motor dessa engrenagem? 🚀",[258,563],{},[261,565,567],{"id":566},"quiz-do-capítulo","🧪 Quiz do Capítulo",[266,569,570],{},"Testou os seus conhecimentos? Responda as questões abaixo para validar o que você aprendeu neste capítulo:",[572,573],"quiz",{"src":574},"\u002Fquizzes\u002Fes-cap-01.json",{"title":576,"searchDepth":577,"depth":578,"links":579},"",2,3,[580,581,582,583,584,587,588,591,592],{"id":263,"depth":577,"text":264},{"id":273,"depth":577,"text":274},{"id":297,"depth":577,"text":298},{"id":310,"depth":577,"text":311},{"id":412,"depth":577,"text":413,"children":585},[586],{"id":464,"depth":578,"text":465},{"id":473,"depth":577,"text":474},{"id":500,"depth":577,"text":501,"children":589},[590],{"id":537,"depth":578,"text":538},{"id":549,"depth":577,"text":550},{"id":566,"depth":577,"text":567},"Seja muito bem-vindo ao módulo estratégico de Engenharia de Software da TecProExpress. Aqui, você aprenderá as bases técnicas para transformar a \"arte\" de programar em uma disciplina de engenharia rigorosa, focada em desenvolvimento moderno com foco prático no ecossistema corporativo utilizando Java 17 e Spring Boot 3.5. 🛡️🧩","md",null,{},true,{"title":17,"description":593},"-WRne5FqfUNOnXgPo9xBqmLygqae_lPL36ZfmgMFc4w",[601,602],{"title":13,"path":14,"stem":15,"description":576,"children":-1},{"title":21,"path":22,"stem":23,"description":603,"children":-1},"Um modelo de processo de software é uma representação abstrata e simplificada de um processo real. Na engenharia moderna, esses modelos ditam como o código sai da IDE do desenvolvedor e chega com segurança à nuvem. 🛡️🧩",1788375140883]