TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Engenharia de Software

Por:   •  13/6/2015  •  Trabalho acadêmico  •  2.020 Palavras (9 Páginas)  •  310 Visualizações

Página 1 de 9

Engenharia de Software

Introdução

  • Praticamente todos os países hoje em dia dependem de software:
  • Infraestrutura e serviços nacionais governamentais (fazenda, INSS, sistema eleitoral, etc.) utilizam sistemas computadorizados;
  • A indústria, o comércio e o sistema financeiro dos países desenvolvidos encontram-se hoje plenamente automatizados;
  • Maioria dos produtos elétricos lançados atualmente incluem um computador e um software de controle.

Software

  • Presente em todas as áreas da economia;
  • Representa uma fração significativa do PIB dos países desenvolvidos.
  • Em conseqüência disso, produzir e manter software de qualidade dentro de custos e prazos adequados é fundamental para o bom funcionamento da economia das nações.

Características do software

  • Abstrato e intangível, não é limitado por materiais nem é controlado pelas leis da física;
  • Potencial ilimitado devido a ausência de restrições;
  • Ausência de restrições a criação de software favorece a complexidade e dificulta a compreensão do mesmo.

Crise do software

  • Tem sua origem na evolução tecnológica, que viabilizou a construção, a custo baixo, de hardware cada vez mais poderoso;
  • Aumento do poder computacional viabilizou a construção de aplicações até então consideradas inviáveis;
  • Software desenvolvido para aproveitar o novo potencial computacional era várias vezes maior e mais complexo que os sistemas construídos anteriormente.
  • Enquanto os custos de hardware caíam, os custos de software aumentavam rapidamente;
  • Projetos iniciados não raras vezes eram abandonados sem serem concluídos;
  • O software desenvolvido:

 

  • Era entregue com grande atraso;
  • Possuía defeitos (bugs);
  • Não era confiável;
  • Era difícil de manter;
  • Custava bem mais caro que o previsto inicialmente.
  • A experiência com projetos mal-sucedidos mostrou que o processo informal utilizado anteriormente para construir software não era suficiente para desenvolver os novos sistemas;
  • Novas técnicas e métodos eram necessários para controlar a complexidade inerente aos grandes sistemas de software;
  • Essas técnicas tornaram-se parte da engenharia de software, sendo amplamente utilizadas hoje em dia.

O que é software?

  • Um software consiste de:
  • Arquivos de configuração;
  • Documentação do software, que descreve a estrutura do sistema, como documento de requisitos e modelos que descrevem o projeto do mesmo;
  • Documentação do usuário, necessária para operar corretamente o sistema;
  • Programas que realizam as funções de interesse do usuário.
  • Podem ser desenvolvidos para um cliente específico ou para o mercado.

Tipos de software

  • Genérico:
  • São desenvolvidos para venda a diferentes tipos de consumidores;
  • Especificação é controlada pela organização que desenvolve o produto;
  • Ex: Word, Excel, etc.
  • Sob encomenda (customizados):
  • Desenvolvidos sob encomenda de um cliente;
  • Criados de acordo com a especificação fornecida pelo cliente.

Atributos de um bom software

  • Também chamados atributos não funcionais, estão relacionados diretamente a qualidade do software;
  • São universais, não estando relacionados diretamente com o que o software faz;
  • Dizem respeito tanto ao comportamento do software quando em execução quanto a sua estrutura.

Custo do software

  • Responde pela maior parte do custo de implantação de um sistema informatizado;
  • O custo do software envolve não apenas o seu desenvolvimento, mas também a sua implantação (estrutura para mantê-lo funcionando, treinamento dos usuários, etc) bem como a evolução do mesmo;
  • Uma das metas da engenharia de software é reduzir o custo do software.

Engenharia de software

  • Conceito surgiu em 1968, em uma conferência organizada para discutir a ‘crise do software’;
  • Ramo da engenharia que se tem como meta o desenvolvimento de software de alta qualidade dentro de prazos e custos adequados;
  • Abrange todos os aspectos da produção de software, desde os estágios iniciais da especificação do sistema, passando pelo desenvolvimento, entrega ao cliente e evolução (manutenção) do mesmo;
  • Não está relacionada apenas com os processos técnicos de construção de software, mas com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas, métodos e teorias que apóiem a produção de software.

Qual a diferença entre Engenharia de software e ciência da computação?

  • Ciência da computação:
  • Trata das teorias e métodos que constituem a base de computadores e sistemas de software;
  • Engenharia de software:
  • Utiliza teorias e métodos da ciência da computação, aplicando-os aos problemas práticos da produção de software.

Qual a diferença entre engenharia de software e engenharia de sistemas?

  • Engenharia de sistemas:
  • Disciplina mais antiga que a engenharia de software, diz respeito a todos os aspectos do desenvolvimento e da evolução de sistemas complexos, nos quais o software desempenha um papel importante;
  • Envolve a especificação e construção tanto do hardware como do software.

Custo da engenharia de software

  • Aproximadamente 60% dos custos são custos de desenvolvimento e 40% são custos de testes do sistema. Esses valores podem variar dependendo do:
  • Tipo de sistema sendo desenvolvido;
  • Requisitos do sistema, tais como performance e confiabilidade;
  • Processo utilizado na sua construção.
  • No caso de softwares customizados, custos de evolução costumam superar os custos de desenvolvimento.

Questões sobre o desenvolvimento de software

  • Algumas questões sobre o desenvolvimento de software:
  • Porque a construção de um software leva tanto tempo?
  • Porque desenvolver programas custa tão caro?
  • Porque softwares costumam ser entregues com defeitos (bugs)?
  • Porque não é possível encontrar todos os erros antes de entregar o software aos clientes?
  • Porque é tão difícil avaliar o progresso do desenvolvimento de um software?

Desenvolvimento de software

  • Diferente de produtos físicos, software não é fabricado, mas sim desenvolvido.
  • Custos se concentram no desenvolvimento. Produção de cópias extras custa pouco perto do que é gasto com o projeto e construção do programa.
  • A construção de produtos manufaturados é feita a partir de componentes padronizados e testados, diminuindo o tempo de desenvolvimento do produto e aumentando a sua confiabilidade;
  • Ao construir uma placa de hardware, um engenheiro seleciona as partes (diodos, resistores, chips, etc) que irão compor a placa a partir de catálogos.
  • Estes componentes possuem uma interface e uma função bem  definida, tendo eficácia comprovada.
  • Em caso de defeito em um componente, a sua substituição é simples de ser realizada.
  • Diferente do hardware, a maioria dos programas ainda é feita sob encomenda.
  • A maior parte do software desenvolvido não costuma ser reutilizado em outros projetos, aumentando o custo e o tempo de desenvolvimento;
  • Presença de erros é inevitável quando se produz código novo;
  • O conserto é mais difícil (e caro) do que no caso do hardware.

Alguns mitos do desenvolvimento de software

  • A especificação dos objetivos do software é suficiente para iniciar o desenvolvimento;
  • Uma descrição incompleta dos requisitos é o principal motivo do fracasso de projetos de software.
  • Se o desenvolvimento atrasar, basta contratar mais gente para colocá-lo em dia;
  • Adicionar mais pessoas a um projeto já atrasado pode atrasá-lo ainda mais.
  • O trabalho termina quando produzimos o programa e ele funciona.
  • A ausência de documentação tornará ainda mais difícil (e cara) a manutenção do software.
  • Mudanças e eventuais correções podem ser deixadas para o final do desenvolvimento, quando o programa estiver pronto.
  • A medida que o projeto avança, mais caro e difícil se tornam mudanças e correções.

Métodos de Engenharia de Software

...

Baixar como (para membros premium)  txt (13.3 Kb)   pdf (125.9 Kb)   docx (17.3 Kb)  
Continuar por mais 8 páginas »
Disponível apenas no TrabalhosGratuitos.com