Você está na página 1de 27

Software e Engenharia de Software

Fundamentos de Software Profa. Aline Maria Malachini Miotto Amaral

Fases Genricas dos Modelos de Processo de Software


fase de definio o que fase de desenvolvimento como fase de manuteno alteraes

ferramentas mtodos processo foco na qualidade

Engenharia de Software
Gerenciamento da Qualidade Total e filosofias similares produzem uma mudana cultural que permite o desenvolvimento crescente de abordagens mais maduras para a Engenharia de Software
ENGENHARIA DE SOFTWARE pode ser vista como uma abordagem de desenvolvimento de software elaborada com disciplina e mtodos bem definidos .....a construo por mltiplas pessoas de um software de mltiplas verses

[Parnas 1987]
3

Modelos de Processo de Software


Existem vrios modelos de processo de software (ou paradigmas de engenharia de software) Cada um representa uma tentativa de colocar ordem em uma atividade inerentemente catica
Modelo Cascata Modelo de Prototipao Modelo RAD Modelos Evolutivos
Modelo Incremental Modelo Espiral

O Modelo Cascata
Modelo mais antigo e o mais amplamente usado da engenharia de software Modelado em funo do ciclo da engenharia convencional Requer uma abordagem sistemtica, seqencial ao desenvolvimento de software O resultado de uma fase se constitui na entrada da outra

Engenharia de Sistemas Anlise de Requisitos

Projeto Codificao

Testes Manuteno

O Modelo Cascata
Engenharia de Sistemas Envolve a coleta de requisitos em nvel do sistema Esta viso essencial quando o software deve fazer interface com outros elementos (por exemplo, um hardware especfico)

Engenharia de Sistemas Anlise de Requisitos

Projeto Codificao

Testes Manuteno

O Modelo Cascata
Anlise de Requisitos de Software o processo de coleta dos requisitos intensificado e concentrado especificamente no software deve-se compreender o domnio da informao, a funo e o desempenho exigido os requisitos (para o software) so documentados e revistos com o cliente

Engenharia de Sistemas Anlise de Requisitos

Projeto Codificao Testes Manuteno

O Modelo Cascata
Projeto traduo dos requisitos do software para um conjunto de representaes que podem ser avaliadas quanto qualidade, antes que a codificao se inicie

Engenharia de Sistemas Anlise de Requisitos

Projeto Codificao Testes Manuteno

O Modelo Cascata
Codificao traduo das representaes do projeto para uma linguagem artificial resultando em instrues executveis pelo computador

Engenharia de Sistemas Anlise de Requisitos

Projeto

Codificao
Testes Manuteno

O Modelo Cascata
Testes Concentra-se: nos aspectos lgicos internos do software, garantindo que todas as instrues tenham sido testadas nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados

Engenharia de Sistemas Anlise de Requisitos

Projeto Codificao Testes

Manuteno
10

O Modelo Cascata
Manuteno provavelmente o software dever sofrer mudanas depois que for entregue ao cliente causas das mudanas: erros, adaptao do software para acomodar mudanas em seu ambiente externo e exigncia do cliente para acrscimos funcionais e de desempenho

Engenharia de Sistemas Anlise de Requisitos

Projeto Codificao

Testes Manuteno

11

Problemas com o Modelo Cascata


Projetos reais raramente seguem o fluxo seqencial que o modelo prope Logo no incio difcil estabelecer explicitamente todos os requisitos. No comeo dos projetos sempre existe uma incerteza natural O cliente deve ter pacincia. Uma verso executvel do software s fica disponvel numa etapa avanada do desenvolvimento

Embora o Modelo Cascata tenha fragilidades, ele significativamente melhor do que uma abordagem casual ao desenvolvimento de software
12

Contribuies do Modelo Cascata


O modelo Cascata trouxe contribuies importantes para o processo de desenvolvimento de software: imposio de disciplina, planejamento e gerenciamento. a implementao do produto deve ser postergada at que os objetivos tenham sido completamente entendidos.

13

O Modelo de Prototipao
O objetivo entender os requisitos do usurio e, assim, obter uma melhor definio dos requisitos do sistema Possibilita que o desenvolvedor crie um modelo (prottipo)do software que deve ser construdo Apropriado quando o cliente no definiu detalhadamente os requisitos Esse modelo pode assumir uma das trs formas:
Um prottipo em papel ou modelo baseado em PC que retrata a interao homem-mquina de uma forma que capacita o usurio a entender quanto a interao ocorrer Um prottipo de trabalho que implemente algum subconjunto da funo exigida do software desejado, ou Um programa existente que executa toda a funo desejada, mas que tem outras caractersticas que sero melhoradas em um novo esforo de desenvolvimento
14

O Modelo de Prototipao
obteno dos requisitos

para

Obter Requisitos

Elaborar Projeto Rpido Refinamento do Prottipo CONSTRUO DO PRODUTO

Construir Prottipo
Avaliar Prottipo
15

Problemas com a Prototipao


O cliente no sabe que o software que ele v (prottipo) no considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo O cliente e o desenvolvedor devem ambos concordar que o prottipo seja construdo para servir como um mecanismo a fim de definir os requisitos

16

O Modelo RAD
RAD ( Rapid Application Development) um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto O desenvolvimento rpido obtido usando uma abordagem de construo baseada em componentes. Os requisitos devem ser bem entendidos e o alcance do projeto restrito O modelo RAD usado principalmente para aplicaes de sistema de informao Cada funo principal pode ser direcionada para uma equipe RAD separada e ento integrada para formar o todo
17

O Modelo RAD
Equipe #3 Equipe #1 Equipe #2
Modelagem do Negcio

Modelagem do Negcio

Modelagem Modelagem dos Dados do Negcio Modelagem Modelagem Modelagem do Processo dos Dados Gerao da dos Dados Modelagem Aplicao do Processo Modelagem Teste e Gerao da Modificao do Processo Aplicao Teste e Gerao da Modificao Aplicao

60 a 90 dias

Teste e Modificao

18

O Modelo RAD
Desvantagens: Exige recursos humanos suficientes para todas as equipes Exige que desenvolvedores e clientes estejam comprometidos com as atividades de fogo-rpido a fim de terminar o projeto num prazo curto Nem todos os tipos de aplicao so apropriadas para o RAD: Deve ser possvel a modularizao efetiva da aplicao se alto desempenho uma caracterstica e o desempenho obtido sintonizando as interfaces dos componentes do sistema, a abordagem RAD pode no funcionar
19

Modelos Evolutivos de Processo


Existem situaes em que a engenharia de software necessita de um modelo de processo que possa acomodar um produto que evolui com o tempo

quando os requisitos de produto e de negcio mudam conforme o desenvolvimento do produto quando uma data de entrega apertada (mercado) - impossvel a concluso de um produto completo quando um conjunto de requisitos importantes bem conhecido, porm os detalhes ainda devem ser definidos

Modelos evolutivos so iterativos Possibilitam o desenvolvimento de verses cada vez mais completas do software
20

O Modelo Incremental
O modelo incremental combina elementos do modelo

cascata (aplicado repetidamente) com a filosofia iterativa da prototipao O objetivo trabalhar junto do usurio para descobrir seus requisitos, de maneira incremental, at que o produto final seja obtido A verso inicial freqentemente o ncleo do produto (a parte mais importante) a evoluo acontece quando novas caractersticas so adicionadas medida que so sugeridas pelo usurio

21

O Modelo Incremental
Verso Inicial
Anlise Projeto

Descrio geral

Engenharia de sistemas/informao

Verses Descrio Descrio Intermedirias geral geral

Codificao

Teste

Verso Final
22

O Modelo Incremental
Este modelo importante quando difcil estabelecer a priori uma especificao detalhada dos requisitos O modelo incremental mais apropriado para sistemas pequenos As novas verses podem ser planejadas de modo que os riscos tcnicos possam ser administrados (Ex. disponibilidade de determinado hardware)

23

O Modelo Espiral
O modelo espiral acopla a natureza iterativa da prototipao com os aspectos controlados e sistemticos do modelo cascata O modelo espiral dividido em uma srie de atividades de trabalho ou regies de tarefa Existem tipicamente de 3 a 6 regies de tarefa

24

O Modelo Espiral (com 6 regies)


Planejamento Anlise de Riscos Comunicao com Cliente Engenharia

Avaliao do Cliente Construo e Liberao


25

O Modelo Espiral
Adiciona um novo elemento: a Anlise de Risco Usa a Prototipao, em qualquer etapa da evoluo do produto, como mecanismo de reduo de riscos Exige considervel experincia na determinao de riscos e depende dessa experincia para ter sucesso O modelo relativamente novo e no tem sido amplamente usado O paradigma do modelo espiral para a engenharia de software a abordagem mais realstica para o desenvolvimento de sistemas e de software de grande escala
26

Para escolha de um Modelo de Processo de Software:


Natureza do projeto e da aplicao Mtodos e ferramentas a serem usados Controles e produtos que precisam ser entregues

27

Você também pode gostar