30
Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Embed Size (px)

Citation preview

Page 1: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação

Aula T07Modelação Conceptual• Modelos Estrutural – Instâncias e Objectos• Revisão geral do Módulo...

José Borbinha

Page 2: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 2

ProgramaT01-T03 – Módulo 1

– Introdução à Modelação de SistemasT04-T07 – Módulo 2

–Modelação Conceptual de Sistemas• T07

– Modelo Estrutural» Instâncias e Objectos

– Revisão Geral

T08-T11 – Módulo 3– Ontologias

T12-T15 – Módulo 4– Modelação de Sistemas: Dinâmica

T16-T18 – Módulo 5– Modelação de Sistemas: Arquitectura

T19-T25 – Módulo 6– Temas avançados

Page 3: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 3

Instâncias e Objectos

Page 4: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 4

Instâncias

• Uma instância é uma manifestação concreta de um conceito• Uma instância tem um estado, que pode ser alterado por

operações

• Exemplos:

– uma instância de uma classe é um objecto– uma instância de uma associação é uma ligação (link)– uma instância de um nó é um computador em concreto– uma instância de um caso de uso (use case) é um cenário

Page 5: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 5

Objectos

• Uma instância de uma classe é um objecto• Um objecto incorpora os atributos e métodos definidos na

sua classe

• Sintaxe do nome de um objecto em UML:– Nome-do-objecto : Nome-da-classe

Maria:Pessoa F33-2008:Factura

Nome da Instância

Classe

Page 6: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 6

Objectos

• O conjunto de valores dos atributos de um objecto num dado instante definem o seu estado nesse instante

• O estado de um objecto pode ser, variando ao longo do tempo à medida que o objecto interactua com outros objectos

F33-2008:Factura

Valor = 300€

Entidade: Santos e Silva SA

F34-2008:Factura

Valor = 897€

Entidade: Jaime Correia SA

Page 7: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 7

Objectos Compostos

• Um objecto composto é constituído por outros (sub)objectos.• Em geral tal reflecte relações de agregação entre as respectivas classes.• No entanto representar um conjunto relacionado (por agregação) de

objectos através de um objecto composto pode trazer clareza e simplicidade aos diagramas

my:Empresa

d-fin:Departamento

d-pro:Departamento

d-ven:Departamento

d-fin:Departamento

d-pro:Departamento

d-ven:Departamento

my:Empresa

Objecto composto

Page 8: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 8

Diagramas de Objectos• Um diagrama de objectos ilustra um conjunto de objectos

e respectivas relações num determinado momento• Um diagrama de objectos permite captar uma imagem ou

fotografia momentânea sobre determinado sistema

• Nota: Regra geral um diagrama de objectos não pretende especificar completamente a estrutura de objectos de um dado sistema, pois para cada classe há quase sempre um grande número de combinações potenciais entre instâncias. Desta forma o objectivo dos diagramas de objectos é apenas expor conjuntos relevantes de objectos de modo a melhor se entender as suas funcionalidades e relações.

Page 9: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 9

Diagramas de Objectos

• Exemplo:• Uma pessoa pode ser proprietário de vários veículos e estes

são possuídos apenas por uma única pessoa.• Um veículo tem de possuir necessariamente um motor.• Um veículo é identificado univocamente pela matrícula e possuí

ainda outras informações, tais como a cor, data de fabrico, marca e modelo.

• Um motor é identificado por um número de motor, tipo de combustível e cilindrada

Pessoa Veículomodelomatriculacor

Motornúmerocilindradacombustível

*0..1 10..1

Page 10: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 10

Diagramas de Objectos

PessoaVeículo

modelomatriculacor

Motor

númerocilindradacombustível

*0..1 10..1

ZéMaria:Pessoa

nome=“Zé Maria”

AudiA3:Veiculo

modelo=A3 TDimatricula=99-99-MMcor=vermelho

:Motor

número=9999cilindrada=1900cccombustível=gasóleo

tem tem

O Zé Maria é dono de um Audi A3 TDi vermelho, com matricula ‘99-99-MM’, que tem um motor 1900cc, com número ‘9999’

• Uma pessoa pode ser proprietário de vários veículos e estes são possuídos apenas por uma única pessoa.

• Um veículo tem de possuir necessariamente um motor.• Um veículo é identificado univocamente pela matrícula e possuí ainda outras

informações, tais como a cor, data de fabrico, marca e modelo.• Um motor é identificado por um número de motor, tipo de combustível e cilindrada

Page 11: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 11

Um diagrama de objectos bem estruturado

• Tem um foco num determinado aspecto da visão de modelação do sistema

• É pragmático: contém apenas os elementos que são essenciais à compreensão de determinado aspecto

• É consistente: providencia detalhes de forma consistente com o seu nível de abstracção

Page 12: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 12

Resumo do Módulo

Page 13: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 13

• Concepção do Sistema Especificação de Requisitos: descrição do problema na

óptica do cliente. Análise: descrição do problema na óptica do engenheiro

de sistema Desenho: especificação da solução em termos da

plataforma e tecnologia computacional usada.

Desenvolvimento e Manutenção do Sistema Concretização da solução desenhada... Testes ... Aceitação ... Manutenção ...

Contexto: Modelação e desenvolvimento de sistemas

Page 14: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 14

Modelação Conceptual

• “Na área de sistemas de informação usamos o termo Modelação Conceptual para a actividade de descoberta e descrição do conhecimento geral que um determinado sistema de informação necessita ter”

(Conceptual Modeling of Information Systems, pag. xi)

• Nota de tradução importante– “elicit” ≈ deduzir, descobrir, obter gradualmente– “elicit” ≠ licitar !!!

Page 15: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 15

Uma definição de sistema

Considera-se que um sistema tem três funções principais:

– Memória: manter a representação do estado de um domínio

– Informar: dar informação (ao exterior) sobre o estado de um domínio

– Actuar: agir para mudar o estado de um domínio

(Conceptual Modeling of Information Systems, pag. 3)

Page 16: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 16

Um domínio é o fragmento do mundo real sobre o qual é focada a tarefa de modelação e construção de um sistema.

Exemplos de domínios: – Sistema bancário nacional– Sistema universitário nacional– O futebol– ...

• Geralmente ao domínio também se dá o nome de universo do discurso (UoD = “Universe of Discourse”)

Domínio / UoD

Page 17: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 17

Conceitos• Um conceito é algo que concebemos no nosso

entendimento através da generalização de certas instâncias.

(Conceptual Modeling of Information Systems, pag. 12)

• A especificação do conjunto de conceitos de um domínio é o esquema conceptual desse domínio

– Para um mesmo domínio podemos definir mais que um esquema conceptual, dependendo da perspectiva e dos objectivos...

Page 18: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 18

Esquemas Conceptuais• Um esquema é a especificação de um modelo usando

uma determinada linguagem, a qual pode ser formal, informal (e.g., linguagem natural); de texto, gráfica, ...

• Quando a representação do esquema é gráfica designa-se usualmente por diagrama.

• A descrição do modelo de domínio de um sistema é o seu esquema estrutural.

• O esquema de comportamento especifica as acções válidas e as mudanças no estado do domínio que o sistema pode executar.

• O esquema estrutural e o esquema de comportamento de um sistema compõem um esquema conceptual.

Page 19: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 19

• Um caso se uso representa um conjunto de acções que um ou mais actores realizam num sistema para obter um resultado concreto.

• Um caso de uso deve ser representado num modo impessoal, por uma frase na voz activa, com um verbo no infinitivo (“Gerar relatórios”, “Criar factura”, “Calibrar roda”).

• Um caso de uso representa uma visão externa do sistema

– descreve o que faz um sistema (ou parte deste),

– não descreve como é que tal é realizado

Casos de Usos

Page 20: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 20

Casos de uso e Cenários• Um cenário é uma instância de um caso de uso quando

este interactua com os actores.

• É normal que um caso de uso possa ser descrito por vários cenários. Tipos de cenários: – Principal: descreve a sequência normal de acções (“happy day

scenario”)

– Alternativo ou secundário: descreve uma sequência de acções a considerar para além da principal, o que pode acontecer devido a excepções ou apenas para outras acções possíveis

Page 21: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 21

Casos de Uso: Exemplo de uma ”template”Name UC-8: Search

Summary All occurrences of a search term are replaced with replacement text.

Rationale While editing a document, many users find that there is text somewhere in the file being edited that needs to be replaced, but searching for it manually by looking through the entire document is time-consuming and ineffective. The search-and-replace function allows the user to find it automatically and replace it with specified text. Sometimes this term is repeated in many places and needs to be replaced. Other times, only the first occurrence should be replaced. The user may also wish to simply find the location of that text without replacing it.

Users All users

Preconditions A document is loaded and being edited.

Basic Course of Events

1. The user indicates that the software is to perform a search-and-replace in the document.2. The software responds by requesting the search term and the replacement text.3. The user inputs the search term and replacement text and indicates that all occurrences are to

be replaced.4. The software replaces all occurrences of the search term with the replacement text.

Alternative Paths

1. In step 3, the user indicates that only the first occurrence is to be replaced. In this case, the software finds the first occurrence of the search term in the document being edited and replaces it with the replacement text. The postcondition state is identical, except only the first occurrence is replaced, and the replacement text is highlighted.

2. In step 3, the user indicates that the software is only to search and not replace, and does not specify replacement text. In this case, the software highlights the first occurrence of the search term and the use case ends.

3. The user may decide to abort the search-and-replace operation at any time during steps 1, 2 or 3. In this case, the software returns to the precondition state.

Postconditions All occurrences of the search term have been replaced with the replacement text.

Page 22: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 22

• Uma relação de generalização entre casos de utilização permite definir casos à custa de outros já existentes, pelo mecanismo de especialização, ou alternativamente, permite definir casos mais abstractos a partir de casos concretos pelo mecanismo da redução ou generalização

Casos de Uso - Generalização

Page 23: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 23

Casos de Uso - Inclusão• A relação de inclusão entre casos de uso corresponde a uma

relação típica de delegação, significando que o caso base incorpora o comportamento do outro caso relacionado.

• Usa-se a relação de inclusão para evitar descreverem-se os mesmos fluxos de eventos inúmeras vezes… (reutilização)

Page 24: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 24

Casos de Uso - Extensão• Numa relação de extensão o caso base incorpora

implicitamente o seu comportamento num local especificado indirectamente pelo caso que o usa. Ou seja, um caso destino pode ser estendido com o comportamento de outros casos.

• O caso de uso de base é estendido num ou mais pontos, designados por “pontos de extensão”.

Atribui lugarAtribui lugar

à janela

«extend»

Page 25: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 25

Engenharia de Requisitos

• Um requisito especifica algo que um sistema deve fazer.

• Engenharia de requisitos é o processo (conjunto estruturado de actividades) que envolve um levantamento de requisitos

• Requisitos funcionais (RF) especificam as acções que o sistema deve suportar

• Requisitos não funcionais (RNF) impõem condições ou restrições sobre o sistema

Page 26: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 26

Processo Geral de Engenharia de Requisitos

Identificação de requisitos

(“elicitation”)

Análise de Requisitos e Negociação

Documentação dos Requisitos

Validação dos Requisitos

Documento de Requisitos

Especificação do Sistema...

• Objectivos de negócio• Necessidades dos utilizadores• Informação sobre o domínio• Informação sobre os sistemas existentes• Normas, leis e regulamentos a cumprir• ..,

Page 27: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 27

Técnicas de levantamento de requisitos

• Questionários• Análise de documentos• Entrevistas• JAD - Joint Application Design • Etnografia• Prototipagem• Casos de Uso (de novo...)

Page 28: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 28

Análise e Negociação de Requisitos

• O objectivo da análise é encontrar problemas, falhas e inconsistências.

• A análise deve ser intercalada com o levantamento de requisitos e suportada por uma lista de verificação de problemas

• A negociação de requisitos tenta encontrar soluções de concordância. Pode ser um processo demorado, pois obriga a consensos

Page 29: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 29

Modelação da Estrutura

• Uma classe providencia uma abstracção definida a partir do vocabulário do domínio do sistema

• Uma classe agrega um conjunto restrito e bem definido de propriedades

• Diagramas de classes representam o modelo de domínio (a visão lógica) do sistema, expressa pelo conjunto de todas as suas classes e respectivas relações.

Page 30: Modelação Aula T07 Modelação Conceptual Modelos Estrutural – Instâncias e Objectos Revisão geral do Módulo... José Borbinha

Modelação 30

Instâncias e Objectos

• Uma instância é uma manifestação concreta de um conceito

• Uma instância tem um estado, que pode ser alterado por operações

• Uma instância de uma classe é um objecto• Um objecto incorpora os atributos e métodos

definidos na sua classe