Fabrício Costa Santana professorfabricio.net [email protected] Ementa: ◦ Visão geral de um sistema. Conceito de sistemas. Sistemas de informação. Análise de sistemas. Estudo do ciclo de vida de um sistema. Metodologias de desenvolvimento de sistemas. Técnicas de Entrevistas e de Coleta de Dados. Análise estruturada de sistemas. Ferramentas da Análise Estruturada. OBJETIVO GERAL ◦ Capacitar o aluno a utilizar adequadamente as ferramentas da análise estruturada e projeto estruturado nas fases de desenvolvimento de modelos corretos de sistemas. Apresentar ao aluno as etapas seguidas pelo analista de sistemas na construção de um modelo do sistema até a sua implementação, usando essas técnicas. Deverá também saber como e quando utilizar as ferramentas de análise e projeto estruturados. OBJETIVOS ESPECÍFICOS ◦ Compreender, de forma integrada, a natureza dos sistemas de informação, sua importância para as organizações para uma melhor compreensão do papel dos profissionais que atuam nessa área; ◦ Utilizar o pensamento sistêmico na solução de problemas, dando condições para que este apresente propostas de pesquisa e desenvolvimento na área de sistemas de informação; ◦ Ter uma visão clara de um sistema, com suas etapas de desenvolvimento e a complexidade implícita em cada uma delas; ◦ Entender e saber aplicar as ferramentas de análise estruturada de sistemas; ◦ Dominar as técnicas da análise essencial. YOURDON, Edward. Análise estruturada moderna. Rio de Janeiro: Campus, 1990. 836p. GANE, Chris; SARSON, Trish. Análise estruturada de sistemas. Rio de Janeiro: LTC, 1995. 257p. MARTIN, James; McCLURE, Carma. Técnicas estruturadas e CASE. São Paulo: Makron Books, 1991. 854p. DeMARCO, Tom. Análise estruturada e especificação de sistemas. Rio de Janeiro: Campus, 1989. HEUSER, Carlos. Projeto de Banco de Dados. 1998 Conjunto de elementos interdependentes (entidades relacionadas), ou um todo organizado, ou partes que interagem formando um todo unitário e complexo desenvolvendo atividades ou funções para atingir um ou mais objetivos. O objetivo é a própria razão de existência do sistema É tudo aquilo que o sistema necessita como material de operação e é obtido no meio ambiente com o qual interage. É a energia que entra no sistema. Transformação de um insumo (entrada) em um produto, serviço, ou resultado (saída). Este processo é a maneira pela qual os elementos componentes de um sistema interagem no sentido de produzir as saídas desejadas. São os resultados do processo de transformação das entradas; É o produto final do processamento que será colocado no meio ambiente em que o sistema se insere; É a forma de o sistema influenciar o meio. A retroalimentação pode ser considerada como a reintrodução de uma saída sob a forma de informação. Essa realimentação é um instrumento de regulação retroativa, ou de controle, em que as informações realimentadas são resultados das divergências verificadas entre as respostas de um sistema e os parâmetros previamente estabelecidos. Padaria Construção Consultório Médico Sistemas Naturais Sistemas Feitos Pelos Homens Conceito: ◦ “Sistemas feitos pelo homem, que interagem com ou são controlados por um ou mais computadores” (YOURDON, Edward) Sistemas Sistemas Sistemas Sistemas Sistemas Batch On-line de Tempo Real de Apoio à Decisão Baseados no Conhecimento 1. 2. 3. 4. Quanto mais especializado é um sistema, menos capaz ele é de se adaptar a circunstâncias diferentes. Quanto maior for um sistema, maior o número de recursos que serão necessários à manutenção diária. Os sistemas sempre fazem parte de sistemas maiores e sempre podem ser divididos em sistemas menores. Os sistemas crescem Um sistema de informação é um conjunto organizado de elementos, podendo ser pessoas, dados, atividades ou recursos materiais em geral. Estes elementos interagem entre si para processar informação e divulga-la de forma adequada em função dos objetivos de uma organização. Hardware Software Dados Procedimentos Peopleware Estratégico Tático Operacional Sistema de Processamento de Transações ◦ ◦ ◦ ◦ Dados reais e precisos. Saída: relatórios analíticos Frequência: periódica Ex: faturamento, estoque, contabilidade Operacional Sistema de Controle Operacional ◦ Supervisão ◦ Compara o realizado com o previsto Tático ◦ Relatórios consolidados ◦ Frequência: periódica ◦ Ex: custos, planejamento e controle de produção Sistema de Apoio à Decisão ◦ Média Gerência ◦ Análise matemática e estatística dos dados Tático ◦ Saída: gráficos e tabelas ◦ Frequência: a pedido ◦ Ex: simulação de cenários, análise de investimentos Estratégico Sistema de Planejamento Estratégico ◦ Alta administração ◦ Analisa os fatores críticos de sucesso ◦ Trabalha com projeções a longo prazo e tendências do mercado ◦ Saídas: gráficos e tabelas sofisticados ◦ Frequência: a pedido ◦ Ex: sistemas de informações executivas, BI Usuários Gerente de Projeto Auditores, Controle de Qualidade e Padronizadores Analista Projetista Programador Operador Para quem o sistema é construído; O analista deve manter contato constante com eles; A frase “o cliente tem sempre razão” deve ser respeitada; Devem ser chamados de Clientes ou Proprietários. Operadores ◦ Têm visão local, isto e, não conhecem o processo de forma global ◦ Responsáveis por executar as funções do sistema ◦ Têm uma visão fisica do sistema, ou seja, imaginam o funcionamento do sistema considerando a tecnologia de implementação Supervisores ◦ Podem ou não ter uma visão local ◦ Geralmente conhecem as operações pois muitos já foram Utilizadores operadores. Além disso, têm que supervisionar os Utilizadores operadores ◦ Orientado por considerações orçamentais (reduzir o quadro de funcionários ou aproveitá-los melhor) ◦ Normalmente agem como intermediários em relação aos níveis mais elevados Executivos ◦ ◦ ◦ ◦ ◦ Não têm experiência operativa Têm a iniciativa do projeto Possuem uma visão global Têm preocupações estratégicas Capazes de lidar com modelos abstratos Amador ◦ Nunca trabalhou com um computador ◦ Tem dificuldade para entender os modelos produzidos pelos analistas ◦ Receia ser substituído pelo sistema ou ter sua importância minimizada Novato arrogante ◦ Participou de alguns projetos ◦ Possui ou trabalha com computadores ◦ Por conhecer algumas ferramentas, gosta de opinar sobre as tecnologias a serem usadas para implementar o sistema Experiente ◦ Conhecem a análise de sistemas ◦ Têm experiência de outros projetos ◦ Discutem sobre as técnicas de modelação sendo utilizadas Principais funções: ◦ Gerenciar e alocar recursos de toda a equipe técnica ◦ Prestar contas junto à administração superior ◦ Encaminhar problemas identificados no decorrer do projeto Responsáveis por garantir que o sistema será desenvolvido de acordo com os vários padrões internos e externos da organização, especialmente aqueles voltados à segurança e ao controle de qualidade do produto final. O analista de sistemas precisa ter aptidões interpessoais (além do conhecimento da tecnologia), ou seja, deve falar com outras pessoas usando a “linguagem” que elas usam, para não ser considerado amedrontador ou alienígena. Desempenha vários papéis: ◦ ◦ ◦ ◦ Arqueólogo e escriba Mediador Inovador Líder de projeto Características de um bom analista: ◦ Possui habilidade com pessoas. ◦ Possui conhecimento de aplicações (ajuda a compreender a empresa do usuário). ◦ Possui habilidade em tecnologia. ◦ Mente lógica e organizada (visualizar o sistema sob diferentes perspectivas). Tem a função de transformar os requisitos dos usuários, modelados pelo analista de sistemas, em um projeto implementável em um computador. Normalmente o analista e o projetista são a mesma pessoa, ou membros do mesmo grupo de pessoas. O analista de sistemas deve fornecer informações suficientemente detalhadas para que o projetista elabore um projeto tecnologicamente bom. O projetista deve fornecer informações suficientes para que o analista possa dizer se os requisitos dos usuários podem ser completamente atendidos ou devem ser modificados. Responsável por codificar e testar (usando uma linguagem de programação) os módulos do sistema modelados pelos projetistas. Em um cenário ideal, o programador não deveria ter contato com o analista já que se baseia apenas no trabalho feito pelo projetista. Pessoa encarregada de operar os computadores, da rede, da segurança do hardware e das bases de dados, da execução dos programas e da saída das impressoras. Conceito: Estudo de um problema, que antecede à tomada de uma decisão/ação (antes de passar à sua resolução). Em Sistemas de Informação: Estudo de alguma área de trabalho ou de uma aplicação, descrição das suas características e funcionalidades, levando geralmente à especificação de um novo sistema. Análise Estruturada: É a utilização de ferramentas que permitem a especificação formal dos requisitos do sistema a ser desenvolvido. Etapa onde ocorre uma análise detalhada dos requisitos levantados; São construídos modelos para representar o sistema a ser desenvolvido; Uma especificação formal dos requisitos é produzida, representando todos os requisitos analisados; Uma revisão da especificação é realizada, de forma a garantir que a mesma esteja completa, consistente e precisa quanto às informações nela apresentadas. O Domínio da Informação de um problema precisa ser representado e entendido; As funções a serem desenvolvidas pelo sistema devem ser definidas (modelos devem ser desenvolvidos descrevendo a informação, a função e o comportamento do sistema); Os modelos devem ser particionados de modo que revelem detalhes em forma de camadas; O processo de análise deve ir da informação essencial até os detalhes de implementação. É uma representação em pequena escala de um objeto que se pretende executar ou reproduzir em tamanho natural. Mapas: modelos bidimensionais do mundo em que vivemos; Globos: modelos tridimensionais do mundo em que vivemos; Pautas musicais: representações gráficas / textuais das notas musicais; Desenhos arquitetônicos: planta de uma casa, ou edifício, ou ponte...; Fluxograma: representações esquemáticas de decisões e seqüência de atividades para execução de algum procedimento. “... podemos construir modelos de maneira a realçar ou enfatizar certos recursos decisivos do sistema, enquanto, simultaneamente, podemos ignorar outros aspectos do sistema. Isto permite que nos comuniquemos com o usuário de uma maneira clara...” Edward Yourdon Entidade Relacionamento Diagrama de Fluxo de Dados Especificação de Processos Dicionário de Dados Percepção de que o mundo real é formado por um conjunto de objetos chamados entidades e pelo conjunto dos relacionamentos entre estes objetos. Mostram as funções e sub-funções que transformam o fluxo de dados. Fornecem uma indicação de como os dados são transformados. É uma listagem organizada, com descrições de todos os elementos de dados pertinentes ao sistema. Fazer uso de ferramentas, facilitando a comunicação com o usuário e a organização das informações; Retirar a redundância do documento gerado (especificação estruturada); Substituir o excesso de texto do documento gerado, por gráficos; Tornar mais fácil o processo de manutenção, após a codificação. Possibilidade de focalizar a atenção nas características importantes do sistema, deixando um pouco de lado as menos importantes; Discutir modificações e correções nos requisitos do usuário com baixo custo e mínimo risco; Mostrar ao usuário o sistema que será implementado de forma mais clara e objetiva. Descrever o que o cliente deseja; Estabelecer uma base para a criação de um projeto do sistema; Definir um conjunto de requisitos que possa ser validado quando o sistema for construído.