Buscar

ER - E02 - Engenharia de software 2021-1 (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas de Informação
Profa. Ivre Marjorie
Engenharia de Software
Aula baseada em material cedido pelo Profº Tadeu Faria e profa. Sandra Silveira 
Leitura Indicada
 Capítulo 2 – Engenharia de Software
 PRESSMAN, Roger. Engenharia de software. 8. Porto Alegre, 
AMGH, 2016. recurso online
 Capítulo 1 – Introdução 
 SOMMERVILLE, Ian. Engenharia de software. 10. ed. São 
Paulo (SP): Pearson Prentice Hall, c2019. xii, 756
 SOMMERVILLE, Ian. Engenharia de software. 9ª. ed., São 
Paulo: Pearson Prentice Hall, c2011, capítulo 1. recurso online
 Capítulo 1 – Engenharia de Requisitos
 VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira. 
Engenharia de requisitos: software orientado ao negócio. Rio 
de Janeiro (RJ): Brasport, c2016. 302 p. recurso online.
Introdução - Problemas de Software
 Por que concluir um software leva tanto tempo?
 Por que os custos de desenvolvimento são tão altos?
 Por que não conseguimos encontrar todos os erros 
antes de entregarmos o software aos clientes?
 Por que gastamos tanto tempo e esforço mantendo 
programas existentes?
 Por que continuamos a ter dificuldade em medir o 
progresso enquanto o software está sendo 
desenvolvido e mantido?
(Pressman, 2016)
Engenharia de Software
 “A aplicação de um método sistemático, 
disciplinado e quantificável ao desenvolvimento, 
operação e manutenção de software; isto é, a 
aplicação da engenharia ao software.” (IEEE 
Standard Computer Dictionary)
 Engenharia de Requisitos
 disciplina parte da Engenharia de Software
 Principais modelos de referência
 Processo Unificado da Rational/IBM (RUP)
 Corpo de conhecimento da Engenharia de Software 
do IEEE (SWEBOK)
 Áreas de processo de modelo de maturidade CMMI
Engenharia de Software
 Requisitos de Software
 Projeto de Software
 Construção de Software
 Teste de Software
 Manutenção de Software
 Gerência de Configuração de Software
 Gerência de Engenharia de Software
 Processo de Engenharia de Software
 Ferramentas e Métodos da Engenharia de Software
 Qualidade de Software
6
Taxa de sucesso de projetos
 Estatísticas em projetos de software
 37% Atendimento às expectativas iniciais
 42% Não funcionam como planejado ou nunca serão 
usados
 21% fracassam integralmente
 Qualidade
 57% dos sistemas são entregues sabendo-se que têm 
defeitos
 Prazo
 68% dos projetos são entregues com atraso
 Custo
 50% dos projetos custam mais do que o planejado
Histórico de sucesso, mudanças e falhas de 
projetos de TI
 Analogia: A cada 10 pontes construídas, 2 cairiam....
Fonte: Standish Group, CHAOS Manifesto 2015.
Frequência da utilização de software
 O cliente para se prevenir... pede mais do 
que precisa, pois pede tudo de uma vez!
Problemas/Dificuldades no Desenvolvimento 
de Software
 Estimativas de prazo, esforço e 
custo imprecisas.
 Sistemas informatizados:
 sendo entregues com atraso; 
 custando mais caro 
do que o previsto.
10
Profº Tadeu Faria - Engenharia de Requisitos
 Qualidade do software às vezes é menor que a 
adequada;
 causando insatisfação do usuário final, pois o sistema 
informatizado entregue:
 não faz o que deveria fazer;
 é pouco confiável;
 é lento;
 é difícil de usar;
11
Problemas/Dificuldades no Desenvolvimento de 
Software
Profº Tadeu Faria - Engenharia de Requisitos
Qualidade do software
12
Problemas/Dificuldades no Desenvolvimento de 
Software
Profº Tadeu Faria - Engenharia de Requisitos
 Aumento da demanda por novos softwares;
 Demandas diferentes:
 softwares devem ser construídos e entregues mais 
rapidamente;
 softwares maiores e mais complexos.
 Documentação insuficiente;
 Falta de processos e métodos;
13
Problemas/Dificuldades no Desenvolvimento de 
Software
Profº Tadeu Faria - Engenharia de Requisitos
 Empresas dependentes de sistemas legados que 
necessitam de modificações;
 mas possuem código e/ou documentação ilegíveis ou 
inexistentes.
 Manutenção difícil, cara e demorada de software já existente.
 Coleta de dados sobre produtividade inexistente ou 
insuficiente;
 comprometendo as estimativas de prazo, esforço e custo;
 não permitindo a avaliação de novas ferramentas, técnicas e 
padrões.
14
Problemas/Dificuldades no Desenvolvimento de 
Software
Profº Tadeu Faria - Engenharia de Requisitos
Crise do Software
 Causas da Crise do Software:
 Projetos estourando o orçamento;
 Projetos estourando o prazo;
 Software de baixa qualidade;
 Software muitas vezes não atingiam os requisitos;
 Projetos ingerenciáveis e o código difícil de manter.
 As questões apresentadas demonstram a 
preocupação que tem levado à adoção da 
prática da Engenharia de Software!!!
(Pressman, 2016)
 1960 a 1985:
 estouros de orçamentos e cronogramas: 
 OS/360:
 tempo do projeto: 10 anos (1960 a 1970);
 equipe: 1.000 programadores.
 danos materiais:
 falhas de segurança.
 mortes: 
 Therac-25: (1985 a 1987)
 6 acidentes envolvendo doses altíssimas de radiação;
 dose terapêutica: 200-rad;
 dose do Therac-25: 15.000 a 20.000-rad (radiation 
absorbed dose).
A Crise do Software
16
Profº Tadeu Faria - Engenharia de Requisitos
Questão para Discussão
 Os problemas e dificuldades citados para o 
desenvolvimento de software já ocorrem há 
muitos anos. A empresa em que você 
trabalha passa por esses problemas?
 Solução?
 Área de pesquisa Engenharia de Software
17
Profº Tadeu Faria - Engenharia de Requisitos
Possíveis Práticas para Diminuir os 
Problemas/ Dificuldades
 Métodos para todas as fases do desenvolvimento do 
software.
 Melhores técnicas para a garantia da qualidade.
 Controle do progresso do projeto.
18
Profº Tadeu Faria - Engenharia de Requisitos
 “Uma disciplina da Engenharia que se ocupa de 
todos os aspectos da produção de software, 
desde os estágios iniciais de especificação do 
sistema até a manutenção desse sistema, depois 
que ele entrou em operação.” (Sommerville, 2019)
Engenharia de Software
 Segundo a IEEE (Institute of
Electric...
 (1) A aplicação de uma abordagem 
sistemática, disciplinada e 
quantificável no desenvolvimento, na 
operação e na manutenção do 
software; isto é, a aplicação de 
engenharia ao software
Engenharia de Software
Referência completa para todo o corpo de 
conhecimento da ES: Software Engineering Body of 
Knowledge(SWEBOK)
Como a Engenharia de Software se diferencia de 
outras Engenharias?
 A Engenharia de Software desenvolve ou projeta um 
software;
 não o fabrica no sentido clássico.
 Software é um produto lógico e não físico.
 Custos concentram-se no desenvolvimento e não na 
produção.
 Reuso de componentes na criação de novos produtos.
 Software não se desgasta;
 se deteriora.
21
Profº Tadeu Faria - Engenharia de Requisitos
Engenharia de Software
 Três elementos fundamentais:
 métodos;
 padrões;
 ferramentas.
 Auxiliam:
 controle do processo de desenvolvimento do software;
 construção de software de alta qualidade.
 Não existe um método ou uma técnica universal de 
engenharia de software que se aplique a todos os 
tipos software.
22
Profº Tadeu Faria - Engenharia de Requisitos
Áreas da ES
Especificação dos requisitos
 Boas especificações de requisitos são 
indispensáveis;
 Custam tempo e dinheiro
 A ausência custa MUITO MAIS tempo e dinheiro.
 São investimentos! 
 Não representam custos supérfluos, mas investimentos 
necessários que se pagam com altos juros.
Áreas da ES
Gestão dos requisitos
 “Disciplina da engenharia de software 
que procura manter sob controle o 
conjunto dos requisitos de um 
produto, mesmo diante de algumas 
alterações inevitáveis.”
 Instabilidade dos requisitos
Áreas da ES
Gestão de projetos
 Para cumprir prazos e custos, os compromissos 
precisam ser assumidos com base em requisitos bem 
levantados, analisados e documentados. Os planos de 
projeto realizados com boas técnicasde estimativa e 
análise de tamanho, esforços, prazos e riscos.
 Prazos políticos implicam em desenvolvedores 
stressados e com má qualidade de vida, gerentes com 
prejuízo e desacreditados na TI e clientes produtos de 
má qualidade, mais caros e atrasados.
 A Gestão de Projetos é uma disciplina da Engenharia 
de Software.
 Capacidade em gestão de contratos:
 Especificar correta e completamente o produto a ser 
desenvolvido;
 Fazer uma boa seleção entre os candidatos a 
subcontratado, avaliando grau de realismo das suas 
propostas;
 Acompanhar o desempenho do subcontratado, sem 
interferir no seu trabalho, mas detectando sintomas de 
problemas;
 Planejar e executar os procedimentos de aceitação do 
produto.
Áreas da ES
Gestão de Contratos
 “Riscos são eventos incertos cuja ocorrência 
provoca efeitos nos objetivos de um projeto, 
geralmente negativos”.
 Mapeados e analisados os riscos pode-se 
determinar uma postura em relação a eles: 
aceitá-los tendo em vista as oportunidades ou 
planejar contramedidas preventivas.
Áreas da ES
Gerenciamento de Riscos
 “Grau de conformidade com os requisitos”.
 Cada requisito não-atendido é um defeito.
 A qualidade é consequência dos processos, das pessoas e da 
tecnologia.
 É muito mais fácil controlar requisitos que qualidade.
 Atividades de garantia da qualidade: revisões, testes e auditorias.
 Defeitos ocorrem por limitações humanas: erros lógicos, de 
interpretação, desconhecimento de técnicas, falta de atenção e de 
motivação.
 Quanto mais tarde um defeito é corrigido, mais cara é a correção.
 Somos mais eficazes para achar os defeitos dos outros do que os 
nossos próprios. Devem ser utilizados testadores independentes.
 A garantia da qualidade funciona melhor quando é coordenada por 
um grupo da organização independente dos projetos e com acesso 
a alta direção.
Áreas da ES
Qualidade
 Um projeto de software é composto por artefatos, 
sejam eles códigos, modelos, relatórios e 
documentos.
 Os artefatos evoluem e não podem ser perdidos.
 Gestão de configurações trata de organizar e 
controlar a proliferação dos artefatos.
Áreas da ES
Gestão de Configurações
Engenharia de software
 Pontos chaves...
 Entenda o problema antes de elaborar uma solução
 Projetar é uma atividade fundamental
 Qualidade e facilidade de manutenção são resultantes de um 
projeto bem feito.
 Existem vários tipos de sistemas de informação. Todas as 
aplicações precisam de engenharia de software embora não 
necessitem das mesmas técnicas. 
 A engenharia de software tem por objetivo apoiar o 
desenvolvimento profissional de software, mais do que a 
programação individual.
Engenharia de software
 Pontos chaves...
 Todos os tipos de aplicações devem ser desenvolvidas em um 
processo gerenciado e compreendido.
 Confiança e desempenho são importantes para todos os tipos 
de sistema.
 É importante gerenciar a especificação e os requisitos do 
software.
 Utilizar recursos existentes.
 A Ciência da 
Computação se 
preocupa com as 
teorias e com os 
métodos fundamentais
 A Engenharia de 
Software se dedica aos 
problemas práticos da 
produção de software
Qual é a diferença entre Engenharia de 
Software e Ciência da Computação
32
 A Engenharia de Software não se confunde com a 
Ciência da Computação e nem é uma disciplina 
desta. A ES usa resultados da Ciência da 
Computação e fornece problemas para estudo desta.
 Diferenças entre as áreas de conhecimento.
 ..\..\..\..\Comum\Videos\Diferença entre cursos de TI.mp4
Engenharia de Software
../../../../Comum/Videos/Diferença entre cursos de TI.mp4
Engenharia de Requisitos 
34
Engenharia de Requisitos
 “Conjunto de processos e atividades empregadas
para descobrir, detalhar, documentar, gerenciar o
conjunto de requisitos de um software.
 O uso da palavra “Engenharia” pressupõe o uso
sistemático e repetível de técnicas de forma a garantir
que o conjunto de requisitos seja completo, correto,
consistente, etc.”
Profº Marcelo Werneck - Engenharia de Requisitos
(Sommerville, 2019)
Engenharia de Requisitos
 “Disciplina da Engenharia de Software que consiste 
no uso sistemático e repetitivo de técnicas para 
cobrir atividades de obtenção, documentação e 
manutenção de um conjunto de requisitos para 
software que atendam aos objetivos de negócio e 
sejam de qualidade.”
 O uso do termo “Engenharia” é o mais adequado 
tendo em vista que a ER está intimamente ligada à 
aquisição e aplicação de conhecimento para 
criação, aperfeiçoamento e a implantação de SI.
(Vasquez, 2016, p.1)
Engenharia de Requisitos 
37
Analista de Requisitos
 “Realiza o levantamento de requisitos e 
especificação de projetos de TI, desenvolvendo 
soluções para processos, mapeamento e análise de 
requisitos de softwares e status report para gestão 
de projetos”.
 Outros nomes: 
 Analista de negócios de TI, 
 Analista de sistemas, 
 Analista de informações, 
 Engenheiro de Requisitos (IREB)
(Catho apud Vasquez, 2016, p.13)
Analista de Requisitos 
39
Bibliografia
 PRESSMAN, Roger. Engenharia de software. 8. Porto 
Alegre, AMGH, 2016. recurso online
 SOMMERVILLE, Ian. Engenharia de software. 10. ed. 
São Paulo (SP): Pearson Prentice Hall, c2019. xii, 756
 SOMMERVILLE, Ian. Engenharia de software. 9ª. ed., 
São Paulo: Pearson Prentice Hall, c2011, capítulo 1. 
recurso online
 VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme 
Siqueira. Engenharia de requisitos: software orientado ao 
negócio. Rio de Janeiro (RJ): Brasport, c2016. 302 p. 
recurso online.

Outros materiais