Baixe o app para aproveitar ainda mais
Prévia do material em texto
Normas de Qualidade de Software Apresentação Manter um padrão de qualidade significa, em linhas gerais, atender aos requisitos do usuário e permitir que um produto seja eficiente, confiável, seguro, entre outros critérios. No âmbito do desenvolvimento de software, os padrões de qualidade também são importantes e fornecem uma série de métricas que garantem tanto em nível de processo quanto de elementos do produto final. Esses padrões de qualidade são explícitos por meio de normas criadas por instituições nacionais e internacionais, como a Associação Brasileira de Normas Técnicas (ABNT), a International Standardization Organization (ISO) e a International Electrotechnical Commission (IEC), que buscam a criação de padrões que garantam a qualidade, não apenas do produto final, mas também do processo de desenvolvimento e de avaliação. Nesta Unidade de Aprendizagem, você estudará as normas relacionadas à qualidade de software, bem como a qualidade no ciclo de vida deste. Por fim, também analisará o modelo de qualidade SquaRE. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Descrever as normas relacionadas à qualidade de software.• Conceituar a qualidade no ciclo de vida.• Analisar o modelo de qualidade.• Desafio Manter a qualidade durante toda a fase de desenvolvimento de software é fundamental para a entrega de um produto livre de defeitos e o mais próximo possível do desejo do cliente. Pensando nisso, para este Desafio, coloque-se no papel de profissional e considere o cenário apresentado a seguir. Imaginando que você tenha sido requisitado para auxiliar nesse problema, resolva a seguinte questão: Das características de qualidade, quais deveriam ser mais bem trabalhadas dentro da empresa para que o número de problemas na etapa de codificação seja eliminado? Infográfico Buscar padrões de qualidade é fundamental para o sucesso de qualquer produto. No âmbito do desenvolvimento de software, isso não é diferente. A série de normas ISO/IEC 25000, que substituiu as normas ISO/IEC 9126 e ISO/IEC 14598, busca instruir os padrões de qualidade tanto no âmbito de produto como de processo, de avaliação e de gerenciamento. No Infográfico a seguir, acompanhe esquematicamente a organização dessa norma. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/f6e78350-e5e0-4a24-a5f1-b8bc96593a53/8afa6133-ca37-43ab-b265-1255ee57cd3b.jpg Conteúdo do livro Especificar um padrão de processo de desenvolvimento de um software é fundamental para a qualidade final do produto. Instituições como a ISO, a IEC e a ABNT se dedicam a criar padrões para diversos processos e produtos, incluindo softwares. Conhecer e aplicar certas normas ajudam analistas e desenvolvedores de softwares a criar produtos de maior qualidade. Um software de qualidade é aquele que atende aos requisitos funcionais para os quais ele foi desenvolvido. Buscando facilitar esse entendimento, no capítulo Normas de qualidade de software, da obra Qualidade de software, você irá compreender e ser capaz de descrever as normas relacionadas à qualidade do software, assim como vai identificar a qualidade no âmbito do ciclo de vida deste e o modelo de qualidade. Boa leitura. QUALIDADE DE SOFTWARE Paulo Antonio Pasqual Júnior Normas de qualidade de software Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Descrever as normas relacionadas à qualidade de software. Conceituar a qualidade no ciclo de vida. Analisar o modelo de qualidade. Introdução A qualidade é um aspecto fundamental de qualquer produto, sendo sempre esperada pelo consumidor final. Para se obter qualidade, uma série de normas de processo buscam padronizar a produção de deter- minados produtos. No âmbito do software, isso não é diferente. A qualidade de sistema é alcançada por meio de uma série de normas estabelecidas por orga- nizações nacionais e internacionais, que buscam padronizar processos e estabelecer formas de alcançar o máximo de qualidade. Neste capítulo, você vai estudar e ser capaz de descrever as normas relacionadas à qualidade, conceituar a qualidade no âmbito do ciclo de vida do software e, por fim, analisar o modelo de qualidade. O que são normas de qualidade? As normas de qualidade ajudam desenvolvedores a criarem softwares com as características ideais de qualidade. Um software de qualidade é aquele que apresenta diversas características como efi ciência, inexistência de erros, codifi cação de boa qualidade, ser fácil de usar, ter rápido desenvolvimento, entre outras. A criação de produtos de qualidade, sejam softwares ou não, é geralmente viabilizada por meio de padrões. Esses padrões determinam, geralmente, como um processo deverá ser realizado para que um produto tenha qualidade. Na produção industrial, por exemplo, é comum ouvirmos falar que uma empresa tem uma certificação ISO. Isso significa que os produtos dessa empresa são desenvolvidos por meio de um padrão, ou que apresentam um padrão final de qualidade especificado por uma norma, e a empresa pode garantir a qualidade do produto. A certificação dá, portanto, segurança para o consumidor e confiabilidade para a empresa que desenvolve o produto. De maneira geral, tanto no âmbito industrial como no que tange aos pro- dutos de software, existem tanto normas que se referem a elementos finais do produto quanto normas de processo, que se referem a como e por quais etapas um produto foi desenvolvido para atingir um padrão de qualidade em nível de processo. Mas, afinal, o que significa ISO? ISO é uma sigla para International Stan- dardization Organization, que, em tradução literal, significa Organização In- ternacional de Normalização. A ISO é, portanto, uma instituição internacional que tem como objetivo criar e publicar padrões de qualidade para diversas áreas, incluindo o desenvolvimento de software. Além da ISO, outra instituição em nível global também se responsabiliza pela criação e publicação de normas. A IEC — International Electrotechnical Commission, que, em tradução literal, significa Comissão Eletrotécnica Inter- nacional — desenvolve normas e padrões relacionados às áreas de eletricidade, eletrônica e áreas afins. No Brasil, a Associação Brasileira de Normas Técnicas (ABNT) também é responsável pela criação e publicação de normas em nível nacional. A ABNT se responsabiliza por emitir um padrão que abrange desde elementos muito simples, como a padronização de um trabalho acadêmico, até a criação de padrões de produção e organização industrial. Existem diversas normas relativas à qualidade de software. O Quadro 1, a seguir, traz um breve resumo de algumas dessas normas. Normas de qualidade de software2 Fonte: Adaptado de Vasconcelos et al. (2006 apud Gallotti, 2017). Nome Descrição Norma ISO/IEC 9126 (NBR 13596) Define as características de qualidade de software que devem estar presentes em todos os produtos (funcionalidade, confiabilidade, eficiência, usabilidade, manutenibilidade e portabilidade). Norma ISO/IEC 12119 Estabelece os requisitos de qualidade para pacotes de software. Norma ISO/IEC 14598-5 Define um processo de avaliação de qualidade de produto de software. Norma ISO/IEC 12207 Define um processo de ciclo de vida de software. Norma ISO/IEC 9000-3 Apresenta diretrizes para a aplicação da ISO 9001 por organizações que desenvolvem software para o desenvolvimento, fornecimento e manutenção de software. Norma ISO/IEC 15504 Aprovada como norma em 2003, é focada na avaliação de processos organizacionais. Quadro 1. Normas ISO/IEC Dentre essas normas, cabe destacar a NBR ISO/IEC 9126 (ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS, 2003), sob o título geral “Enge- nharia de software — Qualidade de produto”, que é uma norma da família das ISO 9000 e versa sobre as característicasde qualidade de software que devem estar presentes em todos os produtos. Essa norma, juntamente com a NBR ISO/IEC 14598 (“Avaliação de produto de software”), substitui a antiga norma NBR 13596. A primeira parte da norma NBR ISO/IEC 9126 (ASSOCIAÇÃO BRA- SILEIRA DE NORMAS TÉCNICAS, 2003) se refere à qualidade interna e externa, e a segunda se refere à qualidade de uso. De acordo com o texto da 3Normas de qualidade de software própria norma (ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS, 2003, p. 3), ela pode ser utilizada por desenvolvedores para: validar a completude de uma definição de requisitos; identificar requisitos de software; identificar objetivos de projeto de software; identificar objetivos para teste de software; identificar critérios para garantia de qualidade; identificar critérios de aceitação para produtos finais de software. Já a norma NBR ISO/IEC 14598 (ASSOCIAÇÃO BRASILEIRA DE NOR- MAS TÉCNICAS, 2001) apresenta uma visão geral do processo de avaliação de produtos de software, sendo aplicada tanto em componentes como no sistema, podendo ser empregada em qualquer fase do ciclo de vida do produto. O processo de avaliação, nesse sentido, é definido pela norma em quatro etapas: 1. Definir os requisitos de avaliação. 2. Especificar a metodologia de avaliação. 3. Projetar o processo de avaliação. 4. Executar a avaliação. Uma atualização das normas de qualidade de software pode ser encontrada na ISO/IEC 25000 (2014), com o título geral “Systems and Software Quality Requirements and Evaluation” (SQuaRE). Trata-se de uma das mais impor- tantes normas no âmbito da qualidade de produto e processo de software. Ela é uma evolução das normas anteriores, fornecendo novas regras e métodos para a qualidade, tanto no âmbito de produto como no âmbito de processo. A série de normas ISO/IEC 25000 se dedica a duas dimensões. A primeira diz respeito à qualidade em uso, que consiste na qualidade relativa à interação humano–computador. A segunda se refere à qualidade do produto, definindo um conjunto de oito características de qualidade internas e externas. Koscianski e Soares (2007) ressaltam que a norma 25000 se baseia em outras normas ainda em processo de desenvolvimento, o que não exclui a possibilidade de utilização das normas 9126 e 14598. Além disso, os autores explicam que o modelo SQuaRE não surgiu para invalidar as normas anteriores, mas, sim, para fornecer um modelo mais organizado e didático para a qualidade de software. A seguir, detalharemos esses aspectos da qualidade de software. Normas de qualidade de software4 Qualidade no ciclo de vida do software O ciclo de vida de um software consiste em todas as etapas que o produto passará, desde os primeiros passos, na elicitação de requisitos, até o fi m do uso do produto (Figura 1). Figura 1. Modelo de ciclo de vida para a qualidade de software, na ótica SQuaRE. Fonte: Adaptada de Koscianski e Soares (2007). ProdutoRequisitos Implementação Necessidades Requisitos de qualidade em uso Validação Qualidade em uso Qualidade externa Qualidade interna Requisitos de qualidade externa Requisitos de qualidade interna Validação e verificação Verificação No âmbito da qualidade de software, podemos elencar a qualidade de uso, a qualidade externa e a qualidade interna. Conforme mencionado na seção anterior, a qualidade em relação ao uso está ligada às percepções do usuário durante o processo de interação; já as qualidades interna e externa se referem especificamente aos aspectos do produto de software. A qualidade de uso diz respeito a como o software fornece as possibilidades para os usuários atingirem as metas especificadas com eficiência, envolvendo eficácia, produtividade, segurança e satisfação. Nesse sentido, um software eficiente é aquele que permite que o usuário atinja suas metas com completude. A produtividade se refere à capacidade do software e à empregabilidade de recursos em relação à eficácia obtida. A segurança se refere à capacidade do software em oferecer níveis aceitáveis de risco. Por fim, a satisfação se refere a como o software satisfaz as expectativas do usuário em um determinado contexto. 5Normas de qualidade de software Imagine que você está utilizando um software de edição de textos. Normalmente, quando usamos esse tipo de software, precisamos formatar o texto, criar tabelas ou adicionar formas ao texto. Um editor de texto que apresenta qualidade de uso é aquele que o usuário rapidamente aprende a utilizar, conseguindo, intuitivamente, entender sua interface. Ou seja, é fácil de usar. Além disso, o editor de textos pre- cisa ser fácil de memorizar, de lembrar como se faz, por exemplo, para inserir uma tabela. Esse editor também precisa ser confiável, o que significa que ele não pode simplesmente se fechar sem salvar o seu trabalho; ele pode fechar, mas garantindo que tudo o que você fez pode ser recuperado. Esses elementos são fundamentais para o usuário perceber a qualidade do software. Por que será que normalmente nós preferimos um editor de textos em relação a todos os milhares que existem no mercado? Possivelmente por ele apresentar melhor essas características, em contraponto a outros disponíveis no mercado. A qualidade interna se refere à estrutura do software no âmbito do có- digo. Ou seja, um software de qualidade é aquele que apresenta padrões de desenvolvimento no âmbito algorítmico. Esse aspecto da qualidade se refere a diversos elementos dentro do software, como o uso de variáveis, classes, métodos e outros elementos da estrutura interna do software. Imagine a seguinte situação: você é um novo integrante da equipe de de- senvolvimento de software de uma empresa e se deparou com a necessidade de criar um novo módulo para se comunicar com o programa. Quando você abre o código-fonte, percebe que cada variável foi declarada de uma forma diferente, ora com letra maiúscula, ora com letra minúscula; algumas foram declaradas com o sinal de “_” e outras foram escritas sem separação. Além disso, você percebe que as classes e os eventos foram criados sem nenhum tipo de padrão. Como você vai poder corrigir problemas ou adicionar um novo módulo para o software? Provavelmente, você não vai compreender o código do software da empresa e não vai conseguir fazer a manutenção. Para solucionar esse problema, é preciso não apenas aplicar padrões de desenvolvi- mento, mas também documentar o software, para que qualquer pessoa possa realizar a manutenção. Nesse sentido, garantir a qualidade interna significa que o software pode ser facilmente compreendido e modificado. A qualidade interna é fundamental para todo o ciclo de vida do software e, principalmente, para as fases de desenvolvimento, teste e correção de pro- blemas. Além disso, a qualidade interna pode afetar também a qualidade em Normas de qualidade de software6 uso, uma vez que um software “feito de qualquer jeito” normalmente apresenta muitas falhas em aspectos de usabilidade. A qualidade interna está diretamente ligada à manutenibilidade do software, pois um software que não apresenta um padrão de desenvolvimento é extremamente difícil quanto à realização de qualquer tipo de manutenção, seja ela uma correção de problemas ou a criação de novos módulos. A qualidade externa, de acordo com Koscianski e Soares (2007, p. 209), “[...] é uma estimativa da qualidade em uso; ambas podem ser muito próximas, mas não são equivalentes”. Isso significa que a qualidade externa é uma aproximação, uma expectativa em relação à qualidade durante o processo de utilização do software. Nesse sentido, a qualidade do produto nesse âmbito é estimada por meio de testes, que buscam simular a utilização do produto pelo usuário. Uma questão importante no âmbito do ciclo de vida é que as visões de qualidade mudam durante o ciclo de vida do software (ISO/IEC 9126), o que pode acarretar em perspectivas de qualidade distintas em cada uma das fases. Por exemplo, no início dodesenvolvimento do software, pode-se esperar do sistema um determinado comportamento, que poderá mudar durante o processo de desenvolvimento. Os aspectos de qualidade (em uso, interna e externa) estão intimamente ligados com a elicitação de requisitos. Em especial, a percepção da qualidade em uso está diretamente ligada ao fato de o sistema fornecer as funções que o usuário julga necessárias. Lembrando que, em linhas gerais, o conceito de qualidade de um software se refere à capacidade desse produto de satisfazer os requisitos para os quais ele foi desenvolvido. Entender a qualidade, nessas três perspectivas, permite elicitar requisitos que satisfaçam a qualidade em uso, a qualidade interna e a qualidade externa. Nesse caminho, a ISO/IEC 25030 (ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS, 2008) orienta que se estabeleçam requisitos de qua- lidade como parte do processo de especificação de requisito. Dessa forma, a norma possui um foco nos requisitos de qualidade na perspectiva do software. Ainda de acordo com a norma, o software faz parte de um sistema maior, que engloba outros elementos, como hardware, sistema operacional e dados para a utilização do software. A Figura 2 demonstra a relação entre o software e os outros elementos que constituem o sistema. 7Normas de qualidade de software Figura 2. Relação entre o software e outros elementos de um sistema. Fonte: Adaptada de NBR ISO/IEC 25030 (ABNT, 2008). Processos Comunicação Comunicação Comunicação Comunicação Sistema mecânico Desempenhados por pessoas Sistema empresarial Sistema de informações Sistema computacional Computador Hardware Operação Sistema Aplicativo Sofware Dados Sistema computacional Computador Hardware Operação Sistema Aplicativo Sofware Dados Especificar requisitos de qualidade de software contribui para o desen- volvimento de um produto que seja consistente, sendo necessário que esses requisitos estejam relacionados com as características do modelo de qualidade. Modelos de qualidade Segundo Koscianski e Soares (2007), a ideia de um modelo de qualidade é bastante antiga, estando presente em publicações ainda dos anos 1970. Tais modelos surgem da tentativa de especifi car padrões no desenvolvimento de software. Essas iniciativas aparecem na literatura como trabalhos isolados de diversos autores, estando relacionadas aos mais diversos tipos de software. Nesse sentido, Koscianski e Soares (2007) lecionam que o modelo SQuaRE surge de uma maneira muito sólida, buscando atender às demandas necessárias de qualidade de uma forma eficiente e, ao mesmo tempo, didática, oferecendo uma linguagem com vocabulário simples e válido internacionalmente. Nesse modelo, podemos observar que a ISO/IEC 25000 está organizada da seguinte forma: ISO/IEC 2500n — Divisão Gestão da Qualidade. ISO/IEC 2501n — Divisão Modelo de Qualidade. Normas de qualidade de software8 ISO/IEC 2502n — Divisão Medição da Qualidade. ISO/IEC 2503n — Divisão Requisitos de Qualidade. ISO/IEC 2504n — Divisão Avaliação da Qualidade. No link a seguir, você terá acesso a uma tese de doutorado que detalha como se dá a organização da norma ISO 2500. https://goo.gl/b1hCfz A qualidade em uso no modelo SQuaRE é caracterizada pela efetividade, produtividade, segurança e satisfação. As qualidades externa e interna são descritas em um modelo hierárquico, oriundos da norma ISO 9126 (2003). A Figura 3 a seguir demostra a hierarquia das qualidades interna e externa. Figura 3. Modelo de qualidade segundo a ISO 9126. Fonte: Adaptada de Koscianski e Soares (2007). Qualidade externa/interna Funcionalidade Manutenibilidade Usabilidade Segurança Acurácia Interoperabilidade Adequabilidade Testabilidade Estabilidade Modificabilidade Analisabilidade Atratividade Compreensibilidade Apreensibilidade Operabilidade Confiabilidade Maturidade Tolerância a falhas Recuperabilidade Eficiência Comportamento temporal Utilização de recursos Portabilidade Adaptabilidade Instalabilidade Co-existência Substitutibilidade 9Normas de qualidade de software Koscianski e Soares (2007) explicam que esse modelo garante que a análise de uma categoria de qualidade seja sempre considerada isoladamente. Ou seja, ao se analisar a confiabilidade, não se consideram os fatores relativos a outras seções, como a funcionalidade. Nesse sentido, essa separação hierárquica con- tribui para a elicitação de requisitos específicos para cada uma das categorias. Vejamos a seguir as categorias de qualidade de software. Funcionalidade: o software satisfaz as necessidades do usuário. Ou seja, apresenta as funções necessárias no âmbito do que o usuário precisa. Por exemplo, em um editor de textos, o software permite formatar a fonte, criar confi gurações personalizadas e imprimir o documento. Esses elementos se referem às funcionalidades disponíveis. Nas palavras de Koscianski e Soares (2007, p. 211): “[...] a funcionalidade diz respeito àquilo que o software faz quando solicitado pelo usuário, como por exemplo: imprimir um relatório, apresentar dados na tela ou registrar uma informação em uma base de dados”. Confi abilidade: o software mantém um nível de desempenho confi ável, ou seja, evita falhas e é capaz de se recuperar de erros. As falhas são o calcanhar de Aquiles de um software. Infelizmente, enquanto os sistemas forem feitos por seres humanos, as falhas, mesmo que em pequena escala, sempre estarão presentes. Contudo, minimizar essas falhas e garantir que o sistema seja capaz de se recuperar é fundamental para manter a confi abilidade. Portabilidade: o software pode ser transferido de um sistema para outro, ou pode trabalhar de forma compatível com outros sistemas. Isso signifi ca, por exemplo, que um software possa rodar em vários sistemas operacionais, ou que um software desenvolvido por uma determinada empresa seja capaz de se comunicar com outro. A falta de portabilidade é comum na nossa vida. Imagine quantas vezes você gostaria que um software fosse capaz de se comunicar com outro para realizar alguma tarefa. Por exemplo, garantir que um relatório seja compatível com um aplicativo de planilha eletrônica, ou que a própria planilha eletrônica consiga realizar uma conexão com o banco de dados e extrair as informações. Para muitos softwares, essa é uma realidade muito comum, porém, para outros, não há compatibilidade. Usabilidade: o software precisa ser simples, de fácil aprendizagem e de fácil memorização. Para Koscianski e Soares (2007, p. 215): “[...] a usabili- dade representa basicamente o quão fácil é usar o produto”. A usabilidade de Normas de qualidade de software10 um software está diretamente ligada à interface e às escolhas de design que basearam a construção da interface do sistema. Efi ciência: o software executa ações de acordo com as expectativas do usuário de forma rápida. A efi ciência está diretamente ligada a questões de hardware e desempenho. Por exemplo, ainda hoje, ao se desenvolver aplicativos para dispositivos móveis, é necessário trabalhar, geralmente, com uma quantidade limitada de memória e um espaço em disco ligeiramente inferior às confi - gurações disponíveis em um computador convencional. Isso demanda que o software seja desenvolvido de forma a ocupar pouca memória e pouco espaço em disco para garantir que seja efi ciente. Usar um aplicativo que consome toda a memória do smartphone, por exemplo, seria bastante incômodo, pois o sistema falharia — logo, a efi ciência da aplicação estaria comprometida. A efi ciência está ligada, do ponto de vista da engenharia de software, à elici- tação dos requisitos não funcionais. Manutenibilidade: o software é de fácil manutenção e pode ser modifi cado de forma a contemplar melhorias ou extensões. A capacidade de manutenção do software está diretamente relacionada à qualidade interna. Como já men- cionado, a padronização, do ponto de vista do código, é fundamental para manter a qualidade. Por fim,é importante considerar que o modelo de qualidade SQuaRE fornece diversas formas para que se obtenha o melhor, no âmbito da qualidade de software, apresentando não apenas regras, mas um horizonte a ser seguido do ponto de vista da qualidade do produto de software. ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS (ABNT). NBR ISO/IEC 9126-1: software engineering: product quality: part 1: quality model. Rio de Janeiro: ABNT, 2003. ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS (ABNT). NBR ISO/IEC 14598-1: tecno- logia de informação: avaliação de produto de software – parte 1: visão geral. Rio de Janeiro: ABNT, 2001. ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS (ABNT). NBR ISO/IEC 25030: engenharia de software: requisitos e avaliação da qualidade de produto de software (SQuaRE): requisitos de qualidade. Rio de Janeiro: ABNT, 2008. 11Normas de qualidade de software GALLOTTI, G. M. A. (Org.). Qualidade de software. São Paulo: Pearson Education, 2017. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION (ISO). ISO/IEC 25000:2014: software engineering: system and software quality requirements and evaluation (SQuaRE). Genebra: ISO, 2014. KOSCIANSKI, A.; SOARES, M. S. Qualidade de software: aprenda as metodologias e técnicas mais modernas para o desenvolvimento de software. 2. ed. São Paulo: Novatec, 2007. Leitura recomendada ROCHA, A. R. C.; MALDONADO, J. C.; WEBER, K. C. Qualidade de software. São Paulo: Prentice Hall, 2001. Normas de qualidade de software12 Conteúdo: Dica do professor Manter a qualidade é importante não apenas no produto final, mas durante todas as etapas do software. Entender a qualidade no âmbito do ciclo de vida do software permite estabelecer objetivos específicos para serem alcançados, em termos de qualidade, em cada uma das fases da vida do sistema. Nesta Dica do Professor, aproveite para conhecer um pouco mais sobre a norma SQuaRE e o ciclo de vida do software. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/00b3898d69e2208f5cfac8b7255a9700 Exercícios 1) Diversas empresas têm certo diferencial por apresentar certificações ISO. No âmbito do desenvolvimento de software, esse tipo de certificação também é importante. Pensando nisso, em que medida é possível traçar um paralelo entre certificações ISO e padrões de qualidade? A) As certificações ISO se referem a padrões de qualidade de processo, o que garante um padrão elevado de qualidade. Uma certificação ISO, portanto, sinaliza que a empresa necessita aprimorar processos de qualidade. B) As certificações ISO estão relacionadas aos padrões de qualidade. Nesse sentido, ter uma certificação ISO garante à empresa uma estrutura mínima de processos, permitindo que um produto tenha determinadas características. C) As certificações ISO estão relacionadas diretamente aos padrões de qualidade, mas não influenciam a padronização de processos e de produtos, o que pode levar a melhorar a qualidade. D) As certificações ISO versam sobre indicadores de qualidade de produtos, sugerindo normas para a padronização. Uma certificação ISO garante, portanto, que a empresa tenha padrões de qualidade de produto, mas não de processos. E) As certificações ISO versam sobre padrões de qualidade de produtos ou processos, o que garante padrões elevados de qualidade. Uma certificação ISO garante, portanto, que a empresa tem um rigoroso padrão de qualidade em seus processos e produtos. 2) As normas de qualidade estão em constante atualização, sempre buscando melhorias. As normas ISO/IEC 9126, ISO/IEC 14598 e ISO/IEC 25000 são muito conhecidas no campo de qualidade de software. Sendo assim, qual é a relação entre essas normas? A) A norma ISO/IEC 9126 se refere à qualidade de produto de software, é uma atualização da norma ISO/IEC 14598, que diz respeito ao processo de avaliação do produto de software. Essas duas normas substituem a série de normas ISO/IEC 25000, que se referia apenas ao processo de avaliação de software. A norma ISO/IEC 25000 é uma das mais importantes no âmbito da qualidade de produto e processo de software. Essa norma passou a englobar outras duas: a ISO/IEC 9126, que se B) refere à qualidade de produto de software, e a ISO/IEC 14598, que se refere à qualidade de processo de avaliação de software. C) A norma ISO/IEC 14598, que corresponde à qualidade de produto de software, substitui a norma ISO/IEC 9126, que se refere à qualidade do processo de avaliação de software. Ambas substituem a norma ISO/IEC 25000, que se refere à qualidade geral do software. D) A norma ISO/IEC 14598 é uma das mais importantes no âmbito da qualidade de produto e processo de software. Essa norma passou a englobar outras duas: a ISO/IEC 9126, que se refere à qualidade de produto de software, e a ISO/IEC 25000, que se refere à qualidade de processo de avaliação de software. E) As normas ISO/IEC 9126 (qualidade de produto de software) e ISO/IEC 14598 (qualidade de processo de avaliação de software) são complementares e importantes para a avaliação da qualidade de software. Ambas substituem a norma ISO/IEC 25000, que se refere apenas à qualidade de produto de software. 3) A qualidade é um elemento essencial para o sucesso de um produto, seja ele de software ou não. Desse modo, as normas de qualidade podem estar presentes tanto em âmbito de processo como de produto final. O que significa falar em qualidade no âmbito do ciclo de vida do software? A) O ciclo de vida de um software, no âmbito da qualidade, está relacionado à fase de levantamento de requisitos e projeto do software. Manter a qualidade no ciclo de vida significa, portanto, apresentar, durante essas fases, um padrão de qualidade. B) O ciclo de vida de um software consiste nas fases pelas quais o produto passa após a sua entrega, englobando, portanto, o uso e a avaliação. Manter a qualidade durante o ciclo de vida do software significa garantir que os princípios de qualidade estejam presentes em todas as fases desse processo a partir da entrega. C) O ciclo de vida de um software consiste em todas as etapas por que o produto passará, desde o levantamento de requisitos até a fase de projeto. Manter a qualidade durante o ciclo de vida do software significa, exclusivamente, manter os princípios de qualidade durante a fase de avaliação e uso do software. D) O ciclo de vida de um software corresponde a todas as etapas por que o produto passará, desde o levantamento de requisitos até o término do uso. Manter a qualidade durante o ciclo de vida do software significa garantir que os princípios de qualidade estejam presentes em todas as fases do processo de desenvolvimento e uso do software. E) O ciclo de vida do software diz respeito ao processo de concepção do software e testes. Manter a qualidade durante o ciclo de vida do software significa garantir que os princípios de qualidade estejam presentes nessas fases do processo de desenvolvimento do software. 4) Manter a qualidade durante todos os processos do software é fundamental no âmbito da qualidade de software. O modelo SQuaRE dividiu as normas em 3 tipos: qualidade em uso, interna e externa. Em que medida é possível traçar uma relação entre elas? A) Existe uma relação entre essas categorias de qualidade: se um software apresentar qualidade interna, ele possivelmente não apresentará qualidade externa e qualidade em uso, pois não há uma relação direta entre esses tipos de qualidade. B) Existe uma íntima relação entre essas categorias de qualidade: se um software não apresentar qualidade interna, possivelmente ele também apresentará má qualidade externa e em uso, pois a estrutura interna do software influencia diretamente no desempenho do sistema. C) Todos os tipos de qualidade têm certa relação: se o software apresentar uma boa qualidade externa, ele possivelmente apresentará também outros tipos de qualidade, já que a qualidade externa é um indicativofinal de qualidade de software. D) A qualidade externa está relacionada à qualidade interna, sendo grandezas inversamente proporcionais. O que quer dizer que quanto maior for a qualidade externa, menor será a qualidade interna. E) Existe uma íntima relação entre essas categorias de qualidade: se um software não apresentar qualidade externa, possivelmente ele também não apresentará qualidade interna e em uso, pois a estrutura externa do software influencia diretamente no desempenho do sistema. 5) O modelo SQuaRE, presente na norma ISO/IEC 25000, foi concebido com o intuito de propiciar uma forma mais sólida e didaticamente organizada para fornecer subsídios aos padrões de qualidade de software. No âmbito da qualidade interna e externa, como esse modelo está organizado? Essa organização é positiva ou negativa? Por quê? A) O modelo de qualidade, segundo a norma SQuaRE, está organizado hierarquicamente, considerando que cada elemento da qualidade tem outros subjacentes. Essa organização hierárquica é vantajosa, pois garante que a aplicação da norma seja realizada para cada elemento de forma isolada. B) O modelo de qualidade, segundo a norma SQuaRE, está organizado de forma linear, considerando que cada elemento da qualidade tem relações com todos os outros. Essa organização é vantajosa, pois garante uma aplicação sistêmica da norma para cada elemento. C) O modelo de qualidade, segundo a norma SQuaRE, está organizado de forma linear. Dessa forma, a norma permite que cada um dos itens de qualidade seja analisado separadamente. Essa organização é vantajosa para que não haja dispersões no âmbito da aplicação da norma. D) O modelo de qualidade, segundo a norma SQuaRE, está organizado hierarquicamente, considerando que cada elemento da qualidade tem outros em mesmo nível. Essa organização hierárquica apresenta certa desvantagem, pois garante que a aplicação da norma seja realizada para cada elemento de forma isolada. E) O modelo de qualidade, segundo a norma SQuaRE, está organizado de forma linear. Dessa forma, a norma permite que cada um dos itens de qualidade seja analisado paralelamente a outros. Essa organização não é vantajosa, pois pode haver dispersões no âmbito da aplicação da norma. Na prática A qualidade interna diz respeito a como o software foi organizado e desenvolvido do ponto de vista algorítmico. Assim, um software que apresenta qualidade interna é aquele que apresenta um padrão de desenvolvimento que garanta a manutenabilidade, ou seja, a possibilidade de manutenção, adaptação e alteração do produto de forma simples e eficaz. Na Prática, observe um exemplo relacionado à qualidade interna de um software. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/65b02d89-eb36-4d5e-a341-e2d68d45b463/4d06cea4-5f6c-46d1-ba52-e9c0117c427f.jpg Saiba + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Avaliação da qualidade de um sistema de gestão do armazém: quick supply system O artigo sugerido a seguir demonstra na prática como aplicar uma parte da norma ISO/IEC 25000 no processo de avaliação de software. Confira. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Proposição e aplicação de uma metodologia baseada no AHP e na ISO/IEC 25000 para apoiar a avaliação da qualidade de softwares de gestão de projetos O uso de um software de gestão de projetos adequado aos requisitos da equipe e do gerente de projetos contribui para o alcance de resultados satisfatórios. Saiba mais no artigo a seguir. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Sistema fuzzy para análise de riscos em projetos de software através dos atributos da norma de qualidade ISO 25000 O artigo indicado a seguir apresenta a proposta de um aplicativo baseado na norma ISO/IEC 25000 e outras, a fim de contribuir para o processo de avaliação da qualidade de software. Aproveite a leitura. http://docplayer.com.br/17398035-Avaliacao-da-qualidade-de-um-sistema-de-gestao-do-armazem-quick-supply-system.html https://revista.feb.unesp.br/index.php/gepros/article/view/1653/781 Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://producaoonline.org.br/rpo/article/view/1620/1123
Compartilhar