Criou página com '= Análise do Sotware = <br> No início: * Programação era uma forma de arte * Poucos métodos formais eram aplicados * Esquema baseado em tentativa e erro * Mundo in...'
 
Página substituída por 'Continuação da aula de ESOF - 10/03/11 Exercícios de atualização <br>'
 
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>

Edição atual tal como às 21h27min de 17 de março de 2011

Continuação da aula de ESOF - 10/03/11 Exercícios de atualização