Please enable JavaScript.
Coggle requires JavaScript to display documents.
Engenharia de software-I- feito por João Victor Ipirajá (Características…
Engenharia de software-I- feito por João Victor Ipirajá
Ciências vs engenharia
Ciências estudam as coisas como elas são
Engenharia cria ferramentas melhores para esse ramo
Engenharia produz novas coisas
Ciências ajuda no entendimento de novos matérias, medidas na produção dessas aplicações
Natureza da análise científica
Um requerimento externo
Clareza da natureza dos requerimentos
especificações do requerimento
Necessidades da análise + criar um modelo black box do problema
Validar as soluções (incluindo o uso de protótipos)
Postular um design "White box"
Implementação de uma plano de design usando um modelo apresentável do software
Uso de teorias, métodos, e ferramentas na resolução
de problemas.
Sistema desenvolvido por grupos ao invés de indivíduos.
Uso de teorias, métodos, e ferramentas na resolução
de problemas.
Compreender o problema do negócio
Propor uma solução
Elaborar abstrações da solução
Soft Skills
Daniel Goleman
Habilidades como resiliência, empatia, colaboração e comunicação são todas competências baseadas na inteligência emocional e que distinguem profissionais incríveis da média”
Há uma lacuna entre o que líderes esperam de recém-formados e o que estes recém-contratados oferecem
Preocupa-se com todo o ciclo de vida do software
Concepção
Implementação
Uso
Manutenção
Crise do software
Grandes softwares não funcionam adequadamente
Os projetos estão sempre atrasados
Os custos de dos projetos desenvolvidos de software são sempres maiores do que o previsto.
Erros Clássicos
Ariane
Therac 25
Denver Airport
Atualmente
Custos
Desenvolvimento
1/3 planejamento
1/6 codficação
1/4 teste de componente
1/4 testes de sistema
Manutenção
20% correção de erros
20% adptação
60% melhorias
Software
Intangível e difícil de visualizar
é o mais complexo artefato existente
Mais flexível artefato
Pode modificar módulos do projeto
Caracterísiticas segundo Fred Brooks(No Silver Bullet)
Complexidade: essência do software/há duas partes iguais e sistemas possuem muitos estados durante execução. é arbitrária/ depende mais do projetista que o problema
Conformidade(Moldável,espera-se que esse software adapte-se a outros componentes
"Software is the resting place of afterthoughts"
Modificabilidade: sofre constantes necessidades de mudança
Invisibilidade: pode ser invísível, não se preocupa em estabelecer links visuais entre um software e sua representação, o que facilitaria estabelecer relações os dois
Software erros
Leis de Belady e Lehman
O software mudará continuamente
Cada vez mais desestruturado à medida que é alterado
Características de um bom software
Manutenibilidade
Confiabilidade
Eficiência
Usabilidade
Portabilidade
Adaptabilidade
Estabilidade
Testabilidade