Sem resumo de edição |
|||
| Linha 16: | Linha 16: | ||
* Mundo indisciplinado | * Mundo indisciplinado | ||
<br> | <br> | ||
| Linha 30: | Linha 29: | ||
* Existe uma demora na conclusão: | * Existe uma demora na conclusão: | ||
** Porque se usam métodos e ferramentas? | ** Porque se usam métodos e ferramentas? | ||
** Por que surgem tantos erros? | ** Por que surgem tantos erros? | ||
** Por que é difícil medir os erros? | ** Por que é difícil medir os erros? | ||
| Linha 42: | Linha 38: | ||
* Modismo inconsciente. | * Modismo inconsciente. | ||
<br> | <br> | ||
| Linha 62: | Linha 57: | ||
* Existem basicamente duas classificações: | * Existem basicamente duas classificações: | ||
** Produtos genéricos | ** Produtos genéricos | ||
** Produtos sob encomenda | ** Produtos sob encomenda | ||
<br><br> | |||
<br> | |||
<br> | |||
== O que é Engenharia de Software? == | == O que é Engenharia de Software? == | ||
<br> | <br> | ||
* Disciplina da engenharia relacionada a todos os aspectos de produção de software | * Disciplina da engenharia relacionada a todos os aspectos de produção de software | ||
** Abordagem sistemática e organizada | ** Abordagem sistemática e organizada | ||
** Atendendo a todos os ambiente. Ex: Web, móvel, dispositivos, etc. | ** Atendendo a todos os ambiente. Ex: Web, móvel, dispositivos, etc. | ||
<br><br> | <br><br> | ||
== Qual a diferença entre Engenharia de Software e Engenharia da Computação? == | == Qual a diferença entre Engenharia de Software e Engenharia da Computação? == | ||
<br> | <br> | ||
| Linha 101: | Linha 83: | ||
* Métodos ad hoc são necessários. | * Métodos ad hoc são necessários. | ||
<br><br> | <br><br> | ||
== Qual a diferença entre Engenharia de Software e Engenharia de Sistemas? == | == Qual a diferença entre Engenharia de Software e Engenharia de Sistemas? == | ||
<br> | <br> | ||
| Linha 114: | Linha 92: | ||
* Relacionada com todos os aspectos de desenvolvimento de sistemas baseados em hardware, software e engenharia de processo | * Relacionada com todos os aspectos de desenvolvimento de sistemas baseados em hardware, software e engenharia de processo | ||
<br> | <br> | ||
| Linha 120: | Linha 97: | ||
* Faz parte deste processo. | * Faz parte deste processo. | ||
<br> | <br> | ||
| Linha 128: | Linha 104: | ||
* Construção de um foguete. | * Construção de um foguete. | ||
<br><br> | <br><br> | ||
== O que é processo de software? == | == O que é processo de software? == | ||
<br> | <br> | ||
Conjunto de atividades cujo objetivo é o desenvolvimento ou evolução de software | Conjunto de atividades cujo objetivo é o desenvolvimento ou evolução de software | ||
<br><br> | <br><br> | ||
| Linha 148: | Linha 120: | ||
4. Evolução <br> | 4. Evolução <br> | ||
<br> | <br> | ||
== Como é a distribuição dos custos na criação de um software? == | == Como é a distribuição dos custos na criação de um software? == | ||
<br> | <br> | ||
| Linha 160: | Linha 129: | ||
* 40% => Testes e aceitação | * 40% => Testes e aceitação | ||
<br> | <br> | ||
| Linha 172: | Linha 140: | ||
* Reutilização | * Reutilização | ||
<br><br> | <br><br> | ||
== Quais são as principais categorias de software? == | == Quais são as principais categorias de software? == | ||
<br> | <br> | ||
| Linha 194: | Linha 159: | ||
* Software de IA => Programas que aprendem <br> | * Software de IA => Programas que aprendem <br> | ||
<br><br> | |||
<br> | |||
<br> | |||
== O que é CASE? == | == O que é CASE? == | ||
<br> | <br> | ||
Acrônimo de ''Computer-Aided Software Engineering'' | Acrônimo de ''Computer-Aided Software Engineering'' | ||
<br><br> | <br><br> | ||
Sistemas de software que fornecem apoio automatizado para atividades de processo de software. | Sistemas de software que fornecem apoio automatizado para atividades de processo de software. | ||
<br> | <br> | ||
| Linha 235: | Linha 194: | ||
* Depuração | * Depuração | ||
<br><br> | <br><br> | ||
== Quais são os atributos de um bom software? == | == Quais são os atributos de um bom software? == | ||
<br> | <br> | ||
* Facilidade de manutenção: Deve permitir evolução simplificada | * Facilidade de manutenção: Deve permitir evolução simplificada | ||
<br> | <br> | ||
* Confiança: Confiabilidade, proteção e segurança | * Confiança: Confiabilidade, proteção e segurança | ||
<br> | <br> | ||
* Eficiência: Não deve desperdiçar recursos do sistema | * Eficiência: Não deve desperdiçar recursos do sistema | ||
<br> | <br> | ||
* Usabilidade: Deve apresentar uma interface amigável com o usuário e documentação adequada <br> | * Usabilidade: Deve apresentar uma interface amigável com o usuário e documentação adequada <br> | ||
<br><br> | <br><br> | ||
== Quais os desafios-chave de ESOF? == | == Quais os desafios-chave de ESOF? == | ||
<br> | <br> | ||
* Heterogeneidade: Flexibilidade, adaptação | * Heterogeneidade: Flexibilidade, adaptação | ||
<br> | <br> | ||
* Entrega: Menor tempo de desenvolvimento mantendo a qualidade | * Entrega: Menor tempo de desenvolvimento mantendo a qualidade | ||
<br> | <br> | ||
* Confiança: Técnicas que mantenham a fidelidade do usuário. | * Confiança: Técnicas que mantenham a fidelidade do usuário. | ||
<br><br> | <br><br> | ||
Edição das 09h38min de 22 de abril de 2011
Análise do Software
No início:
- Programação era uma forma de arte
- Poucos métodos formais eram aplicados
- Esquema baseado em tentativa e erro
- Mundo indisciplinado
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.
FAQ (Frequently Asked Questions)
O que é software?
- 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
O que é Engenharia de Software?
- 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.
Qual a diferença entre Engenharia de Software e Engenharia da Computação?
- 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.
Qual a diferença entre Engenharia de Software e Engenharia de Sistemas?
Engenharia de Sistemas:
- Relacionada com todos os aspectos de desenvolvimento de sistemas baseados em hardware, software e engenharia de processo
Engenharia de Software:
- Faz parte deste processo.
Exemplos:
- Sistemas industriais complexos
- Construção de um foguete.
O que é processo de software?
Conjunto de atividades cujo objetivo é o desenvolvimento ou evolução de software
1. Especificação
2. Desenvolvimento
3. Validação
4. Evolução
Como é a distribuição dos custos na criação de um software?
- 60% => Desenvolvimento
- 40% => Testes e aceitação
Depende de algumas variáveis:
- Porte do sistema
- Integração
- Tempo de vida
- Reutilização
Quais são as principais categorias de software?
- Software básico => Linguagens baixo nível
- Software tempo real => Resposta imediata
- Software comercial => Aplicações especificas
- Software científico => Envolvem complexidade
- Software embutido => Embarcado em dispositivos
- Software para PC => Aplicações comuns
- Software de IA => Programas que aprendem
O que é CASE?
Acrônimo de Computer-Aided Software Engineering
Sistemas de software que fornecem apoio automatizado para atividades de processo de software.
- 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
Quais são os atributos de um bom software?
- Facilidade de manutenção: Deve permitir evolução simplificada
- Confiança: Confiabilidade, proteção e segurança
- Eficiência: Não deve desperdiçar recursos do sistema
- Usabilidade: Deve apresentar uma interface amigável com o usuário e documentação adequada
Quais os desafios-chave de ESOF?
- Heterogeneidade: Flexibilidade, adaptação
- Entrega: Menor tempo de desenvolvimento mantendo a qualidade
- Confiança: Técnicas que mantenham a fidelidade do usuário.