• Nenhum resultado encontrado

A MELHORIA DA QUALIDADE DE SOFTWARE

N/A
N/A
Protected

Academic year: 2021

Share "A MELHORIA DA QUALIDADE DE SOFTWARE"

Copied!
6
0
0

Texto

(1)

INTERFACE nscrvor.Óarca - z›.¡ - ar - 2004

A MELHORIA DA QUALIDADE DE SOFTWARE:

UM ENFOQUE AO MODELO SEI-SW-CMM NIVEL 2

Angelita Moutln Segoria GASPAROTTO' Gilberto Alexandre ROCHA"

RESUMO

O presente artigo apresenta a estrutura do Modelo SEI-SW-CMM NÍVEL 2, cujo objetivo é avaliar a maturidade das empresas desenvolvedoras de software e propor melhorias para este processo.

PALAVRAS-CHAVE: Melhoria de software. Qualidade. Processos. CMM.

INTRODUÇÃO

O movimento pela qualidade - dos artesãos ao Desdobramento da Função Qualidade - deve ser entendido como um conjunto de fatos e ações, acumulado ao longo do tempo, o qual levou à preocupação pela qualidade nos dias atuais. A transfomiação dos mercados desencadeou um processo em que as empresas concennam esforços pela excelência em qualidade. Nesse contexto, as empresas buscam modelos, fenamentas e métodos, com o objetivo de aumentarem suas vantagens competitivas, podendo compartilhar assim os mercados globais.

Com mudanças tecnológicas cada vez mais velozes, crescimento na complexidade dos produtos, competição global, disseminação do uso da tecnologia e evolução nos conceitos da qualidade, toma-se necessário investigar os processos de desenvolvimento de soflware, com o objetivo de alcançar produtos com qualidade superior. Essa investigação é justificada uma vez que a qualidade do produto de sofiware está diretamente relacionada à qualidade do seu processo de desenvolvimento.

No âmbito de software, até a década de 70, a noção da qualidade estava ligada à parte intema deste, sendo avaliada em termos de linhas de código e tempo de execução. Nos anos 80, havia uma maior qualificação dos usuários. Nos anos 90, a discussão assumiu um caráter mais formal com a apresentação de Normas como a ISO 9000-3 e a lSO 9126. Atualmente, a discussão pela busca da qualidade leva as organizações a se preocuparem com a melhoria de seus produtos desde a sua concepção. Portanto, o enfoque principal dado às atividades de garantia da qualidade de software tem se concentrado na melhoria de seu processo de desenvolvimento.

Em se tratando de avaliação e melhoria do processo de desenvolvimento de software, o CMM (Capability Maturity Model), desenvolvido pelo SE] (Soflware Engineering Institute) da Universidade Carnegie Mellon (Pittsburgh - EUA), é um modelo utilizado para qualificar e definir os pontos de atuação, além das ações para a melhoria evolutiva desse processo. De acordo com Belloquim (1999), o CMM foi criado para todo tipo de empresa desenvolvedora de software, independentemente do seu tamanho. O sucesso de sua implementação é relativo à capacidade que a empresa tem de absorver os conceitos e adaptados à sua realidade.

'Faculdade de Tecnologia de Taquaritinga. Av. Dr. Flávio Henrique Lemos, 585 - Portal ltamaracà. [email protected] "Faculdade de Tecnologia de Taquaritinga. Av. Dr. Flávio Henrique Lemos, 585 - Portal Itamaracá [email protected]

(2)

NTERFACE TECNOLÓGICA - v.I ~ n.I - 2004 I

QUALIDADE DE SOFTWARE Conceitos

A respeito da qualidade de software, há muitos conceitos para defini-la, sob diferentes pontos de vista apresentados na literatura. Abaixo são apresentas algumas definições dos principais autores:

0 Um produto de software apresenta qualidade dependendo do grau de satisfação das necessidades dos clientes sob todos os aspectos do produto (SANDERS & CURRAN, 1994);

0 Qualidade de software é o grau em que o software possui uma combinação desejada de atributos (IEEE-STD729, 1983);

0 Qualidade de software é o grau em que os atributos do software são capazes de desempenhar sua finalidade especificada (DOD-STD 2168);

I Apercepção da qualidade de software é vista principalmente em termos de tempo em que um sistema opera corretamente (SMITH & WOOD, 1989);

0 Qualidade é a conformidade aos requisitos estabelecidos explicitamente e aos padrões de desenvolvimento documentados (PRESSMAN, 1994).

Qualidade do Processo de Desenvolvimento de Software

De acordo com Paulk et al. (1993), o processo de desenvolvimento de software é representado por um conjunto seqüencial de atividades, objetivos, transfonnações e eventos que encapsulam estratégias para o cumprimento da evolução do sofiware.

Xerox (1983) considera processo como sendo uma série de atividades de trabalho correlacionada caracterizada por uma série especifica de entradas e tarefas que agregam valor ao produto.

De acordo com Juran (1 989) um processo é definido como uma série sistemática de ações direcionadas para a consecução de uma meta. Para estar de acordo com os termos dessa definição, um processo deve ser: 0 Direcionado em função de uma meta: não se pode planejar abstratamente, sem saber qual é a meta. Isso significa que, para planejar para a qualidade, deve-se antes estabelecer as metas e padrões da qualidade que se deseja alcançar;

0 Sistemático: as ações que constituem um processo estão todas interligadas e são independentes. Elas também são progressivas e seguem uma seqüência estipulada;

0 Capaz: o resultado final adequado do planejamento é um processo capaz de atender' às metas sob condições de operações normais;

0 Legítimo: o processo se desenvolve através de canais autorizados. Ele deve ser aprovado pelos que receberam responsabilidades relacionadas a ele.

Para Fiorini (1998) conhecer os processos significa conhecer como os produtos e serviços são planejados, produzidos e entregues ao cliente. Para que um processo de software seja efetivo para o cumprimento dos seus objetivos, torna-se necessário um planejamento detalhado que revele a realidade do ambiente de desenvolvimento do software. Deve-se considerar aspectos específicos do projeto, como metas e politicas, equipe de desenvolvimento, cronograma, disponibilidade de recursos humanos, técnicos e financeiros.

(3)

J g _ WM INTERFACE TECNOLÓGICA - v.l - n.I - 2004 O Modelo SEI-SW-CMM

Histórico e Conceituação

O SW-CMM foi desenvolvido pelo SEI (Sofiware Engineering Institute) sediado na CMU (Carnegie Mellon University) em Pittsburg, Pennsylvania, Estados Unidos. O SEI é um centro de pesquisa criado em 1984 pelo Departamento de Defesa dos Estados Unidos (DoD - Department ofDefense) e é patrocinado pelo OUSD (A&T) (Office ofthe Under Secretary ofDefense for Acquisition and Technology). O SEI tem por missão aprimorar a prática de Engenharia de Software. As áreas de atuação do SEI são: capacitação de gerência de software, tecnologia para a engenharia e aptidão para a transição. O SEI focaliza a transição tecnológica: o desenvolvimento e adoção das melhores práticas de engenharia de software.

O CMM classifica as organizações produtoras de software em cinco grupos (ou cinco níveis) de maturidade. Os cinco níveis de maturidade propostos pelo SW-CMM são: inicial, repetivcl, definido, gerenciado e em otimização. AFigura 1 a seguir, ilustra os Níveis de Maturidade do CMM:

Processo em f"e'h°flfl- . fiz; l continua 1 -vw. °w~*a"›f1"5:

°"°"'S“'°'

l.‹E=E=z=zY==.= ;:..=-1 ...=. f .',;-:,.-'.,..,.‹_.;¿.,.;..'1.¡:':5:5:5:;:': Prosso consistente ~ Í Di' ‹f"-.-..i: _‹:-:z:z:z:z:-:-az-:z:z:z:z:›~wi-:z:z:zaz=à=à:z.z:z:-::=â:5â:za "

PFOCBSSO «-' . 'ía ---zêzaziâãzgàzigizázzzíâieiêgazzzffsúgtzagêzêâzäzsâiazagazaiéziíããi

Ci ÍSCÍPÍÍ I'|ãC|0 ` W z¬ sã! , «íifL-Q‹_ se ...z _ . ...z.z.z...z.z. ¬“~az::¿‹§“:r~;,'F' -zé-fazzç. -'i --¡'¡-1"v`EãElE=¡¡¡I:3,? , -‹¿<¡¢¡,¡,¡,¡;;›;›#5f¢,¿

Figura 1 - Níveis de Maturidade do CMM Fonte: (Paulk et al., 1993 p. 16)

Como apresentado pela Figura 1 , o CMM classifica as organizações em cinco niveis evolutivos de maturidade, cada um com suas características próprias. Estas caracteristicas estão apresentadas no Quadro l :

(4)

j Nivel do CMM Características E E

INTERFACE TECNOLÓGICA-»1 ›».1 -2004

Quadro 1 - Visão Geral dos Níveis de Maturidade do CMM

l t O processo de desenvolvimento é desorganizado e até caótico. Poucos processos Inicial são definidos e padronizados e o sucesso depende de esforços individuais e heróicos

dos desenvolvedores. 1

2 Os processos básicos de gerenciamento de projeto estão estabelecidos e pcnnitem Repetivel acompanhar custo, cronograma e funcionalidade e é possível repetir o sucesso de

j um processojá utilizado anteriormente.

3 Tanto as atividades de gerenciamento quanto as de engenharia do processo de . Definido *S desenvolvimento de software estão documentadas, padronizadas, e integradas i I em urn padrão de desenvolvimento da organização. Todos os projetos utilizam i uma versão aprovada e adaptada do processo padrão de desenvolvimento de

software da organização.

4 C mS_ão coletadasnrnedidas detalhadas da qualidade do produto e do processo de Gerenciado desenvolvimento de software. Tanto o produto quanto 0 processo de

desenvolvimento são entendidos e controlados quantitativamente.

5 O melhoramento contínuo do processo é conseguido através de um feedback Em otimização quantitativo dos processos e pelo uso pioneiro de idéias e tecnologias inovadoras. Fonte: (Paulk et al., 1993)

Apresentando o Nível 2 do Modelo SEI›SW-CMM

No Nível 2, o processo passa a terum nivel básico de controle. Em vez de processo de desenvolvimento ser uma única “caixa preta”, ele passa a ser uma seqüência de “caixas pretas” (tarefas) que asseguram a visibilidade em determinados pontos, tipicamente nos chamados marcos de acompanhamento do progresso do projeto. São estabelecidas políticas para gerenciar projetos de desenvolvimento de software, bem como procedimentos para implementa-las. O planejamento e a gerência de novos projetos são baseados em experiências adquiridas com projetos similares anteriores.

A capacitação do processo é melhorada projeto a projeto, através do estabelecimento de disciplinas básicas de gerência. Para cada projeto são estabelecidos processos que são definidos, documentados, praticados, executados, treinados, medidos, obedecidos e passíveis de melhoria.

Todos os níveis de maturidade do CMM com exceção do Nível 1, são compostos de um certo número de áreas-chave de processo (Key-Process Areas - KPAS). Essas áreas descrevem os objetivos que devem ser atingidos, assim como as questões a serem tratadas para se alcançarem estes objetivos e atingir o nível proposto. As áreas-chave de processos estabelecidas no Nível 2 são: Gerenciamento de Requisitos, Planejamento do Projeto de Software, Acompanhamento e Supervisão do Projeto de Software, Gerenciamento de Sub-Contratos de Software, Garantia da Qualidade de Software, Gerenciamento da Configuração de Software.

(5)

INTERFACE TECNOLÓGICA - ul - HJ - 2004

.it-‹-|..«t«

0 KPA 1 - Gerenciamento de requisitos: de acordo com Paulk et al. (l993), a proposta desta KPA é estabelecer um entendimento comum entre o cliente e a equipe do projeto sobre os requisitos alocados ao software. Envolve o estabelecimento e a manutenção dos requisitos do soflware de acordo com as necessidades do cliente;

0 KPA 2 - Planejamento do projeto do software: a finalidade desta KPA é estabelecer planos para o desempenho e manutenção do projeto. Este planejamento envolve o desenvolvimento de estimativas para o trabalho, o estabelecimento de compromissos e de planos para desempenhar o trabalho;

0 KPA 3 - Acompanhamento e supervisão de projeto de software: A finalidade desta KPA é promover uma visão adequada do progresso real do projeto, de modo que o gerenciamento possa tomar medidas efetivas quando o desempenho se desvia do plano proposto;

0 KPA 4 - Gerenciamento de sub-contratos de software: a finalidade desta KPA é selecionar fomecedores qualificados e gerenciá-los eficazmente. Esse processo envolve selecionar o fomecedor, estabelecer compromissos, acompanhar e revisar o desempenho e os resultados obtidos;

0 KPA 5 - Garantia de Qualidade de Software: a finalidade desta KPA é promover o gerenciamento com visibilidade do processo que está sendo utilizado e dos produtos que estão sendo desenvolvidos. Isso envolve revisões e auditorias nos produtos de software e nas atividades para assegurar que estão em conformidade com os padrões e procedimentos aplicados;

0 KPA 6 - Gerenciamento da configuração de software: a proposta desta KPA é estabelecer e manter a integridade dos produtos do projeto de software ao longo do ciclo de vida deste. Esse processo envolve identificar os itens de configuração, controlar sistematicamente as alterações e manter a integridade da configuração ao longo do ciclo de vida do software.

coNcLUsõEs

Este artigo procurou apresentar a importância da qualidade de desenvolvimento de software nos dias atuais, tomando como enfoque, o Modelo SEI-SW-CMM Nível 2. Através da implementação deste Modelo, poder-se-á verificar efeitos significativos tais como: alta produtividade, baixo custo de desenvolvimento, envolvimento e comprometimento do fator humano, comprometimento com a qualidade e planejamento das atividades. Todos os efeitos citados poderão trazer inúmeras vantagens estratégicas e competitivas de mercado. ABSTRACT

This article shows the SEI-SW-CMM Level 2 framework, whose objective is to evaluate the maturity of software houses and propose improvement for this process.

KEYWORDS: Sofiware improvement. Quality. Processes. CMM.

REFERÊNCLÀS

BELLOQUIM, Átila. CMM em Pequenas Organizações: Seria Mesmo Possível? Developers Magazine. Fev. 1999.

FIORINI, S.T. Engenharia de Software com CMM. Rio de Janeiro, Ed. Brasport. 1998

IEEE (1983). IEEE Standard Glossary ofSoftware Engineering Terminology. New York: IEEE, ANSI! IEEE Std 729. 1983.

JURAN, J. M. Planejando para a Qualidade. 2. ed. São Paulo: Ed. Pioneira. 1989, p. l95-255

(6)

INTERFACE TECNOLÓGICA ~ v.I - n.I - 2004

Carnegie Mellon University, CMU/SEI-91-TR-24. ESC-TR-93-177. 1993.

PRESSMAN, R. S. Software Engineering - A Practtioner 's Approach, Edição Européia, Editora McGraw-Hill. 1994.

SANDERS, J. & CURRAN, E. Software Quality- A Framework for Success in Software Development and Suport, Addison-Wesley. 1994.

SMITH, D. J. & WOOD, K. B. (l989). Engineering Qualizjy Sofiware - ARevicw of Current Practices Standards and Guidelines lncluding New Methods and Developement Tool, Elsevier Science Publishers Ltd.

1989.

Referências

Documentos relacionados

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o

Resumo O presente artigo tem como objetivo analisar a importância do brincar para o desenvolvimento afetivo da criança de 0 a 6 anos, como também identificar as concepções

Em relação ao Respondente4 ele já havia usado a ferramenta em outra instituição antes de iniciar suas atividades na UTFPR Campus Pato Branco e é possível creditar sua

Neste trabalho foram analisados os dados coletados em perímetro urbano e rural no município de Serranópolis do Iguaçu com a finalidade de investigar e avaliar o

Obtivemos as respostas listadas a seguir: Sujeito 1: “Brincar na educação infantil é muito importante para o desenvolvimento da criança que nessa fase tem o lúdico como elemento

No Quadro 14, está a representação da incompatibilidade número 10 onde na modelagem BIM, conforme o projeto estrutural, a passagem da eletrocalha foi projetada a 2,97m

Neste sentido, o nosso trabalho foi realizado em dois momentos: o Campo de Observação com 20 horas semanais e Campo de Docência com 20 horas semanais, encontros significativos

A forma em que as empresas do arranjo do segmento cama-mesa-banho estão inseridas no mercado externo pode ser enquadrada em relações de redes de empresas, nas