220 likes | 342 Views
Sistema - Definição. No contexto geral: “um grupo de elementos interativos, inter-relacionados ou interdependentes que forma, ou parecem formar, uma entidade coletiva” ( The American Heritage Dictionary ) No contexto de desenvolvimento de software:
E N D
Sistema - Definição • No contexto geral: “um grupo de elementos interativos, inter-relacionados ou interdependentes que forma, ou parecem formar, uma entidade coletiva” (The American Heritage Dictionary ) • No contexto de desenvolvimento de software: “Um conjunto ou disposição de elementos que é organizado para executar certo método, procedimento ou controle ao processar informações.” (Webster’s)
Sistema - Definição • Sistemas são Interativos • baseados em estímulos (eventos) e respostas a estímulos • Evento - alguma mudança no ambiente onde o sistema está inserido • Externos -imprevisíveis • Temporais - previsíveis • Resposta - conjunto de ações realizadas pelo sistema quando ocorre um determinado evento • Ad-hoc - procedimento criado após a ocorrência do evento • Planejadas - procedimento de tratamento do evento conhecido previamente
Sistema - Definição • Sistemas são Seletivos • não reagem a todos os eventos gerados no ambiente • Sistemas devem ser Representados • através de uma linguagem formal • as respostas podem ser executadas por qualquer entidade ativa que entenda tal linguagem “entidade (ou coleção de entidades) que executa(m) ações predeterminadas sempre que ocorra um determinado evento que está fora de seu controle e cujas respostas planejadas podem ser representadas em uma linguagem que possa ser adotada por outras entidades ativas.”
Sistema - Elementos Procedimentos Hardware Documentos Entrada Saída Sistema Bases de Dados Software Pessoas
Sistema de informação: - Organização - Pessoas - Tecnologia - hardware - software - telecomunicações SISTEMA DE INFORMAÇÃO SGBD Programa de aplicação de BD Programa de aplicação de BD Programa de aplicação dados e regras
Sistema de Sistemas Sistema de Automação de fábrica Sistema de manufatura Sistema de estoque Sistema de informação Sistema de movimentação de material Célula de Manufatura Robôs Dispositivo de Entrada de Dados Máquina de Controle numérico
Mundo Real Desenvolver um projeto de sistema de informação consiste em traduzir um “problema” do mundo real numa “solução” que envolve a organização, pessoas e tecnologia (hardware e software). ?! SISTEMA DE INFORMAÇÃO SGBD Programa de aplicação de BD Programa de aplicação de BD Programa de aplicação dados e regras
SGBD Programa de aplicação de BD Programa de aplicação de BD Programa de aplicação dados e regras Mundo Real Desenvolvimento de Sistemas de Informação Coleta/Especificação de Requisitos Requisitos Funcionais Requisitos de Dados Projeto Conceitual Análise Funcional Projeto Lógico Projeto Funcional Projeto Físico Programação
Sistemas de Informação na Web Mundo Real Coleta/Especificação de Requisitos Requisitos Funcionais Requisitos de Dados Requisitos de Controle Projeto Conceitual Análise Funcional Modelagem e Projeto Dinâmico Projeto Lógico Projeto Funcional Projeto Físico Programação Middle Ware Middle Ware Programa de aplicação de BD Middle Ware Programa de aplicação de BD Aplicações Fontes de dados
Levantamento de Requisitos Pensando no problema… • Descrição do que será tratado pelo software • Descrição dos procedimentos atuais • Identificação dos usuários • Identificação das necessidades • Identificação dos desejos • Características não desejáveis!!! • Benefícios Esperados • Limitações • Estudo de viabilidade • Estabelecimento de prazos e custos
Análise de Requisitos - Objetivos Construindo a solução... O usuário é um especialista no problema e não na solução. É o analista que deve encontrar a solução sistêmica. • Criar uma representação do sistema que constitua a base para todo o trabalho de engenharia subsequente • Levantar a essência de um sistema • Funções: O que o sistema faz? • Dados: Que dados são usados pelo sistema ? • Controles (Eventos e Respostas): O que acontece quando ...? • Tornar comum o pensamento do usuário e o(s) do(s) analista(s) a respeito do sistema desejado
O Papel do Analista • Compreender as necessidades do usuário • Abstrair a essência do sistema • Representar a essência do sistema usando uma linguagem de representação comum • Comunicar estas necessidades aos demais desenvolvedores Necessidades Especificação Sugestões Adaptações Analista Equipe Usuário
Análise de Requisitos-Resultado • Especificação do Sistema • Essência do Sistema - Requisitos • Modelo do sistema • Um modelo de um sistema desempenha o mesmo papel de uma planta para uma casa. • É uma representação simplificada (mais barata) do sistema real • Serve: • para certificar requisitos junto ao cliente • como base para o projeto do sistema • avaliar a qualidade do sistema
Análise de Requisitos - Dificuldades • Em todo processo de comunicação há a introdução de ruídos, redundâncias e ambiguidades, interpretações errôneas • É muito comum entre os profissionais de informática a queixa de que o usuário não sabe o que quer • O usuário pode não saber o que quer, mas costuma saber o que não quer. • Dificuldades: • obter informações pertinentes • tratar a complexidade dos problemas • acomodar mudanças
Requisitos de um Sistema Requisito - característica ou capacidade que um sistema deve ter para cumprir sua finalidade, independentemente de como o sistema é implementado • Um princípio a ser seguido na especificação de sistemas é o de separar • a essência do sistema (independente de restrições tecnológicas) • de sua implementação ( “encarnação” dependente de tecnologia de hardware e software). • Conjunto de requisitos: essência do sistema
Vantagens: produtividade & qualidade facilidade de manutenção com a mudança de tecnologias reutilização Requisitos falsos X Requisitos verdadeiros Problemas de se levantar requisitos falsos má especificação aumento da complexidade omissão de requisitos verdadeiros sistema ineficiente baixa confiabilidade dificuldades de manutenção insatisfação do usuário atrasos esforço desnecessário pressões suspensão de projetos Requisitos de um Sistema
A Lógica do Sistema - Requisitos Lógicos • Conceito da tecnologia perfeita • Processamento e armazenamento perfeitos • sem limitações de capacidade, eficiência, custo • Esquecendo as limitações tecnológicas, podemos nos concentrar nos elementos que compõem a essência do sistema • Atividades fundamentais • Memória
Componentes da Essência de um Sistema • Atividades fundamentais • Executa uma tarefa que é parte da finalidade declarada de um sistema • justifica a existência de um sistema • Consiste em: • definição de um estímulo à atividade - circunstância sob a qual a atividade é executada • uma resposta planejada
Componentes da Essência de um Sistema • Memória Essencial • dados produzidos pelo sistema ou capturados do mundo exterior que são utilizados pelas atividades fundamentais do sistema. • As atividades fundamentais utilizam dados • Fontes: • do ambiente que gerou o evento • dados produzidos pela prórpia atividade ou por outras atividades do mesmo sistema. - armazenadas • Necessidade da memória essencial: • confiabilidade • segurança • conforto/usabilidade
Características Físicas do Sistema - Requisitos Físicos • Encarnação ou Implementação do sistema em respeito às limitações da tecnologia • Limitações da tecnologia: • custo • capacidade • aptidões • tolerância a falhas
Análise de Requisitos - Estratégia • Método - procedimento a ser adotado para se atingir um objetivo • decompõe um problema grande em vários problemas menores e mais fáceis de serem resolvidos. Isto possibilita o estabelecimento de metas mais concretas e mais fáceis de alcançar. • Técnica - modo apropriado de se investigar sistematicamente um determinado universo de interesse ou domínio de um problema. • Top-down - visões do sistema em diferentes níveis de abstração, partindo de um diagrama do nível mais geral e descendo a níveis cada vez mais detalhados, numa visão estratificada do sistema. Para se expressar, uma Técnica faz uso de uma Notação. • Notação-Conjunto de caracteres, símbolos e sinais formando um sistema convencionado de representação ou designação. • Deve ser buscada uma linguagem adequada para discutir as necessidades dos usuários e que, ao mesmo tempo, sirva também para comunicação entre técnicos de informática.