Processo de desenvolvimento de sistema de informação -...

27

Click here to load reader

Transcript of Processo de desenvolvimento de sistema de informação -...

Page 1: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação - DSI

DSI – é o processo cujo objetivo é introduzir

mudanças num sistema de informação, com

objetivo de melhorar o seu desempenho.

Preocupação:

• Problema técnicos

• Mudança na natureza e conteúdo do trabalho das pessoas

• implicações estratégicas que o SI poderá ter na organização

Aproximações de soluções:

• Hard – assume que o problema tem base lógica ou matemática

• Soft – relacionada aos efeitos ambientais do SI – aspectos

econômicos, legais, psicológicos do ambiente

Page 2: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Diferença entre desenvolvimento de Sistema deInformação e desenvolvimento de software

Histórico:Década de 50 e 60 – não havia processo definido para

DSI. A solução era buscada por meio de termoscomputacionais, sem dar atenção à compreensão edescrição do sistema em si.

Década de 70 – maior conscientização da importância dasfases – análise de requisitos e modelagem –movimento de desenvolvimento estruturado,sistemático, top-down.

Surgimento do conceito de ciclo de vida dedesenvolvimento de sistema (SDLC – SystemsDevelopment Life Cycle)

Page 3: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Conceito de ciclo de vida de desenvolvimento de sistema

• Desenvolvimento sequencial – segue uma abordagemsistêmica e linear ao longo da vida do projeto .

• Desenvolvimento evolutivo – o sistema é construído emdiferentes etapas, sendo, em cada etapa, construída umaversão do sistema que vai evoluindo. Cada versão satisfazos requisitos conhecidos

• Desenvolvimento incremental – parte da ideia que pode-seconstruir um sistema a partir de varias versões, cada umacom um conjunto especifico de funções.

Page 4: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo sequencial linear ou modelo em Cascata(Waterfall model ) – apareceu no início do anos 70,foi o primeiro que veio com a intenção de disciplinare sistematizar o DSI.

Características:• Cada fase tem objetivos bem definidos• modelo mais antigo e o mais amplamente usado• modelado em função do ciclo convencional• requer uma abordagem sistemática, sequencial ao

desenvolvimento do sistema• o resultado de uma fase se constitui na entrada da outra• Apropriado para sistemas transacionais onde as rotinas e

procedimentos a serem automatizados são altamenteestruturados.

Page 5: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo Cascata

Page 6: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Problemas Encontrados no modelo Cascata:

• Projetos reais raramente seguem o fluxo sequencial que omodelo propõe

• Difícil para o cliente estabelecer todos os requisitosinicialmente.

• O cliente precisa ter paciência! Tempo necessário paradisponibilizar o software.

• Uma versão do software somente estará pronta ao final docronograma do projeto;

• Incremento dos custos de correção na medida em que seavancem as fases.

• Os erros mais comuns são encontrados no início do períodode testes, enquanto os mais sérios são encontrados apenas nofinal.

• Ausência de envolvimento do utilizador no processo dedesenvolvimento

Page 7: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

O Modelo de processo em Cascata trouxecontribuições importantes para o processo dedesenvolvimento de sistemas:

• Imposição de disciplina, planejamento egerenciamento

• a implementação do produto deve serpostergada até que os objetivos tenham sidocompletamente entendidos;

• Permite gerência do baseline, que identifica umconjunto fixo de documentos produzidos aolongo do processo de desenvolvimento;

Page 8: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo prototipagem – Processo que propicia aodesenvolvedor cria um modelo do sistema queserá implementado. O protótipo serve como ummecanismo para a identificação dos requisitos dosistema.

Os protótipos permitem:

• que o projetista avalie previamente algumas características particulares do projeto;

• que o modelo seja testado sem o risco de comprometer todo um projeto;

• que o usuário tenha condições de melhor entender o produto que esta sendo desenvolvido.

Page 9: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

O modelo pode assumir uma das três formas:

• Um protótipo em papel ou visual que retrata a interação homem-máquina;

• Um protótipo de trabalho que implementa algum subconjunto da função exigida do software desejado;

• Um programa que executa parte ou toda a função desejada, porém que necessita ser aprimorado para tornar-se operacional.

Page 10: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo Prototipagem

Page 11: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Problemas da prototipagem:

• Não entendimento pelo cliente de que oprotótipo não é um produto acabado;

• O cliente vê o protótipo e tem pressa paracolocá-lo em funcionamento, não levando emconsideração a qualidade global do sistema.

• Muitas vezes o desenvolvedor quer colocar oprotótipo em funcionamento rapidamente, comisso, um sistema operacional ou linguagem deprogramação imprópria pode ser usada,simplesmente porque está à disposição e éconhecida.

Page 12: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Comentários sobre o Modelo de Prototipagem

• ainda que possam ocorrer problemas, a prototipagem é um ciclo de vida eficiente.

• a chave é definir as regras do jogo logo no começo.

• o cliente e o desenvolvedor devem ambos concordar que o protótipo seja construído para servir como um mecanismo para definir os requisitos

Page 13: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo Espiral – foi evoluindo ao longo do tempo (BarryBoehm, 1988)

• Abrange as melhores características tanto do ciclo de cascata como prototipagem.

• Combina a natureza iterativa da prototipagem com os aspectos controlados e sistemáticos do modelo linear sequencial (cascata).

• Fornece potencial para o desenvolvimento rápido de versões incrementais do SI.

• Foi acrescido de uma nova fase, a análise de risco.• O modelo espiral é dividido em uma série de atividades

de trabalho ou regiões de tarefa.• Engloba várias iterações através de sucessivos ciclos.

Page 14: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo Espiral

Page 15: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo EspiralEstabelecimento de objetivossão definidos objetivos específicospara a fase do projeto. Sãoidentificadas restrições sobre oprocesso e o produto. É projetadoum plano de gerenciamentodetalhado. São identificados riscosdo Projeto e, dependendo dosriscos, estratégias alternativaspodem ser planejadas

Avaliação e redução de riscospara cada um dos riscosidentificados, uma análisedetalhada é executada. Passossão tomados para reduzir orisco

Desenvolvimento e validaçãodepois da avaliação do risco, um modelo de desenvolvimento é escolhido para o sistema

Planejamentoo projeto é revisto e é tomadauma decisão de continuidadese é decidido continuar, sãoprojetados planos para a próximafase do projeto

Page 16: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Características dos ciclosCada ciclo na espiral representa uma fase do processo de

software• o ciclo mais interno está concentrado nas possibilidades do

sistema• o próximo ciclo está concentrado na definição dos

requisitos do sistema• o ciclo um pouco mais externo está concentrado no projeto

do sistema• um ciclo ainda mais externo está concentrado na

construção do sistema

Não existem fases fixas no modelo. As fases mostradas nafigura são meramente exemplos. A gerência decide comoestruturar o projeto em fases

Page 17: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo Espiral• é, atualmente, a abordagem mais realística para o

desenvolvimento de sistemas de informação /software em grande escala.

• usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva

• pode ser difícil convencer os clientes que uma abordagem "evolutiva" é controlável

• exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso

• o modelo é relativamente novo e não tem sido amplamente usado. Demorará muitos anos até que a eficácia desse modelo possa ser determinada com certeza absoluta

Page 18: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo RAD - ( Rapid Application Development),desenvolvimento rápido de aplicações (Martin,1991) – enquadra-se no tipo dedesenvolvimento sequencial linear queenfatiza um ciclo de desenvolvimentoextremamente curto.

O desenvolvimento rápido é obtido usando umaabordagem de construção baseada emcomponentes, seguindo a regra dos 80/20.Surgiu como uma reação aos modelostradicionais que eram demasiadamentelongos.

Page 19: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Características do Modelo RAD

• Os requisitos devem ser bem entendidos e o alcance do projeto restrito

• O modelo RAD é usado principalmente para aplicações de sistema de informação

• Cada função principal pode ser direcionada para uma equipe RAD separada e então integrada para formar o todo.

Page 20: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo RAD

Page 21: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Desvantagens:• Exige recursos humanos suficientes para todas as

equipes• Exige que desenvolvedores e clientes estejam

comprometidos com as atividades de “fogo-rápido” afim de terminar o projeto num prazo curto

Nem todos os tipos de aplicação são apropriadas para oRAD:

• Deve ser possível a modularização efetiva da aplicação• se alto desempenho é uma característica e o

desempenho é obtido sintonizando as interfaces doscomponentes do sistema, a abordagem RAD pode nãofuncionar

Page 22: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo V (V Model) – (Jensen e Tonies, 1979)

Esse modelo pode ser visto como uma evolução do modeloem cascata.

Neste modelo o processo de DSI é basicamente dividido emduas partes, as duas pernas do V, a parte da especificação ea da verificação e validação.

Esse modelo sugere que nenhuma fase pode ser consideradacompleta, e a seguinte começar, até que o documentoproduzido esteja completo.

A conexão entre os lados direito e esquerdo do modelo em V implica que, caso sejam encontrados problemas em uma atividade de teste, a correspondente fase do lado esquerdo e suas fases subsequentes podem ter de ser executadas novamente para corrigir ou melhorar esses problemas.

Page 23: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Modelo em V

Page 24: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Características Modelo V

• Enfatiza a importância de considerar as atividadesde testes durante o processo, ao invés de umteste posterior após o término do processo;

• A fase de teste começa no início do ciclo.• A segunda fase de testes é extremamente

reduzida.• Pode-se obter a retroalimentação mais

rapidamente;• Ajuda a desenvolver novos requisitos;• Melhora a qualidade do produto resultante.

Page 25: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Desvantagens Modelo V

• Dificuldade em seguir o fluxo sequencial do modelo;• Não é suficientemente flexível;• É necessário maior feedback entre todas as fases do

ciclo.• Dificuldade para o cliente poder especificar os

requisitos explicitamente.• Pressupõem que o sistema é entregue completo, após

a realização de todas as atividades dodesenvolvimento. Entretanto, nos dias de hoje, osclientes não estão mais dispostos a esperar o temponecessário para tal, sobretudo, quando se trata degrandes sistemas

Page 26: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Desenvolvimento de sistema WEB

Devido a grande necessidade de desenvolvimento de sistemaspara ambientes web, levou-se a questionar a utilização dediferentes abordagens para o desenvolvimento desses SI(WIS – Web Information Systems)

Modelo W – é uma adaptação do modelo V. Estaadaptação baseia-se na substituição da fase decodificação por uma fase designada porimplementação incremental, que inclui uma etapa devalidação com o cliente, devido a importância que ainterface com o utilizador tem nesses sistemas. Todasas outras fases devem existir, independente de serum sistema web ou não.

Page 27: Processo de desenvolvimento de sistema de informação - DSIaraguaia2.ufmt.br/professor/disciplina_arquivo/90/201204231034.pdf · desenvolvimento de sistemas de informação /software

Processo de desenvolvimento de sistema de informação

Exercício

Faça uma avaliação dos modelos apresentados e monte umatabela com as fases do processo de DSI nas diferentesabordagens.

Referencia:• PRESSMAN, Roger S. Engenharia de Software. Trad. José

Carlos Barbosa dos Santos. São Paulo: Makron Books, 1995.• YOURDON, Edward. Análise Estruturada Moderna. 3ª Ed.

Trad. Dalton C. de Alencar. Rio de Janeiro: Campus, 1990.• FALBO, Ricardo de Almeida, Engenharia de software: Notas de

aula, disponível em: http://www.inf.ufes.br/~falbo/download/aulas/es-g/2005-2/NotasDeAula.pdf