Escolar Documentos
Profissional Documentos
Cultura Documentos
Manutenção
Prototipação e Espiral
Especificação e desenvolvimento são
intercalados.
Processo Iterativos e incrementais.
XP, RUP, SCRUM
Engenharia de Software
O que é um software?
Engenharia de Software
Aplicação de métodos, ferramentas e
procedimentos para desenvolver softwares com
Qualidade.
Qualidade:
Qualidade de Produto. (ISO 9126)
Qualidade de Processo. (CMMI, SPICE e MPS-BR)
Métodos:
Atividades que devem ser feitas para se desenvolver o
software com qualidade.
Modelagem, Testes de Software, Estimativas de tamanho,
etc
Engenharia de Software
Ferramentas:
FP(Function Point) : fazer estimativa.
Ferramentas Case: automatizar diversos
métodos(TESTE, Modelagem, análise, codificação,
etc.)
Procedimento:
Define a metodologia adequada para aplicar os
diversos métodos e utilizar as diversas
ferramentas para desenvolver um determinado
software.
Aplicações de Software
Softwares Básicos:
coleção de programas escritos para apoiar outros programas. Forte
interação com o hardware. Tão a estrutura básica aos outros
software permitindo a sua execução.
• sistema operacional, compiladores, drivers, etc...
Sistemas Operacionais.
• Chaves de pesquisa: Sistemas Operacionais OnLine, Sistemas Operacionais na
Internet
Compiladores/Interpretadores.(softwares de desenvolvimento)
Drivers.
Aplicações de Software
SOFTWARE DE TEMPO REAL: software que monitora,
analisa e controla eventos do mundo real. Eles precisam
responder em um tempo muito restrito.
• Tem que responder a alguma mudança no ambiente em
tempo restrito, tem autonomia no monitoramento e na
execução das ações.
• Sistema de controle de tráfego aéreo, Sistema de gestão de
uma usina nuclear, sistema.
• Viabilidade?
• Casos: Cirurgia remota através da internet, comunicadores
instantâneos.
Aplicações de Software
SOFTWARE DE TEMPO REAL: software que monitora,
analisa e controla eventos do mundo real. Eles precisam
responder em um tempo muito restrito.
• Tem que responder a alguma mudança no ambiente em
tempo restrito, tem autonomia no monitoramento e na
execução das ações.
• Sistema de controle de tráfego aéreo, Sistema de gestão de
uma usina nuclear, sistema.
• Viabilidade? Melhor web x apenas internet?
• Casos: Cirurgia remota através da internet, comunicadores
instantâneos(Vídeo e Áudio), computação Móvel, e outros).
Aplicações de Software
SOFTWARE CIENTÍFICO E DE ENGENHARIA: caracterizado
por algoritmos de processamento numérico.
• Seu principal objetivo é auxiliar nos cálculos
matemáticos utilizados nestas áreas.
• astronomia, vulcanologia, análise de fadiga da
mecânica de automóveis, biologia molecular, projeto
CAD, softwares matemáticos, softwares de projeto de
sistemas(modelagem, implementação, testes, etc)...
• Exemplo de Ferramenta: MathLab
Aplicações de Software
SOFTWARE EMBUTIDO: usado para controlar produtos e
sistemas para os mercados industriais e de consumo –
produtos inteligentes.
• Baixa ou nenhuma interação com usuários.
• Alta interação com o hardware
• controle de microondas, de combustível, sistemas de
freio, injeção eletrônica.
• Podem se integrar utilizando a internet.
– Celular por exemplo, geladeira inteligente, carro inteligente.
Aplicações de Software
SOFTWARE DE INTELIGÊNCIA ARTIFICIAL: faz
uso de algoritmos não numéricos para resolver
problemas que não sejam favoráveis à
computação ou à análise direta.
• sistemas especialistas, reconhecimento de
padrões, redes neurais, jogos, ...
• A internet é um ambiente propicio para software que
fazem parte desta categoria.
Aplicações de Software
SOFTWARE DE COMPUTADOR PESSOAL: são
software desenvolvidos especificamente para
automatizar atividades do dia a dia da pessoa.
Processamento de textos, planilhas eletrônicas,
computação gráfica, diversões, comunicação,
etc.
Jogos.
Uma das áreas com mais aplicação na web.
Aplicações de Software
SOFTWARE COMERCIAIS: sistemas de operações
comerciais e tomadas de decisões administrativas
• folha de pagamentos, contas a pagar e a receber, ...
• A outra grande área de aplicações Web.
• Foco deste curso