Uma breve introdução à Engenharia de Software
Engenharia de Software é uma área específica da Computação, voltada para especificação, desenvolvimento, manutenção e criação de software com a aplicação de tecnologias e práticas de gerência de projeto e outras disciplinas visando organização. produtividade e qualidade. Basicamente, é aquela disciplina que vai impedir você de entregar um POG, um Projeto Orientado a Gambiarra. Por isso, é de extrema importância, veja a imagem abaixo para entender melhor!
https://estudantedesenvolvedor.wordpress.com/2013/08/23/engenharia-de-software-o-que-e-001/ |
Existem vários motivos, mas o primordial é que ela é global, ou seja, desde de um jogo, até um robô, ela está lá, para otimizar o desenvolvimento. Assim, se você quer ingressar no mercado, você, como um ótimo desenvolvedor, deve, pelo menos, saber boa parte de Engenharia de Software. Além disso, há uma enorme demanda de Engenheiros de Software no mercado, de acordo com o relatório da SOFTEX:
No mercado de trabalho, o desenvolvedor irá se deparar com diversos problemas, um deles é o produto, o outro é a manutenção dele, e também, não menos, o cliente (enfase nesse, porque ô, bixinho, para dar problema). É aí, que a Engenharia entra, ela será responsável por manter, em constante expansão, o processo de desenvolvimento, e facilitando a comunicação entre desenvolvedor e cliente, por exemplo, imagine um cliente e sua equipe, o cliente, exigente como de praxe, pede para em tempo recorde entregar o projeto, você como um desenvolvedor eficiente, aceita o desafio, daí você lembra das aulas de ES I, e aplica o padrão de projeto de desenvolvimento ágil, esse padrão de projeto valoriza mais a interação com o cliente, do que documentação, ferramentas e entre outros. Logo, você consegue entregar o projeto, eficiente, sem bugs e otimizado, EM TEORIA. E é pra isso, que a Engenharia de Software está aí, para resolver problemas como esse, valorize-a!
O que ela estuda?
As princípios-chaves para isso são:
O que ela estuda?
As princípios-chaves para isso são:
- Rigor e formalidade
- Separação de Interesses
- Modularidade
- Abstração
- Antecipação a Mudança
- Generalidade
- Incrementação
Essas coisas que já vimos na disciplina de Programação Orientada a Objetos, se transformam, nisto (as áreas de conhecimento):
- Requisitos de Software
- Padrões de Projeto
- Construção de Software
- Teste de Software
- Manutenção de Software
- Gerencia de Configuração
- Processos de Software
- Qualidade de Software
O terceiro parágrafo tem vírgulas demais, a leitura ficou pouco fluída.
ResponderExcluirUm desenvolvedor atendo às boas práticas de desenvolvimento tem muita vantagem em relação àqueles que passam a vida na base da gambiarra. Imagine se te perguntam o que determinada parte do código faz e você não sabe responder o porquê (nunca me aconteceu kkkkkk).
ResponderExcluir"Essas coisas que já vimos na disciplina de Programação Orientada a Objetos..." ? kkkkkk
ResponderExcluirAcharia legal vc falar sobre PMBoK e Scrum como metodologias de desenvolvimento de projetos, só para acrescentar se quiser!
ResponderExcluirEu não lembro da gente ter visto a disciplina de programação orientada a objetos ainda, mas tirando isso o post ficou legal e entendível.
ResponderExcluirAcharia interessante focar também na licitação de requisitos, uma vez que muitos projetos acabam fracassando por acabar fugindo dos padrões solicitados por seus clientes. Ademais é necessário mostrar algumas metodologias de trabalho que podem colaborar e minimizar os erros de projetos.
ResponderExcluir