Ciências da computação dia 79

Engenharia de Software

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