Padrões de Análise. Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, Osvaldo Kotaro Takai João Eduardo Ferreira

Tamanho: px
Começar a partir da página:

Download "Padrões de Análise. Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, Osvaldo Kotaro Takai João Eduardo Ferreira"

Transcrição

1 Padrões de Análise Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, 2000 última atualização: agosto 2005 Osvaldo Kotaro Takai João Eduardo Ferreira

2 Capítulo 1 - Introdução Modelos Conceituais

3 Fato Não existe consenso sobre a fronteira entre a análise e projeto

4 1º Princípio de Modelagem A estrutura de um projeto de software deve refletir a estrutura do problema

5 Modelos Conceituais 1 Resultado: modelos de análise e de projeto são muito parecidos. Conseqüência: pessoas acham que não existe diferença entre esses modelos; mas existe!

6 Modelos Conceituais 2 A diferença entre análise e projeto está na ênfase. Análise: Entender o problema. Não basta apenas criar uma lista de requisitos e use-cases. É necessário olhar além da superfície de requisitos e visualizar o mapa mental (o Modelo Conceitual) do que está se passando no problema. Projeto: Construir uma solução.

7 Exemplo 1 Para construir um programa que simule um jogo de sinuca poderíamos: especificar o sistema escrevendo use-cases. filmar centenas de jogadas e tentar simular os resultados no computador.

8 Exemplo 2 Mas, para escrever uma boa simulação, isso não seria suficiente. Precisamos entender o que está se passando subjacente daquilo que estamos observando; Precisamos de um modelo conceitual para explicar as leis do movimento que relacionam massa, força, velocidade, etc.

9 Exemplo 3 Para isso, podemos usar um modelo: newtoniano da física clássica ou einsteiniano baseado na física moderna. Provavelmente o modelo newtoniano seria mais apropriado, pois é mais simples embora menos exato. Um purista poderia dizer que o modelo einsteiniano seria mais apropriado, pois o código poderia ser reutilizado em um programa para simular colisões entre átomos.

10 Exemplo 4 Acrescentar flexibilidade demais a um sistema é ruim pois pode elevar a complexidade. Portanto, escolha o modelo mais simples e que atenda às suas necessidades. Trata-se da escolha custo/benefício, no qual o domínio de aplicação define a abordagem simples ou mais complexa.

11 2º Princípio de Modelagem Modelos não são certos ou errados; apenas são mais ou menos apropriados Cuidado! Normalmente, o modelo simples não é o primeiro que vem em nossa mente. Vale a pena investir tempo para simplificar nossos modelos.

12 Expressar Modelos Conceituais Modelos conceituais podem ser expressos através de linguagens de programação. Vantagens: podemos executar os modelos para verificar sua exatidão e explorá-lo. simplificação do processo de transformação do modelo para a linguagem-alvo. Desvantagens: perigo de desviar-se do objetivo de entender o problema por perder-se nos detalhes da linguagem. modelos podem usar características de linguagem de modelagem que não estão presentes na linguagem-alvo.

13 Técnicas de Análise e Projeto Devido a esses problemas, utilizamos técnicas de análise e projeto para criar modelos conceituais. Tais técnicas: nos ajudam a concentrar nos conceitos ao invés de nos detalhes de projeto de software. para serem mais expressivos, usam gráficos. podem ser utilizados em conjunto com uma linguagem de programação, não necessitando que sejam muito rigorosos. são fáceis de serem compreendidas por especialistas de domínio.

14 Especialistas de Domínio É essencial que especialistas do domínio estejam envolvidos na modelagem conceitual, pois são os únicos que, de fato, entendem o domínio. Dificilmente um analista de sistemas substituiria um especialista de domínio na modelagem conceitual. O conhecimento de especialistas é central para um bom modelo de análise.

15 As Técnicas de Análise Idealmente, técnicas de modelagem conceitual deveriam ser totalmente independentes da tecnologia de software, como as leis de movimento. Esta independência previne que a tecnologia obscureça o entendimento de um problema e os modelos resultantes podem ser utilizados por todos os tipos de tecnologia de software.

16 Influência das Linguagens Na prática, esse purismo não ocorre. Por exemplo, modelos conceituais, com base nas tecnologias OO e Relacional. Linguagens controlam a máquina física e a expressão das necessidades do problema. Linguagens mudam porque encontramos melhores formas de expressar as necessidades e problemas. Assim, as linguagens influenciam na maneira como construímos modelos conceituais.

17 3º Princípio de Modelagem Modelos conceituais estão associados à interfaces (tipos) e não à implementações (classes) Infelizmente esta distinção é facilmente esquecida devido a linguagem comum não deixar esta distinção explícita. Não esqueça! Modelos Conceituais estão intimamente associados à interfaces de software, não à implementações de software.

18 Capítulo 1 - Introdução O Mundo dos Padrões

19 Situação Atual 1 Nos últimos anos, padrões vêm se tornando mania na comunidade de objetos, gerando imenso interesse e uso exagerado. Existem batalhas internas à comunidade de objetos sobre o que é exatamente um padrão. Certamente é difícil encontrar alguma definição consensual de padrão.

20 Situação Atual 2 O mundo do software não foi muito bom para descrever e proliferar boas práticas de projeto. Existem muitos métodos, mas apenas definem linguagens para descrever projetos e não descrevem projetos reais. Faltam descrições de projetos reais, que possam ser usados para educar e inspirar. Ralph Johnson e Ward Cunningham disseram que Projetos falham a despeito das recentes tecnologias por falta de soluções básicas.

21 Situação Atual 3 Padrões desenvolveram-se de várias iniciativas. Kent Beck e Ward Cunningham, dois pioneiros do Smalltalk, encontraram as idéias de Christopher Alexander, que havia desenvolvido uma teoria e coleção de padrões na área de Arquitetura. Os padrões tornaram-se públicos após a publicação do livro Padrões de Projeto da Gang of Four ou GoF.

22 Capítulo 1 - Introdução Christopher Alexander

23 Christopher Alexander 1 Para alguns, o mundo dos padrões apareceram no software quase que totalmente dos trabalhos de Christopher Alexander, um professor de arquitetura na Universidade de Califórnia em Berkeley. Alexander desenvolveu várias teorias sobre padrões na arquitetura e os publicou numa série de livros.

24 Christopher Alexander 2 Seu livro, Linguagens de Padrões, um catálogo de padrões na arquitetura, é visto como um protótipo para livros de padrões em software. Seu estilo de escrever padrões é usado com algumas extensões, por muitos escritores de padrões. Sua frase uma qualidade sem um nome é freqüentemente citado como um atributo que todos os padrões deveriam ter.

25 Christopher Alexander 3 Porém, muitos negam que Alexander tenha exercido papel central na inspiração de padrões em software. Peter Coad diz que a noção de padrões é utilizada por vários autores em diversas áreas, e são melhores exemplos do que os de Alexander.

26 Christopher Alexander 4 As idéias de Alexander, mesmo na Arquitetura, não são universalmente aceitas. O livro da GoF influenciou muito mais os padrões de software do que o de Alexander e 3 dos 4 autores não haviam lido Alexander antes de escrever o livro.

27 Capítulo 1 - Introdução Forma Literária

28 Forma Literária 1 Uma das características que mais diferenciam os padrões é a forma como eles são descritos. No entanto, não existe nenhum formato simples. Muitas pessoas seguem o estilo inspirado por Alexander. Outros seguem o formato usado pela GoF.

29 Forma Literária 2 Um padrão, sempre que é descrito, têm essencialmente quatro partes: declaração do contexto onde o padrão se aplica. o problema que o padrão trata. as forças que atuam no problema. a solução que resolve essas forças

30 Forma Literária 3 Esta forma é importante porque apóia uma das definições de padrão: uma solução para um problema num dado contexto. Uma definição que delimita o padrão como um simples par problema-solução. Importante! Todo padrão deve ter um nome.

31 Forma Literária 4 Uma das vantagens em se utilizar padrões é que eles enriquecem o nosso vocabulário de desenvolvimento. Ao dizermos: use um proxy de proteção aqui usamos observer para registrar as métricas de produto. podemos comunicar nossas idéias com maior efetividade.

32 Capítulo 1 - Introdução O Nível de Abstração do Autor

33 Padrões não são invenções acadêmicas Um dos elementos chaves de padrões é que eles são descobertos observando o que ocorre no dia-a-dia de desenvolvimento, ao invés de serem invenções acadêmicas. Os padrões de análise não são apenas úteis aos desenvolvedores de uma mesma área de domínio, normalmente eles podem ser úteis em outros domínios.

34 Padrões de Análise são Úteis para Vários Domínios Por exemplo, o padrão portfólio que foi criado para agrupar contratos financeiros, pode ser utilizado para agrupar qualquer tipo de objeto, pois define uma consulta implícita e é suficientemente abstrato para ser utilizado em qualquer domínio. O nível de abstração de Padrões de Análise deve ser amplo o suficiente para atender a vários domínios e específico o suficiente para que seja útil quando aplicados em aplicações.

35 Capítulo 1 - Introdução Os Padrões do Livro

36 Definição de Padrão Um padrão é uma idéia que é útil num contexto prático e que provavelmente continuará a ser útil em outros contextos.

37 Explicação da Definição 1 O termo idéia é usado pelo fato de que um padrão pode ser qualquer coisa. Pode ser um grupo de objetos com colaboração mútua, como os padrões da GoF ou princípios para organização de projetos de Coplien. A frase contexto prático reflete o fato de que os padrões são desenvolvidos como resultado de experiências práticas em projetos reais.

38 Explicação da Definição 2 Padrões são descobertos e não criados. Modelos se tornam padrões quando houver utilidade comum. Nem todas as idéias de um projeto são padrões; padrões são coisas que desenvolvedores acreditam ser úteis em outros contextos.

39 Padrões do Livro Os Padrões do Livro são divididos em duas categorias: Padrões de Análise: grupo de conceitos que representam uma construção comum na modelagem de negócio. Eles podem ser relevantes a um ou mais domínios. Padrões de Apoio: são padrões que descrevem como capturar os padrões de análise, aplicá-los e torná-los reais.

40 Exemplos de Modelagem 1 A maioria dos livros de análise e projeto são introdutórios e não explicam o método do autor. Tais livros não cobrem problemas importantes de modelagem problemas que surgem no contexto de um grande projeto. Tais problemas são de difícil compreensão fora do contexto e precisam que o leitor tenham alguma experiência em modelagem.

41 Exemplos de Modelagem 2 Padrões fornecem uma boa maneira de enxergar esses problemas. Muitos padrões do livro tratam de assuntos de modelagem considerando um particular problema de um domínio, facilitando a sua compreensão.

42 Exemplos de Modelagem 3 Exemplos: manipulação de métodos que podem ser ligados a instâncias de objetos individuais. subtipos de diagramas de estados. separação de modelos em níveis de conhecimento e operacional. uso de portfólios para agrupar objetos em uma consulta.

43 Modelos Conceituais e Reengenharia de Processos de Negócio (BPR) 1 Muitos usam modelos conceituais para auxiliar no desenvolvimento de sistemas computacionais, mas modelos conceituais têm outros propósitos. Bons analistas de sistemas sabem que simplesmente automatizar um processo existente não é um bom uso de recursos.

44 Modelos Conceituais e Reengenharia de Processos de Negócio (BPR) 2 Computadores fazem com que pessoas pensem de forma diferente. No entanto, analistas de sistemas encontram dificuldades de levar suas idéias adiante. Suas técnicas ainda estão muito dependentes dos pensamentos de software. Os especialistas de IT tem gasto muito tempo para convencer líderes de negócio a levarem suas idéias a sério.

45 Modelos Conceituais e Reengenharia de Processos de Negócio (BPR) 3 Usar a tecnologia OO para a modelagem conceitual pode realmente fazer com que a análise de sistemas e a Reengenharia de Processos de Negócio (BPR) sejam a mesma atividade. Os especialistas de domínio aprendem rapidamente o seu potencial e começam a pensar em seus próprios domínios de maneira diferente.

46 4º Princípio de Modelagem Padrões são um ponto de partida, não o destino.

47 5º Princípio de Modelagem Modelos não são certos ou errados, eles são mais ou menos úteis.

48 Fim da Introdução Continue com a apresentação Padrões de Análise - Parte 1.ppt

Módulo I Princípios e Padrões de Projeto de SW em Java

Módulo I Princípios e Padrões de Projeto de SW em Java Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Leia mais

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,

Leia mais

Projeto de software Estrutura do software e arquitetura SWEBOK

Projeto de software Estrutura do software e arquitetura SWEBOK Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design

Leia mais

Padrões de Projeto. Parte 1. Prof. Fellipe Aleixo

Padrões de Projeto. Parte 1. Prof. Fellipe Aleixo Padrões de Projeto Parte 1 Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Padrões de Projeto de Software OO Também conhecidos como Padrões de Projeto de Software OO ou simplesmente como Padrões A Inspiração

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

INTRODUÇÃO. Professora Lucélia Oliveira

INTRODUÇÃO. Professora Lucélia Oliveira INTRODUÇÃO Professora Lucélia Oliveira POR QUE MODELAR?? POR QUE MODELAR? Casa do cachorro Casa da familia Um grande prédio Construímos modelos de arquitetura de casas e de grandes prédios para auxiliar

Leia mais

Tópicos Avançados em Linguagem de Programação. Padrões de Software. Prof. Alexandre Vidal DEINF-UFMA. Ciência da Computação

Tópicos Avançados em Linguagem de Programação. Padrões de Software. Prof. Alexandre Vidal DEINF-UFMA. Ciência da Computação Tópicos Avançados em Linguagem de Programação Prof. Alexandre Vidal DEINF-UFMA Ciência da Computação Patterns (padrões) Compõem uma disciplina da Engenharia de Software voltada para a resolução de problemas

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Mas o que é mesmo Padrão de Projeto?

Mas o que é mesmo Padrão de Projeto? Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque

Leia mais

Padrões de Projeto. Conteúdo. Objetivos

Padrões de Projeto. Conteúdo. Objetivos Padrões de Projeto Conteúdo O que são Padrões de Projeto? Para que servem? Vantagens/Desvantagens, Pontos Fortes/Fracos Exemplos e Alternativas Objetivos Conhecer diferentes padrões; Entender sua utilidade;

Leia mais

Gerenciamento de Requisitos de Software

Gerenciamento de Requisitos de Software L A B O R A T Ó R I O D E E N G E N H A R I A D E S O F T W A R E Gerenciamento de Requisitos de Software Leffingwell, Dean & Widrig, Don. Managing Software Requirements: A Unified Approach Addison-Wesley

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS II -MÉTODOS PARA MODELAGEM OO. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS II -MÉTODOS PARA MODELAGEM OO. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS II -MÉTODOS PARA MODELAGEM OO Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 3. Métodos para modelagem orientada a objetos Conceitos Por que modelagem

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Federal de Uberlândia Prof. Fabiano Dorça - O que é um paradigma? É uma forma de abordar um problema, segundo um conjunto de procedimentos, valores ou conceitos

Leia mais

Padrões contexto problema solução

Padrões contexto problema solução Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

1. INTRODUÇÃO A MODELAGEM DE DADOS

1. INTRODUÇÃO A MODELAGEM DE DADOS 1. INTRODUÇÃO A MODELAGEM DE DADOS Para se construir uma casa ou um prédio de qualidade, é essencial fazer um planejamento detalhado, com a finalidade de pensar sobre as formas de construção, fazer estimativas

Leia mais

ENGENHARIA DE USABILIDADE E INTERFACES

ENGENHARIA DE USABILIDADE E INTERFACES Unidade III Desenvolvimento de Projetos de IHC Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta Unidade Técnicas de Concepção Técnicas de Modelagem Objetivo Demonstrar técnicas

Leia mais

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua Modelagem de Processos de Negócio Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento de Ciência da Computação - UFMG Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML:

Leia mais

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER. Modelos Banco de dados Professor: Jarbas Araújo professorjarbasaraujo@gmail.com CENTRO EDUCACIONAL RADIER Projeto de banco de dados Todo bom sistema de banco de dados deve apresentar um projeto, que visa

Leia mais

PADRÕES DE PROJETO: DESIGN PATTERNS

PADRÕES DE PROJETO: DESIGN PATTERNS PADRÕES DE PROJETO: DESIGN PATTERNS Jaime William Dias 1, Danilo Venturini 1, William Macxuel Muniz 1, Rodrigo Niehues Chagas 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil danilo_tr98@hotmail.com,

Leia mais

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML Projeto OO com UML Tópicos da Aula Conceitos de programação orientada a objetos Projeto orientado a objetos com UML Orientação a objetos A orientação a objetos, também conhecida como Programação Orientada

Leia mais

As técnicas de concepção

As técnicas de concepção As técnicas de concepção Acadêmicos: Bruno Amaral de Sousa Claudivan Gottardi Guilherme Assufi Dallanol Marlon Victor de Paula Objetivo Demonstrar técnicas destinadas a implementar as especificações para

Leia mais

Análise e Projeto Orientados a Objetos Modelo Conceitual Parte 3 Padrões de análise. Prof. Jailton Carlos

Análise e Projeto Orientados a Objetos Modelo Conceitual Parte 3 Padrões de análise. Prof. Jailton Carlos Análise e Projeto Orientados a Objetos Modelo Conceitual Parte 3 Padrões de análise Prof. Jailton Carlos Jailton.carlos@ifrn.edu.br Fazer um modelo conceitual é muito mais do que amontoar conceitos, atributos

Leia mais

Padrões. Arquitetura de Software Thaís Batista

Padrões. Arquitetura de Software Thaís Batista Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam

Leia mais

BANCO DE DADOS MODELO ENTIDADE RELACIONAMENTO (MER)

BANCO DE DADOS MODELO ENTIDADE RELACIONAMENTO (MER) Colégio Estadual João Manoel Mondrone Ensino Fundamental, Médio, Profissional e Normal Técnico em Informática BANCO DE DADOS MODELO ENTIDADE RELACIONAMENTO (MER) Profª Ana Paula Mandelli ABORDAGEM RELACIONAL:

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação marcelosantos@outlook.com AULA 01

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como Definir Arquiteturas? Dois tipos de elementos podem ser utilizados para a definição de uma arquitetura: Componentes à blocos

Leia mais

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos: Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

Televisao tamanho tela emitirsom. conectarperifericos

Televisao tamanho tela emitirsom. conectarperifericos 1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

Manutenção de Software

Manutenção de Software Manutenção de Software Engenharia de Software Rosana Braga (material produzidos por docentes do Labes-ICMC/USP) Manutenção do software O propósito do processo manutenção do sistema e software é modificar

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos Processos de engenharia de requisitos Processos de Engenharia de Requisitos Os requisitos e as formas de obtê-los e documentálos variam drasticamente de um projeto para o outro Contudo, existe uma série

Leia mais

Unidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior

Unidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior Unidade IV MODELAGEM DE SISTEMAS DE INFORMAÇÃO Prof. Daniel Arthur Gennari Junior Sobre esta aula Análise Orientada a Objetos Análise, Definição e Especificação de Requisitos Modelagem de Casos de Uso

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

MAPEAMENTO OBJETO RELACIONAL

MAPEAMENTO OBJETO RELACIONAL UNIDADEE Projeto de Banco de Dados Orientado a Objetos Unidade E 1. Introdução Ao concluir o estudo sobre BDOOs, você precisa ser capaz de implementar bancos de dados relacionais para aplicações que utilizam

Leia mais

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ Centro de Tecnologia - CTC Departamento de Informática - DIN Programa de Pós-Graduação em Ciência da Computação PCC ESTÁGIO DE DOCÊNCIA II Disciplina: Engenharia

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios de Análise e Projeto Orientados a Objetos com UML Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados em outros momentos

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Dados x Informações Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados

Leia mais

Análise de Sistemas Introdução a Análise de Sistemas

Análise de Sistemas Introdução a Análise de Sistemas Análise de Sistemas www.evelynkarinne.wordpress.com 1. Introdução a Análise de Sistemas Atualmente para construir um software, aplicativo, jogos precisamos não somente saber programar em uma linguagem

Leia mais

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que

Leia mais

Resolução dos exercícios da lista BD01

Resolução dos exercícios da lista BD01 Resolução dos exercícios da lista BD01 Pedro Losco Takecian Monitor João Eduardo Ferreira Professor 4 de abril de 2006 1. Quando faz sentido utilizar um SGBD ao invés de simplesmente utilizar o sistema

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) DCC / ICEx / UFMG Model Driven Development (MDD) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Motivação para MDD Software é caro Os EUA sozinho investem mais de $250 bilhões em software Nos EUA,

Leia mais

Engenharia de Software

Engenharia de Software Tema da Aula Origens da Modelagem de Retrospectiva Histórica Prof. Cristiano R R Portella portella@widesoft.com.br Origens da Modelagem de A pré-história Antes de 1960: Nenhuma metodologia. Programar computador

Leia mais

Engenharia de Software Modelagem de Negócio

Engenharia de Software Modelagem de Negócio Engenharia de Software Modelagem de Negócio Prof. Ms.C. Paulino Wagner Palheta Viana Manaus, Março 2018 1 Modelagem de negócio Estrutura dinâmica da organização; visão comum da organização por clientes

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011 Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

Leia mais

A crise do software As duas abordagens actuais para o desenvolvimento de software: abordagem clássica abordagem orientada para objectos

A crise do software As duas abordagens actuais para o desenvolvimento de software: abordagem clássica abordagem orientada para objectos 1. CONCEITOS BÁSICOS A crise do software As duas abordagens actuais para o desenvolvimento de software: abordagem clássica abordagem orientada para objectos A. Dias de Figueiredo, 1997/78 Engenharia de

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Introdução Paulo Gomide Departamento de Ciência da Computação Universidade de Itaúna Motivação Introdução Por que Padrões? Por que Padrões de Projeto? O que é um Padrão de

Leia mais

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A2 DATA 09/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: A principal diferença

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento INF1012 MODELAGEM DE DADOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Modelagem Conceitual de Dados A Abordagem Entidade-Relacionamento 1 Programa Capítulo

Leia mais

Unidade 4 Projeto de Banco de Dados

Unidade 4 Projeto de Banco de Dados Unidade 4 Projeto de Banco de Dados Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR

BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR AGENDA Motivação Processo Tradicional Processo BDD Fazer certo o certo Ciclo BDD Ferramentas Exemplo - Vídeo Rspec Vantagens e Desvantagens Referências MOTIVAÇÃO

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Modulo I Princípios e Padrões de Projeto de SW em Java

Modulo I Princípios e Padrões de Projeto de SW em Java Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Leia mais

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

Introdução à Computação Parte 2

Introdução à Computação Parte 2 Introdução à Computação Parte 2 José Gustavo de Souza Paiva Computação Objetivo básico auxiliar os seres humanos em trabalhos repetitivos e bra çais, diminuindo esfor ços e economizando tempo O computador

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade, 1 Introdução Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade, os desafios encontrados durante o desenvolvimento

Leia mais

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO

Leia mais

Análise de Sistemas CONTEXTUALIZAÇÃO

Análise de Sistemas CONTEXTUALIZAÇÃO CONTEXTUALIZAÇÃO 1 Apresentação Nome: Emerson Antonio Klisiewicz Formação acadêmica Especialista em Redes e Sistemas Distribuídos; Especialista em Sistemas de Informações Gerenciais; Bacharel em Ciência

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 12 http://www.ic.uff.br/~bianca/engsoft2/ Aula 12-31/05/2006 1 Ementa Processos de desenvolvimento de software (Caps. 2, 3 e 4 do Pressman) Estratégias e técnicas de teste

Leia mais

Banco de Dados Modelagem e Normalização

Banco de Dados Modelagem e Normalização Técnico em Informática Banco de Dados Modelagem e Normalização Profª Ana Paula Mandelli BANCO DE DADOS RELACIONAL De forma mais detalhada, um Banco de Dados Relacional é um conceito abstrato que define

Leia mais

Design Dirigido ao Domínio - DDD

Design Dirigido ao Domínio - DDD Design Dirigido ao Domínio - DDD Daniel Alcântara Cordeiro, Frederico A. Lima Junior, Saulo Mendonça Universidade Salvador (Unifacs) Edf. Civil Empresarial. Rua Doutor José Peroba, nº 251, STIEP, Salvador

Leia mais

MAPA CONCEITUAL E A MODELAGEM CONCEITUAL DE SISTEMAS DE HIPERTEXTO

MAPA CONCEITUAL E A MODELAGEM CONCEITUAL DE SISTEMAS DE HIPERTEXTO hipertexto MAPA CONCEITUAL E A MODELAGEM CONCEITUAL DE SISTEMAS DE HIPERTEXTO Profa. Gercina Lima 2 DEFINIÇÕES: Modelagem conceitual para sistemas de O mapeamento conceitual envolve a identificação de

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 17 Padrões de Design Singleton Facade Factory Method Observer Strategy

Leia mais

O que é um jogo digital?

O que é um jogo digital? O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma

Leia mais

ESTUDO DO PADRÃO DE PROJETO OBSERVER NO DESENVOLVIMENTO DE SOFTWARES UTILIZANDO A ARQUITETURA MVC RESUMO

ESTUDO DO PADRÃO DE PROJETO OBSERVER NO DESENVOLVIMENTO DE SOFTWARES UTILIZANDO A ARQUITETURA MVC RESUMO Mostra Nacional de Iniciação Científica e Tecnológica Interdisciplinar III MICTI Fórum Nacional de Iniciação Científica no Ensino Médio e Técnico - I FONAIC-EMT Camboriú, SC, 22, 23 e 24 de abril de 2009

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Unidade: Introdução à POO (Programação Orientada a Objetos)

Unidade: Introdução à POO (Programação Orientada a Objetos) Unidade: Introdução à POO (Programação Orientada a Objetos) 0 Unidade: Introdução à POO (Programação Orientada a Objetos) Paradigmas de Programação Um paradigma de programação fornece (e determina) a visão

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2012 Paradigmas e Processo de Software Engenharia de Software: Abrangência Engenharia de Software possui

Leia mais

Aula 1.7 Introdução a APOO e UML

Aula 1.7 Introdução a APOO e UML APOO Aula 1.7 Introdução a APOO e UML Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Possuir um lápis e uma régua não te tornam um arquiteto 2 Você pode conhecer toda a API Java, C++ ou qualquer LPOO. 3 Mas

Leia mais

UML e seus diagramas

UML e seus diagramas UML e seus diagramas A UML Unified Modeling Language (Linguagem de Modelagem Unificada), como o próprio nome já diz, é uma linguagem para modelagem de objetos do mundo real, usada para especificar, construir,

Leia mais

Banco de Dados? Banco de Dados Professor Vanderlei Frazão

Banco de Dados? Banco de Dados Professor Vanderlei Frazão Banco de Dados? OU Vamos por partes... O que são dados? Definições... 1. Dados são observações documentadas ou resultados de medições. 2. Dados são matéria bruta de que é feita a informação. 3. Valores

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Requisitos REQUISITOS Descrições do que o sistema deve fazer, os serviços oferecidos pelo

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

Trabalho Campeonato de Futebol Programação Orientada a Objetos (SCC204) Prof. Moacir Pereira Ponti Junior 26 de abril de 2011

Trabalho Campeonato de Futebol Programação Orientada a Objetos (SCC204) Prof. Moacir Pereira Ponti Junior 26 de abril de 2011 Trabalho Campeonato de Futebol Programação Orientada a Objetos (SCC204) Prof. Moacir Pereira Ponti Junior 26 de abril de 2011 Trabalho Prático - Parte 2 Tarefas O Trabalho 2 envolve o uso de interface

Leia mais

Desenho e documentação de arquitectura de software e de aplicações empresariais

Desenho e documentação de arquitectura de software e de aplicações empresariais Desenho e documentação de arquitectura de software e de aplicações empresariais João Pascoal Faria Laboratório de Engenharia de Software 10 de Novembro de 2003 1 Definição de arquitectura de software Arquitectura

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Modelagem conceitual do domínio Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução A modelagem do domínio está relacionada à descoberta das informações

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ARQUITETURA DE SOFTWARE ASWA4 Aula N : 07

Leia mais