Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

Documentos relacionados
UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

04/11/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE CLASSE

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Modelagem de Processos

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

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

Programação Orientada a Objetos

Análise e Projeto de Sistemas

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Modelagem Orientada a Objeto

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

UML Diagrama de Classes

UML. Diagrama de Classe

Banco de Dados I Generalização/Especialização

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

Diagrama de Classes (Notação) - Aula 11 (parte 2)

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

UML. Diagrama de Classes de Projeto e Diagrama de Objetos Análise e Projeto de Software. Profª. Cibele da Rosa Christ

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Introdução à UML. Prof. Jesus José de Oliveira Neto

Linguagem de Programação. Diagrama de classes

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

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Modelos em Sistemas de Informação. Aula 3

Os diagramas de use case capturam os requisitos funcionais do sistema.

Modelagem Estática e Dinâmica: Estudo de Caso - Sistema de Caixa Automático

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Requisitos de sistemas

UML. Adriano J. Holanda 21/3/

Análise e Projeto de Sistemas I

Panorama da notação UML

Retrospectiva (Aula 2) O Modelo Entidade-Relacionamento. O Modelo Entidade- Relacionamento. O Modelo Entidade- Relacionamento

Orientação a objetos. Objetos ou Instâncias I

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

Modelagem de Casos de Uso (Parte 1)

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama.

Diagrama de Casos de Uso

Administração e Projeto de Banco de dados. Aula 4 Modelagem Conceitual Tipos de Relacionamentos

Lista Diagrama de Casos de Uso

Banco de Dados I Modelagem Conceitual

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

Técnicas de Identificação

Diagrama de Classes. Viviane Torres da Silva

Banco de Dados II. Prof. Fiorin

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Simbolos/Componentes desse diagrama:

Modelos de Sistemas Casos de Uso

Capítulo 2. Orientação a Objetos

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

ENGENHARIA DE SOFTWARE. Aula 10 Introdução ao Diagrama de Classes

Fundamentos de Orientação à objetos

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

Programação Orientada a Objetos Relacionamentos entre classes

UML. Diagrama de Classes

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

Python Orientação a Objetos. Introdução à Programação SI2

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

PCS3413 Engenharia de Software e Banco de Dados

Classes e Objetos. Sintaxe de classe em Java

Engenharia de Software II e III - Material para estudo Diagrama de Classe

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

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

Herança - Conceitos Básicos

UML - Diagrama de Classes

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

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

Sumário. Modelo Entidade-Associação : Avançado 1 Associações Ternárias. Exemplo. Associações Ternárias. Exemplo. André Restivo. September 21, 2010

Apostila de Modelagem de Banco de Dados

09/10/2013. Conteúdo dessa aula

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

Orientação a Objetos (OO)

Sumário. BD Orientado a Objetos

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Abordagem ER. Capítulo 2

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 6. Prof. Rafael Dias Ribeiro.

Análise Wilson de Pádua Paula Filho

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

MC536. Modelo Entidade- Relacionamento

POO29004 Programação Orientada a Objetos

Programação Orientada a Objetos

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

Unidade 4 Projeto de Banco de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

Banco de Dados Diagrama Entidade Relacionamento DER

Aula 11 Modelagem da Arquitetura. Alessandro Garcia LES/DI/PUC-Rio Abril 2016

Transcrição:

Modelo Conceitual Análise e Projeto de Sistemas Avançados Aula 5 Allan Rodrigo Leite

Modelo Conceitual Oferece uma visão das informações que são gerenciadas pelo sistema Representação e transformação da informação O modelo conceitual enfatiza os aspectos estruturais do sistema Quais são os conceitos envolvidos no sistema? Como os conceitos estão relacionados? Quais são as informações pertinentes a cada conceito?

Modelo Conceitual Um modelo conceitual deve: Ser independente de tecnologia Apenas possuir conceitos pertinentes ao domínio do sistema em questão Não podem conter referências à aspectos dinâmicos dos sistemas

Modelo Conceitual Oferece três perspectivas Conceitual Representa os conceitos do domínio relacionado Especificação Foco nas principais interfaces, métodos e associações Implementação Visão detalhista, contendo informações suficientes para o desenvolvimento

Conceitual Modelo Conceitual

Especificação Modelo Conceitual

Implementação Modelo Conceitual

Diagrama de Classes A UML permite representar visualmente um modelo conceitual através do diagrama de classes Um diagrama de classes oferece uma representação da estrutura das classes e seus relacionamentos

Diagrama de Classes Atributos Variáveis da classe Os atributos definem a estrutura da classe Classes ou conceitos Representação de informações complexas Em geral agregam atributos que não pode ser descritos meramente por tipos simples Associações Ligação entre conceitos Métodos Comportamento de um conceito

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões:

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Nome da classe

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Lista de atributos

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Modificador de acesso - : Privado + : Público # : Protegido ~ : Pacote Lista de atributos

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Nome do atributo Lista de atributos

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Tipo de dado do atributo Lista de atributos

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Métodos Lista de métodos (comportamento)

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Métodos Modificador de acesso - : Privado + : Público # : Protegido ~ : Pacote Lista de métodos (comportamento)

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Métodos Nome do método Lista de métodos (comportamento)

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Métodos Argumentos do método Lista de métodos (comportamento)

Representação de uma Classe No diagrama de classes da UML, uma classe é representada por um retângulo dividido em três sessões: Nome da classe Atributos Métodos Retorno do método Lista de métodos (comportamento)

Como identificar conceitos? Visão geral do sistema - gestão bancária O sistema a ser desenvolvido deve ser capaz de gerenciar as principais atividades bancárias, permitindo ao correntista realizar operações como: abertura de conta corrente, consultar saldo, pagamento de boletos, saque, depósito, seguros, poupanças e fundos de investimentos. Apenas os gerentes podem realizar aberturas de contas e contratos de seguro. A abertura de conta é liberada mediante a consulta em serviços de proteção ao crédito. Já o correntista pode realizar as demais operações. As operação realizada pelo correntista deve computar pontos que serão utilizados para reduzir proporcionalmente o valor de suas tarifas bancárias.

Como identificar conceitos?

Como identificar conceitos? Examinar o conteúdo dos casos de uso expandidos do sistema Substantivos, adjetivos e verbos são candidatos Também é possível identificar os atributos relacionado a cada conceito pelo texto dos casos de uso expandido

Fluxo principal: 1. O cliente se identifica e comunica ao gerente que deseja abrir uma conta corrente. 2. [EV] O gerente informa o CPF do cliente ao sistema. 3. [RS] O sistema realiza uma consulta nos sistemas de proteção ao crédito. 4. [EV] O gerente informa os demais dados pessoais do cliente ao sistema. 5. O cliente decide que tipo de conta corrente ele deseja abrir: 5.1 Abrir conta corrente básica 5.2 Abrir conta poupança 5.3 Abrir conta conjunta 6. [RS] O cliente recebe o número de sua conta corrente. 7. [EV] O cliente informa uma senha de acesso para a conta corrente. 8. [EV] O gerente finaliza a abertura da conta corrente. Variante 5.1: Abrir conta corrente básica 5.1.1 [RS] O sistema retorna os valores das tarifas referente a conta corrente básica. Variante 5.2: Abrir conta poupança 5.2.1 O gerente questiona ao cliente qual será o valor mínimo a ser depositado mensalmente na poupança. 5.2.2 [EV] O gerente informa ao sistema o valor mensal a ser depositado na poupança. 5.2.3 [RS] O sistema retorna um extrato das correções dos últimos 12 meses. 5.2.4 [RS] O sistema retorna os valores das tarifas referente a conta poupança. Variante 5.3: Abrir conta conjunta 5.3.1 O gerente solicita os dados do segundo titular da conta corrente. 5.3.2 [EV] O gerente informa os dados do segundo titular para o sistema. 5.3.3 [RS] O sistema retorna os valores das tarifas referente a conta conjunta.

Fluxo principal: 1. O cliente se identifica e comunica ao gerente que deseja abrir uma conta corrente. 2. [EV] O gerente informa o CPF do cliente ao sistema. 3. [RS] O sistema realiza uma consulta nos sistemas de proteção ao crédito. 4. [EV] O gerente informa os demais dados pessoais do cliente ao sistema. 5. O cliente decide que tipo de conta corrente ele deseja abrir: 5.1 Abrir conta corrente básica 5.2 Abrir conta poupança 5.3 Abrir conta conjunta 6. [RS] O cliente recebe o número de sua conta corrente. 7. [EV] O cliente informa uma senha de acesso para a conta corrente. 8. [EV] O gerente finaliza a abertura da conta corrente. Variante 5.1: Abrir conta corrente básica 5.1.1 [RS] O sistema retorna os valores das tarifas referente a conta corrente básica. Variante 5.2: Abrir conta poupança 5.2.1 O gerente questiona ao cliente qual será o valor mínimo a ser depositado mensalmente na poupança. 5.2.2 [EV] O gerente informa ao sistema o valor mensal a ser depositado na poupança. 5.2.3 [RS] O sistema retorna um extrato das correções dos últimos 12 meses. 5.2.4 [RS] O sistema retorna os valores das tarifas referente a conta poupança. Variante 5.3: Abrir conta conjunta 5.3.1 O gerente solicita os dados do segundo titular da conta corrente. 5.3.2 [EV] O gerente informa os dados do segundo titular para o sistema. 5.3.3 [RS] O sistema retorna os valores das tarifas referente a conta conjunta.

Diagrama de Classes

Como identificar um objeto? Todo objeto deve possuir um identificador exclusivo para diferenciá-lo dos demais O identificador é um atributo cujo valor é único Não deve existir duas instâncias do mesmo conceito com o mesmo valor para este atributo Este atributo é chamado de Object ID (OID) Usa-se o estereótipo <<oid>> para destacar o atributo que identifica exclusivamente o objeto

Diagrama de Classes

Associações entre Classes Um dos principais objetivos do diagrama de classes é a compreensão das associações entre as classes Geralmente uma associação complementa a informação de um objeto em um determinado instante Como identificar associações? Localizar conceitos que não podem ser compreendidos isoladamente (depende de uma ligação para fazer sentido)

Diagrama de Classes

Associações entre Classes As associações possuem: Nome Descrição da associação Sentido de leitura Auxilia na interpretação da associação Navegabilidade Indica quem enxerga a associação Multiplicidade Tipo Indica regras de ocorrência da associação Significado da associação Papel Contextualiza a associação

Associações entre Classes Elementos de uma associação

Associações entre Classes Tipos de associações Associação simples (não direcionada) Associação direcionada Herança Agregação Composição Dependência

Multiplicidade da Associação É fundamental ser possível identificar os limites para a quantidade de elementos envolvidos nas associações Esta informação remete à multiplidade da associação A multiplicidade indica quantos objetos podem se associar Sempre há um limite inferior Pode haver um limite superior

Exemplos de Multiplicidade 1 - exatamente um 0..1 - zero ou um * ou 0..* - de zero a infinito 1..* - de um a infinito 2..5 - de dois a cinco 2,5 - dois ou cinco 2,5..8 - dois ou de cinco a oito

Diagrama de Classes

Direção das Associações Associações não-direcionais Ocorre quando uma das classes associadas desconhece a existência da associação Associações direcionais A associação é visível para as duas classes associadas

Direção das Associações Associação direcionada O cliente sabe quem é correntista da conta bancária, porém, a conta bancária não sabe quem é o titular

Diagrama de Classes

Herança Existe também outro tipo de associação, obtida a partir de uma relação de generalização e especialização das classes Generalização (superclasse) Especialização (subclasse) Esta associação é chamada de herança, cuja subclasse herda as características da superclasse

Diagrama de Classes

Classes Abstratas Uma classe é denominada abstrata quando representa um conceito abstrato A classe abstrata não possui instâncias Usualmente a classe abstrata apresenta métodos abstratos Apenas especifica a assinatura do método A implementação do método deve ficar a cargo das subclasses da classe abstrata Também chamadas de classes concretas

Diagrama de Classes

Agregação e Composição Algumas associações podem ser consideradas mais fortes do que outras No sentido de que o objeto é composto por outro Se há exclusividade na associação, isto é, o objeto não pode ser parte de nenhum outro objeto, a associação é chamada de composição Caso contrário, a associação é considerada uma agregação

Como Identificar uma Agregação Regras ou Composição Apenas se aplica para relacionamento todo-parte Caso o objeto parte depende exclusivamente do todo para existir então: A relação é de composição Caso o objeto parte não faz sentido ou não possui utilidade sem o todo então: A relação é de agregação Caso contrário: A relação é simples

Agregação Agregação e Composição

Agregação e Composição Composição

Agregação e Composição Associação simples

Classe Controladora No diagrama de classe, é desejável apresentar uma classe que representa todo o sistema Esta classe corresponde ao controlador-fachada É associado ao controlador todas as classes que são ditas como independentes São conceitos que podem ser compreendidos sem estar associado a outros Usualmente equivalem ao cadastros do sistema

Diagrama de Classes

Modelo Conceitual Análise e Projeto de Sistemas Avançados Aula 5 Allan Rodrigo Leite