UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

Documentos relacionados
Modelo Conceitual. SSC 526: Análise e Projeto Orientados a Objetos Profa. Dra. Elisa Yumi Nakagawa

Modelo Conceitual. Prof. Seiji Isotani Slides baseados no material da Profa Dra Rosana T. V. Braga

ANÁLISE E PROJETO ORIENTADO A OBJETO

Diagramas de Sequência do Sistema e Contratos de Operações. SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

Aula 5 Diagramas de Seqüência do Sistema e Contratos de Operações

Modelo conceitual Aula 08

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

Modelagem de Software

Aula 7 Visibilidade entre objetos e Diagramas de Classes

Análise do Sistema Casos de Uso

Contratos O diagrama de sequência não menciona a funcionalidade das operações. Isto é, o comportamento do sistema Contrato é um documento que

Diagramas de Classes. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

Modelagem de Casos de Uso (Parte 1)

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe de Projeto

Modelo Conceitual. Disciplina: Análise e Projeto Orientados a Objetos Profa. Dra. Elisa Yumi Nakagawa

Modelos de Sistemas Casos de Uso

Casos de Uso. SSC-121 Engenharia de Software I. Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

Aula 6 Notação Básica dos Diagramas de Comunicação

Descrição de Casos de Uso (Casos de Uso Textuais) SSC 124: Análise e Projeto Orientados a Objetos Profa. Dra. Elisa Yumi Nakagawa

Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação

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

Diagramas de Sequência e Contrato das Operações

DIAGRAMAS DE CLASSE UML

Análise e Projeto Orientados a Objetos

DIAGRAMA DE COMUNICAÇÃO. SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa

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

DIAGRAMA DE CLASSES DE PROJETO

Notação Básica dos Diagramas de Comunicação

Engenharia de Software I

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Unidade 4 Projeto de Banco de Dados

Modelagem Orientada a Objeto

RAD Desenvolvimento de Sistemas de Informação

Casos de Uso. Análise e Projeto Orientados a Objetos. Profa Dra Rosana T. V. Braga

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Introdução a UML. Aula 04 Analise de Sistemas Profª Rita de Cassia Gaieski

INF1404 MODELAGEM DE SISTEMAS

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

Introdução a UML (Unified Modeling Language)

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

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

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

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

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.

Simbolos/Componentes desse diagrama:

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

Documento de Especificação de Requisitos

UML (Unified Modelling Language)

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

Análise e projeto de sistemas

UML Aula I Diagramas de Caso de Uso. Ricardo Argenton Ramos

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

PROJETO DE DESENVOLVIMENTO DE SOFTWARE

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

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

Diagrama de Classes Aula 11 (parte 1)

Departamento de Engenharia Industrial. ENG Sistemas de Informação Gerenciais Caso de Uso - Exercícios

Unidade IV. Compreende uma conexão bidirecional entre classes que indica a existência de um relacionamento entre os objetos dessas classes.

Modelagem de Casos de Uso (Parte 2)

Visibilidade e Diagrama de Classe de Projeto Estudo de Caso Sistema TPV

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Metodologias de Desenvolvimento (I)

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

Diagrama de Classes. Prof. Maikel Linares

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

S15 - Engenharia de Requisitos continuação cap.6

DIAGRAMA DE COMUNICAÇÃO

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

Panorama da notação UML

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Metodologia Simplified. António Rocha

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

Diagrama de Casos de Uso

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Diagrama de Casos de Uso

Modelos em Sistemas de Informação. Aula 3

Análise e Projeto de Sistemas

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

Modelo Entidade-Relacionamento

Engenharia de Software. UML Unified Modeling Language

Estudo de Caso TPV: do Projeto para a Codificação

Análise e Projeto Orientado a Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Curso SISTEMAS DE INFORMAÇÃO Série 3 Disciplina Análise e Projeto Orientados a Objetos

Esse diagrama documenta o que o sistema faz do ponto de vista. do usuário. Em outras palavras, ele descreve as principais

Requisitos de Software e UML Básico. Janaína Horácio

Análise e projeto de sistemas

ANÁLISE DE SISTEMAS UML. por. Antônio Maurício Pitangueira

Parte REGRAS DO MODELO CONCEITUAL 4.1 MODELO CONCEITUAL COMO MODELO DE ORGANIZAÇÃO 4.2 DIFERENTES MODELOS PODEM SER EQUIVALENTES

Conceitos de Programação Orientada a Objetos

Introdução a UML e seus diagramas

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

SOFTWARE REQUIREMENTS

Prof. Fabiano Taguchi

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

Estudo de Caso TPV Projetando uma solução com objetos e Padrões GRASP

Transcrição:

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelo Conceitual 879 Projeto e Desenvolvimento de Sistemas de Informação Prof. Dra. Inês A. G. Boaventura

Onde estamos no processo de desenvolvimento unificado: Planejar e Elaborar Construir Implantar Ciclo de Desenvolvimento Ciclo de Desenvolvimento 2... Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar 2

Atividades da Fase Analisar Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar. Definir Casos de Uso Essenciais 2. Refinar Diagramas de Casos de Uso 3. Refinar o Modelo Conceitual 4. Refinar Glossário 5. Definir Diagramas de Seqüência do Sistema 6. Definir Contratos de Operação 7. Definir Diagramas de Estado 3

Modelo Conceitual Mostra todos os conceitos importantes do domínio do sistema, bem como as associações entre esses conceitos. A idéia é fazer com que o usuário que tem acesso a esse modelo entenda os principais elementos do domínio que estão envolvidos no sistema a ser desenvolvido. Não mostra artefatos de software ou classes. Ele pode mostrar: conceitos, associações entre conceitos e atributos de conceitos. O modelo conceitual ajuda a esclarecer a terminologia ou vocabulário do domínio. 4

Modelo Conceitual É exibido por um conjunto de diagramas de estrutura estática, no qual não se definem operações. 5

Exemplo Venda data hora 2 Pago-por Pagamento quantia 6

EVITAR Artefato de Software: BDdeVendas Nome da classe refere-se à Implementação Venda data hora imprimir () Definição de comportamento 7

Como Identificar Conceitos? Alguns conceitos são bastante óbvios quando se descreve o sistema, como por exemplo os conceitos Leitor e Livro quando se fala em um sistema de Biblioteca. 8

Como Identificar Conceitos? Entretanto, muitos conceitos estão geralmente implícitos e requerem uma maior maturidade do analista para descobri-los. Por exemplo, o conceito de Empréstimo, no mesmo sistema de Biblioteca, poderia passar desapercebido por um analista inexperiente, que o colocaria como uma associação entre Leitor e Livro. 9

Como Identificar Conceitos? Sugestões básicas: Passo : Isole, no documento de requisitos ou na descrição dos casos de uso, elaborados na fase anterior, todos os substantivos presentes no texto Exemplo à seguir: Caso de uso Emprestar Livro 0

Passo : Isolar os substantivos Ação do ator. Este caso começa quando o Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros da biblioteca.. 2. O Atendente seleciona a opção para adicionar um novo empréstimo. 3. O atendente solicita ao leitor sua carteirinha, seja de estudante ou professor. 4. O atendente informa ao sistema a identificação do leitor. 6. O atendente solicita os livros a serem emprestados. 7. Para cada livro, o atendente informa ao sistema o código de identificação do livro. Resposta do Sistema 5. O sistema exibe o nome do leitor e sua situação. 8. O sistema informa a data de devolução de cada livro.

Exemplo: Biblioteca Lista de candidatos: Leitor Carteirinha Data de devolução Balcão Estudante Etc. Biblioteca Atendente Livros Opção Professor Sistema Identificação de leitor Nome do leitor Empréstimo Código de identificação do livro 2

Como Identificar Conceitos? Sugestões básicas: Passo 2: Para cada substantivo Verifique se é relacionado a assuntos importantes no domínio do sistema. Descarte: Os que fogem do escopo do sistema, Os que são similares a outros conceitos já identificados, Os que são propriedades de outros substantivos. Lembre-se: Conceitos relevantes são aqueles que referem-se a entidades que tem que ser lembradas pelo sistema: fazem algo, sabem algo, conhecem algo. 3

Exemplo: Biblioteca Lista de candidatos: Leitor Carteirinha X Data de devolução X Balcão X Estudante Etc. Biblioteca Atendente Livros Opção X Professor Sistema X Identificação de leitor X Nome do leitor X Empréstimo Código de identificação do livro X 4

Como Identificar Conceitos? Sugestões básicas: Passo 3: Isole os verbos que poderiam ser transformados em substantivos (possivelmente com a ajuda de outras palavras). Concentre-se nos verbos que representam ações de interesse para o sistema, ou seja, aqueles relacionados a eventos e transações que possuem informações importantes e que devem ser lembradas pelo sistema.. 5

Exemplo: Biblioteca Ação do ator. Este caso começa quando o Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros da biblioteca. 2. O Atendente seleciona a opção para adicionar um novo empréstimo. 3. O atendente solicita ao leitor sua carteirinha, seja de estudante ou professor. 4. O atendente informa ao sistema a identificação do leitor.... Resposta do Sistema 5. O sistema exibe o nome do leitor e sua situação. 6

Exemplo: Biblioteca Lista de Candidatos: Emprestar X Adicionar X Informar X... Já havia sido acrescentado Pelo substantivo Empréstimo 7

Como Identificar Conceitos? Sugestões básicas: Passo 4: Para cada candidato a conceito, verifique se ele é composto de outras partes que sejam de interesse para o sistema, mesmo que essas não apareçam explicitamente no texto. Por exemplo, um empréstimo normalmente refere-se a vários livros emprestados em uma mesma ocasião para um mesmo leitor. Linha do Empréstimo é um outro conceito. ( Item do Empréstimo) 8

Como Identificar Conceitos? Checklist de possíveis conceitos: Objetos físicos ou tangíveis: Livro, Leitor, TPV Especificação (descrição) de coisas: EspecificaçãodeLivro, EspecificaçãodeProduto Lugares: Biblioteca, Loja Transações: Emprestimo, Reserva, Venda, Pagamento, Linha de Itens de Transações: LinhaDeEmpréstimo, LinhaItemdeVenda Papéis desempenhados por pessoas: Atendente, Caixa Contêineres de outras coisas: Estante, Depósito, Armário, Coisas em um contêiner: Cópia de livro, Revista, item Catálogos: Catálogo de Livros, Catálogo de Produtos 9

Diretrizes para construir um modelo conceitual Liste os conceitos candidatos, usando o checklist de Conceitos e a identificação de substantivos, relacionados com os requisitos que estão sendo considerados. Desenhe-os em um modelo conceitual. Acrescente os atributos necessários para completar os requisitos de memorização. Registre as associações para as quais há necessidade de preservar alguma memorização 20

ATENÇÃO: ) Alguns dos substantivos são candidatos a conceitos e outros são candidatos a atributos. 2) A linguagem natural é imprecisa e essa definição depende do conhecimento e experiência do engenheiro de software, embora haja diretrizes disponíveis. 2

Como Identificar Atributos? Substantivos sublinhados a partir do texto do caso de uso podem ser candidatos a atributos dos conceitos já identificados. Cautela: não torne o modelo conceitual muito complexo desnecessariamente. limite-se a adicionar os atributos importantes para compreender o conceito, ou atributos que serão importantes para o futuro projeto do sistema 22

Exemplo: Como Identificar Atributos? Nome do conceito Leitor idleitor nome si tuacao idlivro Livro Empréstimo datadedevolucao Atributos do conceito 23

Associações Associação é um relacionamento entre conceitos, que precisa ser lembrado pelo sistema durante seu funcionamento Por exemplo, existe uma associação entre Empréstimo e Leitor, que precisa ser lembrada pelo sistema, pois quando o Empréstimo termina o Leitor deve ter sua situação regularizada. 24

Como identificar Associações? Algumas associações são bastante simples de serem identificadas, bastando aplicar certas regras básicas. Outras associações são implícitas e podem requerer mais experiência do analista para identificá-las logo na fase de requisitos, ou podem surgir mais adiante, na fase de projeto. Cautela: incluir associações em demasia causa um efeito indesejado, levando a um modelo confuso e conseqüentemente com pouca legibilidade. Portanto, uma regra básica é evitar colocar associações redundantes 25

Como identificar Associações? Regra : Um conceito que, fisicamente ou logicamente, faz parte de outro. Por exemplo, um livro que está fisicamente armazenado em uma estante ou um Item de Empréstimo que logicamente faz parte do Empréstimo. 26

Como identificar Associações? Regra 2: Um conceito que serve para descrever ou qualificar outro conceito. Por exemplo, um Livro pode ser classificado em diversas Categorias ou por Autor; um Item de Estoque que é descrito por uma Especificação de Produto. 27

Como identificar Associações? Regra 3: Um conceito que é responsável por registrar ou manter informações sobre outro. Por exemplo, o Atendente é quem registra e atende o Leitor; a Bibliotecária é responsável pelos Livros. 28

Associações na UML Nome da associação Atendente Lê-se: Um Atendente registra 0 ou mais Leitores. Um leitor é registrado por um atendente registra 0..* Leitor idleitor nome situacao Multiplicidade da associação 29

Associações na UML Direção de leitura do nome da associação Atendente A direção só deve ser colocada se for da direita para a esquerda ou de baixo para cima. É registrado por 0..* Leitor idleitor nome situacao 30

Multiplicidade C * C2 zero ou mais Muitos (as) C..* C2 um ou mais C..40 C2 um a quarenta C 5 C2 exatamente cinco C 3,5,8 C2 exatamente três, cinco ou oito 3

Associação Reflexiva Papel Pessoa nome +filho 0..n +pai é pai de 32

Especialização/Generalização/ Herança Herança é um mecanismo que permite que características comuns a diversos tipos sejam colocadas em um tipo base, ou supertipo. A partir de um tipo base, outros tipos podem ser especificados (os subtipos). Cada subtipo apresenta as características (estrutura e atributos) do supertipo e acrescenta a ele novas características. Dizemos que um subtipo herda todas as propriedades do supertipo e acrescenta suas características próprias e exclusivas. As propriedades do supertipo não precisam ser repetidas em cada subtipo. 33

Tipos e Especialização na UML Forno capacidade Microondas horario potencia A Gas temperatura Elétrico voltagem A Lenha quantmaxlenha Analógico Digital Acendimento Elétrico Acendimento com Fósforo Figura A Camping 34

Regras de Herança A regra é-um estabelece que todos os membros do conjunto de um subtipo devem ser membros do conjunto do supertipo, ou seja o subtipo é um supertipo. Por exemplo, podemos dizer que um microondas digital é um forno, e por isso possui todos os atributos (e comportamentos) esperados de um forno. 35

Regras de Herança A regra dos 00% estabelece que 00% da definição do supertipo dever ser aplicado ao subtipo se o supertipo possui um dado atributo, é necessário garantir que todos os subtipos também o possuam, ou seja, o atributo deve fazer sentido para eles e deve ser importante conhecer seu conteúdo. O mesmo vale para as associações do supertipo, que devem ser aplicáveis aos subtipos. 36

Regras de Herança Por exemplo, se incluirmos o tipo Cozinheiro no modelo da Figura A, e associarmos esse tipo ao tipo forno, significando que o Cozinheiro utiliza o Forno, isso deve ser verdadeiro para todos os subtipos, ou seja, todos os tipos de forno devem poder ser utilizáveis por um cozinheiro. 37

Tipos e Especialização na UML Cozinheiro utiliza Forno capacidade Microondas horario potencia A Gas temperatura Elétrico voltagem A Lenha quantmaxlenha Analógico Digital Acendimento Elétrico Acendimento com Fósforo Figura A Camping 38

Agregação Agregação é um mecanismo pelo qual um tipo inclui atributos (e comportamento) de outros tipos a ele agregados, indicando a existência de um todo, composto por partes. Um exemplo de agregação é um Fogão: consiste de Tampa, Forno, Queimador, e assim por diante. 39

Agregação na UML PainelDeControle Fogão..6 Queimador..6 BotaoAcen dedor Tampa Estufa Forno capacidade CD titulo ano..n Música nome cantor 40

Agregação Composta A agregação composta ou composição ocorre quando a multiplicidade na extremidade do composto pode ser no máximo. A notação em UML é um losango negro Automóvel Roda 4 4

Agregação compartilhada A agregação compartilhada, denotada em UML por um losango vazio, denota que a multiplicidade na extremidade do composto pode ser maior do que um. Pacote de UML referencia * Elemento de UML 42

Tipo Associativo É uma associação que também possui propriedades de tipo (ou um tipo que tem propriedades de uma associação). É mostrada como um tipo e é ligada por uma linha tracejada a uma associação. Empresa +empregador 0..n +empregado..n Pessoa Emprego salario 43

Tipo Associativo Indícios de que um tipo associativo pode ser útil em um modelo conceitual: Um atributo está relacionado com uma associação As instâncias do tipo associativo têm um tempo de vida dependente do tempo de vida da associação Existe uma associação muitos-para-muitos entre dois conceitos, bem como informações relacionadas à associação propriamente dita Empresa +empregador oferece..n Emprego salario 0..n possui +empregado Pessoa 44

Modelo Conceitual Biblioteca ^ faz 0..n 0..n Reserva período situacao 0.. 0.. corresponde a Atendente nome 0..n registra Leitor nome tipo faz 0..n corresponde a 0.. Empréstimo/Devolução data do empréstimo situação Bibliotecaria nome refere-se a > 0..n registra Livro titulo autor ano ISBN editora tipo possui 0..n CopiaDoLivro nro sequencial situacao liberadoparaemprestimo LinhaDoEmpréstimo 0.. data_prevista_devolução data_entrega_real..n 0..n refere-se a 45

Modelo Conceitual Elevador 46

Estudo de Caso: Modelo Conceitual do Sistema TPV Alguns Conceitos do Sistema TPV: TPV Venda Loja 47

Estudo de Caso: Identificação de Substantivos. Este caso de uso começa quando um Cliente chega a um ponto de pagamento equipado com um TPV com vários itens que deseja comprar. 2. O caixa registra o código universal do produto (UPC) de cada item. Se houver mais de um exemplar do item o caixa também pode entrar a quantidade. 3. Determina o preço do item e acrescenta informação sobre o item à transação de vendas em andamento. A descrição e o preço do item corrente são apresentados 48

Conceitos candidatos para o domínio TPV, restritos ao caso de uso Comprar Itens TPV EspecificaçãodeProduto Item LinhadeItemdeVenda Loja Caixa Venda Cliente Pagamento Gerente CatálogodeProdutos transação de vendas 49

Objetos do tipo relatório: incluir no modelo? Um recibo (nota fiscal) é um relatório (uma saída do sistema) de uma venda. A informação nele contida é derivada de outras fontes. Esta é uma razão para excluí-lo. Um recibo desempenha um papel especial em termos das regras do negócio. Confere ao portador o direito de retornar o item comprado. Esta é uma razão para incluí-lo. Uma vez que retornos não estão sendo tratados neste ciclo, Recibo será excluído. 50

Analogia com o Cartógrafo Use os nomes existentes no território Exclua as características irrelevantes Não inclua coisas que não estão lá. 5

O que acontece quando o mundo é irreal, abstrato? Exemplo: software de telecomunicações. Os conceitos são então abstratos, embora relacionados ao domínio de aplicação. Exemplo: Mensagem, Conexão, Diálogo, Roteamento, Protocolo. 52

O Conceito de Especificação (Descrição) Item Descrição Preço número série CUP O que aconteceria se todas as TVs de 9 fossem vendidas? Como fazer para saber o preço desse item de venda? Produto Descrição Preço CUP * descreve Item número série 53

Quando utilizar Descrições ( ou especificações) Acrescente um conceito de especificação ou descrição quando: Estiver excluindo instâncias de coisas que elas descrevem e isso resulta numa perda de informação que necessita ser mantida, devido à associação incorreta da informação com a coisa excluída Ele reduz informação redundante ou duplicada 54

Associações necessário-serconhecido versus associações para compreensão Motivação: no sistema TPV, seria necessário registrar a associação entre o gerente e o TPV (iniciar) ou entre o cliente e a venda (fulano é- responsável-por venda)? Modelo mínimo versus modelo que ilustra todos os relacionamentos que possam ser concebidos? Critério básico: satisfazer a todos os requisitos do tipo necessário-ser-conhecido e comunicar claramente uma compreensão essencial dos conceitos importantes no domínio do problema. 55

TPV: Conceitos e Associações Registra-venda-de Descritos-por Catálogo de Produtos Contém * Especificação de Produto..* LinhadeItemdeVenda Usado-por..* Descreve * * Contido-em Loja Estoca Item Registra-dados-da * v * Venda Possui..* Iniciado por Gerente capturada-em TPV 0..* Paga-por < Registra-Vendas-do Iniciada-por Iniciada-por Caixa 56 Pagamento Cliente

Atributo ou associação? pior Caixa nome TPVcorrente Não é um atributo simples melhor Caixa nome Usa TPV número 57

Atributo ou associação? Os atributos serão melhor definidos na fase de projeto. Evitar infiltrar o projeto nesta fase. Ex. não pensar em chave estrangeira, como em BDs relacionais. Teste: faz sentido distinguir instâncias do atributo? Se sim, é um conceito, se não, é um atributo. Ex. Faz sentido distinguir entre duas instâncias do número 5? Da cadeia gato? Em caso de dúvida modele como um conceito separado 58

0....* Modelo conceitual para o domínio do TPV * LinhadeItemdeVenda quantidade Contido-em Paga-por Venda data tempo Pagamento quantia * Iniciada-por Registra-Dados-da v Cliente Registra-venda-de Catálogo de Produtos Usado-por Capturada-em Descritos-por *.. Loja endereço nome Possui TPV..*..* Contém..* Estoca Iniciado por < Registra-Vendas-do * Especificação de Produto descrição preço CUP * Descreve Item Gerente Caixa 59

Glossário 60

Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar. Definir Casos de Uso Essenciais 2. Refinar Diagramas de Casos de Uso 3. Refinar o Modelo Conceitual 4. Refinar Glossário 5. Definir Diagramas de Seqüência do Sistema 6. Definir Contratos de Operação 7. Definir Diagramas de Estado 6

Glossário Um Glossário, ou Dicionário (de Dados) do Modelo lista e define todos os termos que requerem esclarecimento. Objetivos: melhorar a comunicação e reduzir o risco de mal-entendidos. 62

Glossário É criado inicialmente na fase Planejar e Elaborar. É continuamente aperfeiçoado em cada ciclo de desenvolvimento. Pode ser usado para registrar regras do negócio e restrições a elementos aos quais a regra ou restrição se aplica. 63

Exemplo: glossário para o TPV Termo Comprar Itens Categoria caso de uso Comentários Descrição do processo de compra de itens por um cliente em uma loja EspecificaçãoDoProduto atributo.descrição: Texto Uma curta descrição de um Item em uma Venda e sua EspecificaçãodeProduto associada Item tipo Um item à venda em uma loja Pagamento tipo Um Pagamento em dinheiro EspecificaçãodeProduto. Preço:Quantidade atributo O preço de um Item em uma Venda e sua especificação associada 64

Exemplo: glossário para o TPV Termo LinhadeItemdeVenda. Quantidade:Inteiro Categoria atributo Comentários A quantidade comprada de um tipo de Item Venda tipo Uma transação de Venda LinhadeItendeVenda tipo Uma linha de item para um particular Item comprado numa Venda Loja tipo O lugar onde ocorre venda de itens Venda.total:Quantia atributo O total geral da Venda 65

Exemplo: glossário para o TPV Termo Pagamento.quantia: Quantidade EspecificaçãodeProduto: UPC... Categoria atributo atributo Comentários A quantidade de dinheiro fornecida ou apresentada para pagamento pelo cliente O código universal de produto to item e sua EspecificaçãodeProduto 66

Próximo Assunto Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar. Definir Casos de Uso Essenciais 2. Refinar Diagramas de Casos de Uso 3. Refinar o Modelo Conceitual 4. Refinar Glossário 5. Definir Diagramas de Seqüência do Sistema 6. Definir Contratos de Operação 7. Definir Diagramas de Estado 67