Centro Universitário Nove de Julho Diferença entre as abordagens: Análise Estruturada Análise Essencial Engenharia da Informação Análise Orientada a Objeto Profº. Edson Tarcísio França edson.franca@uninove.br etfranca 2-1
As dificuldades com a Análise de Sistemas O desconhecimento do Analista Dificuldade em conhecer a empresa e o trabalho do usuário O Analista não possuem o dom da telepatia Gerentes executores ao invés de explicadores O desconhecimento do Usuário Usuário em geral não sabem o que é ou não viável Ausência de um Modelo Tecnologia Como distinguir a floresta das árvores Analista sobrecarregado com detalhes Necessidade de um esquema para organizar os detalhes O métodotop-down, Bottom-up, Middle-up A dificuldade da documentação Especificação do Sistema = Contrato Difícil de ser entendido pelo usuário O projeto físico prematuro A importância dos requisitos lógicos O projeto físico prematuro normalmente resulta em um projeto de qualidade inferior etfranca 2-2
ABORDAGENS METODOLÓGICAS Engenharia da Informação Essencial Estruturada Orientação a Objeto etfranca 2-3
Visão Geral - DESENVOLVIMENTO DE SISTEMAS Época Enfoque Abordagem Análise Estruturada Análise Essencial Engenharia da Informação Análise Orientada a Objetos Década de 70 Yourdon,DeMarco, Gane, Sarson, Constantine Década de 80 McMenamim, Palmer Década de 80 James Martin, Clive Finkelstein Década de 80/90 Jacobson,Rumbaugh, Booch,OMT,UML 1. Processos 2. Controles 3. Dados 1.Controles 2. Processos 3. Dados 1. Dados 2. Processos 3. Tecnologia 4. Pessoas 1. Dados 2. Controles 3. Processos Top-Down Decomposição Funcional Middle-up Lista de Eventos Top-Down Planejamento Estratégico Bottom-up Definição objetos/classe etfranca 2-4 DADOS - O que será utilizado para fazer CONTROLES - Quando será feito(respostas a eventos) PROCESSOS - O que será feito TECNOLOGIA - Recursos operacionais PESSOAS - Número e Perfil
Análise Estruturada! Método Top-Down! Permite ver o sistema por inteiro e depois que se perceba o detalhe de cada parte! Estruturação do Conhecimento! Princípios : Abstração - Dividir-para-Conquistar! Técnica de Modelagem Funcional (DFD)! Técnica de Descrição de Programas (DEM)! Técnica de Modelagem de Dados(MER) Problema do Mundo Real Modelagem do Problema Especificações É gráfica, composta em sua maior parte de diagrama É particionada, não uma especificação única, mas uma rede de mini-especificações É top-dowm, apresentada em um modo hierárquico com sua progressão do mais resumido ao mais detalhado etfranca 2-5
Análise Essencial! Modelo quinta-essência ( Negócio)! Essência do Negócio! Atividades Fundamentais X Custodiais! Consolidação e fatoração de funções! Tecnologia perfeita(dentro do escopo)! Tratamento de Processo X Eventos(Unidade Funcional) etfranca 2-6
Análise Essencial DEVEMOS COMEÇAR A ESPECIFICAÇÃO DE UM SISTEMA PELA IDENTIFICAÇÃO DOS EVENTOS QUE O AFETAM. Análise Essencial Modelo Essencial Modelo de Implementação!Modelo Essencial apresenta o sistema num grau de abstração completamente independente de restrições tecnológicas.!modelo Implementação apresenta o sistema num grau de abstração completamente dependente de restrições tecnológicas. É derivado do modelo essencial. Diz respeito a implementação do sistema. etfranca 2-7
Análise Essencial Pessoas Máquinas Encarnação Essência Atividade Essenciais Terminologia Papel Meio Magnético Neurônios Memória Essencial etfranca 2-8
Engenharia da Informação FASES Análise de Informações Identificar e documentar os dados necessários para o alcance dos objetivos estratégicos da empresa. Produz o modelo de dados mais generalizado contendo as Entidade de Dados em nível de negócio Planejamento de Informação Definir e priorizar as necessidades relacionadas aos sistemas de informações que apoiarão os negócios da área ou empresa Análise de Dados Detalhar e normalizar os modelos etfranca 2-9
Engenharia da Informação FASES Formação de Procedimento Define os procedimentos de manutenção das Entidades dos Modelos de Dados Os Procedimentos são produzidos baseados em ocorrências de eventos de modificação, deleção e inclusão em Entidades e Relacionamentos. Dentro de cada procedimento são definidos os eventos em seqüência, as condições de pré-evento e as condições de pós-evento etfranca 2-10
Engenharia da Informação FASES Análise de Dados Visa complementar a parte funcional com definições dos procedimentos de uso(substitutivo do lado funcional da análise de sistemas) Análise de Distribuição Produz um plano de distribuição geográfica dos dados e funções e, com a tendência de processamento descentralizado; é fundamental na determinação dos recursos e estratégias para a base de dados distribuídas em ambientes cliente/servidor etfranca 2-11
Engenharia da Informação FASES Projeto de Bancos de Dados Contempla as atividades de tradução dos modelos de dados para os modelos de implementação Projeto e definição do sistemas Esta fase enfatiza as atividades de modularização de procedimentos em rotinas, programas, tasks, menus etfranca 2-12
Engenharia da Informação PESSOAS ATIVIDADES TECNOLOGIA A B C D E DADOS etfranca 2-13 A - Planejamento B - Análise C - Projeto D - Construção E - Manutenção
Análise Orientada a Objetos AMBIENTE SEM TECNOLOGIA OO! Conceitos de Objeto(Dados + Métodos + Mensagens) nível de abstração! Enfoque a Objeto / Evento para estruturação das funções! Conceitos de Herança e Encapsulamento! Visão de Reusabilidade (Função e Código)! Interface com o usuário AMBIENTE COM TECNOLOGIA OO(Complemento)! Implementação de Classes de Objetos, encapsulamento e Tipos de Dados! Exploração do conceito de herança e polimorfismo! Exploração Total de Reusabilidade etfranca 2-14
Análise Orientada a Objetos - UML Objetivos! Servir como linguagem de construção de modelos, utilizável tanto por pessoas como por máquinas! Modelar qualquer tipo de sistema usando conceitos OO! Estabelecer um acoplamento explícito tanto para artefatos conceituais como para artefatos executáveis! Compreender os aspectos de escala inerentes em sistemas complexos de alta criticidade etfranca 2-15
Análise Orientada a Objetos Sistemas Orientado a Objetos Visualização : Qualquer SOO pode ser visualizado como um conjunto de objetos inter-relacionados que interagem dinâmica e colaborativamente por meio de mensagens para efetuar tarefas de um domínio de problemas Obj-1 Obj-2 Obj-3 Obj-4 etfranca 2-16
Análise Orientada a Objetos Comunicação entre Objetos! Objetos reagem a estímulos comunicando e interagindo por meio de mensagens Essência da Tecnologia OO " Uma determinada operação de um objeto é ativada se o objeto receber uma mensagem cujo nome é o nome da operação " Para usar um objeto é necessário enviar uma mensagem ao objeto, viável com o conhecimento de seus atributos e operações etfranca 2-17
MODELO DE VISÃO - UML : DIAGRAMAS Visão Lógica Diagrama de Classes Diagrama de Objetos Diagrama de Interação Diagrama de Estado Diagrama de Atividade Visão da Implementação Diagrama de Componentes Visão Caso de Uso Diagrama de Caso de Uso Diagrama de Atividade Visão do Processo Diagrama de Interação Diagrama de Estado Diagrama de Atividade Diagrama de Componentes Diagrama de Deployment etfranca 2-18 Visão da Arquitetura Diagrama de Deployment
Modelos e Diagramas Um Modelo é uma descrição completa de um sistema de uma perspectiva particular Diagramas de Seqüência Diagramas de Caso de Uso Diagramas de Classe Diagramas de Objeto Diagramas de Colaboração Modelos Diagramas de Componentes Diagramas Estados Diagramas de Atividade Diagramas de Arquitetura etfranca 2-19
Comparativo Use Cases #Diagrama ocupa muito espaço #Não especifica o conteúdo dos fluxos de entrada e saída #Atores são os que interagem diretamente com sistema #Use Cases indicam situações de uso do sistema (transações) Diagrama de Contexto #Diagrama mais compacto #Especifica o conteúdo dos fluxos #Entidade Externas são a origem e o destino dos fluxos e não necessariamente interagem com sistema #Eventos indicam fatos que acordam o sistema e provocam alguma resposta etfranca 2-20
Comparativo Objetos Entidades #Conhecimento e comportamento #Não obrigatoriamente normalizados #Ativos #Relacionamento N.N só se tornam objetos se tiverem um comportamento próprio #Relacionamentos não possuem atributos #Podem corresponder a várias tabelas #Dados #Normalizadas #Passivo #Relacionamento N:N torna-se Entidade associativa #Relacionamentos podem possuir atributos #São implementados por uma única tabela etfranca 2-21
Bibliografia Larman, Craig Utilizando UML e padrões : uma introdução à análise e ao projeto orientados a objeto, Porto Alegre : Bookman, 2000 Barbieri, Carlos Modelagem de Dados, Rio de Janeiro: Infobook, 1994 Neto, A. F., Furlan, J. D.,Higa Engenharia da Informação: Metodologia,Técnicas e Ferramentas, São Paulo:McGraw-Hill, 1988 Pompilho, S. Análise Essencial: Guia Prático de Análise de Sistemas, Rio de Janeiro : Infobook, 1994 etfranca 2-22