Escolar Documentos
Profissional Documentos
Cultura Documentos
Desenvolvimento de sistemas
O desenvolvimento de sistemas � um processo intelectual e progressivo, em que os
profissionais envolvidos adquirem mais conhecimento do sistema � medida que avan�am
no entendimento da realidade em que o sistema est� inserido.
Nada mais s�o que diagramas gr�ficos que representam a realidade e ajudam os
desenvolvedores a compreend�-la. Portanto, modelar um sistema consiste em criar um
conjunto de modelos sob a forma de diagramas, que representam a estrutura e o
comportamento de um sistema.
Para entender um pouco mais sobre a modelagem de sistemas, clique no bot�o abaixo:
Podemos citar como exemplo o caso de uma construtora que, quando idealiza um
empreendimento, constr�i uma maquete que representa a realidade, ou seja, ela
constr�i um modelo da realidade. Pela maquete, tanto a equipe de constru��o como os
clientes t�m a no��o do que ser� o empreendimento (disposi��o no terreno, �rea
comum etc.), diminuindo, consideravelmente, a abstra��o e aproximando-o da
realidade. Da mesma forma, um diagrama gr�fico representa o sistema, sob
determinada vis�o.
Mas a maquete n�o � o �nico modelo usado para uma constru��o civil. S�o
necess�rias, tamb�m, diferentes plantas que descrevam as caracter�sticas de cada
etapa da constru��o, tais como planta baixa, planta hidr�ulica, planta el�trica e
outras. Analogamente a essas plantas, temos, no contexto da modelagem de sistemas,
outros diagramas, que ajudar�o os t�cnicos a especificar como o sistema deve ser
constru�do.
� medida que os sistemas tornaram-se mais complexos e robustos, uma nova abordagem
se fez necess�ria para estudar, entender e modelar o sistema a ser desenvolvido.
Surgia o paradigma Orientado a Objetos, tamb�m chamado paradigma OO.
Um modelo OO tem com entidade fundamental o Objeto, que recebe e envia mensagens,
executa procedimentos e possui um estado que, por prote��o, apenas ele pr�prio pode
modificar. Nesse processo, problemas s�o resolvidos, por meio de objetos, que
enviam mensagens uns aos outros.
Objeto
� o principal elemento do modelo OO. Representam as �coisas� a serem modeladas do
mundo real. Um objeto pode ser algo concreto como um carro, um aluno ou algo
abstrato como uma disciplina, um curso. Cada objeto possui os dados inerentes a
ele, como por exemplo, Nome (Jos�) e Matr�cula (201101272201) de um objeto Aluno e
possui as opera��es que ele executa, como incluir novo aluno ou alterar dados de um
aluno existente.
Mensagem
Quando um objeto deseja que seja executada uma opera��o de responsabilidade de
outro objeto, ele manda uma mensagem a esse objeto informando o que ele deseja que
seja feito. A opera��o desejada ser� implementada por meio de um m�todo da classe
que recebe a mensagem, conforme a imagem abaixo:
Atributos
S�o dados que caracterizam o objeto.
Metodos
� um procedimento (implementado por uma rotina ou fun��o) que executa uma opera��o
em um objeto, que define parte de seu comportamento.
Classes
� um conjunto de objetos com as mesmas caracter�sticas (atributos e m�todos).
Conforme ilustrado na imagem a seguir, Maria e Pedro s�o objetos da classe PESSOA,
cujas caracter�sticas em comum s�o:
Podemos dizer, portanto, que �Objeto � uma inst�ncia de uma classe�, isto �, a
classe � o molde e o objeto, a �coisa real�.
Existe uma diferen�a entre os conceitos de classes e objetos. Para visualizar um
exemplo dessa diferen�a, clique no bot�o ao lado:
Encapsulamento
Encapsular significa esconder, ou seja, o objeto esconde seus dados (atributos) do
acesso indevido de outros objetos. Os dados somente devem ser acessados por m�todos
(funcionalidades que implementam o comportamento do objeto) da pr�pria classe, o
que pode ser visualizado na figura abaixo:
Heran�a
Mecanismo para derivar novas classes a partir da defini��o de classes existentes
atrav�s de um processo de refinamento.
Polimorfismo
A palavra polimorfismo, deriva do grego, e significa �muitas formas�. A partir do
momento em que uma classe herda atributos e m�todos de uma (heran�a simples) ou
mais (heran�a m�ltipla) classes base, ela tem o poder de alterar o comportamento de
cada um desses procedimentos (m�todos).
Visibilidade
Outro conceito fundamental, � a visibilidade entre as classes. A visibilidade diz
respeito ao que uma classe pode visualizar da outra. Como princ�pio, devemos
garantir o encapsulamento, ou seja, os atributos devem ser privados (acess�veis
apenas por m�todos da pr�pria classe) e determinados m�todos p�blicos (acess�veis
por todas as classes), e acessar esses dados.
A atividade de an�lise, por ser muito abrangente, costuma ser dividida em:
Por outro lado, a atividade de projeto denota uma solu��o, voltada a atender aos
requisitos, considerando aspectos de tecnologia. Em geral, o projeto enfoca a
arquitetura do sistema, definindo suas partes e a rela��o entre elas.
Portanto, an�lise pode ser traduzida em �fa�a a coisa certa�, e projeto em �fa�a
certo a coisa�.
A UML � destinada �:
Visualiza�ao
A modelagem gr�fica tende a facilitar a compreens�o, permitindo sua interpreta��o
sem ambiguidades.
Especifica�ao
Permite a constru��o de modelos precisos, sem ambiguidades e completos. A UML
atende a esses quesitos sob o ponto de vista da an�lise, projeto e implementa��o.
Constru�ao
Os diagramas UML podem ser diretamente integrados a v�rias linguagens de
programa��o tais como Java e C++.
Documenta�ao
A UML abrange a documenta��o da arquitetura do sistema e de todos os seus detalhes.
Uso da UML
Como a UML n�o determina quais diagramas usar nem por onde come�ar, cada um come�a
por onde desejar. Nem mesmo os idealizadores da UML conseguem usar todos os
diagramas. Geralmente, as empresas escolhem um subconjunto deles e implementam nas
fases de seus processos de desenvolvimento de sistemas. O ideal � que voc� encontre
o seu conjunto de diagramas que funcione para o tipo de sistema que desenvolve.
Por exemplo: muitos come�am pelo Diagrama de classes, na medida em que o consideram
o diagrama mais relevante. Por�m muitos iniciam pelo Diagrama de Casos de uso, cuja
finalidade � modelar as principais funcionalidades do sistemas para atender �s
necessidades de seus usu�rios. Ambos est�o usando a UML de forma correta e
expressando como visualizam a sequencia mais adequada para desenvolver sistemas.
Martin Fowler e Steve Mellor propuseram tr�s modos pelos quais pode-se usar a UML
no desenvolvimento de sistemas:
S�o processos onde o ciclo de vida do sistema � dividido em uma s�rie de mini
projetos, curtos, preferencialmente de dura��o fixa (por exemplo, 3 meses),
denominados itera��es.
Para conhecer um pouco mais sobre os processos iterativos, clique no bot�o ao lado:
Muitas equipes, por exemplo, usam UML para desenhos � m�o em reuni�es e para
discuss�o de ideias.
Para visualizar uma proposta de fluxo de trabalho com os resultados em cada fase,
usando a UML em um processo iterativo, clique no bot�o abaixo:
Com base no texto acima, identifique as funcionalidades que o sistema precisa ter
para atender as necessidades do gerente e da Dona S�lvia.
As funcionalidades s�o:
Aula 02
Requisitos de um sistema
O primeiro passo para a modelagem de um sistema � saber quais s�o os seus
requisitos. Nesse processo, o levantamento e mapeamento adequado dos requisitos de
um sistema s�o passos fundamentais para o sucesso do produto final a ser gerado: o
software.
Levantamento de requisitos
De uma forma geral, os requisitos s�o necessidades dos usu�rios que os sistemas
precisam atender.
Levantamento de requisitos
Pense um pouco:
Levantar requisitos implica em sabermos o que o sistema precisa fazer para atender
as necessidades de seus usu�rios. A qualidade do levantamento de requisitos
influencia todo o processo de desenvolvimento, especialmente as valida��es junto
aos usu�rios, necess�rias ao longo do processo de desenvolvimento e sobretudo na
adequa��o do software.
Tipos de requisitos
Como vimos, o diagrama de casos de uso tem como objetivo apresentar os requisitos
funcionais do sistema. Ou seja, � um diagrama que come�a a ser usado ap�s o
levantamento de requisitos, de forma a mapear as funcionalidades do sistema,
documentando o que o sistema faz.
O diagrama de casos de uso pode, ainda, ser usado durante determinadas t�cnicas de
elicita��o de requisitos, como o JAD (Joint Application Design), que visa extrair
requisitos de usu�rios de forma coletiva e colaborativa.
Por ser simples, o diagrama de casos de uso possui poucos elementos pass�veis de
serem representados, que s�o:
Os atores
Os casos de uso
Os relacionamentos
Ator
O ator � algo com comportamento, que interage diretamente com o sistema. Um ator
participa (realiza) um ou mais casos de uso do sistema. A representa��o do ator, no
diagrama de casos de uso, � o boneco, chamado de stickman, conforme a figura ao
lado:
Identificando atores
Que sistemas ou equipamentos ir�o se comunicar com o sistema que ser� desenvolvido?
Casos de uso
Segundo Jacobson, um dos criadores da UML, um caso de uso � uma descri��o narrativa
de uma sequ�ncia de eventos que ocorre quando um ator usa um sistema para realizar
uma tarefa.
Casos de uso
Sendo uma funcionalidade, o nome do caso de uso deve ser composto por um verbo no
Infinitivo + complemento verbal, como o exemplo acima: �Matricular em Curso�.
Matricular em curso
Sendo uma funcionalidade, o nome do caso de uso deve ser composto por um verbo no
Infinitivo + complemento verbal, como o exemplo acima: �Matricular em Curso�.
Em primeiro lugar, podemos pensar nos casos de uso que representam os objetivos dos
atores. Estes casos de uso representam os processos da empresa, e algumas perguntas
s�o �teis neste momento:
Em seguida, podemos pensar nos casos de uso que n�o representam um benef�cio direto
para os atores, mas s�o necess�rios para o funcionamento do sistema. Tais casos de
uso englobam manuten��o de cadastros e de informa��es provenientes de outros
sistemas.
Cen�rios
Atividade
Nessa atividade, voc� dever� identificar os atores e os casos de uso envolvidos em
um diagrama de casos de uso.
Observa��o:
Realize essa atividade fazendo uso de papel e caneta ou word. Ao t�rmino da mesma,
voc� pode visualizar o gabarito e compar�-lo com a sua resposta.
Gabarito atividade
Passo 1: identifica��o dos atores - elementos que interagem com o sistema
(geralmente substantivos)
? �Paciente�, �Atendente� e �M�dico�
Passo 2: para cada ato, identificar os casos de uso com os quais se relacionam
(a��es, geralmente verbos).
? �Atendente�: �Agendar Consulta�, �Agendar Exame�, �Cancelar Consulta� e
�Cancelar Exame�
? �M�dico�: �Consultar Paciente�
Importante: embora o paciente seja extremamente relevante nesse processo, ele
n�o interage diretamente com nenhuma funcionalidade do sistema, embora todos
os dados imputados no sistema sejam fornecidos por ele.
Em princ�pio, n�o � considerado um ator do ponto de vista da intera��o com o
sistema. Todavia muitos autores consideram-no ator, juntamente com os
verdadeiros atores de cada caso de uso.
Assim sendo, podemos ter duas solu��es, representadas nos dois diagramas de
casos de uso a seguir:
o A primeira mais alinhada com o conceito de ator, na qual o paciente
n�o figura entre os atores.
o A segunda mais alinhada com a situa��o real, na qual o �Atendente� e
o �M�dico� inteagem com o sistema, baseado no que lhes diz o
�Paciente�.
Relacionamentos ou associa��es
Esse � o relacionamento mais comum, e � indicado por uma linha s�lida, que liga o
ator ao caso de uso, denotando que o ator interage com o caso de uso.
Nos termos t�cnicos, dizemos que o ator realiza o caso de uso. A figura a seguir
ilustra esse relacionamento:
O ator geral
� �Usu�rio�
Esta � uma associa��o �til para definir a sobreposi��o de pap�is entre atores, na
qual:
� O ator especializado interage com o caso ao qual est� associado diretamente e com
todos os casos de uso com o qual o ator generalizado se associa;��
� J� o inverso n�o ocorre: o ator generalizado n�o interage com os casos de uso
associados ao ator generalizado.
Vamos analisar um caso de uso por inclus�o. Observe o diagrama ilustrado a seguir:
O caso de uso �Validar Disciplina� � usado por dois casos de uso: �Incluir
Disciplina� e �Eliminar Disciplina�. Isso significa que o caso de uso �Validar
Disciplina� est� contido em ambos, ou seja, se formos descrever as intera��es do
que acontece dentro do caso de uso, perceberemos que tanto �Incluir Disciplina�
quanto �Eliminar Disciplinas� ter�o uma parte igual.
Um caso B (caso de uso estendido) estende A (caso de uso principal) quando alguma
condi��o interrompe a execu��o do caso A (caso de uso principal) para que B (caso
de uso estendido) execute e retorne, ao final, ao caso de uso A (caso de uso
principal).
Para que voc� entenda melhor como acontece o relacionamento de casos de uso por
extens�o, trouxemos dois exemplos que iremos analisar. Veja:
O caso de uso �Enviar Informe de D�vida� estende o caso de uso �Cancelar Matr�cula
em Curso�.
Observe como os casos de uso �Pagar em Cheque� ou �Pagar em Cart�o� estendem o caso
de uso �Pagar Mensalidade�.
�
Neste caso, haver� uma condi��o a ser avaliada, que � a forma de pagamento e, de
acordo com o valor desta, ser� executado um ou outro caso de uso: apenas um deles
ser� executado, ou seja, s�o mutuamente exclusivos.
Esse tipo de relacionamento � usado quando um caso de uso � semelhante a outro, mas
executa algumas fun��es a mais.
Ele � pouco usado, pois seu uso confunde-se com o extend, na medida em que este
tamb�m pode resolver essa quest�o da varia��o de comportamento, neste caso um
comportamento com adi��o de funcionalidade.
Neste exemplo existe a especializa��o do caso de uso �Solicitar Produtos�, que pode
ser pela internet ou pelo telefone. De acordo com a forma de solicita��o, o
comportamento do caso de uso vai variar, por�m existem partes comuns, que est�o
especificadas em �Solicitar Produtos� (caso mais geral).
Aula 03
O diagrama de caso de uso � �til, na medida em que nos fornece uma vis�o geral das
funcionalidades do sistema (conjunto de casos de uso) e dos atores que com elas se
relacionam. Todavia, � pobre na medida em que n�o entendemos como a intera��o
ocorre em cada caso de uso.
Craig Larman, em seu livro Utilizando UML e Padr�es: uma introdu��o � an�lise e ao
projeto orientados a objeto e ao desenvolvimento iterativo, cita tr�s formatos para
descrever os casos de uso, veja:
Formato Resumido
Corresponde ao resumo de um par�grafo, geralmente contendo o cen�rio principal do
caso de uso e o cen�rio de sucesso.
Voc� deve utiliz�-lo na an�lise inicial de requisitos, para obter uma ideia do
assunto e o escopo do caso de uso.
FORMATO INFORMAL
Refere-se aos m�ltiplos par�grafos que cobrem v�rios cen�rios de uso.
FORMATO COMPLETO
Nesse formato, todos os cen�rios (principal e alternativos) s�o descritos em
detalhes, com se��es adicionais, complementando a especifica��o, com elementos que
definem os pr� e p�s-condi��es.
Voc� deve utiliz�-lo depois que muitos casos de uso tiverem sido descritos no
formato resumo ou informal, geralmente durante a fase de an�lise de requisitos e de
sistemas. Para os casos de uso relevantes, tende a ser o formato mais adequado.
Em ess�ncia, a especifica��o ou descri��o textual de um caso de uso deve mostrar a
intera��o entre o ator e o sistema (caso de uso em quest�o), ou seja, a �conversa�
entre ator e sistema na realiza��o (acontecimento) do caso de uso.
FORMATO RESUMIDO
Caso de uso: �Registrar Venda�
O cliente chega a um ponto de pagamento da loja com os itens que deseja adquirir. O
caixa registra cada item desejado. Ao final, o sistema apresenta o total a pagar e
a rela��o de itens comprados.
FORMATO INFORMAL
Caso de uso: �Registrar Venda�
- Cen�rio principal (de sucesso): Cliente chega ao ponto de pagamento da loja com
os itens a serem adquiridos. Caixa usa o sistema PDV para registrar todos os itens
comprados. Ao final, sistema apresenta o total a pagar e a rela��o de itens
comprados.
FORMATO COMPLETO
Para visualizar as principais se��es que comp�em o formato completo, bem como o
exemplo de caso de uso �Registrar Venda�, clique no bot�o.
Vamos entender como especificar casos de uso que contenham Include por meio de um
exemplo. Veja:
Para explicar como � especificado o uso de casos de extens�o (extends), vamos usar
diagrama a seguir. Observe:
Temos tr�s extends no diagrama, por�m dois deles est�o relacionados entre si e o
terceiro n�o.
O caso de uso �Calcular Multa por Atraso� ser� usado se e apenas se (condi��o) a
entrega estiver sendo feita com atraso.
Desse modo, existem v�rias formas e padr�es para especificar casos de uso. O que
descrevemos anteriormente n�o � o melhor e nem tampouco o mais completo, por�m
vemos muito seu uso na vida profissional.
Escolha o seu padr�o, o seu formato e v� em frente. O importante � que seja algo
que sua equipe saiba ler e escrever e a comunica��o entre voc�s possa ser clara e
efetiva.
Dicas para especifica��es de casos de uso
Para conhecer cada dica de especifica��es de casos de uso com mais detalhe, clique
no bot�o ao lado:
Dicas para especifica��es de casos de uso
Seguem algumas dicas sobre especifica��es de casos de uso:
1. N�o use detalhes de implementa��o ou de determinada tecnologia em
suas especifica��es.
a. A tecnologia ficar� obsoleta, e seu caso de uso ter� que ser
revisto.
b. Exemplos: imagine um sistema de autoatendimento banc�rio, em
caixas eletr�nicos. Ao descrever a a��o do usu�rio �informar seus
dados de acesso�, evite descrever como, por exemplo: �Usu�rio
insere o seu cart�o�. Em vez disso, use: �Usu�rio informa dados da
ag�ncia, conta e senha de acesso�.
c. Amanh� a tecnologia muda e a identifica��o passa a ser, por
exemplo, pela leitura da digital, e o caso de uso precisar� ser
escrito novamente. Fazendo como o proposto, estar� adequado a
qualquer tecnologia.
2. Procure n�o associar casos de uso a telas de sistemas.
a. Muitos autores sugerem que listemos esbo�os de telas nas
especifica��es de casos de uso. Geralmente os autores s�o
favor�veis e os processos de desenvolvimentos s�o �geis, visando
entregar o c�digo o mais r�pido poss�vel.
b. Procure evitar essa pr�tica, pois no momento em que estamos
especificando os casos de uso, ainda � cedo para pensarmos em
interface, que ser� objeto da fase de projeto do sistema.
c. Resista a essa tenta��o, pois sabemos que os usu�rios adoram
telas.
3. Existe um formato de especifica��o de que muitos gostam, pois fica mais
claro o di�logo que acontece entre ator e caso de uso. O modelo tem
duas colunas. Na primeira, descrevemos as a��es do ator, e na segunda as
a��es do sistema.
4. Os casos de uso inclu�dos (chamados de <include>) ou estendidos
(chamados por <extends>) tamb�m devem ter descri��o textual, podendo
estar no formato resumido ou informal.
5. Perguntas que podem ajudar no detalhamento dos cen�rios principal e
alternativos:
a. Quando tudo ocorre na normalidade (com sucesso), qual o
comportamento do sistema? � Esse ser� o passo a passo do cen�rio
principal;
b. Algo pode acontecer de forma diferenciada nesse passo? � Indica
um cen�rio alternativo (relacionado a esse passo);
c. O que pode dar errado nesse passo? � Da mesma forma que a
pergunta anterior, esta conduz � identifica��o de um cen�rio
alternativo.
6. Quando um passo for muito complicado, ele pode vir a ser um novo caso
de uso, que se relacionar� com o caso original pelo estere�tipo
<include>.
7. Fa�a casos de uso enxutos, pois casos longos podem n�o ser lidos em sua
totalidade.
Atividade
O diagrama de caso de uso � �til, na medida em que nos fornece uma vis�o geral das
funcionalidades do sistema (conjunto de casos de uso) e dos atores que com elas se
relacionam. No entanto, ele n�o informa como ocorre a intera��o em cada caso de
uso. Nesse cen�rio, entra em cena a especifica��o de casos de uso. Explique qual a
import�ncia dessa t�cnica:
Gabarito
O real valor da t�cnica de especifica��o de casos de uso est� na adequada descri��o
textual de cada caso de uso, em que veremos com clareza como os atores utilizam o
sistema.
Atividade
Craig Larman cita tr�s formatos para descrever os casos de uso: o resumido, o
informal e o completo.
Atividade
Considere a seguinte descri��o do que ocorre na realiza��o do caso de uso
�Emprestrar DVD�, referente a um sistema de uma locadora de DVD:
Cen�rio principal:
Fim_Para
4. Sistema apresenta total da loca��o;
5. Caixa confirma a loca��o;
6. Sistema registra loca��o de cada DVD, calculando a data de devolu��o;
7. Sistema imprime recibo com dados da loca��o.
Cen�rios alternativos:
Aula 04
Existem v�rios n�veis de diagramas de classes, que s�o usados no n�vel de dom�nio �
conceitual � e de projeto.
Esse modelo usa os elementos mais b�sicos do diagrama de classes, pois a finalidade
� representar os objetos tal qual existem no mundo real, sem inserir aspectos de
projeto ou de implementa��o no modelo.
O diagrama de classes evolui � medida que o projeto avan�a. Observe esse processo
atrav�s do esquema a seguir:
Fase de analise
1-Inicialmente, em sua primeira vers�o, na fase de an�lise, o diagrama apresenta as
classes do neg�cio (tamb�m chamada de entidades) e chama-se diagrama de classes
conceitual.
2-Num segundo momento, ainda na fase de an�lise, novas classes podem ser inseridas
no diagrama de classes, como as de controle e as de interface (ou fronteira).
Fase de projeto
Nessa fase, o mesmo diagrama de classes pode ser refinado com a inser��o de:
Multiplicidades e pap�is;
Relacionamento entre as classes;
Novos m�todos (como, por exemplo, get, set e formata��es);
Novos atributos;
Par�metros nas chamadas dos m�todos;
Visibilidade dos atributos e m�todos;
Novas classes, chamadas de classes de projeto (como representa��o de persist�ncia).
FASE DE IMPLEMENTA��O
Durante a implementa��o (codifica��o na linguagem), novas classes podem surgir,
como classes que implementem determinada caracter�stica da linguagem de programa��o
ou determinada forma de programar. � o diagrama de classes de implementa��o.
A classe
Uma classe � uma abstra��o da realidade, na qual representamos algo do mundo real.
Se, por exemplo, em um contexto de sistema, identificarmos que desejamos armazenar
os dados de um determinado elemento, estamos diante de uma candidata � classe do
sistema.
Classe x Objeto
CLASSE
� o molde de um conjunto de objetos afins, ou seja, com as mesmas caracter�sticas
(atributos e m�todos).
OBJETO
� uma inst�ncia de uma classe.
Por meio do exemplo de diagrama, podemos observar que um diagrama de classes possui
os seguintes elementos b�sicos:
Cada classe possui os seus atributos e opera��es espec�ficos. Veja como esses
elementos se relacionam:
Atributo
O conceito de atributo remete ao conjunto de caracter�sticas (estado) dos objetos
da classe.
Ele descreve uma propriedade estrutural da classe, um dado relevante que desejamos
armazenar daquela classe. Segundo a UML, forma m�nima de representar um atributo �:
visibilidade Nome: tipo.
Opera�oes
O conceito de m�todo remete ao conjunto de operac�es (comportamento) que a classe
fornece.
Associa��o BIN�RIA
� a associa��o mais comum, tamb�m chamada de associa��o entre duas classes.
AUTOASSOCIA��O
Tamb�m chamada de associa��o un�ria, corresponde � associa��o que ocorre com a
mesma classe, na qual uma classe se relaciona com ela pr�pria.
ASSOCIA��O EXCLUSIVA
� uma restri��o em duas ou mais associa��es. Ela indica que objetos de uma
determinada classe podem participar de no m�ximo uma das associa��es, em
determinado momento.
Para saber mais sobre a associa��o entre classes, clique no bot�o ao lado:
Diz respeito a quais classes podem ver (visualizar) o qu� de outra classe. A ideia
� que cada classe tenha elementos privados e p�blicos. Observe:
O que for p�blico pode ser visualizado e usado por qualquer outra classe.
A UML aborda o tema sem entrar nessa confus�o e deixa a cargo da equipe de
desenvolvimento esses aspectos de compatibilidade. Basicamente, a UML permite que
se rotule todo atributo e m�todo de uma classe com um indicador de visibilidade.
Preparamos algumas diretrizes relevantes sobre visibilidade que voc� deve estar
atento. Veja:
Uma classe deve prestar servi�o �s demais, atrav�s de seus m�todos. Assim sendo,
pelo menos um dos m�todos da classe deve ter visibilidade p�blica, para que as
demais classes possam us�-lo;
Num relacionamento de generaliza��o/ especializa��o, todos os atributos e m�todos
que desejar que sejam herdados pela classe especializada (subclasse) devem ter
visibilidade protegida na classe geral (superclasse).
CLASSE DE ASSOCIAC�O
� uma classe que surge do relacionamento de associa��o entre outras duas classes.
AGREGA��O E COMPOSI��O
Esses dois relacionamentos s�o do tipo �todo-parte�, ou seja, existe uma classe que
denota um todo e outras que denotam as partes.
DEPEND�NCIA
A depend�ncia entre duas classes existe se: mudan�as na defini��o de uma classe
puder demandar mudan�as na defini��o da outra classe.
Faz � o nome do relacionamento, com a seta apontado para pedido, indicando que a
leitura � na dire��o cliente faz pedido;
Possui � o nome do relacionamento entre pedido e itens pedido, com a seta apontada
para itens pedido, indicando que a leitura � na dire��o pedido possui itens
pedidos;
Faz pedido � o papel que o cliente tem no relacionamento entre cliente e pedido;
Cada item do pedido � o papel que itens pedido tem no relacionamento entre pedido e
itens pedido.
Podemos citar como exemplo, uma associa��o que � dita naveg�vel da classe C1 para a
classe C2 se, a partir de um objeto de C1, consegue-se obter diretamente os objetos
relacionados da classe C2. Assim, denota-se, no diagrama de classes, a capacidade
de um objeto mandar mensagens a objetos de outra classe.
Atividade
Com base no enunciado e na solu��o de caso de uso, elabore um diagrama conceitual
de classes.
Observa��o:
Gabarito atividade
Segue um dos poss�veis diagramas de classes, com base na solu��o dada no
diagrama de casos de uso da aula 2.
Segue o passo a passo para a obten��o do diagrama de classes com base no
enunciado e diagrama de casos de uso.
1) Precisamos reter, no sistema, dados de algum ator? Ou seja, algum ator �
candidato � classe?
a. Sim, paciente e m�dico.
2) Que casos de uso d�o origem a classes?
a. Consultar paciente ? Classe consulta.
b. Agendar exame ? Classe exame.
c. Consultar paciente ? Classe prescri��o, j� que na consulta o m�dico
prescreve medicamentos.
3) Que casos de uso d�o origem a m�todos de uma classe?
a. Classe consulta: agendarConsulta, CancelarConsulta,
ConsultarPaciente.
b. Classe exame: Agendar Exame, cancelar exame.
4) Como relacionar as classes envolvidas?
Segue o diagrama de classes derivado do diagrama de casos de uso.
Aula 05
Diagramas de intera��o
Os sistemas orientado a objetos implementam as funcionalidades que oferecem, pela
troca de mensagens entre os objetos, ou seja, um objeto envia uma mensagem a outro
quando deseja que este realize uma tarefa.
� De uma forma gen�rica, o diagrama de sequ�ncia � o mais rico dos dois, mas o
diagrama de comunica��o tamb�m tem sua finalidade, na medida em que � mais flex�vel
quanto ao desenho. Cada um dos diagramas de intera��o tem suas vantagens e
desvantagens que os tornam �teis em diferentes situa��es.
� Num mesmo projeto, podemos at� usar os dois diagramas de intera��o, mas para
representar intera��es ou comportamentos diferentes.
� N�o faz sentido usar ambos, por exemplo, para representar um mesmo cen�rio de
uso, pois eles t�m o mesmo objetivo, por�m focos diferentes.
Diagrama de Sequ�ncia
Vantagens:
Quando usar:
� Devemos usar o diagrama de sequ�ncia quando o foco for a sequ�ncia das mensagens
no decorrer do tempo.
X
Diagrama de Comunica��o
Vantagens:
Quando usar:
Diagrama de Sequ�ncia
Pontos fortes:
Pontos fracos:
X
Diagrama de Comunica��o
Pontos fortes:
Pontos fracos:
O trip� da an�lise
Do ponto de vista da fase de an�lise de sistemas, existem tr�s modelos que se
integram e formam uma base m�nima para a modelagem e documenta��o de sistemas. S�o
eles:
� Diagrama de classes;
Esses tr�s diagramas formam o chamado trip� da an�lise. Veja essa rela��o na figura
ao lado:
� O cen�rio � uma sequ�ncia de passos que descreve uma intera��o entre o sistema e
um usu�rio;
� Todo caso de uso tem o cen�rio principal, que � o �caminho sem erros�, ou seja,
tudo acontece sem nenhum problema ou exce��o;
O Diagrama de Sequ�ncia
Voc� j� sabe que o diagrama de sequ�ncia visa mostrar como as classes envolvidas
interagem (trocam mensagens) para a realiza��o de um caso
de uso, mais especificamente de um cen�rio de uso (parte de um caso de uso), ao
longo da linha do tempo. O foco aqui � a sequ�ncia da troca de mensagens.
Observe que temos o ret�ngulo, com uma linha tracejada dentro, com o r�tulo de nome
�alt�, indicando um fragmento alternativo para a l�gica condicional de exclus�o
m�tua, expresso em guardas. Na parte de cima, inicial do ret�ngulo, temos a
condi��o de guarda [Tipo Cliente =F] e na parte de baixo, ap�s a linha tracejada,
temos outra condi��o de guarda [Tipo Cliente = J].
Descri��o:
3. Se o Tipo Cliente = F = FALSO, desvia-se para a execu��o das mensagens que est�o
ap�s a linha tracejada, na qual temos outra condi��o de guarda a ser avaliada;
4. Se Tipo Cliente = J (segunda condi��o de guarda) = VERDADE, executa-se as
mensagens que est�o associadas a essa condi��o,
ou seja, as mensagens que est�o ap�s a linha tracejada;
Observe que os m�todos Inserir Novo Item() e Incluir Item() ser�o executadas se a
condi��o [Se produto Exists) for verdadeira. E tal condi��o varia em fun��o do
resultado do m�todo ProcurarProd(), contido na classe Produto.
Uso da cria��o
Uso da destrui��o
O outro tipo � a mensagem ass�ncrona, ou seja, a que uma vez enviada n�o necessita
esperar por uma resposta e pode continuar o fluxo do processamento.
EXEMPLO
Padr�o � uma solu��o, j� usada em projetos anteriores, que deve ser usada e ajuda a
dar solu��es eficientes em nossos projetos. Existem outros padr�es, classificados
em diferentes tipos a serem considerados, que podem ser objeto de uma pesquisa,
para a expans�o dos conhecimentos nesse sentido.
<interface>
� a classe de interface, cujo estere�tipo � <<boundary>>, que identifica uma classe
que serve de comunica��o entre os atores e o sistema.
<controle>
� a classe de controle, com o estere�tipo de <<Control>>, que serve de
intermedia��o entre a classe de interface e as demais classes. Fica respons�vel por
interpretar eventos ocorridos sobre os objetos <<boundary>> (eventos de mouse e
teclado) e encaminhar a classe correta que precisa receber aquele evento.
<entidade>
S�o as classes de entidade, com o estere�tipo <<entity>>, que representam as
classes do dom�nio do problema, que cont�m o conhecimento do neg�cio.
Atividade
Gabarito atividade
Segue uma das poss�veis respostas, incluindo as altera��es propostas para o
diagrama de classes.
5.2. Caso de Uso: Registrar Loca��o
Cen�rio principal:
Observe a especifica��o do caso de uso e veja que a a��o 8 chama-se �Sistema
Emite Boleto de Loca��o� (destacado em amarelo). Isto significa que � preciso que
exista um m�todo na classe LOCA��O para formatar os dados j� transacionados no
caso de uso e emitir o boleto desejado.
Segue uma das solu��es do diagrama de sequ�ncia solicitado no enunciado:
Segue a solu��o usando classes de interface, controle e entidade:
As mensagens que chegam �s classes s�o m�todos das mesmas e devem ser
inseridos no diagrama de classes.
1) M�todo Pesquisar (id Cliente) na classe Cliente.
2) M�todo Pesquisar (Id Midia) na classe M�dias.
3) M�todo Registrar loca��o (Id Cliente, Id Midia e Data Devolu��o) na classe
Loca��o.
4) M�todo Emitir Boleto Loca��o da classe Loca��o.
Segue o diagrama de classes, refinado, com esses m�todos:
Segue o diagrama de classes, contendo as classes de interface (boundary) e
controle (control).
Aula 06
Valor
O valor do servi�o � calculado com base na seguinte f�rmula:
Valor da faixa = Custo_Material + Custo_desenho + % Lucro
Custo_Material = �rea x 20,00
Custo_Desenho = n�mero de letras * 0,70
% de Lucro = 20 % (Custo_Material + Custo_desenho)
Prazo
O prazo de entrega deve ser calculado levando-se em considera��o a produ��o di�ria
de faixas, que n�o deve ultrapassar oito. Considere cinco dias �teis por semana,
para fins do c�lculo da data de entrega.
Recibo
Para cada encomenda, deve ser emitido um recibo, em duas vias, contendo os dados do
pedido e pagamento (valor do sinal e valor a pagar na entrega).
Controle de pagamento
O sistema deve controlar o pagamento do sinal, quando o servi�o � iniciado e a data
de entrega calculada. Apenas a diretoria deve ter acesso a essa funcionalidade.
Sistema
O sistema deve prover uma consulta (dispon�vel apenas a diretoria), de cada pedido
feito no per�odo, informando: data do pedido, data de entrega, valor do servi�o,
valor do sinal, sinal pago (S/N), servi�o finalizado (S/N), servi�o pago (S/N) e
status do pedido (S/N).
Mudan�a de estados
O pedido, ao longo do seu ciclo de vida, pode ter v�rios estados e o sistema deve
controlar os eventos que geram mudan�a de estado. Vejamos:
Informe ao cliente
O sistema deve emitir um informe a todo cliente que n�o faz pedidos h� mais de seis
meses (com base na data corrente).
Observe que, nos casos de uso Confirmar Recebimento do Sinal, Registrar In�cio da
Produ��o, Registrar Fim da Produ��o e Registrar Entrega do Pedido, temos os dois
trechos a seguir repetidos: o primeiro no cen�rio principal e todo o cen�rio
alternativo.
Cen�rio principal:
1. Usu�rio informa ID do pedido;
Cen�rios alternativos:
A otimiza��o que pode ser feita seria a inclus�o do caso de uso �Pesquisar Pedido�
� relacion�-lo, atrav�s do relacionamento �include�, aos casos de uso anteriormente
citados.
As especifica��es dos casos de uso tamb�m precisam ser modificadas para refletir as
altera��es representadas no diagrama.
Observe que, no local das tr�s linhas que havia anteriormente na especifica��o do
caso de uso �Confirmar Recebimento do Sinal�, passamos a ter uma �nica linha com a
inclus�o do novo caso de uso (�Include� Pesquisar Pedido), que tamb�m precisa ser
especificado.
Cen�rio principal:
Cen�rio principal:
Cen�rio alternativo:
2. a. Pedido n�o localizado;
Assim, temos:
As classes envolvidas s�o:
Cliente e Pedido.
A cardinalidade do relacionamento:
Diagrama de Sequ�ncia
Ap�s toda a an�lise das intera��es, o modelo conceitual de classes ficar� conforme
o exemplo.
Observe que tal modelo ainda n�o disp�e de visibilidade de atributos e m�todos, bem
como par�metros e tipos de dados de retorno dos m�todos, propositalmente, pois em
geral esses dados s�o inseridos no modelo de classes de projeto, que discutiremos
na continuidade, que se dar� na aula 10.
Atividades
Agora, vamos praticar com duas atividades.
1
Gabarito:
Veja abaixo uma das solu��es do diagrama. Observe que os m�todos usados j� existiam
no
diagrama de classes e n�o foi preciso modific�-lo, com a inclus�o de novos m�todos.
1
Gabarito:
Veja abaixo uma das solu��es do diagrama. Observe que aqui dois m�todos (setas que
chegam na classe PEDIDO) s�o novos, ou seja, ainda n�o est�o no diagrama de classes
e
devem figurar. S�o eles:
1. ProcPedido (Id Pedido): localiza um pedido pelo seu ID;
2. Alterar Data entrega (Data Real de entrega): alterar a data real de entrega do
pedido.
O m�todo (autochamada) Alterar Status Pedido (�E�) j� existia, sendo �E�, a
sinaliza��o do
status ENTREGUE.
O diagrama de classes, ap�s o diagrama de sequ�ncia acima, ficaria, assim, com a
inclus�o
dos dois novos m�todos.
2
Aula 07
Estado de um objeto
O estado de um objeto compreende todas as suas propriedades associadas aos valores
correntes de cada uma delas. Tais propriedades compreendem os atributos de uma
classe. Ou seja, o estado de um objeto � determinado pelos valores de seus
atributos, em um determinado momento.
Dessa forma, apenas os m�todos da pr�pria classe a que o objeto perten�a devem
alterar o seu estado.
Estado de um objeto
Assim sendo, temos que: eventos acarretam a transi��o entre estados de um objeto.
No momento da transi��o, o objeto realiza determinadas a��es dentro do sistema.
O diagrama da UML que ajuda na an�lise das transi��es entre os estados de um objeto
� o diagrama de transi��o de estados, ou simplificadamente, diagrama de estados.
N�o e preciso desenvolver um DTE para cada classe do sistema, e sim para aquelas
que possuem um n�mero conhecido e finito de estados (maior que um estado).
A UML possui um conjunto rico de elementos para descrever o DTE, veja:
- B�sicos: estado e transi��es;
. Conceitos relacionados: evento, a��o e atividade;
- Menos utilizados, mas �teis em momentos especificos: transi��es internas,
estados aninhados e estados concorrentes.
Estado
O estado de um objeto � a sua condi��o espec�fica, em algum momento em que ele est�
sendo usado no sistema.
Evento
Um evento � a ocorr�ncia (interna ou externa) de um est�mulo gerado para o objeto,
capaz de mudar o seu estado atual.
Transi��o
Uma transi��o indica um movimento de um estado para o outro, pela ocorr�ncia de um
evento.
Estado inicial
O estado inicial � representado pelo c�rculo preenchido e denota o pseudoestado de
um objeto no momento de sua cria��o, quando ele � instanciado na mem�ria. S� h� um
estado inicial em um DTE, mostrando o in�cio de sua leitura. Veja o exemplo:
Estado final
O estado final � representado pelo c�rculo preenchido com outro c�rculo em volta e
denota o pseudoestado do fim do ciclo de vida de um objeto. � um estado opcional,
no DTE, e tamb�m pode haver mais um. Veja o exemplo:
O in�cio ocorre no pseudoestado inicial que � a bola preta, cuja seta aponta para o
estado Dispon�vel, efetivamente o estado em que fica o quarto inicialmente.
Ou seja, assim que o objeto � criado (estado inicial), ele j� entra no estado
Dispon�vel. Imagine um quarto sendo criado (novo quarto) que, ao ser inserido no
sistema (estado inicial), entra no estado Dispon�vel.
Ou seja, assim que um cliente confirma uma reserva, o estado do objeto quarto
transita (muda) para Reservado.
Estando no estado Dispon�vel, o Quarto pode mudar tamb�m para o estado Final,
quando for exclu�do do sistema (quarto deixa de existir para hospedagem).
Os estados determinam e delimitam as opera��es que podem ser realizadas com aquele
objeto. Veja um exemplo:
Pela an�lise do DTE, um h�spede n�o pode chegar ao hotel e hospedar-se sem que
tenha feito uma reserva: isto � interpretado pela aus�ncia de transi��o entre os
estados Dispon�vel e Ocupado. Somente existe transi��o para o estado Ocupado,
estando no estado Reservado.
Para que seja poss�vel a ocupa��o de quarto sem a devida reserva, o DTE deveria ser
como o representado na imagem a seguir, em que, pela transi��o de Dispon�vel para
Ocupado, acabamos com a obriga��o de reservar um quarto para poder ocup�-lo.
Detalhando a Transi��o
A transi��o, em um diagrama de estados, indica um movimento de um estado para
outro. Cada transi��o possui um r�tulo que possui tr�s partes. Veja:
Assinatura do gatilho
Via de regra, � um �nico evento que demanda a mudan�a de estado. No exemplo
inicial, sobre os estados do Quarto do hotel, usamos apenas a assinatura do gatilho
(Cliente Faz Reserva, Cliente Faz Check-in etc.), ou seja, o evento que ocasiona a
transi��o de estado.
� raro que esteja ausente, mas pode ocorrer e denota que a transi��o � feita
imediatamente.
Sentinela
Quando estiver presente, corresponde a uma condi��o que deve ser verdadeira para
que a transi��o ocorra. Se ausente, indica que a transi��o sempre acontece. �
representada entre colchetes [..], com a condi��o dentro.
Atividade
� um comportamento executado durante a transi��o. A aus�ncia de atividade diz que
nada � feito durante a transi��o.
Sentinela: [Saldo ? 0]
A leitura � a seguinte:
Ao realizar um �saque de R$" e o saldo ficar menor que zero, a conta transita para
o estado Bloqueada,
em que fica �aguardando um dep�sito�, que torne o saldo zerado ou positivo (maior
ou igual a zero). Um
evento pode denotar mais de uma transi��o e, neste caso, as sentinelas devem
expressar condi��es que
sejam mutuamente exclusivas, por motivos �bvios. O estado final indica que o ciclo
do objeto est�
encerrado e a sua m�quina de estados est� completa.
A cl�usula Entry denomina uma a��o de entrada no estado, assim como a cl�usula Exit
� usada para a��es de sa�da;
A cl�usula Entry pode ser usada para especificar uma a��o a ser efetivada no
momento em que o objeto entra no respectivo estado;
A cl�usula Exit especifica a��es a serem realizadas sempre que o objeto sai de
determinado estado.
Transi��o interna
Os estados podem reagir a eventos, que n�o ocasionam transi��o, usando atividades
internas. Ou seja, s�o eventos que precisam ser tratados, mas que n�o ocasionam
transi��o de estado.
As atividades internas n�o disparam a��es de entrada e sa�da, na medida em que n�o
saem e entram do objeto, em decorr�ncia do evento.
Atividades
Em geral, o objeto fica ocioso em um estado at� que um evento ocorra. Por�m, talvez
voc� deseje que um objeto permane�a realizando uma tarefa, at� que determinado
evento ocorra. Ou seja, executa uma atividade enquanto est� nesse estado.
Superestados
O DTE (diagrama de transi��o de estado) deve ser elaborado para classes cujos
objetos tenham dois ou mais estados. Veja o passo a passo para a constru��o do DTE:
. Identifique as transi��es
possiveis quando um
evento ocorre;
. Identifique os eventos
internos e a��es
correspondentes.
Desenhe o diagrama.
O DTE pode ser constru�do com base nas especifica��es de casos de uso, nos
diagramas de intera��o e nos diagramas de classes;
Atividade
1 - O diagrama de estados:
Mostra cada estado e as respectivas transi��es de estado de um objeto.
Gabarito quest�o 6
Como pode haver transi��o de todo estado para o Final, cria-se um superestado,
de novo Ativo, representado pelo diagrama de nome Estados.
A transi��o ap�s a ocorr�ncia do evento �Excluir Quarto� acontece do superestado
para o estado final.
Abaixo a solu��o acima descrita, representada pelo diagrama de estados:
Aula 08
Quem programava l� pelo final dos anos 1970 e in�cio dos 1980 vai se lembrar de uma
ferramenta muito usada para especifica��o da l�gica de programas: o fluxograma.
Cada forma geom�trica tem um significado espec�fico nos diagramas, como por
exemplo, o losango, que representa uma decis�o (pergunta), que tem como resposta
uma, duas ou mais op��es, dependendo do tipo de decis�o.
Atividade
Ret�ngulo com bordas arredondadas. Veja um exemplo:
Transi��o
Setas cont�nuas que representam o fluxo de trabalho entre atividades. Veja um
Decis�es
Losango, usado para controlar os desvios (caminhos) do fluxo de controle.
Condi��es de guarda
S�o condi��es associadas a transi��es entre uma atividade e outra, indicando que a
atividade que sucede somente ser� executada se a condi��o de guarda for verdadeira.
Ponto de Merge
Desvios: a decis�o, que divide em dois ou mais caminhos (fluxos de atividades). Tem
um fluxo de entrada e N fluxos de sa�da;
Intercala��es: local onde dois ou mais caminhos (fluxos de atividades) se juntam e
continuam como apenas um fluxo. � usado o mesmo losango da decis�o.
Os caminhos que se juntam foram separados anteriormente pelo elemento desvio. Tem N
fluxos de entrada e um fluxo de sa�da.
Processamento em paralelo
Bifurca��o e uni�o (ou jun��o): barras horizontais que sincronizam atividades que
v�o ocorrer em paralelo. No caso, as atividades que ocorrem em paralelo s�o
processar pedido e faturar pedido. Observe:
Para visualizar um exemplo de processamento em paralelo, clique no bot�o a seguir:
Raias de nata��o
Raias de nata��o
O diagrama de atividades representa, ainda, a l�gica de casos de uso ou de m�todos
complexos de uma classe. J� as raias podem representar: objetos, componentes e
atores.
Documentar sistemas n�o � uma pr�tica usual no Brasil, em fun��o de v�rios motivos
que n�o cabem discutir aqui.
A restri��o aqui, muito bem descrita por Martin Fowler, � que o usu�rio final
(especialista do dom�nio do problema), geralmente leitor das especifica��es de
casos de uso, poderia n�o acompanhar o diagrama com facilidade.
Outra limita��o � que os casos de uso s�o descritos na vis�o dos atores e o
diagrama de atividades especifica as atividades do sistema (a��es do sistema);
neste caso, as intera��es do ator para informar dados devem ser representadas em
atividades.
Cen�rio principal:
Cen�rios alternativos:
Observe que os passos do caso de uso, como exibir dados (passo 3) e altera��o de
status (passo3), por serem a��es simples, podem ser omitidos do diagrama de
atividades. Represent�-los n�o seria um erro, mas detalhes que podem ser omitidos.
Atividade
Gabarito atividade
1 - Em que situa��es o processo chega a seu final?
a) Quando a perda � total e o cliente recebe o pr�mio do seguro;
b) ap�s o conserto do autom�vel ficar pronto e o cliente pagar a franquia para o
uso dos servi�os do seguro.
2 - O autom�vel sempre ser� consertado?
N�o, somente ser� consertado se n�o for perda total.
3 - Quais atividades s�o executadas em paralelo? Essas atividades t�m a mesma
dura��o?
Cobrar franquia/ pagar franquia e consertar autom�vel. N�o, elas n�o t�m a
mesma dura��o e por isso mesmo precisam ser sincronizadas ao final de todas.
4 - Em que situa��o o cliente precisa pagar franquia?
Quando for perda parcial e o carro for consertado.
5 - Fa�a o diagrama de atividades que retrate o seguinte fato: o carro somente
ser� consertado se a franquia for paga.
Segue uma poss�vel solu��o para essa modifica��o:
Aula 09
Diagrama de Componentes
O diagrama de componentes mostra os componentes de um sistema e suas depend�ncias.
S�o �teis para a modelagem da arquitetura f�sica de um software, apresentando os
componentes f�sicos, suas interfaces e depend�ncias. Esse diagrama permite o
desenvolvimento baseado em componentes, em que um software � dividido em
componentes e interfaces reutiliz�veis e substitu�veis. Veja um exemplo:
Imagine um sistema de home theater, composto por componentes que podem ser
facilmente conectados uns aos outros e substitu�dos a qualquer momento: projetor,
receiver, caixas de som (frontal, lateral, subwoofer). Se qualquer elemento
queimar, poderemos substitu�-lo por um igual ou equivalente (com as mesmas
interfaces).
Um componente representa uma parte modular de um sistema que encapsula seu conte�do
e cuja
manifesta��o � substitu�ve/ dentro de um ambiente.
Assim, um componente pode ser definido como uma caixa preta, em que s�o
especificadas suas interfaces para que outros componentes possam usar seus
servi�os, sem conhecer detalhes de como esses servi�os est�o sendo implementados.
Ou seja, o componente encapsula (protege) o seu conte�do, e seu comportamento �
definido em fun��o de prover e requerer servi�os, atrav�s de suas interfaces.
Interfaces
Interfaces s�o elementos que definem um conjunto de opera��es que outros elementos,
como classes ou componentes, devem implementar. Um mesmo componente pode tanto
fornecer como requerer interfaces. O relacionamento entre os componentes e as
interfaces � a ess�ncia dos sistemas.
Interfaces fornecidas
Descrevem os servi�os oferecidos a outros componentes. Um componente pode declarar
quantas interfaces fornecidas forem necess�rias.
Interfaces requeridas
S�o as interfaces usadas pelo componente, quando solicita servi�os de outros
componentes. Um componente pode ter v�rias interfaces requeridas.
Componentes e Interfaces
O usu�rio do servi�o de um componente deve conhecer bem a sintaxe das interfaces do
componente. Analogamente ao exemplo dado de in�cio, as interfaces s�o as conex�es
poss�veis entre o receiver do home theather e os dispositivos (projetor, caixas,
DVD, TV etc.).
Para usarmos um DVD, precisamos saber as poss�veis conex�es: HDMI, DVI etc. Para
usar um componente, precisamos saber as poss�veis interfaces.
Componentes e Interfaces
Na imagem a seguir, temos o exemplo do componente Login Usu�rio, onde �build
component� � um estere�tipo. Esse componente tem:
Diagrama de Implanta��o
Seus elementos s�o os n�s e as conex�es entre eles. Essas conex�es representam um
caminho de comunica��o entre os n�s. Assim como as associa��es, possuem nome e
multiplicidade.
N�
Um n�, em um diagrama de implanta��o, representa um recurso computacional de um
sistema, como servidores, impressoras, terminais remotos, computadores pessoais,
dentre outros. Em geral, o n� � identificado por um nome, que o descreve, conforme
esta imagem:
Repare que conhecer os componentes que cada n� precisar� executar nos permite
reconhecer a capacidade de cada um, em termos de processamento (processador),
capacidade de mem�ria (RAM), capacidade de disco e outras configura��es.
Por fim, cabe ressaltar que �o diagrama de implanta��o deve fazer parte dos manuais
para instala��o e operacionaliza��o dos sistemas� (Bezerra 2015).
Atividade
Um diagrama de implanta��o define os aspectos f�sicos do sistema, em que cada n�
representa um dispositivo f�sico com mem�ria e/ou capacidade de processamento.
� poss�vel integrar esses dois diagramas, mostrando, para cada n�, quais seriam os
componentes que nele executariam? Caso a resposta seja sim, explique qual a
vantagem em integrarmos os dois diagramas dessa forma.
Sim, � poss�vel.
Aula 10
Esta � a gr�fica Faixa Amarela Ltda. que confecciona faixas de an�ncios ou outras
finalidades por encomenda.
Como os pedidos v�m crescendo, ele encomendou um sistema que controle suas
atividades.
Solu��o ao projeto
Diagrama de Estados
O primeiro passo � analisar o diagrama conceitual de classes e identificar as que
ter�o mais de um estado durante o ciclo de vida do sistema:
Cliente
Pedido
Itens Pedido
� a classe que comp�e a classe Pedido e depende do estado de pedido. Nesse caso,
n�o h� necessidade de diagrama de estados.
Conclus�o do diagrama de Estados
Com base no diagrama que vimos anteriormente, podemos concluir que apenas teremos
diagramas de estados para a classe PEDIDOS, que atrav�s do atributo STATUS
armazenar� os diferentes estados que poder�o assumir os objetos da classe PEDIDO,
durante o ciclo de vida do sistema. Observe que o pr�prio enunciado j� nos informa
os estados de PEDIDO, neste trecho extra�do do enunciado:
O pedido, ao longo do seu ciclo de vida, pode ter v�rios estados, e o sistema deve
controlar os eventos que geram mudan�a de estado.
Diagrama de Atividades
Para compreender como usar o diagrama de atividade, vamos modelar tr�s casos de
uso. Mas antes, saiba que esse diagrama amplia a vis�o das especifica��es de casos
de uso, na medida em que permite que modelemos tamb�m (em conjunto) os cen�rios
alternativos.
O mais interessante desta modelagem de subatividade para INCLUIR CLIENTE � que ela
ser� aproveitada tamb�m no diagrama de atividade do caso de uso CADASTRAR CLIENTE.
Observe:
Nesse diagrama, podemos ver com mais propriedade a grande vantagem do diagrama de
atividade sobre a especifica��o de casos de uso, al�m, claro, de ser gr�fico,
enquanto a descri��o � textual: podemos ver todos os cen�rios alternativos
conjugados com a diagrama��o do cen�rio principal.
� Temos dois cen�rios alternativos, representados por caminhos do SEN�O
nas duas
decis�es do diagrama. A primeira decis�o ap�s a atividade LOCALIZAR
PEDIDO e a
segunda ap�s a atividade INFORMAR DADOS SINAL, com as respectivas
atividades
de emiss�o de mensagens (cen�rios alternativos).
1-O sistema vai rodar na intranet, j� deixando toda a plataforma pronta para operar
pela internet a qualquer momento. Espera-se que, com o crescimento da empresa, em
um ano esse sistema comece a ser usado pela internet.
2-O banco de dados usado ser� o SQL Server, que a empresa j� possui.
Atividade
Gabarito
? Agora o usu�rio deve registrar seu login no sistema (novo caso de uso),
autenticando-se com login e senha.
? Caso o cliente n�o seja cadastrado, a partir do login, o usu�rio poder�
cadastrar-se.
? O cliente pode agora registrar seu pedido, da� a rela��o do cliente ao caso
de uso Registrar Pedido.
? No diagrama de classes, surge a classe login, como as datas de login e
m�todos que ser�o descobertos ao desenhar os diagramas de sequ�ncia
relacionados aos casos de uso que sofreram altera��o.
? Na classe Cliente, adicionamos os atributos necess�rios ao login e um novo
m�todo que servir� para os usu�rios se autenticarem e o m�todo Autenticar
o Usu�rio.
Essas s�o as altera��es m�nimas para a mudan�a necess�ria. Outras solu��es podem
existir desde que levem a solu��es satisfat�rias.