• No results found

H VA GJØR GOD KLASSELEDELSE VIKTIG

5 TEORI

5.2 H VA GJØR GOD KLASSELEDELSE VIKTIG

Segundo PAULA FILHO (2003), um processo é qualificado como um conjunto de atividades, parcialmente, ordenadas constituídas por métodos, práticas e transformações, usadas para atingir uma determinada meta. O processo pode ser visto como uma “receita” que é seguida por um projeto. Sendo assim, o projeto é considerado uma instanciação do processo. É importante ressaltar que não se deve confundir um processo (por exemplo: uma receita de bolo) com o respectivo produto (o bolo) ou com a execução do processo por meio de um projeto (a confecção de um bolo por uma determinada cozinheira, em um determinado instante de tempo). Tomando como base o exemplo figurativo da receita do bolo, o autor afirma que um processo é composto por passos (atividades percorridas para a confecção do bolo), por pessoas (definido pelo papel da cozinheira), por insumos (produtos utilizados para a confecção do bolo, por exemplo: a farinha de trigo) e, por fim, o produto final produzido com a execução do processo (o bolo). Uma comparação entre os processos de produção de um bolo e de um software pode ser verificada na Tabela 4.1.

Processo Culinário (o bolo) Software Atividades Mexer, misturar, cozinhar, descansar,

gratinar. Planejar, acompanhar o projeto, codificar, testar Papéis Cozinheiro, Auxiliar de cozinha. Coordenador de projeto, Analista,

Programador, outros.

Insumos Farinha de trigo, açúcar, baunilha. Documento de especificação, código para testar, plano de projeto.

Produto de trabalho (intermediário ou

final) Cobertura do bolo (produto intermediário), bolo (produto final) Plano de projeto (produto intermediário), software (produto final). Tabela 4.1 – Comparação entre os processos de produção: culinário e de software.

PETERS e PEDRYCZ (2001) apresentam o processo como uma seqüência de atividades que produzem vários documentos, culminando em um produto satisfatório que possa ser utilizado pelo consumidor. No caso de um processo de software, o produto é classificado como um programa executável. Os autores salientam que um processo deve possuir uma retro-alimentação, característica que garante sua evolução. Para tais autores o processo pode ser visto de forma hierárquica, dividido em três níveis:

• Nível universal: definido durante as décadas de setenta e oitenta, cuja idéia era fornecer um modelo de processo de software que pudesse ser utilizado em qualquer projeto;

• Nível mundial: possibilidade de decompor o nível universal, tal decomposição seria incorporada em um projeto específico. Neste nível, as necessidades, os planos, os guias e os métodos são identificados para um determinado projeto; • Nível atômico: Possibilidade de decompor o nível mundial (um processo

específico) em atividades e tarefas.

SOMMERVILLE (2003) define processo como um conjunto de atividades e resultados associados que direcionam a produção do produto de software. O autor salienta que o processo de software é complexo e caracterizado como uma atividade intelectual, fato este que estabelece limitações em relação à sua automatização.

Para Sommerville não existe um processo universal para o desenvolvimento de software. Atualmente, as empresas que desenvolvem tal tipo de produto, estabelecem diferentes relações dinâmicas entre as atividades configurando, assim, o seu próprio processo de software.

PRESSMAN (2002) apresenta processo de software como um conjunto de passos previsíveis (ou arcabouço) utilizados para a construção do produto software. O processo define a abordagem dinâmica que é adotada quando o software é elaborado. Os participantes no processo de produção de software são: gerentes, engenheiros de software e usuários, estes últimos desempenhando papel fundamental no processo. Para a produção do software o processo necessita ser detalhado, fato este que depende das características do produto que a unidade produtora deseja construir, por exemplo: um processo pode ser apropriado para a criação de um software que controla a parte eletrônica de uma aeronave, enquanto um processo, inteiramente, diferente seria indicado para a construção de um software para controle de estoque de uma grande loja. Em sua definição sobre processo de software, o autor enumera uma série de produtos de trabalho, entre eles destacam-se: programas, documentos e dados produzidos em conseqüência da execução das atividades definidas no processo.

Em sua obra, PRESSMAN (2002) prevê que a caracterização de um processo é estabelecida por um pequeno número de atividades aplicáveis a um projeto de software, independente de seu tamanho e de sua complexidade; por um certo conjunto de tarefas, advindas da engenharia de software; por marcos de projetos; por produtos de trabalho e, por fim; por pontos de garantia da qualidade. Tarefas relacionadas a gestão de configuração e métricas de software devem estar em todo o processo (vide Figura 4.1).

Figura 4.1 – Universalidade de processo de software (retirado de PRESSMAN (2002) p. 22).

SLACK et. al. (2002) salientam que um processo de produção gera bens ou serviços ou um misto dos dois. O processo envolve um conjunto de recursos e insumos (inputs) usados para transformar algo em bens e serviços (outputs). Os autores apresentam alguns processos de produção nos mais variados domínios do conhecimento. Tais processos podem ser vistos na Tabela 4.2.

Operação Recursos (input) Processo Bem ou Serviço (output) Linha aérea Avião.

Pilotos e equipe de bordo. Equipe de terra. Passageiros e carga.

Transportar passageiros e carga

pelo mundo. Passageiro e carga transportado. Loja de departamento Produtos à venda.

Equipe de vendas. Registros dos clientes.

Dispor os bens.

Fornecer conselhos de compras. Vender os bens.

Consumidores e produtos juntos. Gráfica Impressoras e desenhistas.

Prensas de impressão. Papel, tinta, etc.

Projeto gráfico. Impressão. Encadernação.

Material desenhado e impresso. Polícia Oficiais da polícia.

Sistema de informação.

Público (defensores da justiça e criminosos).

Prevenir crimes. Solucionar crimes. Prender criminosos.

Sociedade justa.

Público com sentimento de segurança.

Fabrica de comida congelada Comida fresca. Operadores.

Equipamento de processamento de alimentos.

Congeladores.

Preparação da comida.

Congelamento da comida. Comida congelada.

Software (entrada na tabela não está presente no texto original de SLACK (2002). Ela foi inserida a partir das considerações efetuadas pelos os autores da engenharia de software, nominalmente, citados neste capítulo).

Informações geradas pelo cliente do software. Engenheiro de software e programador. Linguagem de especificação do projeto de software. Linguagem de programação. Computador. Projeto do software. Codificação do projeto. Teste do software.

Software implantado no cliente.

Tabela 4.2 – Algumas operações descritas como processo de input-transformação-output. (Adaptada de SLACK et. al. (2002)).

Por fim, HUMPHREY (1989), define que um processo de software deve possuir condições de entrada (artefatos, métodos e regras a serem seguidas na alimentação do processo), função de transformação, condições de saídas (regras a serem seguidas para que o produto seja gerado) e uma retro-alimentação que pode ser implementada em ambos os tipos de condições (entrada e saída).

Com base nas definições apresentadas, este trabalho encara o processo de produção de um produto categorizado como software, como um conjunto de atividades bem definidas e documentadas que quando aplicadas, sistematicamente, garantem um certo grau de qualidade na confecção do produto. Além do conjunto de atividades, o processo possui outros atributos como: matéria prima, mão de obra e recursos. Tais atributos são considerados os insumos do processo de produção. Salienta-se também que o processo deve possuir o conceito de retro-alimentação com o objetivo de garantir o caráter evolutivo do mesmo. A visão embrionária de processo de produção de software é apresentada na Figura 4.2.

Figura 4.2 - Visão embrionária de um processo (inferido a partir das considerações efetuadas por HUMPHREY (1989), PERTES e PEDRYCZ (2001), PRESSMAN (2002), SLACK et. al. (2002), SOMMERVILLE (2003) e PAULA FILHO (2003).

4.2 Evolução dos Modelos Procedimentais de Produção de