Sie sind auf Seite 1von 9

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

Novo ponto de vista na criao de sistemas com aplicao de modelos de qualidade para software
Danillo Leal Belmonte (CEFET-PR/PG) belmonte@pg.cefetpr.br Prof. Dr. Luciano Scandelari (CEFET-PR) luciano@cefetpr.br Prof. Dr. Joo Luiz Kovaleski (CEFET-PR/PG) kovaleski@pg.cefetpr.br

Resumo Este artigo tem como objetivo o estudo de uma nova concepo s fbricas de software. Por meio de uma reviso bibliogrfica dos principais estudos desenvolvidos sobre o tema, tem-se que a forma de desenvolvimento atual, somente com base na utilizao de componentes e baseado em algumas ferramentas de Tecnologia de Informao, , quase que em sua totalidade, adotada em projetos experimentais e em propostas open-source, e, por isso, no aplicados ao mercado comercial. Com isso, prope-se uma nova viso na criao de sistemas atravs da fbrica de software, utilizando primeiramente o conceito de arquiteturas integradas e, posteriormente, a adoo de modelos de qualidade para software. Nota-se que a maior deficincia nos projetos a no adoo de uma metodologia para o controle da qualidade. No final do projeto, apenas a fase de testes tida como o controle de qualidade dado ao software. Palavras chave: Fbricas de software, Projeto, Qualidade, Software. 1. Introduo inegvel que software um dos componentes de maior importncia em qualquer atividade do negcio, uma vez que o tratamento da informao, de forma precisa e correta, diferenciar uma empresa de suas concorrentes. O software de computador uma dentre poucas tecnologias-chave que causaram impacto sobre quase todos os aspectos da sociedade. Ele um mecanismo para automatizar negcios, a indstria e o governo, um meio de transferir novas tecnologias, um modo de captar valiosa experincia para ser usada por outros, uma janela para o conhecimento corporativo coletivo. O software fundamental em quase todos os aspectos dos negcios. Encontramos o software (freqentemente sem nos darmos conta dele) quando nos dirigimos ao trabalho, fazemos qualquer compra no varejo, paramos no banco, fazemos uma chamada telefnica, visitamos o mdico ou realizamos qualquer uma das centenas de atividades do dia-a-dia que refletem a vida moderna (PRESSMAN, 1995). O mercado global para software chegou a um e meio trilho de dlares, afirma Meira (2004), quando considerados softwares embutidos (em equipamentos) e desenvolvimento realizado por empresas de software. A pequena empresa desenvolvedora de software brasileiro, sobrevive apenas com contratos locais de pouca exigncia de produtividade e qualidade. Por isso, so poucos no Brasil, os negcios de software que tm condies de exportar. Apenas os que atendem os requisitos de qualidade o fazem. Para a melhora do desenvolvimento de software brasileiro, foi criado o conceito de fbrica de software. Oliveira e Neto (2003) definem que fbrica de software utiliza a metodologia de criao de software atravs da aproximao da abordagem da criao de produtos na gesto

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

da manufatura. Sua principal caracterstica o reaproveitamento de cdigo de programas j desenvolvidos. Porm, no quesito qualidade aliada produtividade, seu conceito baixo. As fbricas de software vivem de projetos experimentais, baseados em propostas open-source (cdigo-livre), no aplicados comercialmente quase em sua totalidade. 2. Fbrica de software So vrias as definies de fbrica de software. Porm, antes de saber seu significado, necessrio saber o que software. Brooks (1987) descreve que:
Software um conjunto de construes conceituais, complexas e nolineares, sujeitas a mudanas e modificaes, e invisvel, destacando, ambos, desta maneira a dificuldade e complexidade envolvida na atividade de construo de um software, muitas metodologias para a criao de software apontam para a aproximao cada vez maior com a abordagem da criao de produtos na gesto da manufatura.

Tal definio utiliza-se da gesto da manufatura. Com isso, podemos comparar a produo de software com a produo industrial, onde os equipamentos necessitam de ateno especial, pois incidem diretamente nas medidas de produtividade, requerendo estratgias que fazem-nas produzir mais com o mnimo possvel de interrupes (OLIVEIRA e NETO, 2003). Oliveira e Neto (2003) entendem que o estgio atual da Tecnologia da Informao (TI) determina que softwares so constitudos por mdulos ou peas menores que so acopladas para a montagem do produto final. Esses mdulos possibilitam que partes individuais possam ser desenvolvidas independentemente das demais, desde que planejadas. O conceito de fbrica de software, explica Brito (2000), est baseado na idia de prover uma linha de produo de solues que atendam s necessidades especficas de cada cliente atravs da formalizao de todas as atividades e seus produtos, com etapas e tarefas bem definidas para cada tipo de profissional, indo da produtividade da linha de produo qualidade. Porm, Dias (2004) assegura que a produtividade e a qualidade ainda no esto sendo atingidas. Com isso, pode-se associar fbrica de software gesto da manufatura e dizer que um processo inovador, que permite a construo de software, totalmente alinhado com a necessidade para qual ser construdo, oferecendo um produto compacto, porm passvel de incremento, adaptvel e seguro. 3. Arquitetura integrada As ferramentas de modelagem de processos so eficientes em levantar, modelar e redesenhar processos, a implementao efetiva de sistemas de informao, diretamente a partir dos processos, tem apresentado limitaes. Por outro lado, as ferramentas CASE (Computer Aided System Engineering), partindo das vises de modelos, buscam construir sistemas que suportem os processos (CAMEIRA, 2003). A engenharia de software utiliza ferramentas de apoio modelagem de processos. A UML (Linguagem Unificada de Modelos) uma ferramenta de modelagem que auxilia vrios aspectos da construo de um sistema, dentre os quais Santos (2002) destaca: - Formalizao e padronizao da modelagem de processos; - Armazenamento de representaes reutilizveis de processos;

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

- Apoio melhoria dos processos e do desenvolvimento de sistemas de suporte operao; - Maior facilidade para o gerenciamento dos processos; - Acelerao da capacidade de desenvolvimento e de adequao dos sistemas que suportam os produtos e servios; - Aumento da flexibilidade frente s variaes da demanda; - Melhoria das interfaces processuais. A definio completa da UML , segundo Rumbaugh (1999), seu criador:
UML uma linguagem de modelagem de propsito geral que usada para especificar, visualizar, construir e documentar os artefatos de um sistema de software. Ela captura decises e entendimentos sobre sistemas que devem ser construdos. usada para entender, desenhar, pesquisar, configurar, manter e controlar a informao sobre certo sistema. Objetiva ser utilizada por todos os mtodos de desenvolvimento, estgios do ciclo de vida e domnios de aplicaes e mdias. uma linguagem de modelagem que objetiva unificar a experincia passada sobre tcnicas de modelagem e incorporar as atuais melhores prticas em uma abordagem padro. UML inclui conceitos de semntica, notao e linhas mestras. Possui partes esttica, dinmica, ambiental e organizacional. Objetiva ser suportada por ferramentas de modelagem visuais que possuam geradores de cdigo e de relatrios. A UML no define um processo padro mas objetiva ser til em um processo interativo de desenvolvimento. Busca suportar a maioria dos processos de desenvolvimento orientados a objetos.

Para construir sistemas componentizados a partir de uma representao de processos, necessrio o entendimento da componentizao de processos e de sistemas. 3.1. Componentizao de processos e de sistemas Atravs da componentizao das representaes de processos, Cameira (2003) afirma que se pode observar que algumas atividades, ou alguns pedaos de processos que compem processos menores so semelhantes. Estas atividades devero gerar componentes capazes, pelas caractersticas das aplicaes e padres de integrao, de facilmente se conectarem. As atividades iguais geraro apenas um componente que ser reutilizado nos diversos processos. De acordo com Pressman (1995), reutilizao, ou reusabilidade, uma caracterstica importante de um componente de software de alta qualidade, ou seja, o componente deve ser planejado e implementado de forma que possa ser reusado em muitos programas diferentes. Um componente reusvel possibilita que o engenheiro de software crie novas aplicaes a partir de partes reusveis. Cada componente de processo ter relao com o componente de sistema que viabiliza o sistema daquele processo componentizado. A representao da passagem processos-sistema realizada, pelos modelos da UML, que fazem a ligao entre os processos que representam as regras de negcio e a anlise de sistemas (KULAK, 2000).

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

3.2. Automao por intermdio de ferramentas CASE Na engenharia de software auxiliada por computador, Pressman (1995) prope uma oficina de engenharia de software. Trs caractersticas so primordiais para o sucesso da oficina: 1. Uma coleo de ferramentas teis que ajudem em cada passo da construo de um produto; 2. Um layout organizado que possibilite que as ferramentas sejam encontradas rapidamente e usadas eficientemente; 3. Um arteso habilitado que entenda como usar as ferramentas efetivamente. Ferramenta CASE Estrutura de integrao Servios de portabilidade Sistema operacional Plataforma de hardware Arquitetura do ambiente
Figura 1 Estrutura de uma ferramenta CASE (PRESSMAN, 1995)

3.2.1. Ambiente CASE integrado (I-CASE) Para a industria de ferramentas de desenvolvimento de software, o verdadeiro poder do CASE s obtido mediante integrao. Entre os benefcios do case integrado, Forte (1990) inclui: - a transferncia harmoniosa de informaes (modelos, programas, documentos, dados) de uma ferramenta para outra e de uma etapa de engenharia de software para a seguinte; - uma reduo do esforo exigido para realizar atividades como: gerenciamento de configurao de software, garantia de qualidade e produo de documentao; - aumento no controle do projeto, que obtido por meio de um melhor planejamento, monitorao e comunicao; - coordenao melhorada entre os membros de uma equipe que esteja trabalhando em um projeto de software. 4. Qualidade de software Com a revoluo tecnolgica, a indstria passou a valorizar no somente o produto, mas todas as fases que a envolvem sua elaborao e posterior entrega. Passou a se comprometer com qualidade. Como a qualidade ainda est aqum da sua utilizao, sugere-se a insero de um modelo de qualidade a ser seguido no processo de desenvolvimento de sistema em uma fbrica de software. Assim sendo, segue a definio de Pressman (1995) para qualidade de software: conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padres de desenvolvimento claramente documentados e a caractersticas implcitas que so esperadas de todo software profissionalmente desenvolvido. Em linhas gerais, o software, como qualquer outro produto desenvolvido pelo homem, pode ser avaliado pela satisfao do cliente. Porm, Inthurn (2001) ressalva que a qualidade no desenvolvimento de sistemas passa pelas seguintes etapas:

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

- Alinhamento total entre as necessidades/expectativas do usurio e as especificaes geradas; - Compatibilidade entre especificaes aprovadas e o produto construdo; - Produto final com menor quantidade de erros possvel. O desenvolvimento de software de qualidade depende de suas especificaes, pois erros exercem forte presso sobre custos e prazos de desenvolvimento. Para Inthurn (2001), algumas caractersticas devem ser levadas em conta: a) Manutenibilidade: deve ser facilmente modificado quando se fizer necessrio; b) Reutilizabilidade: ao se realizar o desenvolvimento de outro software com rea de aplicao semelhante, a especificao de um produto deve servir de apoio para o desenvolvimento de outro produto; c) Avaliabilidade: uma especificao deve permitir o controle de sua qualidade; d) Implementabilidade: avaliao da viabilidade de implementao do sistema. 4.1. ISO/IEC 9126 (NBR 13596) Conforme Inthurn (2001), a ISO (Organizao Internacional de Padres) publicou uma norma que representa a atual padronizao mundial para a qualidade de produtos de software. Esta norma chama-se ISO/IEC 9126 e foi publicada em 1991. Ela uma das mais antigas da rea de qualidade de software e possui traduo para o Brasil, publicada em agosto de 1996 como NBR 13596. Apesar da sua criao, poucos utilizam normas de qualidade de software no Brasil (DIAS, 2004). A norma ISO/IEC 9126 (NBR 13596) lista o conjunto de caractersticas que devem ser verificadas em um software para que ele seja considerado um software de qualidade. Esta norma abrange seis grandes grupos de caractersticas: Funcionalidade Confiabilidade Utilizabilidade Eficincia Manutenibilidade Portabilidade

ISO/IEC 9126 (NBR 13596)

Figura 2 Conjunto de caractersticas a serem verificadas num software (INTHURN, 2001)

a) Funcionalidade: existncia de um conjunto de funes que satisfazem necessidades explcitas e implcitas, e suas propriedades especficas; b) Confiabilidade: capacidade do software manter seu nvel de desempenho, sob condies estabelecidas, por um perodo de tempo; c) Utilizabilidade: esforo necessrio para se utilizar o software, bem como para o julgamento individual desse uso, por um conjunto de usurios explcitos e implcitos; d) Eficincia: relacionamento entre o nvel de desempenho do software e a quantidade de recursos usados, sob condies estabelecidas; e) Manutenibilidade: esforo necessrio para fazer modificaes especficas no software.

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

f) Portabilidade: habilidade do software ser transferido de um ambiente para outro. 4.2. O modelo CMM O CMM (Capability Maturity Model) para software, compilado pelo Software Engineering Institute SEI da Carnegie Mellon University (EUA), pode ser entendido como um modelo para avaliao do grau de maturidade das organizaes quanto capacidade produtiva do software (ORLANDI, 2000). O CMM representa uma proposio de recomendaes para empresas, cujo negcio seja produo de software, que pretendam incrementar a capacidade (ou qualidade) do processo de desenvolvimento de sistemas. O modelo adotado e consagrado mundialmente pelas organizaes produtoras de software. Oliveira e Neto (2003) observam que com a adoo do modelo, obtm-se a certificao necessria para a comercializao do software no exterior. Atravs de dados da Softex (2003), o Brasil apontado como o stimo mercado mundial na produo de software. Entretanto, Dias (2004) mostra que no Brasil, apenas 6 empresas utilizam o modelo, enquanto na ndia, cerca de 200 empresas o adotam. 5. Uma nova concepo na criao de sistemas atravs da Fbrica de software Uma vez definida fbrica de software, pode-se ento associar o desenvolvimento de sistemas a gesto da manufatura. A partir desse conceito, importante seguir uma metodologia para o desenvolvimento de software (OLIVEIRA e NETO, 2003). A criao de software em partes, ou mdulos, deve ser planejada, para posterior acoplamento dessas peas menores montagem do produto final. Para o sucesso da confeco do projeto, prope-se a utilizao de uma arquitetura integrada, partindo das vises de modelos e buscando construir sistemas que suportem processos (CAMEIRA, 2003). de vital importncia a utilizao de ferramentas modelagem de processos, pois caso contrrio estar-se- praticando a modelagem clssica. Numa segunda etapa, dispor as informaes de forma grfica, para facilitar o entendimento de outros profissionais da rea e a futura documentao. Essa componentizao, dever gerar componentes capazes, pelas caractersticas das aplicaes e padres de integrao, de facilmente se conectarem. As atividades iguais geraro apenas um componente que ser reutilizado nos diversos processos. A UML faz a ligao entre os processos e o sistema e auxilia a construo do sistema (SANTOS, 2002). As ferramentas de modelagem devem ser integradas para ocorrer o compartilhamento de informaes entre as vrias etapas na construo de um software e reduzir o esforo do gerenciamento do projeto. Ela auxiliar a coordenao dos envolvidos no projeto do software (FORTE, 1990). Deve-se ter em mente que, apesar de a confeco de um software seguir os passos anteriores, de nada vale se no tiver a utilizao da chamada qualidade de software. Na maioria das fbricas de softwares existentes no Brasil inexiste a qualidade, principalmente a qualidade atravs do modelo CMM. Dias (2004) conclu isso na comparao do Brasil com a ndia. Segundo o cenrio proposto acima, segue o novo modelo definido atravs do estudo realizado:

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

- entrevistas com usurios; - levantamento de requisitos; - estudo de viabilidade; - modelagem de sistemas atravs de uma arquitetura integrada (CASE/UML); - componentizao de processos e de sistemas; - automao de componentes por intermdio de ferramentas CASE; - implementao do software e integrao de componentes;

Aplicao dos modelos de qualidade ISO/IEC 9126 (NBR 13596) e CMM


Figura 3 Implantao de modelos de qualidade na criao de sistemas

6. Concluso Entre seus diversos aspectos, a fbrica concentra slidas atividades de capacitao tecnolgica e permite o surgimento de projetos inovadores.

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

As fbricas de software existentes no Brasil, quase em sua totalidade, so baseadas em alternativas de cdigo-livre, no desenvolvimento de software no comercial e em projetos sem fins lucrativos. Num perodo marcado por mudanas corporativas constantes, o conceito de fbrica de software tem um forte embasamento e permanece desde o seu surgimento. Contudo, o estudo realizado sobre as fbricas de software apontou as principais deficincias encontradas, e indica uma nova concepo com a mudana do processo produtivo e a insero do controle de qualidade na criao do software em todo o seu projeto de desenvolvimento. Foi apontado tambm o desinteresse com projetos comerciais, onde h necessidade de inovao e tm-se recursos para investimentos em novas tecnologias de desenvolvimento. Graas forma de produo de software e a carncia de uma metodologia para o controle da qualidade do software apontada por Dias (2004), foi proposta uma nova concepo no desenvolvimento de software atravs da fbrica de software, e a maior preocupao foi a insero do modelo CMM, para a futura comercializao do software. Pode-se dizer que, embora parea algo complicado, se planejada a insero da qualidade desde o incio do desenvolvimento do projeto do software, ao final tem-se toda a documentao baseada nos padres de qualidade, podendo ser comercializado no Brasil e no exterior. 7. Referncias BRITO, J. (2003) Metodologia para Gesto do Processo de Qualidade de Software para Incremento da Competitividade da Mobile. Disponvel em <http://www.mct.gov.br/temas> acesso em 13-abr-2004. BROOKS, F. (1987) No Silver Bullet: Essence and accidents of software engineering. IEEE Computer. CAMEIRA, R.; et all. (2003) Componentizao de Processos e de Sistemas: Impactos Metodolgicos na Implantao de Sistemas Orientados por Processos. In: ENEGEP, Ouro Preto. Anais Eletrnicos... ABEPRO. 1 CD. Minas Gerais. DIAS, A. (2004) Fora de rota. Revista Voc S/A, So Paulo, n 70, p. 28-31, abr 2004. FORTE, G. (1990) Integrated CASE: a definition. 3 Annual Team-Workers Intl. User Group Conference. Cadre Technologies. Providence: RI. INTHURN, C. (2001) Qualidade e Teste de Software. Florianpolis: Visual Books. KULAK; G. (2000) Use Cases: Requirements in Context. Boston: MA. MEIRA, S. (2004) Poltica de Software e Realidade Nacional. Disponvel em <http://www.meira.com.br> acesso em 10-mai-2004. OLIVEIRA, D.; NETO, A. (2003) Fbrica de Software: Promovendo a Criao de Empresas Competitivas em Tecnologia da Informao. In: ENEGEP, Ouro Preto. Anais Eletrnicos... ABEPRO. 1 CD. Minas Gerais. ORLANDI, T. R. (2000) Processo de Implantao de Gesto de Qualidade de Software em Empresas Nacionais: O Estudo de Caso do Tribunal de Contas da Unio. Braslia. 52 p. Dissertao (Mestrado em Informtica) Universidade Catlica de Braslia. PRESSMAN, R. (1995) Engenharia de Software. So Paulo: Makron Books.

XI SIMPEP Bauru, SP, Brasil, 08 a 10 de novembro de 2004.

RUMBAUGH, J.; et all. (1999) The Unified Modeling Language Reference Manual. Massachusetts. Boston: MA. SANTOS, R. (2002) Engenharia de Processos: anlise do referencial terico conceitual, instrumentos, aplicaes e casos com a finalidade de sntese sobre sua estrutura, conhecimentos, falhas e resultados. Rio de Janeiro. 317 p. Dissertao (Mestrado em Engenharia de Produo). COPPE, UFRJ. SOFTEX (2003). Slicing the Knowledge-Based Economy in India. China and Brazil. MIT. SOFTEX: Brasil.

Das könnte Ihnen auch gefallen