carreiras e competencias
🎭 Teatro das Competências: Empatia, Comunicação e Colaboração

1️⃣ Objetivo da Atividade

O Teatro das Competências tem como meta:

  • Desenvolver habilidades socioemocionais (empatia, comunicação assertiva, escuta ativa e colaboração).
  • Simular situações reais do mercado de trabalho em ambiente controlado e participativo.
  • Incentivar criatividade, improviso e trabalho em equipe.

2️⃣ Explicação Inicial para a Turma

Professor pode falar:

“Hoje vamos trabalhar situações comuns do ambiente profissional por meio de encenações rápidas. Vocês vão receber roteiros baseados em desafios reais, como conflitos entre colegas, atendimento a clientes insatisfeitos, brainstorming de ideias e entrevistas simuladas.

O objetivo não é apenas ‘atuar’, mas mostrar como resolver problemas usando empatia, comunicação clara e colaboração. No fim, vamos discutir juntos o que funcionou bem e o que poderia ser melhorado.”


3️⃣ Regras do Jogo

  1. Formação dos grupos: 3 a 4 integrantes por grupo.
  2. Distribuição dos roteiros: Cada grupo recebe um caso diferente.
  3. Tempo de preparação: 10 minutos para ler, discutir papéis e ensaiar.
  4. Apresentação: Cada grupo terá 3 a 5 minutos para encenar.
  5. Feedback: Após cada apresentação, a turma e o professor comentam os pontos positivos e sugerem melhorias.

4️⃣ Papéis e Roteiros Prontos

Cada grupo recebe um roteiro impresso com: situação, contexto, papéis e objetivos.


🎭 Roteiro 1: Conflito entre colegas de trabalho

  • Situação: Dois colaboradores discordam sobre a melhor forma de entregar um relatório urgente. O gerente intervém para mediar.
  • Papéis:
    • Colaborador 1: Quer entregar rápido, mesmo que simples.
    • Colaborador 2: Prefere perfeição, mesmo que atrase.
    • Gerente: Deve ouvir os dois lados e propor uma solução equilibrada.
  • Objetivo: Mostrar negociação, escuta ativa e busca de consenso.

🎭 Roteiro 2: Cliente insatisfeito

  • Situação: Um cliente está irritado com um serviço entregue errado. O atendente precisa resolver.
  • Papéis:
    • Cliente: Está nervoso e exige solução imediata.
    • Atendente: Deve ouvir com empatia e propor alternativas.
    • Supervisor: Apoia o atendente e valida a solução final.
  • Objetivo: Demonstrar comunicação calma e resolução eficaz de conflitos.

🎭 Roteiro 3: Brainstorming de inovação

  • Situação: Equipe precisa criar uma campanha publicitária inovadora em curto prazo.
  • Papéis:
    • Líder: Organiza a reunião e dá voz a todos.
    • Criativo: Traz ideias ousadas e diferentes.
    • Cético: Questiona custos e prazos das ideias.
    • Mediador: Tenta conciliar criatividade e viabilidade.
  • Objetivo: Mostrar colaboração e integração de ideias diferentes.

🎭 Roteiro 4: Entrevista de emprego em grupo

  • Situação: Entrevista dinâmica para vaga de trainee.
  • Papéis:
    • Entrevistador: Observa comportamento e interação entre candidatos.
    • Candidato colaborativo 1: Trabalha bem em equipe e ajuda os colegas.
    • Candidato colaborativo 2: Similar ao 1, mas traz ideias próprias.
    • Candidato competitivo: Quer brilhar sozinho e atrapalha o grupo.
  • Objetivo: Mostrar como postura e trabalho em equipe impactam em seleções reais.

5️⃣ Orientações para os Papéis

Cada participante deve receber uma ficha individual, contendo:

  • Nome do papel (ex.: Gerente, Cliente, Criativo).
  • Breve descrição de como atuar.
  • O que dizer ou fazer (pontos-chave):
    • Usar linguagem educada.
    • Demonstrar empatia (olhar nos olhos, ouvir sem interromper).
    • Sugerir soluções objetivas.

6️⃣ Encerramento e Discussão

Após todas as apresentações:

  • Perguntar:
    1. “Quais competências socioemocionais foram mais evidentes?”
    2. “O que ajudou a resolver os conflitos?”
    3. “Como isso se conecta a situações reais de trabalho?”
  • Professor dá feedback geral e reforça a importância de empatia, comunicação e colaboração para o sucesso profissional.
PDS e Metodologias Ágeis
Exercícios comentados

1️⃣ Exercício: Gerenciamento de Mudanças em Requisitos

Enunciado

Uma clínica médica está implementando um sistema de prontuário eletrônico. Durante o desenvolvimento, um novo requisito surge: permitir que os pacientes consultem seus exames online.

Tarefas:

  1. Elaborar um plano de gerenciamento de mudanças.
  2. Criar um fluxo UML para análise/aprovação da mudança.
  3. Explicar como métodos ágeis poderiam ajudar.

Resolução

Plano de Gerenciamento de Mudanças:

  • Identificação da Mudança: Inclusão do módulo de consulta de exames online.
  • Justificativa: Aumentar a autonomia dos pacientes e reduzir demanda no atendimento.
  • Avaliação de Impacto:
    • Custo: Necessidade de servidor seguro e integração com o laboratório.
    • Prazo: Estimativa de +3 sprints no Scrum.
    • Segurança: Implementação de autenticação multifator.
    • Usabilidade: Interface simplificada para acesso via celular.
  • Prioridade: Alta (impacto direto no valor para o cliente).
  • Controle de Versão: Atualização do documento de requisitos (IEEE 830).

Fluxo UML (atividade simplificada):

[Solicitação de Mudança] → [Análise de Impacto] → [Aprovação do Comitê] → 
[Planejamento no Backlog] → [Implementação e Testes] → [Deploy e Feedback]

Métodos Ágeis:

  • Scrum permite ajustes rápidos via backlog.
  • Cada sprint incorpora incrementos pequenos (entrega contínua).
  • Feedback dos usuários nas revisões ajuda a validar rapidamente.

2️⃣ Exercício: Herança e Encapsulamento

Enunciado

Crie uma classe Pessoa com atributos comuns (nome, idade e CPF), e duas subclasses: Aluno e Professor, que herdam atributos e adicionam informações específicas.


Resolução em Python

class Pessoa:
def __init__(self, nome, idade, cpf):
self._nome = nome
self._idade = idade
self._cpf = cpf

def get_nome(self):
return self._nome

def set_nome(self, nome):
self._nome = nome

def get_idade(self):
return self._idade

def set_idade(self, idade):
self._idade = idade

def get_cpf(self):
return self._cpf

def set_cpf(self, cpf):
self._cpf = cpf


class Aluno(Pessoa):
def __init__(self, nome, idade, cpf, serie):
super().__init__(nome, idade, cpf)
self.serie = serie

def exibir_informacoes(self):
return f"Aluno: {self.get_nome()}, Idade: {self.get_idade()}, Série: {self.serie}"


class Professor(Pessoa):
def __init__(self, nome, idade, cpf, disciplina):
super().__init__(nome, idade, cpf)
self.disciplina = disciplina

def exibir_informacoes(self):
return f"Professor: {self.get_nome()}, Idade: {self.get_idade()}, Disciplina: {self.disciplina}"


# Teste
aluno1 = Aluno("Carlos", 15, "123.456.789-00", "9º Ano")
prof1 = Professor("Ana", 35, "987.654.321-00", "Matemática")

print(aluno1.exibir_informacoes())
print(prof1.exibir_informacoes())

Saída esperada:

yamlCopiarEditarAluno: Carlos, Idade: 15, Série: 9º Ano
Professor: Ana, Idade: 35, Disciplina: Matemática

3️⃣ Exercício: Polimorfismo em um Sistema de Entregas

Enunciado

Implemente classes de transporte (Moto, Caminhao, Drone) que calculam o tempo de entrega de forma distinta, utilizando polimorfismo.


Resolução em Python

from abc import ABC, abstractmethod

class Transporte(ABC):
@abstractmethod
def calcular_tempo(self, distancia):
pass


class Moto(Transporte):
def calcular_tempo(self, distancia):
velocidade = 60 # km/h
return distancia / velocidade


class Caminhao(Transporte):
def calcular_tempo(self, distancia):
velocidade = 40 # km/h
return distancia / velocidade


class Drone(Transporte):
def calcular_tempo(self, distancia):
velocidade = 80 # km/h
return distancia / velocidade


# Teste com polimorfismo
transportes = [Moto(), Caminhao(), Drone()]
distancia = 120 # km

for t in transportes:
print(f"{t.__class__.__name__}: Tempo estimado = {t.calcular_tempo(distancia):.2f} horas")

Saída esperada:

Moto: Tempo estimado = 2.00 horas
Caminhao: Tempo estimado = 3.00 horas
Drone: Tempo estimado = 1.50 horas
PDS e Metodologias Ágeis
Programação – 3 Bimestre

Validação e Verificação de Requisitos

  • Verificação de requisitos: Processo que assegura clareza, completude, consistência, rastreabilidade e testabilidade antes do desenvolvimento.
    • Técnicas: revisões por pares, análise de gap, checklists, matriz de rastreabilidade e critérios de aceitação.
    • Ferramentas: IBM Rational DOORS, JIRA e Enterprise Architect.
  • Validação de requisitos: Garante que o sistema atenda às necessidades dos stakeholders, evitando mal-entendidos e retrabalho.
    • Ferramentas: planilhas de validação, reuniões com clientes, critérios claros de aceitação e feedback contínuo.
    • Exemplo: uso em sistemas de e-commerce, finanças pessoais e reservas de voos.

Pilares da Programação Orientada a Objetos (POO) – Encapsulamento

  • Conceito: Protege atributos e métodos de uma classe, permitindo acesso controlado através de getters e setters.
  • Benefícios:
    • Segurança: impede alterações indevidas nos dados.
    • Manutenibilidade: facilita ajustes e ampliações no código.
    • Modularidade: separa responsabilidades, tornando o sistema mais organizado.
  • Exemplos práticos em Python:
    • Controle de curtidas em e-commerce.
    • Sistema de gestão de carros com atributos encapsulados.
    • Sistema de biblioteca com implementação de métodos de acesso.

Principais Aprendizados

  1. Requisitos bem validados e verificados reduzem falhas e retrabalho no desenvolvimento.
  2. POO com encapsulamento reforça boas práticas de segurança e organização no código.
  3. Ferramentas de apoio (planilhas, checklists, IDEs) otimizam processos técnicos e colaborativos.
  4. Exemplos reais facilitam a compreensão e aplicação dos conceitos de engenharia de software.

Encapsulamento em Projetos Práticos (POO)

  • Reforço do encapsulamento: Controle de atributos e métodos com segurança e acesso controlado, melhorando integridade e confiabilidade do código.
  • Exemplo prático: Sistema de controle de estoque de carros, com classes Carro e Estoque, aplicação de getters e setters, e métodos como adicionar_carro.
  • Benefícios: Segurança, manutenção facilitada, modularidade e prevenção de bugs.
  • Questões éticas: Proteção de dados, segurança cibernética e transparência no uso de informações.

Testes Não Funcionais

  • Desenvolvimento e execução: Identificação de requisitos não funcionais (desempenho, segurança, usabilidade, confiabilidade), definição de critérios e uso de ferramentas apropriadas.
  • Ferramentas e práticas:
    • Pentest: Exploração de vulnerabilidades usando Kali Linux e ferramentas como SQLMap e PortSwigger.
    • Burp Suite: Interceptação e modificação de requisições HTTP para identificar falhas de controle de acesso.
  • Testes de desempenho e segurança: Avaliação de escalabilidade, estabilidade, vulnerabilidades e usabilidade.
  • OWASP Top 10: Referência essencial para práticas de segurança web.

Diagramas UML – Diagrama de Estados

  • Definição: Representa mudanças de estados de um objeto ou sistema em resposta a eventos.
  • Elementos principais:
    • Estados (inicial, intermediários e final).
    • Transições acionadas por eventos.
    • Ações associadas às mudanças de estado.
  • Exemplos práticos:
    • Controle de acesso eletrônico (porta: fechada, abrindo, aberta, fechando, trancada).
    • Processo de matrícula em instituições educacionais.
  • Benefícios: Visualização do comportamento do sistema, identificação de falhas e melhor comunicação entre stakeholders.

Diagramas UML – Atividades

  • Definição: Ferramenta visual que modela o fluxo de atividades, ações e decisões em sistemas e processos.
  • Aplicações:
    • Modelagem de processos de negócios (reservas de passagens aéreas).
    • Desenvolvimento de software (fluxos de tela, módulos específicos).
    • Engenharia de sistemas complexos (controle de tráfego aéreo).
  • Benefícios:
    • Facilita comunicação entre stakeholders.
    • Identifica gargalos e otimiza processos.
    • Documenta sistemas e facilita manutenção.
  • Ferramentas: Lucidchart, Draw.io, Microsoft Visio.

Herança em POO

  • Conceito: Permite que classes herdem atributos e métodos de outras, criando hierarquias reutilizáveis.
  • Exemplo prático:
    • ContaBancaria (superclasse): métodos comuns (depositar, sacar, consultar_saldo).
    • ContaCorrente, ContaPoupanca e ContaInvestimento (subclasses) com funcionalidades específicas.
  • Reutilização de código:
    • Implementação de cálculos de tarifas com métodos estáticos e classes utilitárias.
    • Inclusão de novas funcionalidades (ex: conta universitária gratuita) sem duplicação de código.
  • Método de transferência: Transferência entre contas com verificação de saldo.
  • Aspectos éticos:
    • Privacidade dos dados, segurança de transações e transparência nas práticas bancárias.

Principais Aprendizados

  1. Diagramas de atividades ajudam na visualização, comunicação e melhoria de sistemas.
  2. Herança simplifica manutenção e amplia escalabilidade, evitando duplicação de código.
  3. Práticas éticas e segurança devem ser consideradas na implementação de sistemas financeiros.
  4. Ferramentas de modelagem e POO combinadas fornecem base sólida para projetos de software.

Gerenciamento de Mudanças em Requisitos

  • Definição: Processo contínuo que ocorre durante todo o ciclo de vida do projeto, envolvendo identificação, análise, documentação, priorização e controle de requisitos.
  • Importância:
    • Permite adaptação às mudanças de mercado e necessidades do cliente.
    • Minimiza riscos e falhas decorrentes de requisitos mal gerenciados.
  • Boas práticas:
    • Documentação clara e enxuta.
    • Avaliação de impacto (prazo, custo e qualidade).
    • Controle rigoroso de versões e rastreabilidade.
  • Exemplos práticos: Aplicação em sistemas de saúde (SUS), lojas e softwares corporativos, com foco em segurança e ética (proteção de dados).

Herança em Projetos Práticos (POO)

  • Exemplo aplicado: Sistema de gestão de loja de eletrônicos.
    • Classe base: ProdutoEletronico (atributos e métodos comuns).
    • Subclasses: Smartphone, Laptop, Televisor, cada uma com características próprias.
  • Benefícios da herança:
    • Reutilização de código.
    • Estrutura hierárquica clara e extensível.
    • Facilidade de manutenção e escalabilidade.
  • Prática de implementação:
    • Testes práticos para validar métodos.
    • Flexibilidade para novos tipos de produtos.

Principais Aprendizados

  1. Gerenciamento eficaz de requisitos é essencial para evitar falhas e alinhar o projeto às expectativas do cliente.
  2. Documentação ágil e enxuta facilita comunicação e evita burocracia excessiva.
  3. Herança em POO permite criar sistemas organizados, reutilizáveis e preparados para expansão.
  4. Aspectos éticos e segurança devem ser considerados tanto no gerenciamento de mudanças quanto na implementação de software.

Herança em Projetos Práticos

  • Exemplo aplicado: Sistema de gerenciamento escolar com classes Pessoa, Funcionario e Aluno, mostrando a criação de estruturas hierárquicas e reutilização de código.
  • Conceitos aplicados:
    • Encapsulamento de atributos e métodos.
    • Uso de composição (objetos como atributos de outras classes).
    • Estrutura hierárquica clara e extensível para novos tipos de entidades.

Polimorfismo (POO)

  • Definição: Permite que objetos de diferentes classes respondam de forma distinta a uma mesma interface, aumentando flexibilidade e reutilização.
  • Tipos abordados:
    • Sobreposição (override): Subclasses redefinem métodos herdados da classe pai.
    • Exemplo prático: Sistema de entregas com veículos (carro, caminhão, bicicleta), cada um com cálculo específico de tempo de entrega.
  • Aplicações adicionais:
    • Loja virtual com diferentes tipos de produtos (livros, eletrônicos e alimentos).
    • Sistema de rastreamento de encomendas com classes Encomenda, Pacote, Carta e RemessaGrande, utilizando herança e sobreposição para especializações.

Benefícios Chave

  1. Reutilização de código: Com herança e polimorfismo, métodos comuns são centralizados e especializados conforme necessário.
  2. Flexibilidade e extensibilidade: Fácil adição de novos tipos de classes sem alterar estruturas existentes.
  3. Modelagem próxima ao mundo real: Representação clara de entidades e suas relações hierárquicas.
  4. Manutenção simplificada: Alterações localizadas reduzem riscos de falhas globais no sistema.
carreiras e competencias
Empreendedorismo, Inovação e Tendências – 3 Bimestre
  • Plano de ação: Implementar, avaliar resultados e ajustar estratégias continuamente é essencial para o sucesso de um empreendimento.
  • Inovação: Fundamental para manter a competitividade, podendo ocorrer em produtos, processos e modelos de negócios. Exemplos como Nubank ilustram a importância de inovar e acompanhar tendências de mercado.
  • Startups: Empresas inovadoras, escaláveis e de rápido crescimento, com busca constante por soluções disruptivas. Investidores-anjos e incubadoras oferecem suporte financeiro e estratégico para o desenvolvimento dessas empresas.

Competências Socioemocionais

  • Produtividade e gestão do tempo: Uso da Matriz de Eisenhower para diferenciar tarefas urgentes e importantes, além de ferramentas como GTD, Kanban e Pomodoro para aumentar a eficiência.
  • Pitch pessoal: Apresentar sua história de forma clara e objetiva em 1 minuto, desenvolvendo comunicação e autoconfiança.
  • Teatro das competências: Simulações de situações do mercado de trabalho para exercitar empatia, colaboração e resolução de conflitos.

Principais Aprendizados

  1. Empreender exige planejamento, execução, avaliação contínua e inovação constante.
  2. A gestão do tempo e das prioridades impacta diretamente na produtividade e no alcance de metas.
  3. Competências socioemocionais (empatia, comunicação e colaboração) são cruciais para o mercado de trabalho moderno.
  4. Startups diferem de pequenas empresas por sua escalabilidade e foco em inovação, contando com investidores e incubadoras para crescer.

Competências Socioemocionais (Aulas 3 e 4)

  • Teatro das Competências (Parte 2): Simulações que reforçam habilidades como empatia, gestão de conflitos, proatividade e colaboração, essenciais para o mercado de trabalho.
  • Importância das soft skills: Desenvolver competências socioemocionais aumenta as chances de sucesso profissional e empregabilidade.

Finanças Pessoais e Familiares (Aulas 5, 6 e 7)

  • Planejamento financeiro familiar: Estratégias para administrar finanças em conjunto, com foco no envolvimento de todos os membros da família.
  • Método 50/15/35: Distribuir a renda em 50% para despesas essenciais, 15% para dívidas/prioridades e 35% para lazer e estilo de vida.
  • Perfis financeiros: Identificação de perfis (poupador, gastador, desligado) para criar estratégias personalizadas de controle financeiro.
  • Planilha financeira: Uso de planilhas para monitorar receitas, despesas e metas mensais, facilitando a visualização de gastos e ajustes.

Planejamento e Preparação Profissional (Aula 8)

  • Carta de apresentação: Documento que complementa o currículo, destacando experiências, habilidades e alinhamento com os valores da empresa.
  • Estrutura da carta: Saudação personalizada, introdução envolvente, corpo com conquistas relevantes, diferenciais e valores, encerramento confiante.
  • Boas práticas: Clareza, objetividade, personalização e revisão prévia para eliminar erros e transmitir profissionalismo.

Principais Aprendizados

  1. Competências socioemocionais e financeiras são pilares para o desenvolvimento pessoal e profissional.
  2. Planejamento financeiro em família, com métodos práticos e planilhas, reduz dívidas e melhora a qualidade de vida.
  3. Habilidades de comunicação escrita e apresentação são essenciais para processos seletivos e networking.
  4. O uso de ferramentas digitais como Excel, LinkedIn e Canva fortalece a organização e a apresentação profissional.

Apresentação Profissional (Vídeo e Carta)

  • Carta de apresentação: Ferramenta para destacar habilidades, experiências e alinhamento com a vaga. Deve ser breve, personalizada e objetiva.
  • Vídeo de apresentação: Complementa o currículo, mostrando comunicação verbal e não verbal. Requer roteiro estruturado: apresentação pessoal, formação, experiência, resultados e objetivos.
  • Prática integrada: Elaboração de carta e vídeo reforça a confiança, a clareza e o profissionalismo no processo seletivo.

Busca de Oportunidades de Trabalho

  • Estratégias de busca: Utilização de sites especializados (LinkedIn, Indeed, Catho, InfoJobs), redes de relacionamento, feiras de emprego, programas governamentais (Qualifica SP) e agências de recrutamento.
  • Gestão de candidaturas: Uso de planilhas ou ferramentas como Trello para acompanhar processos seletivos.
  • Prática de busca ativa: Pesquisa colaborativa e compartilhamento de vagas entre colegas para ampliar perspectivas.

Mentalidade de Crescimento

  • Lidando com rejeições: Não levar resultados negativos para o lado pessoal; entender como aprendizado.
  • Autorreflexão e resiliência: Identificar pontos fortes e áreas de melhoria, buscar feedback e manter atitude positiva.
  • Metodologia SMART: Estabelecer metas específicas, mensuráveis e alinhadas aos objetivos de carreira.

Principais Aprendizados

  1. Comunicação eficaz é essencial para destacar-se (carta e vídeo).
  2. Busca ativa e estruturada aumenta as chances de encontrar boas vagas.
  3. Resiliência e mentalidade de crescimento ajudam a transformar desafios em oportunidades.
  4. Ferramentas digitais (LinkedIn, Excel, Trello) são aliadas para organização e networking.

Planejamento Financeiro Pessoal (Método OKR)

  • Diferença entre objetivos e metas: Objetivos são gerais e de longo prazo; metas são específicas e detalhadas.
  • Método OKR: Define objetivos claros (O) com resultados-chave (KR) mensuráveis e monitorados periodicamente.
  • Ferramentas de apoio: Metas SMART, 5W2H e Trello para estruturar planos e monitoramento.
  • Aplicação prática: Cada estudante desenvolveu objetivos financeiros pessoais, com metas de curto e médio prazo, plano de ação e infográfico no Canva.
  • Análise do padrão de vida: Identificação de gastos essenciais, não essenciais e variáveis para ajustar hábitos e alinhar o planejamento financeiro.

Superando Desafios e Obstáculos no Empreendedorismo

  • Gestão por processos: Compreensão de processos de compras, produção e estoques para melhorar a eficiência e reduzir desperdícios.
  • Políticas de gestão: Implementação de políticas de RH, qualidade, segurança e tecnologia da informação para padronizar operações e melhorar resultados.
  • Exemplo prático: Estudo de caso da “Pizzaria Pereira” para ilustrar a aplicação de processos e políticas na gestão de pequenos negócios.
  • Habilidades empreendedoras: Desenvolvimento de proatividade, trabalho em equipe e capacidade de adaptação a desafios de gestão.

Principais Aprendizados

  1. O OKR e ferramentas de apoio permitem organizar metas e melhorar a disciplina financeira.
  2. Compreender o padrão de vida ajuda a alinhar gastos à realidade financeira e aos objetivos pessoais.
  3. Processos e políticas de gestão estruturam negócios e contribuem para o sucesso empreendedor.
  4. A prática de situações reais aproxima a teoria da aplicação prática, fortalecendo a mentalidade empreendedora e a resiliência.

Móbile de Valor (Complexidade, Qualidade, Preço e Tempo)

  • Ferramenta visual para equilibrar variáveis essenciais de um negócio:
    • Complexidade: nível de dificuldade para produzir o produto ou serviço.
    • Qualidade: padrão entregue ao cliente.
    • Preço: valor cobrado.
    • Tempo: prazo de entrega.
  • O equilíbrio dessas variáveis garante competitividade e sustentabilidade do negócio.

Pitch para Projetos e Negócios

  • Pitch Pessoal: breve apresentação de habilidades e objetivos profissionais.
  • Pitch de Negócio:
    • Estrutura concisa (30 segundos a 20 minutos) para atrair investidores ou clientes.
    • Tipos: Pitch de elevador, one-sentence, pitch deck, tweet pitch.
  • Organização do Pitch (9 passos):
    1. Punchline (frase de impacto)
    2. Problema (que será resolvido)
    3. Proposta de valor
    4. Mercado (potencial e tamanho)
    5. Solução
    6. Modelo de negócio
    7. Asking for (investimento desejado)
    8. Roadmap (plano de uso do capital)
    9. Time e contato

Comunicação pelas Mídias Sociais

  • Importância: Divulgação eficiente de produtos, serviços e negócios.
  • Passos principais:
    • Identificar o público-alvo e redes sociais utilizadas.
    • Criar conteúdo alinhado ao perfil do público.
    • Definir estratégias de publicação (frequência e formatos).
    • Analisar métricas (alcance, curtidas, engajamento).
  • Cuidados:
    • Não misturar perfis pessoais e profissionais.
    • Evitar erros gramaticais e polêmicas desnecessárias.

Principais Aprendizados

  1. O móbile de valor ajuda a equilibrar fatores críticos do negócio.
  2. O pitch bem estruturado é essencial para captar investimentos e apresentar ideias.
  3. Comunicação digital eficaz amplia o alcance e potencializa os resultados.
  4. Ferramentas digitais e redes sociais são indispensáveis no empreendedorismo moderno.
docker
Docker – Restrição de Recursos

Para rodar um container com restrição de recursos basta seguir a seguinte sintaxe:

docker container run -dt --nome [nome] --cpus [perc] -m [memoria] [imagem]
  • perc – é um valor de 0 a 1, sendo 1, 100% de recursos de um CPU , onde cada unidade é um núcleo de processador.
  • memoria é um valor absoluto onde vem acompanhado de k,m,g,t. Ex.: 100m (100 mega de memoria ram)

O processo de restrição de recursos pode ser feito em dois momentos. Ao rodar (run) ou depois (update).

docker container update --cpus [perc] [imagem]

Analise de recursos usados

Para analise dos recursos usados, use o comando stats.

docker container stats

Recursos do sistema

Para visualizar os recursos do equipamento

docker system info

Recursos do container

Para visualizar os recursos de um dado container, basta usar o seguinte comando.

docker container top [container_name]

Comando de Teste de Container

Apesar de não ser um comando do docker o stress é usado para testar estes parâmetros.

stress -c [cpu] -t [tempo]

Referências:

https://www.geeksforgeeks.org/linux-unix/linux-stress-command-with-examples

PDS e Metodologias Ágeis
Resultado do Projeto

A partir dessa conversa, o aluno consegue extrair:

Banco de Dados Simplificado

  • Tabela produtos
    • id (PK)
    • nome
    • preco
    • tamanho
    • foto
    • ativo (booleano)
  • Tabela adicionais
    • id (PK)
    • nome
    • preco
  • Tabela pedidos
    • id (PK)
    • nome_cliente
    • telefone_cliente
    • bairro
    • data_hora
  • Tabela itens_pedido
    • id (PK)
    • pedido_id (FK)
    • produto_id (FK)
    • tamanho
    • adicionais (lista simplificada, se quiser)

Casos de Uso

  • Cliente:
    • Visualizar produtos
    • Adicionar produtos ao carrinho
    • Escolher adicionais
    • Finalizar pedido
  • Dono da loja:
    • Cadastrar produto
    • Editar produto
    • Cadastrar adicionais
    • Desativar produto
    • Ver pedidos

Objetivo Final

🎯 Criar um site com:

  • Página inicial listando os produtos
  • Tela de escolha de adicionais
  • Carrinho de compras
  • Formulário simples (Nome, Telefone, Bairro)
  • Botão “Enviar pedido” integrando com WhatsApp
  • Painel administrativo bem simples

Vou seguir essa ordem para ficar fácil para seus alunos:

  1. 🎯 Casos de Uso
  2. 📦 Diagrama de Classes
  3. 🛢️ Tabelas (Banco de Dados)
  4. 🖥️ Programa em Python (bem simples, tipo console) para atender o cliente

Vou fazer tudo bem simples e didático para quem está começando! Vamos lá:


🎯 1. Casos de Uso

Ator 1: Cliente

  • Visualizar lista de produtos
  • Escolher produto e adicionais
  • Preencher nome, telefone e bairro
  • Confirmar pedido

Ator 2: Dono da loja

  • Cadastrar novo produto
  • Editar produto
  • Desativar produto
  • Cadastrar adicionais
  • Visualizar pedidos recebidos

📦 2. Diagrama de Classes (Simplificado)

+----------------+        +----------------+        +----------------+
|    Produto     |        |    Adicional    |        |     Pedido      |
+----------------+        +----------------+        +----------------+
| - id: int      |        | - id: int       |        | - id: int       |
| - nome: str    |        | - nome: str     |        | - nome_cliente  |
| - preco: float |        | - preco: float  |        | - telefone      |
| - tamanho: str |        +----------------+        | - bairro        |
| - ativo: bool  |                                 | - data_hora     |
+----------------+                                 +----------------+
          |                                               |
          |                                               |
          |                      +------------------------+
          |                      |
          |                 +-----------------+
          |                 |  ItensPedido     |
          |                 +-----------------+
          |                 | - id: int        |
          +---------------->| - pedido_id: int |
                            | - produto_id: int|
                            | - adicionais: str|
                            +-----------------+

🛢️ Tabelas no SQLite

Aqui está o script para criar o banco SQLite:

-- Criação das tabelas no SQLite

CREATE TABLE produtos (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nome TEXT NOT NULL,
    preco REAL NOT NULL,
    tamanho TEXT NOT NULL,
    ativo INTEGER DEFAULT 1 -- 1 = ativo, 0 = inativo
);

CREATE TABLE adicionais (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nome TEXT NOT NULL,
    preco REAL NOT NULL
);

CREATE TABLE pedidos (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nome_cliente TEXT NOT NULL,
    telefone_cliente TEXT NOT NULL,
    bairro TEXT,
    data_hora TEXT DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE itens_pedido (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    pedido_id INTEGER,
    produto_id INTEGER,
    adicionais TEXT,
    FOREIGN KEY (pedido_id) REFERENCES pedidos(id),
    FOREIGN KEY (produto_id) REFERENCES produtos(id)
);

🐍 Código Python usando SQLite (bem fácil)

Aqui está o programa completo agora com banco SQLite:

import sqlite3
from datetime import datetime

# Conexão com o banco SQLite
conn = sqlite3.connect('acai.db')
cursor = conn.cursor()

# Cria tabelas se não existirem
cursor.execute('''
CREATE TABLE IF NOT EXISTS produtos (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nome TEXT NOT NULL,
    preco REAL NOT NULL,
    tamanho TEXT NOT NULL,
    ativo INTEGER DEFAULT 1
)
''')

cursor.execute('''
CREATE TABLE IF NOT EXISTS adicionais (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nome TEXT NOT NULL,
    preco REAL NOT NULL
)
''')

cursor.execute('''
CREATE TABLE IF NOT EXISTS pedidos (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nome_cliente TEXT NOT NULL,
    telefone_cliente TEXT NOT NULL,
    bairro TEXT,
    data_hora TEXT DEFAULT CURRENT_TIMESTAMP
)
''')

cursor.execute('''
CREATE TABLE IF NOT EXISTS itens_pedido (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    pedido_id INTEGER,
    produto_id INTEGER,
    adicionais TEXT,
    FOREIGN KEY (pedido_id) REFERENCES pedidos(id),
    FOREIGN KEY (produto_id) REFERENCES produtos(id)
)
''')

conn.commit()

def cadastrar_produto():
    nome = input("Nome do produto: ")
    preco = float(input("Preço: "))
    tamanho = input("Tamanho (ex: 300ml, 500ml): ")
    cursor.execute("INSERT INTO produtos (nome, preco, tamanho) VALUES (?, ?, ?)", (nome, preco, tamanho))
    conn.commit()
    print("Produto cadastrado!\n")

def cadastrar_adicional():
    nome = input("Nome do adicional: ")
    preco = float(input("Preço do adicional: "))
    cursor.execute("INSERT INTO adicionais (nome, preco) VALUES (?, ?)", (nome, preco))
    conn.commit()
    print("Adicional cadastrado!\n")

def listar_produtos():
    cursor.execute("SELECT id, nome, preco, tamanho FROM produtos WHERE ativo = 1")
    produtos = cursor.fetchall()
    print("\nProdutos disponíveis:")
    for prod in produtos:
        print(f"{prod[0]}. {prod[1]} - {prod[3]} - R$ {prod[2]:.2f}")
    print()

def listar_adicionais():
    cursor.execute("SELECT id, nome, preco FROM adicionais")
    adicionais = cursor.fetchall()
    print("\nAdicionais disponíveis:")
    for ad in adicionais:
        print(f"{ad[0]}. {ad[1]} - R$ {ad[2]:.2f}")
    print()

def fazer_pedido():
    listar_produtos()
    produto_id = input("Escolha o número do produto: ")
    cursor.execute("SELECT nome, tamanho FROM produtos WHERE id = ? AND ativo = 1", (produto_id,))
    produto = cursor.fetchone()
    if not produto:
        print("Produto inválido!")
        return

    adicionais_selecionados = []
    while True:
        listar_adicionais()
        add = input("Escolha o número do adicional (ou ENTER para finalizar): ")
        if add == "":
            break
        cursor.execute("SELECT nome FROM adicionais WHERE id = ?", (add,))
        adicional = cursor.fetchone()
        if adicional:
            adicionais_selecionados.append(adicional[0])

    nome_cliente = input("Nome do cliente: ")
    telefone = input("Telefone do cliente: ")
    bairro = input("Bairro do cliente: ")

    cursor.execute("INSERT INTO pedidos (nome_cliente, telefone_cliente, bairro) VALUES (?, ?, ?)", 
                   (nome_cliente, telefone, bairro))
    pedido_id = cursor.lastrowid

    adicionais_texto = ', '.join(adicionais_selecionados)
    cursor.execute("INSERT INTO itens_pedido (pedido_id, produto_id, adicionais) VALUES (?, ?, ?)", 
                   (pedido_id, produto_id, adicionais_texto))
    
    conn.commit()
    print("Pedido registrado com sucesso!\n")

def listar_pedidos():
    cursor.execute('''
    SELECT pedidos.nome_cliente, pedidos.telefone_cliente, pedidos.bairro, pedidos.data_hora,
           produtos.nome, produtos.tamanho, itens_pedido.adicionais
    FROM pedidos
    JOIN itens_pedido ON pedidos.id = itens_pedido.pedido_id
    JOIN produtos ON produtos.id = itens_pedido.produto_id
    ''')
    pedidos = cursor.fetchall()
    print("\nPedidos recebidos:")
    for ped in pedidos:
        print(f"- {ped[0]} ({ped[1]}) pediu {ped[4]} {ped[5]} com {ped[6]} [{ped[3]}] - Bairro: {ped[2]}")
    print()

def menu_admin():
    while True:
        print("\n=== Menu Admin ===")
        print("1. Cadastrar Produto")
        print("2. Cadastrar Adicional")
        print("3. Listar Pedidos")
        print("4. Sair")
        op = input("Escolha: ")
        if op == "1":
            cadastrar_produto()
        elif op == "2":
            cadastrar_adicional()
        elif op == "3":
            listar_pedidos()
        elif op == "4":
            break
        else:
            print("Opção inválida.")

def menu_cliente():
    while True:
        print("\n=== Menu Cliente ===")
        print("1. Fazer Pedido")
        print("2. Sair")
        op = input("Escolha: ")
        if op == "1":
            fazer_pedido()
        elif op == "2":
            break
        else:
            print("Opção inválida.")

def main():
    while True:
        print("\n=== Sistema Açaí ===")
        print("1. Cliente")
        print("2. Admin")
        print("3. Sair")
        op = input("Escolha: ")
        if op == "1":
            menu_cliente()
        elif op == "2":
            menu_admin()
        elif op == "3":
            print("Até mais!")
            break
        else:
            print("Opção inválida.")

if __name__ == "__main__":
    main()

🧡 O que você tem agora:

  • Casos de uso ✅
  • Diagrama de classes ✅
  • Estrutura de tabelas SQL ✅
  • Programa Python inicial ✅

Vou montar agora um exemplo usando Streamlit, que é perfeito para criar interfaces web simples em Python — ideal pra mostrar pra turma!

💡 O que vamos fazer:

  • Listar produtos
  • Cliente escolher o produto
  • Selecionar adicionais
  • Preencher nome, telefone e bairro
  • Confirmar o pedido
  • Mostrar o pedido feito na tela (como simulação)

Tudo direto pelo navegador, usando o acai.db (SQLite)!


🖥️ Código Streamlit (arquivo app.py)

import streamlit as st
import sqlite3
from datetime import datetime

# Conexão com o banco SQLite
conn = sqlite3.connect('acai.db', check_same_thread=False)
cursor = conn.cursor()

# Funções auxiliares
def listar_produtos():
    cursor.execute("SELECT id, nome, preco, tamanho FROM produtos WHERE ativo = 1")
    return cursor.fetchall()

def listar_adicionais():
    cursor.execute("SELECT id, nome, preco FROM adicionais")
    return cursor.fetchall()

def registrar_pedido(nome_cliente, telefone, bairro, produto_id, adicionais_lista):
    cursor.execute("INSERT INTO pedidos (nome_cliente, telefone_cliente, bairro) VALUES (?, ?, ?)", 
                   (nome_cliente, telefone, bairro))
    pedido_id = cursor.lastrowid
    adicionais_texto = ', '.join(adicionais_lista)
    cursor.execute("INSERT INTO itens_pedido (pedido_id, produto_id, adicionais) VALUES (?, ?, ?)", 
                   (pedido_id, produto_id, adicionais_texto))
    conn.commit()

# Layout da página
st.title("🍧 Loja de Açaí")

st.header("Escolha seu Açaí")

produtos = listar_produtos()
produtos_dict = {f"{nome} - {tamanho} - R$ {preco:.2f}": id for id, nome, preco, tamanho in produtos}

produto_escolhido = st.selectbox("Selecione um produto", list(produtos_dict.keys()))

adicionais = listar_adicionais()
adicionais_selecionados = st.multiselect(
    "Escolha adicionais (opcional)",
    [f"{nome} - R$ {preco:.2f}" for id, nome, preco in adicionais]
)

st.header("Seus Dados")

nome_cliente = st.text_input("Nome completo")
telefone = st.text_input("Telefone")
bairro = st.text_input("Bairro")

if st.button("Confirmar Pedido"):
    if nome_cliente and telefone and produto_escolhido:
        # Captura IDs dos adicionais selecionados
        adicionais_nomes = [a.split(' - ')[0] for a in adicionais_selecionados]
        
        produto_id = produtos_dict[produto_escolhido]
        registrar_pedido(nome_cliente, telefone, bairro, produto_id, adicionais_nomes)

        st.success("Pedido enviado com sucesso!")
        st.balloons()
    else:
        st.error("Preencha seu nome, telefone e selecione um produto!")

st.divider()

st.subheader("📋 Últimos Pedidos")

cursor.execute('''
    SELECT pedidos.nome_cliente, produtos.nome, produtos.tamanho, itens_pedido.adicionais, pedidos.data_hora
    FROM pedidos
    JOIN itens_pedido ON pedidos.id = itens_pedido.pedido_id
    JOIN produtos ON produtos.id = itens_pedido.produto_id
    ORDER BY pedidos.data_hora DESC
    LIMIT 5
''')
ultimos_pedidos = cursor.fetchall()

for ped in ultimos_pedidos:
    st.write(f"**{ped[0]}** pediu **{ped[1]} {ped[2]}** com _{ped[3]}_ em {ped[4]}")


🚀 Como Rodar:

  1. Instalar o Streamlit:
bashCopiarEditarpip install streamlit
  1. Criar o arquivo app.py com o código acima.
  2. Rodar o aplicativo:
bashCopiarEditarstreamlit run app.py
  1. Vai abrir o navegador automaticamente!
    (Você verá a lojinha de Açaí funcionando 💜)

📋 O que esse exemplo ensina:

  • Conexão SQLite
  • Interface web amigável
  • Escolha de produtos e adicionais
  • Registro de pedidos
  • Feedback visual para o usuário
  • Listagem dos últimos pedidos feitos
PDS e Metodologias Ágeis
Levantamento de Requisitos

Este trabalho simula o dialogo entre um vendedor e um programador.

🟣 Entrevista 1 — Primeira Reunião (Levantamento Inicial)

CLIENTE:
Oi, tudo bem? Então… eu queria fazer um site pra minha loja de açaí, sabe? Um site bonito, que apareça as fotos dos potes bem cheios, com aquelas coberturas caindo assim…

Programador:
Oi, tudo ótimo! Ah, entendi, você quer um site que destaque bem as imagens dos seus produtos, certo?

CLIENTE:
Isso! E queria também que desse pra pessoa montar o açaí dela… tipo, ela escolhe o tamanho, os adicionais, põe leite condensado, paçoca… essas coisas.

Programador:
Entendi. Então seriam dois tipos de venda: produtos prontos (como um açaí tradicional 500ml) e o cliente montando o seu próprio açaí.

CLIENTE:
Exatamente! E sabe o que seria legal? Se tivesse música tocando no site!

Programador:
(risos) Música? Podemos pensar em colocar, mas talvez isso atrapalhe um pouco a navegação, sabe?
Você quer focar em vender ou fazer algo mais descontraído?

CLIENTE:
Ah, é… melhor vender né? Então esquece a música!

Programador:
Certo! Sobre os pedidos: como você quer receber? O cliente paga no site ou paga na hora?

CLIENTE:
Olha, ainda tô começando… queria que ele só mandasse o pedido. Daí eu confirmo no WhatsApp e combino o pagamento.

Programador:
Ok, pedido sem pagamento online. E você quer controlar o estoque também?

CLIENTE:
Estoque? Ah… seria bom saber quando tá acabando leite condensado, paçoca… Mas não precisa ser complicado, não. Se não der, deixa pra depois.

Programador:
Tudo bem, vou anotar como “controle simples de estoque” pra uma segunda fase.

CLIENTE:
Isso!


🟣 Entrevista 2 — Definindo o Básico (com mais detalhes)

Programador:
Oi, voltei! Organizei algumas ideias pra gente confirmar.

CLIENTE:
Ótimo! Vamos ver!

Programador:
Sobre os produtos: você quer cadastrar o nome do açaí, o preço, o tamanho (ex: 300ml, 500ml) e colocar uma foto. Correto?

CLIENTE:
Certo. Mas às vezes eu quero fazer promoções! Tipo, “Compre um de 500ml e ganhe uma granola grátis.”

Programador:
Entendi. Promoções podem ser configuradas também, mas talvez num segundo momento, combinado?

CLIENTE:
Tá bom! Primeiro vamos focar no básico.

Programador:
Sobre os adicionais: vamos ter uma listinha? Tipo: Banana, Paçoca, Leite condensado… cada um com um preço.

CLIENTE:
Sim! E às vezes eu queria dar adicionais grátis em dias especiais, tipo “sexta-feira da banana grátis”.

Programador:
Ok, posso deixar espaço para adicionar promoções depois. No momento, vamos focar no cliente escolher os adicionais e adicionar ao pedido.

CLIENTE:
Perfeito.

Programador:
Agora: o pedido.
O cliente seleciona o produto, escolhe os adicionais e informa o nome e telefone para contato, certo?

CLIENTE:
Isso! E o bairro também, né? Vai que eu começo a entregar…

Programador:
Boa ideia. Vamos incluir campo para Bairro também.

CLIENTE:
Ah, e se a pessoa quiser pedir dois açaís diferentes no mesmo pedido?

Programador:
Ótimo ponto. Então vamos deixar o carrinho com possibilidade de adicionar mais de um produto.


🟣 Entrevista 3 — Confirmando Tudo (com cliente viajando um pouco)

Programador:
Oi, tudo certo? Vim só pra validar antes de começar!

CLIENTE:
Opa! Tô animado!

Programador:
Então vamos lá:
No site, o cliente vai poder:

  • Ver a lista de produtos
  • Ver os adicionais
  • Escolher o produto e o tamanho
  • Escolher adicionais
  • Adicionar ao carrinho
  • Informar nome, telefone e bairro
  • Confirmar pedido
  • E o pedido vai pro seu WhatsApp.

CLIENTE:
Show! E se der, eu queria que o site piscasse alguma coisa, tipo uma estrela, quando a pessoa confirmasse o pedido!

Programador:
(risos) Vamos fazer uma mensagem de “Pedido enviado com sucesso”, pode ser?

CLIENTE:
Tá ótimo! Estrela piscando era bobagem minha, esquece!

Programador:
Beleza. Sobre o controle dos produtos: você vai conseguir acessar um painel pra:

  • Cadastrar novo açaí
  • Alterar preço
  • Cadastrar novos adicionais
  • Alterar fotos

CLIENTE:
Ahhh, legal! Quero também poder desativar um produto, tipo “acabou”, sem apagar tudo.

Programador:
Perfeito, vou colocar a opção de deixar um produto inativo.

CLIENTE:
E se eu mudar de ideia e quiser cobrar o pedido online?

Programador:
A gente consegue adicionar depois. Por enquanto vamos deixar como “pedido via WhatsApp” mesmo.

CLIENTE:
Combinado!

PDS e Metodologias Ágeis
PDS e Metodologias Ágeis

Resumo: Programação, Testes e Modelagem de Sistemas

1. Programação Orientada a Objetos com Python

Conceitos-chave:

  • Classes e Objetos:
    Uma classe é um molde; o objeto é o produto. Classes definem atributos (características) e métodos (ações).
  • Encapsulamento:
    Técnica que protege os dados dentro de uma classe, permitindo acesso controlado através de getters (leitura) e setters (modificação).

Aplicações práticas:

  • Criação de softwares modulares e organizados.
  • Utilização de boas práticas como separação de responsabilidades, reutilização de código e manutenção mais fácil.

Exemplos:

  • Criar uma classe Carro com atributos como cor e métodos como acelerar().

Boas práticas destacadas:

  • Utilizar convenções de encapsulamento (_atributo).
  • Planejar o código com esboços no papel antes da implementação.

2. Testes Não Funcionais: Desempenho, Segurança e Usabilidade

Desempenho

  • Testes de carga e stress:
    Avaliam se o sistema suporta alta demanda (ex.: Black Friday).
  • Otimização de recursos:
    Melhor uso de memória, CPU e armazenamento, como fazem Netflix e Spotify.
  • Monitoramento contínuo:
    Ferramentas como Google Analytics analisam o desempenho em tempo real.

Segurança

  • Testes de invasão (PenTest) e vulnerabilidade:
    Simulam ataques para descobrir falhas.
  • Autenticação e Autorização:
    Como o uso de 2FA (Autenticação de dois fatores).
  • Compliance:
    Seguir normas como GDPR para proteger dados dos usuários.

Exemplo real:
O ataque à Sony Pictures (2014) mostrou falhas como falta de 2FA e servidores desatualizados.

Usabilidade

  • Avaliação heurística:
    Avaliar a facilidade de uso seguindo princípios como os de Nielsen.
  • Testes com usuários reais:
    Observar o uso prático para melhorar a experiência.
  • Acessibilidade:
    Tornar sistemas usáveis para todos, como faz a Apple com seus recursos para deficientes.

3. Diagramas de Casos de Uso (UML)

Exemplo de diagrama de caso de uso: Referencia: https://medium.com/operacionalti/uml-diagrama-de-casos-de-uso-29f4358ce4d5

Use o site site https://www.draw.io/ para gerar o modelo da loja de açaí

O que são:

  • Diagramas que mostram como os usuários (atores) interagem com o sistema.
  • Representam funcionalidades e ajudam no entendimento, planejamento e comunicação do sistema.

Componentes principais:

  • Atores: quem usa (pessoas ou outros sistemas).
  • Casos de uso: o que o sistema faz para atender o ator.
  • Relacionamentos: associação, inclusão e extensão.

Exemplos:

  • E-commerce: Cliente compra produtos; administrador gerencia estoque.
  • Sistema bancário: Cliente faz saques e consultas.
  • Educação: Aluno assiste aula, professor publica material.

Importância prática:

  • Clarificam requisitos e interações antes da programação.
  • Ajudam a prever problemas e definir prioridades de desenvolvimento.

Resumo Final para Aula

TemaPontos PrincipaisExemplos Reais
Programação O.O.Classes, Objetos, EncapsulamentoPython (classe Carro)
Testes Não FuncionaisCarga, Segurança, UsabilidadeNetflix, Sony Pictures
Diagramas de Casos de UsoVisualizar ações do sistemaE-commerce, Saúde, Educação

💬 Sugestão de abordagem com os alunos:

“Hoje vamos aprender como construir softwares organizados, seguros e fáceis de usar, entendendo como desenhar, testar e programar melhor!”

Resumo Elaborado: Programação, Modelagem de Dados e Requisitos de Software


1. Diagramas UML: Casos de Uso, Classes e Sequências

Diagramas de Casos de Uso ​​

  • Representam as funcionalidades que o sistema oferece e como os usuários (atores) interagem com ele.
  • Principais elementos:
    • Atores: Pessoas ou sistemas externos que usam o sistema.
    • Casos de uso: Ações realizadas pelo sistema.
    • Relacionamentos: Mostram como atores e casos de uso se conectam.
  • Aplicações práticas: e-commerce, bancos, sistemas de ensino.
  • Objetivo: Melhorar a comunicação entre desenvolvedores, clientes e usuários.

Diagramas de Classes

referencia: https://slideplayer.com.br/slide/13956163/

  • Representam a estrutura estática do sistema.
  • Cada classe mostra seus atributos (informações) e métodos (ações que podem ser realizadas).
  • Exemplo: Classe “Usuário” com atributos como nome, email e métodos como logar().

Use o site site https://www.draw.io/ para gerar o modelo da loja de açaí

Diagramas de Sequência

Referencia: https://medium.com/documenta%C3%A7ao-uml/introdu%C3%A7%C3%A3o-ao-diagrama-de-sequ%C3%AAncia-1ea5e9563594

Use o site site https://www.draw.io/ para gerar o modelo da loja de açaí

  • Mostram como os objetos interagem no tempo para realizar funções.
  • Utilizados para representar o fluxo de mensagens entre usuários, sistemas e bases de dados.
  • Exemplo: Usuário adiciona produto ao carrinho → Sistema processa → Estoque é atualizado.


2. Modelagem de Dados Relacional ​​

Use o site site https://www.draw.io/ para gerar o modelo da loja de açaí

Fundamentos:

  • Entidades: Representam objetos reais, como Clientes, Produtos, Pedidos.
  • Relacionamentos: Como esses objetos se conectam (ex.: Cliente faz Pedido).

Normalização dos dados:

  • 1ª Forma Normal (1NF): Cada campo com um único valor.
  • 2ª Forma Normal (2NF): Eliminar dependências parciais em chaves compostas.
  • 3ª Forma Normal (3NF): Eliminar dependências transitivas.

Melhores práticas:

  • Chaves primárias e chaves estrangeiras para manter integridade dos dados.
  • Indexação para melhorar a performance de consultas.
  • Monitoramento contínuo do banco para otimizar consultas grandes.

Exemplo de aplicação:

  • Em sistemas de vendas, é necessário dividir dados em tabelas como Clientes, Pedidos, Produtos para evitar repetição de informações.

3. Modelagem de Requisitos de Software ​​

Requisitos de Software:

  • Requisitos Funcionais:
    Descrevem o que o sistema faz (ex.: “Usuário pode se cadastrar”).
  • Requisitos Não Funcionais:
    Definem qualidades do sistema (ex.: “O sistema deve carregar em 2 segundos”).
  • Requisitos de Domínio:
    Específicos de uma área (ex.: um sistema médico que precisa seguir normas de saúde).

Levantamento de requisitos:

  • Técnicas: entrevistas, questionários, observação direta, workshops.
  • Ferramentas: UML, JIRA, Trello.

Documentação:

  • Especificação de Requisitos de Software (SRS): documento técnico detalhado.
  • User Stories (Histórias de Usuário):
    Exemplo: “Como cliente, quero adicionar produtos ao carrinho para finalizar minha compra.”

Requisitos em Metodologias Ágeis:

  • Flexibilidade:
    Permitem mudanças rápidas durante o desenvolvimento.
  • Priorização:
    Entregam primeiro o que é mais importante.
  • User Stories e Critérios de Aceitação:
    Validam se a funcionalidade foi entregue corretamente.

Quadro Resumo para Aula

TemaPontos PrincipaisExemplos
Diagramas de Casos de UsoComo o usuário interage com o sistemaLoja online, Banco, Escola
Diagramas de ClassesEstrutura de dados do sistemaCadastro de clientes
Diagramas de SequênciaOrdem de interação entre objetosCompra online
Modelagem de DadosOrganização eficiente de informaçõesBanco de dados de vendas
Modelagem de RequisitosO que o sistema faz e como deve se comportarCadastro rápido e seguro

Sugestão para Apresentação Oral

Você pode dizer algo assim:

“Hoje vamos conhecer ferramentas essenciais para criar sistemas modernos: vamos entender como desenhar os requisitos de um sistema, organizar seus dados, planejar suas funções e testar se tudo está funcionando corretamente.”

Tabela de Jargões e Significados

JargãoSignificado
UML (Unified Modeling Language)Linguagem usada para desenhar diagramas que explicam como um sistema funciona.
Diagrama de Casos de UsoDesenho que mostra o que o sistema faz e como os usuários (atores) interagem com ele.
AtorQuem interage com o sistema (pessoa, sistema ou dispositivo).
Caso de UsoAção ou funcionalidade que o sistema deve realizar.
Relacionamento (UML)Ligação entre atores e casos de uso ou entre casos de uso diferentes.
Diagrama de ClassesRepresentação das partes de um sistema: suas informações (atributos) e ações (métodos).
Diagrama de SequênciaMostra a ordem em que as ações acontecem entre os objetos de um sistema.
Linha de VidaRepresenta o tempo de vida de um objeto enquanto ele interage no sistema.
Mensagem SíncronaComunicação onde quem envia espera uma resposta antes de continuar.
Mensagem AssíncronaComunicação onde quem envia não precisa esperar resposta para continuar.
Modelagem de Dados RelacionalTécnica para organizar as informações em bancos de dados, evitando erros e repetição.
EntidadeRepresentação de um objeto ou conceito real (ex: cliente, produto).
Relacionamento (Dados)Conexão entre duas entidades no banco de dados.
NormalizaçãoProcesso para organizar os dados em tabelas de forma correta, evitando repetições.
Chave PrimáriaIdentificador único de cada registro numa tabela (ex: CPF de uma pessoa).
Chave EstrangeiraLigação entre duas tabelas diferentes.
User StoryPequena história escrita do ponto de vista do usuário dizendo o que ele precisa fazer.
Critério de AceitaçãoCondições que mostram que uma funcionalidade foi feita corretamente.
MoSCoWTécnica para priorizar tarefas: Must (deve ter), Should (deveria ter), Could (poderia ter), Won’t (não terá agora).
Levantamento de RequisitosProcesso de descobrir tudo o que o sistema precisa fazer.
SRS (Software Requirements Specification)Documento formal que descreve todos os requisitos do sistema.
Framework ÁgilModelo de trabalho que permite fazer entregas rápidas e adaptáveis no desenvolvimento de software.
CI/CD (Integração Contínua/Entrega Contínua)Técnicas para automatizar testes e entregas de novos códigos em sistemas de forma rápida e segura.
WorkshopReunião prática e interativa para resolver problemas ou levantar informações.
ProtótipoModelo simples de um sistema feito para testar ideias antes de fazer a versão final.
Elicitação de RequisitosColeta de informações necessárias para definir o que o sistema precisa fazer.

Resumo Geral para Apresentação — Sistemas, Modelagem e Testes


1. Modelagem de Dados Relacionais

  • Conceitos-chave:
    Entidades (como “Cliente” ou “Produto”), Relacionamentos e Normalização (1ª, 2ª e 3ª Formas Normais)​.
  • Objetivo:
    Garantir organização dos dados, evitando redundância e melhorando a integridade.
  • Exemplos:
    Cadastro de clientes, pedidos em lojas virtuais.

2. Modelagem de Dados Não Relacionais

  • Tipos de bancos:
    • Documentos: Estruturam informações como JSON (ex: MongoDB).
    • Grafos: Representam conexões complexas (ex: Redes Sociais)​.
    • Chave-Valor: Para acesso ultra rápido de informações, como sessões de usuários​.
  • Importância:
    Usados onde precisamos de alta escalabilidade, consultas rápidas ou análise de redes.

3. Diagramas UML: Casos de Uso, Classes e Sequências

  • Casos de Uso:
    Mostram como usuários interagem com o sistema​.
  • Classes:
    Estruturam informações e métodos em sistemas​​.
  • Sequência:
    Representam o fluxo temporal de interações entre objetos​​.
  • Exemplos práticos:
    E-commerce (Cliente → Carrinho → Pagamento → Estoque).

4. Requisitos de Software

  • Funcionais:
    Definem o que o sistema faz (ex: “Cadastrar usuário”).
  • Não Funcionais:
    Definem qualidades do sistema (ex: “Tempo de resposta menor que 2 segundos”).
  • User Stories:
    Pequenas histórias que ajudam a entender melhor o que o usuário precisa.

5. Testes de Software

Testes Funcionais

  • O que são:
    Verificam se o sistema cumpre seus requisitos.
  • Técnicas:
    • Caixa Preta (testar sem saber o código).
    • Testes de equivalência, valor-limite.
    • Automação de testes (ex: usando pytest).
  • Importância:
    Garante que o sistema faça exatamente o que foi prometido.

Testes Não Funcionais ​

  • Tipos:
    • Desempenho:
      Avalia velocidade, escalabilidade e estabilidade.
    • Segurança:
      Testa vulnerabilidades e proteção de dados.
    • Usabilidade:
      Garante facilidade de uso e compatibilidade com vários dispositivos.
  • Exemplos reais:
    • Black Friday: Testes de carga para aguentar milhões de acessos​.
    • Aplicativos bancários: Testes de segurança e compatibilidade em vários celulares​.

6. Planejamento e Gestão de Testes

  • Planejamento de Testes:
    Definição de escopo, cronograma e recursos necessários​.
  • Gestão de Defeitos:
    • Identificar.
    • Registrar (documentar claramente).
    • Monitorar (corrigir e validar).
  • Testes Ágeis:
    Testar continuamente usando integração contínua (CI/CD).

Resumo Final para Aula

TemaFocoExemplos
Modelagem RelacionalOrganização e estruturação de dadosBanco de dados de vendas
Modelagem Não RelacionalEficiência e escalabilidadeMongoDB, Redis, Neo4j
Diagramas UMLEntender funcionamento e interaçõesSistema de Compras Online
RequisitosDefinir o que fazer e como se comportarCadastrar usuário rapidamente
Testes FuncionaisVerificar se tudo funciona como planejadoCadastro de clientes
Testes Não FuncionaisGarantir qualidade, segurança e desempenhoTeste de carga em Black Friday

💬 Sugestão de Introdução para Apresentação:

“Hoje vamos explorar como projetar sistemas, organizar dados, definir funções e testar tudo para garantir que a tecnologia funcione de maneira rápida, segura e fácil de usar no nosso dia a dia.”

carreiras e competencias
Carreiras e Competências, resumo segundo semestre.

Tema principal:

Desenvolvimento profissional na área de Técnico em Desenvolvimento de Sistemas — explorando competências, planos de carreira e autoconhecimento.


[SIS]ANO1CCMB2S10A1 – Alternativas no mercado de trabalho e caminhos de carreira​

  • Carreira vs. Profissão:
    • Profissão é parte da carreira (analogia A ⊂ B de conjuntos).
  • Tipos de Carreira:
    • Tradicional (estável), Sem Fronteiras (flexível) e Exponencial (crescimento rápido).
  • Exemplos práticos:
    • Glória Maria (carreira tradicional).
    • Exemplos de desenvolvedores que seguiram caminhos diferentes.
  • Reflexão sobre escolha de carreira:
    • Importância de ser protagonista da própria trajetória.

[SIS]ANO1CCMB2S10A2 – Planos de carreira​

  • Definição de Plano de Carreira:
    • Metas e caminhos para o crescimento profissional.
  • Tipos de Plano de Carreira:
    • Linha (vertical, como serviço público/militar).
    • Paralelo (duas áreas ao mesmo tempo).
    • Rede (vários contatos e projetos).
    • Horizontal (sem hierarquia, com foco em habilidades).
    • Y (técnico ou gestor).
    • W (combinação técnico + gestão).
    • T (especialista em uma área + conhecimentos diversos).
  • Estudo de casos reais e exemplos fictícios:
    • Aplicação prática dos tipos de carreira.

[SIS]ANO1CCMB2S10A3 – Teste de Carreira​

  • Atividade prática:
    • Realização de um teste de carreira online para autoconhecimento.
  • Possíveis caminhos profissionais para Técnico em Desenvolvimento de Sistemas:
    • Web, mobile, QA, IA, consultoria, serviço público, educação, empreendedorismo.
  • Caminhos de carreira abordados:
    • Pública, Privada, Militar, Acadêmica, Autônoma, Política, Artística, Terceiro Setor e Empreendedora.

[SIS]ANO1CCMB2S9A1 – Desenvolvimento de Competências​

  • Conceito de habilidades técnicas (hard skills) e socioemocionais (soft skills):
    • Hard skills: programação, LGPD, frameworks ágeis.
    • Soft skills: resiliência, comunicação, gestão de tempo.
  • Importância de construir um perfil completo:
    • Aliar competências técnicas e socioemocionais para crescer na carreira.
  • Atividade prática:
    • Brainstorming de competências a partir de pesquisa no mercado de trabalho.

[SIS]ANO1CCMB2S9A2 – Metas SMART​

  • Como desenvolver habilidades e competências:
    • Educação formal, estágios, autoaprendizado.
  • Importância das soft skills:
    • Proatividade, adaptabilidade, consciência cultural, resiliência.
  • Metodologia SMART para definição de metas:
    • Específicas, Mensuráveis, Atribuíveis, Realistas e Temporais.
  • Atividade prática:
    • Jogo de priorização de metas.

[SIS]ANO1CCMB2S9A3 – Mapa Mental de Carreira​

  • Criação de plano de carreira em formato visual:
    • Usando matriz SWOT pessoal e planejamento estratégico.
  • Importância da mentalidade de crescimento:
    • Estar aberto a aprender e evoluir constantemente.
  • Sugestões de plataformas e cursos gratuitos:
    • Leapy, Sebrae, Escola Virtual Fundação Bradesco, FGV.

✨ PRINCIPAIS PONTOS FINAIS:

  • Carreira ≠ Profissão.
  • Existem múltiplas formas de traçar a carreira: linha, paralelo, Y, W, T, rede, horizontal.
  • Competências técnicas e socioemocionais são essenciais.
  • O autoconhecimento é base para o sucesso profissional.
  • Planejamento estratégico (como metas SMART) é fundamental.
  • A flexibilidade e a disposição para aprender são chaves para o futuro.

📚 RESUMO GERAL – Parte 2


[SIS]ANO1CCMB2S11A1 – Como construir um bom currículo​

  • Importância do Currículo:
    • Expressa quem você é profissionalmente.
    • Deve ser objetivo, direto e organizado.
  • Erros mais comuns:
    • Fotos inadequadas, fontes decorativas, inclusão de documentos pessoais, e-mail não profissional.
  • Currículo deve ser simples, de fácil leitura e conter informações relevantes.
  • Hoje em dia, softwares (ATS) filtram currículos automaticamente.

[SIS]ANO1CCMB2S11A2 – Desenvolvimento do currículo​

  • Tipos de Currículo:
    • Cronológico (ordem inversa de experiência).
    • Funcional (por habilidades).
    • Acadêmico (para pesquisa e educação).
  • Outros formatos:
    • Portfólios, LinkedIn e currículos online.
  • Dicas importantes:
    • Evitar erros, criar e-mail profissional, focar na clareza e na objetividade.

[SIS]ANO1CCMB2S11A3 – Preenchendo e finalizando o currículo​

  • Campos adicionados:
    • Experiência profissional, experiência extracurricular, formação complementar.
  • Importância do texto de apresentação ao enviar currículo.
  • Palavras-chave:
    • Adaptar o currículo usando palavras específicas das vagas.
  • Atividade prática:
    • Aplicar palavras-chave em currículos simulados.

[SIS]ANO1CCMB2S12A1 – Início da jornada empreendedora​

  • Do Sonho à Realidade:
    • Identificar sonhos, transformá-los em ideias, buscar oportunidades e definir metas e estratégias.
  • Exemplo real:
    • Edu Lyra e o projeto Gerando Falcões.
  • Ferramenta prática:
    • Matriz de priorização de ideias para escolher o problema a ser trabalhado.

[SIS]ANO1CCMB2S12A2 – Empreendedorismo social e os 5 porquês​

  • Empreendedorismo social:
    • Foca em gerar valor social (educação, saúde, meio ambiente).
  • Ferramenta dos 5 porquês:
    • Técnica para encontrar a causa raiz dos problemas.
  • Ligação com os ODS:
    • Relacionar problemas locais com os Objetivos de Desenvolvimento Sustentável da ONU.

[SIS]ANO1CCMB2S12A3 – Jornada Empreendedora: Construção e Desenvolvimento​

  • Etapas da Jornada:
    • Você (autoconhecimento).
    • Modelando (planejamento).
    • Decolando (implementação).
    • Operando (controle e operação).
    • Futuro (sustentabilidade e inovação).
  • Importância do Autoconhecimento:
    • Base para entender problemas e criar soluções.
  • Atividade prática:
    • Criar projetos de empreendedorismo social pensando também em sustentabilidade futura.

✨ Principais Lições Finais:

  • Carreira bem-sucedida exige planejamento, desenvolvimento contínuo de habilidades técnicas e socioemocionais.
  • Currículo é seu cartão de visitas: claro, objetivo, atualizado e adaptado para cada vaga.
  • Empreendedorismo social nasce da identificação de problemas e da criação de soluções sustentáveis.
  • Ferramentas como Metas SMART, 5 Porquês e Matriz SWOT são fundamentais para planejar e executar projetos.
  • Mentalidade de crescimento e resiliência são essenciais para evolução profissional e pessoal.

📚 Jargões e Expressões Técnicas

Jargão / TermoSignificado
AutoconhecimentoCapacidade de entender suas próprias emoções, pontos fortes, fraquezas e motivações. Fundamental para orientar a carreira e as decisões profissionais.
Hard SkillsSão habilidades técnicas comprováveis, como programação, uso de ferramentas, domínio de idiomas, etc.
Soft SkillsSão habilidades socioemocionais, como comunicação, trabalho em equipe, resiliência e liderança.
Power SkillsConjunto de habilidades altamente valorizadas no mercado atual, unindo técnicas e socioemocionais (ex.: pensamento crítico, criatividade, liderança adaptativa).
CompetênciasIntegração de conhecimentos, habilidades e atitudes que são aplicadas em situações de trabalho ou estudo.
Pitch pessoalApresentação rápida (normalmente de 30 segundos a 1 minuto) sobre quem você é, suas habilidades e o que busca profissionalmente.
Linha do tempo pessoalRepresentação gráfica dos principais eventos e conquistas da vida pessoal e profissional.
Matriz SWOT pessoalAnálise dos seus Pontos Fortes, Pontos Fracos, Oportunidades e Ameaças no seu desenvolvimento pessoal e profissional.
Mandala IkigaiFerramenta japonesa que ajuda a encontrar o propósito de vida, combinando o que você ama, sabe fazer, pode ser pago para fazer e o que o mundo precisa.
Pirâmide de MaslowRepresentação das necessidades humanas em níveis: necessidades básicas, segurança, sociais, estima e autorrealização.
BrainstormingTécnica de geração de ideias livremente, sem julgamentos, para explorar soluções ou identificar possibilidades.
Metas SMARTModelo para definir metas específicas, mensuráveis, atribuíveis (com responsáveis), realistas e temporais (com prazo).
Empreendedorismo SocialAto de criar negócios que tenham impacto positivo na sociedade, resolvendo problemas sociais ou ambientais.
Objetivos de Desenvolvimento Sustentável (ODS)Agenda global da ONU com 17 objetivos para erradicar a pobreza, proteger o planeta e garantir prosperidade para todos até 2030.
Técnica dos 5 PorquêsTécnica para descobrir a causa raiz de um problema, perguntando “por quê?” sucessivamente até chegar à origem do problema.
Matriz de PrioridadeFerramenta usada para comparar ideias ou projetos com base no impacto (alto ou baixo) e no custo (alto ou baixo).
Jornada do EmpreendedorConjunto de etapas que o empreendedor percorre: Você → Modelando → Decolando → Operando → Futuro.
Currículo CronológicoModelo de currículo organizado em ordem do trabalho mais recente para o mais antigo.
Currículo FuncionalModelo de currículo que destaca habilidades e competências mais que experiências cronológicas.
Currículo AcadêmicoModelo voltado para área de pesquisa, ensino e extensão, com ênfase em publicações e projetos.
ATS (Applicant Tracking System)Softwares usados pelas empresas para rastrear, ler e filtrar currículos automaticamente antes de serem analisados por um recrutador humano.
Palavras-chaveTermos estratégicos extraídos de descrições de vagas para adaptar currículos e facilitar sua aprovação nos sistemas automáticos.
Livro de CarreiraCaderno pessoal ou digital usado para registrar reflexões, atividades práticas, ideias de carreira e aprendizados.
Canvas PessoalVersão adaptada do Business Model Canvas para planejar sua vida ou carreira, organizando suas competências, paixões e objetivos.
PersonaRepresentação fictícia do público-alvo de um projeto ou produto, baseada em características reais.
NetworkingRede de contatos profissionais construída para apoio, troca de informações e oportunidades de trabalho.

✨ Observações:

Grande parte foca em planejamento, análise e ação estratégica tanto na construção da carreira quanto na criação de projetos sociais.

Muitos jargões envolvem carreira, empreendedorismo social e desenvolvimento pessoal.

[SIS]ANO1CCMB2S13A1 – Mapa de Empatia​

  • Empatia: Compreender sentimentos e perspectivas dos outros.
  • Mapa de Empatia: Ferramenta para entender o público-alvo, respondendo perguntas como: o que vê, sente, fala, faz, ouve e precisa.
  • Objetivo: Conhecer melhor a comunidade para criar projetos mais eficazes.

[SIS]ANO1CCMB2S13A2 – Business Model Canvas​

  • Business Model Canvas (BMC): Modelo visual de negócios dividido em 9 blocos (proposta de valor, segmentos de clientes, canais, relacionamento, fontes de receita, atividades-chave, recursos-chave, parcerias, custos).
  • Aplicação: Primeira parte do preenchimento focada na proposta de valor, público e canais.

[SIS]ANO1CCMB2S13A3 – Canvas de Negócios (continuação)​

  • Continuação do Canvas: Preenchimento dos blocos restantes: relacionamento com cliente, fontes de receita, recursos-chave, atividades-chave, parcerias e estrutura de custos.
  • Importância: Organizar visualmente o projeto antes da execução.

[SIS]ANO1CCMB2S14A1 – Educação Financeira​

  • Educação Financeira: Habilidade de gerenciar dinheiro de forma consciente.
  • Perfis financeiros: Poupador, gastador e desligado.
  • Quatro pilares da educação financeira: Reconhecer, Registrar, Revisar, Realizar.

[SIS]ANO1CCMB2S14A2 – Controle Financeiro e Ferramentas​

  • Controle financeiro: Necessidade de anotar receitas, gastos fixos, variáveis e analisar ao final do mês.
  • Ferramentas sugeridas: Bloco de notas, planilhas de Excel, aplicativos como MoneyWise e Sebrae.

[SIS]ANO1CCMB2S15A1 – Introdução ao Plano de Ação​

  • Plano de Ação: Documento que define as tarefas, responsáveis, prazos e recursos para alcançar metas.
  • Diferença Canvas x Plano de Ação: Canvas modela o negócio, plano de ação operacionaliza as metas.

[SIS]ANO1CCMB2S15A2 – Como montar um Plano de Ação​

  • 5 passos para Plano de Ação:
    • Definir objetivos.
    • Planejar estratégias.
    • Atribuir responsabilidades.
    • Criar cronograma.
    • Monitorar e ajustar.
  • Ferramenta 5W2H: Técnica de organização perguntando o quê, por quê, onde, quem, quando, como e quanto custa.

[SIS]ANO1CCMB2S15A3 – Execução prática do Plano de Ação​

  • Atividade prática: Organizar brainstorming em plano de ação com base na metodologia 5W2H.
  • Importância: Sair do campo das ideias e começar a execução dos projetos de forma organizada.

Principais temas reforçados nesses PDFs:

  • Empatia como chave para projetos sociais eficazes.
  • Planejamento de negócios com Canvas.
  • Educação financeira para estabilidade pessoal e empreendedora.
  • Construção e execução de planos de ação eficientes com ferramentas práticas.

[SIS]ANO1CCMB2S16A1 – Introdução ao LinkedIn​

  • História do LinkedIn: Criado em 2003, hoje tem mais de 1 bilhão de usuários e pertence à Microsoft.
  • Objetivos da plataforma: Conectar profissionais, facilitar networking, acompanhar tendências e buscar empregos.
  • Imagem profissional: Foto de perfil de boa qualidade e imagem de fundo bem escolhida são fundamentais para uma boa presença online.

[SIS]ANO1CCMB2S16A2 – Construção do Perfil no LinkedIn​

  • Cover Story: Pequeno vídeo de até 20 segundos apresentando quem você é profissionalmente.
  • Perfil inicial: Nome completo sem apelidos, foto profissional e título objetivo (exemplo: “Estagiário em Desenvolvimento de Sistemas”).
  • Importância do vídeo: Torna o perfil mais humano e atrativo para recrutadores.

[SIS]ANO1CCMB2S16A3 – Perfil Profissional Atrativo no LinkedIn​

  • Melhorias no perfil: Incluir resumo (sobre), experiências, formações, competências e certificados.
  • URL personalizada: Criar um endereço amigável para o perfil (ex.: linkedin.com/in/seunome).
  • Networking ativo: Participar de grupos, conectar-se com ex-alunos, professores, e recrutar recomendações.
  • Uso de recursos: Criar enquetes, interagir com a rede e sempre manter o perfil atualizado.

Principais temas desses PDFs:

  • Construir presença profissional forte no LinkedIn.
  • Valorizar a imagem pessoal e profissional.
  • Desenvolver networking estratégico para impulsionar oportunidades.
  • Atualizar sempre o perfil e usar recursos como enquetes, recomendações e o selo “Open to Work”.

📚 Novos Jargões e Termos Técnicos

Jargão / TermoSignificado
LinkedInRede social voltada para conexões profissionais, desenvolvimento de carreira e networking.
Cover Story (LinkedIn)Pequeno vídeo (até 20 segundos) que apresenta o profissional de maneira breve no perfil do LinkedIn.
Título Profissional (Headline)Linha abaixo do nome no LinkedIn, descrevendo a profissão ou área de atuação (ex.: “Técnico em Desenvolvimento de Sistemas”).
Open to WorkSelo do LinkedIn que indica que o usuário está disponível para novas oportunidades de trabalho.
URL Personalizada do LinkedInEndereço do perfil ajustado para ficar mais “limpo” e fácil de compartilhar (ex.: linkedin.com/in/maria-silva).
Resumo (About)Seção no perfil do LinkedIn usada para apresentar quem você é profissionalmente em até 3 parágrafos.
Endossos e RecomendaçõesValidações feitas por colegas, chefes ou parceiros sobre suas habilidades e competências no LinkedIn.
Networking EstratégicoConectar-se intencionalmente com profissionais e empresas que podem impulsionar sua carreira.
Enquetes no LinkedInFerramenta que permite criar pesquisas rápidas e interativas para gerar engajamento na rede.
Marca PessoalImagem e percepção pública construída a partir da maneira como você se apresenta, interage e compartilha conteúdo profissional.
Linha do Tempo (Timeline)Área do LinkedIn onde aparecem atualizações, posts e interações suas e da sua rede de contatos.
Salvar Perfil como PDFFuncionalidade que permite baixar seu perfil do LinkedIn como um arquivo PDF, útil para processos de recrutamento ou portfólio.
Postura Profissional OnlineComportamento adequado nas redes sociais profissionais, mantendo ética, respeito e linguagem apropriada.
Pitch Pessoal em VídeoPequeno discurso gravado em vídeo para apresentar rapidamente suas habilidades, objetivos e perfil profissional.

✨ Observações:

  • Estes novos termos estão muito focados no LinkedIn e na construção de imagem profissional online.
  • Estão totalmente alinhados ao tema de planejamento de carreira, marketing pessoal e busca de oportunidades.
treinamentos
Resumão da disciplina Metodologias Ágeis

Aula 1 – [SIS]ANO1C3B1S1A1.pdf

  • Introdução e Conceitos:
    • Definição do levantamento de requisitos e sua importância para o sucesso dos projetos de desenvolvimento de software.
    • Diferenciação entre requisitos funcionais (o que o sistema deve fazer) e não funcionais (como o sistema deve se comportar).
  • Atividade Prática:
    • Exemplo com cenário de um aplicativo para agendamento de consultas, enfatizando a coleta e análise dos requisitos.

Aula 2 – [SIS]ANO1C3B1S1A2.pdf

  • Técnicas e Ferramentas:
    • Abordagens e métodos para coletar requisitos, com ênfase em técnicas como entrevistas, workshops e brainstorming.
    • Comparação entre metodologias ágeis e tradicionais na coleta de requisitos.
  • Estudo de Caso:
    • Exemplo prático utilizando um software de e-commerce, detalhando os requisitos funcionais e não funcionais.
  • Atividades e Quizzes:
    • Exercícios e questionários para fixação dos conceitos apresentados.

Aula 3 – [SIS]ANO1C3B1S1A3.pdf

  • Desafios e Gestão de Mudanças:
    • Identificação dos principais desafios do levantamento de requisitos, como a comunicação com stakeholders e a gestão de alterações no escopo.
    • Estratégias para lidar com mudanças inesperadas nos requisitos, incluindo análise de riscos e impacto.
  • Exercícios Práticos:
    • Atividades que simulam situações reais de mudanças de requisitos, com foco na adaptação e na negociação entre as partes envolvidas.

II. Testes de Software

(Arquivos: S7A3, S7A1, S7A2, S2A3, S2A1, S2A2)

A. Testes Funcionais: Conceitos e Metodologias

Aula 1 – [SIS]ANO1C3B1S7A1.pdf

  • Fundamentos dos Testes Funcionais:
    • Importância de testar se o software atende aos requisitos funcionais definidos.
    • Etapas do processo de teste: planejamento, preparação do ambiente, levantamento de requisitos, design dos casos de teste, execução e registro de defeitos, além da elaboração do relatório de teste.
  • Desenvolvimento de Casos de Teste:
    • Criação de cenários que cobrem as funcionalidades essenciais do software.

Aula 2 – [SIS]ANO1C3B1S7A2.pdf

  • Metodologias de Teste:
    • Comparação entre abordagens tradicionais (modelo cascata) e ágeis (iterativas e incrementais).
    • Integração dos testes funcionais no ciclo das sprints e a importância da automação para testes repetitivos.
  • Atividade Prática:
    • Criação de fluxogramas que ilustrem o processo de teste funcional e discussão sobre estratégias de execução.

Aula 3 – [SIS]ANO1C3B1S7A3.pdf

  • Melhores Práticas e Estratégias:
    • Planejamento, execução e gerenciamento dos testes funcionais.
    • Uso de ferramentas e tecnologias para automatização e organização dos testes.
    • Avaliação de riscos e priorização dos testes com base no impacto dos defeitos.

B. Introdução aos Testes de Software e Tipos de Testes

Aula 1 – [SIS]ANO1C3B1S2A1.pdf

  • Conceitos Básicos:
    • Introdução aos testes de software, destacando a importância dos processos de verificação e validação.
    • Objetivos dos testes: garantir qualidade, identificar defeitos e prevenir problemas na operação.
  • Exercício Prático:
    • Desenvolvimento de um plano de teste simples para uma aplicação de to-do list.

Aula 2 – [SIS]ANO1C3B1S2A2.pdf

  • Diversidade e Tipos de Testes:
    • Diferenciação entre testes funcionais e não funcionais (desempenho, usabilidade, segurança, etc.).
    • Comparação entre testes manuais e automatizados, com exemplos de ferramentas como Selenium, JUnit, JMeter, entre outras.
    • Abordagem dos testes de regressão, que garantem que novas alterações não comprometam funcionalidades já existentes.

Aula 3 – [SIS]ANO1C3B1S2A3.pdf

  • Gerenciamento de Testes:
    • Estratégias para o desenvolvimento de um plano de testes abrangente, alinhando os objetivos de negócio às atividades de teste.
    • Organização e priorização dos casos de teste com base na criticidade das funcionalidades e impacto no negócio.
    • Uso de métricas para rastrear a eficácia dos testes (taxa de cobertura, tempo médio para correção, entre outros).
  • Atividade Prática:
    • Elaboração de fluxogramas e relatórios que demonstram o processo de teste em cenários práticos (exemplo: máquina de cartão de crédito).

III. Modelagem de Dados e Conceitos Fundamentais

(Arquivos: [SIS]ANO1C3B1S3A1.pdf, [SIS]ANO1C3B1S3A2.pdf, [SIS]ANO1C3B1S3A3.pdf)

  • Conceito e Importância:
    • A modelagem de dados é essencial para estruturar, organizar e armazenar informações de forma eficiente.
    • Facilita a comunicação entre analistas, desenvolvedores e usuários, garantindo integridade e qualidade dos dados.
  • Abordagens e Tipos de Modelos:
    • Modelagem Conceitual: Criação de diagramas (por exemplo, ER) para representar entidades, relacionamentos e regras de negócio sem entrar em detalhes técnicos.
    • Modelagem Lógica: Detalha a estrutura dos dados com definição de tabelas, colunas, tipos de dados e restrições, independente da implementação física.
    • Modelagem Física: Implementa o modelo lógico em um sistema de banco de dados, otimizando o desempenho com técnicas como particionamento e índices.
    • Normalização: Processo de organizar dados para reduzir redundâncias e melhorar a integridade.
  • Arquitetura de Dados e Tendências:
    • Discussão sobre diferentes abordagens de arquitetura, como data warehouses, data lakes e arquiteturas orientadas a serviços.
    • Consideração sobre tendências futuras, como o uso de Big Data, IoT, blockchain e a importância da segurança e conformidade (LGPD).
  • Atividade Prática:
    • Exercício de criação de um esquema de banco de dados para uma livraria on-line, envolvendo identificação de entidades (livro, autor, pedido, cliente), definição de atributos e relacionamento entre elas.

IV. UML – Introdução e Visão Geral dos Diagramas

(Arquivos: [SIS]ANO1C3B1S4A1.pdf, [SIS]ANO1C3B1S4A2.pdf, [SIS]ANO1C3B1S4A3.pdf)

  • Conceito e Origem:
    • A UML (Unified Modeling Language) é uma linguagem padrão para visualização, especificação, construção e documentação de sistemas de software.
    • Surgiu a partir da unificação de métodos de modelagem orientada a objetos (Booch, OMT, OOSE) nos anos 1990.
  • Componentes e Elementos Básicos:
    • Classes, Objetos e Relacionamentos: Base para a modelagem de sistemas, permitindo representar entidades e suas interações.
    • Diagramas:
      • Casos de Uso: Representam as funcionalidades do sistema a partir da perspectiva dos usuários.
      • Diagramas de Classe: Mostram a estrutura estática do sistema, com atributos e métodos.
      • Diagramas de Sequência e Colaboração: Detalham a interação entre objetos ao longo do tempo.
      • Diagramas de Atividade e de Estado: Representam fluxos de trabalho, processos e os diferentes estados de um objeto durante seu ciclo de vida.
  • Aplicação Prática:
    • Uso de UML para documentar e comunicar requisitos de software de forma rápida, inclusive em ambientes ágeis.
    • Atividades práticas incluíram a elaboração de diagramas para processos como “resgate de senha” e a criação de apresentações para explicar a UML a colegas.

V. Programação Orientada a Objetos (POO) e Seus Pilares

(Arquivos: [SIS]ANO1C3B1S5A1.pdf, [SIS]ANO1C3B1S5A2.pdf, [SIS]ANO1C3B1S5A3.pdf)

  • Fundamentos da POO:
    • Paradigma que utiliza “objetos” – entidades que combinam dados (atributos) e comportamentos (métodos) – para modelar problemas do mundo real.
    • Permite a criação de sistemas modulares, reutilizáveis e de fácil manutenção.
  • Quatro Pilares da POO:
    • Encapsulamento: Protege os dados internos dos objetos, permitindo acesso somente por meio de métodos definidos.
    • Abstração: Simplifica a complexidade, focando nos aspectos essenciais e ignorando detalhes irrelevantes.
    • Herança: Permite que classes derivadas herdem atributos e comportamentos de classes base, promovendo a reutilização de código.
    • Polimorfismo: Habilidade de diferentes classes responderem de maneira própria a métodos com a mesma assinatura, facilitando o tratamento uniforme de objetos.
  • Conceitos Complementares:
    • Classes e Objetos: As classes servem como moldes (receitas) para a criação de objetos concretos.
    • Métodos: Funções internas às classes que definem o comportamento dos objetos.
    • Padrões de Projeto e Princípios SOLID: Orientam o design de software para garantir sistemas flexíveis e manuteníveis, exemplificados por padrões criacionais, estruturais e comportamentais.
  • Atividades Práticas:
    • Exercícios de definição e criação de classes com atributos e métodos (exemplo: classe “Cachorro” e objeto “Bidu”).
    • Divisão de um contexto (como um sistema de gerenciamento de pedidos) em classes, estabelecendo relacionamentos e métodos apropriados, com elaboração de resposta em formato de e-mail.

VI. Técnicas de Elicitação de Requisitos

(Base: [SIS]ANO1C3B1S6A1.pdf ​, [SIS]ANO1C3B1S6A2.pdf ​, [SIS]ANO1C3B1S6A3.pdf ​)

  • Aula 1 – Fundamentos da Elicitação:
    • Definição e importância da elicitação de requisitos para o sucesso dos projetos.
    • Diferença entre requisitos de usuário, sistema e funcionais.
    • Técnicas básicas como entrevistas, questionários, workshops e observação para coletar informações.
    • Enfoque na validação e negociação dos requisitos para assegurar que reflitam as reais necessidades dos stakeholders.
  • Aula 2 – Estratégias Avançadas:
    • Uso de modelagem e prototipagem para visualizar e testar funcionalidades antes da implementação.
    • Análise de stakeholders para identificar e envolver todas as partes impactadas.
    • Aplicação de técnicas de elicitação em metodologias ágeis, com ciclos iterativos, uso de User Stories, backlog grooming e feedback contínuo.
    • Atividade prática: criação de um questionário, diagrama de fluxo e esboço de agenda para um evento, consolidando as informações necessárias.
  • Aula 3 – Comunicação, Colaboração e Gestão de Conflitos:
    • Importância das habilidades de comunicação (escuta ativa, feedback construtivo, clareza e uso de ferramentas visuais) durante a elicitação.
    • Condução de workshops para reunir stakeholders e definir requisitos de forma colaborativa.
    • Técnicas para identificar e resolver conflitos que podem surgir durante a coleta dos requisitos.
    • Atividade prática: simulação de resposta a um e-mail de conflito, propondo um plano de ação para alinhar as expectativas da equipe.

VII. Modelagem de Dados Relacional

(Base: [SIS]ANO1C3B1S8A1.pdf ​, [SIS]ANO1C3B1S8A2.pdf ​, [SIS]ANO1C3B1S8A3.pdf ​)

  • Aula 1 – Fundamentos da Modelagem Relacional:
    • Introdução à modelagem relacional, definindo conceitos básicos como entidades, atributos, chaves primárias e estrangeiras.
    • Explicação do processo de normalização, visando minimizar a redundância e garantir a integridade dos dados.
    • Exemplos práticos (como a modelagem de um banco de dados escolar com entidades “Estudante” e “Curso”).
  • Aula 2 – Técnicas de Relacionamento e Integridade:
    • Detalhamento dos tipos de relacionamentos: um-para-um, um-para-muitos e muitos-para-muitos.
    • Abordagem sobre como modelar associações e a importância da integridade referencial, garantindo que as chaves estrangeiras referenciem registros válidos.
    • Atividade prática: elaboração de um modelo para um novo recurso (exemplo: integração de “Evento de Curso” com a entidade “Alunos”) com a definição dos relacionamentos e, quando necessário, a criação de tabelas de associação.
  • Aula 3 – Técnicas Avançadas e Tendências:
    • Discussão sobre estratégias avançadas, como a desnormalização, quando e como aplicá-la para melhorar o desempenho das consultas.
    • Utilização de índices para otimizar a performance e considerações para adaptação da modelagem relacional em contextos de Big Data.
    • Atividade prática: planejamento de uma estratégia de desnormalização para um cenário onde o desempenho das consultas está comprometido, com discussão dos impactos e vantagens da técnica.

Esses novos tópicos ampliam os conhecimentos anteriores, reforçando tanto a importância de técnicas eficazes para a coleta de requisitos (desde os fundamentos até estratégias avançadas e resolução de conflitos) quanto os princípios e técnicas avançadas para modelar dados de forma relacional, garantindo a integridade e o desempenho dos bancos de dados. Conforme forem enviados novos materiais, podemos continuar atualizando e complementando este resumão.

en_USEnglish