Marilene Esquiavoni
Este Caderno foi elaborado em parceria entre o Instituto Federal de Educao, Cincia e Tecnologia de So Paulo e o Sistema Escola Tcnica Aberta do Brasil e-Tec
Brasil.
Equipe de Elaborao
IFSP
Coordenao Institucional
Campus So Joo da Boa Vista
Diagramao
Matheus Flix de Andrade!
Reviso
Elizabeth Gouveia da Silva Vanni
Professor-autor
Marilene Esquiavoni
Comisso de Acompanhamento e Validao
Gustavo Aurlio Prieto
Ficha catalogrfica
Verso Preliminar
O resultado desse Edital contemplou193 escolas em 20 unidades federativas. A perspectiva do Programa que sejam ofertadas10.000 vagas, em
250 polos, at 2010.
Assim, a modalidade de Educao a Distncia oferece nova interface para
amais expressiva expanso da rede federal de educao tecnolgica dos ltimos anos: aconstruo dos novos centros federais (CEFETs), a organizao
dos Institutos Federaisde Educao Tecnolgica (IFETs) e de seus campi.
O Programa e-Tec Brasil vai sendo desenhado na construo coletiva e participaoativa nas aes de democratizao e expanso da educao profissional no Pas,valendo-se dos pilares da educao a distncia, sustentados
pela formao continuadade professores e pela utilizao dos recursos tecnolgicos disponveis.
A equipe que coordena o Programa e-Tec Brasil lhe deseja sucesso na sua
formaoprofissional e na sua caminhada no curso a distncia em que est
matriculado(a).
Braslia, Ministrio da Educao setembro de 2008.
Sumrio
Sumrio
Palavra do professor-autor
Apresentao da Disciplina
11
14
15
15
16
17
17
18
18
19
20
20
21
21
22
22
23
28
30
33
34
34
2.2.2.1 Mtodos
2.2.3 Herana
2.2.4 Polimorfismo
2.2.5 Encapsulamento
Hora de Praticar
Captulo 3 - Diagrama de Casos
3.1 Atores
3.2 Casos de Uso
3.3 Documentao de Caso de Uso
3.4 Associao
3.5 Generalizao
3.6 Incluso
3.7 Extenso
3.8 Elementos comuns a todos os diagramas da UML
3.8.1 Notas
3.8.2 Pacotes
Hora de Praticar
Captulo 4 - Diagrama de Atividades
35
36
37
38
39
42
42
43
43
44
44
45
46
47
47
47
49
52
4.1 Ns de Ao
52
4.2 N Inicial
53
4.3 N Final
53
4.4 N de Deciso
53
4.5 Exemplos de Diagrama de Atividade para consulta de
uma conta
54
Hora de Praticar
56
Captulo 5 - Diagrama de Sequncia
5.1 Atores
5.2 Objetos
5.3 Foco de Controle ou Ativao
5.4 Mensagem
5.5 Mensagens de retorno
5.6 Autochamadas ou Autodelegaes
5.7 Condies de Guarda
5.8 Exemplo de Diagrama de Sequncia
Hora de Praticar
57
57
58
58
59
60
61
62
63
64
65
65
65
66
67
67
68
68
69
69
70
70
72
73
e-Tec Brasil
Palavra do professor-autor
Sou formada em Bacharelado em Computao pela
Universidade de Taubat UNITAU. Atualmente sou professora de Informtica do IFSP Instituto Federal de Educao, Cincia e Tecnologia de So Paulo, Campus Caraguatatuba.
Proprietria intelectual de 19 softwares (conforme leis
9.609/98 e 9.610/98).
Dedico a maior parte do meu tempo aos cursos sobre
padres de projeto, anlise e projeto orientados a objetos e construo de
softwares (Visual Studio 2008 C#).
Recentemente realizei o treinamento de MCTS .NET Framework 2.0 Web
Applications onde estou me preparando para fazer a prova de Certificao
da Microsoft.
Atualmente estou escrevendo um livro para Editora LT Livros Tcnicos sobre
Hardware.
e-Tec Brasil
Tcnico em Informtica
e-Tec Brasil
e-Tec Brasil
10
Tcnico em Informtica
11
e-Tec Brasil
Apresentao da Disciplina
Em decorrncia da necessidade de padronizao das tcnicas de modelagem
de software para o modelo Orientado a Objetos, a Rational Software Corporation buscou unificar as principais tcnicas existentes e aceitas mundialmente, visando a criao de uma nica tcnica, a UML Unified Modeling
Language como tcnica padro de modelagem, existe hoje, uma grande
procura no mercado por profissionais que dominem esta tcnica.
As empresas exigem sistemas que no s atendam as necessidades
funcionais, como sejam de fcil manuteno.
O objetivo deste curso fornecer ao aluno, uma viso clara de modelagem, conceitos da Orientao a Objetos, descrio dos Diagramas utilizados para o projeto de sistemas e a aplicao desses conceitos em estudos
de casos utilizando a ferramenta JUDE, que oferece uma verso para a comunidade.
Apesar de a UML possuir um grande nmero de diagramas, voc no
dever se sentir obrigado a utilizar todos eles, pois cada um possui uma caracterstica especfica e, algumas vezes, alguns deles no so necessrios em
determinados sistemas. Cabe a voc determinar quais sero necessrios!
Embora tenha adotado a ferramenta JUDE, voc poder optar por
qualquer outra ferramenta CASE (Computer Aided Software Engineering
ou Engenharia de Software Auxiliada por Computador). Essas ferramentas
so softwares que auxiliam na execuo de uma ou mais atividades realizadas durante o processo de Engenharia de Software. Entre as diversas ferramentas existentes no mercado podemos citar:
Rational Rose totalmente orientada UML, uma das ferramentas mais completas disponveis no mercado. Inclusive foi a empresa que
incentivou a criao da UML e a primeira a lanar uma ferramenta CASE
baseada nesta linguagem.
Visual Paradigma for UML ou VP-UML Essa ferramenta oferece uma verso para a comunidade, ou seja, que poder ser baixada gra-
e-Tec Brasil
12
Tcnico em Informtica
13
e-Tec Brasil
Captulo 1
Introduo a Projetos
Objetivos da aula
- Compreender o Conceito de Projeto de Software aplicado
WEB.
- Ciclo de Vida dos sistemas e diferentes modelos
Um projeto consiste num esforo temporrio com um objetivo prestabelecido, seja para criar um novo produto, servio ou processo. Tem incio, meio e fim bem definidos, durao e recursos limitados, numa sequencia
de atividades relacionadas.
Por exemplo, criar um stio novo, ou redesenhar um stio j existente,
um PROJETO, j atualizar um stio um processo operacional permanente,
no um projeto. O resultado de um projeto sempre diferente de outros
produtos e servios existentes.
- Pode ser um produto tangvel: Um livro, uma exposio, um automvel.
- Produto intangvel: Um conjunto de processos desenhados para
a venda online de livros usados.
e-Tec Brasil
14
Tcnico em Informtica
- Seus objetivos;
- Seus limites;
15
e-Tec Brasil
- Contratar servios e adquirir equipamentos, sistemas, programas e
materiais, se necessrio.
- Fazer o controle da qualidade dos produtos e reduzir o impacto dos
seus riscos.
- Controlar e documentar periodicamente a aderncia do projeto ao
seu escopo e aos seus objetivos.
dos.
- Reforar continuamente a importncia dos processos e da reviso
dos processos de gesto de projetos.
1.2.1 Pginas
As pginas so documentos de hipertexto, ou seja, possibilita a navegao entre segmentos de texto, o usurio salta de uma informao a
outra, no necessariamente numa ordem sequencial. Elas esto gravadas em
servidores da Internet podendo ser acessadas em qualquer parte do mundo.
Uma pgina WEB tambm pode ser chamada de home Page (pgina principal). Ao iniciar o browser (navegador), ser carregada uma pgina definida
na configurao do programa como pgina inicial.
Figura 1: Pgina
e-Tec Brasil
16
Figura 2: Pgina
Tcnico em Informtica
Figura 3: Pgina
Figura 5: Pgina
Figura 4: Pgina
Figura 6: Pgina
1.2.3 Portal
So (stios) na Internet que servem como ponto de partida para outros sites ou pginas da Web.
O portal globo.com, por exemplo, permite que o usurio encontre,
em uma mesma pgina, acesso a e-mail, vdeos, notcias, entretenimento,
esportes, downloads, jogos, rdios, blogs, fotologs, sites de humor e informaes sobre programao de TVs, entre outros servios e contedos.
A principal funo dos portais conectar pessoas e informaes,
com capacidade de processamento de diversas origens no mesmo ambiente.
17
e-Tec Brasil
Figura 7: Pgina
Figura 8: Pgina
1.2.4 e-Business
De modo geral, a expresso negcios eletrnicos se refere realizao de processos comerciais pela Internet. Mais abrangente que comrcio
eletrnico, a expresso inclui o relacionamento entre parceiros comerciais,
fornecedores, distribuidores, bem como a prestao de servios a clientes,
a participao em pesquisas, o desenvolvimento de produtos, as transaes
comerciais automatizadas.
Figura 9: Pgina
1.2.5 e-Commerce
O comrcio eletrnico consiste na integrao das tecnologias da Internet com processos comerciais (verificao de negociaes, produo e
distribuio), para facilitar trocas de produtos, de servios, capitais, informaes e conhecimento.
e-Tec Brasil
18
Tcnico em Informtica
19
e-Tec Brasil
o modelo mais antigo, sendo o primeiro a ser conhecido na engenharia de software, e continua sendo implantado at hoje.
Trata-se de um modelo sequencial, onde cada passo deve ser completado antes que o prximo seja iniciado. Os nomes de cada passo variam,
mas basicamente inicia-se com a anlise de requisitos, seguindo para a fase
de desenho, codificao, implementao, testes e manuteno. Um problema neste modelo quanto aos requisitos, por ser uma nica etapa e estes
mudarem constantemente. Foi verificada ento a necessidade de dar uma
realimentao aos requistos.
e-Tec Brasil
20
Tcnico em Informtica
21
e-Tec Brasil
e-Tec Brasil
22
Tcnico em Informtica
Hora de Praticar!
1.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
2.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
3.
Voc foi contratado para atualizar um stio, voc necessita de um
projeto? Explique.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
4.
Quais as diferenas entre e-commerce e e-business? Cite exemplos
de cada um deles.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
23
e-Tec Brasil
5.
Como um modelo de ciclo de vida de fases contempla o gerenciamento de software?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
6.
O que um projeto?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
7.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
8.
Para cada um dos seguintes documentos, indique a(s) fase(s) do ciclo
de vida do software em que so desenvolvidos:
e-Tec Brasil
a.
b.
Projeto arquitetural
c.
Especificao de mdulos
d.
Cdigo fonte
e.
Plano de teste
24
Tcnico em Informtica
f.
g.
Projeto detalhado
h.
Estimativa de custo
i.
Plano de projeto
j.
Relatrio de teste
k.
Documentao
9.
a.
Teste de aceitao
b.
Planejamento do projeto
c.
Teste de unidade
d.
e.
Estimativa de custos
f.
g.
h.
Teste de sistema
i.
Reviso do projeto
j.
Implantao
k.
Especificao de requisitos
l.
Anlise de mercado
25
e-Tec Brasil
10.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
e-Tec Brasil
26
Tcnico em Informtica
Captulo 2
UML Linguagem de Modelagem
Unificada
Objetivos da aula
- Compreender os conceitos bsicos da UML.
- Assimilar o paradigma da orientao objetos.
Histrico da UML
A UML comeou a ser definida a partir de uma tentativa de Jim Rumbaugh e Grady Booch de combinar dois mtodos populares de modelagem
orientada a objeto: Booch e OMT (Object Modeling Language). Mais tarde,
Ivar Jacobson, o criador do mtodo Objectory, uniu-se aos dois, para a concepo da primeira verso do mtodo UML (Unified Modeling Language).
27
e-Tec Brasil
2.1 Caractersticas
A UML no uma linguagem de programao e sim uma linguagem
de modelagem de sistemas computacionais por meio da orientao a objetos. Pode ser empregada para visualizar, especificar, construir e documentar
os artefatos de sistemas de software.
- Descrever qualquer tipo de sistema atravs dos diagramas orientados a objetos;
- Estabelecer uma unio fazendo com que mtodos conceituais sejam tambm executveis;
- Criar uma linguagem de modelagem usvel tanto pelo homem
quanto pela mquina.
A UML abrange todas as fases do sistema, desde a fase de especificao de requisitos at a fase de testes.
Vamos l: Imagine que voc vai construir uma casa sem uma planta,
simplesmente com as ideias da sua cabea. Posso dizer que impossvel no
? Obviamente, voc dever ter um projeto muito bem elaborado, com os
clculos precisos, estimativas de custos, prazos, quantidade de material, etc.
Afinal voc o responsvel pela obra, e qualquer problema voc ter que
arcar com as consequncias no mesmo?
e-Tec Brasil
28
Tcnico em Informtica
Com isso posso dizer que impossvel desenvolver um sistema sem
antes sabermos sua arquitetura.
1.
Anlise de Requisitos: Voc ter que entender o funcionamento
do sistema e para isso dever realizar vrias entrevistas com seu cliente para
coletar essas informaes.
2.
Anlise: Agora voc ter que analisar todos os dados levantados.
Saber se as necessidades do seu cliente foram na realidade bem compreendidas. Caso contrrio, poder ocorrer de ter que modelar novamente o
sistema j em andamento, e at mesmo, em alguns casos, partir do zero.
Com isso, j teve srios problemas quanto ao prazo estipulado.
3.
Projeto: Consiste em desenvolver um rascunho do que seria seu
sistema. Hoje em dia muito mais fcil desenvolver prottipos utilizando as
linguagens de programao visual como Visual Studio. Com isso voc apresentar o seu prottipo ao seu cliente para que ele tenha uma viso geral do
funcionamento do sistema e verifique se est de acordo com as expectativas.
4.
Programao: nesta fase que voc dever escolher qual linguagem ir utilizar e transformar seu prottipo em cdigo.
5.
Testes: Agora, voc ter que testar seu sistema inmeras vezes para
ver se ele est em total funcionamento. Por fim, apresentar ao seu cliente
para que ele realize os ltimos testes e diga se est em perfeito funcionamento.
29
e-Tec Brasil
Descreverei agora de forma resumida, todos os diagramas da UML
verso 2.0. Depois iremos ver com detalhes os quatro diagramas mais utilizado na UML (Caso de Uso, Classes, Atividades e Sequencia).
Representam as funes do sistema do ponto de vista do usurio.
So representados atravs de atores e casos de uso. Sua representao deve
deixar bem transparente a ideia do sistema.
Diagrama de Classes
o mais importante da UML, serve de apoio para a maioria dos
diagramas. Esse diagrama define a estrutura das classes de um sistema, de-
30
Tcnico em Informtica
terminando os atributos e mtodos pertencentes a cada classe, alm de estabelecer como as classes se relacionam e trocam informaes entre si.
Diagrama de Atividades
Esse diagrama preocupa-se em descrever os passos a serem percorridos para a concluso de uma atividade especfica.
Diagrama de Sequencia
O diagrama de Sequencia a troca de mensagens entre os objetos
de um determinado processo.
Diagrama de Objetos
Ele um complemento do diagrama de Classes. Nos mostra os valores armazenados pelos objetos de um diagrama de Classes na execuo de
um determinado processo.
utilizado para descrever a colaborao interna das classes, interfaces ou componentes para especificar uma funcionalidade.
Diagrama de Comunicao
Na verso anterior da UML era chamado de Diagrama de Colaborao, e a partir da verso 2.0 passou a ser Diagrama de Comunicao. Ele
est associado ao diagrama de Sequncia, na realidade, um complementa o
outro. Tem um enfoque com a temporalidade do processo.
31
e-Tec Brasil
Na verso anterior da UML era chamado de Diagrama de Grfico de
Estados. Ele voltado em acompanhar as mudanas sofridas nos estados
de uma instncia de uma classe, de um Caso de Uso ou at mesmo de um
sistema completo.
Diagrama de Componentes
Ele est associado linguagem de programao escolhida para o
desenvolvimento do sistema modelado. Pode ser utilizado para modelar o
cdigo-fonte, a estrutura fsica de Banco de Dados, at mesmo as interfaces.
Diagrama de Implantao
Esse Diagrama determina as necessidades de hardware do sistema,
as caractersticas fsicas como servidores, estaes, topologias e protocolos
de comunicao, ou seja, toda a parte fsica onde o sistema ser executado.
Diagrama de Pacotes
Representa os subsistemas ou submdulos de um sistema determinando as partes que o contm.
uma variao do Diagrama de Atividade. Esse diagrama passou a
existir a partir da UML 2.0. Ele engloba diversos tipos de diagramas de interao para demonstrar um processo geral.
Diagrama de Tempo
utilizado para demonstrar a mudana no estado de um objeto no
tempo em resposta a eventos externos.
32
Tcnico em Informtica
Mas o que abstrao? Segundo o dicionrio o ato de separar
mentalmente um ou mais elementos de uma totalidade complexa (coisa,
representao, fato), os quais s mentalmente podem subsistir fora dessa
totalidade; o resultado de abstraes (termo, conceito, ideia, elemento da
classe, etc.). Traduzindo para o nosso mundo programtico significa extrair as ideias mais importantes de um objeto, descartando o restante.
Quando instanciamos um objeto, ele adquire um espao em memria para armazenar seu estado (valores de seus atributos) e um conjunto de
operaes que podem ser aplicadas ao objeto.
2.2.1 Classes
So categorias, e os objetos so membros ou exemplos dessa categoria. So formadas basicamente por mtodos e atributos. Por exemplo:
33
e-Tec Brasil
A classe representada por um retngulo que pode ter at trs divises. A primeira armazena o nome da classe, a segunda os atributos pertencentes classe e a terceira os mtodos que a classe possui. Veja um
exemplo:
2.2.2 Atributos
Representam as caractersticas de uma classe. Tambm so conhecidas como propriedades. Essas caractersticas nos permitem diferenciar um
objeto de outro da mesma classe devido tais variaes. Por exemplo:
e-Tec Brasil
- Nome da pessoa;
34
Tcnico em Informtica
- Altura da pessoa;
- Peso da pessoa.
Os atributos possuem algumas caractersticas importantes, como visibilidade, nome, tipo de dado e valor inicial. A visibilidade de um atributo
pode ser:
Pblica: representada pelo sinal de adio (+), apresentado na
frente do nome do atributo ou mtodo e significa que o atributo acessvel
(enxergado) por outras classes.
Privado: representada pelo smbolo de subtrao (-) e significa
que o atributo acessvel apenas pela prpria classe.
Protegida: representada pelo smbolo sustenido (#) e significa
que o atributo acessvel somente pela prpria classe e suas subclasses.
O tipo de dado e o valor inicial dependem da linguagem de programao
utilizada no modelo. O valor inicial refere-se a um valor definido automaticamente quando o objeto for iniciado (criado). Veja a representao na figura
16.
2.2.2.1 Mtodos
So os comportamentos ou aes que um objeto de uma classe pode
executar. Assim, os mtodos so conjuntos de instrues que so executadas
quando o mtodo chamado.
Exemplo:
Um mtodo pode ou no receber parmetros (valores que so utilizados durante a execuo do mtodo) e, em geral, pode ou no retornar
valores. Esses parmetros so colocados entre os parnteses do mtodo.
35
e-Tec Brasil
Um mtodo possui como caractersticas: visibilidade, nome, lista de
parmetros e tipo de retorno. O tipo de argumentos e de retorno depende
da linguagem de programao adotada.
2.2.3 Herana
uma caracterstica poderosa na orientao a objetos. Com ela voc
pode reaproveitar os atributos e mtodos existentes em uma classe, reduzindo o tempo de desenvolvimento, alm de reduzir tambm as linhas de
cdigo e facilitar futuras manutenes.
Digamos que voc queira desenvolver um sistema de Transportes.
Primeiramente voc criaria uma superclasse ou classe me chamada de Veiculo, por exemplo, e nela definiria todos os atributos e mtodos comuns
aos demais veculos. Depois criaria as subclasses ou classes filhas ou derivadas, como nibus, Carro, Caminho, e em cada uma delas voc definiria os atributos e mtodos especficos de cada classe. Portanto, com isso,
voc no necessita repetir cdigo quando programar as classes derivadas,
pois elas estariam herdando todas as caractersticas definidas na superclasse.
Exemplo:
e-Tec Brasil
36
Tcnico em Informtica
2.2.4 Polimorfismo
a capacidade de objetos diferentes possurem operaes com o
mesmo nome e a mesma lista de argumentos, mas que executam tarefas de
formas diferentes.
Exemplo:
O mtodo acelerar da classe Veculo poder ser chamado pela classe
Carro, como tambm por outra classe Bicicleta. As duas classes aceleram,
mas de maneira diferente, pois o carro depende do motor para acelerar e a
bicicleta depende dos pedais.
Sobrecarga de Mtodos
quando voc tem uma ao que pode ter diferentes dados de entrada, mas com um mesmo resultado. Para solucionar esse problema na
orientao a objetos, voc poder criar vrios mtodos com o mesmo nome
que executam a mesma ao, cada um possuindo um tipo de dado de entrada diferente, mas fornecendo a mesma reposta. Isso tambm pode ser
considerado Polimorfismo.
Exemplo:
37
e-Tec Brasil
ais, e retorna como resultado a soma dos dois nmeros fornecidos na forma
de um nmero real. Vejamos como ficaria isso na forma de pseudocdigo:
Alguns autores trabalham com a possibilidade dos mtodos sobrecarregados possurem tipos de dados de retorno diferentes, referenciandoos como falso-polimorfismo.
2.2.5 Encapsulamento
o ato de esconder informaes, ou seja, determinados detalhes
ficam ocultos aos demais e dizem respeito apenas ao prprio objeto. Por
exemplo:
No exemplo Veculo, como funciona o mtodo acelerao no nos
diz respeito. No interessa ao motorista como o funcionamento interno
do motor, isso responsabilidade do projetista do veculo. O motor de um
carro 0 km certamente bastante diferente do motor do carro fabricado 30
anos atrs. Mas no precisamos reaprender a dirigir por causa disso, pois a
acelerao continua a mesma.
A grande vantagem do encapsulamento o isolamento dos dados.
Vamos usar como exemplo uma classe Pessoa, onde qualquer aplicao poder usar a classe para instanciar (criar) objetos, mas jamais ter acesso
forma de como definido o nome da pessoa por exemplo.
e-Tec Brasil
38
Tcnico em Informtica
Hora de Praticar!
1.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
2.
Quais so as fases do desenvolvimento da UML? Explique cada uma
delas.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
3.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
4.
Existem no total, treze diagramas da UML, eu preciso utilizar todos
eles para modelar um sistema? Explique.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
39
e-Tec Brasil
5.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
6.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
7.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
8.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
e-Tec Brasil
40
Tcnico em Informtica
9.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
10.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
41
e-Tec Brasil
Captulo 3
Diagrama de Caso de Uso
Objetivos da aula
- Compreender os componentes e a utilizao dos casos de
uso.
No captulo anterior vimos que o Diagrama de Caso de Uso visto
sob a perspectiva do usurio. Essencial para anlise, implementao, testes
e plano do desenvolvimento do sistema. Por isso, veremos esse diagrama de
forma detalhada.
Os diagramas de Casos de Uso concentram-se em dois itens principais: Atores e Casos de Uso.
3.1 Atores
Os atores representam os papis desempenhados pelos diversos usurios que podero utilizar o sistema, podendo tambm representar um hardware e at mesmo outro software.
So representados atravs de bonecos, contendo uma breve descrio do seu significado abaixo do seu smbolo.
e-Tec Brasil
42
Tcnico em Informtica
43
e-Tec Brasil
3.4 Associao
Casos de uso e atores interagem entre si enviando sinais um ao outro, indicamos isso num diagrama atravs de associaes. Uma associao
serve para mostrar quais atores se comunicam com o caso de uso.
A associao entre um Ator e um Caso de Uso representada por
uma reta ligando o Autor ao Caso de Uso. Essa associao tem uma propriedade de navegabilidade, ou seja, o sentido que as informaes trafegam. Se
por exemplo for representado apenas por uma reta, significa que o trfego
de informaes dos dois lados, bidirecional. Se for representado por uma
seta, e ela apontar para o autor, significa que o autor inicia a interao; se
ela apontar para o caso de uso, significa que ele inicia a interao.
e-Tec Brasil
44
Tcnico em Informtica
Observando a Figura 26, podemos dizer que o ator Fsica uma
especializao de Pessoa, bem como, Pessoa uma generalizao de
Jurdica. O mesmo raciocnio se aplica aos casos, da Figura 27, podemos
dizer que Conta Especial uma especializao de Conta, e Conta
uma generalizao de Conta Especial e de Conta Comum.
45
e-Tec Brasil
3.6 Incluso
Os relacionamentos de incluso ocorrem quando existe um servio,
situao comum a mais de um caso de uso. Indicam uma obrigatoriedade,
ou seja, a execuo do primeiro obriga tambm a execuo do segundo.
representada por uma seta tracejada com uma seta em uma das
suas extremidades, apontando para o caso includo. Alm disso, costumam
apresentar um Esteretipo (destaque) que contm o texto include, entre dois sinais de << (menor) e dois sinais de >> (maior).
De acordo com o caso de uso representado acima podemos verificar
que sempre que houver um saque ou um depsito dever fazer um registro
de movimento. Portanto, o caso de uso Registrar Movimento ser executado
obrigatoriamente sempre que o caso de uso Depsito ou Saque forem utilizados.
3.7 Extenso
So utilizados para descrever cenrios opcionais de um caso de uso,
ou seja, poder ou no acontecer. A representao de uma extenso bastante semelhante associao de incluso, diferenciando-se apenas o do
esteretipo conter o texto extend em vez de include e na direo
da seta.
e-Tec Brasil
46
Tcnico em Informtica
No exemplo acima, um cliente vai at o funcionrio de um banco e
solicita o encerramento de sua conta. Como todos sabem, para podermos
encerrar uma conta necessrio que o saldo da conta seja igual a zero. Portanto, neste caso, o caso de uso Encerrar Conta verifica o saldo da conta,
estando positivo, o cliente far um saque para zerar sua conta e consequentemente encerr-la, portanto acionando o caso Saque. Se a conta estiver negativa, acionar o caso de uso Depsito para que o cliente deposite o valor
necessrio para poder zerar a conta e encerr-la.
47
e-Tec Brasil
3.8.2 Pacotes
Organizam elementos em grupos e costumam ser utilizados na modelagem de sistemas muito extensos, principalmente quando existem vrios
sistemas ou subsistemas integrados. Ele utilizado para estruturar o modelo
de caso de uso, dividindo-o em partes menores, mais fceis de entender.
Possibilita tambm organizar a distribuio dos trabalhos e responsabilidades dos desenvolvedores de acordo com a rea de competncia de cada
membro da equipe em um ambiente de desenvolvimento paralelo.
So representados por um retngulo grande com uma aba, semelhante a uma pasta de trabalho. A visibilidade de um elemento de pacote
pode ser indicada por um smbolo de adio + para o pblico e de subtrao - para o privado.
e-Tec Brasil
48
Tcnico em Informtica
Hora de Praticar!
1.
Desenvolva um Diagrama de Casos de Uso para um sistema de videolocadora equivalente ao mdulo de locao de fitas de filmes de acordo
com as seguintes afirmaes:
a.
Ao realizar uma locao, o scio deve primeiro informar seu cdigo
para que o atendente possa verificar se o mesmo se encontra cadastrado.
Se o scio no estiver cadastrado, ento a locao dever ser recusada, e o
scio ser informado de como proceder para se cadastrar. Caso esteja cadastrado, o atendente deve verificar se o scio em questo j devolveu todas
as locaes feitas anteriormente. Se no o tiver feito, a locao dever ser
recusada.
b.
Caso o scio tenha quitado todas as locaes anteriores, ento este
dever informar os nmeros das cpias dos filmes que deseja locar. Em seguida, o atendente registrar a locao e fornecer as cpias em questo ao
scio.
c.
responsabilidade do atendente realizar a manuteno dos filmes
e de suas respectivas cpias. Registrando os novos filmes adquiridos pela
locadora, por exemplo.
2.
Desenvolva um Diagrama de Casos de Uso para um sistema de cursos de informtica equivalente ao mdulo de matrcula de acordo com os
seguintes fatos:
a.
O aluno primeiramente solicita informaes ao atendente sobre quais
cursos a empresa oferece. Se o aluno se interessa por algum deles, pedir
informaes a respeito de quais turmas do curso em questo encontra-se
em aberto, qual o horrio em que as aulas sero ministradas, a data prevista
para incio das aulas e o mnimo de alunos necessrios para que uma turma
inicie o curso.
b.
Caso o horrio de alguma turma seja compatvel com os horrios
do aluno, este realizar a matrcula em uma turma relativa ao curso em que
se interessou. Caso o aluno nunca tenha feito nenhum curso na empresa
e, portanto no esteja cadastrado, dever ser registrado antes de realizar a
49
e-Tec Brasil
matrcula.
3.
Desenvolva um Diagrama de Casos de Uso para um sistema de venda de passagens areas pela internet, equivalente ao mdulo de compra de
passagens por um cliente, levando em considerao os seguintes fatos:
a.
O Cliente deve selecionar o local de origem (cidade e aeroporto de
onde partir) do voo e o local de destino, informando ainda se deseja uma
passagem s de ida ou de ida e volta. Em seguida o cliente deve selecionar
a data de partida e, se tiver optado por ida e volta, a data de retorno.
b.
Em seguida, o cliente deve pressionar o boto consultar (se as opes
que lhe foram apresentadas o satisfizeram, pode acontecer de no haver
vos para a cidade desejada, caso em que o cliente ser obrigado a desistir),
para visualizar os horrios e classes (econmico, executivo, etc.) disponveis
do voo desejado.
c.
Caso o cliente esteja de acordo com o horrio e o preo de algum
dos voos apresentados, ento ele deve pressionar o boto comprar passagens, onde selecionar as poltronas disponveis, bem como o nmero de
parcelas com que deseja pagar a passagem.
4.
Elabore um Diagrama de Caso de Uso para um Sistema On-line de
Controle de uma Agncia de Turismo que possui as especificaes a seguir.
a)
O cliente poder fazer pesquisa de preos, reservar passagens e comprar passagens;
b)
O atendente poder lanar preos de passagens, efetivar venda de
passagens, sendo que aps a efetivao da venda poder, eventualmente,
emitir nota fiscal;
c)
O gerente efetua as operaes de acompanhamento de vendas, levantamento de frequncia dos funcionrios.
e-Tec Brasil
d)
50
Tcnico em Informtica
a)
b)
c)
51
e-Tec Brasil
Captulo 4
Diagrama de Atividades
Objetivos da aula
- Compreender os componentes e o uso dos diagramas de
classe.
Esse diagrama utilizado para modelar atividades, que podem ser
um mtodo ou um algoritmo, ou at mesmo um processo completo.
O diagrama de atividades o diagrama com maior nfase ao nvel de
algoritmo da UML e provavelmente um dos mais detalhistas. Ele apresenta
muitas semelhanas com os antigos fluxogramas, sendo comum encontrarmos diagramas de Atividades utilizando pseudocdigo ou at mesmo uma
linguagem de programao real como C ou Pascal.
O diagrama de Atividades baseia-se no conceito de Rede de Petri,
um modelo grfico que permite analisar a estrutura e o comportamento
dinmico de sistemas concorrentes, paralelos, etc.
4.1 Ns de Ao
Representa um passo, uma etapa que deve ser executada em uma
atividade. Um n de ao no pode ser decomposto, ele atmico. Um n
de ao no possui aes internas e sua execuo considerada to rpida
que no pode ser interrompida. representado por um retngulo com bordas arredondadas, conforme mostrado na figura 28.
Figura 32: Ns de Ao
e-Tec Brasil
52
Tcnico em Informtica
4.2 N Inicial
utilizado para representar o incio da Atividade, e representado
por um crculo preenchido.
4.3 N Final
utilizado para representar o final da Atividade, e representado
por um crculo preenchido dentro de um vazio.
4.4 N de Deciso
tambm um de n de controle, utilizado para representar uma
escolha entre dois ou mais fluxos. uma tomada de deciso, onde de acordo com essa deciso, o fluxo optar por executar um determinado fluxo ou
conjunto de Ns de Ao. Um N de Deciso representado por um smbolo
de losango.
53
e-Tec Brasil
Ao analisarmos a Figura 31, veremos que ao ser solicitado os dados
para efetuar o login sero analisados e se estiverem corretos ser validado.
No caso dos dados no estarem corretos ir para o final.
A consulta de uma conta inicia com o recebimento do nmero da
conta que se deseja consultar. Na segunda etapa do algoritmo, tenta-se encontrar uma conta com um nmero igual ao informado. Na terceira etapa
toma-se uma deciso, caso tenha-se encontrado uma conta com um nmero
informado. Ento ser apresentada na tela uma mensagem de conta vlida;
caso contrrio, surgir na tela uma mensagem de conta invlida. Note que
utilizado um smbolo de deciso tambm para unir o fluxo de controle sepa-
e-Tec Brasil
54
Tcnico em Informtica
55
e-Tec Brasil
Hora de Praticar!
Vamos dar continuidade s modelagens anteriores dos sistemas j
iniciados, enfocando agora, Diagrama de Atividades.
1.
Desenvolva o Diagrama de Atividades para o sistema de videolocadora (1 exerccio do mdulo de Diagrama de Caso de Uso).
2.
Desenvolva o Diagrama de Atividades para o sistema de Cursos de
Informtica (2 exerccio do mdulo de Diagrama de Caso de Uso).
3.
Desenvolva o Diagrama de Atividades para o sistema de venda de
passagens areas pela internet (3 exerccio do mdulo de Diagrama de Caso
de Uso).
e-Tec Brasil
56
Tcnico em Informtica
Captulo 5
Diagrama de Seqncia
Objetivos da aula
- Compreender os componentes e o uso dos diagramas de
sequencia.
Este diagrama faz parte de um grupo conhecido como Interao de
Objetos, composto pelo diagrama de Sequncia e pelo diagrama de Colaborao, procura determinar a sequencia de eventos que ocorrem em um
determinado processo, identificando quais mtodos devem ser disparados
entre os atores e objetos envolvidos e em que ordem.
O diagrama de Sequncia baseia-se no diagrama de Caso de Uso,
mas nem sempre um caso de uso gera um diagrama de Sequncia.
Vejamos agora os componentes utilizados em um diagrama de Sequncia.
5.1 Atores
So os mesmos do diagrama de Caso de Uso, ou seja, entidades
externas que interagem com o sistema. Sua representao so os bonecos
s que agora com uma linha de Vida, que nada mais o tempo em que o
objeto existiu durante o processo. Elas so representadas por linhas finas
verticais tracejadas, partindo do retngulo que representa o objeto. A Linha
de Vida interrompida com um X quando o objeto destrudo.
57
e-Tec Brasil
5.2 Objetos
Representam as instncias das classes. Ele pode existir desde o incio
do processo ou ser criado durante o decorrer da execuo do mesmo. So
representados como retngulos contendo um texto com o nome do objeto
em minsculo, e depois o nome da classe, com a inicial maiscula, a qual o
objeto pertence. Essas duas informaes so separadas por (:) dois pontos.
Tambm possuem uma linha de Vida, representada por uma linha tracejada
que surge abaixo do objeto.
e-Tec Brasil
58
Tcnico em Informtica
5.4 Mensagens
So provocadas pelos eventos e pode conter uma descrio, uma
chamada de um mtodo ou ambos. As mensagens podem ser disparadas
entre:
Dois autores, o que no muito comum, pois pode deixar os diagramas mais extensos;
Um ator e um objeto;
Dois objetos;
Um objeto e um ator.
As mensagens so representadas por retas entre dois componentes
envolvidos, contendo uma seta para indicar qual objeto ou ator disparou a
mensagem para outro objeto.
Os textos contidos nas mensagens primeiramente identificam qual
evento ocorreu e foro o envio da mensagem e qual mtodo foi chamado.
Elas so representadas na posio horizontal entre as linhas de vida dos
componentes, e sua ordem sequencial demonstrada de cima para baixo
no diagrama, alm de possurem uma numerao identificadora da tempo-
59
e-Tec Brasil
Ao compararmos as duas figuras, podemos perceber que a mensagem trocada entre os atores da figura 40a representada por uma seta fina,
enquanto que a mensagem entre os objetos da figura 40b representada
por uma seta grossa, pois ela dispara um mtodo.
Uma mensagem tambm pode representar um mtodo destrutor, ou
seja, um mtodo que elimina um objeto que no mais necessrio.
e-Tec Brasil
60
Tcnico em Informtica
61
e-Tec Brasil
Analisando a figura 43, podemos perceber que o mtodo Gravar s
ser disparado se for considerado necessrio, conforme demonstra o texto
entre os colchetes na mensagem.
Associada s Condies de Guarda, possvel representar o disparo
de uma mensagem a vrios objetos, utilizando o smbolo de asterisco (*), e
dever estar posicionado antes da Condio de Guarda.
e-Tec Brasil
62
Tcnico em Informtica
Como podemos ver, um pedido pode conter muitos itens de pedido.
Assim, caso o pedido seja confirmado, cada um dos seus itens precisa ser
gerado.
Analisando a figura 43, o cliente solicita o pedido de abertura de
conta, com a devida documentao necessria exigida pelo banco. O banco,
que est representado pelo funcionrio, ir consultar o cadastro de clientes,
disparando o mtodo ConCPF na classe Fsica e passando como parmetro
o CPF do cliente, para verificar se j se encontra cadastrado. Se ele estiver
cadastrado, a consulta retornar as informaes do cliente, caso contrrio
retornar um valor significando que o cliente ainda no possui cadastro no
banco.
Em seguida, o cadastro do cliente poder ser atualizado, caso necessrio,
podendo gerar uma nova instncia da classe Cliente, se o solicitante no
estiver cadastrado.
Antes de finalizar a atualizao do cliente, algumas consistncias devem ser levadas a efeito, uma delas o disparo do mtodo para validao
do CPF pelo prprio objeto da classe cliente. Aps o trmino da atualizao,
o objeto da classe cliente retornar algum sinal para o funcionrio do banco,
indicando que o cliente foi atualizado com sucesso ou se ocorreu algum
erro.
O banco ir, ento, informar ao cliente se o seu pedido foi ou no
aprovado. Em caso de aprovao, o cliente ir fornecer o valor inicial neces-
63
e-Tec Brasil
Hora de Praticar!
Vamos dar continuidade s modelagens anteriores dos sistemas j
iniciados, enfocando agora, Diagrama de Sequncia.
1.
Desenvolva o Diagrama de Sequncia para o sistema de videolocadora (1 exerccio do mdulo de Diagrama de Caso de Uso).
2.
Desenvolva o Diagrama de Sequncia para o sistema de Cursos de
Informtica (2 exerccio do mdulo de Diagrama de Caso de Uso).
3.
Desenvolva o Diagrama de Sequncia para o sistema de venda de
passagens areas pela internet (3 exerccio do mdulo de Diagrama de Caso
de Uso).
e-Tec Brasil
64
Tcnico em Informtica
Captulo 6
Diagrama de Classes
Objetivos da aula
- Compreender o uso de diagramas de classes, bem como os
seus componentes.
O diagrama de Classe mostra a estrutura esttica do modelo, em
que os elementos so representados por classes, com sua estrutura interna
e seus relacionamentos. Tambm podem organizados em pacotes, mostrando somente o que relevante em um pacote especfico, considerando, por
exemplo, o contexto que um grupo de classes tem em comum (estoque,
venda, etc.), ou os atores que utilizem seus servios (vendedor, almoxarife,
etc.).
o diagrama mais utilizado da UML. Pode ser utilizado para modelar
o modelo lgico de um Banco de Dados, quando se assemelha aos antigos
Modelos Entidade-Relacionamento.
importante destacar a existncia de Classes persistentes e no persistentes. Uma classe persistente uma classe cujos objetos precisam ser preservados fisicamente de alguma maneira, o que no ocorre em classes no
persistentes, cujos objetos so destrudos durante a execuo do sistema ou
quando este for encontrado.
6.1 Relacionamentos
As classes se relacionam entre si com o objetivo de compartilhar informaes e colaboram para a execuo dos processos executados pelo sistema. Veremos agora as possveis formas de relacionamentos em diagramas
de Classes.
65
e-Tec Brasil
Ocorre quando existe um relacionamento de um objeto de uma classe com objetos da mesma classe.
Uma instncia da classe Scio pode no ter nenhum dependente (0),
ou pode ter vrios (*).
e-Tec Brasil
66
Tcnico em Informtica
6.1.4 Agregao
um tipo especial de Associao onde se tenta demonstrar que as
informaes de um objeto (chamado objeto todo) precisam ser complementadas pelas informaes contidas em um ou mais objetos de outra Classe
(chamados objeto parte). Este tipo de Associao tenta demonstrar uma
relao Todo/Parte entre os objetos associados.
Na figura 47, indica que a classe Pedido armazena os objetos todo e
uma classe item_Pedido, onde so armazenados os objeto parte; portanto
Pedido possui item_Pedido.
6.1.5 Composio
Esta associao uma variao da Agregao, onde apresentado
um vnculo mais forte entre os objetos todo e os objetos parte, procurando
demonstrar que os objetos parte tem que estar associados a um nico objeto todo.
67
e-Tec Brasil
6.1.6 Especializao/Generalizao
uma associao similar e de mesmo nome utilizada no Caso de
Uso. Seu objetivo identificar classes-me, chamadas gerais e classes filhas,
chamadas especializadas. Essas associaes demonstram a ocorrncia de herana e possivelmente mtodos polimrficos na classe especializada.
6.1.7 Dependncia
Esse tipo de relacionamento no costuma ser encontrado com muita
frequncia nos diagramas de classes. utilizado quando gera algum grau de
dependncia de uma classe em relao outra, isto , sempre que ocorrer
uma mudana na classe da qual uma classe depende, esta dever tambm
sofrer a mudana. representado por uma linha tracejada entre duas classes
contendo uma seta apontando a classe da qual a classe posicionada na outra
extremidade do relacionamento dependente de alguma forma.
6.1.8 Realizao
e-Tec Brasil
68
Tcnico em Informtica
lacionamentos de generalizao e dependncia, sendo usada para identificar classes responsveis por executar funes para classes que representam
interfaces. Esse tipo de relacionamento herda o comportamento de uma
classe, no sua estrutura.
69
e-Tec Brasil
Como podemos observar na figura 56, uma revista cientfica tem
ao menos uma edio, mas poder ter diversas. No entanto, uma edio
pertence nica e exclusivamente a uma revista, motivo pelo qual representamos essa associao como uma composio. Outro exemplo de composio
ocorre entre a classe Edio e a classe Artigo, em que tem obrigatoriamente
de publicar no mnimo seis artigos, podendo vir a publicar at dez. No entanto, um artigo cientfico s pode ser publicado uma vez, o que determina
que uma instncia da classe Artigo s possa se relacionar com uma instncia
especfica da classe Edio, o que identifica uma composio.
Em seguida, podemos observar que existe uma associao binria
entre as classes Edio e Autor. Tal associao significa que um artigo pode
ser escrito por muitos autores e um autor pode escrever muitos artigos. Com
a multiplicidade das duas extremidades da associao possui o valor muitos
(*), fora a existncia de uma classe associativa para armazenar os atributoschave das duas classes envolvidas na associao.
Podemos ainda identificar uma agregao entre as classes Locao e
item Locao. Cada Locao precisa ser registrada. No entanto, no possvel saber quantas revistas seriam locadas por um scio em cada locao,
podendo ser apenas uma ou vrias.
Um scio pode realizar muitas locaes ao longo do tempo, no entanto uma locao refere-se a um nico scio. Como as informaes de
locao no constituem um complemento obrigatrio da classe Scio, a as-
e-Tec Brasil
70
Tcnico em Informtica
Hora de Praticar!
Vamos dar continuidade s modelagens anteriores dos sistemas j
iniciados, enfocando agora, Diagrama de Classes.
1.
Desenvolva o Diagrama de Classes para o sistema de videolocadora
(1 exerccio do mdulo de Diagrama de Caso de Uso).
2.
Desenvolva o Diagrama de Classes para o sistema de Cursos de Informtica (2 exerccio do mdulo de Diagrama de Caso de Uso).
3.
Desenvolva o Diagrama de Classes para o sistema de venda de passagens areas pela internet (3 exerccio do mdulo de Diagrama de Caso de
Uso).
71
e-Tec Brasil
Bibliografia
LIMA S. A. UML 2.0 Do Requisito Soluo. 3 ed. So Paulo: Editora rica,
2008.
GUEDES, G. T. A. UML Uma Abordagem Prtica. 3 ed. So Paulo: Editora
Novatec, 2008.
VERGAARD, G.; PALMKVIST, K. Use Cases Patterns And Blueprints. New
Jersey, USA: Pearson Education, 2004.
RUNBAUGH, J.; JACOBSON, I.; BOOCH, G. The Unified Modeling Language
Reference Manual. Massachustts, USA: Addison Wesley Longman, 1999.
BOGGS, W.; BOGGS, M. UML with Rational Rose 2002. Califrnia, USA:
Sybex, 2002.
e-Tec Brasil
72
Tcnico em Informtica