• Nenhum resultado encontrado

O contexto de realização dos experimentos

5.2 Elaboração dos experimentos

5.2.2 O contexto de realização dos experimentos

O contexto exposto nesta subseção complementa o domínio e o contexto expostos na Seção 4.1 que foram utilizados para definir a arquitetura operacional. O contexto abrange a infra-estrutura para realizar os experimentos e inclui: preparar equipamentos, providenciar acesso dos participantes aos sistemas utilizados, instalar e configurar os sistemas de informação e ferramentas computacionais e manter o ambiente em condições operacionais.

O contexto de realização dos experimentos reproduz condições de fábricas de software de pequeno porte inseridas em um pólo tecnológico e que se integram por meio dos seus processos para desenvolver projetos cooperativos de software. As fábricas de software foram constituídas para a realização de cada um dos experimentos.

A definição das fábricas de software participantes dos experimentos ocorreu a partir dos modelos de processos da arquitetura operacional, obtidos por especialização dos modelos de processos padrão da arquitetura de referência. Assim, foram definidos ambientes de desenvolvimento de software baseados em processos.

Para o desenvolvimento dos projetos de software, em cada experimento as fábricas de software receberam: padrões de documentos para os artefatos a serem produzidos, modelos de processos padrão da arquitetura de referência e modelo de cronograma para o projeto.

Os padrões de documentos se referem a uma estrutura básica dos documentos com os itens considerados desejáveis para documentar os artefatos. Cada fábrica de software poderia especializar esses padrões de acordo com a sua cultura e com o projeto de software.

Para facilitar a revisão conjunta pelas fábricas de software e a integração dos artefatos, foi sugerido às fábricas que elas definissem um núcleo comum para cada artefato que seria integrado. Contudo, estabeleceu-se que as fábricas de software poderiam internamente utilizar padrões próprios, desde que utilizassem o padrão com esse núcleo comum para a versão do artefato que seria integrado.

A arquitetura de referência fornecida às fábricas de software continha os modelos padrão de fluxo de seqüência e mensagem para os processos de gerência de negócio e organizacional, resolução de problemas, garantia de qualidade, gerência operacional da integração, revisão conjunta, desenvolvimento de software, treinamento e integração técnica; modelo padrão do domínio e contexto; modelo padrão de distribuição dos processos na organização; modelo padrão da estrutura hierárquica dos papéis; modelos padrão de estados para ator, artefato, processo e atividade; e descritivos para as atividades e para os papéis.

136

definir a sua arquitetura de processo operacional de acordo com as características da fábrica de software, das suas equipes e do projeto de software a ser desenvolvido.

O modelo de cronograma para o projeto entregue às fábricas de software foi definido com base nas fases do processo unificado e continha as principais atividades de cada fase e o tempo estimado para realizá-las. Esse cronograma foi especializado por cada uma das fábricas de software, inserindo atividades e vinculando os seus integrantes às atividades.

Todos os integrantes das fábricas de software possuíam conhecimento semelhante proveniente do curso de Engenharia da Computação. Esse conhecimento era complementado por estágios curriculares e experiências profissionais individuais de cada estudante.

As fábricas de software participantes dos experimentos contavam com auxílio técnico e de negócio, fornecido por uma equipe de apoio. Essa equipe, composta pelo professor da disciplina e por dois auxiliares, um dos quais é a autora deste trabalho, tinha como atividades principais: supervisionar e acompanhar a realização dos projetos de software e auxiliar nas dificuldades e problemas de negócio do sistema de software em desenvolvimento e os relacionados à definição, modelagem e implementação desse sistema.

Além da equipe de apoio, um profissional técnico do próprio laboratório em que os experimentos foram realizados mantinha o ambiente operacional, com a instalação e a configuração de sistemas de informação e equipamentos.

As ferramentas computacionais, linguagens e ambientes de modelagem e programação utilizados nos experimentos pelas fábricas de software eram de propriedade dos estudantes participantes dos experimentos ou da Universidade de São Paulo e de domínio público. Eles estão apresentados a seguir em grupos:

a) Modelagem e implementação do sistema de software e definição e gerenciamento de banco de dados: Jude, Rational Rose, Microsoft Visio, Dia Diagram, Adobe Fireworks, MySQL Workbank, Java, ASP.Net, PostgreSQL, SQLManager, Dreamweaver, Hibernate, Eclipse, MySQL, C#, Microsoft .NET Framework, Visual Studio, Crystal Reports, Java Server Face, RichFaces e Facelets.

b) Auxílio na produção dos documentos, incluindo editores de textos, gerenciador de apresentações, gerenciador de cronograma de projeto e planilha de cálculos: pacote Microsoft Office, AdobeAcrobat, suíte OpenOffice e iWorks.

c) Comunicação entre os integrantes das fábricas de software: Google Groups, Google Talk, MSN e ferramentas de correio eletrônico.

d) Registro e acompanhamento das decisões e solicitações entre as fábricas de software: Google Docs como documento colaborativo e Gmail.

137

e) Sistemas operacionais: Windows XP, Windows Vista, Linus Fedora, Linux Ubuntu. f) Gerenciamento do projeto: Microsft Project e Projity OpenProj.

g) Gerenciamento de repositório de documentos: SharePoint.

h) Gerenciamento de repositório de componentes de software: GoogleCode, Subclipse e Assembla.

A Figura 54 apresenta o esquema da estrutura do repositório de documentos utilizada nos experimentos. Para repositório foi utilizado o SharePoint que é um sistema web que permite definir o controle de acesso a áreas específicas do repositório e a realização automática de atividades a partir de eventos, como o envio de mensagem quando um documento é incluído no repositório. Essa estrutura de repositório permite armazenar os documentos de acordo com o modelo de estados definido para os artefatos. A organização do repositório é composta por uma área pública que é acessada por todas as fábricas de software participantes dos experimentos e uma área privada que é exclusiva para cada fábrica de software. Cada experimento teve a sua própria estrutura de repositório.

Área pública – Documentos Padrão – Documentos de Apoio – Documentos Validados Área privada – Documentos em Andamento

• Equipe Gerência e Integração o Gerente

o Integrador • Equipe Interface

o Projetista IHC • Equipe Lógica Negócio

o Desenvolvedor • Equipe Banco Dados

o Projetista BD – Documentos Finais

• Equipe Interface • Equipe Lógica Negócio

Equipe Banco Dados

Figura 54 - Estrutura do repositório de documentos

Em “Documentos Padrão” estão os documentos utilizados pelas fábricas de software para definir os padrões de documentos utilizados internamente e os utilizados por todas as fábricas de software para documentar os artefatos a serem integrados.

138

desenvolvimento do projeto. Dentre esses documentos estão materiais didáticos, documentos sobre o projeto como os provenientes do cliente, tutoriais técnicos para utilizar linguagens, e orientações para realizar atividades e utilizar recursos.

A pasta “Documentos Validados” armazena os documentos que são integrados e validados pelas equipes de integração, internamente a cada fábrica de software e entre elas. Os documentos validados são os considerados em versão final e eles são disponibilizados para uso por todas as fábricas de software participantes do projeto. Os documentos integrados são resultantes da integração de documentos semelhantes e com o mesmo objetivo, mas produzidos por fábricas de software distintas.

A área privada, uma para cada fábrica de software e com acesso exclusivo à mesma, é dividida em “Documentos em Andamento” e “Documentos Finais”. Os documentos em andamento são os documentos sendo trabalhados e ficam armazenados em pastas individuais. Os nomes de pastas “Gerente”, “Integrador”, “Projetista IHC”, “Desenvolvedor” e “Projetista BD” são representativos, cada pasta recebe o nome da pessoa a quem a mesma pertence.

Em “Documentos Finais” estão as versões finais dos documentos produzidos. Um documento está em versão final se foi verificado e/ou integrado no domínio de cada fábrica de software. Os documentos finais estão disponíveis para serem verificados e integrados no âmbito das fábricas de software integradas, gerando os documentos validados. Os documentos finais são armazenados em pastas denominadas pelo papel a quem ela pertence.

Em relação ao escopo dos experimentos, as fábricas de software realizaram somente atividades relacionadas ao ciclo de vida de software, incluindo processos organizacionais e de apoio, ao planejamento e controle financeiro do projeto e ao controle do cronograma.