Engenharia de software
A Engenharia de Software foi a disciplina de extrema importância no meu período de estágio na empresa. Logo abaixo descrevo os tópicos da área que foram maior utilidade.
Introdução
Devido à alta competitividade do mercado, as empresas passaram a investir em TI como meio de diminuição de custos. Mas o maior investimento no desenvolvimento de programas na década de 90 resultou em percentuais muito significativos de projetos de software abandonados ou que não atendiam às necessidades do cliente. Isso foi denominado de 'crise do software'.
Esse problema se deve principalmente a falta de uso de uma metodologia que permitisse com maior chance de sucesso implementar sistemas funcionais e adequados ao cliente. Muitas vezes o conjunto de requisitos levantados para implementação do sistema não é bem compreendido, tornando-o ineficaz para seus usuários, e sua correção pode ser muito difícil e custosa. Além disso, a dinâmica do mercado exige que um bom sistema tenha novas características, tais como extensibilidade e escalabilidade, de tal modo a reduzir o custo para se adequar a novos requisitos.
A Engenharia de Software é uma disciplina relativamente recente com o objetivo de sanar problemas como estes e prover um produto com boa relação custo-benefício, e que formaliza as metodologias para o desenvolvimento de sistemas de software.
Processo de Software
Um processo de software é um conjunto de atividades e resultados associados que levam a produção de um produto de software. Embora existam muitos processos de software, há atividades fundamentais comuns em todos eles:
Especificação de software - são definidas as funcionalidades e restrições do sistema.
Projeto e Implementação de software - o software é desenvolvido com o objetivo de cumprir a especificação
Validação de software - o sistema é validado pelos clientes de modo que atendam as suas necessidades.
Evolução de software - o software precisa evoluir para atender às novas