Postagens

Testes: A Base da Qualidade em Engenharia de Software

Imagem
  Lidar com código 'bugado' faz parte da rotina de qualquer programador desde os primórdios da programação. Os bugs acompanham os desenvolvedores, exigindo paciência e atenção constantes, e mesmo após horas dedicadas ao processo de depuração, o sistema ainda pode apresentar falhas graves, capazes de gerar grandes dores de cabeça para quem é responsável por mantê-lo funcionando. Pensando em melhorar o processo de desenvolvimento, a partir de 1957 começam a surgir obras como Digital Computer Programming, de Daniel D. McCracken, que passaram a discutir a etapa de testes como parte integrante do desenvolvimento. Posteriormente, em 1973, William Hetzel publicou um dos primeiros livros dedicados exclusivamente ao tema, chamado Program Test Methods, formalizando muitas das etapas envolvidas. Desde então, o processo de testes se tornou uma etapa fundamental no ciclo de desenvolvimento de software, trazendo mais confiança e reduzindo imprevistos no produto final. Por que os testes s...

Metodologias Ágeis: Uma revolução na Engenharia de Software

Imagem
  Por que Metodologias Ágeis Revolucionaram a Engenharia de Software?      Com a rápida evolução da tecnologia e das demandas dos usuários, as formas tradicionais de desenvolver software, como o famoso modelo cascata, de forma que passaram a não dar conta do recado. Foi nesse contexto que surgiram as metodologias ágeis, transformando a forma como equipes de software trabalham, entregam e se adaptam.       Neste post, você vai entender o que são metodologias ágeis, como elas funcionam na prática e por que fazem tanta diferença no dia a dia de times de desenvolvimento. O Que São Metodologias Ágeis?           As metodologias ágeis são abordagens de desenvolvimento de software que priorizam flexibilidade, colaboração e entregas rápidas e contínuas. Como explica Pressman (2016) em Engenharia de Software, os métodos ágeis priorizam entregas incrementais para lidar com a mudança constante nos requisitos.      ...

Técnicas de elicitação, Documentação e especificação e Gerenciamento de mudanças de requisitos

Imagem
  Técnicas de elicitação de requisitos     As técnicas de elicitação de requisitos são métodos utilizados para identificar, coletar  e compreender as necessidades dos usuários e stakeholders em relação a um  sistema ou produto a ser desenvolvido. Essas técnicas são aplicadas na fase inicial  do desenvolvimento de software e visam garantir que o produto final atenda às  expectativas e necessidades dos usuários.  Técnicas Comuns de Elicitação de Requisitos: Entrevistas:  Consistem em conversas com os usuários e stakeholders para coletar informações sobre suas necessidades, expectativas e problemas.  Questionários:  Utilizados para coletar dados de um grande número de pessoas de forma padronizada, permitindo a análise estatística dos resultados.  Observação:  Envolve a observação do comportamento dos usuários em seu ambiente de trabalho para entender como eles realizam suas tarefas e identificar necessidades não explicitadas....

Software em Construção: Do Conceito ao Fim da Vida (e Além!)

Imagem
O que é um ciclo de vida do software? Assim como qualquer construção, o desenvolvimento de software segue etapas estruturadas para garantir qualidade, entregas dentro do prazo e do orçamento estabelecidos, redução dos riscos do projeto e para atender às expectativas do cliente durante e depois da produção. Os processos decorrido desde o momento da concepção de um software até sua obsolescência é chamado Ciclo de Vida do Desenvolvimento de Software (em inglês - SDLC - Software Development life Cycle ). Fonte: LEVTY. Fases do ciclo de vida do desenvolvimento de software [Imagem 1] Quais são as etapas do ciclo de vida do software? Planejamento e Análise de Requisitos Esta é a fase que vai alinhar a equipe sobre o que está sendo construído, o que ele deve realmente fazer e por quê. Nesta fase são identificadas, coletadas e documentadas as expectativas, funcionalidades, restrições, o público alvo, regra de negócio. Projeto d...

O que é Engenharia de Software?

Imagem
Você sabia que estamos vivendo uma revolução? Também conhecida como Revolução Indústria 4.0, esta revolução é caracterizada pela integração de novas tecnologias digitais, como:  Inteligência Artificial (IA), Computação em Nuvem, Impressão 3D, Realidade Virtual e Aumentada e/ou Internet das Coisas (IoT). Sempre teve interesse em entender como foi possível essa evolução na humanidade? Calma, deixa eu te explicar, toda essa evolução só foi possível porque profissionais e estudiosos da área estabeleceram princípios, regras e normas que organizam o desenvolvimento de sistemas. É aí que entra a Engenharia de Software, a disciplina que transforma ideias em programas confiáveis, seguros e capazes de acompanhar as mudanças do mundo. Espera, você não sabe o que é Engenharia de Software ?  ...