Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

UNIP – Alphaville
Engenharia de Software
Apresentação
 Engenharia de Software - Tópicos
12/02/2025
Instituto de Ciência e Tecnologia - ICET
2
Módulo 01: Introdução
Introdução: Definição / Crise do Software / Modelos, Processo e Produto / Coesão e Acoplamento;
Engenharia de Requisitos: Conceitos / Importância / Processo / Ergonomia Cognitiva;
 
Módulo 02: Design
JAD: Joint Application Design: Conceito / Princípios e Práticas;
RUP: Processo Unificado: Definições / Processo / Atividades / Iterativo e Incremental;
Métricas de Software: APF – Análise de Ponto de Função: Conceitos e Aplicação;
UCP: Pontos por Caso de Uso: Conceitos e Aplicação;
 
Módulo 03: Desenvolvimento
Testes de Software: Caixas Branca e Preta / Unitário / Integração / Aceitação e Regressão;
Componentização: Engenharia de Software Baseada em Componentes – Reusabilidade;
Reengenharia de Software: Manutenção e Evolução;
 Engenharia de Software - Tópicos
12/02/2025
Instituto de Ciência e Tecnologia - ICET
3
Módulo 04: Gestão 
• Gestão de Projetos de Software: PMBOK: Conceitos / Demandas Concorrentes / Processo e Gerências;
• XP: Introdução / Motivação / Manifesto Ágil / Valores e Práticas;
• Gestão de Riscos: Definições / Processo / Framework;
Módulo 05: Governança I
• ISO/IEC 12.207: Conceitos / ISO/IEC 12.207 / Contexto Brasileiro
• Normas e Modelos de Qualidade – SPICE: ISO 15.504 – Modelo SPICE – Objetivos e Processo;
• ISO 9000: Definições / Finalidade e Processo;
Módulo 06: Governança II
• CMMI: Definições / Processo / Níveis Capacidade e Maturidade / Agrupamentos;
• Qualidade do Produto de Software: ISO 9126 / ISO 14.598 e Evolução para SQuaRE;
Módulo 07: Futuro
• Interface Homem Computador - IHC: Definições / Importância / Aplicação / Indicadores / ERGOLIST;
• A evolução das interfaces face à IA generativa: quais os caminhos e impactos na UX/UI.
• Estrada Adiante: Contexto e objetivos futuros.
Calendário
12/02/2025
Instituto de Ciência e Tecnologia - ICET
4
	Data	Turma	Tema
	12/02/2025	CC6P/CC7P/CC7Q	Apresentação do curso
	19/02/2025	CC6P/CC7P/CC7Q	Modulo 1
	26/02/2025	CC6P/CC7P/CC7Q	Modulo 2
	05/03/2025	CC6P/CC7P/CC7Q	carnaval
	12/03/2025	CC6P/CC7P/CC7Q	Modulo 3
	19/03/2025	CC6P/CC7P/CC7Q	Modulo 4
	26/03/2025	CC6P/CC7P/CC7Q	NP1
	02/04/2025	CC6P/CC7P/CC7Q	NP1
	09/04/2025	CC6P/CC7P/CC7Q	revisão de prova
	16/04/2025	CC6P/CC7P/CC7Q	exercício
	23/04/2025	CC6P/CC7P/CC7Q	modulo 5
	30/04/2025	CC6P/CC7P/CC7Q	modulo 6
	07/05/2025	CC6P/CC7P/CC7Q	modulo 7
	14/05/2025	CC6P/CC7P/CC7Q	NP2
	21/05/2025	CC6P/CC7P/CC7Q	NP2
	28/05/2025	CC6P/CC7P/CC7Q	SUBS
Calendário
12/02/2025
Instituto de Ciência e Tecnologia - ICET
5
	Data	Turma	Tema
	07/02/2025	SI6P/SI7P	Apresentação inicial
	14/02/2025	SI6P/SI7P	Apresentação do curso
	21/02/2025	SI6P/SI7P	Modulo 1
	28/02/2025	SI6P/SI7P	Modulo 2
	07/03/2025	SI6P/SI7P	Exercício
	14/03/2025	SI6P/SI7P	Modulo 3
	21/03/2025	SI6P/SI7P	Modulo 4
	28/03/2025	SI6P/SI7P	NP1
	04/04/2025	SI6P/SI7P	NP1
	11/04/2025	SI6P/SI7P	Revisão de prova
	18/04/2025	SI6P/SI7P	Paixão de cristo
	25/04/2025	SI6P/SI7P	modulo 5
	02/05/2025	SI6P/SI7P	módulo 6
	09/05/2025	SI6P/SI7P	modulo 7
	16/05/2025	SI6P/SI7P	NP2
	23/05/2025	SI6P/SI7P	NP2
	30/05/2025	SI6P/SI7P	SUBS
Módulo 01: Introdução
12/02/2025
Instituto de Ciência e Tecnologia - ICET
6
1.1 Definição / Crise do Software / Modelos, Processo e Produto / Coesão e Acoplamento
Sommerville: Capítulo 1 (Introdução à Engenharia de Software)
Pressman: Capítulo 1 e 2 (O Paradigma da Engenharia de Software e Modelos de Processo)
SWEBOK: Capítulo 3 (Processos de Software)
Resumo e Exemplos: A crise do software refere-se aos desafios históricos do desenvolvimento de software, como atrasos, estouro de orçamento e baixa qualidade. Sommerville e Pressman abordam os modelos de desenvolvimento (Cascata, Incremental, Espiral etc.), enquanto o SWEBOK apresenta um panorama sobre processos de software. Exemplo: O desenvolvimento de um sistema bancário pode se beneficiar do modelo incremental, priorizando módulos essenciais (ex: contas e transações) antes de funcionalidades secundárias.
Módulo 01: Introdução
12/02/2025
Instituto de Ciência e Tecnologia - ICET
7
1.2 Engenharia de Requisitos
Sommerville: Capítulo 4 e 5 (Engenharia de Requisitos)
Pressman: Capítulo 7 (Engenharia de Requisitos)
SWEBOK: Capítulo 2 (Engenharia de Requisitos)
Resumo e Exemplos: Engenharia de requisitos trata da elicitação, documentação e validação de requisitos. Sommerville e Pressman enfatizam a importância da clareza na definição de requisitos. 
Exemplo: Para um sistema de e-commerce, um requisito funcional pode ser "O usuário pode adicionar produtos ao carrinho", enquanto um não funcional pode ser "O tempo de resposta deve ser menor que 2 segundos".
Engenharia no sentido amplo
12/02/2025
Instituto de Ciência e Tecnologia - ICET
8
Historicamente, a engenharia como prática organizada e sistemática de solução de problemas técnicos e construção de ferramentas, estruturas e sistemas, encontrou oposição ou contraposição em diferentes aspectos e momentos da história. Abaixo estão algumas dessas forças ou ideias que se contrapõem à engenharia:
Natureza e Tradições Ancestrais
A engenharia, frequentemente associada à transformação da natureza, muitas vezes se contrapôs a visões que valorizam a preservação e o respeito pelo meio ambiente.
Tradições ancestrais ou comunidades indígenas que viviam em harmonia com o ambiente natural, sem a necessidade de intervenção técnica massiva, podem ser vistas como contraponto ao desenvolvimento de infraestruturas.
Engenharia e contrapontos
12/02/2025
Instituto de Ciência e Tecnologia - ICET
9
2. Filosofia e Teoria (vs. Prática)
Desde a Antiguidade, houve um certo tensionamento entre a prática técnica (engenharia) e a especulação filosófica. Aristóteles, por exemplo, separava o mundo da prática (técnica) do mundo da teoria (episteme), sendo esta última considerada superior.
No Renascimento, houve um resgate da harmonia entre teoria e prática, mas a separação permaneceu em algumas escolas de pensamento.
3. Artesanato e Experiência Prática
Antes do surgimento da engenharia moderna, o artesanato era o principal meio de produção e construção. Os artesãos, baseando-se em habilidades práticas e experiência acumulada, muitas vezes viam a engenharia com desconfiança, por depender de conhecimentos teóricos ou matemáticos distantes do trabalho manual.
12/02/2025
Instituto de Ciência e Tecnologia - ICET
10
4. Romantismo e o Rejeito à Industrialização
Durante o período do Romantismo (século XVIII e XIX), houve uma rejeição à engenharia e à revolução industrial por intelectuais, artistas e filósofos que acreditavam que a mecanização e a industrialização desumanizavam o trabalho e destruíam o mundo natural.
Escritores como William Blake e Henry David Thoreau criticaram o impacto da engenharia industrial na sociedade e na natureza.
trabalho manual.
5. Ideologias Antitécnicas
Algumas correntes filosóficas e ideológicas, como o ludismo no início da Revolução Industrial, se opuseram diretamente às tecnologias desenvolvidas por engenheiros, por considerá-las prejudiciais à vida dos trabalhadores.
Ideias contemporâneas como o decrescimento econômico ou a crítica ao tecnocentrismo defendem uma redução da dependência tecnológica, em oposição à visão otimista da engenharia como solução para todos os problemas.
Engenharia e contrapontos
12/02/2025
Instituto de Ciência e Tecnologia - ICET
11
6. Espiritualidade e Misticismo
Em várias tradições espirituais, o foco na transformação material do mundo através da engenharia pode ser visto como uma distração do crescimento espiritual ou um desrespeito à ordem divina.
Durante a Idade Média, por exemplo, algumas inovações foram vistas como desafios ao poder divino.
7. Ética e Sustentabilidade
Na contemporaneidade, a crítica à engenharia frequentemente gira em torno de questões éticas, como o impacto ambiental, as desigualdades sociais e o uso de tecnologias para fins destrutivos (e.g., armamentos nucleares).
A engenharia modernaenfrenta contraposições relacionadas à ética tecnológica, como a inteligência artificial, biotecnologia e exploração de recursos naturais.
8. Desconfiança Popular
O público geral, em certos momentos históricos, expressou desconfiança em relação aos engenheiros, especialmente quando seus projetos levaram a desastres ou promessas não cumpridas (como a crítica ao modernismo excessivo do século XX).
Esses contrapontos não apenas desafiaram a engenharia, mas muitas vezes ajudaram a moldá-la, influenciando sua evolução para incluir considerações sociais, éticas e ambientais.
Engenharia e contrapontos
A História da Crise do Software
12/02/2025
Instituto de Ciência e Tecnologia - ICET
12
Origens e Impactos: A Crise do Software começou a ser percebida no final da década de 1960, quando a complexidade dos sistemas cresceu exponencialmente, tornando os métodos tradicionais de desenvolvimento insuficientes. O termo foi cunhado durante a Conferência da OTAN sobre Desenvolvimento de Software, realizada em 1968, onde especialistas discutiram problemas como:
Atrasos constantes: Projetos levavam mais tempo do que o previsto.
Estouro de orçamento: Custos eram muito superiores às estimativas iniciais.
Baixa qualidade do software: Erros e falhas se tornaram comuns.
Dificuldade de manutenção: Softwares eram difíceis de adaptar ou escalar.
A principal razão para esses problemas era a falta de uma abordagem estruturada para o desenvolvimento de software. Durante os anos 70 e 80, várias metodologias foram propostas, incluindo a Engenharia de Software como disciplina, modelos como Cascata (Waterfall) e abordagens iterativas.
O CHAOS REPORT: O Diagnóstico da Indústria
12/02/2025
Instituto de Ciência e Tecnologia - ICET
13
Nos anos 90, a Standish Group lançou o CHAOS Report, um estudo que mede o sucesso e o fracasso de projetos de software, tornando-se um dos principais indicadores da evolução (ou persistência) da crise.
Publicado pela primeira vez em 1994 o relatório trouxe uma visão alarmante sobre o estado dos projetos de software:
Apenas 16% dos projetos foram concluídos dentro do prazo e orçamento.
31% dos projetos foram cancelados antes da entrega.
53% ultrapassaram orçamento ou prazos, sofrendo mudanças drásticas no escopo.
Esses dados mostraram que, apesar dos avanços tecnológicos, os problemas da Crise do Software persistiam. A publicação do relatório impulsionou melhorias na gestão de projetos, a adoção de métodos ágeis e o fortalecimento da disciplina de Engenharia de Software.
O CHAOS REPORT: O Diagnóstico da Indústria
12/02/2025
Instituto de Ciência e Tecnologia - ICET
14
Métricas Mais Recentes sobre Sucesso/Fracasso de Projetos de Software
As últimas edições do CHAOS Report e outros estudos trazem novos insights sobre o sucesso e o fracasso dos projetos de software. Algumas métricas atualizadas:
CHAOS Report 2020 (última versão pública disponível)
31% dos projetos são bem-sucedidos (entregues no prazo, dentro do orçamento e com as funcionalidades esperadas).
50% dos projetos são desafiadores (com estouro de prazo, orçamento ou mudanças de escopo).
19% dos projetos falham completamente.
Indicadores Adicionais
Metodologias Ágeis melhoram as taxas de sucesso: Projetos que usam Scrum, Kanban ou XP têm 60% mais chances de sucesso do que os que seguem modelos tradicionais como o Cascata.
Projetos menores têm maior chance de sucesso: Equipes menores (5 a 9 pessoas) apresentam taxas de sucesso quase 2 vezes superiores às de grandes projetos com equipes acima de 20 membros.
A adoção de DevOps reduz falhas: Organizações que aplicam CI/CD (Integração e Entrega Contínuas) relatam menos retrabalho e maior previsibilidade.
O CHAOS REPORT: O Diagnóstico da Indústria
12/02/2025
Instituto de Ciência e Tecnologia - ICET
15
Fatores de Sucesso e Fracasso
O Standish Group também identificou os principais fatores que afetam o sucesso dos projetos de software:
✅ Fatores que aumentam a chance de sucesso:
Envolvimento do usuário final.
Apoio executivo ao projeto.
Requisitos claros e bem definidos.
Metodologias ágeis e iterativas.
Pequenos ciclos de entrega com feedback contínuo.
❌ Fatores que levam ao fracasso:
Escopo mal definido ou mudando constantemente.
Falta de envolvimento da liderança e usuários finais.
Tecnologia inadequada ou ultrapassada.
Processos burocráticos e inflexíveis.
Equipes grandes sem coordenação eficiente.
Engenharia de Software no Contexto da Crise do Software
12/02/2025
Instituto de Ciência e Tecnologia - ICET
16
Engenharia de Software surgiu como uma resposta à Crise do Software, que expôs os desafios do desenvolvimento de sistemas complexos na década de 1960. O termo foi consolidado para enfatizar que o desenvolvimento de software deveria seguir princípios sistemáticos, controláveis e mensuráveis, assim como ocorre na engenharia tradicional.No contexto das falhas identificadas pelo CHAOS Report, a Engenharia de Software tem como objetivo principal minimizar riscos e aumentar a previsibilidade e a qualidade do desenvolvimento de software. 
Isso é feito por meio de processos estruturados, melhores práticas e métodos de medição e controle.
Engenharia de Software
12/02/2025
Instituto de Ciência e Tecnologia - ICET
17
O que é Engenharia de Software?
A Engenharia de Software surgiu para responder aos desafios do desenvolvimento de software em larga escala. A definição clássica segundo a IEEE (Instituto de Engenheiros Elétricos e Eletrônicos) é:
“A aplicação de uma abordagem sistemática, disciplinada e mensurável para o desenvolvimento, operação e manutenção de software.”
Segundo Sommerville (2020):
“A engenharia de software é uma disciplina de engenharia que se preocupa com todos os aspectos da produção de software, desde as fases iniciais da especificação do sistema até a manutenção após a entrada em operação.”
Engenharia de Software
12/02/2025
Instituto de Ciência e Tecnologia - ICET
18
Modelos, Processo e Produto
A Engenharia de Software estruturou-se em torno de três conceitos-chave:
Modelos de Desenvolvimento: Formas de organizar a criação de software (exemplo: Cascata, Ágil, Incremental, Espiral).
Processo de Software: Conjunto de atividades organizadas para desenvolver software.
Produto de Software: O software final entregue ao usuário.Conforme Sommerville (2020):"Os processos de software são conjuntos estruturados de atividades necessárias para especificar, projetar, implementar e testar sistemas de software.“
Exemplo prático: O desenvolvimento de um sistema bancário pode seguir um modelo incremental, priorizando primeiro funcionalidades essenciais, como cadastro de clientes e transações bancárias.
Engenharia de Software: requisitos
12/02/2025
Instituto de Ciência e Tecnologia - ICET
19
Engenharia de Requisitos
Definição e Importância:
A Engenharia de Requisitos trata da identificação, documentação e validação das necessidades do sistema. Segundo Sommerville (2020):
	"A Engenharia de Requisitos é o processo de descobrir, documentar e manter os 	requisitos do software de um sistema.“
Pressman (2021) complementa:
	"Requisitos de software são a base para qualquer desenvolvimento bem-sucedido, pois 	definem o que o sistema deve fazer antes da implementação."
Engenharia de Software: Tipos de Requisitos
12/02/2025
Instituto de Ciência e Tecnologia - ICET
20
Existem dois principais tipos de requisitos:
	Requisitos Funcionais: Descrevem o que o sistema deve fazer.
	Exemplo: "O sistema deve permitir que o usuário faça login com nome e senha.“
	Requisitos Não Funcionais: Restrições e características do sistema.
	Exemplo: "O sistema deve responder a solicitações em menos de 2 segundos.
O Processo de Engenharia de Requisitos envolve quatro etapas:
1 Elicitação: Identificação das necessidades do usuário.
2 Documentação: Registro formal dos requisitos.
3 Validação: Verificação da consistência dos requisitos.
4 Gerenciamento: Controle de mudanças ao longo do desenvolvimento. 
Exemplo prático: No desenvolvimento de um sistema de e-commerce, osrequisitos podem ser obtidos por entrevistas com clientes e análise de sistemas concorrentes.
Engenharia de Software: Exercícios
12/02/2025
Instituto de Ciência e Tecnologia - ICET
21
Exercícios e Discussão em Aula
✅ Exercício 1 – Debate: A crise do software ainda existe? Justifique sua resposta com exemplos modernos.
✅ Exercício 2 – Análise de caso: Identifique e categorize requisitos funcionais e não funcionais para um aplicativo de transporte como Uber ou 99.
Engenharia de Software: Exercícios
12/02/2025
Instituto de Ciência e Tecnologia - ICET
22
Resposta do Exercício 2 – Análise de Caso
📌 Sistema analisado: Aplicativo de transporte (Uber, 99 etc.)
1 Identificação e Classificação dos Requisitos
Requisitos Funcionais (RF)
RF01: O usuário deve poder se cadastrar no aplicativo usando e-mail, telefone ou redes sociais.
RF02: O passageiro deve poder solicitar uma corrida informando o ponto de partida e destino.
RF03: O motorista deve receber notificações de corridas disponíveis próximas à sua localização.
RF04: O aplicativo deve permitir pagamento via cartão de crédito, débito ou carteira digital.
RF05: O passageiro pode avaliar o motorista após a corrida.
Requisitos Não Funcionais (RNF)
RNF01: O tempo médio de resposta do aplicativo deve ser inferior a 2 segundos.
RNF02: O sistema deve suportar picos de 500 mil usuários simultâneos.
RNF03: A taxa de uptime do servidor deve ser de 99,9% ao longo do ano.
RNF04: Os dados de pagamento devem ser criptografados com AES-256.
Engenharia de Software: Exercícios
12/02/2025
Instituto de Ciência e Tecnologia - ICET
23
📌 Formato Cascata
No modelo cascata, os requisitos são totalmente documentados antes do início do desenvolvimento e seguem uma sequência rígida de fases. Exemplo de documentação:
Documento de Requisitos – Aplicativo de Transporte
📅 Versão: 1.0
📄 Data: 07/02/2025
👥 Equipe responsável: Time de Produto e Engenharia
📌 Requisito RF02: Solicitação de Corrida
Descrição: O usuário poderá solicitar uma corrida informando a localização de origem e destino.
✅ Pré-condições:
O usuário deve estar cadastrado e logado no sistema.
O GPS do dispositivo deve estar ativado.
🔄 Fluxo principal:
O usuário insere o ponto de partida e o destino.
O sistema calcula a estimativa de preço e tempo de chegada do motorista.
O usuário confirma a solicitação.
O sistema aloca o motorista mais próximo.
O motorista aceita a corrida e se desloca até o passageiro.
🚨 Fluxo alternativo:
Se nenhum motorista estiver disponível, o sistema exibe uma mensagem de espera ou alternativa de transporte.
Engenharia de Software: Exercícios
12/02/2025
Instituto de Ciência e Tecnologia - ICET
24
	Critério	Cascata	Ágil
	Documentação	Extensa e detalhada antes do desenvolvimento	Leve e evolutiva
	Flexibilidade	Rígido, mudanças são difíceis	Adaptável a mudanças constantes
	Entrega de Valor	Apenas ao final do projeto	Entregas incrementais
	Testes e Validação	Fase final, pode levar a retrabalho	Testes contínuos e feedback frequente
	Exemplo de Requisito	Documento formal com fluxos e pré-condições	User stories e critérios de aceitação
Engenharia de Software: Exercícios
12/02/2025
Instituto de Ciência e Tecnologia - ICET
25
Conclusão
No modelo cascata, os requisitos são documentados detalhadamente antes do desenvolvimento, garantindo clareza, mas dificultando mudanças.
No modelo ágil, os requisitos são mais flexíveis e ajustáveis durante o desenvolvimento, permitindo respostas rápidas a novas demandas.
✅ Para projetos como sistemas críticos (banco, saúde), o modelo cascata pode ser mais seguro.
✅ Para startups e produtos digitais, o modelo ágil oferece mais rapidez e adaptação ao mercado.
📌 Pergunta para Reflexão: Você acredita que um aplicativo como Uber ou 99 deveria ser desenvolvido inteiramente de forma ágil ou deveria ter algumas partes feitas no modelo cascata? Por quê?
image1.png

Mais conteúdos dessa disciplina