








































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Qualidade de Software : - Motivação de Qualidade - Qualidade x tipo de software - Avaliação da qualidade do produto
Tipologia: Resumos
1 / 80
Esta página não é visível na pré-visualização
Não perca as partes importantes!









































































Antes de iniciarmos nossos estudos, vamos primeiro entender o significado de qualidade. Veja: O Dicionário Aurélio define qualidade como: “propriedade, atributo ou condição das coisas ou das pessoas capaz de distingui-las das outras e de lhes determinar a natureza” [Aurélio86]. Como um atributo de um item, a qualidade se refere a coisas que podem ser medidas, ou seja, comparadas com padrões conhecidos, tais como, tamanho, cor, propriedades elétricas, maleabilidade, etc. Entretanto, é mais difícil categorizarmos qualidade em software, que é uma entidade intelectual, do que em objetos físicos. Quando falamos de qualidade, deparamo-nos com diversas situações. Veja um exemplo: O que seria um automóvel que tem qualidade? Vêm-nos em mente diversos tipos, modelos e marcas tão sonhadas, mas o que devemos observar? Esses automóveis tão sonhados espelham a qualidade principalmente pela funcionalidade, segurança, fácil manutenção e diversas outras conformidades que necessitamos. Aproveitando o nosso exemplo do automóvel, quando nos deparamos por um aviso no rádio, televisão e/ou internet, sobre um recall de um determinado automóvel, qual a sensação que é esperada a princípio por todos? Provavelmente, a sensação de que houve um defeito no projeto do automóvel, pois o que nos surpreende é que logo em seguida mostram o lote em que se deve efetuar o recall, do número x até o número y desse veículo e modelo... Isso mostra, de fato, que houve algum erro, defeito ou bug? Sim, mas o erro foi identificado a tempo e, mesmo assim, conseguiram saber quais veículos produzidos da linha de montagem tiveram esta anomalia. Isso prova que as maiorias das indústrias (nesse caso, automobilísticas) conseguem ter controle de todos os processos efetuados na criação de um veículo. Vale salientar que as indústrias têm como controlar essas anomalias, mas nem sempre foi assim, para chegar a esse grau de excelência, erram muito. Bem, mas e quando falamos de software? Definir qualidade de software é uma tarefa difícil. Muitas definições têm sido propostas e uma definição decisiva poderia ser debatida interminavelmente. Ao se examinar um item baseado em suas características mensuráveis, dois tipos de qualidade podem ser encontradas: qualidade de projeto e qualidade de conformidade [Pressman97].
Unidade: Motivação de Qualidade Uma definição de qualidade de software que se encaixa nesse escopo é: “conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido” [Pressman95]. Hoje, temos uma dependência crescente em sistemas computacionais. Sistemas computacionais dependem cada vez mais do software. Por isso, o mau funcionamento do software pode gerar custos altos. Alguns exemplos do passado:
Abaixo, temos uma figura que representa as características de qualidade segundo McCall. Cada item representa uma característica de cada processo. Modelo de Qualidade de McCall et al, 1977
Unidade: Motivação de Qualidade
Funcionalidade: o software satisfaz às necessidades explícitas e implícitas do usuário?
Cada tipo de software tem seu próprio requisito de qualidade, a importância de cada característica depende diretamente do tipo de software por exemplo. No exemplo acima, temos a importância que cada processo em cada sistema, cada um exige mais do que o outro de acordo com seus requisitos, em uns mais itens em outros menos itens. A figura abaixo mostra os diferentes pontos de vista das pessoas envolvidas no processo de desenvolvimento de software. Figura: Diferentes pontos de vista Quais são os principais objetivos da qualidade?
Definição de um arcabouço para se atingir a qualidade do produto de software [Sommerville01, 24.1] Padrão sistemático e planejado de ações que são exigidas para garantir a qualidade do software. [Pressman92, 17.1.2] Visa responder às seguintes questões:
Unidade: Motivação de Qualidade
Aplicação de métodos, técnicas e ferramentas, uso pelos desenvolvedores de métodos e ferramentas que ajudem a conseguir especificações, projetos, etc., de maior qualidade. Realização de revisões técnicas, o objetivo é avaliar a qualidade do artefato de software (especificação, projeto, ...) produzido ao longo do desenvolvimento. Atividades de testes em complemento às revisões e outras técnicas. Aplicação de padrões
Controle de alterações, toda mudança no software tem potencial para introduzir erros ou criar efeitos colaterais, que propagam erros no controle de mudanças durante desenvolvimento e manutenção, sendo essencial para garantir a qualidade do software. Medição, obtenção de métricas a fim de rastrear a qualidade do software e avaliar o impacto de mudanças nos métodos e procedimentos usados para desenvolvimento e manutenção. Anotação e manutenção de registros para manter histórico com resultados de revisões, auditorias, controle de alterações e outras atividades de garantia de qualidade, que devem ser levados ao conhecimento dos desenvolvedores. Com isso, conseguimos ter uma noção de qualidade e chegar a uma conclusão de qualidade de software que devido ao aumento da competitividade e a preocupação em oferecer ao mercado softwares que atendam às expectativas de seus clientes, os desenvolvedores de software têm buscado aplicar os conceitos de qualidade em seus produtos. Dada a história e os fatos mencionados, notamos que, nos dias de hoje, a qualidade dos softwares desenvolvidos devem aumentar significativamente. Algumas certificações existentes no mercado têm dado uma atenção especial nos processos de qualidade e mobilizado as organizações a adotarem este tipo de processo em todos seus produtos. Espera-se que as organizações comecem a incluir em seu processo de desenvolvimento, o processo de qualidade de software, não apenas no momento que o produto foi finalizado ou desenvolvido, mas desde o início de sua concepção, para não ser surpreendido com a possibilidade de ocorrerem falhas no ciclo de vida do software.
Unidade: Motivação de Qualidade
J. McCall, P. Richards and G. Walters. Factors in Software Quality (3 vols.), NTIS AD- AO49-014, 015, 055, Nov. 1977. R.S.Pressman. Software Engineering, A Practicioners Approach, McGraw-Hill. Steven R. Rakitin. “Software Verification and Validation: a Practitioner’s Guide”. Artech House, 1997. Nelma S. Gomes. “Qualidade de Software - Uma Necessidade”. Artigo obtido em fev/ em: www.esaf.fazenda.gov.br/cst/arquivos/Qualidade_de_Soft.pdf PRESSMAN, Roger S. Engenharia de software. 6ª ed. Porto Alegre: Bookman, 2006. GAMMA, Erich. Padrões de projeto: soluções reutilizáveis de software orientado a objetivos. Porto Alegre: Bookman, 2000. SOMMERVILLE, Ian. Engenharia de software. 8ª ed. São Paulo: Pearson Addison-Wesley,
RESENDE, Denis Alcides. Engenharia de software e sistemas de informação. 3ª Ed. Rio de Janeiro: Brasport, 2005. FILHO, Wilson de Pádua Paula. Engenharia de software: fundamentos, métodos e padrões. 3ª ed. Rio de Janeiro: LTC, 2005. FERNANDES, Aguinaldo Aragon. http://www.redepro.rs.gov.br/docs/11177116862Seminario_redepro_palestra_1.pdf (22/07/2010, 17:35h) [SEI2000] Sei, An Overview of Capability Maturity Model Integration (CMMI) – Version 1.0, Tutorial presented at SIMPROS 2000 [23], 2000. [SEI2002a] Sei, Web Site do software Engineering Institute – SEI, http://www.sei.cmu. edu/ (CMMI nodels available at www.sei.cmu.edu/cmmm). [ISO9001:2000] International Standard Organization Certification for IMS Company. [ISO12207:2000] International Standard Organization. ISO/IEC 12207 Amendement: Information Technology – Amendement to ISO/IEC 12207, versão PDAM 3, novembro 2000.