|
|
| Linha 1: |
Linha 1: |
| = Análise do Sotware =
| | Continuação da aula de [[ESOF - 10/03/11]] Exercícios de atualização <br> |
| | |
| <br>
| |
| | |
| No início:
| |
| | |
| | |
| * Programação era uma forma de arte
| |
| | |
| | |
| * Poucos métodos formais eram aplicados
| |
| | |
| | |
| * Esquema baseado em tentativa e erro
| |
| | |
| | |
| * Mundo indisciplinado
| |
| | |
| | |
| <br>
| |
| | |
| Atualmente:
| |
| | |
| | |
| * Software é o item de maior custo
| |
| | |
| | |
| * Está presente em 99% dos negócios
| |
| | |
| | |
| * Existe uma demora na conclusão:
| |
| | |
| ** Porque se usam métodos e ferramentas?
| |
| | |
| ** Por que surgem tantos erros?
| |
| | |
| ** Por que é difícil medir os erros?
| |
| | |
| | |
| * Alto volume de manutenção nas aplicações
| |
| | |
| | |
| * Modismo inconsciente.
| |
| | |
| <br>
| |
| | |
| | |
| = FAQ (Frequently Asked Questions) =
| |
| | |
| | |
| <br>
| |
| | |
| == O que é software? ==
| |
| | |
| <br>
| |
| | |
| * Instruções que quando executadas, produzem a função e o desempenho desejados
| |
| | |
| * Estruturas de dados que permitem a manipulação das informações
| |
| | |
| * Documentos que descrevem a operação e o uso dos programas
| |
| | |
| | |
| * Existem basicamente duas classificações:
| |
| | |
| ** Produtos genéricos
| |
| | |
| ** Produtos sob encomenda
| |
| | |
| | |
| <br>
| |
| | |
| <br>
| |
| | |
| | |
| == O que é Engenharia de Software? ==
| |
| | |
| <br>
| |
| | |
| * Disciplina da engenharia relacionada a todos os aspectos de produção de software
| |
| | |
| ** Abordagem sistemática e organizada
| |
| | |
| ** Atendendo a todos os ambiente. Ex: Web, móvel, dispositivos, etc.
| |
| | |
| | |
| | |
| <br><br>
| |
| | |
| | |
| == Qual a diferença entre Engenharia de Software e Engenharia da Computação? ==
| |
| | |
| <br>
| |
| | |
| * Engenharia de Computação: Relação com teorias e fundamentos
| |
| | |
| | |
| * Engenharia de Software: Relação com a prática de desenvolvimento e entrega de software útil e de qualidade.
| |
| | |
| | |
| * Ideal: Engenheiro se basear na teoria da Ciência da Computação
| |
| | |
| * Métodos ad hoc são necessários.
| |
| | |
| | |
| | |
| <br><br>
| |
| | |
| | |
| == Qual a diferença entre Engenharia de Software e Engenharia de Sistemas? ==
| |
| | |
| <br>
| |
| | |
| Engenharia de Sistemas:
| |
| | |
| * Relacionada com todos os aspectos de desenvolvimento de sistemas baseados em hardware, software e engenharia de processo
| |
| | |
| <br>
| |
| | |
| Engenharia de Software:
| |
| | |
| * Faz parte deste processo.
| |
| | |
| <br>
| |
| | |
| Exemplos:
| |
| | |
| * Sistemas industriais complexos
| |
| | |
| * Construção de um foguete.
| |
| | |
| | |
| <br><br>
| |
| | |
| | |
| == O que é processo de software? ==
| |
| | |
| <br>
| |
| | |
| Conjunto de atividades cujo objetivo é o desenvolvimento ou evolução de software
| |
| | |
| <br><br>
| |
| | |
| 1. Especificação<br>
| |
| | |
| 2. Desenvolvimento <br>
| |
| | |
| 3. Validação <br>
| |
| | |
| 4. Evolução <br>
| |
| | |
| | |
| <br>
| |
| | |
| | |
| == Como é a distribuição dos custos na criação de um software? ==
| |
| | |
| <br>
| |
| | |
| * 60% => Desenvolvimento
| |
| | |
| * 40% => Testes e aceitação
| |
| | |
| <br>
| |
| | |
| Depende de algumas variáveis:
| |
| | |
| * Porte do sistema
| |
| | |
| * Integração
| |
| | |
| * Tempo de vida
| |
| | |
| * Reutilização
| |
| | |
| | |
| <br><br>
| |
| | |
| | |
| == Quais são as principais categorias de software? ==
| |
| | |
| <br>
| |
| | |
| * Software básico => Linguagens baixo nível <br><br>
| |
| | |
| * Software tempo real => Resposta imediata <br> <br>
| |
| | |
| * Software comercial => Aplicações especificas <br><br>
| |
| | |
| * Software científico => Envolvem complexidade <br><br>
| |
| | |
| * Software embutido => Embarcado em dispositivos <br><br>
| |
| | |
| * Software para PC => Aplicações comuns <br><br>
| |
| | |
| * Software de IA => Programas que aprendem <br>
| |
| | |
| <br>
| |
| | |
| <br>
| |
| | |
| | |
| == O que é CASE? ==
| |
| | |
| <br>
| |
| | |
| Acrônimo de ''Computer-Aided Software Engineering''
| |
| | |
| <br><br>
| |
| | |
| Sistemas de software que fornecem apoio automatizado para atividades de processo de software.
| |
| | |
| <br>
| |
| | |
| * Controle de Versão
| |
| | |
| * Gerência de Projetos
| |
| | |
| * Edição
| |
| | |
| * Planejamento
| |
| | |
| * Prototipagem
| |
| | |
| * Teste
| |
| | |
| * Documentação
| |
| | |
| * Análise de Programa
| |
| | |
| * Métricas
| |
| | |
| * Programação
| |
| | |
| * Reengenharia
| |
| | |
| * Depuração
| |
| | |
| | |
| <br><br>
| |
| | |
| | |
| == Quais são os atributos de um bom software? ==
| |
| | |
| <br>
| |
| | |
| * Facilidade de manutenção: Deve permitir evolução simplificada
| |
| | |
| <br>
| |
| | |
| * Confiança: Confiabilidade, proteção e segurança
| |
| | |
| <br>
| |
| | |
| * Eficiência: Não deve desperdiçar recursos do sistema
| |
| | |
| <br>
| |
| | |
| * Usabilidade: Deve apresentar uma interface amigável com o usuário e documentação adequada <br>
| |
| | |
| | |
| <br><br>
| |
| | |
| | |
| == Quais os desafios-chave de ESOF? ==
| |
| | |
| <br>
| |
| | |
| * Heterogeneidade: Flexibilidade, adaptação
| |
| | |
| <br>
| |
| | |
| * Entrega: Menor tempo de desenvolvimento mantendo a qualidade
| |
| | |
| <br>
| |
| | |
| * Confiança: Técnicas que mantenham a fidelidade do usuário.
| |
| | |
| | |
| <br><br>
| |
Continuação da aula de ESOF - 10/03/11 Exercícios de atualização