Prévia do material em texto
Engenharia de Software e Qualidade em Sistemas Qualidade de Software e Modelos de Referência Responsável pelo Conteúdo: Prof. Ms. Afonso Pavão Revisão Textual: Prof. Ms. Claudio Brites 5 Qualidade de Software e Modelos de Referência Nesta unidade, trabalharemos os seguintes tópicos: • Introdução • Orientação para Leitura Obrigatória • Material Complementar Fonte: iStock/Getty Im ages · Apresentar os conceitos de Qualidade de Software. · Compreender o que são métricas de Software. · Entender a abrangência e importância dos testes de Software. · Apresentar os modelos de referência para a qualidade de Software. Normalmente com a correria do dia a dia, não nos organizamos e deixamos para o último momento o acesso ao estudo, o que implicará o não aprofundamento no material trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas. Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns dias e determinar como o seu “momento do estudo”. No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões de materiais complementares, elementos didáticos que ampliarão sua interpretação e auxiliarão o pleno entendimento dos temas abordados. Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e aprendizagem. 6 Unidade: Qualidade de Software e Modelos de Referência Introdução ao Tema Quando falamos sobre qualidade de software é necessário lembrar que o processo de software é extenso e complexo. A engenharia de requisitos ainda é um dos “calcanhares de Aquiles” do desenvolvimento de sistemas. O termo qualidade ganhou notoriedade com a busca pela qualidade de produtos na década de 1980 e expandiu-se rapidamente ao longo dos anos 1990. Qualidade de um produto se refere ao atendimento às suas especificações técnicas – seus “requisitos”. Com o avanço da tecnologia e a constante inovação dos produtos, as empresas começaram a busca pela certificação da International Standardization for Organization – ISO, tornando- se essa uma condição essencial para comercializar seus produtos no mercado mundial. Com o software sucedeu o mesmo, consequência da expansão do interesse na automatização de processos, principalmente por parte das médias e pequenas empresas. Os clientes de software houses também começaram a exigir para o software cada vez mais o atendimento de suas necessidades, e com maior qualidade. Os consumidores viram então as empresas buscando sua certificação com total prioridade. Proliferam-se as organizações que necessitavam mapear seus processos para obter alguma certificação. As empresas que tinham seus processos mapeados saíram na frente e passaram a usar a certificação como propaganda para alavancar suas vendas, veicular seus produtos e sua imagem de seriedade. Logo a certificação passou a ser considerada imprescindível também para as empresas do produto software, pois seriam vistas inclusive como organizações sérias, confiáveis e seguras. Assim, o software também passou a ter as suas especificações técnicas, a exemplo de outros produtos desenvolvidos pela engenharia de produtos. As especificações técnicas do software ficaram conhecidas como requisitos do software, e deveriam atender às necessidades dos clientes. Os processos de software e suas atividades contribuíram para a melhoria desses produtos, uma vez que a atenção dos profissionais da tecnologia da informação ficou voltada para que cada etapa do desenvolvimento também tivesse a qualidade adequada. A transição de controle de qualidade para garantia de qualidade mudou radicalmente a visão dos consumidores e dos fabricantes – independente do produto fabricado. A visão de que o produto final deveria ter qualidade evoluiu para assegurar que o produto final tivesse a qualidade requerida, e isso somente seria possível com adequados controles em cada etapa do processo de fabricação. 7 E com o software não foi diferente, a engenharia de requisitos impulsionou e contribuiu para que sua qualidade melhorasse. A adoção de normas mais rígidas de processos de software para o desenvolvimento de sistemas, a iteratividade e a interação crescente com os clientes sempre mais exigentes fez surgir as normas gerais para o desenvolvimento de sistemas. Com diversas sugestões, o detalhamento dessas normas procurou tornar padrão os requisitos da qualidade do produto software. Mas, com isso, foi necessário criar mecanismos adequados para avaliar as características da qualidade de um software. E como sua complexidade diverge conforme a organização e as necessidades de controle que cada usuário tem, foram criadas diversas métricas para realizar essa medição. As empresas de maior porte e software houses tradicionais – e, portanto, com maior experiência no desenvolvimento de sistemas – já possuíam seu histórico e, consequentemente, tinham um bom diagnóstico da qualidade de seus produtos. Existiam, contudo, diversas empresas produzindo sistemas, e cada uma delas em diferentes estágios de maturidade de desenvolvimento de software. O advento dos critérios para identificar a capacitação da arquitetura de desenvolvimento, elaborados pelo Software Engineering Institute – SEI, da Universidade de Carnegie Mellon – o Capability Maturity Model for Software – CMM e o Integrated – CMM-I possibilitaram, juntamente com outros critérios, elaborar um modelo para a avaliação do nível da experiência dos profissionais e das organizações na elaboração de um software. Esse modelo então passou a ser a nova referência e o passaporte para a comercialização de softwares devido à sua respeitabilidade e amplitude de aceitação. Assim, as empresas se tornam igualmente respeitáveis e confiáveis ao se prepararem para serem submetidas à avaliação oficial do SEI. 8 Unidade: Qualidade de Software e Modelos de Referência Orientação para Leitura Obrigatória Nesta Unidade, ao apresentarmos os conceitos gerais de qualidade de software, de métricas e testes, e de modelos de referência para a qualidade de software, é recomendável a leitura dos capítulos e obras, conforme orientações a seguir: PRESSMAN, R. S.; MAXIM, B. Engenharia de software: uma abordagem profissional. 9. ed. Porto Alegre: AMGH, 2021. Parte 3 somente e-book disponível em BIBLIOTECA A Após carregar a página de capa do livro, observe a seta à direita da tela para movimentar-se e ir à página seguinte ou retornar à anterior. SCHACH, S. R. Engenharia de software: os paradigmas clássico & orientado a objetos. 7. ed. Porto Alegre: AMGH, 2009. Cap. 13, 14 e 15 e-book disponível em BIBLIOTECA A Após carregar a página de capa do livro, observe a seta à direita da tela para movimentar-se e ir à página seguinte ou retornar à anterior. Você também deve explorar e ler o material identificado no Material Complementar, pois sua proposta é ajudá-lo a compreender, sob ótica diferente desta unidade de conteúdo, os assuntos abordados. 9 Material Complementar Sites: Associação Brasileira de Normas Técnicas – ABNT para aquisição. Disponível em: https://goo.gl/S191uo, acesso em 12/04/2016. Wikipedia – ISO/IEC 9126. Disponível em: https://goo.gl/Whbkgw, acesso em 12/04/2016. Leituras: PEPP: Processo de Software para Empresas de Pequeno Porte Baseado no Modelo CMMI Artigo publicado e premiado no SBQS de 2005, na categoria excelência. Disponível em: http://goo.gl/1Dn9Qu, acesso em 15/3/2016. Quality Attributes Atributos da qualidade de software. Disponível em: http://goo.gl/aVmzoK, acesso em 12/04/2016. 10 Unidade: Qualidade de Software e Modelos de Referência Referências BARTIÉ, Alexandre. Garantia da qualidade de software. Rio de Janeiro: Elsevier,2002. COUTO, Ana B. CMMI - integração dos modelos de capacitação e maturidade de sistemas. Rio de Janeiro: Ciência Moderna, 2007. KOSCIANSKI, André & SOARES, Michel dos Santos. Qualidade de Software. 2. ed. São Paulo, Novatec: 2007. PÁDUA, W. Engenharia de Software - Fundamentos, Métodos e Padrões. 3. ed. São Paulo: LTC, 2009. PRESSMAN, R. S. Engenharia de Software. 7. ed. Rio de Janeiro: Mcgraw-Hill do Brasil, 2011. SOMMERVILLE, I. Engenharia de software. 8. ed. São Paulo: Pearson, 2011. 11 Anotações