Design Dirigido ao Domínio - DDD

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

Download "Design Dirigido ao Domínio - DDD"

Transcrição

1 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 BA - Brasil dc79.alcantara@gmail.com, fredericoalj@gmail.com, saulomb@gmail.com Abstract: The complexity of software development is usually tied to its domain, which makes the understanding of the domain essential for the creation of quality software. The domain driven design have this goal, to put focus on understanding the domain. This paper provides a introduction to the basic concepts of this development philosophy, the allows the creation of systems based on the domain model. Resumo: A complexidade do desenvolvimento de um software está normalmente ligada ao seu domínio, o que torna essencial a compreensão do domínio para a criação de um software de qualidade. O design dirigido ao domínio tem este objetivo, de colocar o foco do entendimento do domínio. Este artigo apresenta uma introdução dos conceitos básicos desta filosofia de desenvolvimento, os quais permitem a criação de sistemas com base no modelo de domínio. 1. Introdução O processo de desenvolvimento de um software de natureza complexa pode ser auxiliado por diversas técnicas diferentes, sejam elas metodologias que visem facilitar o processo de planejamento e execução, ou tecnologias que focam em automatizar o processo de codificação. Entre elas temos os princípios da programação orientada a objetos e do design e modelagem do software. Mas independente do método utilizado, a complexidade do sistema estará sempre presente, pois normalmente ela depende do próprio domínio. O domínio, neste caso, refere-se ao campo de atuação do negócio, e com isso das necessidades que este negócio possui e que originaram o desenvolvimento do software em si. Logo, compreender o domínio da aplicação é compreender a complexidade desta. Então para a criação de um bom software complexo, devemos focar no domínio em questão ao utilizar esses diferentes métodos possíveis. O Design Dirigido ao Domínio (Domain Driven Design) ou DDD como é normalmente abreviado, possui este objetivo, de estabelecer o domínio como o centro do desenvolvimento do software. É apresentado na forma de uma filosofia, e que foi baseada no resultado de mais de vinte anos de trabalho, resumidas em um conjunto de padrões e boas práticas para o desenvolvimento de software a partir da modelagem do domínio. Neste contexto, o presente artigo objetiva apresentar os conceitos básicos inerentes ao DDD, focando na importância do uso destes princípios, a fim de prover um texto de fácil leitura e compreensão, que possa ajudar no processo desenvolvimento de softwares de domínio complexo.

2 Este artigo está organizado da seguinte forma: a seção 2 apresenta a historia do DDD, e a importância do domínio e modelo; na seção 3 aborda o conceito da linguagem ubíqua; na seção 4 discorre-se sobre os princípios do design dirigido ao modelo; já a seção 5 apresenta a estrutura da arquitetura em camadas; na seção 6 aborda as formas de expressar o modelo e a utilização de módulos; e por fim, na seção 7, são apresentadas as considerações finais do artigo. 2. Historia e Conceitos Fundamentais de DDD O termo Domain-Driven Design e a sigla DDD foi originalmente apresentada por Eric Evans em seu livro "Domain-Driven Design - Atacando as Complexidades no Coração do Software", que teve como objetivo, segundo o próprio autor [Evans 2003], descrever um conjunto de padrões e boas práticas com base em sua experiência no desenvolvimento de sistemas complexos e modelagem do domínio. Segundo Evans (2003), o coração do software está na habilidade de resolver os problemas relacionados ao domínio. Sendo as demais funcionalidades agindo como suporte. Onde o termo domínio refere-se aos processos e problemas derivados do mundo real que levaram a criação do software. Esta ideia fica clara quando consideramos que um dos principais objetivos para a criação de um software é à automação de um processo que existe no mundo real, assim como prover soluções para problemas de negócios reais. Podemos concluir então, conforme [Avram e Marinescu 2006], que a origem de um software está firmemente ligada ao seu domínio. Relacionar o domínio com o software pode ser um processo difícil. Software é código, e quando pensamos em código pensamos em objetos e métodos. Pensamos em tecnologia, pensamos no processo de criação do software. Mas como criar algo que não sabemos como funciona? Um bom exemplo foi apresentado por [Avram e Marinescu 2006] ao perguntar como criar um software complexo para um sistema de banco? Não é possível criar um sistema para um banco sem saber como um banco funciona. E quem entende de banco não vai ser o desenvolvedor do software, ou o arquiteto ou o analista, mas o banqueiro. Ou seja, para criarmos um sistema complexo necessitamos de entender o domínio do sistema, e para entender o domínio do sistema, precisamos trabalhar em conjunto com alguém que entenda o domínio. Sabendo da importância de saber o domínio, vem à questão de como usar este conhecimento. O domínio é a representação de algo real, logo não é simplesmente convertido para código, a não ser que seja criada uma abstração para o mesmo [Avram e Marinescu 2006]. Esta abstração se torna a base da compreensão do domínio, e está sempre evoluindo. Para o DDD está abstração é um modelo, ou seja, o modelo do domínio. Segundo [Evans, 2003], o modelo não é necessariamente um diagrama, mas a ideia que o diagrama deve prover. Que pode ser representada de diversas formas, seja o próprio diagrama, como um código ou uma descrição. 3. Linguagem Ubíqua Com o entendimento de que para criar um software precisamos entender o domínio, e para conhecer o domínio precisamos trabalhar com um especialista do domínio,

3 devemos considerar como realizar a comunicação com este especialista. Segundo [EVANS, 2003], o especialista no domínio pode não entender dos jargões técnicos inerentes ao desenvolvimento de software, assim como o desenvolvedor pode não entender dos jargões que são utilizados naquele domínio. Um diagrama criado por um desenvolvedor pode não ser entendido pelo especialista do domínio, ou até entendido de forma equivocada, ou o mesmo problema pode ser representado de forma diferente por diferentes desenvolvedores. Para resolver este tipo de problema, o DDD orienta na utilização de uma linguagem em comum entre ambas as partes, o que pode ser chamada de linguagem ubíqua ou linguagem onipresente. O DDD orienta que a criação desta linguagem seja baseada no modelo do domínio, pois é à base do sistema, onde o software e o domínio se encontram [Avram e Marinescu 2006]. Essa linguagem dever ser utilizada em todas as comunicações e no código, sabendo que alterações na linguagem são alterações no modelo [Evans 2003], garantindo maior integridade na comunicação e melhor entendimento do código. 4. Design Dirigido por Modelo Visto a importância da compreensão do domínio e na criação de um modelo que servirá como base para a criação do software, a próxima etapa será a transição do modelo para código. Vimos que escrever código sem o conhecimento do domínio é pouco eficaz, mas de nada adianta ter um modelo de domínio complexo se este não for corretamente utilizado na codificação. Segundo Evans (2003), este problema normalmente ocorre ao separar o processo de modelagem com o de design, como ocorre em muitas das metodologias de design de software. Nestas metodologias, a orientação é na criação de um modelo de análise, com o objetivo de representar os conceitos do domínio, e posteriormente a criação do design, que será utilizando na codificação. A ideia é de utilizar o modelo de análise para criar o design. O problema está no fato que o modelo de análise não é feito pensando no design, e ambos são normalmente feitos por pessoas diferentes, causando uma perda de informação nesta transição. O DDD sugere então que a criação do modelo do domínio e o design do software sejam interligados, o que é feito ao utilizar o design dirigido por modelo (Model-Driven Design), que segundo Evans (2003), descarta a necessidade de um modelo de análise e outro de design, ao procurar um único modelo que sirva para ambos os casos. A ideia é escolher um modelo que possa ser expresso em software, para que o design possa ser baseado no modelo [Avram e Marinescu 2006]. A escolha e desenvolvimento de um modelo que possa atender as necessidades da análise, design, e que ainda suporte a utilização de uma linguagem ubíqua, não é uma tarefa fácil. Para tal, o DDD sugere um conjunto de padrões que, utilizado, permitem a representação do modelo em código de forma eficaz. A Figura 1 apresenta quais são os principais padrões utilizados no DDD e como eles se relacionam entre si.

4 5. Arquitetura em camadas Figura 1. Relação entre os padrões do DDD Compreendendo, então, a necessidade da criação do modelo de domínio no DDD, a primeira etapa no desenvolvimento, está no isolamento do domínio. Evans (2003) analisa o fato de que a parte do software responsável por resolver problemas do domínio é normalmente uma pequena parte de todo o sistema, apesar de grande importância. Pois além das regras de negócio, o software depende de outros elementos, como interface, banco de dados, interação com usuário e comunicação com outros sistemas. O que ocorre, então, é que os problemas do domínio são normalmente codificados diretamente nestes elementos. Criando uma dependência entre as regras de negócio e grande parte do código. Ocasionando pequenas alterações no domínio podem gerar alteração em todo o código. O DDD utiliza então a técnica de divisão de software conhecida como Arquitetura em Camadas, cujo princípio é que elementos de uma camada dependem apenas dos elementos da mesma camada, ou de uma camada abaixo dela [Evans 2003]. As camadas, conforme [Evans 2003], são divididas em: Camada de Interface: Responsável por mostrar a informação e interpretar os comandos, seja de um usuário ou de outro sistema. Camada de Aplicação: Responsável por coordenar as atividades do sistema, porém não contem regras de negócio. Camada de Domínio: Contém as informações do domínio, no estado e das regras de negócio. É a camada principal no sistema. Camada de Infraestrutura: Funciona como suporte para demais camadas. Sendo responsável pela comunicação entre as camadas, e prove persistência.

5 6. Expressando o Modelo e Utilizando Módulos Conforme a figura 1. O Design dirigido por Modelo pode ser expresso de diferentes formas, sendo elas: Entidades: Muitos objetos não são definidos pelos seus atributos, mas por possuir uma identidade que se mantém ao longo da execução do sistema. Estes objetos são chamados de Entidades [Evans 2003]. A identidade de um destes objetos pode possuir diferentes formas, seja chave primaria de um banco de dados, ou um ou mais atributos do próprio objeto. Entidades são importantes na modelagem do domínio, e devem ser consideradas no início do processo de modelagem. [Avram e Marinescu 2006]. Objetos de Valor: Ao contrário das entidades, alguns objetos não possuem identidades, sendo apenas os atributos deste objeto que interessa, ou seja, são objetos que representam um aspecto descritivo do domínio. Estes objetos são chamados de Objetos de Valor [Evans 2003]. Recomenda-se que Objetos de Valor sejam imutáveis, criados no construtor, e na necessidade de ser atribuído um novo valor, que seja criado um novo objeto [Avram e Marinescu 2006]. Serviços: Alguns elementos do domínio não se encaixam nos conceitos de entidades e objetos de valor. São aqueles que realizam atividades e ações, que em código podem necessitar de mais de um objeto ou classe para serem representados. Estes elementos que se encaixam nesta categoria são chamados de Serviços [Evans 2003]. O modelo de uma aplicação complexa pode tornar-se muito grande, trazendo problemas, como ilustrados por Avram e Marinescu (2006), como na dificuldade de falar sobre o modelo num todo, e entender o relacionamento e interação entre diferentes partes. Necessita-se então que o modelo seja dividido em partes, ou seja, organizado em Módulos, onde a escolha de como dividir o sistema objetive que os módulos tenham alta coesão e baixo acoplamento entre si, e que para melhor entendimento, sejam nomeados conforme as definições da linguagem ubíqua. 7. Conclusão Este artigo resumiu os principais conceitos relacionados ao domain-driven design, apresentando praticas já adotadas e que podem trazer benefícios para o desenvolvimento de softwares complexos. Esperamos que os princípios abordados neste artigo ajudem na compreensão do que é o DDD, e de como pode ser útil e aplicável em projetos de software. Maiores aprofundamentos podem ser obtidos com a leitura do livro de Eric Evans que é a base do DDD. Referências Evans, Eric. (2003), Domain-Diven Design: Tackling Complexity in the Heart of Software, Addison Wesley, 1ª edição Avram, Abel e Marinescu, Floyd. (2006), Domain Driven Design Quickly, C4MEDIA, Disponível em:

Uma introdução a Domain Driven Design. Daniel Cukier IME-USP

Uma introdução a Domain Driven Design. Daniel Cukier IME-USP Uma introdução a Domain Driven Design Daniel Cukier danicuki@ime.usp.br IME-USP Padrões Um padrão é uma regra de três partes que expressa a relação entre um certo contexto 1, um problema 2 e uma solução

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 03

Levantamento, Análise e Gestão Requisitos. Aula 03 Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento

Leia mais

UML. Modelando um sistema

UML. Modelando um sistema UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema

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

DESENVOLVIMENTO DE CAMADAS UTILIZANDO DDD

DESENVOLVIMENTO DE CAMADAS UTILIZANDO DDD DESENVOLVIMENTO DE CAMADAS UTILIZANDO DDD Giovanni Luis Baroni FIRMINO 1 Ana Paula Ambrósio ZANELATO 2 RESUMO: O assunto desenvolvido neste artigo será sobre o desenvolvimento em camadas usando um modelo

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

Arquitetura de software

Arquitetura de software Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =

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

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade. Banco de Dados Aula 1.4 - Sistemas de Banco de Dados Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/25 Arquitetura dos SBDs 2/25 Objetivos dos SGBDs

Leia mais

Domain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC

Domain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC Pedro Lemos N.º 49467 pcml@rnl.ist.utl.pt Arquitecturas de Software 2004 - LEIC Outline da Apresentação 1. Introdução e Motivação de Padrões de Software 2. Padrões Arquitecturais para Aplicações Empresariais

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

Aplicação do Desenvolvimento Baseado em Domínio (DDD) na Criação de uma Ferramenta para Geração Automática de E- Commerce B2B E B2C

Aplicação do Desenvolvimento Baseado em Domínio (DDD) na Criação de uma Ferramenta para Geração Automática de E- Commerce B2B E B2C Aplicação do Desenvolvimento Baseado em Domínio (DDD) na Criação de uma Ferramenta para Geração Automática de E- Commerce B2B E B2C Orientados: André Krzyk Taras Bruno Vichinheski Orientador: Prof(a).

Leia mais

Um SGBD permite que cada utilizador tenha uma vista diferente (abstrata) do conteúdo da base de dados;

Um SGBD permite que cada utilizador tenha uma vista diferente (abstrata) do conteúdo da base de dados; 1 Bioinformatica Conceitos Básicos Camadas de abstração Um SGBD permite que cada utilizador tenha uma vista diferente (abstrata) do conteúdo da base de dados; Cada utilizador necessita de ter acesso a

Leia mais

UML. Rodrigo Leite Durães.

UML. Rodrigo Leite Durães. UML Rodrigo Leite Durães. rodrigo_l_d@yahoo.com.br O que é Análise de Software? UML: É o estágio de um sistema que captura os requisitos e o domínio do problema, focalizando no que deve ser feito, não

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

Introdução a Orientação a Objetos

Introdução a Orientação a Objetos Introdução a Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 01 - Introdução 1 Qualidade de Software Obter

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

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Princípios e Conceitos de Desenho de Software Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Revisando... Processo Unificado PRAXIS Processo unificado: Dividido em fases e fluxos Fases Concepção,

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

Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol

Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol Aluno Luís Carlos Seifert de Souza Orientador Wilson Pedro Carli Roteiro da Apresentação Introdução Motivação

Leia mais

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

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 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 Cronograma das Aulas. Hoje você está na aula Semana

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

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Nome da disciplina:

Leia mais

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1. Banco de Dados Aula 1.5 - Modelo ER Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/40 Modelo Entidade Relacionamento Descreve objetos (entidades),

Leia mais

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001 PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

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

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período BANCO DE DADOS Bacharelado em Sistemas de Informação MODELAGEM DE DADOS Profº Luciano Roberto Rocha Itararé, 2º período CONCEITOS MODELO ENTIDADE RELACIONAMENTO Entidade Relacionamento Atributos Cardinalidade

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

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

UML Diagramas Estruturais Diagrama de Componentes

UML Diagramas Estruturais Diagrama de Componentes UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu

Leia mais

Modelo do Mundo Real. Abstração. Interpretação

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto

Leia mais

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

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

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO Campus Senhor do Bonfim I N S T I T U T O F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O L O G I A B A I A N O C a m p u s S E N

Leia mais

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

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

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES] DMS - DOCUMENTO DE MODELAGEM DE SISTEMA Este documento foi criado seguindo as recomendações e orientações do livro UML na Prática Do Problema ao Sistema e do modelo PRISM do MPDS (Modelo Prático para Desenvolvimento

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Análise de Requisitos REQUISITO? Pode variar de uma declaração abstrata de alto nível de um serviço ou de uma restrição de sistema para uma

Leia mais

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Modelagem de Sistemas. Análise de Requisitos. Modelagem Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia

Leia mais

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Visões Arquiteturais. Arquitetura de Software Thaís Batista Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli MODELAGEM DE SOFTWARE Sistemas de média e grande complexidade necessitam de uma metodologia destinada a facilitar o seu desenvolvimento; Esta metodologia corresponde a uma visão, uma abstração do sistema

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

XP EXTREME PROGRAMMING. AGO106 - Gestão

XP EXTREME PROGRAMMING. AGO106 - Gestão XP EXTREME PROGRAMMING AGO106 - Gestão de Processos de Desenvolvimento de Software DESENVOLVIMENTO TRADICIONAL Sequencial: Análise, Design, Implementação, Teste, Implantação e Manutenção Características:

Leia mais

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Pacotes Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individiduais;

Leia mais

O Fluxo de Requisitos

O Fluxo de Requisitos O Fluxo de 1 Finalidade do fluxo de requisitos A finalidade deste fluxo é: Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer. Oferecer ao desenvolvedor um melhor entendimento

Leia mais

Lista de Exercícios AV1

Lista de Exercícios AV1 Seminários Engenharia Integrados de Usabilidade em Sistemas de Informação SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Lista de Exercícios AV1 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão

Leia mais

As Visões. Visões arquiteturais (revisão)

As Visões. Visões arquiteturais (revisão) As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

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

Análise e projeto de sistemas

Análise e projeto de sistemas Conteúdo: Análise e projeto de sistemas Modelagem de classes Prof. Patrícia Lucas Modelagem de classes 01 O modelo de casos de uso fornecem uma perspectiva do sistema a partir de um ponto de vista externo.

Leia mais

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario FDD Desenvolvimento dirigido a funcionalidades 2 Agenda FDD; Melhores práticas do FDD; Principais papéis; Processos. FDD Metodologia interativa e

Leia mais

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos

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

Bounded Context e CQRS. Evolução de aplicações.net legadas

Bounded Context e CQRS. Evolução de aplicações.net legadas Bounded Context e CQRS Evolução de aplicações.net legadas ARQUITETO DE SOFTWARE BACHAREL EM ANÁLISE DE SISTEMAS MESTRANDO NO CURSO DE ENG. DE SOFTWARE PELA UFRN Há 15 anos se dedicando a construção de

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

Leia mais

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD ADMINISTRADOR DA BASE DE DADOS Em qualquer organização onde muitas pessoas compartilham muitos recursos, existe a necessidade de um administrador

Leia mais

Padrão para Especificação de Requisitos de Produto de Multimídia

Padrão para Especificação de Requisitos de Produto de Multimídia Padrão para Especificação de Requisitos de Produto de Multimídia 1 Introdução 1.1 Escopo do documento Sugere-se aqui uma estrutura para a Especificação de Requisitos de Produto de Multimídia (ERPM). Esta

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

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

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Projeto de Desenvolvimento de Software

Projeto de Desenvolvimento de Software Projeto de Desenvolvimento de Software Princípios da Engenharia de Software Msc. Eliezio Soares eliezio.soares@ifrn.edu.br http://docente.ifrn.edu.br/elieziosoares NBR ISO 9000-3 Definições: A ISO 9000

Leia mais

MODULARIZAÇÃO - PARTE 1

MODULARIZAÇÃO - PARTE 1 AULA 27 MODULARIZAÇÃO - PARTE 1 Os algoritmos que temos construído até então são muito simples, pois resolvem problemas simples e apresentam apenas os componentes mais elementares dos algoritmos: constantes,

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Design Baseado em Responsabilidades 1 Programa Capítulo 4 Design Baseado em Responsabilidades

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades

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

Engenharia de Software

Engenharia de Software Engenharia de Software Prof. Luiz Antonio do Nascimento Espec. sistema / Eng. sistemas Modelagem do processo de negócios Análise de requisitos O que tem que ser feito Projeto Como deve ser feito Construção

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser

Leia mais

Arquitetura de Software visão emergente

Arquitetura de Software visão emergente Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

PROVA DE CONHECIMENTOS ESPECÍFICOS

PROVA DE CONHECIMENTOS ESPECÍFICOS Nesta PROVA DE CONHECIMENTOS ESPECÍFICOS, nas questões objetivas de a, que valem dez pontos dois pontos para cada questão, marque, em cada uma, a única opção correta, de acordo com o respectivo comando.

Leia mais

Técnicas de Orientação à Objeto. Introdução Modelagem de objeto, classe, atributos e métodos em linguagem Java Desenvolvimento Guiado por Testes

Técnicas de Orientação à Objeto. Introdução Modelagem de objeto, classe, atributos e métodos em linguagem Java Desenvolvimento Guiado por Testes Técnicas de Orientação à Objeto Introdução Modelagem de objeto, classe, atributos e métodos em linguagem Java Desenvolvimento Guiado por Testes Objeto Elemento (físico ou abstrato) existente no mundo real,

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

Engenharia de Software II

Engenharia de Software II Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 07 (rogerio@fct.unesp.br) Conceitos Básicos do Rational Unified

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 Fundamentos Replicação de Dados

2 Fundamentos Replicação de Dados 2 Fundamentos Neste capítulo serão abordados de forma introdutória os principais conceitos relacionados com replicação de dados. Em seguida, será abordada a metodologia de projeto orientado a domínio que

Leia mais

Análise e Projeto de Software Parte II. Marcos Dósea

Análise e Projeto de Software Parte II. Marcos Dósea Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?

Leia mais

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois Cláudia Werner Karin Becker Agenda Motivação Engenharia de Domínio e Desenvolvimento Baseado

Leia mais

1. A função DevOps, que se concentra principalmente em Produtos & Serviços:

1. A função DevOps, que se concentra principalmente em Produtos & Serviços: Questões de múltipla escolha 1. A função DevOps, que se concentra principalmente em Produtos & Serviços: a) Desenvolvimento Ágil b) Melhoria Contínua c) Automatizar tudo d) Centralizar o Desenvolvimento

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

Desenvolvimento de Software

Desenvolvimento de Software PODER JUDICIÁRIO JUSTIÇA DO TRABALHO TRIBUNAL REGIONAL DO TRABALHO DA 15ª REGIÃO Secretaria de Tecnologia da Informação e Comunicações Total de Páginas:16 Versão: 1.0 Última Atualização: 26/07/2013 Índice

Leia mais

MODELO ENTIDADE RELACIONAMENTO

MODELO ENTIDADE RELACIONAMENTO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUL DE MINAS GERAIS Câmpus Inconfidentes MODELO ENTIDADE RELACIONAMENTO Sistemas de Informações Geográficas A LEI DO MUNDO...o mundo está cheio de coisas

Leia mais

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Sistema de Banco de Dados UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Resumo da Unidade Banco de dados BD SGBD Objetivo Visão Geral Abstração Modelo de Dados Entidade Relaciomento(ER)

Leia mais

FATORES E MÉTRICAS DE QUALIDADE

FATORES E MÉTRICAS DE QUALIDADE FATORES E MÉTRICAS DE QUALIDADE 1 2 FATORES DE QUALIDADE OPERAÇÃO DO PRODUTO CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE

Leia mais

Teoria Geral dos Sistemas

Teoria Geral dos Sistemas UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO E ESTATÍSTICA Teoria Geral dos Sistemas Professor: Eduardo Coelho Modelagem de sistemas Podemos

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software

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

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais