Processo de software
Seminário: Processo de software. Pesquise 861.000+ trabalhos acadêmicosPor: GivaldoLima • 7/11/2013 • Seminário • 2.704 Palavras (11 Páginas) • 661 Visualizações
O processo de Software
A utilização de um processo de software têm sido apontada como um fator primordial para o sucesso de empresas de desenvolvimento de software.
Para poder melhor compreender o assunto é necessário definir o que é um processo de software.
Um processo de software pode ser entendido como um conjunto estruturado de atividades exigidas para desenvolver um sistema de software. Assim Sommerville[1] trás a seguinte definição:
"[O processo é] um conjunto de atividades e resultados associados que produzem um produto de software".
Jalote[7] conclui que um processo de software é :
"é um conjunto de atividades, ligadas por padrões de relacionamento entre ela, pelas quais se as atividades operarem corretamente e de acordo com os padrões requeridos, o resultado desejado é produzido. O resultado desejado é um software de alta qualidade e baixo custo. Obviamente , um processo que não aumenta a produção (não suporta projetos de software grandes) ou não pode produzir software com boa qualidade não é um processo adequado."
A partir destas definições podemos considerar que de forma geral um processo de software padrão pode ser visto como um conjunto de atividades, métodos, ferramentas e práticas que são utilizadas para construir um produto de software. Na definição de um processo de software devem ser consideradas as seguintes informações: atividades a serem realizadas, recursos necessários, artefatos requeridos e produzidos, procedimentos adotados e o modelo de ciclo de vida utilizado [3].
Sucintamente podemos definir o processo de software (defini-lo(o processo) como um conjunto de atividades uniformizadas a serem aplicadas sistematicamente que se encontram agrupadas em fases, cada uma das quais com os seus intervenientes com responsabilidades, que possui diversas entradas e produz diversas saídas. Isto é, define quem faz o quê, quando e como para atingir um certo objetivo.
Humphrey[4] 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.
Fases de um processo de Software
Para Schwartz[5] as principais fases de um processo de software são :
Especificação de Requisitos: tradução da necessidade ou requisito operacional para uma descrição da funcionalidade a ser executada.
Projeto de Sistema: tradução destes requisitos em uma descrição de todos os componentes necessários para codificar o sistema.
Programação (Codificação): produção do código que controla o sistema e realiza a computação e lógica envolvida.
Verificação e Integração (Verificação): verificação da satisfação dos requisitos iniciais pelo produto produzido.
Ao contrário do que possa parecer não existe uma sequência obrigatória de fases, sendo que diversos autores apontam a natureza não-simultânea das fases como uma realidade na aplicação de processos de software, e também defendem que o processo de software é muito mais iterativo e cíclico do que a idéia de fases simples pode sugerir.[6]
Atividades do Processo de Software
Em cada fase de um processo de software definido são executadas as atividades básicas para que sejam atingidos os objetivos propostos. Segundo Pressman[2] estas atividades constituem um conjunto mínimo para se obter um produto de software.
Realizando uma combinação de classificações dadas por Schwartz[5] , Pressman[2] e Sommerville[1] podemos identificar as seguintes atividades[6]:
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.
Projeto
Projeto Arquitetural: onde é desenvolvido um modelo conceitual para o sistema, composto de módulos mais ou menos independentes.
Projeto de Interface: onde cada módulo tem sua interface de comunicação estudada e definida.
Projeto Detalhado: onde os módulos em si são definidos, e possivelmente traduzidos para pseudo-código.
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.
Desta forma as atividades relacionadas a um processo de software estão diretamente vinculadas com a produção do software como produto final . Afim de especificar quais atividades devem ser executadas e em qual ordem temos diversos modelos de desenvolvimento de software.
Modelos de Processo de Desenvolvimento de Software
Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às situações a analisar, porque só na altura em que enfrentamos o problema é que podemos escolher o modelo.
Nos
...