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