Modelação Aula T07 Modelação Conceptual

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

Modelo de Casos de Uso Diagrama de Casos de Uso
Orientação a objetos identidade abstração classificação encapsulamento
Análise e Projeto Orientado a Objetos
Trabalho de APSI II Diagrama de Instalação Victor Campolino Moussallem
Requisitos de Software
Engenharia de Software
ViewPoint (Trabalho Nº 2)
UML – Visões Parte 1 Modelando um sistema.
(Unified Modeling Language)
Casos de Uso.
Engenharia de Software
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Unified Modeling Language (UML) - Modelação da Arquitectura -
Adriano Teixeira João Vide Luís Silva Maria Pedroto
ATSI ExtendingAndFormalizingTheFrameworkForInormati onStyleArchitecture Alunos: Manuel Mendes- nº49703 Francisco Silva – nº51298 Cristina Fraga- nº51383.
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Linguagens de Modelagem para SMA
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
(Linguagem de Modelagem Unificada)
O processo de coletar os requisitos (escopo do cliente)
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Padrões para Atribuições de Responsabilidades
Especificação de Requisitos em PIT-RSL
Simone Sawasaki Tanaka
Aula T01 – Modelação de Sistemas
Modelação Aula T02 – Modelação Conceptual
Modelação Conceptual de Sistemas
Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz.
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Arquiteturas de Referência
UML – Diagrama de Classes
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Modelação Conceptual de Sistemas
Modelação Exercícios Aula T06 Engenharia de Requisitos
Aula T04 – Modelação Conceptual
Modelação Aula T01 – Modelação de Sistemas Referência: –Conceptual Modeling of Information Systems (Capítulo 1) José Borbinha.
Análise e Projeto de Sistemas
LABORATÓRIOS DE INFORMÁTICA IV ENGENHARIA DE SOFTWARE: DA TEORIA À PRÁTICA GRUPO 13.
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.
Análise de Sistemas de Informação
UML – Engenharia de Software 1
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
GERENCIAMENTO DE PROJETOS DE T.I
Laboratório de Programação
Revisão 2º Bimestre Engenharia de Software I
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Linguagem de Modelagem Unificada
Diagramas de Caso de Uso
Engenharia de Requisitos
Alberto Silva / José Borbinha
Alberto Silva / José Borbinha
Modelação Aula T05 Engenharia de Requisitos
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)
Unified Modeling Language (UML) - Introdução - Alberto Manuel Rodrigues da Silva / José Borbinha Análise e Concepção de Sistemas de Informação.
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Engenharia de Software Fluxo de Requisitos
Projeto de Banco de Dados
Eugenio García ARTech Workflow: moda, re-branding, ou necessidade real?
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Aula 02 de Eng. de Requisitos
Engenharia de Software Orientada a Objetos
Aula 04 – Analise de Sistemas Profª Rita de Cassia Gaieski
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Transcrição da apresentação:

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

Programa Modelação Conceptual de Sistemas T07 T01-T03 – Módulo 1 Introdução à Modelação de Sistemas T04-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 Modelação

Instâncias e Objectos Modelação

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 Modelação

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 Nome da Instância Maria:Pessoa F33-2008:Factura Classe Modelação

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 F34-2008:Factura Valor = 897€ Entidade: Jaime Correia SA F33-2008:Factura Valor = 300€ Entidade: Santos e Silva SA Modelação

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 my:Empresa d-fin:Departamento d-fin:Departamento d-ven:Departamento  d-ven:Departamento d-pro:Departamento d-pro:Departamento Objecto composto Modelação

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. Modelação

Diagramas de Objectos Veículo Motor Pessoa 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 Veículo modelo matricula cor Motor número cilindrada combustível Pessoa 0..1 * 0..1 1 Modelação

Diagramas de Objectos 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 Veículo modelo matricula cor Motor número cilindrada combustível Pessoa 0..1 * 0..1 1 O Zé Maria é dono de um Audi A3 TDi vermelho, com matricula ‘99-99-MM’, que tem um motor 1900cc, com número ‘9999’ ZéMaria:Pessoa nome=“Zé Maria” AudiA3:Veiculo modelo=A3 TDi matricula=99-99-MM cor=vermelho :Motor número=9999 cilindrada=1900cc combustível=gasóleo tem Modelação

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 Modelação

Resumo do Módulo Modelação

Contexto: Modelação e desenvolvimento de sistemas 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 ... Modelação

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 !!! Modelação

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) Modelação

Domínio / UoD 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”) Modelação

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... Modelação

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. Modelação

Casos de Usos 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 Modelação

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 Modelação

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 The user indicates that the software is to perform a search-and-replace in the document. The software responds by requesting the search term and the replacement text. The user inputs the search term and replacement text and indicates that all occurrences are to be replaced. The software replaces all occurrences of the search term with the replacement text. Alternative Paths 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. 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. 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. Modelação

Casos de Uso - Generalização 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 Modelação

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) Modelação

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 lugar à janela «extend» Modelação

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 Modelação

Processo Geral de Engenharia de Requisitos 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 .., 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... Modelação

Técnicas de levantamento de requisitos Questionários Análise de documentos Entrevistas JAD - Joint Application Design Etnografia Prototipagem Casos de Uso (de novo...) Modelação

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 Modelação

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. Modelação

Uma instância é uma manifestação concreta de um conceito 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 Modelação