Você está na página 1de 35

UNIDADE 5

Modelagem de casos de uso


Objetivos de aprendizagem

Compreender a importncia da utilizao de casos de uso para identificao clara dos objetivos do usurio. Entender o significado dos diferentes elementos existentes em um caso de uso. Reconhecer meios para identificar atores e casos de uso. Compreender o mecanismo de documentao e sua importncia na descrio dos casos de uso.

Sees de estudo
Seo 1 Seo 2 Seo 3 Seo 4 O que so casos de uso? Como identificar os atores? Relacionamentos entre casos de uso e atores Identificando casos de uso

Universidade do Sul de Santa Catarina

Para incio de estudo


Nesta unidade, voc vai iniciar o estudo sobre os diagramas oferecidos na UML e suas representaes utilizadas na modelagem orientada a objetos. Este estudo inicia com os casos de uso que representam o eixo central do modelo, pois descrevem a sequncia de interaes realizadas pelo sistema que visam prover algum valor mensurvel ao usurio do sistema. O caso de uso permite mapear o escopo do sistema facilitando a comunicao com o usurio do sistema e facilitando a gerncia do projeto. Mas, para descrever o caso de uso, no suficiente concebermos apenas o diagrama de caso de uso, preciso entender todos os seus elementos e sua documentao. Nesta unidade, voc vai iniciar seu processo de aprendizagem identificando e construindo os casos de uso necessrios para descrever essa viso do projeto.

Seo 1 O que so casos de uso?


Um sistema sempre interage com usurios, outros sistemas ou equipamentos. Todos eles esperam pelos resultados dessa interao que normalmente so previsveis ou pelo menos deveriam ser. Um caso de uso procura documentar as aes necessrias, os comportamentos e as sequncias para que o resultado esperado pelo usurio ocorra. Ento voc pode dizer que modelo de casos de uso modela os requisitos funcionais do sistema. Antes de iniciar a definio dos casos de uso, voc deve estar consciente dos requisitos funcionais e no funcionais necessrios ao sistema
110

Metodologias e Projetos de Software

Como o caso de uso no especifica detalhes de implementao, voc vai, na verdade, pensar em como o sistema ser utilizado. Agora imagine a seguinte situao: voc realizar o projeto usando UML para uma pequena videolocadora. Nesse pequeno projeto, os requisitos funcionais listados so:

O gerente deseja cadastrar seu acervo de DVDs com informaes gerais sobre cada filme, como: nome do filme; durao; diretor; principais atores; gnero; idiomas disponveis. fundamental que o atendente possa realizar o cadastro de clientes possibilitando o cadastro de endereo, telefone do cliente e trs possibilidades para digitao de nomes de pessoas autorizadas para retirar DVDs. necessrio que o sistema permita o controle de entrega e recebimento dos DVDs. O gerente deseja um relatrio estatstico dos DVDs mais locados Deve ser possvel um relatrio de consulta dos DVDs em atraso. Relatrio que apresente os 50 maiores clientes da locadora.

Agora tente identificar os casos de uso. Ento, quantos voc encontrou? Voc pode listar os seguintes casos de uso: Gerenciar cliente ser responsvel por cadastro, consulta, excluses e alteraes de dados cadastrais do cliente. Gerenciar filmes ser responsvel por cadastro, consulta, excluses e alteraes de dados dos DVDs da videolocadora.

Unidade 5

111

Universidade do Sul de Santa Catarina

Gerenciar locaes deve permitir o controle de entregas e recebimentos dos DVDs e clculo de multas, quando necessrio. Gerenciar relatrios deve possibilitar a impresso dos relatrios estatsticos de locao, maiores clientes e controles de atraso de entrega. Se voc representar graficamente os casos de uso, ter os mesmos representados por um crculo. Veja a figura 5.1. Retome o exemplo da videolocadora. A figura 5.1 mostra trs casos de uso possveis para esse projeto.

gerenciar cliente

gerenciar locaes

gerenciar filmes

Figura 5.1 Casos de uso de uma videolocadora Fonte: Elaborao da autora (2008).

O modelo de casos de uso composto por casos de uso, atores e relacionamentos. O caso de uso descreve um conjunto de sequncias, cada um representando a interao entre atores com o prprio sistema. Esses comportamentos so funes em alto nvel que voc vai visualizar, especificar, construir e documentar tentando mostrar de forma clara o comportamento pretendido do sistema durante a anlise de requisitos.
Quando voc nomear o caso de uso, esse nome deve ser nico dentro do projeto, diferenciando-o dos demais casos de uso. Voc pode usar qualquer caractere textual no nome do caso de uso, mas evite o uso de dois-pontos. Procure utilizar expresses verbais ativas.

112

Metodologias e Projetos de Software

O que o diagrama de casos de uso?

Se um caso de uso sempre iniciado a partir do momento em que um ator envia sua mensagem (estmulo), o diagrama de casos de uso criado para visualizar os relacionamentos entre atores e casos de uso. O diagrama de casos de uso pode ser utilizado para representar um caso de uso e seus relacionamentos, todos os casos de uso para um ator ou ainda todos os casos de uso a serem implementados em um ciclo de desenvolvimento. A notao do diagrama faz uso de um boneco para identificar o ator, abaixo do boneco inserido o nome do ator cliente. A elipse identifica o caso de uso, o nome do caso de uso pode ser escrito no interior ou externo a elipse (caso de uso: gerenciar cliente). A linha reta indica o relacionamento de comunicao entre o ator e o caso de uso.
gerenciar cliente
cliente

Figura 5.2 Caso de uso gerenciar cliente Fonte: Elaborao da autora (2008).

Seo 2 Como identificar os atores?


Um ator representa um conjunto coerente de papis que os usurios de casos de uso desempenham quando interagem com esses casos de uso. Um ator pode representar um papel que um ser humano, um dispositivo de hardware ou at outro sistema que desempenha alguma interao com o sistema (BOOCH, 2000).

Unidade 5

113

Universidade do Sul de Santa Catarina

O ator troca informaes com o sistema, ele no faz parte do sistema apenas interage com ele. Um ator pode participar de vrios casos de uso. Voc pode ter em seu sistema diferentes tipos de atores:

pessoas (professor, aluno, secretria, coordenador); organizaes (empresa fornecedora, bancos, receita federal); outros sistemas (mdulos que venham a interagir com seu sistema, como contas a pagar, credirio, estoque); e equipamentos (coletor de dados, leitora de cdigo de barras, balanas).

Quando voc escolhe o nome do ator lembre-se de que ele representa um papel no sistema, nunca utilize nomes pessoais. Imagine: um indivduo pode representar o papel de funcionrio em alguns momentos e em outros pode representar o papel de gerente.

Nesse caso, nomes que representam o papel poderiam ser Gerente, Professor, Vendedor, Fornecedor.
Mas como identificar os atores do sistema?

Primeiro voc deve identificar quais as fontes de informao que sero processadas e quais os destinos das informaes geradas. Sempre avalie quais os departamentos da empresa que sero afetados e que potencialmente podem ter atores que interagem com o sistema.

114

Metodologias e Projetos de Software

Bezerra (2002) oferece algumas dicas na forma de perguntas que apoiam a descoberta dos atores do sistema: Que rgos, empresas ou pessoas utilizaro o sistema? Que outros sistemas iro se comunicar com o sistema a ser construdo? Algum deve ser informado de alguma ocorrncia no sistema? Quem est interessado em um certo requisito funcional do sistema?

cliente

gerente

leitora_cdigo_barras

sistema_financeiro

Figura 5.3 Exemplos de atores Fonte: Elaborao da autora (2008).

ud Use Case Model

Voc consegue listar os atores da videolocadora? Pense um pouco sobre o assunto. Os possveis atores so:

Atendente

Gerente

o atendente; o gerente; o cliente.


Cliente

Figura 5.4 Diagrama de atores da videolocadora Fonte: Elaborao da autora (2008).

Unidade 5

115

Universidade do Sul de Santa Catarina

S definir os atores no o suficiente, voc deve descrever caractersticas e responsabilidades desses atores. Caractersticas importantes podem ser cargos, funes, grau de escolaridade, permisses de acesso, frequncia de uso, conhecimento em informtica, conhecimento no processo do negcio. Os atores podem ser divididos em primrios e secundrios, o ator primrio inicia a sequncia de aes de um caso de uso. J os atores secundrios supervisionam, operam, mantm ou auxiliam na utilizao do sistema.
Nro. Ator Descrio Definio indivduo que realiza locaes de DVDs na videolocadora. Frequncia de uso dirio, semanal Conhecimento em informtica relativo, alguns clientes possuem outros no 1 Cliente Conhecimento no processo sim, grande maioria possui uma noo clara do funcionamento do processo de locao de DVDs Grau de escolaridade desde fundamental a ps-graduao Permisses de acesso deve ser disponibilizado ao cliente a consulta ao acervo. Definio funcionrio da videolocadora responsvel por operaes de abertura, fechamento, controle de funcionrio, controle de compras e pagamentos da videolocadora. Frequncia de uso dirio 2 Gerente Conhecimento em informtica aplicativos Word, Browsers, Windows XP Conhecimento no processo domina todo o processo do negcio Grau de escolaridade graduao Permisses de acesso ter acesso a todas as funcionalidades do sistema Quadro 5.1 - Exemplo de descrio de atores Fonte: Elaborao da autora (2008).

A descrio detalhada do ator ajuda na definio de perfis que influenciam no projeto da interface.

116

Metodologias e Projetos de Software

Seo 3 Relacionamentos entre casos de uso e atores


Para que um caso de uso seja executado, necessria a existncia de atores que interajam com o caso de uso. Essa interao ocorre por meio dos relacionamentos de comunicao, incluso, extenso e generalizao.
O que relacionamento de comunicao?

Quando se usa um relacionamento de comunicao, voc estar representando quais atores esto associados a um caso de uso. Isso significa que o ator vai interagir trocando informaes com o caso de uso. o relacionamento mais comum onde ocorre troca de informaes.

cliente

gerenciar filmes

atendente

Figura 5.5 Exemplo de relacionamento de comunicao Fonte: Elaborao da autora (2008).

O ator cliente oferece informaes ao caso de uso como nome e ttulo do filme que deseja, j o ator atendente oferece ao caso informaes como o cdigo. Agora observe o diagrama geral de casos de uso a partir dos requisitos funcionais apontados na seo 1. O diagrama geral apresenta de forma genrica os casos de uso solicitados sendo que todo o relacionamento existente de comunicao.

Unidade 5

117

Universidade do Sul de Santa Catarina

cd locadora

Gerenciar filmes

Atendente

Gerenciar cliente

Cliente

Gerenciar Locaes

Gerente Gerenciar Relatrios

R ealizar cobrana

Figura 5.6 Diagrama de casos de uso da videolocadora Fonte: Elaborao da autora (2008).

O que relacionamento de extenso?

Os casos de uso possuem na maioria das vezes um fluxo principal e vrios fluxos alternativos. Os casos de uso secundrios so muitas vezes inseridos no caso de uso por meio do relacionamento de extenso. O relacionamento de extenso deve ser usado para representar:

um comportamento opcional;

118

Metodologias e Projetos de Software

um comportamento que s ocorre sob certas condies (alarmes, por exemplo); em fluxos alternativos dependentes da escolha de um ator.
Para entender melhor, considere a seguinte situao: Quando o ator decide executar o caso de uso extensor, ele executa e aps sua execuo retorna ao caso de uso estendido. Voc pode comparar um caso de uso extensor a uma funo que voc desenvolve em um algoritmo de programao. Veja a seguinte situao: Em nosso estudo de caso da videolocadora, o contratante do projeto deseja a insero no cadastro do cliente das preferncias do cliente, por exemplo, as preferncias do cliente a respeito do tipo de filme (comdia, romance, fico etc.), diretores, atores. Para voc inserir esta funcionalidade na modelagem dos casos de uso segue o seguinte raciocnio:

O caso de uso gerenciar cliente vai descrever a sequncia de interaes para inserir os dados cadastrais do cliente. Normalmente o cliente informa apenas as informaes cadastrais e salva seus dados, esse ento o fluxo normal de interaes. MAS caso o cliente deseje, ele pode ainda inserir informaes sobre as suas preferncias relacionadas aos filmes. Esta possibilidade de inserir preferncias opcional e depende da solicitao do usurio, ento pode ser definido como um caso de uso estendido.

Veja como esse relacionamento representado :

cliente

gerenciar cliente

<<extend>>

inserir preferncias

Figura 5.7 Relacionamento de extenso Fonte: Elaborao da autora (2008).

Unidade 5

119

Universidade do Sul de Santa Catarina

O diagrama geral de casos de uso atualizado seria ento:


cd locadora

Gerenciar filmes

Inserir Preferncias extend Gerenciar cliente

Atendente

Cliente

Gerenciar Locaes

Gerente Gerenciar Relatrios

Realizar cobrana

Figura 5.8 Diagrama de casos de uso da videolocadora Fonte: Elaborao da autora (2008).

Utilize a extenso somente quando um comportamento opcional de um caso de uso precisar ser descrito.

O que o relacionamento de generalizao?

Quando voc faz uso da generalizao significa que um caso de uso ou um ator herda caractersticas de um caso de uso ou um ator mais genrico.

120

Metodologias e Projetos de Software

Nesses casos existem caractersticas comuns que podem ser compartilhadas, um relacionamento entre um elemento geral e um outro mais especfico. Nesse caso, o elemento mais especfico possui todas as caractersticas do elemento geral e alm destas contm ainda mais particularidades.

Figura 5.9 Herana entre atores Fonte: Elaborao da autora (2008).

Na generalizao entre atores, como na figura acima, o ator gerente herda todos os casos de uso do ator atendente. O ator atendente pode realizar os casos de uso gerenciar filmes, gerenciar cliente e gerenciar locaes . O ator gerente herda todos esses casos de uso (pode realizar gerenciar filmes, cliente e locaes), mas alm destes, o ator gerente pode realizar o caso de uso gerenciar relatrios (que so especficos para esse ator). Se a generalizao for entre casos de uso, ento podemos ter uma situao como a da figura 5.10. Imagine uma funcionalidade no sistema da videolocadora onde ser controlada a cobrana de clientes que sejam devedores, a cobrana pode ser realizada pessoalmente ou por telefone. Nessa situao, o caso de uso Pessoalmente e Telefone, herda o comportamento do caso de uso realizar Cobrana, ou seja, alm de herdar comportamentos bsicos do caso realizar Cobrana, os dois casos possuem tambm fluxos de interaes especficas para cada um deles.
121

Unidade 5

Universidade do Sul de Santa Catarina

Figura 5.10 Herana entre casos de uso Fonte: Elaborao da autora (2008).

O diagrama geral de casos de uso atualizado seria ento:


cd locadora

Gerenciar filmes

Inserir Preferncias extend Gerenciar cliente

Atendente

Cliente

Gerenciar Locaes

Gerente Gerenciar Relatrios

Realizar cobrana

Realizar cobrana pessoalmente

Realizar cobrana telefone

Figura 5.11 Diagrama de casos de uso de videolocadora Fonte: Elaborao da autora (2008).

122

Metodologias e Projetos de Software

O que relacionamento de incluso?

O caso de uso A inclui o caso de uso B quando representa uma atividade complexa e comum a vrios casos de uso (PDUA, 2001). Esse relacionamento s possvel entre casos de uso.

Em outras palavras, o caso de uso pode ser includo quando a sequncia de interaes dele ocorre em mais de um caso de uso. Ainda pensando no sistema da videolocadora observa-se que apenas o gerente tem acesso a cobrana e aos relatrios do futuro sistema. Para obter o acesso seguro, o sistema deve apresentar uma funcionalidade que permita o controle do acesso por meio da autenticao do usurio no sistema. Essa autenticao ser realizada para todos os casos de uso, verificando se o acesso est sendo realizado por um usurio credenciado a usar a funo no sistema. Nessa situao, todos os casos de uso faro uso do caso de uso Autenticao, sendo um caso tpico de incluso, pois o mesmo caso de uso est relacionado a vrios casos de uso.

Unidade 5

123

Universidade do Sul de Santa Catarina

cd locadora

Gerenciar filmes

Inserir Preferncias extend include Gerenciar cliente

Atendente

Cliente include

Autenticao include

Gerenciar Locaes

include Gerente include Gerenciar Relatrios

Realizar cobrana

Pessoalmente

Telefone

Figura 5.12 Diagrama de casos de uso da videolocadora Fonte: Elaborao da autora (2008).

Um exemplo comum de incluso a autenticao por meio de contas e senhas. Quando voc est em um caixa eletrnico com as possibilidades de saque, extrato, pagamento, apesar de cada uma delas possuir sequncias de interaes e comportamento especfico, tm em comum a autenticao de conta e senha. Logo, esse caso pode ser includo, pois em todos os processos ele vai acontecer com a mesma sequncia de interaes.
Utilize o relacionamento de incluso em situaes onde o comportamento se repete em mais de um caso de uso.

124

Metodologias e Projetos de Software

Seo 4 Identificando casos de uso


Mas, como identificar os casos de uso do sistema?

Identifique os objetivos do usurio e no funes no sistema. Para identificar esses casos de uso, Pdua (2001) sugere:

Verifique quais as tarefas de cada ator. Que informao cada ator cria, armazena, consulta, altera ou remove. Que informao cada caso de uso cria, armazena, consulta, altera ou remove. Que mudanas externas sbitas devem ser informadas ao produto pelos atores. Que ocorrncias no produto devem ser informadas a algum ator.

Imagine uma situao em que voc convidado a desenvolver um projeto para um caixa eletrnico bancrio. O projeto prev o atendimento dos seguintes requisitos funcionais:

O sistema deve permitir ao cliente a emisso de saldo somente da conta corrente. O sistema deve permitir ao cliente a emisso de extrato somente da conta corrente. O sistema deve permitir a atualizao dos dados cadastrais do cliente. O sistema deve permitir o saque em dinheiro no caixa eletrnico.

Unidade 5

125

Universidade do Sul de Santa Catarina

O sistema deve permitir a consulta a toda a movimentao financeira do cliente (conta corrente, poupana e aplicaes ) no caixa eletrnico. O acesso as funcionalidades do sistema deve ser possvel somente aps a verificao da conta e senha do cliente ou gerente.

ud Use Case Model

R ealizar saque

cliente Realizar extrato

include include Validao Conta

include Realizar saldo include

include Gerenciar cadastro Gerente banco

Gerenciar consultas

extend

extend

extend

Aplicaes

Poupana

Conta Corrente

Figura 5.13 Diagrama de casos de uso do caixa eletrnico Fonte: Elaborao da autora (2008).

Como documentar o caso de uso?

126

Metodologias e Projetos de Software

Ao definir um caso de uso, necessria uma descrio narrativa das interaes entre os elementos externos e o sistema. E o que deve ser documentado para o caso de uso? Existem alguns aspectos que so fundamentais:
Campo Nome Identificador Descrio Ator Primrio Ator Secundrio Precondio Descrio O nome do caso de uso deve ser o mesmo nome que consta no diagrama. No esquea de que o nome de um caso de uso deve ser nico. Conveno numrica utilizada para identificar o caso de uso. Exemplo: CSU002, CSU001. Descrio sucinta do caso de uso. O nome do ator que o responsvel pelo incio do caso de uso. Outros atores que fazem parte do caso de uso. A precondio indica as condies necessrios no sistema para que o caso de uso ocorra. Ex: Para realizar o caso de uso saldo, a precondio pode ser a validao positiva de conta e senha. O fluxo principal descreve a sequncia de aes que deve ocorrer quando o caso de uso realizado.Seja breve na descrio, o fluxo deve ser escrito utilizando-se a terminologia do usurio. Descreve a sequncia de aes quando o ator faz uma escolha alternativa. O fluxo alternativo descreve um comportamento alternativo para o fluxo principal. Voc deve descrever aqui o estado do sistema aps a execuo do caso de uso. Condies ou restries na execuo do caso de uso.

Fluxo Principal Fluxo Alternativo Ps-condio Regras de Negcio

Quadro 5.2 - Documentao do caso de uso Fonte: Bezerra (2000).

A seguir, um exemplo do diagrama de caso de uso documentado:

Unidade 5

127

Universidade do Sul de Santa Catarina

cliente

realizar saldo

<<include>>

validar conta

Nome Identificador Descrio Ator Primrio Precondio

Realizar saldo CSU001 O cliente do banco solicita a emisso do saldo de sua conta corrente. Cliente Conta e senha do cliente serem vlidas. 1. 2. 3. 4. 5. o cliente informa a conta e agencia o cliente informa a senha o sistema exibe a lista de servios do caixa eletrnico o cliente seleciona a opo saldo o sistema apresenta mensagem informando a emisso do saldo

Fluxo Principal

Fluxo Alternativo Ps-condio Regras de negcio

1. O cliente cancela a operao por teclado finalizando o caso de uso Saldo do cliente impresso RN01

Quadro 5.3 - Exemplo de documentao do caso de uso realizar saldo Fonte: Elaborao da autora (2008).

realizar saque cliente

include

realizar saque

Nome Identificador Descrio Ator Primrio Precondio

Realizar saque CSU003 O cliente do banco solicita saque de sua conta corrente. Cliente Conta e senha do cliente serem vlidas. Haver saldo na conta superior ou igual ao valor solicitado. 1. o cliente informa a conta e agncia 2. o cliente informa a senha 3. executa caso de uso Validao Conta 4. o sistema exibe a lista de servios do caixa eletrnico 5. o cliente seleciona a opo saque 6. o cliente digita o valor a ser sacado 7. o cliente informa a senha 8. verifica se o saldo suficiente 9. executa caso de uso Validao Conta 10. o valor do saldo da conta atualizado 11. as cdulas so liberadas no dispenser de cdulas

Fluxo Principal

128

Metodologias e Projetos de Software

Fluxo Alternativo 1 Fluxo Alternativo 2 Fluxo Alternativo 3 Ps-condio R. Negcio

1. O cliente cancela a operao por teclado finalizando o caso de uso 1. O sistema informa a mensagem Conta e/ou Senha inconsistente 2. O sistema finaliza a tarefa por senha ou conta inexistente 1. O sistema informa a mensagem Saldo Insuficiente para Saque 2. O sistema finaliza a tarefa por saldo insuficiente Cdulas disponibilizadas RN02

Quadro 5.4 - Exemplo de documentao do caso de uso realizar saque Fonte: Elaborao da autora (2008).

Quais so as regras de negcio?

Quando voc especifica uma regra de negcio voc est especificando alguma condio, uma restrio, uma poltica ou uma norma que pode de alguma maneira interferir no processo que ser realizado por seu projeto. Regras de negcio mudam de uma empresa para outra, outras so comuns a vrias empresas. Veja alguns exemplos de regras de negcio:

no sistema de caixa eletrnico o cliente s poder realizar o saque se e somente se: o saldo de sua conta corrente for superior ou igual ao valor a ser sacado. Se o saldo for inferior ao valor a ser sacado e se o cliente possui um valor de limite de crdito em sua conta corrente, ento o saque no pode ser superior ao valor do saldo do valor limite da conta corrente. no sistema de estoque, na baixa do estoque quando a quantidade em estoque de um produto for inferior a quantidade de estoque mnimo deve ser gravada uma solicitao de pedido para esse item. A quantidade solicitada ser a diferena de quantidade sobre a quantidade mnima.

Unidade 5

129

Universidade do Sul de Santa Catarina

As regras de negcio podem ser documentadas por meio de uma identificao e descrio. Cada regra pode estar ligada a um ou mais casos de uso, nesse caso o identificador deve ser anexado ao caso de uso.
Identificador RN01 Descrio da regra de negcio O nmero mximo de impresso de saldos no ms de 3 saldos mensais O cliente s poder realizar o saque se e somente se: o saldo de sua conta corrente for superior ou igual ao valor a ser sacado. Se o saldo for inferior ao valor a ser sacado e se o cliente possui um valor de limite de crdito em sua conta corrente, ento o saque no pode ser superior ao valor do saldo do valor limite da conta corrente.

RN02

Quadro 5.5 Exemplo de documentao das regras de negcio Fonte: Elaborao da autora (2008).

Sugesto para documentao dos casos de uso


importante estruturar a sequncia em que voc vai organizar esta documentao. Existem metodologias que apoiam estas decises como o RUP e o Iconix. Uma sugesto de documentao pode obedecer esta sequncia:

Rational Unified Process (RUP) definido como um processo de engenharia de software que oferece uma abordagem baseada em disciplinas possibilitando a atribuio de tarefas e responsabilidades no desenvolvimento de software (SOUZA; BRAGA, 2004). Iconix - O ICONIX um processo simplificado que unifica conjuntos de mtodos de orientao a objetos em uma abordagem completa, com o objetivo de dar cobertura ao ciclo de vida do desenvolvimento de software (ROSENBERG; SCOTT, 1999).

Se voc no preencheu o documento de anlise do problema e especificao de requisitos liste os requisitos funcionais e no funcionais. Documente o ator (lembra da tabela 5.1?) Insira o diagrama de casos de uso gerais do projeto. Uma tabela de documentao do caso de uso (tabelas 5.3 e 5.4) para cada caso de uso. Documente as regras de negcio (tabela 5.5).

130

Metodologias e Projetos de Software

E o que so pacotes?

O uso de pacotes permite a visualizao mais organizada principalmente em sistemas grandes. Se houver muitos casos de uso ou atores, voc pode usar os pacotes de casos de uso para estruturar ainda mais o modelo de casos de uso. Um pacote de casos de uso contm vrios atores, casos de uso, seus relacionamentos e outros pacotes.
Imagine que voc tenha a seguinte lista de casos de uso:

Cadastro de Clientes; Pedidos em Aberto; Gerenciamento de Vendas; Relatrio de Data de Validade Vencidas; Cadastro de Produtos; Lista de Clientes; Lista de Produtos; Relatrio de Produtos Mais Vendidos; Pedidos de Cancelamento.

O projetista pode agrupar casos de uso que apresentam aspectos comuns, como o tipo de funo, atores que utilizam ou questes organizacionais. Observe a figura a seguir: os casos de uso foram divididos em trs pacotes, e esse agrupamento facilita a visualizao, principalmente em sistemas com um grande nmero de casos de uso.

Unidade 5

131

Universidade do Sul de Santa Catarina

ud Formal Requirements Consultas + Pedidos Cancelados + Pedidos em Aberto Atualizaes + Cadastro de Clientes + Cadastro de Produtos + Gerenciamento de Vendas

Relatrios + Data Validade Vencidas + Lista de Clientes + Lista de Produtos + Produtos Mais Vendidos

Figura 5.14 Diagrama de pacotes Fonte: Elaborao da autora (2011).

Quer conhecer mais ? Para melhorar seus conhecimentos sobre esta unidade voc pode ler:

O captulo 4 do livro: Princpios de Anlise e Projeto de Sistemas com UML, de Eduardo Bezerra, publicado em 2002.

Na Midiateca voc vai achar dois artigos interessantes abordando o assunto, sob os links:

UML - Linguagem de Modelagem Unificada Diagrama de caso de uso

Imagine que vocs foi contratado para modelar um sistema de imobiliria. Aps a anlise os requisitos funcionais foram assim definidos:

132

Metodologias e Projetos de Software

RF01 -> Requisito Funcional + numerao sequencial


Cadastro de clientes RF001

Permitir a incluso, alterao e excluso de clientes para compra, venda ou aluguel de imveis. Cadastro de corretores Permitir o cadastro de corretores que vendem imveis para a imobiliria. Cadastro de fiador RF003 RF002

Cadastro dos fiadores usados pelos clientes permitindo incluir, alterar, excluir seus dados. Cadastro de imveis Cadastra todos os dados dos imveis que so negociados na imobiliria. Imveis podem ser para locao ou venda: casa, apartamento, quitinete, comercial. Alugar imvel RF005 RF004

Cadastra os dados de aluguel de um imvel para um cliente, como data de locao, data de trmino de contrato, valor do aluguel. Vender imvel RF006

Cadastro das vendas realizadas pelos corretores permitindo incluir, alterar e excluir registros de venda. Gerar contrato Gera o contrato para ser impresso no ato da venda ou aluguel do imvel. A gerao do contrato e dados deve ser automtica. Emitir boleto bancrio RF008 RF007

Emite o boleto de cobrana para clientes que alugam imveis com dados como valor do aluguel, IPTU, descontos e multas. Controle das comisses RF009

Emite um extrato com os imveis alugados ou vendidos indicando o valor da comisso do corretor.

Unidade 5

133

Universidade do Sul de Santa Catarina

Busca de imvel

RF010

Propiciar a realizao da busca de imvel por parmetros informados como bairro, nmero de quartos, valor aproximado de aluguel. Gerar relatrio de cobrana RF011

Permitir a gerao de um relatrio com os imveis alugados que esto com mensalidade atrasada. Cadastra pagamento Deve ser permitido o registro do pagamento de aluguel de um imvel. Gerar relatrio RF013 RF012

Gerar um relatrio com quantidade de vendas e aluguis realizados e desfeitos. Classificado por ms e ano. Cadastrar usurio do sistema RF014

Permitir o cadastro de usurios do sistema, para que se possam definir nveis de acesso por meio de contas e senhas. Login de usurio RF015

Efetuar login para identificar quem est usando o sistema e definir os acessos que ele possui. Cadastro de manutenes RF016

Cadastra dados de manutenes feitas no imvel armazenando o tipo de manuteno, o valor gasto, data da manuteno e uma breve descrio.

Requisitos no funcionais
RNF01 -> Requisito No Funcional + numerao sequencial
Tempo de resposta RNF01

O tempo de resposta para consultas ao sistema, como a busca de imvel, no devem ser inferiores a 5 segundos. Manutenibilidade RNF02

O sistema deve ser construdo obedecendo viso de camadas facilitando futuras manutenes.

134

Metodologias e Projetos de Software

Durante a anlise perceberam-se as regras de negcio relacionadas ao funcionamento do processo na imobiliria:


Identificador RN01 RN02 RN03 RN04 RN05 RN06 RN07 RN08 Descrio O cliente deve ter fiador para contratar aluguel CPF do cliente e fiador devem ser vlidos. O imvel deve ser aprovado pelo gerente antes de ser cadastrado. O crdito do cliente deve ser aprovado pelo gerente antes de efetivar o contrato de aluguel. O valor da taxa do boleto, cobrada pelo banco, adicionado no valor total do boleto do locador. A multa por atraso no pagamento do aluguel de 0,1% do valor do aluguel por dia de atraso. O pagamento do boleto aps o vencimento s pode ser efetivado em estabelecimento bancrio conveniado imobiliria. As manutenes ou reformas feitas pelo locatrio no imvel so por conta prpria, ou seja, no sero abatidas no valor da mensalidade.

Quadro 5.6 - Regras de negcio do sistema imobilirio Fonte: Elaborao da autora (2008).

No sistema imobilirio foram identificados quatro atores:


ud Atores

Secretria

Corretor

Gerente

Cliente

Figura 5.15 Atores do sistema imobilirio Fonte: Elaborao da autora (2008).

A partir dos requisitos funcionais foram definidos os casos de uso. Os casos de uso foram subdivididos em trs pacotes Negociar Imvel, Gerenciamento e Administrao. Os casos de uso relacionados a cada pacote encontram-se inseridos no mesmo.

Unidade 5

135

Universidade do Sul de Santa Catarina

ud Use Case Model Negociar Imv el + Alugar Imvel + Cadastrar Cliente + Cadastrar de Fiador + Cadastrar Imvel + Gerar Contrato + Gerar Contrato de Aluguel + Gerar Contrato de Venda + Validar CPF + Vender Imvel Gerenciamento + Cadastrar Corretor + Cadastrar Usurios do Sistema + Efetuar Login + Gerar relatrio de comisses + Gerar Relatrio de vendas/aluguis + Verifica se j existe Usurio Administrao + Buscar imvel + Cadastro de manuteno + Efetua Pagamento na imobiliria + Efetuar Pagamento + Envia confirmao de pagamento + Gerar Boleto Bancrio + Gerar Recibo + Gerar relatrio de aluguis pendentes + Pagar Boleto no Banco + Registrar Pagamento

Figura 5.16 Pacotes de casos de uso do sistema imobilirio Fonte: Elaborao da autora (2008).

O diagrama de casos de uso pode ser feito de forma geral ou por pacotes, observe a seguir diagrama de casos de uso dos pacotes Gerenciamento e Negociar Imvel:
ud Gerenciamento

Verifica se j existe Usurio

include Cadastrar Usurios do Sistema

include Gerente (from Atores)

Gerar relatrio de comisses

include

Efetuar Login

include

Gerar Relatrio de v endas/aluguis

Figura 5.17 Diagrama de casos de uso do pacote gerenciamento Fonte: Elaborao da autora (2008).

136

Metodologias e Projetos de Software

ud Negociar Imv el

Cadastrar Cliente include Validar CPF

include Cadastrar de Fiador

include Cadastrar Imv el include Corretor (from Atores) extend include

Gerar Contrato de Aluguel

Alugar Imv el include Efetuar Login

include Vender Imv el

(from Gerenciamento)

extend Gerar Contrato de Venda

Figura 5.18 Diagrama de casos de uso do pacote negociar imvel Fonte: Elaborao da autora (2008).

Definidos os diagramas voc vai documentar cada caso de uso, como os exemplos apresentados a seguir:

Unidade 5

137

Universidade do Sul de Santa Catarina

Cadastrar de Fiador Corretor (from Atores)

include

Validar CPF

Nome Identificador Descrio Ator Primrio Precondio

Cadastrar Fiador CSU02 O corretor cadastra as informaes inerentes ao fiador de um cliente. Corretor Corretor logado no sistema 1. Corretor digita dados do fiador no sistema.

Fluxo Principal

3. Corretor Confirma cadastro. 4. Executa Validar CPF. 5. Dados do Fiador so armazenados.

Fluxo Alternativo 1

1. Corretor seleciona boto Cancelar. 2. Os dados da janela so limpos. 1. Corretor deseja alterar dados de algum fiador 2. Corretor seleciona um fiador cadastrado. 3. Sistema mostra informaes do fiador.

Fluxo Alternativo 2

4. Corretor altera informao 5. Executa Validar CPF. 6. Corretor confirma a alterao 7. Dados do Fiador so armazenados 1. Corretor deseja excluir fiador.

Fluxo Alternativo 3

2. Corretor seleciona um fiador cadastrado. 3. Seleciona boto Excluso. 4. Dados do fiador so excludos do banco de dados.

Ps-condio Regras de Negcio

Dados do fiador atualizados RN02

Figura 5.19 - Documentao do caso de uso cadastrar fiador Fonte: Elaborao da autora (2008).

138

Metodologias e Projetos de Software

Cadastrar Imvel Corretor (from Atores)

Nome Identificador Descrio Ator Primrio Precondio

Cadastrar Imvel CSU04 Efetua o cadastro do imvel que ficar disponvel na imobiliria. Corretor Corretor logado no sistema e o Proprietrio do imvel precisa estar cadastrado no sistema como cliente. 1. Corretor informa cdigo do cliente

Fluxo Principal

2. Corretor insere dados do imvel no sistema. 3. Corretor confirma cadastro.

Fluxo Alternativo 1

1. Corretor seleciona boto Cancelar. 2. Os dados da janela so limpos. 8. Corretor deseja alterar dados do imvel 9. Corretor seleciona um imvel cadastrado. 10. Sistema mostra informaes do imvel. 11. Corretor altera informao 12. Corretor confirma a alterao 13. Dados do Imvel so armazenados 5. Corretor deseja excluir imvel.

Fluxo Alternativo 2

Fluxo Alternativo 3

6. Corretor seleciona um imvel cadastrado. 1. Seleciona boto Excluso. 2. Dados do imvel so excludos do banco de dados.

Ps-condio Regras de Negcio

Imvel atualizado no banco de dados. RN03

Figura 5.20 - Documentao do caso de uso cadastrar imvel Fonte: Elaborao da autora (2008).

Agora, para praticar os conhecimentos conquistados nesta unidade, realize a seguir as atividades propostas.

Unidade 5

139

Universidade do Sul de Santa Catarina

Sntese
Nesta unidade, voc aprendeu a identificar os casos de uso mais significantes e seus principais elementos. Durante o estudo tambm foram identificados os possveis relacionamentos existentes entre atores e casos de uso. Voc percebeu que o caso de uso estabelece a estrutura principal da modelagem permitindo uma comunicao fcil e precisa com o usurio, pois esta viso no inclui aspectos relacionados implementao facilitando a interpretao por parte de desenvolvedor e usurios, identificando as aes necessrias ao sistema para que o usurio alcance a soluo de suas necessidades. A partir dos conceitos elementares voc seguiu em direo concepo do diagrama e da documentao necessria para o bom entendimento do modelo.

Atividades de autoavaliao
Leia com ateno os enunciados e, aps, realize as questes propostas: 1) Assinale a afirmativa correta: a) ( ) b) ( ) Um caso de uso procura apoiar a especificao de detalhes necessrios implementao do sistema. O caso de uso documenta as aes necessrias, comportamentos e sequncias visando atender as necessidades do usurio. Em um caso de uso so necessrios trs elementos bsicos: o caso de uso, a classe de controle e o ator. O ator de um caso de uso representa apenas os usurios do sistema.

c) ( ) d) ( )

140

Metodologias e Projetos de Software

2) Classifique as questes em Verdadeira (V) ou Falsa (F). a) ( ) b) ( ) Um ator pode ser representado por um organizao ou mesmo um equipamento de hardware. O uso de um nome pessoal para um determinado ator cria uma identificao pessoal do usurio com a especificao do caso de uso, facilitando sua validao com o usurio. A relao existente entre um caso de uso e um ator pode ser uma relao de comunicao ou uma relao de extenso. A relao existente entre dois atores pode ser somente uma relao de herana. A relao existente entre dois casos de uso pode ser de extenso, incluso e comunicao. A relao existente entre dois casos de uso pode ser de extenso, incluso e herana.

c) ( ) d) ( )

e) ( )

f) ( )

3) Relacione a primeira com a segunda coluna. A. Regras de negcio B. Ator C. Cenrio D. Caso de uso ( ) ( ) ( ) DVDs em atraso pagam o valor da locao dos dias atrasados Atendente A reserva de um DVD pode ser realizada pessoalmente, em que o cliente informa seu nome, o DVD desejado e a data da reserva. Caso o DVD no esteja reservado, o atendente realiza a reserva. O DVD pode ser reservado na pgina da videolocadora. Informando seu nome, o cliente seleciona o DVD e informa a data da reserva. A reserva efetiva somente pelo envio da confirmao para o e-mail do cliente. Devoluo de DVDs Fornecedor de DVDs Gerenciar compra de DVDs O cliente pode retirar no mximo 3 DVDs com devoluo para 24 horas.

( ) ( ) ( ) ( )

Unidade 5

141

Universidade do Sul de Santa Catarina

4) No texto a seguir, identifique: a) Os requisitos funcionais b) Os atores c) Os casos de uso d) Documente dois casos de uso Requisitos funcionais:

O projeto que voc vai realizar ser para a clnica peditrica Bem-Estar e tem como objetivo principal a marcao de consultas mdicas. O paciente pode realizar o agendamento da consulta pessoalmente ou por telefone. Em qualquer dos dois mtodos os procedimentos so idnticos. O paciente solicita a consulta informando o nome do mdico ou a especialidade desejada, posteriormente informa a data desejada. A atendente verifica a possibilidade de marcao da consulta (observando se o mdico em questo possui horrio vago para a data desejada). Se existe horrio disponvel, a atendente solicita ao paciente o tipo de convnio ou se particular. Se for convnio, verificado se um convnio vlido; se for particular, informado o valor da consulta. A atendente atualiza a agenda com o nome do paciente e o tipo de consulta (convnio/particular). O tempo para cada consulta de 20 minutos ou 10 minutos para retorno. A consulta pode ser uma consulta de retorno. Nesse caso, a atendente verifica se a data est ainda dentro do prazo de retorno de 15 dias. Neste caso a consulta marcada na agenda. Caso o mdico solicitado esteja indisponvel, a atendente procura informar o nome de outro mdico disponvel naquele horrio ou o prximo horrio disponvel. O paciente pode telefonar desmarcando a consulta, nesse caso o nome do paciente riscado da agenda, ficando o horrio vago novamente. Ao chegarem na clnica, os mdicos recebem as fichas dos pacientes separadas previamente. Se for paciente novo, a ficha contm somente o nome do paciente e o telefone. As fichas so classificadas por ordem de horrio. Se o paciente j possui cadastro, o mesmo convidado a adentrar no consultrio do mdico. A partir desse momento, o mdico solicita informaes procedimentais para o futuro diagnstico, preenchendo a ficha do paciente. Finalizada a consulta, o paciente liberado e a ficha recolhida pela atendente, sendo novamente arquivada. Se o paciente for novo, a atendente solicita o preenchimento da ficha cadastral com dados pessoais.

142

Metodologias e Projetos de Software

Saiba mais
Para aprofundar as questes abordadas nesta unidade, voc poder pesquisar: BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usurio. Rio de Janeiro: Campus, 2000. (Ler captulos 16 e 17.)

Unidade 5

143