O documento descreve uma aula sobre modelagem conceitual no contexto de desenvolvimento orientado a objetos. Ele apresenta os principais elementos de um modelo conceitual, como conceitos, atributos, relacionamentos e sua representação. Além disso, explica como o modelo conceitual se relaciona com o processo unificado e como identificar seus elementos a partir de uma especificação textual.
O documento descreve uma aula sobre modelagem conceitual no contexto de desenvolvimento orientado a objetos. Ele apresenta os principais elementos de um modelo conceitual, como conceitos, atributos, relacionamentos e sua representação. Além disso, explica como o modelo conceitual se relaciona com o processo unificado e como identificar seus elementos a partir de uma especificação textual.
O documento descreve uma aula sobre modelagem conceitual no contexto de desenvolvimento orientado a objetos. Ele apresenta os principais elementos de um modelo conceitual, como conceitos, atributos, relacionamentos e sua representação. Além disso, explica como o modelo conceitual se relaciona com o processo unificado e como identificar seus elementos a partir de uma especificação textual.
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
Material do Prof. Dr. Lucas Bueno R. de Oliveira
Professor: Jorge Francisco Cutigi
DOO - Modelo Conceitual
O que vimos na aula anterior... ● Uma breve introdução aos modelos de processo de software. ● Aspectos preliminares do Processo Unificado – PU. ● Características, atividades e diferenças das etapas de análise e projeto. ● Tipos de requisitos de software. ● Uma breve introdução ao processo de engenharia de requisitos. ● Conceitos sobre modelagem de software e UML. ● Representação dos processos do domínio com Casos de Uso.
DOO - Modelo Conceitual
Ao final desta aula, você estará apto a... ● Saber para que serve e quando utilizar um Modelo Conceitual. ● Identificar e compreender a sintaxe dos principais elementos desse tipo de modelo. ● Distinguir os principais relacionamentos entre conceitos do domínio. ● Identificar conceitos, atributos e relacionamentos a partir de uma especificação textual. ● Criar modelos conceituais para diferentes tipos de aplicação.
Modelo Conceitual - Definição ● Ainda na etapa de análise, é preciso estabelecer um vocabulário comum junto ao cliente, para que ambos compreendam quais são os conceitos importantes no domínio. ● Um modelo conceitual permite representar e descrever os conceitos pertinentes ao domínio do sistema e os diferentes relacionamentos entre esses elementos. ● Embora a sintaxe do modelo conceitual seja similar a do Diagrama de Classes (veremos mais adiante), o modelo não representa artefatos de software ou classes, mas conceitos do dia-a-dia. ● A semântica de um modelo conceitual foca em compreender o que será feito do ponto de vista estrutural no domínio da informação.
DOO - Modelo Conceitual
Conceitos básicos - Conceito ● Modelos de domínio representam os conceitos e as características importantes no contexto do sistema que será implementado, tais como pessoas, objetos físicos e eventos lembrados. ● Exemplos: ○ Cliente do banco ○ O banco ○ Uma movimentação financeira
Nome
DOO - Modelo Conceitual
Conceitos básicos - Atributos ● Conceitos do domínio são contêineres de informações úteis ao sistema, chamadas de atributos. ● Nessa etapa, a representação dos tipos dos atributos ainda é opcional. ● Exemplos: ○ O cliente do banco: nome, cpf, data de nascimento, etc. ○ O banco: nome, número, cnpj, etc. ○ Uma movimentação financeira: valor, emissor, recebedor, etc.
Atributos
DOO - Modelo Conceitual
Conceitos básicos - Relacionamentos ● Os conceitos do domínio do sistema possuem relacionamentos entre si, que precisarão ser lembrados ao longo do seu ciclo de vida de operação. ● Uma associação indica um relacionamento estrutural básico entre dois conceitos do domínio. Associação (nome e sentido são opcionais)
DOO - Modelo Conceitual
Conceitos básicos - Relacionamentos Associação
● Um tipo associativo é uma associação que
possui propriedades de tipo (ou vice-versa). ● Esse tipo de relacionamento ocorre, geralmente, quando: ○ Um atributo está relacionado a uma associação. Tipo associativo ○ As instâncias do tipo associativo têm tempo de vida dependente da associação. ○ Existe uma relação muitos-para-muitos entre dois conceitos e isso resulta em informações adicionais.
DOO - Modelo Conceitual
Conceitos básicos - Relacionamentos ● Uma dependência expressa um relacionamento conceitual no qual mudanças em um elemento influenciam Dependência
no estado de outro elemento.
● A dependência é um relacionamento estruturalmente mais fraco que a associação. ● Exemplo: ○ A decisão de uma Pessoa sobre ir ao pub ou Influenciado Influenciador não depende do Estado Civil.
DOO - Modelo Conceitual
Conceitos básicos - Relacionamentos ● Uma agregação é um tipo de relacionamento associativo no qual existe uma semântica de todo-parte. Agregação
● Na agregação, não existe uma relação
forte entre os ciclos de vida do conceito agregador e seus conceitos agregados. ● Exemplo: ○ Um Carro possui quatro Rodas, que podem ser fabricadas antes ou depois, colocadas ou Agregado substituídas.
DOO - Modelo Conceitual
Conceitos básicos - Relacionamentos ● Uma composição é um tipo especial de agregação na qual a parte não pode existir sem o todo. Composição
● Na composição, existe uma relação
forte entre os ciclos de vida da parte composta e seus componentes. ● Exemplo: ○ Uma Pessoa nasce com Pernas, que são criadas e não existem sem a pessoa que as Componente têm.
DOO - Modelo Conceitual
Conceitos básicos - Relacionamentos ● A herança é um tipo de relacionamento que Supertipo
permite especializar conceitos a partir de
um conceito base, mais geral. ● O relacionamento de herança segue duas Herança regras principais: ○ “é um”: estabelece que todos os conceitos do conjunto de subtipos são do tipo do supertipo, podendo ser tratados como tal. ○ “100%”: estabelece que todos os atributos, comportamentos e relacionamentos de um supertipo são, obrigatoriamente, herdados pelos Subtipo subtipos.
DOO - Modelo Conceitual
Conceitos básicos - Multiplicidade ● Relacionamentos podem ser expressos segundo diferentes multiplicidades: ○ 0..1: opcional ○ 0..*: zero a muitos Uma agência possui Uma conta pertence a uma ou mais contas ○ 1..*: um a muitos uma agência ○ n: valor específico ○ m, n, p: valores específicos ○ m..n: Intervalo específico ● Não há multiplicidade em relacionamentos de herança.
DOO - Modelo Conceitual
Conceitos básicos - Navegabilidade ● Relacionamentos podem expressar diferentes sentidos de navegação. RelatorioSobreContas conhece as contas ● Em um relacionamento unidirecional, dois conceitos podem estar relacionados, mas apenas um está ciente da relação. ● Quando não há indicação de sentido de navegação, fica subentendido Uma Conta não sabe que faz parte do relatório que todos os envolvidos estão cientes do relacionamento.
DOO - Modelo Conceitual
Modelo Conceitual e o Processo Unificado - PU ● O modelo conceitual está inserido na etapa de análise e é construído para ajudar a compreender a estrutura e como os conceitos estão associados no sistema. ● Tanto os requisitos quanto às descrições textuais de casos de uso podem ser utilizadas para identificar os conceitos relacionados ao domínio. ● A terminologia identificada durante a criação do modelo conceitual pode ser utilizada para atualizar o vocabulário dos requisitos e dos casos de uso, reduzindo ambiguidades.
DOO - Modelo Conceitual
Identificando conceitos, relacionamentos e atributos
DOO - Modelo Conceitual
Identificando Conceitos ● Considere o fluxo principal do caso de uso Emprestar Livro do sistema de bibliotecas: ○ 1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros. ○ 2. O Atendente seleciona a opção para realizar um novo empréstimo. ○ 3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor. ○ 4. O Atendente informa ao sistema a identificação do leitor. ○ 5. O Sistema exibe o nome do leitor e sua situação. ○ 6. O Atendente solicita os livros a serem emprestados. Para cada um, informa ao sistema o código de identificação do livro. ○ 7. O Sistema informa a data de devolução de cada livro. ○ 8. O Atendente desbloqueia os livros para que possam sair da biblioteca. ○ 9. O Leitor sai com os livros.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 1: Isole todos os substantivos presentes no texto: ● ○ 1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros. ○ 2. O Atendente seleciona a opção para realizar um novo empréstimo. ○ 3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor. ○ 4. O Atendente informa ao sistema a identificação do leitor. ○ 5. O Sistema exibe o nome do leitor e sua situação. ○ 6. O Atendente solicita os livros a serem emprestados. Para cada um, informa ao sistema o código de identificação do livro. ○ 7. O Sistema informa a data de devolução de cada livro. ○ 8. O Atendente desbloqueia os livros para que possam sair da biblioteca. ○ 9. O Leitor sai com os livros.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 1: Isole todos os substantivos presentes no texto:
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 2: Analise cada substantivo identificado. ● ● Verifique se ele está relacionado aos assuntos importantes no domínio do sistema, devendo ser lembrado por representar algo, fazer algo, saber de algo, etc. ● Descarte os substantivos que: ○ Fogem do escopo do sistema. ○ São sinônimos ou similares a outros substantivos já considerados. ○ São propriedades de outros substantivos.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 2: Analise cada substantivo identificado.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 2: Analise cada substantivo identificado.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 3: Isole os verbos que podem ser transformados em substantivos. ● Busque por verbos que representem ações de interesse para o sistema, relacionados aos eventos e transações que possuem informações que merecem ser lembradas.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 3: Isole os verbos que podem ser transformados em substantivos. ● Busque por verbos que representem ações de interesse para o sistema, relacionados aos eventos e transações que possuem informações que merecem ser lembradas. ○ O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja emprestar um ou mais livros. ○ O Atendente seleciona a opção para realizar um novo empréstimo. ○ O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou professor. ○ O Atendente informa ao sistema a identificação do leitor. ○ O Sistema exibe o nome do leitor e sua situação. ● Emprestar (Empréstimo), Realizar (Empréstimo realizado) e Informar (Identificação Informada) são de interesse do domínio, mas já foram analisados no Passo 2. DOO - Modelo Conceitual Identificando Conceitos ● Passo 4: Verifique se os conceitos são compostos por outros conceitos não mencionados. ● ● Para cada conceito identificado, verifique se ele possui partes que são de interesse do sistema e não foram mencionadas entre os sujeitos ou verbos analisados. ● Exemplo: Um empréstimo normalmente refere-se a vários livros emprestados em uma mesma ocasião para um mesmo leitor, ou seja, várias ocorrências de Item de Empréstimo.
DOO - Modelo Conceitual
Identificando Conceitos ● Passo 5: Aplique um checklist de conceitos recorrentes em busca de: ○ Objetos físicos ou tangíveis ○ Especificações de categorias ou catálogos ○ Lugares ○ Transações ○ Linhas de itens de transações ○ Papéis desempenhados por pessoas ○ Contêineres de outras coisas ○ Coisas em um contêiner ○ Catálogos
DOO - Modelo Conceitual
Identificando Relações ● Passo 1: Para cada par de conceitos, verifique se, fisicamente ou logicamente, um faz parte do outro. ● Exemplos: ○ Livro está fisicamente armazenado em uma estante. ○ Item de Empréstimo é, logicamente, parte de um Empréstimo.
DOO - Modelo Conceitual
Identificando Relações ● Passo 2: Para cada par de conceitos, verifique se um serve para descrever ou qualificar outro conceito. ● Exemplos: ○ Livro pode ser classificado em diversas Categorias. ○ Livro pode ser classificado por Autor.
DOO - Modelo Conceitual
Identificando Relações ● Passo 3: Para cada par de conceitos, verifique se um é responsável por registrar ou manter informações sobre o outro. ● Exemplos: ○ O Atendente é quem registra e atende o Leitor ○ O Bibliotecário é o responsável pelos Livros.
● Atenção: Incluir associações em demasia leva a um modelo confuso e pouco
legível, além de poder resultar em um sistema fortemente acoplado.
DOO - Modelo Conceitual
Identificando Atributos ● Para identificar atributos, busque na lista de substantivos isolados a partir da especificação textual os que não foram utilizados como conceitos do modelo. ● Verifique quais são relevantes ao domínio do sistema e em qual conceito do modelo esse substantivo atua como uma propriedade. ● Limite-se a adicionar os atributos pertinentes para compreender conceitos ou que serão importantes para o futuro projeto do sistema.
● Atenção: Incluir atributos desnecessários pode aumentar a complexidade do
modelo.
DOO - Modelo Conceitual
Exemplo de diagrama
DOO - Modelo Conceitual
Recapitulando ● Modelos conceituais são usados na análise para representar os conceitos do domínio. ● O modelo conceitual também ajuda a estabelecer um vocabulário comum junto ao cliente. ● Os principais elementos do diagrama são: conceito, atributo e relacionamento. ● A agregação representa uma associação envolvendo um relacionamento do tipo todo-parte. ● A composição é um tipo de associação no qual a parte não existe sem o todo. ● Uma construção precisa do modelo conceitual é vital para identificar os dados do sistema. ● A inclusão de atributos e relacionamentos desnecessários piora o entendimento do modelo.
DOO - Modelo Conceitual
Exercício ● A empresa na qual você trabalha realizará um processo de reengenharia da urna eletrônica brasileira. Para isso, você precisará identificar e documentar os casos de uso envolvidos no processo de preparação, votação e exportação dos resultados da urna, a partir de seu conhecimento como usuário ○ Elabore o Modelo Conceitual para o problema da urna eletrônica
DOO - Modelo Conceitual
Informações adicionais ● Especificação UML pela OMG: ○ https://www.omg.org/spec/UML ● Tipos de associação em UML: ○ https://www.uml-diagrams.org/association.html ● Diagrama de classes em 10 minutos (a sintaxe também serve para modelo conceitual): ○ https://www.youtube.com/watch?v=UI6lqHOVHic