Metodologia para o Desenvolvimento de Sistemas de Informação Avanilde Kemczinski [email protected] OBJETIVO • Apresentar uma visão geral das Metodologias para o Desenvolvimento de Sistemas de Informação. INTRODUÇÃO • Para LAUDON e LAUDON (1999), um Sistema de Informação pode ser definido como um conjunto de componentes interrelacionados trabalhando juntos para coletar, recuperar, armazenar e distribuir informação com a finalidade de facilitar o planejamento, o controle, a coordenação, a análise e o processo decisório em organizações. INTRODUÇÃO • A razão mais forte pelas quais as empresas constroem sistemas de informação, é para resolver problemas organizacionais e para reagir a uma mudança no ambiente. • Quando as forças externas e os problemas organizacionais mudam, sistemas novos são necessários e sistemas antigos devem ser modificados. INTRODUÇÃO • O desenvolvimento real de uma solução de sistemas de informação pode seguir muitos rumos. Dependendo do tamanho, escopo, complexidade e características da empresa, tipos diferentes de sistemas de informação exigem diferentes abordagens para serem desenvolvidos. INTRODUÇÃO • Alguns métodos englobam uma abordagem mais formal de projeto de solução que outros. Por sua vez, alguns exigem funções claramente demarcadas entre usuário final e o especialista técnico, em outros esta separação não é nítida. “O que existe de comum é a Metodologia básica de solução de problemas.” (LAUDON e LAUDON, 1999) MAS O QUE É METODOLOGIA? • “Constitui-se de uma abordagem organizada para atingir um objetivo, por meio de passos preestabelecidos. É um roteiro, um processo dinâmico e interativo para o desenvolvimento estruturado de projetos, sistemas ou software, visando a qualidade e produtividade de projetos (soluções).” (REZENDE, 2000) O modelo de cinco etapas para a solução de problemas O funil de solução de problemas da tomada de decisões no mundo real. O modelo de cinco etapas para a solução de problemas 1. Analisar o Problema – – Identificar o problema Identificar as questões humanas, tecnológicas e organizacional 2. Entender o Problema – – Reunir informações Identificar causas, história e que mantém o problemas 3. Tomar Decisão – – – Especificar os objetivos da solução Avaliar soluções alternativas Selecionar a melhor solução 4. Projetar – Projeto lógico e físico 5. Implementar a solução – – – Implementar o plano Modificar os procedimentos existentes quando necessário Avaliar a solução CICLO DE VIDA DE SISTEMAS TRADICIONAL • É a metodologia de construção de sistemas mais antiga. Também conhecida como modelo cascata pelos pesquisadores da Engenharia de Software. • Este método ainda é o mais predominante, na construção de sistemas de médio e grande porte. CICLO DE VIDA DE SISTEMAS TRADICIONAL • Subdivide o desenvolvimento em várias etapas (estágios) que são: – – – – – – Definição do projeto Estudo do sistema (problema) Projeto Programação Instalação Pós-Implementação (LAUDON e LAUDON, 1999) CICLO DE VIDA DE SISTEMAS TRADICIONAL 1. Análise do problema 2. Entendimento do problema 3. Tomada de decisão 4. Projeto de solução 5. Implementação Definição do projeto Estudo do sistema Projeto Programação Instalação Metodologia de solução de problemas Pós-implementação CICLO DE VIDA DE SISTEMAS TRADICIONAL Pontos Fortes Pontos Fracos • A especificação e documentação são detalhadas em todas as etapas do processo de desenvolvimento; • Indicado para construção de aplicações de médio e grande porte. • Volumosos documentos de especificações e acordos da metodologia consomem muitos tempo; • Metodologia rígida e inflexível (passo a passo); • Congela as especificações logo no início do desenvolvimento. ALTERNATIVAS DO CICLO DE VIDA DE SISTEMAS TRADICIONAL • Estas abordagens seguem a metodologia de solução de problemas que são: – Prototipagem – Desenvolvimento de soluções com pacotes de software – Desenvolvimento de quarta geração/ ou Desenvolvimento pelo usuário final – Terceirização (LAUDON e LAUDON, 1999) PROTOTIPAGEM • Engloba a construção de um sistema experimental ou parte de um sistema de maneira rápida e pouco dispendiosa para que os usuários finais possam avalia-lo. • A medida que os usuários interagem com o protótipo eles formam uma idéia melhor de quais são as necessidades, e as características do sistema final podem ser adaptadas de acordo. PROTOTIPAGEM 1. Análise do problema Identificar requisitos iniciais 2. Entendimento do problema Desenvolver protótipo operacional 3. Tomada de decisão 4. Projeto de solução Usar protótipo Protótipo Aceitável? não sim 5. Implementação Metodologia de solução de problemas Desenvolver protótipo final Desenvolver versão p/ produção PROTOTIPAGEM Pontos Fortes Pontos Fracos • Eficaz quando os requisitos do usuário não são muito claros; • Facilita o processo de solução do problema quando especialistas empresarias utilizam sistemas protótipos; • Promove teste de interface com o usuário; • Permite contato imediato do usuário com as partes do sistema que utilizará. • Não pode ser aplicada a grandes sistemas com instruções de processamento e cálculo complexos; • Não substitui toda a pesquisa e a análise detalhada necessárias para a construção de um sistema de informação. DESENVOLVIMENTO COM PACOTES DE SOFTWARE • Os pacotes aplicativos representam uma alternativa à escrita de programas e ao desenvolvimento de sistemas customizados dentro de uma empresa. • A empresa pode adquirir um pacote de software no qual todos os programas já estão escritos, testados e disponíveis no mercado como: folha de pagamento, contas a pagar, contas a receber, outros. DESENVOLVIMENTO COM PACOTES DE SOFTWARE 1. Análise do problema 2. Entendimento do problema 3. Tomada de decisão Definição do problema Estudo do sistema 4. Projeto de solução Avaliação do pacote 5. Implementação Instalação do pacote Adequação do pacote a organização Metodologia de solução de problemas Pós-implementação DESENVOLVIMENTO COM PACOTES DE SOFTWARE Pontos Fortes Pontos Fracos • Economia de custo; • Quando a empresa não dispõem de grande quadro de pessoal técnico para desenvolver determinada aplicação; • O comprador sabe precisamente quais são os recursos do sistema. • Elimina parte da necessidade de trabalhar e refazer as especificações de um sistema, porque os usuários devem trabalhar e aceitar o pacote como ele é. • Muitas vezes não são capazes de satisfazer todos os requisitos da organização; • Mesmo com os recursos de customização, existem limites quanto ao nível de modificações que podem ser feitas no pacote. DESENVOLVIMENTO DE QUARTA GERAÇÃO/ USUÁRIO • É voltado para o desenvolvimento de sistemas de informação com pouca ou nenhuma assistência de especialistas técnicos. • Trata-se de uma abordagem útil para pequenos sistemas de informação e para aplicações de computadores pessoais como gerenciamento de arquivos e aplicações gráficas. • Incorpora algumas ferramentas como: linguagem de quarta geração, ferramentas de computadores pessoais e linguagens gráficas. DESENVOLVIMENTO DE QUARTA GERAÇÃO/ USUÁRIO 1. Análise do problema Definição do problema 2. Entendimento do problema Geração de solução 3. Tomada de decisão 4. Projeto de solução • Prototipagem 5. Implementação • Finalização da solução Pós-implementação Metodologia de solução de problemas DESENVOLVIMENTO DE QUARTA GERAÇÃO/ USUÁRIO Pontos Fortes Pontos Fracos • Desenvolvimento pelo usuário final, promovendo maior controle sobre o processo de solução; • Os sistemas de quarta geração tendem a ser muito mais simples e podem ser concluídos mais rapidamente que os que utilizam a metodologia convencional do ciclo de vida. • Aplicado somente para resolver problemas quando a solução é relativamente simples e facilmente entendida pelo usuário; • Possível perda de controle, por parte da organização, sobre o processo de solução e os recursos de informação; • Não utilização dos padrões de desenvolvimento (metodologia). TERCEIRIZAÇÃO • Envolve a utilização de uma empresa externa que executa o desenvolvimento (ou operação) dos sistemas de informação de uma organização. • Esta abordagem é útil quando a organização não dispõe de recursos financeiros ou técnicos para desenvolver sistemas por si mesma. TERCEIRIZAÇÃO 1. Análise do problema 2. Entendimento do problema Definição do problema Estudo do sistema 3. Tomada de decisão 4. Projeto de solução 5. Implementação Metodologia de solução de problemas Avaliação da empresa fornecedora Implementação TERCEIRIZAÇÃO Pontos Fortes • Questões econômicas como: serviços especializados e capacidade de oferecelos a um preço mais baixo ou com melhor qualidade pelo mesmo custo; • Liberar o pessoal mais talentoso de SI para projeto críticos. Pontos Fracos • Não é uma solução para todas as empresas ou para todas as situações; • Exige alto nível de controle da terceirizada; • É arriscado para uma empresa terceirizar aplicações das quais sua competitividade depende. CONSIDERAÇÕES FINAIS • O ciclo de vida de sistemas tradicional, consiste em um conjunto formal de estágios que devem ser seguidos seqüencialmente, definindo-se claramente as responsabilidades empresariais e técnicas. • A prototipagem abrange a construção de um sistema experimental, ou parte de um sistema, de maneira rápida para que os especialista empresariais interajam com o sistema e o avaliem. O processo é altamente interativo e iterativo. CONSIDERAÇÕES FINAIS • Os pacotes se constituem de software, pré-escritos e vendido no comércio, que podem reduzir consideravelmente os custos de desenvolvimento de sistemas se satisfazerem os requisitos da solução do problema. • Devido a produtividade e à facilidade de uso proporcionada pelas ferramentas de desenvolvimento de de 4a. Geração, os especialistas empresariais podem construir soluções de sistemas de informação com uma assistência mínima de especialistas técnicos. • As organizações podem se beneficiar do desenvolvimento terceirizado de aplicações por um fornecedor externo se esse arranjo reduzir custos e permitir que a organização controle o processo de projeto de solução. ATIVIDADES DE FIXAÇÃO 1. Cite e defina cada estágio do ciclo de vida de um sistema. 2. Por que é importante realizar uma auditoria de pósimplementação de um sistema de informação? 3. Quais são as alternativas mais importantes da metodologia convencional de construção de sistemas? 4. Quais as limitações da prototipagem? 5. O que é customização? Por que ela é um recurso importante a se considerar em um pacote de software? 6. Que problemas são associados ao desenvolvimento de 4a. Geração? 7. O que é terceirização? Quais as vantagens e desvantagens como uma abordagem de projeto de solução? REFERÊNCIAS BIBLIOGRÁFICAS • LAUDON, K. C.; LAUDON. J. P. “Gerenciamento de sistemas de informação”. Tradução OLIVEIRA, A. “Essentials management information system”. Rio de Janeiro: LTC, 2001. • LAUDON, K. C; LAUDON, J. P. “Sistemas de Informação”. Rio de Janeiro, Livros técnicos e Científicos - LTC, 1999. Cap 9 e Cap 11 • REZENDE, D. A. “Tecnologia da informação aplicada a sistemas de informação empresariais: o papel estratégico da informação e dos sistemas de informação nas empresas. São Paulo: Atlas, 2000. METODOLOGIA PARA O DESENVOLVIMENTO DE SISTEMAS Avanilde Kemczinski [email protected] Muito Obrigada!