• Nenhum resultado encontrado

Relato de Experiência: Aplicação de um Processo de Customização de Produtos de Software

5.4 Trabalhos Futuros

A definição das diversas atividades e fluxos de trabalho em torno do processo de customização e implantação de produtos de software por si só se mostrou uma tarefa bastante complexa, pois foi necessário analisar criteriosamente cada atividade e cada artefato envolvidos e adequá-los ao contexto do cenário que estava sendo tratado. Isto impossibilitou a realização de outras atividades e fluxos de trabalho igualmente importantes, que vêm enriquecer nossa proposta. A adaptação das disciplinas de apoio ao CPS-Pro certamente é uma destas atividades. Apesar destas disciplinas possuírem uma dependência do ponto de vista organizacional, pois devem atender às necessidades da organização como um todo, é necessário alinhar estas disciplinas ao processo proposto neste trabalho, de forma que seja instanciado de acordo com as características de cada organização. Como conseqüência disto, deve ser estabelecido um conjunto de métricas que servirão para medir a eficiência do projeto.

Mestrado em Ciência da Computação 117/127 Centro de Informática - UFPE

qualidade, como o CMM, por exemplo. Este alinhamento traz como vantagens a qualidade do produto final e um diferencial competitivo, caso a empresa decida obter um reconhecimento formal em relação ao SWCMM. De acordo com o CMM, em termos organizacionais, qualidade e produtividade dependem de três fatores: processo, pessoas e tecnologia. Ou seja, o sucesso de um projeto não depende unicamente do processo que está sendo utilizado, mas sim da união destes três fatores.

Também é importante aplicar o CPS-Pro em outras organizações e domínios para que seja possível validar de maneira mais concreta a sua eficiência. Idealmente, esta experiência deve contar com uma equipe independente onde não seja considerada a presença do autor na equipe do projeto, como aconteceu na experiência relatada neste trabalho. Isto se deve ao fato de que o autor muitas vezes não consegue ter uma visão imparcial em relação ao processo definido, o que dificulta a identificação de falhas no decorrer do processo. Todavia, será dada continuidade à utilização do processo no projeto através do qual foi realizado o experimento descrito neste trabalho.

Por fim, os pontos falhos identificados devem ser corrigidos e o website [CPS04] deve ser atualizado para dar apoio àqueles que têm interesse em utilizar este processo.

Mestrado em Ciência da Computação 118/127 Centro de Informática- UFPE

[AGI04] The AgileAlliance Website. Disponível em: http://www.agilealliance.com/ . Último acesso em 16/10/2004.

[AGM04] The Agile Manifesto Website. Disponível em: http://agilemanifesto.org/, @ 2001, Ward Cunningham. Último acesso em 16/10/2004.

[AMB98A] Ambler, Scott, More Process Patterns: Delivering Large-Scale

Systems Using Object Technology, ISBN 0521652626, Cambridge University Press, 1998.

[AMB98B] Ambler, Scott, An Introduction to Process Patterns, White Paper, Amby Soft Inc., 1998.

[AMB99A] Ambler, Scott, Enhancing the Unified Process, Software Development Magazine, Artigos, Outubro, 1999.

[AMB99B] Ambler, Scott, Effective Software Deployment, Software Development Magazine, Artigos, Novembro, 1999.

[AMB04] Scott Ambler Website, Disponível em: http://www.ambysoft.com/. Último acesso em 11/05/2004.

[ATK04] Atkinson, Colin, Bayer, Joachim, e Muthig, Dirk, Component-Based

Product Line Development: The Kobra Approach, White Paper, Fraunhofer Institute for Experimental Software Engineering, Alemanha, 2004.

[BEC00] Beck, Kent, Extreme Programming Explained, 1ª edição, ISBN 0201616416, Addison Wesley Professional, 2000.

[BEC01] Beck, Kent, Fowler, Martin, Planning Extreme Programming, 1ª edição, ISBN 0201710919, Addison Wesley Professional, 2001.

[BHA04] Bhasin, Jai, Gap Analysis, Six Sigma Website, Quality Dictionary, Disponível em: http://www.isixsigma.com/dictionary/Gap_Analysis-629.htm. Último acesso: 13/08/2004.

Mestrado em Ciência da Computação 119/127 Centro de Informática - UFPE

Disponível em http://c2.com/cgi/wiki?ExtremeRoles. Último acesso: 11/01/2005. [BOE02] Boehm, Barry, Get Ready For Agile Methods, with Care, IEEE Computer 35 (1), Págs. 64-69, Janeiro, 2002.

[BOO98] Booch, Grady et al., Object Oriented Analysis and Design with

Applications, 2ª. edição, ISBN 0805353402, Copyright © 1998, by Addison Wesley Professional, Inc.

[BOU99] Bourke, Richard W. , Mass Customization – Survival and Growth in the

‘To-Order’ Sector, Product Information Management, Artigos, Agosto, 1999. [BRA04] Brain, Marshall, How ASPs work?, How Stuff Works Website,

Disponível em: http://computer.howstuffworks.com/asp.htm/printable. Último acesso em: 16/10/2004

[BRO75] Brooks, Frederick, The Mythical Man-Month, 1ª. Edição, Copyright ©

1975, ISBN 0201006502, Addison-Wesley Longman, Inc.

[BUG04] Bugzilla Website, The Mozilla Organization. Disponível em: http://bugzilla.mozilla.org/. Último Acesso: 20/08/2004.

[CAR98] Carzaniga, Antonio e al., A Characterization Framework for Software

Deployment Technologies, Technical Report CU-CS-857-98, Departamento de Ciência da Computação, Universidade do Colorado, Abril 1998.

[CHA00] Chanover, Michael , Mass Customizi-Who? – What Dell, Nike & Others

Have in Store For You, Core 77 Website, Artigos, 2000.

[CLE03] Clements, Paul & Northrop, Linda, Software Product Lines, Software Engineering Institute Website, Carnegie Mellon University, 2003.

[COL99] Collett, Stacy, Nike offers mass customization online, Computer World

Magazine, News, Novembro, 1999. Disponível em: http://www.computerworld.com/

Mestrado em Ciência da Computação 120/127 Centro de Informática - UFPE

[COC04] Cockburn, Alistair, The Crystal Methodologies, Website. Disponível em: http://alistair.cockburn.us/crystal/crystal.html, 2004. Último acesso em: 16/10/2004. [DIJ01] Dijkstra, Edsger, What led to ‘Notes on Structured Programming’,

Department of Computer Sciences, The University of Texas, Austin, USA, 2001. [DOM04] Domain Engineering: A Model Based Approach. Software Engineering Institute Website, Carnegie Mellon University. Disponível em:

http://www.sei.cmu.edu/domain-engineering/domain_engineering.html. Último acesso em: 04/01/2005.

[EXP04] Extreme Programming Website, Disponível em:

http://www.extremeprogramming.org. Último acesso em 22/12/2004.

[FIR04] Firesmith, Donald, OPEN Process Framework, Website. Disponível em: http://www.donald-firesmith.com/index.html?Components/Producers/Roles/ Roles.html~Contents. Último acesso: 13/08/2004.

[FOR98] Forrester Research Inc., Conquering Customization, Report,

http://www.forrester.com/, 1998. Citado em http://www.etq.com/press/article.htm. Último acesso em 10/01/2005.

[FOW03] Fowler, Martin, The New Methodology, Martin Fowler Website, Artigos. Disponível em: http://www.martinfowler.com/articles/newMethodology.html, 2003. [HOD02] Hodgetts, Paul, Beyond the Customer: Agile Business Practices for XP, Lecture Notes In Computer Science; Vol. 2418, Págs. 261 – 262, ISBN 3-540- 44024-0, 2° XP Universe Conference, 2002.

[JEF01] Jeffries, Ron et al., Extreme Programming Installed, 1ª edição, ISBN 0201708426, Addison-Wesley Professional, 2001.

[KEP04] Kepczyk, Roman H., Mass Customization: The Dell Way, Info Tech

Partners Website, 2001 Vision Alert Archive. Disponível em: http://www.itpna.com/

Vision/2001/010523%20Mass%20Customization-The%20Dell%20Way.htm. Último acesso em: 17/10/2004.

Mestrado em Ciência da Computação 121/127 Centro de Informática - UFPE

Drives the Planning Game, XP 2002, Artigos, Págs. 138 - 141, Itália, 2002.

[LES03] Lestideau, Vincent and Belkhatir, Noureddine, Providing Highly

automated and generic means for software deployment Process, Software Process Technology, 9th International Workshop, EWSPT 2003, Helsinki, Finland, September 1-2, 2003, Proceedings. Lecture Notes in Computer Science vol. 2786, ISBN 3-540-40764-2.

[LIU03] Liu, Bing, Product Development Processes and Their Importance to

Organizational Capabilities, Master of Science in Engineering and Management, MIT, June, 2003.

[LUO03] Luo, Wenhong, Estimating Software Customization Cost – Villanova Magazine, Evaluation of Information Technology Investments Workshop, Propostas, Agosto, 2003

[MAH90] Mahoney, Michael S., The Roots of Software Engineering, CWI Quarterly 3, 4(1990), 325-334, Princeton University, 1990

[NAT68] The 1968/69 NATO - Software Engineering Reports, NATO Science

Commitee Disponível em: http://homepages.cs.ncl.ac.uk/brian.randell/NATO

/NATOReports/index.html. Último acesso: 15/09/2005.

[NHA04] The Industrial Revolution , National Heritage Academies Homepage. [OPE04] The OPEN Process Website, Disponível em: http://www.open.org.au/. Último acesso em 11/05/2004.

[OLI03] Oliveira, Joaquim P. C., RUP-Pe: Uma Metodologia Ágil baseada no

RUP e no TSP para pequenas equipes, Dissertação de Mestrado pelo Centro de Informática da Universidade Federal de Pernambuco. Recife, Setembro de 2003. [OMG02] Object Management Group, Software Process Engineering Metamodel

Specification, Versão 1.0, Especificação adotada como padrão da OMG em 14 de Novembro de 2002.

Mestrado em Ciência da Computação 122/127 Centro de Informática - UFPE

Guide, 1ª edição, ISBN 0596004850, July 2003

[PER00] Pernici, Bárbara et. al, Conceptual Modeling and Software Components

Reuse: Towards the Unification, Information Systems Engineering: State of the Art and Research Themes. Springer Verlag, London, 2000, pp. 209-220.

[PRE00] Pressman, R. Software Engineering: A Practioner’s Approach. McGraw- Hill, ISBN 0077096770, 2000.

[RAT98] Rational Software Corporation, Rational Unified Process – Best

Practices For Software Development Teams, White Paper, 1998.

[RAT02] Rational Software Corporation, RUP - Rational Unified Process, Version 2002.05.00. Disponível em: http://www.rational.com/products/rup/index.jsp

[REI00] Reichwald, Ralf, Piller, Frank et al., Mass Customization Concepts For

The E-conomy, Frank Piller's Website, Monique, Alemanha, 2000. [ROB03] Robb, Drew, Software: To Build, Buy or Customize?, Artigo, Datamation, EarthWeb.com Network, 2003.

[SAM04] Sampaio, Américo T. F., XWebProcess: Um Processo Ágil Para o

Desenvolvimento de Aplicações Web, Dissertação de Mestrado pelo Centro de Informática da Universidade Federal de Pernambuco. Recife, Março de 2004. [SEI05] Software Engineering Institute, SEI – Website, Disponível em: www.sei.cmu.edu. Último Acesso em: 15/09/2005

[SCR04] SCRUM Website, Disponível em: http://www.controlchaos.com/. Control Chaos, 2004. Último acesso em: 16/10/2004.

[TRA02] Trauring, Aron, Software Methodologies: Battle of Gurus. White Paper, The InfoTech Research Group, 2002.

[WAL02] Wallace, Nathan, Bailey, Peter, Ashwoth, Neil, Managing XP with

Mestrado em Ciência da Computação 123/127 Centro de Informática - UFPE

Disponível em: http://www.webopedia.com/TERM/A/

application_service_provider.html. Último acesso: 15/09/2005.

[WIK04] Wikipedia Website, The Free Encyclopedia, Wikimedia Foundation Inc. Disponível em: http://en.wikipedia.org/wiki/Software_Devlopment_Process. Último acesso: 15/09/2005.

[WIL03] Williams, L. et al., Test-Driven Development as a Defect-Reduction Practice, ISSRE archive, Proceedings of the 14th International Symposium on Software Reliability Engineering, Page: 34, ISBN:0-7695-2007-3, 2003.

[WIL04A] Williams, Laurie, A Survey of Agile Development Methodologies, Agile Software Development Portal, North Carolina State University, USA, 2004.

[WIL04B] Williams, Laurie, A Survey of Plan-Driven Development

Methodologies, Agile Software Development Portal, North Carolina State University, USA, 2004.

Mestrado em Ciência da Computação 124/127 Centro de Informática- UFPE

D

EFINIÇÃO

O SPEM [OMG02], Software Process Engineering Metamodel, é definido como um meta modelo que serve para modelar um processo de desenvolvimento de software concreto ou uma família de processos de software relacionados.

O SPEM utiliza a abordagem de orientação a objetos e usa a linguagem UML como padrão para a modelagem de processos de software.

A Figura A-1 mostra a modelagem em quatro camadas da abordagem de arquitetura definida pelo Object Management Group (OMG) e seguida pelo SPEM.

Figura A-1: Modelagem de arquitetura seguida pelo SPEM

Um processo real de produção, ou seja, um processo executável, está no nível M0. A definição de um processo correspondente que foi instanciado em M0, encontra-se no nível M1, como, por exemplo, RUP, XP. No nível M2 estão os meta modelos que servem de templates para a definição dos processos no nível M1. A especificação do SPEM está no nível M2 e é estrturada como um perfil UML, e provê um meta-modelo completo baseado no MOF que se encontra no nível M3. Essa abordagem facilita a utilização e construção de ferramentas para UML e ferramentas baseadas em MOF.

Mestrado em Ciência da Computação 125/127 Centro de Informática - UFPE

variedade de processos de desenvolvimento de software, ao invés de se limitar a um subconjunto destes para evitar o excesso de elementos e restrições que poderiam existir na sua definição.

O SPEM é definido como um meta-modelo, e como um perfil UML, o que permite que seus usuários usem a UML e os estereótipos definidos em SPEM como notação. O SPEM é construído pela extensão de um subconjunto do meta-modelo da UML 1.4. Esse subconjunto da UML é chamado de “ SPEM_Foundation” . Além disso, o modelo SPEM possui o pacote “SPEM Extensions” que adiciona as construções e semânticas requeridas para a engenharia de processos de software e que depende de elementos de “ SPEM_Foundation” .