Olá sejam bem-vindos ao canal engenheria de software com ênfase um ml Eu sou professor julianes GES e eu já atuo na área de modelagem de software a vários anos eu tenho quatro vos publicados sobre o assunto eu já ministrei diversas palestras cursos técnicos so modelagem de software utilizando o ML na aula de hoje eu vou dar continuidade ao tema sobre verificação e validação dessa vez começando a aprofundar um pouco sobre inspeções Então vamos iniciar a nossa aula Então vou começar a falar sobre inspeções ainda vai ser um início uma introdução sobre inspeções Eu pretendo eh
gravar outros vídeos onde eu vou apresentar técnicas mais específicas dos diversos tipos de inspeções que podem ser realizados durante o processo de desenvolvimento de um software então falando brevemente sobre inspeções também conhecidos como revisões por pares entre outras denominações inspeções são atividades que tentam garantir a qualidade de um produto em que elas procuram encontrar erros omissões anomalias nos artefatos que estão sendo estão sendo inspecionados Lembrando que um artefato é qualquer produto decorrente do ciclo de desenvolvimento software pode ser entre outras possibilidades um documento especificações e requisitos eh modelos arquiteturais modelos de projeto detalhado eh testes
casos de testes resultados dos Testes código fonte entre outras possibilidades a as técnicas de inspeções elas são chamadas de técnicas estáticas porque elas não precisam do software concluído e executando Para poderem ser aplicados então Eh como eu falei as expressões elas podem ser utilizadas em todos os estágios do ciclo de desenvolvimento e elas podem analisar verificar validar qualquer artefato como por exemplo documentos especificações requisitos modelos de projeto modelos arquiteturais casos de teste código Fontes Aqui nós temos uma figura representando os alguns dos artefatos que podem ser inspecionado comparando com os artefatos que podem ser testáveis
essa figura foi inspirada e adaptada a partir do summerville Então as inspeções elas podem ser aplicadas em documentos especificações de requisitos modelos arquiteturais modelos de projeto casos de testes código fonte e podem ser também aplicadas em protótipos Ah já os testes eles se limitam a códigos fontes e protótipos então aqui uma pequena comparação entre entre as inspeções e os testes bom então as inspeções elas tendem a aumentar a qualidade do produto desenvolvido e a produtividade nos projetos uma vez que eh no momento que elas encontram erros falhas anomalias inconsistências a correção desses problemas eh torna
o projeto mais produtivo uma vez que eh esses erros não são encontrados no final do projeto ou mesmo quando o software instalado no cliente então o custo de corrigi-los é bem menor Ahã então como eu acabei de falar a prevenção de defeitos é melhor que a remoção de defeitos Ah e quando se corrige defeitos após o produto ter sido entregue então o nível de dificuldade para corrigir esses defeitos e o custo é muito mais alto comparativamente quando os erros são encontrados quando ainda está desenvolvendo o produto ah alguns requisitos que a equipe da inspeção precisa
ter isso ã levando em consideração também o tipo de inspeção que vai ser aplicado bom de forma geral a equipe de inspeção ela precisa ter conhecimento do software em termos de do que se espera que ele faça de quais devem ser as suas funcionalidades deve ter conhecimento do domínio do problema ou seja para onde o software se destina onde ele vai ser aplicado em que ambiente ele vai ser executado quais usuários finais irão utilizar quais usuários ele irá afetar e de acordo com o tipo de artefato que está sendo inspecionado é necessário ter conhecimento sobre
o padrão de especificação de requisitos adotado sobre a linguagem de modelagem utilizada por exemplo o ML e sobre a linguagem de programação que foi utilizada para desenvolver o software sessões tem algumas vantagens sobre testes algumas delas são que durante um teste Erros podem mascarar outros erros é comum que um erro num código Gere vários outros erros que na verdade não são erros do código mas são erros decorrente do primeiro erro Ah inspeções podem considerar atributos mais amplos de qualidade como por exemplo reusabilidade e manutenibilidade e inspeções não se limita ao código enquanto que os normalmente
são aplicados no código as inspeções elas podem ser aplicadas a qualquer artefato Como já foi falado Então vamos falar primeiro sobre o problema ou a vantagem que durante o texto durante o teste Erros podem mascarar outros erros Então como já foi falado quando um erro ele gera saídas inesperadas essas saídas inesperadas podem podem produzir diversos outros erros então então não há certeza se as novas anomalias as anomalias seguintes que foram encontradas são realmente anomalias do código ou se elas são devidas a um erro anterior ã ainda a inspeção ela é um processo estático então eu
não preciso me preocupar com as interações entre os erros então em uma única sessão eu posso encontrar muitos erros no software muitos erros Reis e não erros consequentes de outros erros Ah ainda uma inspeção ela pode considerar atributos mais amplos de qualidade esses atributos podem ser o cumprimento de normas e o atendimento de padrões deve-se verificar se o o padrão de especificação está sendo utilizado corretamente se as normas estão sendo obedecidas se se estão utilizando boas práticas de programação não se estão produzindo Ma Che de código ma cheiros de código são más práticas de programação
que podem eh levar a erros hã se o código está sendo desenvolvido de maneira que ele possa ser portável se de maneira que ele possa ser facilmente manuten vivel e se o código pode ser reutilizado de maneira razoavelmente fácil entre outras possibilidades hã ainda as inspeções Como já foi foi falado elas não se limitam ao código elas podem ser aplicadas sobre qualquer artefato produzido durante o desenvolvimento do software e como já foi falado pode se posicionar documentos requisitos modelos de projetos arquiteturais modelos de projetos detalhados casos de testes e não somente código agora as inspeções
de testes elas não são concorrentes elas são complementares entre si testes têm suas vantagens e pensões t suas vantagens As duas devem ser utilizadas durante a verificação Então as inspeções elas podem verificar a conformidade como com uma especificação de requisitos mas elas não podem verificar a conformidade do com os requisitos reais do software elas não têm essa capacidade para isso é necessário testes elas não podem verificar determinados requisitos não funcionais como por exemplo desempenho uma inspeção não é capaz de determinar o desempenho de um software a usabilidade uma inspeção normalmente não é capaz de determinar
a usabilidade do software até alguma coisa pode ser feita mas a real usabilidade do software tem que ser feita ã com os usuários finais testando o software funcionando mas elas podem Verificar como já falei a portabilidade do software a a manutenabilidade do produto e a reusabilidade do código por exemplo Ah aqui nós temos a uma figura representando as fases as fases do processo de inspeção essa figura foi inspirada e adaptada a partir do de Bertini então Aqui nós temos três ros de natação que representam o moderador que é o o líder o responsável pela inspeção
a equipe de inspeção propriamente dito e os autores do artefato Então primeiramente o moderador é vai selecionar os artefatos que precisam ser inspecionados vai retirar um conteúdo um conjunto de artefatos para inspeção vai selecionar uma equipe um conjunto de profissionais que irão inspecionar esses artefatos vai atribuir funções a cada membro da equipe vai realizar a apresentação geral dos artefatos vai demonstrar que artefatos devem ser inspecionados o conteúdo que eles contêm a informação que eles contém hã vai apresentar uma lista de de classes de tipos e defeitos que devem ser buscados de acordo com a técnica
de inspeção Ah vai apresentar os formulários que vão ser utilizados para execução da técnica de inspeção em questão e vai ah estabelecer uma data um horário e um local para que a inspeção seja realizada nada impede que essa inspeção seja feita ah online com vários participantes distribuídos geograficamente após isso a equipe de inspeção ela vai inspecionar os artefatos realmente aação vai ser executada e os defeitos encontrados vão ser documentados eh a partir desses defeitos encontrados os autores eles vão corrigir os artefatos que foram inspecionados os artefatos serão atualizados E então h o moderador irá revisar
as correções feitas muitas vezes emem conjunto com os autores para verificar se os artefatos foram corrigidos de forma correta se não foi deixado alguma falha algum defeito alguma anomalia Ahã vantagens das inspeções e revisões Então as inspeções Elas costumam aumentar a qualidade do produto e a produtividade dos projetos Porque como já foi falado no momento que se encontram erros anomalias defeitos conflitos inconsistências no início o custo para corrigi-los é muito menor já ao contrário se a correção dos defeitos for precisar ser feita após o produto ter sido entregue o custo é muito mais alto o
tempo demandado é muito mais alto e além disso existe a questão da insatisfação do cliente aqui só para ilustrar nós temos uma figura re tiada do presman eh onde Demonstra o custo eh relacionado à correção de defeitos erros e anomalias em cada uma das principais fases de desenvolvimento de um software então vocês podem perceber que se a o erro a anomalia ou defeito for encontrado ainda durante a fase de engenharia de requisitos o custo é relativamente pequeno vai aumentando um pouco já na fase de projeto um pouco mais na fase de codificação bast na fase
de testes e muito mais durante a fase de manutenção então por isso a importância de identificar defeitos no nos requisitos no projeto no código o mais cedo possível então nós terminamos essa pequena introdução sobre a sobre inspeções nos próximos vídeos nós vamos começar a analisar inspeções específicas para determinados artefatos eu espero que esse conteúdo tenha sido útil que vocês tenham gostado dessa aula Se vocês gostaram eu peço que vocês curtam o vídeo compartilhe com que possa interessar e se ainda não estão inscritos que se inscrevam no canal obrigado pela atenção nós nos vemos nas próximas
aulas