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