Você está na página 1de 6

INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Licenciatura em Eng.ª Informática e de Telecomunicações – LEIT

Ficha de apoio Engenharia de Software

Projectos Académicos – Engenharia de Software 1 de 6 2020


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Modelos de desenvolvimento de software

O processo de desenvolvimento, corresponde ao conjunto de actividades ordenadas de modo a


que o produto de software seja obtido.

Um modelo de desenvolvimento de software corresponde a uma representação abstrata do


processo de desenvolvimento que vai em geral, definir como as etapas relativas ao
desenvolvimento serão conduzidas e relacionadas para atingir o objectivo pretendido.

Modelo queda de água

Este é o modelo de desenvolvimento de software mais simples e popular. Estabelece uma


ordenação linear no que diz respeito a realização das diferentes etapas. O ponto de partida é a
especificação (Engenharia do Sistema) em seguida a etapa do projecto e assim sucessivamente
como mostra a figura seguinte:

Este modelo de desenvolvimento é norteado por duas diretrizes:

 Todas as etapas definidas devem ser realizadas; e

 A ordenação das tarefas na forma como foram apresentadas deve ser rigorosamente
respeitada.

Desvantagem:

Projectos Académicos – Engenharia de Software 2 de 6 2020


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

O modelo assume que os requisitos são inalterados ao longo do desenvolvimento. isto em boa
parte dos casos não é verdade, uma vez que nem todos requisitos são completamente definidos
na etapa de análise.

As primeiras versões operacionais do software são obtidas nas etapas mais tardias do processo, o
que na maioria das vezes inquieta o cliente uma vez que ele quer ter acesso rápido ao seu
produto.

A manutenção é considerada uma fase por si só, enquanto que a forma moderna de
desenvolvimento considera que a manutenção deve ser feita através da replicação do processo
sob novas demandas.

Modelo de prototipagem

O objectivo da prototipagem é contornar algumas das limitações existentes no modelo queda de


água.

A ideia por traz deste modelo é eliminar a política de “congelamento” de requisitos antes do
projecto ou da codificação. Isto é feito através da obtenção de um protótipo, com base no
conhecimento dos requisitos iniciais para o sistema.

O desenvolvimento deste protótipo é feito obedecendo a realização das diferentes etapas já


mencionadas, não sendo necessário que estas etapas sejam realizadas de modo formal’

Este protótipo pode ser oferecido ao cliente em diferentes formas:

 Em forma de papel ou modo executável em pc retratando a interface homem-máquina,


capacitando o cliente a compreender a forma de interação com o software;

 Um protótipo de trabalho que implemente um subconjunto dos requisitos indicados;

 Um programa existente que permita representar todas ou parte das funções desejadas para
o software a construir;

Vantagens

 Colocando a disposição do cliente o protótipo, vai ajudá-lo a melhor compreender o que


será o sistema desenvolvido. Além disso, através da manipulação deste protótipo, é
possível validar ou reformular os requisitos para as etapas seguintes;

 Facilita o desenvolvimento de alguns sistemas de grande porte onde é difícil exprimir


rigorosamente os requisitos;

Projectos Académicos – Engenharia de Software 3 de 6 2020


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

 Através da construção de um protótipo do sistema, é possível demonstrar a


realizabilidade do mesmo;

 Permite a obtenção de uma versão, mesmo que simplificada, do que será o sistema, com
um pequeno investimento inicial.

Modelo iterativo e incremental

Este modelo foi criado em resposta as limitações do modelo cascata.

Processo iterativo

A noção do processo iterativo corresponde a ideia de melhorar pouco a pouco. Em cada iteração
a equipa de desenvolvimento identifica e especifica os requisitos relevantes, cria um projecto,
implementa o projecto em componentes e verifica se esses componentes satisfazem os requisitos.

Se uma iteração atinge o seu objectivo, o desenvolvimento prossegue com a iteração seguinte,
caso contrário, a equipa deve rever suas decisões e tentar uma nova abordagem.

Processo incremental

A noção do processo incremental corresponde a ideia de aumentar pouco a pouco. Um


incremento não é necessariamente a edição de código executável. Principalmente nas primeiras
fases do ciclo de desenvolvimento, os desenvolvedores podem substituir um projecto superficial
por um mais detalhado.

Um processo de desenvolvimento segundo essa abordagem, divide o desenvolvimento de um


produto de software em ciclos.

Em cada ciclo de desenvolvimento podem ser identificadas as diferentes fases. Cada um dos
ciclos considera um conjunto de requisitos.

A abordagem incremental e iterativa somente é possível se existir um mecanismo para dividir os


requisitos do sistema em partes, para que cada parte seja alocada a um ciclo de desenvolvimento.

Vantagens

Redução dos riscos envolvendo custos de desenvolvimento a um único incremento.

Aceleração do tempo de desenvolvimento do projecto como um todo porque os desenvolvedores


trabalham de uma maneira mais eficiente quando buscam resultados de escopo pequeno.

Projectos Académicos – Engenharia de Software 4 de 6 2020


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Desvantagens

Dificuldades na gestão porque as fases do ciclo de vida podem estar ocorrendo em simultâneo;

O cliente pode se entusiasmar excessivamente com a primeira versão do sistema e pensar que tal
versão já corresponde ao sistema como um todo.

Modelo em espiral

Sugere uma organização em espiral, a qual é composta por diversos ciclos. A dimensão angular
representa o avanço do desenvolvimento ao longo das etapas, e a dimensão vertical representa o
custo acumulado na realização das diversas etapas.

Cada ciclo na espiral inicia com a identificação dos objectivos e as alternativas para atingir os
objectivos assim como as restrições impostas.

Depois são avaliadas as alternativas com base nos objectivos fixados, o que permitirá de definir
as incertezas e riscos de cada alternativa.

Depois desenvolvem-se estratégias para resolver as incertezas.

O elemento que conduz este processo é essencialmente a consideração sobre os riscos.

Neste modelo, cada ciclo é encerrado por uma actividade de revisão. A continuidade do processo
é definida como função dos riscos.

Projectos Académicos – Engenharia de Software 5 de 6 2020


INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

Vantagens

Permite que o projetista e o cliente possam entender e reagir aos riscos em cada etapa evolutiva;

O desenvolvimento repetido e contínuo ajuda na gestão de riscos.

Desvantagens

Avaliação dos riscos exige muita experiência;

O modelo é relativamente novo e não tem sido muito utilizado.

Projectos Académicos – Engenharia de Software 6 de 6 2020

Você também pode gostar