Baixe o app para aproveitar ainda mais
Prévia do material em texto
Normas de Qualidade de Software Vinícius Ribeiro dos Santos 20131016021 Atividade apresentada como forma de avaliação parcial para a disciplina Eng. Software II. Profª. Jesyka Milleny Diamantina – MG Julho - 2016 Normas de Qualidade de Software Diamantina – MG Julho - 2016 TP5 - Normas de Qualidade de Software QUESTOES PROPOSTAS/RESPOSTAS 1. Neste contexto, faça uma pesquisa sobre 4 (dentre elas o CMM) das Normas citadas acima e relate os principais conhecimentos obtidos sobre cada uma delas. 1.1 ISO 9000-3 / ISO 9001 A ISO 9001 é uma das normas ISSO 9000, que são focadas no gerenciamento e garantia da qualidade. Essas normas regem os requisitos mínimos necessários para as empresas garantam qualidade para seus serviços ou produtos, de modo a não definir modelos ou impor a implementação de sistemas de qualidade nas empresas ou organizações a tratar. São as próprias empresas que traçam os modelos de gerência da qualidade a serem aplicados em seu contexto, quase sempre variando em relação ao tipo de negócio da mesma e/ou também as suas características internas. A ISO 9000-3 pode ser definida como um guia para implementação da ISO 9001 no desenvolvimento, fornecimento e manutenção de software. A aplicação da ISO 9001 é válida a todos os tipos de empresas as quais estão na área de serviços que vão de projetar, desenvolver, produzir, instalar até uma assistência técnica propriamente dita. Como os documentos da Série ISO 9000 (os quais tratamos anteriormente) são normas genéricas demais, viu- se necessária a criação de um documento de suporte que pudesse tratar determinados aspectos peculiares, porém muito importantes, de software. Foi então que em junho do ano de 1993 foi desenvolvida e apresentada a Norma ISO 9000-3 com matrizes apropriadas à aplicação da ISO 9001 ao trabalho de desenvolver, implantar e manter o software. Essa norma se replica de forma adaptada à maioria dos itens da ISO 9001, sendo que para praticamente cada um dos itens da ISO 9001 temos um equivalente na ISO 9000-3, que se apresenta mais aprofundado no contexto e assim é dado como mais adequado para tal aplicação. As bases de fundamento da ISO 9000-3 tangem assuntos importantes e rotineiros, tais como o a preocupação em unificar os interesses entre as partes envolvidas (contratado e contratante), requisitos funcionais, também o uso de metodologias concretas para o desenvolvimento de software e gestão de projetos observados como um todo, desde a concepção até a fase de manutenção. Para facilitar e organizar, esses pontos em questão estão divididos em três partes principais na diretriz, as quais são apresentadas nos tópicos a seguir: **Estrutura: Detalha todos os aspectos organizacionais relevantes, que possam ter alguma relação com o sistema de qualidade. São descritas todas as ações e responsabilidades referentes à qualidade, as quais dizem respeito tanto ao comprador quanto ao fornecedor. Os principais pontos de ênfase são: sistema de qualidade empregado, compromisso da administração, inspeções internas do sistema de qualidade e, ações corretivas a serem aplicadas. **Atividades do ciclo de vida: Detalha as rotinas para o desenvolvimento de software. A Norma pontua a necessidade do desenvolvimento de software ter seu desenvolvimento baseado em algum modelo de ciclo de vida pré- estabelecido, e que todas as atividades referentes à qualidade precisam seguir o planejamento e implementação que seja coerente com a categoria de modelo escolhido. De forma independente ao modelo escolhido pela organização para definir o ciclo de vida, a Norma estabelece que todas as atividades do ciclo de vida precisam ser concentradas em nove grupos diferentes, que são: * Análise crítica do contrato; * Especificação dos requisitos do comprador; * Planejamento do desenvolvimento; * Planejamento da qualidade; * Projeto e implementação; * Ensaios e validação; * Aceitação; * Cópia, entrega e instalação; * Manutenção; **Atividades de suporte: Detalha todas as atividades que dão suporte às rotinas do ciclo de vida definido para o desenvolvimento. Também estão categorizadas em nove níveis, sendo eles: * Gestão de configuração; * Controle de documentos; * Registros da qualidade, * Medição; * Regras, práticas e convenções; * Ferramentas e técnicas; * Aquisição; * Produto de software incluído; * Treinamento. É de grande importância enfatizar que a ISO 9001 apenas indica alternativas para a não conformidade de um produto, recomendando ações tanto preventivas quanto corretivas. A melhoria contínua do processo não é tanto o foco dela, quanto a abordagem do modelo CMM-SW, entre outros, quais serão apresentados no nosso estudo. A busca pela certificação da série ISO 9000 é considerada, na prática, como um dos maiores motivadores do atual movimento em relação à qualidade em todos os ramos de atividades econômicas, incluindo, claro, o software. Definitivamente ela influenciou a maior parte das iniciativas em qualidade de software, em especial o TickIT, que foi desenvolvido no Reino Unido, e fornece um esquema uniforme para expandir a certificação ao campo do software, sendo baseado apenas na ISO 9001 e ISO 9000-3. 1.2 ISO/IEC 12207-1 Essa Norma começou a ser desenvolvida em 1989, num comitê de engenharia de software, e só em 1995 foi aprovada, quando passou a ter validade. Ela define quais os processos, atividades e tarefas que devem ser aplicados ao longo da aquisição, fornecimento, desenvolvimento, operação e manutenção de software. A Norma assume uma definição bastante ampla em relação aos processos, e propõe a nova aplicação para possibilidade da sua utilização nos projetos de software utilizados numa organização. A Norma estabelece dezessete processos do ciclo de vida de software e os agrupa em três diferentes classes: * Processos fundamentais; * Processos de apoio; * Processos organizacionais; Cada uma das classes contém definidos os processos e os usuários possíveis, como mostra a Figura 1 [Tsukumo A.N. et al. ,1997]. Essa Norma ganhou muita importância porque ela estabelece uma estrutura de classificação de processos normalizando a terminologia. Figura 1 - Visão Geral dos Processos - ISO/IEC 12207-1 1.3 SEI SW-CMM O modelo Capability Maturity Model (SW-CMM) recomenda uma avaliação da capacidade e maturidade de uma organização e propõe orientações para sua melhoria. Foi desenvolvida pelo SEI (Instituto de Engenharia de Software) da Universidade Carnegie Mellon, para atende a clientes tais como o Departamento de Defesa dos Estados Unidos. Publicado em 1991, ele se tornou um dos mais prestigiados modelos da atualidade. Nesse modelo, as empresas do ramo de software são enquadradas em um dos cinco níveis definidos de maturidade. O quadro 1 [Paulk, M.C.,1995] mostra os aspectos da empresa e também as áreas chaves de processo consideradas fundamentais para que a mesma seja classificada em um dos níveis, de acordo com a versão 1.1 do SW-CMM. Esta estrutura em níveis do SW-CMM é embasada nos princípios de qualidade de produto propostos por pessoas ilustres no assunto da qualidade como Walter Shewart, W. Edwards Deming, Joseph Juran e Philip Crosby. O modelo SW-CMM teve tamanha repercussão, que vários outros grandes se baseiam diretamente nele, como o Bootstrap e o Trillium, por exemplo, além de ser forte influencia para gigantes como o SPICE. 1.4 ISSO 9126 A norma 9126 tem ênfase na qualidade do produto como um todo, centrada em software, onde tem-se a proposta detrabalhar atributos de qualidade, bem definidas em seis pilares básicos, sendo cada um bem definido nos seus detalhes. Esses pilares são basicamente: Funcionalidade, Confiabilidade, Usabilidade, Eficiência, Manutenibilidade e Portabilidade. Vamos tratar cada um em particular, a fim de entender melhor como funciona a ISSO 9126. Funcionalidade: Essa é a característica que define a possibilidade que as necessidades do usuário sejam atendidas, sejam elas explicitas ou não, dentro de quer qual seja o ambiente de usabilidade. Confiabilidade: Garantia de que o produto é capaz de mater determinado limiar de rendimento em determinadas condições que já são pré-estabelecidas no inicio do desenvolvimento. É baseado em três fatores chave: tolerância a falhas, maturidade e recuperabilidade. Usabilidade: Essa é que defini a capacidade de compreensão do produto, o nível de aprendizados que se pode ter do contexto do software, e a facilidade em operá-lo, além que esse produto deve necessariamente ser atrativo aos olhos de quem o sustenta, por isso as questões de interfaces visuais devem ser pensadas nos mínimos detalhes. Mas é possível ver que esses requisitos se mantem ate mesmo onde não temos uma relação final entre cliente e o software, mas onde apenas se precisa entender como é feito todos os processos internos de funcionamento do software. Até porque definir uma interface qualitativamente pode ser uma tarefa muito subjetiva, infelizmente. Eficiência: Preocupação constante com times de execução, além de entender e prover os recursos físicos que garantem o sucesso do start e manutenção do software, uma vez que o hardware sempre vai ser crucial pra questões de rendimento do software. Manutenibilidade: A possibilidade que se tem de dinamismo na construção do produto final. Esse tem que garantir a possibilidade de mudanças futuras, seja para melhorias e/ou adesões de funcionalidades quanto para as fixações (correções) de possíveis falhas, ou bugs. Portabilidade: Facilidade de troca de ambiente onde o software se encontra atualmente em operação. Devemos pensar em todos os âmbitos de alteração, tais como maquinarios e infraestrutura que suporte o produto em bom rendimento. Tanto como também em integração de linguagens de desenvolvimeto que permitam integração com mais de um tipo de banco de dados e até mesmo questões obvias como um idiona, tal que delimite a aior fronteira possivel de utilização e manutenção do produto. A garantia desses requisitos se dá quase sempre na fase ainda de projetos, e pode custar muito barato, em relação a custo versus benefícios. O que acontece é a aquisição de conceitos informais no desenvolvimento, impossibilitando a inserção da melhor forma de projeto e construção. Empresas de médio e grande porte já relataram muito sucesso com a aplicação de um ou mais requisitos da norma. 2. Sobre o Modelo CMM/ CMMI explique os 5 Níveis de Maturidade no Processo de Desenvolvimento de Software: a. Nível Inicial -> Organizações Críticas Tem processos que são definidos estruturalmente como caóticos. Muito poucas são as rotinas pré-definidas e as situações previsíveis, tornado qualquer bom resultado um mérito individual, que na maioria das vezes é entendido como ato de heroísmo. b. Nível Repetível -> Organizações Disciplinadas O básico de gerencia de processos começa a ser estruturados , passa-se a criar preocupação com prazos, custos e escopo. Quando se mantém esse nível é mais fácil permanecer no sucesso em aplicações parecidas a serem desenvolvidas em sequencia. c. Nível Definido -> Organizações Padronizadas Começam a ser pensadas aspectos e características mais organizadas como documentação e até mesmo padronização, criando apenas trabalhos que sejam possivelmente enquadrados em um nível de padrão já conhecido pela empresa. Qualquer projeto antes de começar, passa pelo processo de apresentação e aprovação de modelo de processo interno, pra só então seguir para o desenvolvimento. d. Nível Gerenciado -> Organizações Previsíveis Agora o projeto passa a ser acompanhado por métricas, todos os processos são documentados quantitativamente a fim de se obter números capazes de gerar expectativas de sucesso, assim podemos ter tudo sendo supervisionado e controlado ao mesmo tempo. e. Nível Otimizado -> Organizações com Melhoria Contínua Todos os processos agora sofrem melhorias continuas, após avaliações temporais de termos quanti e qualitativos, a fim de identificar potenciais novas tendências que possam contribuir em termos de otimização. Referencias: Paulk, M.C. - “How ISO 9001 compares with the CMM” - IEEE Software, Jan.1995. Tsukumo A.N. et al. – “Qualidade de Software: Visões de Produto e Processo de Software” – ATAQS (CTI), Jun. 1997. Maciel, A.C.F. et al. – “ANÁLISE DA QUALIDADE DE SOFTWARE UTILIZANDO AS NORMAS 12207, 15504, ISO 9000-3 E OS MODELOS CMM/CMMI e MPS.BR” - Revista Científica do ITPAC, Out. 2011. Portal usabilideiros.com.br acessado em 30/07/2016.
Compartilhar