Há uma famosa frase de Tom de Marco 2 que diz: You cannot control what
you cannot measure , ou seja, não gerenciamos nada sem as medições necessárias,
até mesmo projetos de software.
Para começarmos a tratar o software sob uma abordagem de engenharia, é
necessário entendermos as características de sua dimensão e a importância da medição
para a sua gestão.
1.1 - A Dimensão do Software
Todo e qualquer software é desenvolvido, independente de plataforma e
tecnologia, segundo uma sequência básica de grandes atividades, denominada de Ciclo
de Vida.
PROJETO PRODUTO
Análise do Definição Projeto Projeto Construção Teste e Manutenção
Negócio dos Lógico do Físico do do Sistema Implantação /Melhoria/
Requisi- Sistema Sistema do Sistema Descarte
PROCESSO
Figura 1-1
O desenvolvimento do software ocorre no contexto de um projeto , o qual é
executado de acordo com um processo, gerando produtos intermediários e um
produto final ( release do software ) , o qual deve ser mantido a fim de corrigir defeitos
introduzidos durante o projeto, deve ser melhorado com a incorporação de novas
features e por fim , deve ser desativado, substituído ou descartado, ao final de sua vida
útil.
Projetos de Software
Um projeto de software é um esforço no sentido de construir um produto , dentro
de determinadas especificações, que atenda necessidades dos usuários (clientes) para
que executem processos operacionais e gerenciais de negócios.
Na verdade, um projeto de software é a junção de Objetivos + Atividades +
Prazos + Recursos Envolvidos + Riscos e Incertezas.
É uma forma de organização do trabalho que apresenta as seguintes
características:
É um esforço finito, com início e fim e a cujo término pretende-se a entrega,
geração ou finalização de um determinado produto, definido a priori;
É um esforço que pode ser subdividido em unidades de trabalho (
fases,etapas, atividades ) que ocorrem em uma sequência pré-
determinada;
O objetivo, a alocação de recursos e o progresso realizado podem ser
monitorados e avaliados.
Podemos considerar como projetos de software:
Desenvolvimento de Software sob medida ou encomenda
Desenvolvimento de Software - Produto
Desenvolvimento de novas releases do software
Não consideramos serviços de manutenção esporádicos como remover defeitos ,
realizar pequenas adaptações e adicionar pequenas funcionalidades, projetos de
software, apesar de que os mesmos também devem ser gerenciados.
Processo de Software
O processo de software é um conjunto de atividades , (numa sequência pré-
determinada ), métodos e práticas que são utilizados na produção e evolução do software.
O processo compreende:
Políticas de desenvolvimento
Procedimentos para o desenvolvimento
Diversas técnicas e padrões para a construção de produtos
Padrões de apresentação de produtos intermediários
O processo define a forma como o projeto é executado e, consequentemente,
gerenciado.
O conjunto de atividades , numa sequência pré-determinada, compõem o que se
denomina a arquitetura do processo de software.
A arquitetura do processo , no jargão mais comumente utilizado na área de
informática, é o que chamamos de metodologia de desenvolvimento.
O processo de software existe em qualquer organização, independente de seu
nível de organização e padronização. Pode ser um processo sem formalização ou
altamente padronizado.
Produto de Software
O processo de software tem como resultado um produto (release) que contém
uma série de atributos derivados dos requisitos e especificações a fim de atender
necessidades implícitas e explícitas dos usuários (clientes). Estes atributos definem as