visão e princípios básicos da engenharia de software...atividade 1. explique por que é...
TRANSCRIPT
![Page 1: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/1.jpg)
Visão e princípios básicos da Engenharia de Software
Prof. Naan Cardoso
![Page 2: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/2.jpg)
Conteúdo
• O que é software?
• Tipos Fundamentais de Software;
• Engenharia de Software;
• Processo de Software;
• Modelo de processo de Software;
• Paradigmas de desenvolvimento de Software;
• Atributos de um bom software;
• Quais são os desafios da Engenharia de Software?
![Page 3: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/3.jpg)
O que é Software?
Programa de computador e
documentação associada. Os
produtos de software podem ser
desenvolvidos para um cliente
específico ou para um mercado
geral.
Programa
Documentação do Sistema
Documentação do Usuário
Sites Web
![Page 4: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/4.jpg)
Tipos fundamentais de software
• Produtos Genéricos
São sistemas desenvolvidos por uma organização evendido no mercado para qualquer cliente disposto a comprá-los.
• Produtos sob encomenda
São softwares desenvolvidos para um cliente especifico.
![Page 5: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/5.jpg)
Engenharia de Software
“Engenharia de Software é uma disciplina deengenharia relacionada a todos os aspectosde produção de software.”
(SOMMERVILLE, 2007)
Produção de Software
Análise Econômica
Análise de requisitos de software
Especificação
Arquitetura de Software
Implementação (ou codificação)
Teste
Documentação
Suporte e Treinamento de Software
Manutenção
![Page 6: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/6.jpg)
Engenharia de Software
“A engenharia de software não está relacionadaapenas com os processos técnicos dedesenvolvimento, mas também com as atividadesde gerenciamento de projetos de software e odesenvolvimento de ferramentas.”
(SOMMERVILLE, 2007)
Gerenciamento de Projeto
Atividade de Gerenciamento
Planejamento de Projeto
Cronograma do Projeto
Gerenciamento de Riscos
![Page 7: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/7.jpg)
Processo de Software
Um processo de software é umconjunto de atividades e resultadosassociados que produz um produto desoftware.Especificação de
software
Desenvolvimento de software
Validação de software
Evolução de software
![Page 8: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/8.jpg)
Modelo de Processo de Software
É uma descrição simplificada desse processo que apresenta uma visãodele
• Modelo workflow
Sequência de atividades do processo;
Representação das ações humanas.
• Fluxo de dados ou modelo de atividades
Demonstra as transformações ocorridas no processo;• Modelo de papel/ação.
Representa os papeis das pessoas envolvidas e suas atividades.
![Page 9: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/9.jpg)
Paradigmas de desenvolvimento de software
A maioria dos modelos de processo de software é baseadaem um dos três modelos gerais:
• Modelo em cascata
• Desenvolvimento interativo
• Baseada em componentes
![Page 10: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/10.jpg)
Atributos de um bom software
Característica do Produto
Facilidade de Manutenção
Confiança
Eficiência
Usabilidade
![Page 11: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/11.jpg)
Crise de Software...
25% dos projetos são cancelados
O tempo de desenvolvimento é bem maior do que o estimado
75% dos sistemas não funcionam como planejado
A manutenção e reutilização são difíceis
Os problemas são proporcionais a complexidade dos sistemas
![Page 12: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/12.jpg)
Crise de Software: Razões
Falta de envolvimento do
usuário
Análise e projeto inadequados
Falta de flexibilidade no projeto
Prazos longosElevada rotatividade
de pessoal
Má qualidade dos métodos, linguagens,
ferramentas e processos
![Page 13: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/13.jpg)
Crise de Software: Razões
Velocidade da mudança tecnológica;
Dificuldade de formalização;
Velocidade na mudança dos mercados;
Velocidade na obsolescência dos sistemas;
Incapacidade das estruturas de SI para;
Acompanhar a velocidade das mudanças.
![Page 14: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/14.jpg)
Crise de Software: Perguntas
Por que os custos são tão elevados?
▪ Não há controle sobre prazos ou
planejamento sobre equipes e recursos
▪ O levantamento de requisitos não é
realizado de forma integrada com o cliente
e dentro de padrões antecipadamente
projetados
![Page 15: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/15.jpg)
Crise de Software: Perguntas
Por que os cronogramas não são cumpridos?
▪ Falta de interação entre usuário e analista
▪ Baixo conhecimento/descrição do problema
▪ Nível de experiência da equipe de
desenvolvimento
![Page 16: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/16.jpg)
Crise de Software: Perguntas
Por que é difícil medir o progresso durante odesenvolvimento?
▪ Porque não há referências. Há falta de um plano com metas e prazos definidos.
Por que os erros não são detectados antes daliberação das versões?
▪ Controle de qualidade não é objetivo desde o princípio do desenvolvimento.
![Page 17: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/17.jpg)
Crise de Software: Perguntas
Por que a produtividade é baixa?
▪ Aprendizado dos usuários ao longo do projeto
▪ Alterações dos requisitos provocadas pormudanças de tecnologia, legislação oumercado
▪ Implicações para a implementação somentepercebidas ao tempo da implementação
![Page 18: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/18.jpg)
Quais são os desafios da Engenharia de Software?
• O desafio da heterogeneidade
• O desafio da entrega
• O desafio da confiança
![Page 19: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/19.jpg)
Como garantir que o trabalho foi feito corretamente?
![Page 20: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/20.jpg)
Responsabilidade profissional e ética
O Engenheiro de Software deve sempre defender padrõesnormais de honestidade e integridade.
Você não deve usar sua habilidade e sua capacidade para secomportar de maneira desonesta ou de modo que trará máreputação para a profissão de Engenharia de Software.
![Page 21: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/21.jpg)
Responsabilidade profissional e ética
Padrões de comportamento aceitável:
1. Confidencialidade
2. Competência
3. Direitos sobre propriedade intelectual
4. Mau uso dos computadores
![Page 22: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/22.jpg)
Responsabilidade profissional e ética
Código de ética e prática profissional da engenharia de software (ACM/IEEE-CS), diz que os engenheiros de software devem:
1. PÚBLICO: agir com interesse público
2. CLIENTE E EMPREGADOR: agir dentro dos melhores interesses de seucliente e empregador, de forma consistente com o interesse público
3. PRODUTO: assegurar que seus produtos e as modificações a elesrelacionadas atendam aos mais altos padrões profissionais possíveis
4. JULGAMENTO: manter a integridade e a independência em seu julgamentoprofissional
![Page 23: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/23.jpg)
Responsabilidade profissional e ética
5. GERENCIAMENTO: os gerentes e líderes de engenharia de softwaredevem aceitar e promover uma abordagem ética no gerenciamento dedesenvolvimento e manutenção de software
6. PROFISSÃO: promover a integridade e a reputação da profissão de formaconsistente com o interesse público
7. COLEGAS: ser honestos e colaborativos com seus colegas
8. INDIVÍDUO: participar, ao longo da vida, aprendendo, respeitando epromovendo uma abordagem ética na prática da profissão.
![Page 24: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/24.jpg)
Atividade
1. Explique por que é apropriado considerar que o software é mais do que os
programas que podem ser executados pelos usuários finais do sistema.
2. Quais são as diferenças entre o desenvolvimento de produto genérico de
software e o desenvolvimento de software sob encomenda?
3. Quais são os quatro principais atributos que todo produto de software deve
ter? Sugira quatro outros atributos que as vezes podem ser significativos.
4. Qual a importância da conformidade com o aspecto confiabilidade no
desenvolvimento de sistemas de software? Dê exemplos de 02 (dois)
problemas relacionados à não-conformidade com esse aspecto.
![Page 25: Visão e princípios básicos da Engenharia de Software...Atividade 1. Explique por que é apropriado considerar que o software é mais do que os programas que podem ser executados](https://reader035.vdocuments.com.br/reader035/viewer/2022071302/60a65929bcce15432f22daf9/html5/thumbnails/25.jpg)
Atividade
5. Comente sobre a seguinte frase: “Se você não atacar os riscos doprojeto ativamente, então estes irão ativamente atacar você”.
6. Apresente 03 problemas encontrados no desenvolvimento de sistemasde software nos dias atuais e exemplifique.
7. Além dos desafios de heterogeneidade, entrega rápida e confiança,identifique outros problemas diários que a engenharia de softwareprovavelmente está enfrentando neste século.