Você está na página 1de 9

Processo de Software

S I MONE MUR A
U N I V ERSIDA DE CATÓL I CA DE M OÇA M BI QU E
S M UR A@ UCM. AC. MZ
Processo de Software
Um processo de software é um conjunto de actividades e resultados que produzem um produto
de software
◦ Essas atividades podem envolver o desenvolvimento de software a partir do zero ou estendidos a partir
de software já existente.
◦ Uso de componentes pré-existentes é uma pratica comum.

Processos de software diferentes organizam essas actividades de maneiras diferentes e são


descritas em níveis de detalhes diferentes.
Na definição de um processo de software devem ser consideradas as seguintes informações:
atividades a serem realizadas, recursos necessários, artefactos requeridos e produzidos,
procedimentos adotados e o modelo de ciclo de vida utilizado.
Razões para a definição de um processo
padrão
Humphrey (1990) define as seguintes razões para a definição de um processo padrão:
* Redução dos problemas relacionados a treinamento, revisões e suporte à ferramentas;
* As experiências adquiridas nos projetos são incorporadas ao processo padrão e contribuem
para melhorias em todos os processos definidos;
* Economia de tempo e esforço na definição de novos processos adequados a projetos.
Actividades fundamentais do Processo
de Software
1. Especificação de software. A funcionalidade do software e as restrições a seu funcionamento
devem ser definidas.
2. Projecto. tradução destes requisitos em uma descrição de todos os componentes necessários para
codificar o sistema.
3.implementação de software. O software deve ser produzido para atender às especificações.
4. Validação de software. O software deve ser validado para garantir que atenda às demandas do
cliente.
5. Evolução de software. O software deve evoluir para atender às necessidades de mudança dos
clientes.
Existem também as actividades que dão apoio ao processo, como documentação e gestão de
configuração de software.
Actividades do Processo de Software
Especificação
◦ Engenharia de Sistema: estabelecimento de uma solução geral para o problema, envolvendo questões
extra software.
◦ Análise de Requisitos: levantamento das necessidades do software a ser implementado. A Análise tem
como objetivo produzir uma especificação de requisitos, que convencionalmente é um documento.
◦ Especificação de Sistema: descrição funcional do sistema. Pode incluir um plano de testes para verificar
adequação.

Projecto
◦ Projecto Arquitetural: onde é desenvolvido um modelo conceitual para o sistema, composto de
módulos mais ou menos independentes.
◦ Projecto de Interface: onde cada módulo tem sua interface de comunicação estudada e definida.
◦ Projecto Detalhado: onde os módulos em si são definidos, e possivelmente traduzidos para
pseudocódigo/UML.
Actividades do Processo de Software
Implementação
◦ Codificação: a implementação em si do sistema em uma linguagem de computador.

Validação
◦ Teste de Unidade e Módulo: a realização de testes para verificar a presença de erros e comportamento
adequado a nível das funções e módulos básicos do sistema.
◦ Integração: a reunião dos diferentes módulos em um produto de software homogêneo, e a verificação
da interação entre estes quando operando em conjunto.

Manutenção e Evolução
◦ Nesta fase, o software em geral entra em um ciclo iterativo que abrange todas as fases anteriores.

Afim de especificar quais atividades devem ser executadas e em qual ordem temos diversos
modelos de desenvolvimento de software.
Descrições do processo
No entanto, assim como as actividades, as descrições do processo também podem incluir:
Produtos, que são os resultados de uma das actividades do processo. Por exemplo, o resultado da actividade de
projecto de arquitectura pode ser um modelo da arquitectura de software.

Papéis, que reflectem as responsabilidades das pessoas envolvidas no processo. Exemplos de papéis são: gerente de
projeto, gerente de configuração, programador etc.

Pré e pós-condições, que são declarações verdadeiras antes e depois de uma actividade do processo ou da produção
de um produto. Por exemplo, antes do projecto de arquitectura ser iniciado, pode haver uma pré-condição de que
todos os requisitos tenham sido aprovados pelo cliente e, após a conclusão dessa actividade, uma pós-condição
poderia ser a de que os modelos UML que descrevem a arquitectura tenham sido revisados.

Os processos de software são complexos e, como todos os processos intelectuais e criativos, dependem de pessoas
para tomar decisões e fazer julgamentos. Não existe um processo ideal, a maioria das organizações desenvolve os
próprios processos de desenvolvimento de software.
Evolução dos processo
Os processos têm evoluído de maneira a tirarem melhor proveito das capacidades das pessoas
em uma organização, bem como das características específicas do sistema em desenvolvimento.
Para alguns sistemas, como sistemas críticos, é necessário um processo de desenvolvimento
muito bem estruturado; para sistemas de negócios, com requisitos que se alteram rapidamente,
provavelmente será mais eficaz um processo menos formal e mais flexível.
Embora não exista um processo ‘ideal’ de software, há espaço, em muitas organizações, para
melhorias no processo de software.
Bibliografia
Sommerville, I. (2016) Engenharia de Software. (10 Ed). Pearson
Pressman, R. (2016) Engenharia de Software (8 Ed)

Você também pode gostar