DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

Documentos relacionados
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

Diagrama de Classes (Análise de casos de uso)

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

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

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

UML. Rodrigo Leite Durães.

Documento de Arquitetura de Software- SGE

ESTUDO DE CASO: CONVERSOR CELSIUS-FAHRENHEIT

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

UNIP Ciência da Computação AES Análise Essencial de Sistemas MER (Modelo Entidade Relacionamento)

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Fábio Amado João Maio 33306

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

Processo Unificado (PU) Unified Process

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

O Processo Unificado: Workflow de Análise. Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos

Análise de Sistemas 3º Bimestre (material 2)

Arquitetura de software

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

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

Herança - Conceitos Básicos

Mo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language)

Documento Especificação de Requisitos da Ferramenta de construção de Modelos de Casos de Uso.

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Diagrama de Componentes. Análise Orientada a Objetos

Banco de Dados I Modelagem Conceitual

USE CASES. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário. Martins

Requisitos. Silvério Sirotheau

Diagrama de Casos de Uso

ARQUITECTURAS DE SOFTWARE

ANÁLISE E PROJETO DE SISTEMAS

4.2. UML Diagramas de classes

Requisitos de Sistemas

Padrões de Projeto de Software

Arquitecturas de Software Enunciado de Projecto

Especificação, Modelação e Projecto de Sistemas Embutidos

Unified Software Development Process

Abordagem ER. Capítulo 2

Cenário atual UML Histórico

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

Interfaces e Classes Abstratas

Trata-se de uma variação do diagrama de estado com um propósito um pouco diferente do diagrama de estado:

Introdução a Sistemas de Informação

USE CASES: continuação

Programação Orientada a Objeto

Aula 01 Conceito de Banco de Dados e SGBD

Interações em UML. Modelagem e Programação Orientada a Objetos BSI DEINFO - UFRPE

4. ARQUITETURA DE UM SISTEMA

Desenvolvimento de Software

Meg Silva Gestora de Processos Contato: / Blog: Uberlândia - MG

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

É a conquista de um novo adepto para a modalidade.

Fases do OOHDM. OOHDM Um modelo para autoria de HT

Solução Pontuação O que está errado? Figura 3a) ou 3b) 0 % do valor da questão Desconhecimento do conceito de Composição.

3. Engenharia dos requisitos de software

Administração de Sistemas GNU/Linux

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

Sistema de Gestão da Qualidade ANÁLISE E INTERPRETAÇÃO DOS RESULTADOS DA AVALIAÇÃO DE DESEMPENHO DOS COLABORADORES

Guia do Processo de Teste Metodologia Celepar

UML Diagramas. UML define 9 (nove) diagramas: Diagramas de Interações

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

A Fase de Análise no Processo Unificado

3 Modelando Sistemas com UML

Guião de Exploração Didáctica Professor*

Conceitos básicos de programação

9 Classes Abstractas e Interfaces

Modelo Comportamental

Análise Wilson de Pádua Paula Filho

Ferramenta de apoio a identificação de eventos utilizando Linguagem Natural. Aluno: Ricardo Tomelin Orientador: Everaldo Artur Grahl

Banco de Dados. Diagramas de Entidade Relacionamento (DER) Ref. Prof. Renato de Oliveira Violin - UFSCar

UNIDADE 01 CIÊNCIA TECNOLOGIA SOCIEDADE

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Normas ISO:

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

Diagrama de Sequência.

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

MODELO DE BANCO DE DADOS RELACIONAL

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

Criando uma aplicação web

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

UML 04. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan.

Escolhendo um Modelo de Ciclo de Vida

Unified Modeling Language. Diagramas de Implementação

20 Aula Digital Manual do Utilizador do Aluno

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

Análise OO. Análise. Antónia Lopes Desenvolvimento C. Objectos 09/10. Antónia Lopes

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

Card Tree Creator. Um Sistema para a criação de árvores de cartões.

Interface vs. Implementação Herança vs. Composição

ENGENHARIA SIMULTÂNEA DE SISTEMAS: ESTUDO DE CASO DO DESENVOLVIMENTO DE UM AUTOMÓVEL "VERDE"

4 Arquitetura Adotada

Notas sobre o processamento de dados no SKI

Transcrição:

DS: notação Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. Martins 2008 147

DS: notação Martins 2008 148

DS: notação Mensagem condicional ou guardada (evita pergunta-resposta) Martins 2008 149

DS: notação Em geral, para a criação de objectos é usado na mensagem o estereótipo <<create>> ou a designação new() ou new(parâmetros); Em geral, para a destruição ou se usa o estereótipo <<destroy>> ou se assinala o fim do ciclo de vida do objecto com um X. Estes objectos são portanto objectos auxiliares, que são criados durante a realização da tarefa, e que podem ou não continuar a existir. Por exemplo, o objecto pode ser criado e posteriormente ser guardado num sistema persistente de dados. Martins 2008 150

DS e Fases do Projecto Tal como a tabela seguinte procura mostrar, os Diagramas de Sequência (DS) podem e devem ser usados em diferentes fases do processo, desde os requisitos ao desenvolvimento. Fase Análise Concepção lógica l Desenvolvimento da Arquitectura Aplicação Na fase de análise e captura de requisitos, os Diagramas de Sequência são usados para modelar as interações entre as instâncias de certas classes, ou seja, o comportamento necessário à realização dos UC. Tipicamente, um DS ilustra o fluxo principal de eventos do UC, e diagramas adicionais modelam alternativas importantes e excepções. As instâncias podem manter os estereótipos <<boundary>>, <<control>> ou <<entity>> das suas classes, assim tornando claro que são classes da fase de análise. Os DS, são excelentes auxiliares na identificação das classes que são necessárias a um sistema, e o que os respectivos objectos devem ser capazes de fazer nas interacções com outros. Na fase de concepção, os DS devem ser refinados de forma a modelarem como o sistema é capaz de com- pletar de facto as interações. Por exemplo, todas as mensagens dos DS devem ser associadas a métodos m concretos definidos nas classes. Algumas decisões de arquitectura podem ser definidas nesta fase, por exemplo, o número de camadas do sistema, formas de persistência dos dados, necessidade de "web services", etc. Assim, na fase de concepção os DS servem para explicar como o sistema vai funcionar para responder às interacções especificadas. Outros diagramas UML existem mais adequados para definir a arquitectura do sistema. No entanto, certos componentes podem necessitar de ter o seu comportamento especificado com DS. Martins 2008 151

DS: Refinamento Os DS a nível de Sistema (DSS) são o ponto de partida para os DS de concepção. Porém, temos que saber dividir o objecto :System nos subsistemas, ou seja, nas entidades funcionais e estruturais que irão fornecer a funcionalidade especificada e pretendida. Martins 2008 152

DS: Níveis Exemplo 1 Um DSS com :System deverá ser refinado num DS com :Subsytem1, etc Martins 2008 153

DS: Níveis Exemplo 2 Um DSS com :System deverá ser refinado num DS com Entidades Martins 2008 154

DS: Níveis Exemplo 3 Um DSS com :System deverá ser refinado num DS com Entidades Martins 2008 155

DS: Níveis Exemplo 4 Um DSS com :System deverá ser refinado num DS com Entidades O número de transacções determinadas mantém-se. Mas há novas mensagens! Martins 2008 156

DS: Nível Concepção Um DSS com :System deverá ser refinado num DS com :Subsytem1, etc Isto quer dizer que depois de termos especificado fundamentalmente comportamento (ou seja o yin do UML), cf. Use Cases, Diagramas de Actividade e Diagramas de Sequência, devemos agora preocuparmo-nos com o yang, ou seja, a estrutura. Numa metodologia OO, as entidades que compõem um sistema e que representam a sua estrutura são modeladas, naturalmente, usando CLASSES, pois são estas que criam os objectos, que são as entidades computacionais. Martins 2008 157

PASSO SEGUINTE: Concepção Numa abordagem OO, é natural que o Mega-Objecto :System seja em seguida dividido e estruturado em objectos menores com responsabilidades particulares inicialmente não clarificadas mas que agora temos que desenhar com maior detalhe. Diagramas de Classe e/ou Packages Martins 2008 158

PASSO SEGUINTE: Concepção Martins 2008 159

VIEWS e MISSÃO Os vários modelos desenvolvidos dão-nos várias views do sistema a desenvolver Agora temos de as refinar e integrar de modo coerente (análise detalhada), com vista ao desenvolvimento de um sistema software com arquitectura e desempenho correctos. Martins 2008 160

DSS: Refinamento Questão: Qual o critério ou método para se passar de um DSS para um DS de concepção? Resposta: Dividindo a blackbox :System em subsistemas que possuam a competência (o que deve saber) e a responsabilidade (o que deve fazer), para responder a certas operações especificadas ao nível do Sistema; Questão: O que são tais subsistemas num DS? Resposta: Dado que num DS de UML só há objectos, serão objectos, ainda que possam ser de tipos diferentes, ie., de classes diferentes; Questão: Como especificar então as competências e as responsabilidades de um objecto a este nível? Resposta: Há várias técnicas. Os cartões de competência-responsabilidade (CRC-cards) são uma boa técnica, que numa abordagem OO se transformam de imediato em Classes importantes Martins 2008 161

DIAGRAMAS DE CLASSES Martins 2008 162

DIAGRAMAS DE CLASSES Vamos para já estudar o que os Diagramas de Classes (DC) nos permitem especificar em UML, agora que, cf. o RUP, deixámos as preocupações de captura de requisitos para trás, e vamos passar para a análise e concepção de uma solução, na sua arquitectura e lógica de funcionamento, nas formas da sua implementação e, posteriormente, nas formas de instalação ( deployment ). Todos acreditamos, alunos e docentes, que explicadas as técnicas de captura de requisitos e análise de alto nível (cf. Diagramas de Use Cases, Use Cases e Diagramas de Actividade), e, desenvolvida e apresentada de forma consistente uma metodologia para a passagem sistemática de UCs para Diagramas de Sequência, ainda que os DSS sejam apenas diagramas de sequência de Sistema como black-boxes, o que falta agora é uma correcta definição do que se deve entender, e como tal especificar em UML, o que é, de facto, um subsistema, ou seja, uma correcta partição do que ao nível da análise se considerou como sendo o sistema. Martins 2008 163

DIAGRAMAS DE CLASSES Em UML, os tipos das entidades do sistema estruturam-se em 4 categorias designadas classificadores ( classifiers ): 1) Classe 2) Interface 3) Tipo de dados 4) Componente. Classes podem ser especificadas com vários níveis de detalhe Métodos, Atributos e suas visibilidades + # - ~ public protected private package Martins 2008 164

DIAGRAMAS DE CLASSES Quando se modela um sistema, alguns objectos estarão certamente relacionados com outros, através de relacionamentos diferentes, mas que semanticamente devem ser bem definidos. Há 5 tipos de relacionamentos expressáveis em Diagramas de Classes de UML: 1) Associação bi-direccional; 2) Associação uni-direccional; 3) Agregação de Classes (Agregação básica e Composição); 4) Associações Reflexivas; 5) Associação com Classes de Associação; Para além destas associações, podem ser usados mecanismos de classificação tais como interfaces, packages, classes abstractas, e, como é óbvio em OO, o mecanismo de herança entre classes e entre interfaces. Martins 2008 165

DC: Relacionamentos Associação bi-direccional Uma associação bidireccional é especificada por uma linha sólida que une duas classes, tendo no seu início e fim atributos de multiplicidade. Os papéis de cada classe na associação são descritos textualmente. Ler: Cada instância de Voo tem a si atribuído (assigned), num dado momento, ou 0 ou 1 instância de Avião. Cada instância de Avião tem a si atribuídos 0 ou mais voos. Martins 2008 166

DC: Relacionamentos Associação uni-direccional Uma associação unidireccional é especificada por uma linha sólida com seta, indicando que apenas uma das classes conhece o seu relacionamento com a outra (e o seu significado). Em geral é preferível definir relações bi-direccionais, porque, em tais casos, tal implica que há a questão inversa à qual é possível responder, ou seja, de uma entidade sabemos da outra e vice-versa. Martins 2008 167

DC: Agregação Básica Agregação básica Numa agregação básica, especifica-se que há uma associação entre duas classes tão forte que uma (ou mais delas) fazem parte da definição e estrutura interna da outra, e até em certo número (recordar que uma classe define objectos com dada estrutura representada por variáveis de instância que são objectos de outras classes). Aspecto importante da semântica: Embora estando cada instância de Carro associada por agregação básica (ou agregação) a 4 instâncias de Roda, se tal instância de Carro for destruída as instâncias de Roda são independentes e, portanto, permanecem vivas, não sendo destruídas. Martins 2008 168

DC: Agregação Básica Alunos existem no modelo independentemente dos cursos, cursos existem independentemente dos professores que os possam leccionar, mas há relações bem definidas entre estas entidades independentes quando se relacionam entre si. Um professor lecciona 0 ou mais disciplinas (UC), cada disciplina é estudada estudada / frequentada frequentada por 1 ou mais alunos. Martins 2008 169

DC: Composição Agregação por Composição Numa composição, especifica-se que há uma associação entre duas classes tão forte que uma (ou mais delas) fazem parte da vida da outra e, portanto, quando a instância da classe superior é destruída, todas as instâncias das classe compostas devem também ser destruídas. As classes que compõem não têm sentido sem a sua class superior. Decisões do tipo: Se uma Biblioteca for fechada os livros que lhe estavam associados são destruídos ou não? Martins 2008 170

DC: Outras Associações Associação Reflexiva Numa associação reflexiva, especifica-se que uma instância de uma classe pode referenciar uma outra da mesma classe, ainda que entre elas haja uma dada semântica de relacionamento que pode derivar de papéis semânticos diferentes (cf. Actores e generalização). Uma instância de Empregado pode ser manager de 0 ou mais empregados. Quer tenha ou não sentido, é o que está especificado. Martins 2008 171

DC: Exemplo - Interpretação Martins 2008 172