Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Aula 2- Paradigmas de Análise Prof. Marcelo Vasques – mvasqueso@gmail.com Conteúdo Programático desta aula Conceitos e os principais paradigmas de Analise de Sistemas. Evolução histórica dos paradigmas de análise de sistemas, identificando os problemas de cada um, propiciando o surgimento do próximo. Principais características e ferramentas (modelos) das Análises Tradicional, Estruturada, Essencial e Orientada a Objetos. Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS INTRODUÇÃO A CADA NOVA LP, UM PROBLEMA A partir da solidificação de uma linguagem de programação para um determinado paradigma, surgia um novo problema: - Como representar as especificações de análise e projeto em congruência com as técnicas e linguagens de programação do novo paradigma? RESP: Demanda para novo paradigma para especificar os requisitos Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS O PROCESSO DE DESENV DE SW Várias ETAPAS, independente do processo de desenvolvimento de software. São vários processos distintos. Mas as fases : ANÁLISE, PROJETO (DESIGN) E PROGRAMAÇÃO Análise: Requisitos – O que fazer. Projeto: Como fazer. Tecnologia Programação: depende das LPs Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS O CONTEXTO DA ANÁLISE DE SISTEMAS Uma das principais fases Estudo do problema. Identificar Requisitos O QUE o Sistema deve fazer T E C N O L O G I A I N D E P E N D E Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISTAS DE SISTEMAS Aptidão do Analista Entender os usuários Especificar para os desenvolvedores Problema: Usuários !!! Ninguém me entende !!! Não era isso que eu queria !!! Usuários Analistas de Sistema Equipe de Desenvolvimento Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMAS DE ANÁLISE Relação com paradigmas de Programação Paradigmas de Analise em função da complexidade dos sistemas PARADIGMAS de Análise de Sistemas Análise Funcional Análise Orientada a Objetos Análise Estruturada Análise Essencial Análise Tradicional Paradigma de Análise Técnica de Programação Paradigma de LPs Análise Tradicional Programação Linear e Modular Imperativo e Funcional Análise Estruturada Programação Estruturada Lógica de predicados Imperativo Lógico Análise Essencial Programação Estruturada Imperativo Análise Orientada a Objeto Programação Orientada a Objeto Orientado a Objeto Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE TRADICIONAL Documento Textual Descrição do sistema e suas partes (sub sistemas) Eventualmente uso de Fluxograma (programação) Abordagem voltada a perspectiva das funcionalidades, dos programas (inicio não havia equipe de desenvolvimento) Paralelo: LPs imperativas de 3ª. Geração Programas não estruturados e com uso de GOTO (desvio condicional) A medida em que os sistemas crescem, nascem as equipes e começam os problemas com esse paradigma Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA Início da década de 70 LPs estruturadas (3ª geração) Refinamentos sucessivos e uso de 3 tipos de processamento Aumento da complexidade DIAGRAMAS Entendimento da EQUIPE Divisão do processo de desenvolvimento de sistema em FASES Nova perspectiva: funções (analise tradicional) + DADOS Modelos GRAFICOS DFD (Diagrama de Fluxo de dados) Complementos : DD (Dicionário de dados) + Especificação da lógica dos processos. Aumenta complexidade surgem equipes de desenvolvimento e necessidade de estruturar especificações Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA: DFD EM NÍVEIS Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA: pROCESSOS Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA: Dicionário de Dados Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA: ANALISE ESSENCIAL Problemas da Análise Estruturada Por onde começar a fase de Análise? Separação entre aspectos físicos (tempo, forma de fazer) e lógicos DFD nível zero: principais funções do sistema (subjetividade) DFD: pouca ênfase a análise de dados DFD diferente, quando feito por pessoas diferentes (subjetividade) Surge ANÁLISE ESSENCIAL Conceito de EVENTO e Lista de Eventos que afetam o Sistema Resolve problema: Por onde começar a fase de análise? Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: CONCEITO DE EVENTO EVENTO = acontecimento (externo ou temporal) que afeta o sistema, que reage disparando uma função Ora se queremos descobrir as funções descobrir os eventos Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: CONCEITO DE EVENTO Preservou os modelos de DFD, DD e especificação dos processos Agregou Modelo de dados MER (Modelo de Entidade e Relacionamento) Agregou Modelo de Controle DTE (Diagrama de Transição de Estado) Como resolveu os problemas Tecnologia Perfeita Separação entre aspectos físicos e lógicos Principais funções minimizou, pois todos tem que achar a mesma lista de eventos MER Pouca ênfase a análise de dados Não resolveu Um DFD desenvolvido com a técnica de análise estruturada sempre é diferente se feito por profissionais diferentes Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: LISTA DE EVENTOS Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: DFD POR EVENTO Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: MER (MODELO DE DADOS) Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS A CRISE DO SOFTWARE Estávamos no auge da crise do software e os problemas mais contundentes da época eram: Duplicação de esforços na construção do software Dificuldade em estimar (poucos dados inciais) Não cumprimento de prazos (cronograma) de desenvolvimento Alto Custo de desenvolvimento (tempo e mão de obra) Software não atende aos requisitos Alto custo de manutenção. Alto volume de documentação demandada pelos sistemas e dificuldade em mantê-los atualizados durante a fase de manutenção. Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS O CONCEITO DE OBJETO COMO SOLUCAO DOS PROBLEMAS O conceito de objeto vem de encontro do que se precisa em termos de melhorias na implementação do código e potencializa a solução dos problemas que são apresentados a seguir, na medida em que: Facilita o controle da complexidade inerente ao software Promove a reusabilidade componentes de código reutilizáveis Promove o desenvolvimento de sistemas de fácil manutenção, como consequência dos dois itens acima. Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA ORIENTADO A OBJETO A Analise Essencial e Estruturada viam o sistema sob duas perspetivas isoladas dados e funcoes A orientação a objetos integra essas perspectivas no objeto Módulo Classe Procedimento Dados Atributos Métodos Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA ORIENTADO A OBJETO Muda a forma de pensar e estruturar o sistema Não há como usar Analise Essencial ou Estruturada Ideia conjunto de objetos que se relacionam Tarefa de analise identificar objetos e seus relacionamentos Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ELEMENTOS DO PARADIGMA O.O Objeto: Representam as “coisas” a serem modeladas do mundo real. Um objeto pode ser algo concreto como um carro, um aluno ou algo abstrato como uma disciplina. Mensagens: quando um outro objeto deseja que seja executada uma operação, da responsabilidade de outro objeto, ele manda uma mensagem a esse objeto Atributos: São dados que caracterizam o objeto. Métodos : É um procedimento (implementado por uma rotina ou função) que executa uma operação em um objeto e define parte de seu comportamento. Classes: É um conjunto de objetos com as mesmas características (atributos e métodos). Por exemplo, os objetos IX35 e Sportage são objetos da classe CARRO, cujas características em comuns são: Atributos: Modelo Fabricante, Ano de fabricação, portas, dentre outros Métodos: Incluir Carro, Vender carro, dentre outros. Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS CARACTERISTICAS PARADIGMA OO Encapsulamento: Encapsular significa esconder, ou seja, o objeto esconde seus dados do acesso indevido de outros objetos e somente permite que eles sejam acessados por operações implementadas pelos seus próprios métodos O encapsulamento é uma técnica para minimizar a interdependências entre as classes, pois apenas os métodos da respectiva classe podem alterar seus dados (atributos), facilitando a identificação de erros e a alteração dos programas. Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ENCAPSULAMENTO: PROTEÇÃO DOS DADOS Os atributos ficam protegidos. Só os métodos da classe tem acesso. DADOS PRIVADOS OU PROTEGIDOS Operação Operação Operação Operação Método Método Método Método Atributos Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Herança: mecanismo para derivar novas classes a partir da definição de classes existentes através de um processo de refinamento. Uma classe derivada ou descendente herda os dados (atributos) e comportamento (métodos) da classe base ou ancestral ou ascendente. A implementação da herança garante a reutilização de código, que além de economizar tempo e dinheiro, propicia mais segurança ao processo de desenvolvimento , posto que as funcionalidades da classe base já foram usadas e testadas. CARACTERISTICAS PARADIGMA OO Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Polimorfismo: significa “muitas formas”. A partir do momento em que uma classe herda atributos e métodos de uma (herança simples) ou mais (herança múltipla) classes base, ela tem o poder de alterar o comportamento de cada um desses procedimentos (métodos). Isso amplia o poder do reaproveitamento de código promovido pela herança, permitindo que se aproveite alguns métodos e se altere (redefina) outros. Dessa forma um método com mesmo nome em classes distintas pode ter diferentes comportamentos. Exemplo no quadro. CARACTERISTICAS PARADIGMA OO Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS PARADIGMA ORIENTADO A OBJETO VANTAGENS OBTIDAS Reusabilidade: softwares podem ser escritos com base em componentes já existentes. Extensibilidade: novos componentes de software podem ser desenvolvidos a partir de outros, já existentes sem afetar o comportamento do componente de origem. Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS MODELAGEM O.O Inicialmente vários especialistas criaram diferentes diagramas de análise e projeto OO. Num dado momento tais profissionais se juntaram e com o melhor de cada um criaram uma linguagem de modelagem orientada a objeto, nascia a UML (Unified modeling language), : Diagrama de Casos de Uso Diagrama de Classes Diagrama de sequencia Diagrama de Atividades Diagrama de Implementação Diagrama de Componentes Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS RESUMO DOS PARADIGMAS DE ANALISE Paradigma (Técnica) de Análise Abordagem Sistêmica Ferramentas e Modelos Base Análise Tradicional Funcional Textos Fluxogramas Análise Estruturada Funcional Dados Diagrama de Fluxo de dados Dicionário de dados Especificação de Processos Diagrama de Estruturas de dados Análise Essencial Funcional Dados Controle Um modelo para cada perspectiva Tabela de Eventos Diagrama de Fluxo de dados Dicionário de dados Especificação de processos Diagrama de Estrutura de dados Diagrama de entidade e relacionamento Diagrama de Transição de estados Análise Orientada a Objetos Funcional Dados Controle Integrados em único modelo Diagrama de Casos de Uso Especificação dos casos de uso Diagramas de Classes Diagrama de Sequencia Diagrama de Estados Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS
Compartilhar