Baixe o app para aproveitar ainda mais
Prévia do material em texto
PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS Aula 2- Paradigmas de Análise Prof. Marcelo Vasques – mvasqueso@gmail.com Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS 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. Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA: DFD EM NÍVEIS Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA: pROCESSOS Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESTRUTURADA: Dicionário de Dados Tema da Apresentação 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? Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: LISTA DE EVENTOS Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: DFD POR EVENTO Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS ANALISE ESSENCIAL: MER (MODELO DE DADOS) Tema da Apresentação 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. Tema da Apresentaçã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. Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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. Tema da Apresentação 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. Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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 Tema da Apresentação 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. Tema da Apresentação 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 Tema da Apresentação Paradigmas de Análise – AULA2 PARADIGMAS DE ANÁLISE E DESENVOLVIMENTOS RESUMO DOS PARADIGMAS DE ANALISE Tema da Apresentação
Compartilhar