Ciências da computação dia 79
Para um engenheiro de software, é muito melhor que um cliente de um problema, do que diga como deve ser a solução, uma vez que o cliente nem sempre sabe o que ele quer de fato, muito menos como resolver de fato o problema dele.
O principal esforço do engenheiro é entender bem o problema.
Segundo a IEEE, engenharia de software é uma área de estudos e também a aplicação de técnicas e metodologias.
camadas da engenharia de software
1 — Qualidade — QA por exemplo
2 — Processos — Sequência de passos para uma atividade
3 — Métodos
4 — Ferramentas
obs: esse sequência é do mais importante para o menos importante. Isso presume que a maior preocupação de um engenheiro de software é com a qualidade
5 principais processos para o desenvolvimento de software
1 — Comunicação — isso começa na hora de entender o real problema
2 — Planejamento — saber como tudo vai ser feito, passo a passo
3 — Modelagem — esboço do projeto
4 — construção — desenvolvimento do projeto
5 — Emprego — o uso do software, implementação e feedback
Esse processo não muda de software para software, apenas o volume e a complexidade
Quanto mais tempo você demora para encontrar e resolver um problema/bug, mais caro e difícil é para corrigir.
7 princípios da engenharia de software
1 — razão de existir — um software é feito para ajudar os usuários
2 — kiss(keep it simple, stupid!) —software precisa ser fácil e intuitivo de manter e usar
3 — mantenha a visão — visão clara da arquitetura do projeto
4 — o que um produz os outros consomem — todos devem entender o que o software é, como funciona, para que foi feito, etc. Documentação e clara implementação ajuda nisso
5 — Esteja aberto para o futuro — o sistema deve estar pronto para receber mudanças e adaptações
6 — Planeje pensando na reutilização —pensar em componentes genéricos o suficiente para serem reutilizados
7 — pense — pense bem antes antes de fazer qualquer coisa