Professional Documents
Culture Documents
Software
Ciência - Conjunto organizado de conheci- tes das Belas Artes, e valorizam critérios tosos, e, em certos casos, até riscos à vida
mentos relativos a um determinado objeto, es- estéticos na criação de seus programas. humana; muitas vezes empreendimentos
pecialmente os obtidos mediante a observação, a Isso pode ter conseqüências boas e ruins, de software são afetados por um contexto
experiência dos fatos e um método próprio. do ponto de vista de gerar valor. Por um econômico, político ou social.
Engenharia - Arte de aplicar conhecimen- lado, a busca da elegância pode levar
tos científicos e empíricos e certas habilitações à economia e simplicidade de formas, Produtos e Ciclos de Vida
específicas à criação de estruturas, dispositi- fazendo com que resultados de melhor A íntima relação entre a Engenharia de
vos e processos que se utilizam para converter qualidade sejam obtidos de maneira mais Software e a noção de valor significa que
recursos naturais em formas adequadas ao produtiva. E, principalmente, levando essa profissão trata o software como pro-
atendimento das necessidades humanas. a escrever programas que possam ser duto. Estão fora do escopo da Engenharia
mais facilmente reutilizados, mantidos e de Software programas que são feitos
Vê-se que, pelas definições acima, a expandidos. Por outro lado, a auto-satisfa- com objetivo exclusivamente lúdico: a
Ciência focaliza acumulação do conheci- ção do programador pode ter como preço diversão do programador. Estão fora de
mento através do método científico, com
base em experimentos e observações. Já
a Engenharia aplica esses conhecimen-
tos “ao atendimento das necessidades A íntima relação entre a Engenharia de Software e a noção
humanas”. Embora o conhecimento seja
certamente uma necessidade humana, de valor significa que essa profissão trata o software como
trata-se de uma entre várias outras,
sejam necessidades materiais, como produto.
alimentação, moradia, segurança, ou
imateriais, como afeição ou auto-estima.
A tudo aquilo que satisfaz a necessidades,
atribui-se um valor. A Engenharia está, os interesses de quem está pagando pelo seu escopo também pequenos programas
portanto, ligada à noção de valor, e a En- trabalho dele, ou de quem o usará. Seja, descartáveis, feitos por alguém apenas
genharia de Software busca gerar valor por exemplo, produzindo programas que para resolver um problema dessa pessoa,
com o processamento de informação. A ninguém entende, senão o próprio autor e que não serão utilizados por outros.
noção de valor tem muitas conseqüên- (e, depois de certo tempo, nem ele mesmo). Mas, se um desses programas interessar
cias práticas importantes, e, de fato, a Seja, como outro exemplo, introduzindo a outras pessoas, e assim passar a ter va-
teoria conhecida como “Engenharia de funções que o autor achou interessantes, lor, aparecerão demandas para melhorar
Software Baseada em Valor” representa mas não são realmente necessárias, nem suas qualidades, aumentar suas funções,
uma importante escola de pensamento foram solicitadas. prolongar sua vida. E aparecerá quem
dentro da área. E muito próxima de “Arte” está a esteja disposto a investir nisso, com a
palavra “Artesanato”, que lembra pro- expectativa de ganhar dinheiro. Nesse
Arte, Técnica, Artesanato, Indústria? dução caseira, em pequena escala, sem momento, o programa entrou no escopo
Outros termos constantes da definição a utilização de métodos industriais, que da Engenharia de Software e se tornou um
de Engenharia podem ser explorados são caracterizados pela padronização e produto. Muitos dos produtos de software
de várias formas, com conseqüências pela repetição. E, realmente, parece mais mais usados seguiram esse caminho.
interessantes. Por exemplo, é usada a difícil aplicar esses métodos industriais Todo produto tem usuários: aqueles que
palavra “Arte”, que o mesmo dicionário na confecção de software, do que nos efetivamente usam o produto. Alguns
define como a “capacidade que tem o ramos da engenharia do mundo material. produtos são feitos por encomenda de um
homem de pôr em prática uma idéia, Nestes, as leis físicas impõem limites cliente: aquele que pagará por sua produ-
valendo-se da faculdade de dominar a claramente visíveis ao que pode ser feito. ção. Outros, chamados de produtos de
matéria”, ou “a utilização de tal capa- Na Engenharia de Software, a criativida- prateleira, são vendidos no mercado aber-
cidade, com vistas a um resultado que de não é limitada por leis físicas, e sim to, a quem se interessar. Neste caso, quem
pode ser obtido por meios diferentes”. pela capacidade humana de entender e faz o papel do cliente é quem define que
Na Engenharia de Software, a matéria dominar a complexidade. recursos e funções se esperam do produto;
dominada pelas faculdades humanas Mas não se pode escapar do fato de que a talvez um departamento de vendas, ou de
consiste em máquinas de processamento Engenharia de Software tem que resolver marketing, ou de definição de produtos de
da informação, devidamente configura- muitos problemas de ordem industrial. uma organização, ou até, para produtos
das e programadas. Nesse sentido, os Raramente é possível construir software menores, os próprios desenvolvedores, co-
conceitos de “Arte” e “Técnica” são bem profissional sem envolver equipes, às ve- locando o chapéu de investidores de risco.
próximos; aliás, a palavra grega techné zes de dezenas ou até centenas de pessoas; E existem todos os casos intermediários,
significa, exatamente, Arte. raramente é possível trabalhar na área em que um produto parcialmente pronto
O termo “Arte” abre outras discussões. sem a pressão de prazos e orçamentos é completado, adaptado ou incrementado,
Não poucos programadores se conside- apertados; freqüentemente defeitos de por encomenda de um cliente.
ram como artistas, no sentido de pratican- software podem acarretar prejuízos vul- Como todo produto industrial, o produ-
a ser executado pela equipe do projeto, na Engenharia de Software é o CMMI Projeto - Conjunto gerido de recursos
para atingir os objetivos do projeto e (Capability Maturity Model Integration), que inter-relacionados, que entrega um ou mais
criar as entregas necessárias. Estruturas foi formulado pelo Software Engineering produtos a um cliente ou usuário, com início
analíticas de projeto podem ser apresen- Institute da Carnegie-Mellon University. O definido e que, tipicamente, opera conforme
tadas de muitas maneiras. Diagramas de CMMI foi encomendado e patrocinado um plano.
atividade são uma das representações pelo Departamento de Defesa ameri- Estrutura analítica do projeto - Um ar-
mais usadas atualmente. Outro tipo cano, popularmente conhecido como ranjo dos elementos do trabalho e dos relaciona-
de representação usual é fornecida por Pentágono, que o utiliza para avaliação mentos deles entre si e com o produto final.
planilhas e cronogramas, como aqueles da capacidade de seus fornecedores de
que são produzidos pela ferramenta Mi- software. Sendo o Pentágono provavel- Ao contrário do PMBOK, o CMMI não
crosoft Project (Figura 2). mente a maior organização compradora se limita aos conhecimentos sobre gestão
de software do mundo, o CMMI tem de projetos. Cobre também áreas técni-
Modelos de Referência e Fatores de grande aceitação da indústria americana cas, e focaliza principalmente a aplicação
Produção de software, e considerável influência no dos processos ao desenvolvimento de
O PMBOK é um exemplo de modelo de resto do mundo. A rigor, suas práticas não produtos. Um processo, segundo o IEEE,
referência: uma estrutura de conheci- são restritas à indústria de software, po- é uma seqüência de passos executados
mento que organiza conceitos, práticas dendo ser aplicadas ao desenvolvimento com um determinado objetivo; segundo
e padrões de uma área. No caso do de outros tipos de produtos. o PMBOK, é um conjunto de ações e
PMBOK, a área focalizada é a gestão de Os conceitos do CMMI têm raízes em atividades inter-relacionadas, realizadas
projetos de qualquer natureza, cobrindo comum com o PMBOK, como se pode para obter um conjunto especificado de
assuntos como integração, escopo, tempo, observar pela similaridade das definições produtos, resultados ou serviços.
custos, qualidade, recursos humanos, que adota: Um projeto representa a execução de
comunicações, riscos e aquisições. Produto - Resultado que se pretende entre- um processo, e um processo é uma receita
Outro modelo de referência importante gar a um cliente ou usuário. que é seguida durante a realização um
erros e, por isso, podem até se tornarem seu investimento está tendo o retorno