Podcast
Questions and Answers
Qual das alternativas abaixo melhor define o conceito de Engenharia de Software?
Qual das alternativas abaixo melhor define o conceito de Engenharia de Software?
- Atividade que não deve ser confundida com a escrita de programas, seguindo preceitos específicos. (correct)
- Desenvolvimento de qualquer tipo de software, sem a necessidade de seguir metodologias.
- Ato de escrever programas para computadores.
- A criação de jogos para consoles e dispositivos móveis.
Desenvolver software é o mesmo que escrever programas para computador.
Desenvolver software é o mesmo que escrever programas para computador.
False (B)
Em um projeto de software, o que pode acontecer se o entendimento inicial dos requisitos for ruim?
Em um projeto de software, o que pode acontecer se o entendimento inicial dos requisitos for ruim?
Causar fracassos no desenvolvimento do software.
A ______ de software é uma disciplina da engenharia que se preocupa com todos os aspectos da produção de software.
A ______ de software é uma disciplina da engenharia que se preocupa com todos os aspectos da produção de software.
Associe os seguintes conceitos de Engenharia de Software (ES) com suas respectivas descrições:
Associe os seguintes conceitos de Engenharia de Software (ES) com suas respectivas descrições:
Qual a principal diferença entre Engenharia de Software (ES) e Ciência da Computação?
Qual a principal diferença entre Engenharia de Software (ES) e Ciência da Computação?
A Engenharia de Sistemas preocupa-se apenas com o desenvolvimento de software, excluindo hardware e processos.
A Engenharia de Sistemas preocupa-se apenas com o desenvolvimento de software, excluindo hardware e processos.
Cite um dos principais desafios da Engenharia de Software (ES) na atualidade.
Cite um dos principais desafios da Engenharia de Software (ES) na atualidade.
Um dos problemas comuns em projetos de software é a não ______ as necessidades do usuário.
Um dos problemas comuns em projetos de software é a não ______ as necessidades do usuário.
Associe os seguintes problemas comuns em projetos de software com suas possíveis causas:
Associe os seguintes problemas comuns em projetos de software com suas possíveis causas:
De acordo com o conceito de 'Crise do Software', qual das alternativas descreve um sintoma comum?
De acordo com o conceito de 'Crise do Software', qual das alternativas descreve um sintoma comum?
Existe uma 'bala de prata', ou seja, uma única abordagem que pode prevenir todos os casos de falha em projetos de software.
Existe uma 'bala de prata', ou seja, uma única abordagem que pode prevenir todos os casos de falha em projetos de software.
Qual a porcentagem aproximada de projetos de software que são cancelados, segundo os dados apresentados?
Qual a porcentagem aproximada de projetos de software que são cancelados, segundo os dados apresentados?
Na 'Crise do Software', a manutenção e ______ de software são frequentemente difíceis e custosas.
Na 'Crise do Software', a manutenção e ______ de software são frequentemente difíceis e custosas.
Associe os seguintes 'Mitos do Administrador' com suas respectivas 'Realidades':
Associe os seguintes 'Mitos do Administrador' com suas respectivas 'Realidades':
Segundo os 'Mitos do Cliente', qual é um equívoco comum sobre os requisitos de um projeto?
Segundo os 'Mitos do Cliente', qual é um equívoco comum sobre os requisitos de um projeto?
Modificar os requisitos de um projeto de software tardiamente não causa impacto significativo no desenvolvimento.
Modificar os requisitos de um projeto de software tardiamente não causa impacto significativo no desenvolvimento.
De acordo com os 'Mitos do Profissional', qual porcentagem aproximada do esforço total de um sistema é despendida após a entrega inicial ao cliente?
De acordo com os 'Mitos do Profissional', qual porcentagem aproximada do esforço total de um sistema é despendida após a entrega inicial ao cliente?
Um dos mecanismos mais efetivos para garantir a qualidade do software é a ______ técnica formal.
Um dos mecanismos mais efetivos para garantir a qualidade do software é a ______ técnica formal.
Associe os seguintes 'Mitos do Profissional' com suas respectivas 'Realidades' no desenvolvimento de software:
Associe os seguintes 'Mitos do Profissional' com suas respectivas 'Realidades' no desenvolvimento de software:
De acordo com o Chaos Report, qual das alternativas descreve um projeto de software classificado como 'Sucesso'?
De acordo com o Chaos Report, qual das alternativas descreve um projeto de software classificado como 'Sucesso'?
Um projeto classificado como 'Incompleto/Deficiente' é aquele que foi entregue no prazo, mas custou mais do que o esperado.
Um projeto classificado como 'Incompleto/Deficiente' é aquele que foi entregue no prazo, mas custou mais do que o esperado.
Segundo o Chaos Report, quais são os três estados de um projeto de Software?
Segundo o Chaos Report, quais são os três estados de um projeto de Software?
Segundo o Chaos Report os projetos de software são classificados de acordo com o seu ______ por meio de uma análise específica.
Segundo o Chaos Report os projetos de software são classificados de acordo com o seu ______ por meio de uma análise específica.
Faça a associação de acordo com o escopo dos projetos:
Faça a associação de acordo com o escopo dos projetos:
Considerando o 'Esforço no Desenvolvimento de Software', qual porcentagem aproximada do tempo total é gasto na fase de desenvolvimento inicial?
Considerando o 'Esforço no Desenvolvimento de Software', qual porcentagem aproximada do tempo total é gasto na fase de desenvolvimento inicial?
A manutenção de software representa a maior parte do esforço total despendido ao longo do ciclo de vida de um sistema.
A manutenção de software representa a maior parte do esforço total despendido ao longo do ciclo de vida de um sistema.
Quais são os três tipos de atividades que compõem a manutenção de software?
Quais são os três tipos de atividades que compõem a manutenção de software?
Acredita-se que o custo para corrigir um ______ cresça exponencialmente conforme o projeto avança.
Acredita-se que o custo para corrigir um ______ cresça exponencialmente conforme o projeto avança.
Associe os seguintes itens:
Associe os seguintes itens:
Qual das alternativas apresenta uma forma de atenuar os problemas relacionados ao desenvolvimento e manutenção de software?
Qual das alternativas apresenta uma forma de atenuar os problemas relacionados ao desenvolvimento e manutenção de software?
A mudança de cultura no desenvolvimento de software não tem impacto na qualidade final do produto.
A mudança de cultura no desenvolvimento de software não tem impacto na qualidade final do produto.
De que forma a filosofia de desenvolvimento da Engenharia de Software pode ajudar na crise do Software?
De que forma a filosofia de desenvolvimento da Engenharia de Software pode ajudar na crise do Software?
A Engenharia de Software ajuda na crise do Software porque utiliza uma filosofia de ______, controle e administração.
A Engenharia de Software ajuda na crise do Software porque utiliza uma filosofia de ______, controle e administração.
Quais são os três elementos fundamentais da Engenharia de Software?
Quais são os três elementos fundamentais da Engenharia de Software?
Qual alternativa apresenta os três principais sistemas para ES(Engenharia de sistemas)?
Qual alternativa apresenta os três principais sistemas para ES(Engenharia de sistemas)?
É mais barato ter métodos e técnicas ES do que programas pessoais.
É mais barato ter métodos e técnicas ES do que programas pessoais.
O que assegura a garantia de Qualidade no Software?
O que assegura a garantia de Qualidade no Software?
É muito importante que os sistemas tenham ______ para assegurar a segurança de todos.
É muito importante que os sistemas tenham ______ para assegurar a segurança de todos.
Quais são os fundamentos da ES(Engenharia de Software)
Quais são os fundamentos da ES(Engenharia de Software)
Flashcards
Desenvolvimento de Software
Desenvolvimento de Software
Atividade que segue os preceitos da Engenharia de Software, diferente de escrever programas diretamente.
O que é Software?
O que é Software?
Programa de computador mais a documentação associada.
Engenharia de Software (ES)
Engenharia de Software (ES)
Disciplina de engenharia que foca em todos os aspectos da produção de software.
Principais atividades da ES
Principais atividades da ES
Signup and view all the flashcards
Ciência da Computação
Ciência da Computação
Signup and view all the flashcards
Objetivo da Engenharia de Software
Objetivo da Engenharia de Software
Signup and view all the flashcards
Engenharia de Sistemas
Engenharia de Sistemas
Signup and view all the flashcards
Desafios da Engenharia de Software
Desafios da Engenharia de Software
Signup and view all the flashcards
Crise do Software
Crise do Software
Signup and view all the flashcards
Problemas em Projetos de Software
Problemas em Projetos de Software
Signup and view all the flashcards
Satisfação do Usuário
Satisfação do Usuário
Signup and view all the flashcards
"Software é hard"
"Software é hard"
Signup and view all the flashcards
Problemas Recorrentes
Problemas Recorrentes
Signup and view all the flashcards
Projetos Cancelados
Projetos Cancelados
Signup and view all the flashcards
Atraso no Desenvolvimento
Atraso no Desenvolvimento
Signup and view all the flashcards
Sistemas Não Planejados
Sistemas Não Planejados
Signup and view all the flashcards
Custo da Manutenção
Custo da Manutenção
Signup and view all the flashcards
Complexidade e Problemas
Complexidade e Problemas
Signup and view all the flashcards
Mito do Manual
Mito do Manual
Signup and view all the flashcards
Mito das Ferramentas
Mito das Ferramentas
Signup and view all the flashcards
Mito dos Programadores
Mito dos Programadores
Signup and view all the flashcards
Mito da Terceirização
Mito da Terceirização
Signup and view all the flashcards
Mito dos Objetivos
Mito dos Objetivos
Signup and view all the flashcards
Mito da Flexibilidade
Mito da Flexibilidade
Signup and view all the flashcards
Mito do Profissional
Mito do Profissional
Signup and view all the flashcards
Mito do Profissional
Mito do Profissional
Signup and view all the flashcards
Mito do Profissional
Mito do Profissional
Signup and view all the flashcards
Mito do Profissional
Mito do Profissional
Signup and view all the flashcards
Manutenção de Software
Manutenção de Software
Signup and view all the flashcards
Início do Desenvolvimento
Início do Desenvolvimento
Signup and view all the flashcards
Fim do Desenvolvimento
Fim do Desenvolvimento
Signup and view all the flashcards
Atividades de Manutenção
Atividades de Manutenção
Signup and view all the flashcards
Correção de Erros
Correção de Erros
Signup and view all the flashcards
Contexto
Contexto
Signup and view all the flashcards
Problema
Problema
Signup and view all the flashcards
Esforço estimado
Esforço estimado
Signup and view all the flashcards
Manutenção Inevitável
Manutenção Inevitável
Signup and view all the flashcards
Como Atenuar o Problema
Como Atenuar o Problema
Signup and view all the flashcards
Engenharia de Software
Engenharia de Software
Signup and view all the flashcards
Study Notes
Introdução à Engenharia de Software
- Elaborado pela Profa. Dra. Ana Paula Lemke.
- A última atualização foi em março de 2022.
Contextualização
- Desenvolver software, seguindo os princípios da Engenharia de Software, não se resume a escrever programas.
- Desenvolver um balanço de corda exemplifica a necessidade do usuário.
Definição e Atividades da Engenharia de Software (ES)
- Software inclui programas de computador e documentação associada.
- Software pode ser desenvolvido para clientes específicos ou para o público em geral.
- ES é a disciplina de engenharia focada em todos os aspectos da produção de software.
- As principais atividades da ES são especificação, desenvolvimento, validação e evolução do software.
Diferenças entre ES e outras áreas
- Ciência da Computação foca na teoria e nos fundamentos.
- ES foca no lado prático do desenvolvimento e na entrega de softwares úteis.
- Engenharia de Sistemas abrange todos os aspectos de sistemas computacionais, incluindo hardware, software e processos.
Desafios da Engenharia de Software
- Lidar com o aumento da diversidade, diminuir o tempo de entrega e garantir o desenvolvimento de software confiável.
- Identificar as dificuldades na construção de software
- Analistas de sistemas devem entender e validar o que o cliente realmente quer.
- Dificuldades comuns incluem manutenção difícil, documentação pobre, problemas de qualidade, custos e prazos excessivos, e não atendimento das necessidades do usuário.
Crise do Software
- O desenvolvimento de software enfrenta um estado contínuo de crise.
- Há dificuldade em escrever, compreender e verificar programas computacionais.
- Projetos de software frequentemente ultrapassam orçamentos e cronogramas.
- Projetos devem atender aos requisitos e satisfazer o usuário, incluindo a qualidade.
- Projetos de software são grandes, complexos, mal especificados e vulneráveis a problemas imprevistos.
- Não existe uma solução única para prevenir falhas em software.
Problemas Recorrentes no Desenvolvimento de Software
- 25% dos projetos são cancelados.
- O tempo de desenvolvimento frequentemente excede as estimativas.
- 75% dos sistemas não funcionam conforme o planejado.
- A manutenção e reutilização de software são difíceis e dispendiosas.
- A complexidade dos problemas é proporcional à complexidade dos sistemas.
Mitos e Realidades em Engenharia de Software
- Mito do Administrador: Um manual completo garante que a equipe saiba tudo o que precisa.
- Realidade: É preciso verificar se o manual é usado, conhecido, atualizado e completo.
- Mito do Administrador: Ferramentas de última geração garantem o desenvolvimento de software de qualidade.
- Realidade: É preciso mais do que hardwares modernos para desenvolver software com qualidade.
- Mito do Administrador: Adicionar programadores a projetos atrasados resolve o problema.
- Realidade: O desenvolvimento de software não é um processo mecânico; adicionar pessoas sem planejamento pode atrasar ainda mais.
- Mito do Administrador: Terceirizar um projeto de software permite relaxar e deixar a empresa contratada fazer tudo.
- Realidade: É preciso saber gerenciar e controlar projetos de software para evitar dificuldades na terceirização.
- Mito do Cliente: Uma declaração geral dos objetivos é suficiente para começar a programar, detalhes podem ser preenchidos depois.
- Realidade: Um entendimento inicial ruim do software causa fracassos.
- Mito do Cliente: É possível modificar os requisitos continuamente, pois o software é flexível.
- Realidade: Mudanças tardias podem ter grande impacto no desenvolvimento e em partes já desenvolvidas do sistema.
- Mito do Profissional: O trabalho está completo quando o programa está escrito e funcionando.
- Realidade: 60% a 80% do esforço são despendidos após a entrega inicial.
- Mito do Profissional: Não é possível avaliar a qualidade de um programa até que ele esteja rodando.
- Realidade: Revisões técnicas formais são eficazes desde o início do projeto.
- Mito do Profissional: O único produto entregue é o programa em funcionamento.
- Realidade: O programa é apenas parte de uma configuração que inclui modelos, documentos e planos.
- Mito do Profissional: A Engenharia de Software cria documentação volumosa e desnecessária, atrasando o projeto.
- Realidade: A Engenharia de Software visa criar um produto de qualidade, reduzindo a necessidade de retrabalho e acelerando a entrega.
Evidências da Crise de Software
- Gráficos do Chaos Report mostram as taxas de sucesso, fracasso e projetos incompletos ao longo dos anos.
- O tamanho dos projetos de software (pequeno, moderado, médio, grande, grandioso) influencia a sua resolução dentro do Chaos Report.
- Matriz de tamanho e complexidade fornece diretrizes para categorizar um projeto para avaliar o risco e esforço.
Uso das Funcionalidades do Software
- Um gráfico de pizza ilustra as porcentagens de uso das funcionalidades do software: Sempre (7%), Frequentemente (13%), Algumas vezes (16%), Raramente (19%), Nunca (45%).
Desenvolvimento e Manutenção de Software
- O desenvolvimento corresponde a 20% do tempo e a manutenção a 80%
- Desenvolvimento inicia quando a necessidade é identificada e termina com o teste do produto.
- Manutenção envolve atividades após a entrega, como aumento da capacidade (60%), adaptação a novos ambientes (20%) e correção de erros (20%).
- Acredita-se que o custo para corrigir erros aumenta exponencialmente.
- O tempo para realizar a manutenção precisa ser estimado.
- A manutenção é cara devido ao software legado, implantação incompleta e mudanças nos sistemas.
- Atenuar este problema passa necessariamente por melhorar a qualidade do software e os seus processos de produção.
- Atenuar este problema passa necessariamente por uma mudança de cultura no desenvolvimento do software.
Mudança de Cultura de Desenvolvimento de SW
- Atenuar esta crise passa por disciplina para desenvolvimento com a Engenharia de Software.
- Combinar métodos e ferramentas adequados, utilizar técnicas para a garantia da qualidade e aplicar uma filosofia de coordenação, controle e administração.
O que é Engenharia de Software?
- O conceito foi proposto em 1968.
- Abrange métodos, ferramentas e procedimentos para controlar o processo de desenvolvimento e construção de software de alta qualidade.
- Métodos detalham como construir o software, incluindo planejamento, estimativas e análise de requisitos.
- Ferramentas dão apoio automatizado ou semi-automatizado aos métodos.
- Procedimentos definem a sequência dos métodos, produtos a serem disponibilizados e controle de qualidade.
- Disciplina de engenharia focada em todos os aspectos da produção, desde a especificação até a manutenção.
- Aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
Objetivos da Engenharia de Software
- Controlar o desenvolvimento dentro de custos, prazos e níveis de qualidade desejados.
- Aumentar a produtividade no desenvolvimento, operação e manutenção.
- Usar métodos e técnicas de ES é mais barato a longo prazo do que desenvolver programas sem planejamento.
- A maioria dos custos está na alteração do software após o seu uso.
- Um software de qualidade satisfaz os requisitos, é fácil de manter, tem boa performance, é confiável e fácil de usar.
- Produtividade envolve custo e tempo de desenvolvimento reduzidos, e suporte rápido às necessidades do mercado.
Importância da Engenharia de Software
- Qualidade e produtividade garantem disponibilidade de serviços essenciais e segurança das pessoas.
- Qualidade e produtividade garantem a competitividade das empresas.
- Os riscos ao público devido a programas com imperfeições estão aumentando.
Diversidade na Engenharia de Software
- A aplicação de ES varia drasticamente de acordo com a organização, o tipo de software e as pessoas envolvidas.
- Tipos de aplicações incluem stand-alone, interativas baseadas em transações, de controle embutidos, de processamento em lotes, de entretenimento, para modelagem e simulação, de coleta de dados e sistemas de sistemas.
- Aplicações Stand-alone: não precisa de conexão a rede.
- Aplicações interativas baseadas em transações: aplicações Web.
- Fundamentos da ES que se aplicam a todos os tipos de sistemas incluem ter processos gerenciados, desenvolver software confiável, entender e gerenciar a especificação e os requisitos do software e fazer o melhor uso possível dos recursos existentes.
- Atributos das WebApps incluem uso intensivo de redes, simultaneidade, carga não previsível, desempenho, disponibilidade, orientação a dados, sensibilidade no conteúdo, evolução contínua, imediatismo, segurança e estética.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.