Modelos de Desenvolvimento de Software - Revista .Net Magazine 101

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (5)  (0)

As vezes poderá ser necessário adotar uma metodologia ágil acrescida de alguma prática tradicional e vice-versa. A customização do seu processo, avaliando cada caso de maneira específica e pontual, é o que garantirá a escolha da melhor metologia.

Artigo do tipo Teórico
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre Engenharia.

Desenvolvimento de software: processo tradicional e ágil

Desenvolver software torna-se a cada dia uma tarefa mais complexa onde os clientes desejam softwares com qualidade, rápidos e que atendam suas necessidades. A modelagem de software tradicional com requisitos completos, projeto, construção e testes, demora para ser realizada e na maioria das vezes os projetos com este tipo de modelagem não saem do “papel”. Visando minimizar essa situação alguns engenheiros de software criaram a metodologia ágil, ou seja, uma forma de desenvolver software rápido, com qualidade e com a documentação básica necessária para o desenvolvimento. Diante disso, o presente artigo objetiva mencionar o desenvolvimento de software com base em especificação tradicional (modelo em cascata, evolucionário, entrega incremental e espiral) e um desenvolvimento com base em uma metodologia ágil, a Extreme Programming, ilustrando as principais características e diferenças entre os mesmos.


Em que situação o tema é útil

O tema é útil em todos os projetos de software, principalmente nos de médio e grande porte onde a decisão sobre qual tipo de processo melhor se adéqua ao software pode ser determinante para o sucesso do projeto.

Processo de desenvolvimento de software

O processo de software é um conjunto de atividades destinadas à produção e/ou evolução de um sistema. As atividades dos processos podem envolver o desenvolvimento ou a manutenção do software através de linguagens de programação como C# ou Java.

Os processos de softwares são complexos e na maioria das vezes realizados com uso de ferramentas CASE.

Os processos de software evoluíram para explorar as capacidades das pessoas dentro das organizações e as características específicas dos sistemas. Atualmente existem diversos processos de software e algumas atividades são comuns entre eles, como por exemplo:

1.Especificação: definem-se as funcionalidades do software e as restrições sobre suas operações;

2. Projeto de implementação: produção de um software que atenda à especificação;

3. Validação de software: o software precisa ser validado para garantir que atendeu os requisitos elucidados pelo cliente;

4. Evolução de software: o software deve evoluir para atender às necessidades mutáveis do cliente.

Os processos de software podem ser aprimorados para incrementar a qualidade do produto e/ou reduzir seu tempo e custo. Diante disso, neste artigo serão abordados os modelos de processos de software em cascata, evolucionário, de entrega incremental, espiral e um modelo de método ágil, o extreme programming.

Modelo em cascata

O modelo clássico (cascata) foi proposto por Royce em 1970. O modelo criado derivou-se de atividades da engenharia para estabelecer ordem aos softwares, por ser um dos mais importantes modelos de processo é referência para muitos outros. A versão original deste modelo foi melhorada e continua sendo utilizada nos dias atuais.

Os principais estágios do modelo em cascata demonstram as atividades fundamentais de desenvolvimento de sistemas:

. Definição dos requisitos: coletam-se os requisitos por meio de consultas e reuniões com os usuários. Os requisitos são definidos detalhadamente e são utilizados na especificação do sistema;

. Projeto do sistema: é a parte do projeto em que divide os requisitos em requisitos de hardware ou de software. O projeto do sistema envolve a identificação, a descrição das abstrações fundamentais do sistema e as suas relações;

· Implementação: é a fase do desenvolvimento e da realização de testes unitários. É através dos testes unitários que é verificado se o sistema atende à sua especificação;

. Teste do sistema: iniciam-se os testes no sistema. Se não forem identificados erros durante esta fase, o sistema é liberado para o usuário;

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?