Desenvolvimento estruturado versus orientado a objetos.



Documentos relacionados
UML e a Ferramenta Astah. Profa. Reane Franco Goulart

REQUISITOS DE SISTEMAS

2 Engenharia de Software

Orientação a Objetos I

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Modelagem de Processos. Prof.: Fernando Ascani

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Unidade II MODELAGEM DE PROCESSOS

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Guia de utilização da notação BPMN

Modelos de Sistemas. Leitura: Cap7: Sommerville; Cap: 7-8 Pressman; Cap3: Ariadne

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Fundamentos de Banco de Dados e Modelagem de Dados

Separação de Interesses Programação Estruturada e Programação Orientada a Objetos Entrelaçamento de Código Espalhamento de Código

UML - Unified Modeling Language

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Diagramas de Casos de Uso

Introdução a UML. Introdução a UML (Unified Modeling Language)

3.1 Definições Uma classe é a descrição de um tipo de objeto.

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Modelagem de Sistemas

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Análise e Projeto de Software

Micro Mídia Informática Fevereiro/2009

UML Linguagem de Modelagem Unificada

MER Modelo de entidade e Relacionamento. Prof. Me. Hélio Esperidião

4.1. UML Diagramas de casos de uso

Apresentação da disciplina

Projeto de Banco de Dados. Disciplina: Banco de Dados I José Antônio da Cunha

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO

Análise e Projeto Orientados por Objetos

Wilson Moraes Góes. Novatec

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Linguagem de Programação I

A definição do escopo trata-se de um processo onde é realizada uma descrição detalhada do projeto e do produto a ser desenvolvido;

4- PROJETO DE BANCO DE DADOS

UML 04. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan.

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Programação Orientada a Objeto

3 Trabalhos relacionados

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Como e por que criar uma para sua empresa A PERSONA VECTOR

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

3. Fase de Planejamento dos Ciclos de Construção do Software

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Projeto de Sistemas I

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Prof. Me. Marcos Echevarria

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

A Linguagem de Modelagem Unificada

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Introdução a UML. Agenda. Definição Histórico Contribuições Diagramas Observações. Cleidson de Souza (Rodrigo Reis)

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Definir o espaço das informações das organizações; Realizar o detalhamento das análises dos fluxos de dados;

PROGRAMAÇÃO OO DIAGRAMA DE CLASSES. Engenheiro Anilton S. Fernandes (asfernandes.com) Janeiro 2012

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: BDA1-3º SEMESTRE. Modelagem de Dados

Especificação Operacional.

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

UML: Diagrama de Casos de Uso, Diagrama de Classes

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

MODELAGEM DE SISTEMAS

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Roteiro. Modelagem de Dados: Usando o Modelo Entidade-Relacionamento. BCC321 - Banco de Dados I. Processo de Projeto de Banco de Dados.

Análise e Projeto Orientados a Objeto

Hélio Engholm Jr. Novatec

ATENAS: Um Sistema Gerenciador de Regras de Negócio

Modelo Relacional. 2. Modelo Relacional (Lógico)

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

PROVA DISCURSIVA (P )

Professor: Curso: Disciplina: Aula 4-5-6

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Uma Abordagem usando PU

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Professor: Rômulo César BPMN

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

III. Projeto Conceitual de Banco de Dados. Pg. 1 Parte III (Projeto Conceitual de Banco de Dados)

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Integrando o Framework I* com a Gerência de Risco

Transcrição:

Desenvolvimento estruturado versus orientado a objetos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Objetivos Identificar diferenças entre: Desenvolvimento Estruturado Desenvolvimento Orientado a Objetos Vatangens e Desvantagens de cada abordagem 2

Estruturado? Qual o Foco? Funcionalidade Transformação dos dados As informações não estão agregadas, normalmente não possuem um autosignificado 3

Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle) O sistema é dividido em partições funcionais e comportamentais e descrevemos a essência do que deve ser construído Os primeiros trabalhos datam 1960 Ainda muito usada do final da década de 4

Análise Estruturada A modelagem cria uma série de ferramentas ou modelos para representação formal de certos aspectos do sistema Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento Diagrama de Transições de Estado Diagrama Estrutural 5

Diagrama de fluxo de dados Um DFD é uma técnica gráfica que descreve o fluxo da informação e as transformações sofridas por esta Pode ser utilizado para representar um sistema em qualquer nível de abstração Notação simples Nenhuma indicação explicita da seqüência é fornecida pelo diagrama 6

7 Exemplo de um DFD

Análise Estruturada Modelo E-R O modelo captura os dados e seus relacionamentos Essencial para entendimento das informações a serem armazenadas no sistema Em combinação com o DFD trazem uma visão consistente do sistema 8

Análise Estruturada Indique o que o sistema controla CPF nome telefone endereço chassi marca modelo anofabr Cliente (1,N) aluga (1,1) Automóvel data período Carro Caminhão Num_portas tipo 9

Dicionário de requisitos É uma listagem organizada de todos os elementos de dados que são pertinentes ao sistema Contém definições precisas e rigorosas, de forma que tanto o usuário como o analista tenham uma compreensão comum das entradas, das saídas, dos componentes dos depósitos de dados e até mesmo dos cálculos intermediários. 10

Vantagens e Desvantagens O foco na funcionalidade permite especificar melhor a mesma a linguagem se torna mais clara ao programador Como a modelagem é feita sobre processos, o cliente consegue entender a movimentação dos dados Diagramas ER e DFD muito úteis (para o desenvolvimento) 11

Vantagens e Desvantagens O significado do que o sistema faz para o usuário normalmente não é expresso de maneira simples: Ex: preciso de um sistema que controle todas as vendas dos meus produtos Ex: preciso de um sistema que controle o sistema acadêmico da universidade Ex: preciso de um sistema de controle de frequencia dos alunos da pós 12

Vantagens e Desvantagens Validação da modelagem com o usuário Será que um usuário comum entende um ER? Quanto mais o usuário entende do que está sendo feito, mais ele poderá opinar na modelagem Isso reduz a chance de eventuais problemas não encontrados! 13

Vantagens e Desvantagens Outros pontos: Muita documentação ou nenhuma Dificuldade de reaproveitamento de código Prazos curtos Custo elevado Principal: cliente insatisfeito 14

Em contrapartida Orientado a Objetos Foco nos objetos do mundo real Com suas características e funcionalidades O levantamento de requisitos já pensa nos objetos do mundo real Facilita o entendimento: O que vamos cotrolar? Resp: Nossos livros 15

Análise Orientada a Objetos Enxerga o mundo como objetos com estrutura de dados e comportamentos O objetivo é desenvolver uma série de modelos de análise, satisfazendo um conjunto de requisitos definidos pelo cliente 16

Conceitos fundamentais Classe Objetos Herança Encapsulamento Polimorfismo 17

Características Manutenibilidade Simplificação do mapeamento so mundo real Reusabilidade Pelos artifícios de análise Ganhos na produtividade Direto mapeamento pelas linguagens de programação OO 18

Métodos de análise Uma grande variedade de métodos de análise orientada a objetos foram desenvolvidos desde 1988. Porém, todos eles possuem características comuns entre si Representação de classes e hierarquias Criação de modelos de relacionamento de objeto Derivação de modelos de comportamento de objetos 19

Alguns métodos conhecidos Método de Booch Método de Jacobson Método de Rambaugh UML (Unified Modeling Language) Combina as notações dos métodos acima Linguagem consistente para especificação, visualização, construção e documentação Padrão adotado pela OMG (Object Management Group) 20

Vantagens e Desvantagens Diminuição do custo de desenvolvimento Reutilização de código Facilidade de manutenção Encapsulamento O cliente consegue compreender melhor a modelagem 21

Diferenças entre as metodologias A abordagem OO se preocupa primeiramente em identificar os objetos a partir do domínio da aplicação, para depois encaixar os funções ao redor destes objetos os conceitos de OO podem ser aplicados em todo o ciclo de vida do desenvolvimento do sistema. Uma pode ser detalhada a medida que o processo de desenvolvimento evolui 22

Benefícios da OO Podem representar melhor o mundo real Modelagem mais perfeita e natural A mesma é usada desde a análise até o projeto e a implementação, de modo que a informação adicionada em uma etapa do desenvolvimento não é necessariamente perdida ou traduzida para a etapa do seguinte 23

Benefícios OO Dedicação maior à fase de análise Ocorre uma redução na quantidade de erros com conseqüente diminuição do tempo despendido nas etapas de codificação e teste Os modelos espelham a estrutura e o comportamento dos objetos do negócio, diminuindo o abismo existente nas outras abordagens que tratam dados e funções separadas 24

Benefícios OO Redução no tempo de manutenção, pois as revisões são mais fáceis e mais rápidas já que o problema é mais bem localizado Favorece a reutilização Facilidade de extensão. A criação de novos objetos que se comuniquem com os já existentes não obriga o desenvolvedor a conhecer o interior destes últimos 25

Conclusão O DFD e principalmente o ER ainda é muito utilizado Existe uma empatia maior do engenheiro de software com o ER do que com o Diagrama de Classes O que precisamos fazer é conhecer as duas modelagens e utilizar a mais adequada ao momento. 26