A engenharia de software consiste na preocupação com a escalabilidade de uma apliação, na sua versatilidade e na sua viabilidade de implantação em desssa em diferentes contextos, além de se minimixar as consequencias negativas e maximisar os os ganhjos com cada decisão tecnica tomada ao longo do desenvolvimento do projeto.
1- O que é software? Qual relação com programação? Softwares são rotinas de comandos executadas por microcontroladores e sisitemas lógicos. 2- O que esão requisitos? São condições que um software deve cumprir. 2.1- Funcionais? São requisitos de funconalidade que um software deve atender. 2.2- Não-funcionais? São requisitos muito mais tecnicos, que não necessariamente são perceptiveis durante o uso da aplicação. 2.3- De dois exemplos de trade-offs em requisitos não-funcionais Primeiro exemplo: Segurança vs usabilidade, um programa com rigorosos sistemas de segurança pode ter limitações de usabilidade, UX, e tempo de resposta Segundo exemplo: Disponibilidade vs escalabilidade: Garantir alta disponibilidade de um software pode requerer a duplicação de servidores e recursos, o que pode limitar a escalabilidade.