• Nenhum resultado encontrado

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

N/A
N/A
Protected

Academic year: 2021

Share "PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software"

Copied!
6
0
0

Texto

(1)

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Introdução

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.

Modelo de processo proposto pela equipe:

Identificação Responsabilidades Tasks

Engenheiro/Arquiteto de Software

Atribuições de caráter decisório e estratégico quanto aos rumos do projeto. Definir a arquitetura e metodologia a ser utilizada no sistema. Acompanhamento da equipe e suas tarefas

 Projeto de Software

 Protótipo e projeto de arquitetura  Reavaliação dos requisitos Gerente de Projetos Gerencia o andamento das

etapas do processo

 Pesquisa de mercado  Estudo de viabilidade Analista de Requisitos Definir e aprovar os requisitos

e especificações de negócio do sistema

 Análise de requisitos críticos  Análise completa dos requisitos

(2)

Analista de Qualidade Testar e homologar o sistema  Validação

Programador Desenvolver o sistema.  Desenvolvimento

Consultor de sistemas Implanta, gerencia assuntos relacionados ao sistema e tira duvidas dos clientes.

 Implantação

Cascata

Modelo idealizado por Royce em 1970, também conhecido como abordagem ‘top-down’ , tem como principal característica a sequência de atividades onde cada fase transcorre completamente e seus produtos são vistos como entrada para uma nova fase. Sofreu diversas ajustes e aprimoramentos sendo muito utilizado nos dias atuais.

O modelo Cascata será usado para as etapas:

 Pesquisa de mercado

 Análise de requisitos críticos

 Estudo de viabilidade

 Análise completa dos requisitos

Foi escolhido o modelo cascata como base para as fases iniciais, pois não haverá necessidade de retornar as etapas de levantamento de requisitos ou estudo de viabilidade.

Pesquisa de Mercado

Será realizada uma pesquisa de mercado para levantar dados sobre a real necessidade do mercado, e em cima disso, construir estratégias e abordagens que serão realizadas na escolha do projeto a ser desenvolvido.

O processo de pesquisa de mercado consiste na definição do problema e dos objetivos de pesquisa, desenvolvimento do plano de pesquisa, coleta de informações, análise das informações e apresentação dos resultados.

ARTEFATO GERADO: Documento que possibilita uma noção especifica do publico alvo e do mercado a ser explorado.

Análise de Requisitos Críticos

Nesta etapa será realizado um levantamento dos principais e com maior dificuldade a serem desenvolvidos. Levando em conta a experiência e conhecimento da equipe em relação aos requisitos levantados.

(3)

Análise crítica, também chamada de Review, trata-se de um estudo (uma avaliação) geral de um determinado setor, projeto, produto, serviço, processo ou informação com relação a requisitos pré-estabelecidos, tendo como objetivo a identificação de problemas principais. ARTEFATO GERADO: Documento de requisitos inicial, que conterá os requisitos críticos do sistema.

Estudo de Viabilidade

Após o levantamento de requisitos críticos, será realizado um estudo aprofundado focando os requisitos levantados. Após esse estudo, poderemos saber se existe viabilidade para o projeto, para que se dê início as atividades, caso não seja viável, descartamos o projeto e realizamos uma nova pesquisa de mercado.

Análise de viabilidade é usada para ajudar na decisão se deve ir adiante ou não o projeto de SI. O estudo de viabilidade visa tanto a tomada de decisão como a sugestão de possíveis alternativas de solução se um sistema de informação pode ser feito, se é possível, se é justificado.

ARTEFATO GERADO: Relatório de viabilidade com o aval de liberação de projeto.

Análise Completa dos Requisitos

Nesta etapa serão levantados todos os requisitos não críticos, mais que são necessários para o sistema. Após este levantamento poderemos ter uma visão mais ampla do projeto, que servirá como base para obtenção de metas, orçamento do projeto e previsão de entrega do sistema. ARTEFATO GERADO: Evolução de documento de requisitos inicial.

Incremental e Iterativo

Desenvolvimento Incremental é uma estratégia de planejamento estagiado em que várias partes do sistema são desenvolvidas em paralelo, e integradas quando completas. Não implica, requer ou pressupõe desenvolvimento interativo ou em cascata – ambos são estratégias de retrabalho. A alternativa ao desenvolvimento incremental é desenvolver todo o sistema com uma integração única.

Desenvolvimento Iterativo é uma estratégia de planejamento de retrabalho em que o tempo de revisão e melhorias de partes do sistema é pré-definido. Isto não pressupõe desenvolvimento incremental, mas funciona muito bem com ele. Uma diferença típica é que a saída de um incremento não é necessariamente assunto de um refinamento futuro, e seu teste ou retorno do usuário não é utilizado como entrada para planos de revisão ou especificações

(4)

para incrementos sucessivos. Ao contrario, a saída de uma iteração é examinada para modificação, e especialmente para revisão dos objetivos das iterações sucessivas.

O modelo Incremental e Iterativo será usado para as etapas:

 Projeto de Software

 Protótipo do Projeto de Arquitetura

 Desenvolvimento

 Validação

 Implantação

 Reavaliação dos requisitos

Foi escolhido o modelo incremental e iterativo para todas as etapas de projeto, desenvolvimento, validação e implantação do software. O uso dessas técnicas poderá diminuir a possibilidade de insatisfação e ter como vantagem a satisfação do cliente por estar utilizando partes do software.

Projeto de Software

Será iniciada a documentação do projeto. Nesta etapa será definida a arquitetura do sistema, principais requisitos a serem atendidos com prioridade e organização das atividades a partir da criação de um cronograma para o projeto.

Transformar os resultados da análise de requisitos em um documento ou conjunto de documentos capazes de serem interpretados diretamente pelo programador.

ARTEFATO GERADO: documentação do projeto de software.

Protótipo do Projeto de Arquitetura

Através de diagramas será realizada uma validação do projeto de arquitetura para saber se a mesma atendeu a necessidade do software e se a mesma será utilizada. Onde será possível ver as interações e restrições entre os componentes do sistema.

Prototipação é uma abordagem baseada em uma visão evolutiva do desenvolvimento de software, afetando o processo como um todo. Envolve a produção de versões iniciais - protótipos (análogo a maquetes para a arquitetura) - de um sistema futuro com o qual é possível realizar verificações e experimentos, com o intuito de avaliar algumas de suas características antes que o sistema venha realmente a ser construído, de forma definitiva. ARTEFATO GERADO: relatório de validação da arquitetura.

(5)

Desenvolvimento

Nessa etapa será feita a codificação dos componentes do software, tendo como modelo o projeto de arquitetura, os protótipos e todos os requisitos levantados na primeira na etapa de cascata do processo.

A programação consiste na atividade de construção de um programa que implementa uma determinada solução para um problema algorítmico. Esta solução pode ser descrita na forma de especificação de algoritmos e estruturas de dados e deve então ser codificada uma linguagem de programação. Especialistas em programação podem escrever a solução algorítmica diretamente na linguagem de programação.

Esta atividade é também chamada de implementação, construção ou codificação do software. A codificação enfatiza a que o software deve ser construído utilizando uma linguagem de programação. Além da codificação propriamente, a programação deve envolver ainda a sua tradução num código de máquina executável.

A programação deve resultar num programa que implemente tudo o que foi especificado durante o design. No caso de software formado por vários componentes, estes devem ser implementados a partir da especificação de cada componente e integrados (interconectados) conforme a arquitetura interna do software.

ARTEFATO GERADO: Build do sistema.

Validação

Nesta etapa serão realizados testes para verificar se o sistema está atendendo aos requisitos que foram detalhados no projeto do sistema, realizar também testes de caixa branca, preta e cinza para detectar possíveis erros de codificação.

A avaliação ou verificação visa assegurar algumas das principais qualidades do software. Dentre as atividades de avaliação vamos destacar a correção, validação e usabilidade do software.

O software é considerado correto quando o programa implementado satisfaz à sua especificação. Existem diversas formas de verificarmos se um software está correto. Elas são o teste de programa, a inspeção e a prova de programas. O teste de programa permite identificarmos se um programa tem erros a partir da execução do programa de acordo com técnicas específicas.

A inspeção pode ser feita pela análise do código fonte e a sua execução mental com o auxílio de lápis e papel (rastreamento). Outra forma de inspeção é utilizando o debugger que permite acompanhar passo a passo a execução de cada instrução do programa e verificar o estado das variáveis de dados.

A prova de programa utiliza técnicas de lógica matemática que permite provar se um programa está correto em relação à especificação formal deste programa. Em um software complexo, se a sua arquitetura for especificada formalmente pode-se provar que cada componente individualmente está correto e que a sua integração também está correta.

(6)

A avaliação da validação do software visa determinar se a especificação do software (funcionalidade, arquitetura, interface, etc) satisfaz aos requisitos do usuário. Ela deve ser realizada durante toda a fase de desenvolvimento na medida em que as especificações forem elaboradas.

A avaliação da usabilidade visa identificar as qualidades relacionadas com a interação entre o usuário e o software. Dentre estas qualidades estão a facilidade de aprendizado, facilidade de uso, produtividade, etc. A usabilidade é verificada de forma empírica através de testes de usabilidade que analisam o comportamento do usuário durante a interação.

ARTEFADO GERADO: Documento de caso teste.

Implantação

A justificativa do nosso processo se reúne nessa fase, pois durante a implantação incremental poderemos analisar possíveis erros que irão ocorrer durante a implantação do software, possibilitando voltar para as outras fases para uma reconstrução e reavaliação

Durante a fase de implantação do ciclo de vida o software deve ser instalado, utilizado e feita a sua manutenção. A instalação e configuração é a atividade visa implantar o software no computador para que ele possa ser utilizado pelos usuários. A instalação requer que o software seja armazenado no lugar correto e que os drivers de dispositivos de hardware sejam configurados adequadamente para que o software funcione corretamente. Esta atividade pode ser realizada tanto por usuários como pelos engenheiros ou programadores do software. A utilização é a atividade fim do software, uma vez que ele foi construído para auxiliar pessoas na realização de suas tarefas. A utilização deve seguir o modelo de interação especificado durante o seu design que deve está descrito no manual de usuário.

A manutenção é a atividade destinada a assegurar a qualidade do software durante a fase de operação. A manutenção se faz necessária para que o software possa ser transportado para outras plataformas de hardware e de sistemas operacionais, para satisfazer a novos requisitos dos usuários ou para corrigir eventuais erros. Ela pode envolver a correção de erros não detectados durante os testes, o re-design da funcionalidade, da interface de usuário, da arquitetura do software ou dos algoritmos de forma que novos requisitos sejam satisfeitos, e várias outra s atividades.

ARTEFATO GERADO: Manual do usuário e relatório da implantação.

Reavaliação de Requisitos

Nesta etapa será verificado com base nos resultados obtidos pela implantação se há necessidade de alterar os requisitos levantados na iniciação do sistema.

Referências

Documentos relacionados

• Gerar nos alunos de Análise e desenvolvimento de software a capacidade de analisa, documentar e especificar sistemas computacionais de informação.. Estes devem fazer uso

• O ciclo de vida iterativo e incremental pode ser visto como uma generalização da abordagem em cascata: o software é desenvolvimento em incrementos e cada incremento é desenvolvido

• Deve-se avaliar o conjunto de requisitos essenciais para a definição do Documento de Visão do software e este deve incluir o escopo do projeto e suas limitações, bem como

• Depois de determinar os custos e benefícios para uma possível solução, você pode realizar a análise de custo- benefício.. Estudo

• Requisitos são tipicamente utilizados como informações fundamentais para a fase de projeto de um produto ou serviço, especificando as propriedades e funções necessárias

Nesta reunião, o ScrumMaster trabalha junto com o Proprietário do Produto e a Equipe de Desenvolvimento para definir qual a carga de tempo que cada funcionalidade do Product

Esse conjunto de função consiste naquelas funções não diretamente relacionada à definição, ao gerenciamento, ao desenvolvimento e ao teste de software, mas que não

Processo de Desenvolvimento de Software: Analises iniciais, ciclo de vida de um processo, modelos de processos de desenvolvimento, padrões de processos, processo unificado;