• Nenhum resultado encontrado

ParteII-CertificacaoJavaSCJA-UML

N/A
N/A
Protected

Academic year: 2021

Share "ParteII-CertificacaoJavaSCJA-UML"

Copied!
42
0
0

Texto

(1)

FATEC/SJC - Tecnologia

Disciplina: LPII

UML Representation of Object-Oriented Concepts

Recognize the UML representation of classes (including

attributes and operations, abstract classes, and interfaces), the

UML representation of inheritance (both implementation and

interface), and the UML representation of class member

visibility modifiers (- private and +public).

Recognize the UML representation of class associations,

compositions, association multiplicity indicators, and

association navigation indicators.

CERTICAÇÃO SCJA

Temática UML

DEFINIÇÃO DO EXAME SCJA PARA UML

Material: https://sites.google.com/site/wizard2javadevelopers/

12/04/2012

Fonte: http://www.scja.de/scja-mock-exam-section2.html

(2)

COMO UM TÉCNICO EM TI “VENDERÁ” SEU PROJETO PARA DIFERENTES PROFISSIONAIS? Apresentará códigos em Java, C++, C, PHP, etc.? O ideal é a utilização de Modelos.

(3)

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 3

(4)
(5)

Diagramas da Unified Modeling Language (UML)

Modelo

: Descrição completa do sistema a partir de uma determinada perspectiva

Um Modelo é representado por um ou mais Diagramas. Desta forma, um diagrama pode ser visto como uma visão dentro de um modelo. Um diagrama pode ser representado de várias formas, dependendo da área de conhecimento do profissional que irá interpretá-lo.

(6)

Objetivo

O Diagrama de

Casos de Uso

tem por objetivo auxiliar a comunicação entre os

analistas e o cliente, pois esse diagrama descreve um cenário que mostra as

funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no

diagrama de Casos de Uso as principais funcionalidades de seu sistema.

Notação

O diagrama de Caso de Uso é representado por:

atores;

casos de uso;

relacionamentos entre estes elementos.

Estes relacionamentos podem ser:

associações entre atores e casos de uso;

generalizações entre os atores;

generalizações, extends e includes entre os casos de uso.

Revisão Diagrama de Casos de Uso

(7)

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 7

(8)
(9)

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 9

Relacionamentos

Include

Um relacionamento

include

de um caso de uso

A

para um caso de uso

B

indica que

B

é essencial

para o comportamento de

A

.

Pode ser dito também que

B

is_part_of

A

.

Extend

Um relacionamento

extend

de um caso de uso

B

para um caso de uso

A

indica que o caso de uso

B

pode ser acrescentado

para descrever o

comportamento de

A

(não é essencial).

Quando se especifica

B

extends

A

, a semântica é:

· Dois casos de uso são definidos: A e A extended by B;

· B é uma variação de A. Contém eventos adicionais, para certas

condições;

· Tem que ser especificado onde B é inserido em A.

Generalização ou Especialização (é_um

)

caso de uso B é_um caso de uso A (A é uma generalização de B, ou B é uma

especialização de A).

Um relacionamento entre um caso de uso genérico para um mais específico,

que herda todas as características de seu pai.

(10)
(11)

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 11

(12)

Parte estática e parte dinâmica

Partes dinâmicas do sistema:

Diagrama de Casos de Uso

Diagrama de Sequencias

Diagrama de Colaboração

Diagrama de Gráfico de estados

Diagrama de Atividades

Partes estáticas do sistema:

Diagrama de Classes

Diagrama de Objetos

Diagrama de Componentes

Diagrama de Implantação

(13)

Diagramas comportamentais

Tipos de Diagramas

Responsabilidade

Diagramas Comportamentais Organiza os comportamentos do sistema

Diagrama de Sequencia Foco na ordem temporal das mensagens enviadas e recebidas pelos objetos

Diagrama de Colaboração Foco na organização estrutural dos objetos que enviam e recebem mensagens

Diagrama de Gráfico de

Estados Foco no estado de mudanças de um sistema orientado por Eventos Diagrama de Atividades Foco no fluxo de controle entre objetos

(14)

Relacionamento entre classes

Os objetos tem relações entre eles:

Exemplo1: Um professor ministra uma disciplina para alunos

numa sala de aula;

Exemplo2: Um cliente faz uma reserva de alguns lugares para

uma determinada data, etc.

Essas relações são representadas também no Diagrama de Classe.

A UML reconhece três tipos fundamentais de relações:

- Dependência,

- Associação (Agregação e Composição)

- Generalização (ou herança).

(15)

Devido à complexidade dos softwares modernos, as classes se relacionam entre

si para cumprir uma determinada responsabilidade. O relacionamento e a

comunicação entre as classes são fundamentais para a compreensão do sistema.

A UML utiliza as seguintes notações para a representação dos relacionamentos entre classes :

Associação : São relacionamentos estruturais entre instâncias e especificam

que objetos de uma classe estão ligados a objetos de outras classes. Pode-se

ter associação uniária , binária , etc.

A associação pode existir entre classes ou entre objetos. Uma associação

entre a classe

Professor

e a classe

Disciplina

(um professor ministra uma

disciplina) significa que uma instância de Professor (um professor específico)

vai ter uma associação com uma instância de Disciplina.

Esta relação significa que as instâncias das classes são conectadas, seja

fisicamente ou conceitualmente.

Dependência - São relacionamentos de utilização no qual uma mudança

na especificação de um elemento pode alterar a especificação do elemento

dependente. A dependência entre classes indica que os objetos de uma classe

usam serviços dos objetos de outra classe.

15 Certificação SCJA - UML Prof. Aníbal Fernandes

(16)

Conceitual

Apenas classes são utilizadas. Neste tipo de perspectiva, uma classe é interpretada como um conceito, apenas atributos são utilizados.

Especificação

Tanto classes como interfaces são utilizados neste tipo de perspectiva. O foco consiste em mostrar as principais interfaces e classes juntamente com seus métodos.

Não é necessário mostrar todos os métodos, pois o objetivo deste diagrama, nesta perspectiva, é prover melhor compreensão da arquitetura do software via interfaces.

Implementação

Nesta perspectiva, vários detalhes de implementação podem ser abordados, tais como: Visibilidade (Encapsulamento) de atributos e métodos

Parâmetros de cada método, inclusive o tipo de cada um; Tipos dos atributos e dos valores de retorno de cada método.

(17)

Diagrama de Classes - Um diagrama de três faces

Descreve os vários tipos de objetos no sistema e o relacionamento entre eles.

Perspectivas: Um diagrama de classes pode oferecer três perspectivas, cada uma para um tipo de observador diferente. São elas:

Conceitual

Representa os conceitos do domínio em estudo. Perspectiva destinada ao cliente.

Especificação

Tem foco nas principais interfaces da arquitetura, nos principais métodos, e não como eles irão ser implementados.

Perspectiva destinada as pessoas que não precisam saber detalhes de desenvolvimento, tais como gerentes de projeto.

Implementação - a mais utilizada de todas (Por que?)

Aborda vários detalhes de implementação, tais como navegabilidade, tipo dos atributos, etc. Perspectiva destinada ao time de desenvolvimento.

Identifique os profissionais para cada perspectiva

(18)

Diagrama de Classes - Um diagrama de três faces

Conceitual

(19)

Diagrama de Classes - Um diagrama de três faces

Especificação

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 19

Perspectiva para a gerência (Regras de Negócio)

(20)

Diagrama de Classes - Um diagrama de três faces

Implementação

Perspectiva destinada para os desenvolvedores

(21)

O

Diagrama de Classes

é capaz de listar todos os conceitos do domínio

que serão implementados no sistema e as relações entre os conceitos.

Ele é muito importante, pois define a estrutura do sistema que será

desenvolvido.

O

Diagrama de Classes

é consequência do prévio levantamento de

requisitos

e

definição de

casos de usos e classes

. Como exemplo, vamos supor que

necessitamos desenvolver um sistema destinado à automatização de um

consultório dentário. As etapas básicas envolvidas poderiam seriam:

a)

Levantamento e análise de requisitos

do sistema a ser desenvolvido.

b)

Entrevista

com o dentista(s) e com as pessoas que trabalham no consultório

c)

Definição dos objetos do sistema

: Pacientes, agenda, dentistas, serviço,

contrato, consulta, pagamento, etc..

d)

Definição dos atores do sistema

: paciente, dentista, secretária.

e)

Definição e detalhamento dos casos de uso

:

marcar

consulta ,

confirmar

consulta ,

cadastrar

paciente ,

cadastrar

serviços , etc.

f)

Definição das classes

: Paciente, Dentista , Exame , Agenda , Serviço

g)

Definição dos atributos e métodos de cada uma das classes

(22)
(23)

Exemplo de questões do Exame SCJA - UML

Exemplo de representação UML para Herança

“Tem-Um” “Tem-Um”

(24)
(25)

Exemplo de questões do Exame SCJA - UML

Representação Gráfica UML para

classes Concretas e Abstratas

(26)
(27)

Exemplo de questões do Exame SCJA - UML

Associação: É uma conexão entre classes, e também significa que é uma conexão entre objetos daquelas classes. Uma associação representa que duas classes possuem uma ligação (link), por exemplo, elas "conhecem uma a outra", "estão conectadas com", "para cada X existe um Y" e assim por diante.

Classes e associações são muito poderosas quando modeladas em sistemas complexos.

Definição de Associação em UML

(28)

O tipo mais comum de associação é apenas uma conexão entre classes.

É representada por uma linha sólida entre duas classes. A associação possui um

nome (junto à linha que representa a associação), normalmente um verbo, mas

substantivos também são permitidos.

Pode-se também colocar uma seta no final da associação indicando que esta só

pode ser usada para o lado onde a seta aponta. Mas associações também podem

possuir dois nomes, significando um nome para cada sentido da associação.

Para expressar a multiplicidade entre os relacionamentos, um intervalo indica

quantos objetos estão relacionados no link. O intervalo pode ser de zero para um

(0..1), zero para vários (0..* ou apenas *), um para vários (1..*), dois (2), cinco para

11 (5..11) e assim por diante. É também possível expressar uma série de números

como (1, 4, 6..12). Se não for descrita nenhuma multiplicidade, então é

considerado o padrão de um para um (1..1 ou apenas 1).

(29)

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 29

Descreva o tipo de Associação apresentada nas figuras

abaixo e justifique a sua utilização

(30)
(31)

Exemplo de questões do Exame SCJA - UML

Representação UML para Diagramas

(32)
(33)
(34)

1) Identifique os atores e casos de uso em cada um dos planos

de discurso a seguir.

DESAFIO EXTRA EM UML

a) “… o sistema possibilita ao cliente atualizar seus dados

cadastrais acessando o site na internet…”

b) “… o caixa eletrônico permitirá ao associado da cooperativa

emitir um extrato da sua conta, bem como retirar ou depositar

uma quantia financeira na sua conta…”

c) “… a secretária pode importar o Registro Acadêmico dados

dos alunos do sistema administrativo, desde que informe o seu

login e senha…”

(35)

2) De acordo com a imagem a seguir:

a) Descreva as funcionalidades que o sistema é capaz de realizar. b) Identifique se há erros no Diagrama e justifique o seu ajuste. c) Construa um novo diagrama de caso de uso corrigindo os erros.

(36)

3) Crie um diagrama de classes para o seguinte problema:

Sistema de gestão de vendas imobiliárias

“Uma empresa de imobiliário vende imóveis. Para tal detém uma

carteira de clientes e uma carteira de imóveis que tenta conciliar. Os

clientes são descritos pelo seu nome e código, endereço e

telefone.Os imóveis são descritos pelo seu código, tipologia, zona,

ano de construção e preço. Os clientes têm um conjunto de

interesses que descrevem as suas preferências por tipologia, zona e

preço. Os clientes podem firmar acordos de promessa de

compra/venda com a empresa para um determinado imóvel, sendo

este acordo firmado numa determinada data. Um cliente pode

comprar mais do que um imóvel, mas para cada compra terá de ter

um acordo distinto. Identifique algumas operações nas classe e

(37)

4) Considere o seguinte discurso relativo a um sistema de

partidas de tênis:

“Num torneio de tênis, cada partida é jogada entre 2

jogadores. Pretende-se manter informação sobre o nome e

idade dos jogadores; data da partida e atribuição dos

jogadores às partidas. O máximo de partidas que um jogador

poderá realizar é 6 e o mínimo 1″.

Elabore um diagrama de classes para o problema.Identifique

algumas operações nas classe e monte um diagrama de

sequencia como exemplo.

(38)

Vamos analisar a proposta de solução do autor do livro

Diagrama de Classes

(39)

Diagrama de Sequencia

(40)

PRATICAR PARA FIXAR CONCEITOS VISANDO O EXAME SCJA

Vamos supor que há uma demanda no mercado por aplicativos que sejam capazes

de simular um dicionário Inglês – Português. A ideia é que a usuário, devidamente

Cadastrado e “logado”, entre com a palavra em inglês e o aplicativo retorne o seu

significado em português. É fornecido um arquivo ASCII para simular nosso BD.

Utilize os conceitos de Coleção

.

a - a[Article]

a - primeira letra do alfabeto.[Article] a - uma[Article]

a - um[Article]

aardvark - oricterope, porco-da-terra[Noun] aardvarks - porco-da-terra, oricterope

aback - a\s avessas[Adverb] aback - atra/s, detra/s[Adverb] aback - para tra/s[Adverb] aback - por tra/s[Adverb] aback - para trás abacus - a/baco[Noun] abacus - ábaco(Noun)[Noun] abacuses - a/bacos[Noun] En gl is h _ Po rt u gu e se .t xt

(41)

10/04/2012 Certificação SCJA - UML Prof. Aníbal Fernandes 41

Nosso objetivo é desenvolver um aplicativo dicionário Inglês - Português

1- Sobre a Documentação: Regras de Negócio

1.1 - Apresentar o Diagrama Use Case UML

1.2- Apresentar o Diagrama de Classe UML

2- Implementar em uma linguagem OO

3- Utilizar os recursos de Estrutura de Dados da linguagem, em Java temos as

famosas Coleções. Verificar qual a que mais se adaptada problema proposto

(42)

import java.util.*; import java.io.*;

public class ReadFile {

public static void main(String a[]) throws Exception { FileReader file = new

FileReader("c:\\Fatec2012\\LPII\\CertificacaoSCJA\\English_Portuguese.txt"); Scanner in = new Scanner(file);

while( in.hasNext()) { System.out.println(in.nextLine()); } } }

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

3 - Poderão se inscrever no presente processo seletivo todos docentes que queiram concorrer a ter contrato celebrado com a rede estadual de educação a partir de 2021,

Little e Amyra El Khalili; também foi dissertado sobre a Agroecologia, entendida como um caminho para uma agricultura mais sustentável; sobre a ciência homeopatia e sua aplicação

Se há algo que é certo na vida da universidade, e particularmente da Católica, é que enquanto instituição–acontecimento o seu trabalho se define por uma incompletude

A abordagem utilizada, dentro da TCS, será o conceito de controle supervisório modular de sistemas a eventos discretos temporizados, conforme proposto por Brandin e Wonham (1993),

Foram 47 menções (16%) (tabela 7) a respeito da preocupação com que as crianças apresentem um padrão de comportamento apropriado ao contexto de interação ao qual pertence

Segundo Araujo (2011) o transporte rodoviário de cargas (TRC) é responsável por mais de 60% do volume de mercadorias movimentadas no Brasil, com o seu

Juizados Especiais de Maringá Primeiro grupo foi definido como a totalidade dos entrevistados (10 entrevistados), isso possibilitará ter uma visão geral da atuação do