Engenharia de Software - Visão Geral
A engenharia de software é uma tecnologia baseada em camadas e, que fornece vários modelos abstratos e precisos e técnicas que permitem o engenheiro analisar os requisitos de sistema, projetar, programar e manter sistemas, dando assim o apoio para a construção e desenvolvimento de software com qualidade.
Como é uma tecnologia em camadas significa que a engenharia de software se baseia então em etapas específicas de tarefas, que propõe cumprir de forma organizada e ágil metas de objetivos que compõe essas mesmas tarefas de suas respectivas camadas.
Tem uma gama ampla de princípios sólidos disciplinados, que foram estabelecidos e organizados como um conjunto de conhecimentos que são usados no apoio de desenvolvimento de software de forma econômica confiável e funcional.
A engenharia de software pode ser considerada como a disciplina de engenharia na qual está relacionada com os aspectos da produção de software, incluindo seus estágios iniciais de especificação e até da sua fase final é um ramo da engenharia em que percebe-se um foco direcionado para o desenvolvimento dentro de custos adequados e sistemas de qualidade.
Por si só, a o que forma a engenharia de software, são teorias métodos ferramentas aplicadas por engenheiros, que fazem as coisas funcionarem mesmo quando estas ferramentas métodos e técnicas não são eficientes, sendo assim um engenheiro procura as melhores soluções e tenta descobrir melhores caminhos e métodos para solução de problemas.
Desenvolver sistemas necessita de métodos, limitações e planejamento. A engenharia de software tem com objetivo apoiar, e orientar, com técnicas e métodos que são necessários para controlar a complexidade que pode se atingir no desenvolvimento de um sistema. Essas técnicas são potencialmente utilizadas hoje em dia, pois aumentou necessidades se ter softwares com complexidade alta para atender a novos requisitos e novas tecnologias, aplicado em interfaces de sistemas de informação mais completos.
A engenharia de software abrange as áreas não somente de software, pois atividades como gerenciamento de projetos, de uso de ferramentas, métodos, teorias e aspectos organizacionais, são contemplados na abordagem sistêmica adotada por engenheiros, e utilizadas coerentemente com o objetivo de produzir sistemas de maneira mais eficaz e com alta qualidade.
Possui vários modelos de processo de software, esses modelos são descrições simplificada de um processo que inclui atividades descritas e técnicas para o processo de concepção de software. O processo de software é justamente esse conjunto de atividades e seus resultados, que são empregados para produzir um produto.
Estes processos de software são complexos, por que podem envolver o desenvolvimento de sistemas e até utilizar a necessidades de avaliação, julgamento e criatividade humana, sendo assim impossível ter um processo totalmente automatizado.
Existem ferramentas de engenharia de software auxiliada por computador, que podem apoiar algumas atividades do processo, mas, este é apenas um apoio, pois a possibilidade de se ter automação no desenvolvimento de software de forma criativa e automatizado ainda parece estar longe da realidade.
Para maiores conhecimentos, recomento a leitura de obra dos autores:
SOMMERVILLE, Ian. Engenharia de Software. - 8. ed. São Paulo: Pearson Addison Wesley, 2007.
PRESSMAN, Roger S. Engenharia de Software. São Paulo: Pearson Education do Brasil, 1995.
Autor: Rodolfo Leão Duarte Silva
Artigos Relacionados
A Essencialidade Da Engenharia De Software
Engenharia De Componentes
Quando Aplicar A Reengenharia De Software
Engenharia Aplicada No Desenvolvimento De AplicaÇÕes Web
Engenharia De Software
Um Breve Estudo Sobre A Metodologia ágil Fdd
O Que é Software Livre