Fundamentos e Práticas da Engenharia de Software
Classificado em Tecnologia
Escrito em em
português com um tamanho de 4,58 KB
A Importância da Engenharia de Software
O termo foi introduzido no final dos anos 60 devido à "crise do software", resultado da introdução da terceira geração de hardware. O equipamento deixou de ser um impedimento para o desenvolvimento de tecnologia da informação, focando na redução de custos e na melhoria da qualidade e eficiência do software produzido.
A crise foi caracterizada pelos seguintes problemas:
- Projeto pouco claro;
- Falhas no planejamento e estimativa de custos;
- Má qualidade do software;
- Dificuldade em manter programas não estruturados.
O desenvolvimento de software efetivo e barato requer características como confiabilidade, facilidade de manutenção, usabilidade e eficiência.
1 Conceito de Engenharia de Software
A Engenharia de Software é uma área da Ciência da Computação que oferece métodos e técnicas para desenvolver e manter softwares de qualidade que resolvam problemas diversos. Atualmente, é uma profissão estabelecida internacionalmente, com prestígio social e um futuro promissor.
A área abrange o ciclo de vida de sistemas de informação aplicados em setores como negócios, medicina, manufatura, logística, serviços bancários e web.
2 Métodos, Técnicas e Ferramentas
- Método: Série de etapas sucessivas que levam a um objetivo, permitindo generalizar e resolver problemas futuros.
- Técnica: Procedimentos para obter um resultado, exigindo destreza manual e intelectual.
- Ferramenta: Submódulo responsável por funções específicas para executar uma tarefa.
Ferramentas CASE
As ferramentas Computer Aided Software Engineering (CASE) são aplicações projetadas para aumentar a produtividade e reduzir custos no desenvolvimento de software. Elas auxiliam em tarefas como desenho de projetos, implementação automática de código, compilação, documentação e detecção de erros.
Classificação das ferramentas CASE:
- Upper CASE (U-CASE): Planejamento, análise de requisitos e estratégia.
- Middle CASE (M-CASE): Automação de design e análise.
- Lower CASE (L-CASE): Geração de código, testes e depuração.
História da Engenharia de Software
O termo foi usado pela primeira vez por Fritz Bauer em 1968, durante uma conferência da OTAN. Segundo Alan Davis, é a "aplicação inteligente de princípios, técnicas e ferramentas para a criação e manutenção de software que atenda às necessidades dos usuários com custo razoável".
1 A Crise do Software
O ambiente de desenvolvimento sofre com atrasos, baixa produtividade, taxas de manutenção elevadas e falta de confiabilidade. A crise é um problema crônico causado pela falta de formalismo, metodologia e gestão eficaz.
2 Objetivos da Engenharia de Software
- Melhorar a qualidade dos processos e produtos;
- Aumentar a produtividade e a satisfação dos engenheiros.
3 Mitos do Software
Mitos dos Desenvolvedores:
- Executar o programa é o fim do trabalho;
- Qualidade é apenas o programa rodar sem erros;
- Prestação de serviços é apenas o programa em execução.
Mitos da Gestão:
- Uso de normas e ferramentas resolve tudo;
- Falta de planejamento pode ser compensada adicionando mais programadores.
Mitos do Cliente:
- Condições estabelecidas como declaração geral de objetivos;
- A crença na flexibilidade total do software a mudanças.
Foco da Engenharia de Computação
Aplica fundamentos da ciência da computação, eletrônica e engenharia de software para o desenvolvimento de sistemas integrados. Baseia-se na tecnologia eletrônica para interagir com sistemas físicos, como:
- Interfaces de comunicação entre computador e dispositivos mecânicos;
- Sistemas de aquisição de dados e instrumentação virtual;
- Controle de robôs e sistemas de iluminação.
Tendências em Engenharia de Software
A indústria busca sistemas confiáveis e de alta qualidade com menor custo. A tecnologia orientada a objetos destaca-se pela modularidade, adaptabilidade e reutilização. Combinada com ferramentas CASE, programação visual e bibliotecas de classes, ela permite o salto de qualidade necessário para resolver problemas complexos modernos.