Fechar

quinta-feira, 8 de julho de 2010

Engenharia de Software


Engenharia de Software


Atualmente todos os países do mundo dependem de complexos sistemas com base em computadores. Cada vez mais o software está presente em todos os lugares, ajudando a controlar processos indústrias, administração de escolas e de governos, sendo usados para educação e entretenimento. Por isso, construir softwares que apresentem uma boa relação custo benefício é essencial para a economia nacional e internacional. .
Um Software não é apenas um programa de computador, mas também toda a documentação que descreve sua estrutura juntamente com o manual de usuários e os dados de configuração necessários para fazer com que tudo opere corretamente. O software é abstrato e intangível, não é restrito por matérias e nem regido por leis físicas. Mas ainda assim os sistemas de software mais simples têm alta complexidade inerente, ocorrendo que muitos dos projetos de softwares ao longo dos anos, não conseguiram ser bem sucedidos, vários deles apresentando falhas graves e prejudicando os usuários e as empresas. Softwares, como todos os sistemas complexos, evoluem durante um período de tempo e os requisitos do negócio e do produto mudam frequentemente a medida que o desenvolvimento prossegue dificultando um caminho direto para um produto final.
A Engenharia de Software foi desenvolvida para ajudar a resolver problemas de construção de sistemas de software de grande porte e personalizados, destinados a aplicações governamentais, industriais e de defesa. A Engenharia de Software é uma disciplina da engenharia que está relacionada a todos os aspectos envolvendo a construção de software como a especificação, desenvolvimento, gerenciamento e evolução. As suas técnicas se assemelham com as utilizadas por engenheiros em automóveis, construção civil, dentre outros. Com base na Engenharia de Software, engenheiros de software podem usar métodos e teorias que sejam mais apropriados aos seus projetos para solucionar problemas e desenvolver software de maior qualidade.
Para auxiliar em uma ou várias etapas do ciclo de desenvolvimento de software a engenharia de software permite que o engenheiro faça uso de ferramentas CASE (engenharia de software com o uso do computador) com diferentes tipos de programas para apoiar as atividades de processos de software como analise de requisitos, a modelagem de sistemas, depuração e testes. Algumas delas ainda podem trazer geradores de códigos que automaticamente gera código-fonte com base nos diagramas.
Ao longo dos anos foram produzidos vários materiais relacionados à Engenharia de software contendo várias técnicas para sucesso no desenvolvimento de software. Em uma iniciativa do IEEE, um comitê foi reunido para organizar as técnicas mais relevantes em um documento com a finalidade de servir de referência em assuntos pertinentes a área de Engenharia de Software. O resultado desse trabalho foi o guia SWEBOK, que desmembra a engenharia de software em dez áreas de conhecimento:
• Requisitos de Software
• Projeto (Design) de Software
• Construção de Software
• Teste de Software
• Manutenção de software
• Gerência de Configuração de Software
• Gerência de Engenharia de Software
• Processos de Engenharia de Software
• Ferramentas e Métodos de Engenharia de Software
• Qualidade de Software

Pelo fato da engenharia de software ser uma área bastante abrangente, o SWEBOK não consegue abranger todas as áreas de conhecimento. Um dos problemas enfrentados é que a engenharia de software está em constante evolução mudando continuamente com base em novas tecnologias e praticas, fazendo com que o guia muitas das vezes fique defasado.
A Engenharia de software possui três principais desafios no século XXI :

Desafio do legado: A grande parte dos sistemas de software de hoje foram concebidos há alguns anos e, além disso, eles executam importantes funções que em sua maioria são de alta complexidade. O desafio do legado significa é poder manter estes softwares atualizados e manter os serviços essenciais ativos.

Desafio da heterogeneidade: A tendência dos sistemas de softwares de hoje é trabalhar como sistemas distribuídos, rodando em diferentes computadores com sistemas operacionais e programas auxiliares diferentes. O desafio da heterogeneidade é desenvolver sistemas confiáveis e estáveis que interajam entre se independente do ambiente.

Desafio do fornecimento: Muitas das técnicas de desenvolvimento tradicionais são muito demoradas, levando muito tempo para desenvolver sistemas de qualidade. O grande problema do desafio do fornecimento diz respeito a reduzir o tempo para fornecer sistemas complexos de qualidade em menos tempo.


REFERÊNCIAS

SOMERA, Guilherme. Treinamento Profissional em Delphi. ed. Digerati Books, São Paulo, 2007. ISBN: 978856048012-8

SOMMERVILLE, Ian. Engenharia de Software. 8a ed. Rio de Janeiro: Addison-Wesley, 2003. ISBN: 9788588639072.

SWEBOK 2004, Guide for the Software Engineering Body of Knowledge, 2004 version, IEEE Computer Society, California, EUA.






0 comentários:

Postar um comentário

Mais Populares

Seguidores

Є & V. Copyright 2011 Evaldo Avelar Marques - sprintrade network