Faculdade Salesiana Dom Bosco de Piracicaba Curso Sistemas de Informação Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014 Material criado por Prof. Edinelson Revisão e atualização: Prof. Gustavo Gonzalez Análise e Projeto de SI A análise de sistemas de informação é o estudo de um problema de informação de uma organização que possa ser resolvido com o uso das Tecnologias da Informação. Tecnologia da Informação Conceito: Conjunto de recursos computacionais para manipular dados e gerar informações e conhecimentos. As empresas na atualidade perseguem três metas básicas: Redução do esforço do trabalho Aumento da produtividade Melhoria da qualidade IMPLEMENTAÇÃO DE SISTEMAS DE INFORMAÇÃO A implantação de um Sistema de Informação deve estar de acordo com a estratégia de uso da tecnologia da informação da organização, e esta, por sua vez, deve ser coerente com a sua estratégia de negócio. Existe um relação direta entre o nível de sucesso de uma estratégia de TI e o nível de apoio da alta gerência em um desenvolvimento de sistema de informação. Falhas de desenvolvimento Uma breve estatística (fonte Chaos Report-Standish Group) 10% dos projetos terminam no prazo estipulado; 60% dos orçamentos são ultrapassados; 25% dos projetos são descontinuados antes de chegarem ao fim; corrigir um erro, estimula outros; Introdução A transformação da sociedade industrial na sociedade da informação é uma realidade. *Quem tem a informação tem o poder!* Os impactos desta transformação nos negócios são profundos. Cresce cada vez mais a necessidade de informação e de tecnologias que a suportem dentro da organização. Hoje, nas empresas, as tecnologias de informação e as aplicações por elas geradas diferenciam produtos, sistemas e serviços, e proporcionam vantagens competitivas no mercado. Aquelas que fornecerem os melhores produtos sobrevivem. Introdução Os sistemas de informação estão se tornando cada vez mais complexos. Apesar da complexidade destes sistemas, o seu desenvolvimento e manutenção dentro das organizações é uma tarefa realizada, na maioria das vezes Em função da própria infra-estrutura propiciada pelas novas tecnologias e do aumento do nível de solicitações por parte dos usuários da informação na organização sem padrões, métodos ou técnicas bem definidas e sem práticas gerenciais de controle de qualidade e do acompanhamento dos projetos gerando muitas vezes sistemas de informação que falham no atendimento aos requisitos dos usuários e consomem mais recursos (financeiros, humanos e computacionais) do que o esperado. Introdução Para viabilizar o atendimento a estas necessidades em relação ao desenvolvimento e manutenção de sistemas de informação, surgem as metodologias de desenvolvimento de sistemas (análise e projeto) Ao longo dos anos surgiram várias metodologias e técnicas para tentar resolver estes problemas: caos, análise estruturada, análise essencial, OO. Com as novas demandas houve uma série de tentativas para novas técnicas O que as organizações esperam: Melhor flexibilidade e adaptabilidade; Possibilitando satisfazer novos requisitos de negócios rapidamente facilmente Melhor manutenabilidade; Possibilitando atualizar uma aplicação, masminimizando o impacto da maioria das mudanças O que as organizações esperam: Melhor reusabilidade; Possibilitando rapidamente montar aplicações únicas edinâmicas Melhor aproveitamento do legado; Possibilitando o aproveitamento do legado corporativo Não queremos jogar fora o que a empresa já tem! O que as organizações esperam: Melhor interoperabilidade Possibilitando integrar 2 aplicações executando em plataformas diferentes Melhor escalabilidade Possibilitando distribuir e configurar a execução da aplicação para satisfazer vários volumes de transação O que as organizações esperam: Menor tempo de desenvolvimento; Melhor robustez; Possibilitando viver “on Internet Time” e com baixo orçamento Possibilitando ter soluções com menos defeitos Menor risco; Possibilitando tudo que falamos acima e ainda não se arriscar a ter projetos fracassados Então ... O que devemos fazer? Estudar novas metodologias de desenvolvimento de software! Quais são elas e quais são as melhores? Tendências (ou já realidades)... Fábrica de Software Extreme Programming CMM RUP Frameworks Tendências (ou já realidades)... Métricas para estimativas de esforço Automatização de Testes Software baseado em Componentes Design Patterns Controle de Versões de Software Reutilização de Código UML Ferramentas de Workflow Tendências SOA – Services Oriented Architecture Arquitetura Orientada a Serviços possui diversas definições mas pode ser entendida como um paradigma arquitetural que viabiliza a criação de serviços de negócio com baixo acoplamento e interoperáveis entre si, os quais podem ser facilmente compartilhados dentro e fora das corporações. Perspectiva histórica 1940: os computadores foram inventados 1950: linguagem de montagem, Fortran 1960: COBOL, ALGOL, PL/1, Sistemas Operacionais 1970: Sistemas multi-usuário, Banco de Dados, programação estruturada Perspectiva histórica 1980: redes, PCs, arquiteturas paralelas 1990: Internet, sistemas distribuídos, Orientação a Objetos 2000: Realidade Virtual, reconhecimento de voz, vídeoconferência... A Evolução do Software 50 - 64 Base: Hardware Orientação Batch Software customizado (sob medida) Distribuição Limitada Ausência de Documentação A Evolução do Software 65 - 74 Multiusuário Tempo real Bancos de Dados Novos conceitos de IHC Produto de Software Advento das software houses Maior demanda e crescimento de produto de software => necessidade de manutenção CRISE do Software A Evolução do Software 75 - 90 Sistemas Distribuídos “Inteligência” Embutida Hardware de Baixo Custo Impacto de Consumo Maior complexidade dos softwares Gastos com software > gastos com hardware A Evolução do Software 85 - ... Sistemas de Desktop poderosos Tecnologias Orientadas a Objetos Sistemas Especialistas Redes Sistemas Distribuídos Multimídia e Realidade Virtual CRISE ? Metodologia Sistemática? “Crise” do software “Conjunto de problemas que são encontrados no desenvolvimento de software de computador.” Principais problemas: Estimativas de prazo e custos imprecisas Produtividade dos profissionais < demanda de clientes Qualidade do software < desejada Tempo insuficiente para a coleta dos dados Falta de entendimento entre usuário e desenvolvedor Crise do Software (~1970) •Continuação..... •Desenvolvimento de Software como “arte” – desenho de telas e arquivos • Problemas de execução - erros • Prazos extrapolados • Custos inesperados – correção de erros e adaptação do código às reais necessidades do usuário • Empresas dependentes de computadores com sistemas legados que necessitam modificações mas com código/documentação ilegível ou inexistentes. • Insatisfação de usuários Antes... Início da era do computador: Engenharia de Hardware administração orientada ao hardware uso de controle, ferramentas e métodos Programação tentativa e erro mundo difícil de entender Hoje Software: item de maior custo Hardware: mais barato e poderoso Preocupação: Por que demora tanto para a conclusão de um programa? Por que custos tão elevados? Por que não se descobre todos os erros ANTES? Por que a dificuldade em medir o progresso do software enquanto está sendo desenvolvido? A Importância do Software na História Anos 80: Avanços na área de microeletrônica (VLSI); Barateamento do hardware; Disseminação do uso de computadores; Surgimento de novas áreas de aplicação; Resultado: software - fator que diferencia Aumento da procura por software; Aumento da complexidade dos softwares. Aumento nos custos de produção e no preço final.