[{"data":1,"prerenderedAt":753},["ShallowReactive",2],{"navigation_docs":3,"-atividades-atv-11-atividades":252,"-atividades-atv-11-atividades-surround":748},[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":150,"body":254,"description":741,"extension":742,"links":743,"meta":744,"navigation":745,"path":151,"seo":746,"stem":152,"__hash__":747},"docs\u002F2.atividades\u002F12.atv-11-atividades.md",{"type":255,"value":256,"toc":716},"minimark",[257,260,265,269,297,299,303,310,320,322,326,329,334,377,382,403,407,409,413,416,482,486,493,496,500,509,511,515,521,546,550,553,555,559,564,572,574,578,581,605,607,611,634,636,640],[258,259],"hr",{},[261,262,264],"h2",{"id":263},"objetivo-da-aula","🎯 Objetivo da Aula",[266,267,268],"p",{},"Ao final desta atividade, você será capaz de:",[270,271,272,276,284,290],"ul",{},[273,274,275],"li",{},"Modelar a lógica processual e fluxos de negócio usando a sintaxe UML.",[273,277,278,279,283],{},"Representar ",[280,281,282],"strong",{},"bifurcações e junções"," lógicas (decisões lógicas).",[273,285,278,286,289],{},[280,287,288],{},"forks e joins"," para fluxos de processamento em paralelo.",[273,291,292,293,296],{},"Organizar responsabilidades usando ",[280,294,295],{},"Raias de Natação (Swimlanes \u002F Subgraphs)",".",[258,298],{},[261,300,302],{"id":301},"o-cenário-prático-seu-desafio","🏢 O Cenário Prático (Seu Desafio)",[266,304,305,306,309],{},"Na ",[280,307,308],{},"TecProExpress",", a diretoria de Logística percebeu um grande gargalo: quando um cliente clica em \"Confirmar Compra\", o sistema antigo esperava o faturamento da Nota Fiscal terminar para somente depois avisar o estoque. Em dias de grande volume, os motoristas ficavam parados esperando a emissão da nota, mesmo com a carga já pronta para carregar!",[311,312,313],"blockquote",{},[266,314,315,316,319],{},"\"Seu desafio como ",[280,317,318],{},"Analista de Processos de TI"," é desenhar o fluxo de atividades de faturamento e separação de forma paralela. Você deve modelar o processo de ponta a ponta: do clique do usuário, dividindo a ação em duas linhas paralelas (Faturamento e Separação), juntando-as no carregamento e finalizando com a saída do caminhão.\"",[258,321],{},[261,323,325],{"id":324},"fundamentos-a-teoria-traduzida","🧠 Fundamentos: A Teoria Traduzida",[266,327,328],{},"O Diagrama de Atividades UML é como um super fluxograma. Ele descreve a ordem em que as atividades de um sistema ou processo ocorrem, com excelente suporte para paralelismo.",[330,331,333],"h3",{"id":332},"elementos-chave","Elementos Chave:",[335,336,337,343,349,359,365,371],"ol",{},[273,338,339,342],{},[280,340,341],{},"Nó Inicial (Círculo Preto Sólido):"," Onde o processo começa.",[273,344,345,348],{},[280,346,347],{},"Ação\u002FAtividade (Retângulo Arredondado):"," Um passo procedural executado pelo sistema ou humano.",[273,350,351,354,355,296],{},[280,352,353],{},"Fork (Barra de Divisão):"," Divide uma linha em duas ou mais ações que acontecem ",[356,357,358],"em",{},"em paralelo",[273,360,361,364],{},[280,362,363],{},"Join (Barra de Sincronização):"," Aguarda todas as linhas paralelas terminarem para continuar o fluxo.",[273,366,367,370],{},[280,368,369],{},"Decisão (Losango):"," Uma bifurcação baseada em uma pergunta do tipo Sim\u002FNão.",[273,372,373,376],{},[280,374,375],{},"Nó Final (Círculo com Alvo):"," Onde o processo termina.",[378,379,381],"h4",{"id":380},"visualizando-a-lógica","📊 Visualizando a Lógica",[383,384,387,390,391,394,395,398,399,402],"callout",{"color":385,"icon":386},"success","i-lucide-lightbulb",[280,388,389],{},"Dica:"," ",[280,392,393],{},"Fork vs Decisão:"," A decisão escolhe apenas ",[280,396,397],{},"um"," caminho. O Fork aciona ",[280,400,401],{},"todos"," os caminhos ao mesmo tempo. Nunca confunda as duas coisas!",[404,405],"mermaid",{"code":406},"flowchart TD\n    Start([\"Início\"]) --> Fork{{\"Fork (Paralelizar)\"}}\n    Fork --> A[Emissão de Nota Fiscal]\n    Fork --> B[Separação Física dos Itens]\n    A --> Join{{\"Join (Aguardar Ambos)\"}}\n    B --> Join\n    Join --> End([\"Pronto para Envio\"])\n\n    style Start fill:#eceff1,stroke:#607d8b\n    style Fork fill:#e1f5fe,stroke:#0288d1\n    style Join fill:#e1f5fe,stroke:#0288d1\n    style End fill:#e0f2f1,stroke:#004d40\n",[258,408],{},[261,410,412],{"id":411},"exemplo-guiado","📖 Exemplo Guiado",[266,414,415],{},"Abaixo, veja como detalhar o processamento com raias de natação (separando as responsabilidades entre Cliente, Financeiro e Logística).",[417,418,419,436],"table",{},[420,421,422],"thead",{},[423,424,425,430,433],"tr",{},[426,427,429],"th",{"align":428},"left","Elemento UML",[426,431,432],{"align":428},"O que representa?",[426,434,435],{"align":428},"Ator\u002FComponente Responsável",[437,438,439,451,462,472],"tbody",{},[423,440,441,445,448],{},[442,443,444],"td",{"align":428},"Iniciar Compra",[442,446,447],{"align":428},"Nó Inicial",[442,449,450],{"align":428},"Cliente",[423,452,453,456,459],{},[442,454,455],{"align":428},"Faturar Cartão",[442,457,458],{"align":428},"Ação",[442,460,461],{"align":428},"Financeiro (Gateway)",[423,463,464,467,469],{},[442,465,466],{"align":428},"Separar Caixas",[442,468,458],{"align":428},[442,470,471],{"align":428},"Logística (Operador)",[423,473,474,477,479],{},[442,475,476],{"align":428},"Despachar Caminhão",[442,478,458],{"align":428},[442,480,481],{"align":428},"Transportadora",[330,483,485],{"id":484},"️-estrutura-visual-da-expedição","🛠️ Estrutura Visual da Expedição",[266,487,488,489,492],{},"Para facilitar a leitura profissional, dividimos o fluxo usando ",[280,490,491],{},"Raias de Natação"," (subgraphs no Mermaid):",[404,494],{"code":495},"flowchart TD\n    subgraph CLI [Cliente]\n        Start([\"Compra Efetuada\"]) --> Fork{{\"Fork\"}}\n    end\n\n    subgraph FIN [Financeiro]\n        Fork --> F1[Emitir Nota Fiscal]\n        F1 --> F2[Registrar Impostos]\n    end\n\n    subgraph LOG [Logística]\n        Fork --> L1[Separar Produtos no Galpão]\n        L1 --> L2[Embalar Carga]\n    end\n\n    subgraph TRA [Transportadora]\n        F2 --> Join{{\"Join\"}}\n        L2 --> Join\n        Join --> T1[Carregar Caminhão]\n        T1 --> End([\"Caminhão Despachado\"])\n    end\n\n    style Start fill:#eceff1,stroke:#333\n    style End fill:#e0f2f1,stroke:#004d40\n    style FIN fill:#fffde7,stroke:#fbc02d,stroke-width:1px\n    style LOG fill:#e1f5fe,stroke:#0288d1,stroke-width:1px\n    style TRA fill:#e8f5e9,stroke:#2e7d32,stroke-width:1px\n",[378,497,499],{"id":498},"detalhamento-do-processo","🔍 Detalhamento do Processo:",[270,501,502],{},[273,503,504,505,508],{},"A raia de natação deixa evidente ",[280,506,507],{},"quem faz o quê",". Se o Financeiro falhar ao registrar impostos, o Join bloqueia o carregamento do caminhão na Transportadora, mesmo que a Logística já tenha embalado tudo!",[258,510],{},[261,512,514],{"id":513},"️-prática-obrigatória-1-o-diagrama-de-atividades","🛠️ Prática Obrigatória 1: O Diagrama de Atividades",[266,516,517,520],{},[280,518,519],{},"Cenário:"," O projeto de grupo semestral que você está desenvolvendo.",[335,522,523,526,533,540],{},[273,524,525],{},"Selecione a funcionalidade principal ou a jornada de maior complexidade do seu sistema (Ex: Devolução de Mercadorias, Cadastro e Aprovação de Motoristas, Compra com Vários Modos de Pagamento).",[273,527,528,529,532],{},"Identifique pelo menos ",[280,530,531],{},"3 raias de responsabilidade"," (Humanos ou Sistemas\u002FComponentes).",[273,534,535,536,539],{},"Insira pelo menos ",[280,537,538],{},"1 Fork e 1 Join"," para representar ações executadas em paralelo.",[273,541,535,542,545],{},[280,543,544],{},"1 Decisão"," com caminhos alternativos de erro ou validação.",[330,547,549],{"id":548},"resultado-esperado-para-sua-referência","🏁 Resultado Esperado (Para sua Referência)",[266,551,552],{},"Uma imagem (PNG\u002FJPG) do diagrama de atividades estruturado de forma limpa, indicando claramente os caminhos paralelos e as fronteiras de responsabilidade.",[258,554],{},[261,556,558],{"id":557},"️-prática-obrigatória-2-justificativa-de-paralelismo","🛠️ Prática Obrigatória 2: Justificativa de Paralelismo",[266,560,561,563],{},[280,562,519],{}," Defesa arquitetural do processo.",[335,565,566,569],{},[273,567,568],{},"Escreva uma breve justificativa de 1 parágrafo explicando por que você decidiu paralelizar as ações mapeadas na Prática 1.",[273,570,571],{},"Explique o que aconteceria se esse processo fosse executado de forma estritamente sequencial (Cascata procedural) em termos de performance e satisfação do usuário.",[258,573],{},[261,575,577],{"id":576},"instruções-de-entrega-microsoft-teams","📤 Instruções de Entrega (Microsoft Teams)",[266,579,580],{},"Após validar suas modelagens técnicas:",[335,582,583,599,602],{},[273,584,585,586,590,591,594,595,598],{},"Salve o arquivo de justificativa como ",[587,588,589],"code",{},"Atividade_11.md"," e a imagem do seu diagrama com o nome ",[587,592,593],{},"Atividade_11.png"," na pasta ",[587,596,597],{},"es-atv-11-atividades\u002F"," do seu repositório GitHub.",[273,600,601],{},"Certifique-se de fazer o commit e push para o repositório público.",[273,603,604],{},"Submeta o link do seu repositório no Microsoft Teams para avaliação do professor.",[258,606],{},[261,608,610],{"id":609},"checkpoint-de-lógica","💡 Checkpoint de Lógica",[383,612,615,390,618,621,622,625,626,629,630,633],{"color":613,"icon":614},"primary","i-lucide-megaphone",[280,616,617],{},"Importante:",[280,619,620],{},"Reflexão Profissional:","\nO que acontece com o fluxo de atividades se uma das ramificações que saem de um ",[280,623,624],{},"Fork"," entrar em um loop infinito ou falhar e nunca alcançar o ",[280,627,628],{},"Join","? (Resposta: O Join travará o processo para sempre, pois ele exige por especificação matemática que ",[356,631,632],{},"todas"," as ramificações paralelas cheguem até ele para liberar o fluxo sequencial subsequente). 🧠🛡️",[258,635],{},[261,637,639],{"id":638},"rubrica-formativa-de-avaliação","📊 Rubrica Formativa de Avaliação",[417,641,643,644,643,664],{"style":642},"width:100%; border-collapse: collapse; font-family: sans-serif; margin: 20px 0; border: 1px solid #ddd; box-shadow: 0 4px 8px rgba(0,0,0,0.1);","\n  ",[420,645,646,647,643],{},"\n    ",[423,648,650,651,650,655,650,658,650,661,646],{"style":649},"background-color: #2c3e50; color: white;","\n      ",[426,652,654],{"style":653},"padding: 12px; border: 1px solid #ddd; text-align: left;","Critério de Avaliação",[426,656,657],{"style":653},"Insuficiente (0% - 40%)",[426,659,660],{"style":653},"Regular (41% - 70%)",[426,662,663],{"style":653},"Excelente (71% - 100%)",[437,665,646,666,646,684,646,700,643],{},[423,667,650,669,650,675,650,678,650,681,646],{"style":668},"background-color: #f8f9fa;",[442,670,672],{"style":671},"padding: 10px; border: 1px solid #ddd;",[280,673,674],{},"Diagrama de Atividades UML & Raias de Natação",[442,676,677],{"style":671},"Desenha o fluxo sem raias de natação ou sem nós de decisão e paralelismo.",[442,679,680],{"style":671},"Mapeia as raias mas confunde os conceitos de Fork e Join.",[442,682,683],{"style":671},"Diagrama de atividades impecável com ao menos 3 raias, nós de decisão claros e par Fork\u002FJoin bem balanceado.",[423,685,650,686,650,691,650,694,650,697,646],{},[442,687,688],{"style":671},[280,689,690],{},"Justificativa de Paralelismo",[442,692,693],{"style":671},"Omite a justificativa de paralelização de tarefas.",[442,695,696],{"style":671},"Justifica superficialmente sem comparar com a execução sequencial procedural.",[442,698,699],{"style":671},"Justificativa de alto nível comparando ganhos de performance e UX em relação à execução estritamente sequencial.",[423,701,650,702,650,707,650,710,650,713,646],{"style":668},[442,703,704],{"style":671},[280,705,706],{},"Entrega no GitHub",[442,708,709],{"style":671},"Entrega fora da pasta `es-atv-11-atividades\u002F`.",[442,711,712],{"style":671},"Entrega apenas o texto sem o arquivo `.png` do diagrama.",[442,714,715],{"style":671},"Submete `Atividade_11.md` e `Atividade_11.png` no repositório com formatação validada.",{"title":717,"searchDepth":718,"depth":719,"links":720},"",2,3,[721,722,723,729,734,737,738,739,740],{"id":263,"depth":718,"text":264},{"id":301,"depth":718,"text":302},{"id":324,"depth":718,"text":325,"children":724},[725],{"id":332,"depth":719,"text":333,"children":726},[727],{"id":380,"depth":728,"text":381},4,{"id":411,"depth":718,"text":412,"children":730},[731],{"id":484,"depth":719,"text":485,"children":732},[733],{"id":498,"depth":728,"text":499},{"id":513,"depth":718,"text":514,"children":735},[736],{"id":548,"depth":719,"text":549},{"id":557,"depth":718,"text":558},{"id":576,"depth":718,"text":577},{"id":609,"depth":718,"text":610},{"id":638,"depth":718,"text":639},"Bem-vindo ao início do Bloco Avançado de Engenharia de Software. Ao longo das próximas semanas, você sairá da modelagem puramente estática e entrará de cabeça na lógica processual, no design de APIs modernas, no ecossistema corporativo (Java 17, Spring Boot 3.5.x, Thymeleaf, HTMX) e nas práticas de DevOps. Hoje, seu desafio é modelar o fluxo procedural dinâmico usando o Diagrama de Atividades. 🛡️🧩","md",null,{},true,{"title":150,"description":741},"_P5qT9hXIVXUJJRys_yl6hEXXDYw167c8xTDHWuzWoA",[749,751],{"title":146,"path":147,"stem":148,"description":750,"children":-1},"Bem-vindo ao grande encerramento do seu módulo de Engenharia de Software. Ao longo deste semestre, você não apenas aprendeu teoria, você construiu um ativo intelectual. Hoje, você consolidará todas as etapas em um único documento de padrão internacional: o ERS (Especificação de Requisitos de Software). 🛡️🧩",{"title":154,"path":155,"stem":156,"description":752,"children":-1},"Bem-vindo a mais uma etapa prática do seu treinamento em Engenharia de Software. Na atividade anterior, você aprendeu sobre processos e fluxos lógicos. Hoje, nosso foco muda para o ciclo de vida de uma entidade do sistema. Você aprenderá como modelar os Estados pelos quais um dado transiciona, garantindo que o software nunca entre em inconsistência lógica. 🛡️🧩",1788375145348]