Engenharia de Software I Profa. Denise Neves [email protected] 2011.
Transcript of Engenharia de Software I Profa. Denise Neves [email protected] 2011.
![Page 2: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/2.jpg)
Engenharia de Software
Este curso apresenta métodos e técnicas para o desenvolvimento de software que abordam especificação, modelagem, arquiteturas, verificação e testes de software, bem como para o planejamento e gerenciamento do processo de desenvolvimento.A disciplina de ES se preocupa em sistematizar o desenvolvimento através de modelos, técnicas e ferramentas para o produto e para o processo.
![Page 3: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/3.jpg)
Engenharia de Software
Diferença entre computação e engenharia de software
A ciência da computação está relacionada com teorias e fundamentos, engenharia de software está relacionada com a prática e o desenvovlimento de SW.
![Page 4: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/4.jpg)
Engenharia de SoftwareBibliografia
Engenharia de Software
Ian Sommerville
Pearson Education
Engenharia de SoftwareRoger Pressman6ª edição
McGraw-Hill
Artigos sobre Engenharia de Software
![Page 5: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/5.jpg)
Engenharia de SoftwareConceitos Básicos
Software:
São programas de computadores, em suas diversas formas, e a documentação associada.
Um programa é um conjunto de soluções algorítmicas, codificadas numa linguagem de programação, executado numa máquina real.
Software é um produto conceitual e lógico. Produtos genéricos : stand-alone. Produzidos e vendidos no
mercado.
Produtos sob encomenda : sistemas encomendados.
![Page 6: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/6.jpg)
Engenharia de SoftwareConceitos básicos
Características do Software
Invisibilidade – Software é invisível e invisualizável Complexidade – Software é mais complexo do que qualquer outro
produto construídos por seres humanos Mutabilidade – Existe sempre uma pressão para se fazer mudanças
em um software Conformidade – O software deve ser desenvolvido conforme o
ambiente. Não é o ambiente que deve se adaptar ao software. Se o software esta conforme os requisitos (o ambiente) todo o suporte operacional deve se adaptar ao software.
[Brooks, F. No Silver Bullet]
![Page 7: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/7.jpg)
Engenharia de SoftwareConceitos Básicos
O estabelecimento de objetivos gerais é suficiente para se começar a escrever programas. Dê a uma pessoa técnica um bom livro de programação e você terá um programador. Mudanças no software podem ser feitas facilmente porque ele é "flexível". Até que o programa esteja "rodando" não é possível verificarmos a sua qualidade. Uma vez que o programa esteja escrito e funcionando, nosso trabalho está feito. Um projeto é bem sucedido se conseguirmos um programa funcionando corretamente. Mitos do Software [Pressman]
![Page 8: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/8.jpg)
Engenharia de SoftwareConceitos Básicos
Falhas de Software Ariane 5, 1996 O foguete explodiu 40 segundos após a sua primeira decolagem. Prejuízo de U$ 500 milhões Foi aproveitado um pacote de software de navegação do Ariane 4
que não tinha erros. No módulo Sistema de Referencia Inercial uma conversão de
valores de 64-bits para 16-bits causou um operando inválido que o interrompeu
A falha no SRI levou o computador de bordo a modificar a trajetória do foguete levando à ruptura de juntas e isto causou a ativação da auto-destruição.
No Ariane 5, o módulo SRI só deveria ter sido utilizado antes do lançamento.
![Page 9: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/9.jpg)
Engenharia de SoftwareConceitos Básicos
Falhas de Software London Ambulance System - despacho de ambulâncias em
Londres, 1992. Morte de pessoas que não foram socorridas em tempo. Problema de Gerência de Software:
– Responsáveis contrataram uma empresa desconhecida cujo valor cobrado era menor que os cobrados pelas empresas de renome.
– Colocaram o sistema no ar sem os devidos testes.
– Não foi feita uma migração correta do sistema antigo para o novo.
![Page 10: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/10.jpg)
Engenharia de SoftwareConceitos Básicos
Falhas de Software Máquina de radioterapia com software controlador (1985 - 87). O controle de segurança feito pelo hardware em máquinas
anteriores foi removido e passou a ser feito pelo software. O software falhou na tarefa de, ao mesmo tempo, manter
invariantes essenciais: o feixe de elétrons e o dispositivo que controla a concentração do feixe em níveis seguros.
Diversas mortes em decorrência de queimaduras.
O programador não tinha experiência em programação concorrente.
![Page 11: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/11.jpg)
Engenharia de SoftwareConceitos Básicos
Bug do Milênio
Datas no formato : dd/mm/aa Na virada do ano 2000 -> 00 que vai ser entendido como 1900
O bug pode aparecer em harware, software (sistemas e aplicativos), bases de dados, arquivos, scripts, enfim, onde houver processamento de datas, ali pode estar o problema.
No caso dos computadores e programas, a solução é relativamente simples (se não considerarmos os custos) - atualização (upgrade) de software, hardware e utilização dos remendos (patches) que estão sendo lançados pelos fabricantes.
![Page 12: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/12.jpg)
Engenharia de SoftwareDocumento : "Testing for The Year 2000 Deadline"
Se uma aplicação não é mais necessária, livre-se dela; Se você está usando atualmente uma aplicação que planeje
desativar antes do ano 2000, então comece a fazê-lo gradualmente;
Se uma aplicação for considerada em conformidade com o ano 2000, realize alguns testes preliminares e passe para o próximo software;
Contacte seu fornecedor de software para verificar se pode ser feito o upgrade das aplicações;
Determine se o software pode ser trocado por um outro pacote adequado e faça a cotação do mesmo;
Se você tiver alguma aplicação que precise ser convertida, comece imediatamente;
Estabeleça um plano para ajudá-lo a navegar por tudo que precisa ser feito, e imponha uma linha de tempo rígida para cada uma das atividades.
![Page 13: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/13.jpg)
Engenharia de SoftwareDocumento "Testing for The Year 2000 Deadline"
Atividades :
Determinar as correções que devem ser aplicadas a cada elemento com problemas;
Determinar os custos para a solução; Gerar um relatório de custos; Priorizar e aplicar as correções com base na análise de riscos; Documentar as correções aplicadas para cada um dos ítens; Caso as correções afetem outros setores, comunicá-los sobre os
planos de correção;
![Page 14: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/14.jpg)
Engenharia de SoftwareConceitos Básicos
Atividades :
Estabelecer planos de contingência para os elementos chaves, para o caso de haver problemas na passagem para o ano 2000;
Estabelecer processos manuais para processos automatizados; Manter cópias impressas de informações importantes; Garantir o processo de backup; Deixar um estoque razoável de materiais, prevendo falhas nos
fornecedores (Ex.: toner de impressoras, papéis para impressão, disquetes, fita DAT, material de escritório, água potável, baterias, pilhas, materiais de limpeza, etc.).
![Page 15: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/15.jpg)
Engenharia de SoftwareConceitos Básicos
![Page 16: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/16.jpg)
Engenharia de SoftwareConceitos Básicos:Evolução
Os primeiros anos (1950 a início dos 60) – Aplicações científicas e de engenharia A segunda era (1960 a meados de 80) – Aplicações comerciais em grande-porte (sistemas de
informação BD) A terceira era (meados de 70 e década de 80) – Aplicativos pessoais em microcomputadores A quarta era (meados de 80 a meados de 90) – Aplicativos com Interfaces Gráficas – Redes e Arquitetura Cliente-Servidor A quinta era (de meados de 90 a ???) – Software Distribuídos,Internet, Groupwares e Intranets Sexta era?? – Computação Pervasiva, Móvel e Ubíqua
![Page 17: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/17.jpg)
Engenharia de SoftwareConceitos Básicos
Desafios para a Indústria de Software Sistemas legados– Sistemas antigos, mas de extrema importância para uma
organização e que funcionam bem. Linguagens antigas – falta de pessoal Específico de plataformas obsoletas Heterogeneidade– Os sistemas são distribuídos e incluem diversidade dehardware e plataforma operacional Entrega– Existe sempre uma pressão forte para diminuir o tempo de
entrega.
![Page 18: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/18.jpg)
Engenharia de Software
É uma disciplina da engenharia dedicada a todos os aspectos da produção de software.
Engenheiros de software devem adotar uma
abordagem sistemática e organizada para o seu trabalho e usar técnicas e ferramentas
apropriadas, de acordo com o problema a ser
resolvido, e com as restrições e recursos
disponíveis. Responsabilidade profissional e ética.Fonte: Ian Sommerville
![Page 19: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/19.jpg)
Engenharia de Software
Engenharia Desenvolvimento de um produto
Processo de desenvolvimento envolvendo
análise, design, implementação e avaliação Baseado em teoria, princípios, modelos,
métodos, técnicas e ferramentas Equipe de especialistas
Planejamento e gerenciamento de recursos,
custos e prazos
![Page 20: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/20.jpg)
Engenharia de SoftwareConceitos Básicos
Objetivos da Engenharia de Software
Aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação e áreas afins para o desenvolvimento sistemático de software.
Aplicação de métodos, técnicas e ferramentas para o gerenciamento do processo de desenvolvimento.
Produção da documentação formal destinada a comunicação entre os membros da equipe de desenvolvimento bem como aos usuários.
![Page 21: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/21.jpg)
Engenharia de SoftwareConceitos Básicos
Aspectos Históricos 1968 Conferência da OTAN, Garmisch Objetivo: resolver a “Crise do Software” Software é entregue
– Atrasado
– Com orçamento estourado
– Com falhas residuais Custo do hardware decrescente e custo do
software em ascensão
![Page 22: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/22.jpg)
Engenharia de Software
Projeto
Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos.
(PMI,PMBOK Guide)
![Page 23: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/23.jpg)
Engenharia de SoftwareProjeto
Projeto de TI
Projetos de desenvolvimento de Softwares, podem ser de desenvolvimento de um novo projeto ou a atualização de programas existentes;
A seleção, aquisição e implementação de pacotes de Softwares , os quais podem incluir aspectos de customização;
A seleção, aquisição e implementação de Softwares, o que pode incluir equipamento de mainframe , servidores, estações de trabalho e outros equipamentos de suporte;
![Page 24: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/24.jpg)
Engenharia de SoftwareProjeto
Projeto de TI
Produtos de redes e telecomunicações e a seleção de serviços, aquisição ou implementação;
Integração de sistemas ; e Alguma combinação dos itens acima
![Page 25: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/25.jpg)
Engenharia de SoftwareConceitos Básicos
Ciclo de Vida do Software
O ciclo de vida de um software descreve as fases pelas quais o software passa desde a sua concepção até ficar sem uso algum.
![Page 26: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/26.jpg)
Engenharia de SoftwareConceitos Básicos
Fases do Ciclo de Vida de Sistemas
Fase de definição– Análise e Especificação– Estudo de Viabilidade– Estimativas Planejamento
Fase de desenvolvimento– Design– Implementação e integração– Verificação e Validação
![Page 27: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/27.jpg)
Engenharia de SoftwareConceitos Básicos
Fases do Ciclo de Vida
Fase de operação
– Distribuição, Instalação e Configuração
– Utilização e administração
– Manutenção – corretiva, evolutiva e adaptativa
Fase de retirada
– Migração, reengenharia, engenharia reversa
![Page 28: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/28.jpg)
Engenharia de SoftwareConceitos Básicos
Fases de Definição
Deve-se analisar os requisitos, recursos e restrições para
• apresentar soluções,
• estudar a viabilidade,
• planejar e gerenciar o desenvolvimento
a partir de estimativas e análise de riscos que se utilizam de métricas
Esta fase encerra-se com o contrato de desenvolvimento.
![Page 29: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/29.jpg)
Engenharia de SoftwareConceitos Básicos
Fase de desenvolvimento Design de Software– Design conceitual, design da interface de usuário,design da arquitetura de software, design de algoritmos e estruturas de dados
• Implementação e integração– Codificação, compilação, integração e verificaçãode programas (testes, inspeção, depuração)
• Verificação da qualidade– Testes beta, avaliação de usabilidade, avaliaçãode desempenho, etc.
![Page 30: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/30.jpg)
Engenharia de SoftwareConceitos Básicos
Fase de Operação Distribuição e entrega Instalação e configuração Utilização Manutenção– corretiva – correção de erros– evolutiva ou adaptativa – novas versões
Novos requisitos- novas situações de operação – hardware - sistemas operacionais
![Page 31: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/31.jpg)
Engenharia de SoftwareConceitos Básicos
FASE DE RETIRADA
Evolução do software- Sistemas legado- Reengenharia de Software
![Page 32: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/32.jpg)
Engenharia de SoftwareConceitos
Processos de Software
Conjunto coerente de atividades para especificar, projetar, implementar e testar sistemas de software
![Page 33: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/33.jpg)
Engenharia de SoftwareProcessos
Objetivos : Apresentar os modelos de processo de software Descrever os diferentes modelos de processos e quando eles
podem ser utilizados Descrever em formas gerais os modelos de processo para
engenharia de requisitos, desenvolvimento de software, testes e evolução
Apresentar a tecnologia CASE para apoiar atividades do processo de software
![Page 34: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/34.jpg)
Engenharia de SoftwareProcessos
Modelos genéricos de modelos de processo de software O modelo cascata• Fases de especificação e desenvolvimento separadas e distintas Desenvolvimento evolucionário• Especificação e desenvolvimento são interfoliadas Desenvolvimento formal de sistemas Um modelo matemático do sistema é transformadoformalmente em uma implementação Desenvolvimento baseado em reuso O sistema é montado a partir de componentes existentes
![Page 35: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/35.jpg)
Engenharia de SoftwareProcessos
Fases do modelo Cascata Definição e análise de requisitos Projeto do sistema e do software Implementação e testes de unidade Integração e testes do sistema Operação e manutenção
A desvantagem do modelo cascata é a dificuldade de acomodar as mudanças após o processo ter sido iniciado
![Page 36: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/36.jpg)
Engenharia de SoftwareModelo Cascata[sommerville]
![Page 37: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/37.jpg)
Engenharia de SoftwareProcessos
Problemas da fase do modelo cascata
Particionamento inflexível do projeto em fases distintas Isso torna difícil responder a requisitos do usuário que
mudam Portanto, esse modelo é apropriado somente quando os
requisitos são bem compreendidos
![Page 38: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/38.jpg)
Engenharia de SoftwareProcessos
Desenvolvimento Evolucionário Desenvolvimento exploratório
O objetivo é trabalhar com os clientes e evoluir um sistema
final a partir de uma especificação genérica inicial. O
desenvolvimento se inicia com as partes do sistema que estão
compreendidas.
Fazer protótipos descartáveis
O objetivo é compreender os requisitos do sistema.
O protótipos e concentra em fazer experimentos com partes dos requisitos que estejam mal compreendidas
![Page 39: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/39.jpg)
Engenharia de SoftwareEvolucionários [summerville]
![Page 40: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/40.jpg)
Engenharia de SoftwareDesenvolvimento Evolucionário
Problemas- Falta de visibilidade do processo- Os sistemas freqüentemente possuem pouca estrutura
Podem ser exigidas habilidades especiais (p.ex.em linguagens para desenvolvimento rápido)
Aplicabilidade-Para sistemas interativos pequenos ou de médio porte-Para partes de sistemas grandes (p.ex., a interface com o usuário)-Para sistemas de vida curta
![Page 41: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/41.jpg)
Engenharia de SoftwareProcessos
Desenvolvimento formal de sistemas Baseia-se na transformação de uma especificaçãomatemática por meio de diferentes representaçõespara um programa executável
As transformações 'preservam a corretude', de talforma que possa ser diretamente mostrado que oprograma está de acordo com a sua especificação
Embutida na abordagem de desenvolvimento desoftware chamada ‘Cleanroom’
![Page 42: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/42.jpg)
Engenharia de SoftwareDesenvolvimento Formal
![Page 43: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/43.jpg)
Engenharia de SoftwareDesenvolvimento Formal
Problemas Necessidade de habilidades especiais e treinamento para
aplicar a técnica Dificuldade de especificar formalmente alguns aspectos do
sistema, tais como a interface com o usuário
Aplicabilidade Sistemas críticos, especialmente aqueles onde um estudo
de segurança deve ser feito antes de pôr o sistema em operação
![Page 44: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/44.jpg)
Engenharia de SoftwareProcessos
Desenvolvimento orientado ao reuso
Baseia-se no reuso sistemático, onde sistemas sãointegrados a partir de componentes existentes ousistemas COTS (Commercial-off-the-shelf)
Estágios do processo• Análise dos componentes• Modificação de requisitos• Projeto do sistema com reuso• Desenvolvimento e integração
Esta abordagem está se tornando mais importante, mas ainda há uma experiência limitada com ela
![Page 45: Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com 2011.](https://reader036.fdocumentos.tips/reader036/viewer/2022081512/552fc0f9497959413d8b761a/html5/thumbnails/45.jpg)
Engenharia de SoftwareDesenvolvimento orientado ao reuso