Banda Artigo 19

Marist Brothers - Olá, sou Guilherme Simões e neste vídeo vamos falar sobre os critérios de qualidade para uma especificação de requisitos. A ideia é discutir o que é a qualidade em requisitos, comentar sobre os critérios de qualidade do padrão IEEE 830 e mostrar onde estes critérios são usados. Bom, já que vamos falar dos critérios de qualidade para especificação de requisitos, vem a pergunta: o que é qualidade em requisitos? De maneira geral, pode-se dizer que Qualidade é cumprir com os requisitos. Só que isso não ajuda muito, pois é um pouco recursivo. Mas quais os requisitos de uma boa especificação de requisitos? Basicamente podemos falar de dois: Ajudar aos clientes a descreverem com exatidão o que desejam obter do projeto. Ajudar aos desenvolvedores a entender exatamente o que os clientes querem. Ou seja, a ideia é que a especificação seja um contrato entre clientes e desenvolvedores, que seja bem compreendido e aceito por ambos. Mas para alguém que faz um trabalho de garantia da qualidade, estes dois requisitos são mais difíceis de verificar. Por isso, o que se costuma fazer é avaliar esta qualidade de forma indireta, observando critérios mais fáceis de verificar e que uma vez atendidos, deveriam ajudar a cumprir estes dois requisitos. Vamos então falar desses critérios de qualidade. Julgar a qualidade de um trabalho pode ser bem subjetivo. Cada um pode ter seus próprios critérios. Mas neste caso, não vamos inventar nenhum critério. Vamos usar o padrão mais difundido que é o IEEE 830. E ele define 8 critérios que devem ser observados em uma especificação: Correta Clara Completa Consistente Modificável Priorizada Verificável (ou Testável) e Rastreável. Vamos comentar com mais detalhe cada um destes items. Começando pelo que define que uma especificação deve ser correta. Especificação correta é aquela onde cada requisito ajuda a satisfazer ao menos uma necessidade legítima do negócio. Ou seja, todo requisito deve rastrear para algum requisito de negócio. O vínculo na especificação dos requisitos, os requisitos para as necessidades de negócio, ajuda a verificar se todos os requisitos estão corretos. Um requisito presente na especificação que não tem relação alguma com nenhuma necessidade de negócio é um requisito incorreto, mesmo que esteja muito bem redigido e modelado. Uma especificação correta não sofre de dois problemas graves na gestão de escopo de um projeto: scope creep e gold plating. Para quem não conhece, scope creep é o termo usado para o aumento sem controle do escopo de um projeto sem ajustes no planejamento de tempo, custo ou recursos. E Gold Plating é a prática de adicionar requisitos que não foram solicitados pelo cliente, porque a equipe do projeto acha que o sistema ficará melhor assim. São consideradas duas más práticas em projetos. Correta é a especificação que não tem requisitos supérfluos. O próximo critério é que a especificação seja completa. Isto significa que todos os elementos significativos do contexto estão descritos. Funcionalidades, aspectos de qualidade, restrições de projeto e interfaces com outros sistemas/dispositivos. Definição de todo comportamento de resposta para cada tipo de entrada possível para o software. Rótulos e referências para todas as figuras, tabelas e diagramas presentes na especificação. A rastreabilidade dos requisitos da especificação para requisitos de mais alto nível também ajuda a detectar partes incompletas da especificação. Na prática nenhum requisito de mais alto nível deveria ficar sem ao menos um requisito correspondente numa especificação mais detalhada. Toda especificação com partes “a definir” é incompleta. Isto é aceitável enquanto a especificação encontra-se em elaboração. Porque não temos todas as informações ao mesmo tempo. Então durante o trabalho vamos identificar requisitos, detalhar requisitos, mas vamos podemos precisar de outras sessões de elicitação ou de levantamento de requisitos para complementar a definição de requisitos Então enquanto isso não é feito podemos deixar o requisito com a marca "a definir" Porém é inadmissível quando a especificação é considerada finalizada. Outro critério é que a especificação seja clara. Ela é clara quando minimiza a ambiguidade. Na prática, é aquela que tem uma única interpretação para todas as partes interessadas. Na maioria das vezes você especifica requisitos usando a linguagem natural. Só que ela é muito ambígua. E isso vai te exigir muita atenção e disciplina, para escrever pensando com a cabeça de cada parte interessada, de tal forma que todo mundo tenha um entendimento homogêneo. Vamos ver algumas dicas para ajudar nisso: Uma especificação de requisitos é na essência um texto como outro qualquer, logo as boas práticas de redação também vão ajudar aqui. Só que o se percebe hoje no mercado é uma deficiência significativa na formação dos novos profissionais de TI na habilidade de redação. Se a pessoa não tem uma boa habilidade de escrita, é difícil que ela produza uma especificação de qualidade. É comum termos com mais de um significado. Isso faz parte da nossa linguagem e do vocabulário de muitas áreas de negócio. Neste caso o uso do glossário no projeto é fundamental para ajudar a diminuir essa ambiguidade. Usar modelos e diagramas na especificação ajuda a esclarecer melhor o entendimento da especificação, pois é uma informação visual e as pessoas tem mais facilidade de compreender uma informação gráfica a uma informação textual. Quando usamos um modelo, esse segue um padrão. Uma notação para sua elaboração. E essa notação elimina ambiguidade. Use uma estrutura padrão e de fácil leitura para sua especificação. Assim, partes interessadas que já participaram de outros projetos terão familiaridade com o documento de requisitos. Eles já saberão o que é especificação de requisitos e onde estão as informações que interessam. E o que é uma estrutura de fácil leitura? Por exemplo, é aquela que permite a leitura seletiva do conteúdo que é relevante para determinada parte interessante. Se todas as partes interessadas necessitam ler toda a especificação para conseguir obter uma informação específica, significa que ela está mal estruturada. Use um vocabulário consistente e familiar às partes interessadas. Evite termos indeterminados: “etc.”, “entre outros”, “talvez”, "em geral". Quando não houver alguma definição da informação ainda, prefira “a definir”. Usar esses termos numa especificação de requisitos é um erro crasso. Evite também termos subjetivos. É dificil, pois essas palavras fazem parte do nosso vocabulário comum Esses termos são: “amigável”, “flexível”, “portável”, “intuitivo”. São termos que costumam aparecer em especificações de requisitos, porém são subjetivos. E qualquer termo subjetivo significa ambiguidade. Temos que organizar os requisitos em grupos de forma lógica, por exemplo: usando relações causais ou temporais, ou por temas com afinidade Exemplo: Um sistema de laboratório de diagnostico por imagem. Poderiamos organizar os requisitos de acordo com uma sequência de processamento: Recepção de Imagem, Processamento de Imagem, Exibição de Imagem e Tratamento de Imagens de Baixa Qualidade. Existe uma sequência que eu posso usar para organizar os requisitos. Use exemplos! Exemplos são ótimas formas de esclarecimento. Ajudam a tornar visível ambiguidades. . Quando a definição e o exemplo conflitam então se percebe o poder do exemplo. E é a forma mais fácil de entender uma definição. Outro critério é que a especificação seja consistente. Uma especificação consistente é aquela onde não existem contradições entre os seus documentos, seja no mesmo nível ou em níveis diferentes. Exemplos de contradições: Há conflitos temporais entre requisitos: REQ-03 indica que o evento A precede o evento B; REQ-12 indica que os eventos A e B são simultâneos; Então fica a dúvida se é precedente ou é simultâneo. Um requisito tem o objetivo de manter um cadastro de clientes e outro requisito fala que dados de cliente deverão sempre ser consultados em outro sistema. Daí fica a dúvida: é para manter o cadastro ou consultar fora? Muitas vezes a inconsistência surge de solicitações de mudanças mal assimiladas na especificação de requisitos. Para minimizar esse problema, é importante outra característica de qualidade, que é ser modificável. Esta característica significa que modificações podem ser feitas de maneira fácil, completa e consistente sem comprometer a estrutura e estilo da especificação. Isso minimiza a possibilidade de se cometer erros na especificação por conta de uma mudança mal feita. Algumas dicas para a especificação modificável são: Não seja redundante. Se for descrito o mesmo requisito mais de uma vez, quando o requisito mudar vamos ter que procurar todas as definições para fazer a alteração. Caso contrário estaremos inserindo um erro na especificação. Vale comentar que o glossário ajuda a evitar redundância na especificação, concentrando a definição de termos em um só lugar. Não é necessário explicar o termo onde ele aparece, facilitando futuras mudanças na especificação. Tenha uma organização coerente e fácil de usar que tenha, por exemplo, uma tabela de conteúdos, um índice remissivo, glossário e um controle de alterações. Expresse cada requisito separadamente em vez de combinado com outros requisitos. Quer ver um exemplo de especificação que falha neste critério? Chega uma solicitação de mudança no projeto para que o sistema disponibilize cupons de desconto como mais uma forma de pagamento. O analista de requisitos ao saber disto põe a mão na testa e exclama: "Vou ter que alterar quase metade dos casos de uso!” Ou seja, uma solicitação de mudança gerando um grande impacto na especificação. Significa que ela não é modificável. Quando a especificação não permite mudanças com facilidade, há um esforço significativo do analista para “varrer” a documentação procurando que pontos precisam ser ajustados. Quem têm um olhar de águia vai conseguir identificar todos (ou quase todos) os pontos que precisam ser alterados. Mas existe um universo significativo de pessoas que não possuem este olhar tão detalhista e vão deixar passar despercebidas diversas partes que precisariam ser alteradas, deixando desta forma a especificação inconsistente. Outro critério é que a especificação seja Priorizada. Priorizada é a especificação onde cada requisito recebe um valor de importância relativa, baseado em um ou mais critérios, por exemplo: risco, valor para o negócio, custo. O objetivo da priorização é garantir que o esforço do projeto vai ser focado nos requisitos mais críticos, reduzindo assim os riscos do projeto. Além disso, ela permite: Que se identifiquem os requisitos que devem ser analisados primeiro; Que se planeje quais requisitos serão implementados primeiro; Quanto tempo ou atenção serão destinados aos requisitos. O próximo critério é ser Verificável Que significa que existe algum método, de custo-benefício aceitável, para demonstrar que o sistema satisfaz cada requisito especificado. Se não for possível definir um método para verificar o requisito, então ele deve ser removido ou revisado. Exemplos: O requisito "A interface de usuário deve ser amigável" não é verificável, pois é subjetivo. Já estabelecer que "08 em cada 10 usuários da área consegue usar o produto sem treinamento prévio" é. Outro exemplo: O requisito "95% das transações devem ser processadas em menos de 1 segundo cada" é verificável, porque está enunciado em termos mensuráveis. O requisito “O sistema não deve travar nunca” não é verificável, pois demanda toda eternidade para ser testado. O requisito “O sistema deve rodar em todos os navegadores web do mercado” também não é verificável. Neste caso o que pega é o custo-benefício. Seria necessário conhecer a relação de todos os navegadores disponíveis. Isso sem considerar que outros navegadores podem estar sendo criados enquanto o projeto está em andamento. O esforço de teste do sistema em todas as versões de todos estes navegadores pode significar mais que o esforço planejado para todo o projeto. O custo-benefício é inviável. E por fim, a especificação de requisitos deve ser rastreável. Uma especificação rastreável é aquela que estabelece relação entre requisitos, suas origens e seus produtos derivados. Isto torna a especificação mais modificável, mais fácil de verificar se está correta e completa, além de facilitar análise de impacto das mudanças. A rastreabilidade auxilia a verificar também a conformidade do produto desenvolvido com os requisitos. Seja identificando requisitos que estão faltando (especificação incompleta) ou sobrando (especificação incorreta). Ela também ajuda a identificar se todos objetivos de negócio foram cobertos pelos requisitos e produtos gerados, prevenindo insatisfações das partes interessadas. E também auxilia na Gerência de Risco. Requisitos com muitas relações possuem riscos maiores. Isso pode ser evidenciado e ajudar o gerente de projetos a mitigar esse risco por exemplo: alocando um profissional mais experiente. E onde aplicar estes critérios de qualidade? Estes critérios são muito úteis como referencia para o analista de requisitos durante a elaboração da especificação. Estando atento a eles ao especificar, certamente conseguirá produzir um trabalho melhor. Porém o uso mais direto destes critérios é nas atividades de Verificação e Validação de requisitos. Estas são as atividades que em última instância vão garantir a qualidade do trabalho de requisitos. Vamos falar sobre verificação e validação de requisitos em outro vídeo. E concluindo Mesmo depois de termos passado por todos estes critérios de qualidade, é importante que você atente que não existe especificação de requisitos perfeita! A busca pela perfeição é infinita, e os projetos têm recursos limitados, principalmente tempo. Estes critérios vão ajudar dar uma direção de como buscar uma especificação de requisitos melhor. Só que a gente tem que ser muito objetivo e ter foco para trabalhar na elaboração de uma especificação de requisitos que seja boa o suficiente para o contexto no qual o projeto será desenvolvido. Ou seja, dentro de suas restrições. Demorar meses e meses aperfeiçoando a especificação de requisitos e não entregar nenhum produto para o cliente é insano. Então temos a velha máxima em ação: “o ótimo é inimigo do bom”. Quero agora te convidar a fazer os exercícios dos assuntos que discutimos e também interagir com nossa equipe de tutores; seja para tirar dúvidas ou obter mais informações. Estamos sempre à disposição para te ajudar! Muito obrigado e bom estudo!.

Banda artigo 19 gestao financeira pessoal curso Mato Grosso do Sul diploma project management vet fee help. Camaçari exame vcm abaixo Dissertação, loja de artigos de danca tijuca TCC, filosofia do direito warat Proposta de Tese, monografia de quetzaltenango pdf Trabalhos Matemáticos. Artigos festa bombeiro sam exame t4 e tsh banda artigo 19 São Félix do Xingu artigos cientificos sobre inclusao social. Iit entrance exam to get less testing for students Crítica Literária/Filme Belo Horizonte curso fmb telepresencial, curso de rh senac santo andre.

Crato:

Sarah Delacruz, Oswego County: State University of New York at New Paltz. Niterói: White Plains campus; 2011.

Carmen Poole, Wyoming County. Itu: Dominican College; 2012.

Judith Wesley, E 73rd Street zip 10021. Várzea Grande: CUNY Baccalaureate for Unique and Interdisciplinary Studies; 2008.

inserted by FC2 system